diff --git a/packages/pdfjs-viewer/package.json b/packages/pdfjs-viewer/package.json
index aba7d20b10b..4d3251ac871 100644
--- a/packages/pdfjs-viewer/package.json
+++ b/packages/pdfjs-viewer/package.json
@@ -14,7 +14,7 @@
},
"devDependencies": {
"@types/yauzl": "3.4.0",
- "pdfjs-dist": "6.2.108",
+ "pdfjs-dist": "6.5.438",
"yauzl": "3.4.0"
}
}
\ No newline at end of file
diff --git a/packages/pdfjs-viewer/viewer/images/gv-editor-toolbar-close.svg b/packages/pdfjs-viewer/viewer/images/gv-editor-toolbar-close.svg
new file mode 100644
index 00000000000..de0a2198b14
--- /dev/null
+++ b/packages/pdfjs-viewer/viewer/images/gv-editor-toolbar-close.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/pdfjs-viewer/viewer/images/toolbarButton-menuArrowNova.svg b/packages/pdfjs-viewer/viewer/images/toolbarButton-menuArrowNova.svg
new file mode 100644
index 00000000000..f5c80208f99
--- /dev/null
+++ b/packages/pdfjs-viewer/viewer/images/toolbarButton-menuArrowNova.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/pdfjs-viewer/viewer/locale/ach/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ach/viewer.ftl
index 8f101454057..dbcfb1d1c63 100644
--- a/packages/pdfjs-viewer/viewer/locale/ach/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ach/viewer.ftl
@@ -119,28 +119,12 @@ pdfjs-printing-not-ready = Ciko: PDF pe ocane weng me agoya.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Lok gintic ma inget
-pdfjs-toggle-sidebar-button-label = Lok gintic ma inget
-pdfjs-document-outline-button =
- .title = Nyut Wiyewiye me Gin acoya (dii-kiryo me yaro/kano jami weng)
-pdfjs-document-outline-button-label = Pek pa gin acoya
-pdfjs-attachments-button =
- .title = Nyut twec
-pdfjs-attachments-button-label = Twec
-pdfjs-thumbs-button =
- .title = Nyut cal
-pdfjs-thumbs-button-label = Cal
pdfjs-findbar-button =
.title = Nong iye gin acoya
pdfjs-findbar-button-label = Nong
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Pot buk { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -149,8 +133,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Nong
.placeholder = Nong i dokumen…
+ .title = Nong
pdfjs-find-previous-button =
.title = Nong timme pa lok mukato
pdfjs-find-previous-button-label = Mukato
diff --git a/packages/pdfjs-viewer/viewer/locale/af/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/af/viewer.ftl
index 577888cc8b8..4a105a3409c 100644
--- a/packages/pdfjs-viewer/viewer/locale/af/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/af/viewer.ftl
@@ -98,28 +98,12 @@ pdfjs-printing-not-ready = Waarskuwing: Die PDF is nog nie volledig gelaai vir d
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Sypaneel aan/af
-pdfjs-toggle-sidebar-button-label = Sypaneel aan/af
-pdfjs-document-outline-button =
- .title = Wys dokumentskema (dubbelklik om alle items oop/toe te vou)
-pdfjs-document-outline-button-label = Dokumentoorsig
-pdfjs-attachments-button =
- .title = Wys aanhegsels
-pdfjs-attachments-button-label = Aanhegsels
-pdfjs-thumbs-button =
- .title = Wys duimnaels
-pdfjs-thumbs-button-label = Duimnaels
pdfjs-findbar-button =
.title = Soek in dokument
pdfjs-findbar-button-label = Vind
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Bladsy { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -128,8 +112,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Vind
.placeholder = Soek in dokument…
+ .title = Vind
pdfjs-find-previous-button =
.title = Vind die vorige voorkoms van die frase
pdfjs-find-previous-button-label = Vorige
diff --git a/packages/pdfjs-viewer/viewer/locale/an/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/an/viewer.ftl
index ad5d2fe81a1..d7a74b0aaca 100644
--- a/packages/pdfjs-viewer/viewer/locale/an/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/an/viewer.ftl
@@ -140,23 +140,6 @@ pdfjs-printing-not-ready = Aviso: Encara no se ha cargau completament o PDF ta i
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Amostrar u amagar a barra lateral
-pdfjs-toggle-sidebar-notification-button =
- .title = Cambiar barra lateral (lo documento contiene esquema/adchuntos/capas)
-pdfjs-toggle-sidebar-button-label = Amostrar a barra lateral
-pdfjs-document-outline-button =
- .title = Amostrar esquema d'o documento (fer doble clic pa expandir/compactar totz los items)
-pdfjs-document-outline-button-label = Esquema d'o documento
-pdfjs-attachments-button =
- .title = Amostrar os adchuntos
-pdfjs-attachments-button-label = Adchuntos
-pdfjs-layers-button =
- .title = Amostrar capas (doble clic para reiniciar totas las capas a lo estau per defecto)
-pdfjs-layers-button-label = Capas
-pdfjs-thumbs-button =
- .title = Amostrar as miniaturas
-pdfjs-thumbs-button-label = Miniaturas
pdfjs-findbar-button =
.title = Trobar en o documento
pdfjs-findbar-button-label = Trobar
@@ -164,10 +147,6 @@ pdfjs-additional-layers = Capas adicionals
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Pachina { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -176,8 +155,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Trobar
.placeholder = Trobar en o documento…
+ .title = Trobar
pdfjs-find-previous-button =
.title = Trobar l'anterior coincidencia d'a frase
pdfjs-find-previous-button-label = Anterior
diff --git a/packages/pdfjs-viewer/viewer/locale/ar/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ar/viewer.ftl
index 6036f7c0038..63e1d7fe60c 100644
--- a/packages/pdfjs-viewer/viewer/locale/ar/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ar/viewer.ftl
@@ -121,7 +121,7 @@ pdfjs-document-properties-modification-date = تاريخ التعديل:
# Variables:
# $dateObj (Date) - the creation/modification date and time of the PDF file
pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
-pdfjs-document-properties-creator = المنشئ:
+pdfjs-document-properties-creator = المُنشئ:
pdfjs-document-properties-producer = منتج PDF:
pdfjs-document-properties-version = إصدارة PDF:
pdfjs-document-properties-page-count = عدد الصفحات:
@@ -179,23 +179,6 @@ pdfjs-printing-not-ready = تحذير: ملف PDF لم يُحمّل كاملًا
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = بدّل ظهور الشريط الجانبي
-pdfjs-toggle-sidebar-notification-button =
- .title = بدّل ظهور الشريط الجانبي (يحتوي المستند على مخطط أو مرفقات أو طبقات)
-pdfjs-toggle-sidebar-button-label = بدّل ظهور الشريط الجانبي
-pdfjs-document-outline-button =
- .title = اعرض فهرس المستند (نقر مزدوج لتمديد أو تقليص كل العناصر)
-pdfjs-document-outline-button-label = مخطط المستند
-pdfjs-attachments-button =
- .title = اعرض المرفقات
-pdfjs-attachments-button-label = المُرفقات
-pdfjs-layers-button =
- .title = اعرض الطبقات (انقر مرتين لتصفير كل الطبقات إلى الحالة المبدئية)
-pdfjs-layers-button-label = الطبقات
-pdfjs-thumbs-button =
- .title = اعرض مُصغرات
-pdfjs-thumbs-button-label = مُصغّرات
pdfjs-current-outline-item-button =
.title = ابحث عن عنصر المخطّط التفصيلي الحالي
pdfjs-current-outline-item-button-label = عنصر المخطّط التفصيلي الحالي
@@ -206,10 +189,6 @@ pdfjs-additional-layers = الطبقات الإضافية
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = صفحة { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -227,8 +206,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = ابحث
.placeholder = ابحث في المستند…
+ .title = ابحث
pdfjs-find-previous-button =
.title = ابحث عن التّواجد السّابق للعبارة
pdfjs-find-previous-button-label = السابق
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = أبرِز
pdfjs-editor-highlight-button-label = أبرِز
pdfjs-highlight-floating-button1 =
- .title = أبرِز
.aria-label = أبرِز
+ .title = أبرِز
pdfjs-highlight-floating-button-label = أبرِز
pdfjs-comment-floating-button =
- .title = علق
.aria-label = علق
+ .title = علق
pdfjs-comment-floating-button-label = علق
pdfjs-editor-comment-button =
- .title = علق
.aria-label = علق
+ .title = علق
pdfjs-editor-comment-button-label = التعليق
pdfjs-editor-signature-button =
.title = أضِف توقيع
@@ -417,8 +396,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] تعليقات
}
pdfjs-editor-comments-sidebar-close-button =
- .title = أغلِق الشريط الجانبي
.aria-label = أغلِق الشريط الجانبي
+ .title = أغلِق الشريط الجانبي
pdfjs-editor-comments-sidebar-close-button-label = أغلِق الشريط الجانبي
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = هل رأيت شيئاً جديرًا بالملاحظة؟ ابرزه واترك تعليقًا.
@@ -541,13 +520,6 @@ pdfjs-editor-alt-text-settings-dialog-label = إعدادات النص البدي
pdfjs-editor-alt-text-settings-automatic-title = نص بديل تلقائي
pdfjs-editor-alt-text-settings-create-model-button-label = أنشئ نص بديل تلقائيًا
pdfjs-editor-alt-text-settings-create-model-description = يقترح أوصافًا لمساعدة الأشخاص الذين لا يستطيعون رؤية الصورة أو عندما لا يتم تحميل الصورة.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = نموذج الذكاء الاصطناعي للنص البديل ({ $totalSize } م.بايت)
-pdfjs-editor-alt-text-settings-ai-model-description = يتم تشغيله محليًا على جهازك حتى تظل بياناتك خاصة. مطلوب للنص البديل التلقائي.
-pdfjs-editor-alt-text-settings-delete-model-button = احذف
-pdfjs-editor-alt-text-settings-download-model-button = نزّل
-pdfjs-editor-alt-text-settings-downloading-model-button = يُنزل…
pdfjs-editor-alt-text-settings-editor-title = مُحرِّر النص البديل
pdfjs-editor-alt-text-settings-show-dialog-button-label = أظهِر مُحرِّر النص البديل على الفور عند إضافة صورة
pdfjs-editor-alt-text-settings-show-dialog-description = يساعدك على التأكد من أن جميع صورك تحتوي على نص بديل.
@@ -780,8 +752,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = خصائص التوقيع الرقمي
.aria-label = خصائص التوقيع الرقمي
+ .title = خصائص التوقيع الرقمي
pdfjs-digital-signature-properties-button-label = خصائص التوقيع الرقمي
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/ast/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ast/viewer.ftl
index 2993916ade2..13e8ffea585 100644
--- a/packages/pdfjs-viewer/viewer/locale/ast/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ast/viewer.ftl
@@ -120,25 +120,9 @@ pdfjs-print-progress-close-button = Encaboxar
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Alternar la barra llateral
-pdfjs-attachments-button =
- .title = Amosar los axuntos
-pdfjs-attachments-button-label = Axuntos
-pdfjs-layers-button-label = Capes
-pdfjs-thumbs-button =
- .title = Amosar les miniatures
-pdfjs-thumbs-button-label = Miniatures
pdfjs-findbar-button-label = Atopar
pdfjs-additional-layers = Capes adicionales
-## Thumbnails panel item (tooltip and alt text for images)
-
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Páxina { $page }
-
## Find panel button title and messages
pdfjs-find-previous-button-label = Anterior
diff --git a/packages/pdfjs-viewer/viewer/locale/az/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/az/viewer.ftl
index a2d8c1962a0..2cf77792713 100644
--- a/packages/pdfjs-viewer/viewer/locale/az/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/az/viewer.ftl
@@ -140,23 +140,6 @@ pdfjs-printing-not-ready = Xəbərdarlıq: PDF çap üçün tam yüklənməyib.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Yan Paneli Aç/Bağla
-pdfjs-toggle-sidebar-notification-button =
- .title = Yan paneli çevir (sənəddə icmal/bağlamalar/laylar mövcuddur)
-pdfjs-toggle-sidebar-button-label = Yan Paneli Aç/Bağla
-pdfjs-document-outline-button =
- .title = Sənədin eskizini göstər (bütün bəndləri açmaq/yığmaq üçün iki dəfə klikləyin)
-pdfjs-document-outline-button-label = Sənəd strukturu
-pdfjs-attachments-button =
- .title = Bağlamaları göstər
-pdfjs-attachments-button-label = Bağlamalar
-pdfjs-layers-button =
- .title = Layları göstər (bütün layları ilkin halına sıfırlamaq üçün iki dəfə klikləyin)
-pdfjs-layers-button-label = Laylar
-pdfjs-thumbs-button =
- .title = Kiçik şəkilləri göstər
-pdfjs-thumbs-button-label = Kiçik şəkillər
pdfjs-findbar-button =
.title = Sənəddə Tap
pdfjs-findbar-button-label = Tap
@@ -164,10 +147,6 @@ pdfjs-additional-layers = Əlavə laylar
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Səhifə{ $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -176,8 +155,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Tap
.placeholder = Sənəddə tap…
+ .title = Tap
pdfjs-find-previous-button =
.title = Bir öncəki uyğun gələn sözü tapır
pdfjs-find-previous-button-label = Geri
diff --git a/packages/pdfjs-viewer/viewer/locale/be/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/be/viewer.ftl
index a52625414b9..5d560afcf77 100644
--- a/packages/pdfjs-viewer/viewer/locale/be/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/be/viewer.ftl
@@ -188,23 +188,6 @@ pdfjs-printing-not-ready = Увага: PDF не сцягнуты цалкам д
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Паказаць/схаваць бакавую панэль
-pdfjs-toggle-sidebar-notification-button =
- .title = Паказаць/схаваць бакавую панэль (дакумент мае змест/укладанні/пласты)
-pdfjs-toggle-sidebar-button-label = Паказаць/схаваць бакавую панэль
-pdfjs-document-outline-button =
- .title = Паказаць структуру дакумента (двайная пстрычка, каб разгарнуць /згарнуць усе элементы)
-pdfjs-document-outline-button-label = Структура дакумента
-pdfjs-attachments-button =
- .title = Паказаць далучэнні
-pdfjs-attachments-button-label = Далучэнні
-pdfjs-layers-button =
- .title = Паказаць пласты (націсніце двойчы, каб скінуць усе пласты да прадвызначанага стану)
-pdfjs-layers-button-label = Пласты
-pdfjs-thumbs-button =
- .title = Паказ мініяцюр
-pdfjs-thumbs-button-label = Мініяцюры
pdfjs-current-outline-item-button =
.title = Знайсці бягучы элемент структуры
pdfjs-current-outline-item-button-label = Бягучы элемент структуры
@@ -215,10 +198,6 @@ pdfjs-additional-layers = Дадатковыя пласты
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Старонка { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -236,8 +215,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Шукаць
.placeholder = Шукаць у дакуменце…
+ .title = Шукаць
pdfjs-find-previous-button =
.title = Знайсці папярэдні выпадак выразу
pdfjs-find-previous-button-label = Папярэдні
@@ -334,16 +313,16 @@ pdfjs-editor-highlight-button =
.title = Вылучэнне
pdfjs-editor-highlight-button-label = Вылучэнне
pdfjs-highlight-floating-button1 =
- .title = Падфарбаваць
.aria-label = Падфарбаваць
+ .title = Падфарбаваць
pdfjs-highlight-floating-button-label = Падфарбаваць
pdfjs-comment-floating-button =
- .title = Каментаваць
.aria-label = Каментаваць
+ .title = Каментаваць
pdfjs-comment-floating-button-label = Каментаваць
pdfjs-editor-comment-button =
- .title = Каментарый
.aria-label = Каментарый
+ .title = Каментарый
pdfjs-editor-comment-button-label = Каментарый
pdfjs-editor-signature-button =
.title = Дадаць подпіс
@@ -417,8 +396,8 @@ pdfjs-editor-comments-sidebar-title =
*[many] Каментарыі
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Закрыць бакавую панэль
.aria-label = Закрыць бакавую панэль
+ .title = Закрыць бакавую панэль
pdfjs-editor-comments-sidebar-close-button-label = Закрыць бакавую панэль
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Бачыце штосьці вартае ўвагі? Вылучыце і пакіньце каментарый.
@@ -541,13 +520,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Налады альтэрнаты
pdfjs-editor-alt-text-settings-automatic-title = Аўтаматычны тэкст для атрыбута alt
pdfjs-editor-alt-text-settings-create-model-button-label = Ствараць тэкст для атрыбута alt аўтаматычна
pdfjs-editor-alt-text-settings-create-model-description = Прапануе апісанні, каб дапамагчы людзям, якія не бачаць выяву, ці калі выява не загружаецца.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Мадэль ШІ для тэксту для атрыбута alt ({ $totalSize } МБ)
-pdfjs-editor-alt-text-settings-ai-model-description = Працуе лакальна на вашай прыладзе, таму вашы звесткі застаюцца прыватнымі. Патрабуецца для аўтаматычнага альтэрнатыўнага тэксту.
-pdfjs-editor-alt-text-settings-delete-model-button = Выдаліць
-pdfjs-editor-alt-text-settings-download-model-button = Сцягнуць
-pdfjs-editor-alt-text-settings-downloading-model-button = Сцягванне…
pdfjs-editor-alt-text-settings-editor-title = Рэдактар тэксту для атрыбута alt
pdfjs-editor-alt-text-settings-show-dialog-button-label = Адразу паказваць рэдактар тэксту для атрыбута alt пры даданні выявы
pdfjs-editor-alt-text-settings-show-dialog-description = Дапамагае пераканацца, што ўсе вашы выявы маюць альтэрнатыўны тэкст.
@@ -765,8 +737,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Уласцівасці лічбавага подпісу
.aria-label = Уласцівасці лічбавага подпісу
+ .title = Уласцівасці лічбавага подпісу
pdfjs-digital-signature-properties-button-label = Уласцівасці лічбавага подпісу
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/bg/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/bg/viewer.ftl
index a1de897be12..991a18829d5 100644
--- a/packages/pdfjs-viewer/viewer/locale/bg/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/bg/viewer.ftl
@@ -166,23 +166,6 @@ pdfjs-printing-not-ready = Внимание: Този PDF файл не е на
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Превключване на страничната лента
-pdfjs-toggle-sidebar-notification-button =
- .title = Превключване на страничната лента (документът има структура/прикачени файлове/слоеве)
-pdfjs-toggle-sidebar-button-label = Превключване на страничната лента
-pdfjs-document-outline-button =
- .title = Показване на структурата на документа (двукратно щракване за свиване/разгъване на всичко)
-pdfjs-document-outline-button-label = Структура на документа
-pdfjs-attachments-button =
- .title = Показване на притурките
-pdfjs-attachments-button-label = Притурки
-pdfjs-layers-button =
- .title = Показване на слоевете (двукратно щракване за възстановяване на всички слоеве към състоянието по подразбиране)
-pdfjs-layers-button-label = Слоеве
-pdfjs-thumbs-button =
- .title = Показване на миниатюрите
-pdfjs-thumbs-button-label = Миниатюри
pdfjs-current-outline-item-button =
.title = Намиране на текущия елемент от структурата
pdfjs-current-outline-item-button-label = Текущ елемент от структурата
@@ -193,10 +176,6 @@ pdfjs-additional-layers = Допълнителни слоеве
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Страница { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -205,8 +184,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Търсене
.placeholder = Търсене в документа…
+ .title = Търсене
pdfjs-find-previous-button =
.title = Намиране на предишно съвпадение на фразата
pdfjs-find-previous-button-label = Предишна
@@ -291,7 +270,7 @@ pdfjs-editor-ink-button =
.title = Рисуване
pdfjs-editor-ink-button-label = Рисуване
pdfjs-editor-stamp-button =
- .title = Добавяне или променяне на изображения
+ .title = Добавяне или редактиране на изображения
pdfjs-editor-stamp-button-label = Добавяне или променяне на изображения
## Remove button for the various kind of editor.
@@ -380,17 +359,83 @@ pdfjs-editor-colorpicker-red =
## New alt-text dialog
## Group note for entire feature: Alternative text (alt text) helps when people can't see the image. This feature includes a tool to create alt text automatically using an AI model that works locally on the user's device to preserve privacy.
+# Modal header positioned above a text box where users can add the alt text.
+pdfjs-editor-new-alt-text-dialog-add-label = Добавяне на заместващ текст (alt text, описание на изображението)
pdfjs-editor-new-alt-text-disclaimer-learn-more-url = Научете повече
+pdfjs-editor-new-alt-text-create-automatically-button-label = Автоматично създаване на заместващ текст
pdfjs-editor-new-alt-text-not-now-button = Не сега
+# This is a button that users can click to edit the alt text they have already added.
+pdfjs-editor-new-alt-text-added-button =
+ .aria-label = Alt text добавен
+# This is a button that users can click to open the alt text editor and add alt text when it is not present.
+pdfjs-editor-new-alt-text-missing-button =
+ .aria-label = Липсва alt текст
+pdfjs-editor-new-alt-text-missing-button-label = Липсва alt текст
+# This is a button that opens up the alt text modal where users should review the alt text that was automatically generated.
+pdfjs-editor-new-alt-text-to-review-button =
+ .aria-label = Преглед на заместващия текст
+pdfjs-editor-new-alt-text-to-review-button-label = Преглед на заместващия текст
## Image alt-text settings
-pdfjs-editor-alt-text-settings-delete-model-button = Изтриване
+pdfjs-editor-alt-text-settings-automatic-title = Автоматичен заместващ текст
+pdfjs-editor-alt-text-settings-create-model-button-label = Автоматично създаване на заместващ текст
+pdfjs-editor-alt-text-settings-editor-title = Редактор за заместващ (alt) текст
+pdfjs-editor-alt-text-settings-show-dialog-button-label = Показване на текстовия редактор за заместващия (alt) текст веднага при добавяне на изображение
+pdfjs-editor-alt-text-settings-show-dialog-description = Помага ви да се уверите, че всичките ви изображения имат заместващ текст.
## Controls
+pdfjs-editor-add-signature-description-label = Описание (заместващ текст)
+pdfjs-editor-add-signature-description-input =
+ .title = Описание (заместващ текст)
pdfjs-editor-add-signature-image-upload-error-description = Проверете мрежовата си връзка или опитайте с друго изображение.
+## Edit a comment dialog
+
+# No existing comment
+pdfjs-editor-edit-comment-dialog-title-when-adding = Добавяне на коментар
+
+## Edit a comment button in the editor toolbar
+
+pdfjs-editor-add-comment-button =
+ .title = Добавяне на коментар
+
+## The view manager is a sidebar displaying different views:
+## - thumbnails;
+## - outline;
+## - attachments;
+## - layers.
+## The thumbnails view is used to edit the pdf: remove/insert pages, ...
+
+pdfjs-toggle-views-manager-button1-label = Управление на страници
+pdfjs-views-manager-pages-title = Страници
+pdfjs-views-manager-pages-option-label = Страници
+# Variables:
+# $count (Number) - the number of selected pages.
+pdfjs-views-manager-pages-status-action-label =
+ { $count ->
+ [one] { $count } избрана
+ *[other] { $count } избрани
+ }
+pdfjs-views-manager-pages-status-action-button-label = Управление
+# Variables:
+# $count (Number) - the number of selected pages to be copied.
+pdfjs-views-manager-pages-status-undo-copy-label =
+ { $count ->
+ [one] 1 страница е копирана
+ *[other] { $count } страници са копирани
+ }
+# Variables:
+# $count (Number) - the number of selected pages to be deleted.
+pdfjs-views-manager-pages-status-undo-delete-label =
+ { $count ->
+ [one] 1 страница е изтрита
+ *[other] { $count } страници са изтрити
+ }
+pdfjs-toggle-views-manager-button1 =
+ .title = Управление на страници
+
## Per-signature certificate row. The variants with an issuer / date in
## parentheses embed fully-localized context — no English fall-through.
##
diff --git a/packages/pdfjs-viewer/viewer/locale/bn/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/bn/viewer.ftl
index 7ca2c1d2b76..80bed987133 100644
--- a/packages/pdfjs-viewer/viewer/locale/bn/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/bn/viewer.ftl
@@ -136,28 +136,12 @@ pdfjs-printing-not-ready = সতর্কীকরণ: পিডিএফটি
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = সাইডবার টগল করুন
-pdfjs-toggle-sidebar-button-label = সাইডবার টগল করুন
-pdfjs-document-outline-button =
- .title = নথির আউটলাইন দেখাও (সব আইটেম প্রসারিত/সঙ্কুচিত করতে ডবল ক্লিক করুন)
-pdfjs-document-outline-button-label = নথির রূপরেখা
-pdfjs-attachments-button =
- .title = সংযুক্তি দেখাও
-pdfjs-attachments-button-label = সংযুক্তি
-pdfjs-thumbs-button =
- .title = থাম্বনেইল সমূহ প্রদর্শন করুন
-pdfjs-thumbs-button-label = থাম্বনেইল সমূহ
pdfjs-findbar-button =
.title = নথির মধ্যে খুঁজুন
pdfjs-findbar-button-label = খুঁজুন
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = পাতা { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -166,8 +150,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = খুঁজুন
.placeholder = নথির মধ্যে খুঁজুন…
+ .title = খুঁজুন
pdfjs-find-previous-button =
.title = বাক্যাংশের পূর্ববর্তী উপস্থিতি অনুসন্ধান
pdfjs-find-previous-button-label = পূর্ববর্তী
diff --git a/packages/pdfjs-viewer/viewer/locale/bo/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/bo/viewer.ftl
index 4bea89761fe..ac627b625c2 100644
--- a/packages/pdfjs-viewer/viewer/locale/bo/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/bo/viewer.ftl
@@ -140,28 +140,12 @@ pdfjs-printing-not-ready = Warning: The PDF is not fully loaded for printing.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Toggle Sidebar
-pdfjs-toggle-sidebar-button-label = Toggle Sidebar
-pdfjs-document-outline-button =
- .title = Show Document Outline (double-click to expand/collapse all items)
-pdfjs-document-outline-button-label = Document Outline
-pdfjs-attachments-button =
- .title = Show Attachments
-pdfjs-attachments-button-label = Attachments
-pdfjs-thumbs-button =
- .title = Show Thumbnails
-pdfjs-thumbs-button-label = Thumbnails
pdfjs-findbar-button =
.title = Find in Document
pdfjs-findbar-button-label = Find
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Page { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -170,8 +154,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Find
.placeholder = Find in document…
+ .title = Find
pdfjs-find-previous-button =
.title = Find the previous occurrence of the phrase
pdfjs-find-previous-button-label = Previous
diff --git a/packages/pdfjs-viewer/viewer/locale/bqi/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/bqi/viewer.ftl
index ca31acb6b33..939359f8792 100644
--- a/packages/pdfjs-viewer/viewer/locale/bqi/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/bqi/viewer.ftl
@@ -52,21 +52,61 @@ pdfjs-bookmark-button-label = بلگه هیم سکویی
pdfjs-tools-button =
.title = ٱوزارا
pdfjs-tools-button-label = ٱوزارا
+pdfjs-first-page-button =
+ .title = رئڌن و بلگه نیایی
+pdfjs-first-page-button-label = رئڌن و بلگه نیایی
+pdfjs-last-page-button =
+ .title = رئڌن و بلگه دیندایی
+pdfjs-last-page-button-label = رئڌن و بلگه دیندایی
+pdfjs-page-rotate-cw-button =
+ .title = لر خردن ساعتگرد
+pdfjs-page-rotate-cw-button-label = لر خردن ساعتگرد
+pdfjs-page-rotate-ccw-button =
+ .title = لر خردن خلاف ساعتگرد
+pdfjs-page-rotate-ccw-button-label = لر خردن خلاف ساعتگرد
+pdfjs-cursor-text-select-tool-button =
+ .title = فعال کردن ٱوزار پسند هؽل
pdfjs-cursor-text-select-tool-button-label = ٱوزار پسند هؽل
pdfjs-cursor-hand-tool-button =
.title = فعال کردن ٱوزار دست
pdfjs-cursor-hand-tool-button-label = ٱوزار دست
+pdfjs-scroll-page-button =
+ .title = و کار گرؽڌن اسکرۊل بلگه
+pdfjs-scroll-page-button-label = اسکرۊل بلگه
+pdfjs-scroll-vertical-button =
+ .title = و کار گرؽڌن اسکرۊل عمۊدی
+pdfjs-scroll-vertical-button-label = اسکرۊل عمۊدی
+pdfjs-scroll-horizontal-button =
+ .title = و کار گرؽڌن اسکرۊل اوفوقی
+pdfjs-scroll-horizontal-button-label = اسکرۊل اوفوقی
+pdfjs-scroll-wrapped-button =
+ .title = و کار گرؽڌن اسکرۊل پؽچسته
+pdfjs-scroll-wrapped-button-label = اسکرۊل پؽچسته
## Document properties dialog
+pdfjs-document-properties-button =
+ .title = خۊسۊسیات سند…
+pdfjs-document-properties-button-label = خۊسۊسیات سند…
pdfjs-document-properties-file-name = نوم فایل:
pdfjs-document-properties-file-size = هندا فایل:
pdfjs-document-properties-title = عونوان:
pdfjs-document-properties-author = هؽل کوݩ:
pdfjs-document-properties-subject = سرتال:
+pdfjs-document-properties-creation-date = تاریخ وورکل وابیڌن:
+pdfjs-document-properties-modification-date = تاریخ آلشتکاری:
+# Variables:
+# $dateObj (Date) - the creation/modification date and time of the PDF file
+pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
+pdfjs-document-properties-creator = وورکل کون:
+pdfjs-document-properties-producer = وورکل کون PDF:
+pdfjs-document-properties-version = نوسخه PDF:
+pdfjs-document-properties-page-count = تئداد بلگه یل:
pdfjs-document-properties-page-size = هندا بلگه:
pdfjs-document-properties-page-size-unit-inches = اینچ
pdfjs-document-properties-page-size-unit-millimeters = میلی متر
+pdfjs-document-properties-page-size-orientation-portrait = portrait
+pdfjs-document-properties-page-size-orientation-landscape = landscape
pdfjs-document-properties-page-size-name-a-three = A3
pdfjs-document-properties-page-size-name-a-four = A4
pdfjs-document-properties-page-size-name-letter = نامه
@@ -84,12 +124,16 @@ pdfjs-document-properties-page-size-dimension-name-string = { $width } × { $hei
##
+# The linearization status of the document; usually called "Fast Web View" in
+# English locales of Adobe software.
+pdfjs-document-properties-linearized = نیشتن زل وب:
pdfjs-document-properties-linearized-yes = هری
pdfjs-document-properties-linearized-no = ن
pdfjs-document-properties-close-button = بستن
## Print
+pdfjs-print-progress-message = ٱماڌه کردن سند سی چاپ کردن…
# Variables:
# $progress (Number) - percent value
pdfjs-print-progress-percent = { $progress }%
@@ -97,8 +141,39 @@ pdfjs-print-progress-close-button = لقو
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = آلشت هالت نوار کلی
+pdfjs-findbar-button =
+ .title = جوستن من سند
+pdfjs-findbar-button-label = جوستن
+pdfjs-additional-layers = لایه یل ازافه
+
+## Find panel button title and messages
+
+pdfjs-find-previous-button-label = دیندایی
+pdfjs-find-next-button-label = بئڌی
+pdfjs-find-highlight-checkbox = هایلایت کردن پوی
+
+## Predefined zoom values
+
+pdfjs-page-scale-width = پئنا بلگه
+pdfjs-page-scale-fit = هندا کردن بلگه
+pdfjs-page-scale-auto = زۊم کردن خوتکار
+pdfjs-page-scale-actual = هندا واقعی
+# Variables:
+# $scale (Number) - percent value for page scale
+pdfjs-page-scale-percent = { $scale }%
+
+## PDF page
+
+# Variables:
+# $page (Number) - the page number
+pdfjs-page-landmark =
+ .aria-label = بلگه { $page }
+
+## Annotations
+
+# Variables:
+# $dateObj (Date) - the modification date and time of the annotation
+pdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
## Password
@@ -107,6 +182,12 @@ pdfjs-password-cancel-button = لقو
## Editing
+pdfjs-editor-free-text-button =
+ .title = هؽل
+pdfjs-editor-free-text-button-label = هؽل
+pdfjs-editor-ink-button =
+ .title = کشیڌن
+pdfjs-editor-ink-button-label = کشیڌن
pdfjs-editor-stamp-button =
.title = ٱووردن یا آلشت شؽواتا
pdfjs-editor-stamp-button-label = ٱووردن یا آلشت شؽواتا
@@ -118,6 +199,14 @@ pdfjs-editor-stamp-editor =
##
+# Editor Parameters
+pdfjs-editor-free-text-color-input = رنگ
+pdfjs-editor-free-text-size-input = هندا
+pdfjs-editor-ink-color-input = رنگ
+pdfjs-editor-ink-thickness-input = کۊلۊفتی
+pdfjs-editor-ink-opacity-input = کر بیڌن
+# This refers to the thickness of the line used for free highlighting (not bound to text)
+pdfjs-editor-free-highlight-thickness-input = کۊلۊفتی
# .default-content is used as a placeholder in an empty text editor.
pdfjs-free-text2 =
.aria-label = آلشتگر هؽل
@@ -127,15 +216,55 @@ pdfjs-editor-comments-sidebar-no-comments-link = قلوه دووسته بۊین
## Alt-text dialog
pdfjs-editor-alt-text-cancel-button = لقو
+pdfjs-editor-alt-text-save-button = زفت
+
+## Color picker
+
+pdfjs-editor-colorpicker-yellow =
+ .title = هیل
+pdfjs-editor-colorpicker-green =
+ .title = ساوز
+pdfjs-editor-colorpicker-blue =
+ .title = کوۊ
+pdfjs-editor-colorpicker-pink =
+ .title = آل
+pdfjs-editor-colorpicker-red =
+ .title = سوئر
+
+## Show all highlights
+## This is a toggle button to show/hide all the highlights.
+
+pdfjs-editor-highlight-show-all-button-label = نشووݩ داڌن پوی
+pdfjs-editor-highlight-show-all-button =
+ .title = نشووݩ داڌن پوی
## New alt-text dialog
## Group note for entire feature: Alternative text (alt text) helps when people can't see the image. This feature includes a tool to create alt text automatically using an AI model that works locally on the user's device to preserve privacy.
pdfjs-editor-new-alt-text-disclaimer-learn-more-url = قلوه دووسته بۊین
+pdfjs-editor-new-alt-text-not-now-button = سکو ن
+pdfjs-editor-new-alt-text-error-close-button = بستن
+
+## "Annotations removed" bar
+
+pdfjs-editor-undo-bar-undo-button-label = وورگندن
+pdfjs-editor-undo-bar-close-button =
+ .title = بستن
+pdfjs-editor-undo-bar-close-button-label = بستن
+
+## Tab panels
+
+pdfjs-editor-add-signature-draw-thickness-range-label = کۊلۊفتی
+
+## Controls
+
+pdfjs-editor-add-signature-error-close-button = بستن
## Dialog buttons
pdfjs-editor-add-signature-cancel-button = لقو
+pdfjs-editor-add-signature-add-button = ٱووردن
+pdfjs-editor-edit-signature-update-button = ورۊ رسۊوی
## Comment popup
@@ -147,4 +276,32 @@ pdfjs-editor-edit-comment-popup-button =
# An existing comment is edited
pdfjs-editor-edit-comment-dialog-title-when-editing = آلشت منشڌ
+pdfjs-editor-edit-comment-dialog-save-button-when-editing = ورۊ رسۊوی
+pdfjs-editor-edit-comment-dialog-save-button-when-adding = ٱووردن
+pdfjs-editor-edit-comment-dialog-text-input =
+ .placeholder = ناهاڌن پا هؽل کردن…
pdfjs-editor-edit-comment-dialog-cancel-button = لقو
+
+## The view manager is a sidebar displaying different views:
+## - thumbnails;
+## - outline;
+## - attachments;
+## - layers.
+## The thumbnails view is used to edit the pdf: remove/insert pages, ...
+
+pdfjs-views-manager-sidebar =
+ .aria-label = نوار کلی
+pdfjs-views-manager-layers-option-label = لایه یل
+pdfjs-views-manager-pages-status-action-button-label = دؽوۉداری
+pdfjs-views-manager-pages-status-copy-button-label = لف گیری
+pdfjs-views-manager-pages-status-cut-button-label = بۊریڌن
+pdfjs-views-manager-pages-status-delete-button-label = پاک کردن
+pdfjs-views-manager-status-undo-button-label = وورگندن
+pdfjs-views-manager-status-done-button-label = ٱنجوم وابی
+pdfjs-views-manager-status-close-button =
+ .title = بستن
+pdfjs-views-manager-status-close-button-label = بستن
+pdfjs-views-manager-paste-button-label = جا وندن
+# Badge used to promote a new feature in the UI, keep it as short as possible.
+# It's spelled uppercase for English, but it can be translated as usual.
+pdfjs-new-badge-content = نۊ
diff --git a/packages/pdfjs-viewer/viewer/locale/br/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/br/viewer.ftl
index 1f86d469d21..bfc6d2994fe 100644
--- a/packages/pdfjs-viewer/viewer/locale/br/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/br/viewer.ftl
@@ -150,23 +150,6 @@ pdfjs-printing-not-ready = Kemenn: N'hall ket bezañ moullet ar restr PDF rak n'
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Diskouez/kuzhat ar varrenn gostez
-pdfjs-toggle-sidebar-notification-button =
- .title = Trec'haoliñ ar varrenn-gostez (ur steuñv pe stagadennoù a zo en teul)
-pdfjs-toggle-sidebar-button-label = Diskouez/kuzhat ar varrenn gostez
-pdfjs-document-outline-button =
- .title = Diskouez steuñv an teul (daouglikit evit brasaat/bihanaat an holl elfennoù)
-pdfjs-document-outline-button-label = Sinedoù an teuliad
-pdfjs-attachments-button =
- .title = Diskouez ar c'henstagadurioù
-pdfjs-attachments-button-label = Kenstagadurioù
-pdfjs-layers-button =
- .title = Diskouez ar gwiskadoù (daou-glikañ evit adderaouekaat an holl gwiskadoù d'o stad dre ziouer)
-pdfjs-layers-button-label = Gwiskadoù
-pdfjs-thumbs-button =
- .title = Diskouez ar melvennoù
-pdfjs-thumbs-button-label = Melvennoù
pdfjs-findbar-button =
.title = Klask e-barzh an teuliad
pdfjs-findbar-button-label = Klask
@@ -174,10 +157,6 @@ pdfjs-additional-layers = Gwiskadoù ouzhpenn
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Pajenn { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -186,8 +165,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Klask
.placeholder = Klask e-barzh an teuliad
+ .title = Klask
pdfjs-find-previous-button =
.title = Kavout an tamm frazenn kent o klotañ ganti
pdfjs-find-previous-button-label = Kent
@@ -260,8 +239,8 @@ pdfjs-editor-highlight-button =
.title = Sklerijennañ
pdfjs-editor-highlight-button-label = Sklerijennañ
pdfjs-highlight-floating-button1 =
- .title = Sklerijennañ
.aria-label = Sklerijennañ
+ .title = Sklerijennañ
pdfjs-highlight-floating-button-label = Sklerijennañ
##
@@ -317,7 +296,4 @@ pdfjs-editor-new-alt-text-error-close-button = Serriñ
## Image alt-text settings
-pdfjs-editor-alt-text-settings-delete-model-button = Dilemel
-pdfjs-editor-alt-text-settings-download-model-button = Pellgargañ
-pdfjs-editor-alt-text-settings-downloading-model-button = O pellgargañ…
pdfjs-editor-alt-text-settings-close-button = Serriñ
diff --git a/packages/pdfjs-viewer/viewer/locale/brx/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/brx/viewer.ftl
index bd4440395b3..9d11ac2876c 100644
--- a/packages/pdfjs-viewer/viewer/locale/brx/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/brx/viewer.ftl
@@ -110,26 +110,12 @@ pdfjs-printing-not-ready = सांग्रांथि: PDF खौ साफ
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = टग्गल साइडबार
-pdfjs-toggle-sidebar-button-label = टग्गल साइडबार
-pdfjs-document-outline-button-label = फोरमान बिलाइ सिमा हांखो
-pdfjs-attachments-button =
- .title = नांजाब होनायखौ दिन्थि
-pdfjs-attachments-button-label = नांजाब होनाय
-pdfjs-thumbs-button =
- .title = थामनेइलखौ दिन्थि
-pdfjs-thumbs-button-label = थामनेइल
pdfjs-findbar-button =
.title = फोरमान बिलाइआव नागिरना दिहुन
pdfjs-findbar-button-label = नायगिरना दिहुन
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = बिलाइ { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -138,8 +124,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = नायगिरना दिहुन
.placeholder = फोरमान बिलाइआव नागिरना दिहुन...
+ .title = नायगिरना दिहुन
pdfjs-find-previous-button =
.title = बाथ्रा खोन्दोबनि सिगांनि नुजाथिनायखौ नागिर
pdfjs-find-previous-button-label = आगोलनि
diff --git a/packages/pdfjs-viewer/viewer/locale/bs/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/bs/viewer.ftl
index f0a67cafb6b..f248b41b068 100644
--- a/packages/pdfjs-viewer/viewer/locale/bs/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/bs/viewer.ftl
@@ -166,23 +166,6 @@ pdfjs-printing-not-ready = Upozorenje: PDF nije u potpunosti učitan za štampan
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Uključi/isključi bočnu traku
-pdfjs-toggle-sidebar-notification-button =
- .title = Uključi/isključi bočnu traku (dokument sadrži obris/priloge/slojeve)
-pdfjs-toggle-sidebar-button-label = Uključi/isključi bočnu traku
-pdfjs-document-outline-button =
- .title = Prikaži outline dokumenta (dvoklik za skupljanje/širenje svih stavki)
-pdfjs-document-outline-button-label = Konture dokumenta
-pdfjs-attachments-button =
- .title = Prikaži priloge
-pdfjs-attachments-button-label = Prilozi
-pdfjs-layers-button =
- .title = Prikaži slojeve (dvostruki klik da biste vratili sve slojeve na zadano stanje)
-pdfjs-layers-button-label = Slojevi
-pdfjs-thumbs-button =
- .title = Prikaži thumbnailove
-pdfjs-thumbs-button-label = Thumbnailovi
pdfjs-current-outline-item-button =
.title = Pronađi trenutnu stavku strukture
pdfjs-current-outline-item-button-label = Trenutna stavka strukture
@@ -193,10 +176,6 @@ pdfjs-additional-layers = Dodatni slojevi
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Strana { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -205,8 +184,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Pronađi
.placeholder = Pronađi u dokumentu…
+ .title = Pronađi
pdfjs-find-previous-button =
.title = Pronađi prethodno pojavljivanje fraze
pdfjs-find-previous-button-label = Prethodno
@@ -299,8 +278,8 @@ pdfjs-editor-highlight-button =
.title = Istaknite
pdfjs-editor-highlight-button-label = Istaknite
pdfjs-highlight-floating-button1 =
- .title = Istaknite
.aria-label = Istaknite
+ .title = Istaknite
pdfjs-highlight-floating-button-label = Istaknite
pdfjs-editor-signature-button =
.title = Dodaj potpis
@@ -482,13 +461,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Postavke alternativnog teksta slik
pdfjs-editor-alt-text-settings-automatic-title = Automatski alternativni tekst
pdfjs-editor-alt-text-settings-create-model-button-label = Automatski kreiraj alternativni tekst
pdfjs-editor-alt-text-settings-create-model-description = Predlaže opise kako bi pomogao ljudima koji ne vide sliku ili kada se slika ne učitava.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Alternativni tekst AI model ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Radi lokalno na vašem uređaju tako da vaši podaci ostaju privatni. Potrebno za automatski alternativni tekst.
-pdfjs-editor-alt-text-settings-delete-model-button = Izbriši
-pdfjs-editor-alt-text-settings-download-model-button = Preuzmi
-pdfjs-editor-alt-text-settings-downloading-model-button = Preuzimam…
pdfjs-editor-alt-text-settings-editor-title = Uređivač alternativnog teksta
pdfjs-editor-alt-text-settings-show-dialog-button-label = Odmah prikaži uređivač alternativnog teksta prilikom dodavanja slike
pdfjs-editor-alt-text-settings-show-dialog-description = Pomaže vam da osigurate da sve vaše slike imaju alternativni tekst.
diff --git a/packages/pdfjs-viewer/viewer/locale/ca/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ca/viewer.ftl
index 4e0d9cbb7fc..ca6746fa190 100644
--- a/packages/pdfjs-viewer/viewer/locale/ca/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ca/viewer.ftl
@@ -42,6 +42,12 @@ pdfjs-print-button-label = Imprimeix
pdfjs-save-button =
.title = Desa
pdfjs-save-button-label = Desa
+# Used in Firefox for Android as a tooltip for the download button (“download” is a verb).
+pdfjs-download-button =
+ .title = Baixa
+# Used in Firefox for Android as a label for the download button (“download” is a verb).
+# Length of the translation matters since we are in a mobile context, with limited screen estate.
+pdfjs-download-button-label = Baixa
pdfjs-bookmark-button =
.title = Pàgina actual (mostra l'URL de la pàgina actual)
pdfjs-bookmark-button-label = Pàgina actual
@@ -98,12 +104,23 @@ pdfjs-document-properties-button =
pdfjs-document-properties-button-label = Propietats del document…
pdfjs-document-properties-file-name = Nom del fitxer:
pdfjs-document-properties-file-size = Mida del fitxer:
+# Variables:
+# $kb (Number) - the PDF file size in kilobytes
+# $b (Number) - the PDF file size in bytes
+pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) } kB ({ $b } bytes)
+# Variables:
+# $mb (Number) - the PDF file size in megabytes
+# $b (Number) - the PDF file size in bytes
+pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)
pdfjs-document-properties-title = Títol:
pdfjs-document-properties-author = Autor:
pdfjs-document-properties-subject = Assumpte:
pdfjs-document-properties-keywords = Paraules clau:
pdfjs-document-properties-creation-date = Data de creació:
pdfjs-document-properties-modification-date = Data de modificació:
+# Variables:
+# $dateObj (Date) - the creation/modification date and time of the PDF file
+pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
pdfjs-document-properties-creator = Creador:
pdfjs-document-properties-producer = Generador de PDF:
pdfjs-document-properties-version = Versió de PDF:
@@ -136,6 +153,27 @@ pdfjs-document-properties-linearized = Vista web ràpida:
pdfjs-document-properties-linearized-yes = Sí
pdfjs-document-properties-linearized-no = No
pdfjs-document-properties-close-button = Tanca
+pdfjs-digital-signature-properties-view-certificate = Mostra el certificat
+# Shown beneath an invalid signature card to explain why verification
+# failed. The text comes from NSS (e.g. "Signature integrity has been
+# compromised", "PKCS#7 signature could not be parsed") and is not
+# itself localized — it is the underlying error message produced by
+# the verification backend.
+# Variables:
+# $reason (String) - error message describing why the signature
+# could not be verified.
+pdfjs-digital-signature-properties-reason = Motiu: { $reason }
+# Variables:
+# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
+pdfjs-digital-signature-properties-timestamp = Marca horària: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
+# Variables:
+# $count (Number) - number of nested sub-signatures (one per earlier
+# incremental revision of the document).
+pdfjs-digital-signature-properties-sub-signatures =
+ { $count ->
+ [one] Una subsignatura
+ *[other] ({ $count }) subsignatures
+ }
## Print
@@ -149,23 +187,6 @@ pdfjs-printing-not-ready = Atenció: el PDF no s'ha acabat de carregar per impri
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Mostra/amaga la barra lateral
-pdfjs-toggle-sidebar-notification-button =
- .title = Mostra/amaga la barra lateral (el document conté un esquema, adjuncions o capes)
-pdfjs-toggle-sidebar-button-label = Mostra/amaga la barra lateral
-pdfjs-document-outline-button =
- .title = Mostra l'esquema del document (doble clic per ampliar/reduir tots els elements)
-pdfjs-document-outline-button-label = Esquema del document
-pdfjs-attachments-button =
- .title = Mostra les adjuncions
-pdfjs-attachments-button-label = Adjuncions
-pdfjs-layers-button =
- .title = Mostra les capes (doble clic per restablir totes les capes al seu estat per defecte)
-pdfjs-layers-button-label = Capes
-pdfjs-thumbs-button =
- .title = Mostra les miniatures
-pdfjs-thumbs-button-label = Miniatures
pdfjs-current-outline-item-button =
.title = Cerca l'element d'esquema actual
pdfjs-current-outline-item-button-label = Element d'esquema actual
@@ -176,20 +197,25 @@ pdfjs-additional-layers = Capes addicionals
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Pàgina { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
.aria-label = Miniatura de la pàgina { $page }
+# Variables:
+# $page (Number) - the page number
+pdfjs-thumb-page-checkbox1 =
+ .title = Selecciona la pàgina { $page }
+# Variables:
+# $page (Number) - the page number
+# $total (Number) - the number of pages
+pdfjs-thumb-page-title1 =
+ .title = Pàgina { $page } de { $total }
## Find panel button title and messages
pdfjs-find-input =
- .title = Cerca
.placeholder = Cerca al document…
+ .title = Cerca
pdfjs-find-previous-button =
.title = Cerca l'anterior coincidència de l'expressió
pdfjs-find-previous-button-label = Anterior
@@ -202,6 +228,21 @@ pdfjs-find-match-diacritics-checkbox-label = Respecta els diacrítics
pdfjs-find-entire-word-checkbox-label = Paraules senceres
pdfjs-find-reached-top = S'ha arribat al principi del document, es continua pel final
pdfjs-find-reached-bottom = S'ha arribat al final del document, es continua pel principi
+# Variables:
+# $current (Number) - the index of the currently active find result
+# $total (Number) - the total number of matches in the document
+pdfjs-find-match-count =
+ { $total ->
+ [one] { $current } d'{ $total } coincidència
+ *[other] { $current } de { $total } coincidències
+ }
+# Variables:
+# $limit (Number) - the maximum number of matches
+pdfjs-find-match-count-limit =
+ { $limit ->
+ [one] Més d'{ $limit } coincidència
+ *[other] Més de { $limit } coincidències
+ }
pdfjs-find-not-found = No s'ha trobat l'expressió
## Predefined zoom values
@@ -238,6 +279,9 @@ pdfjs-rendering-error = S'ha produït un error mentre es renderitzava la pàgina
# Some common types are e.g.: "Check", "Text", "Comment", "Note"
pdfjs-text-annotation-type =
.alt = [Anotació { $type }]
+# Variables:
+# $dateObj (Date) - the modification date and time of the annotation
+pdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
## Password
@@ -251,10 +295,64 @@ pdfjs-web-fonts-disabled = Els tipus de lletra web estan desactivats: no es pode
pdfjs-editor-free-text-button =
.title = Text
+pdfjs-editor-color-picker-free-text-input =
+ .title = Canvia el color del text
pdfjs-editor-free-text-button-label = Text
pdfjs-editor-ink-button =
.title = Dibuixa
+pdfjs-editor-color-picker-ink-input =
+ .title = Canvia el color de dibuix
pdfjs-editor-ink-button-label = Dibuixa
+pdfjs-editor-stamp-button =
+ .title = Afegeix o edita imatges
+pdfjs-editor-stamp-button-label = Afegeix o edita imatges
+pdfjs-editor-highlight-button =
+ .title = Ressalta
+pdfjs-editor-highlight-button-label = Ressalta
+pdfjs-highlight-floating-button1 =
+ .aria-label = Ressalta
+ .title = Ressalta
+pdfjs-highlight-floating-button-label = Ressalta
+pdfjs-comment-floating-button =
+ .aria-label = Comentari
+ .title = Comentari
+pdfjs-comment-floating-button-label = Comentari
+pdfjs-editor-comment-button =
+ .aria-label = Comentari
+ .title = Comentari
+pdfjs-editor-comment-button-label = Comentari
+pdfjs-editor-signature-button =
+ .title = Afegeix una signatura
+pdfjs-editor-signature-button-label = Afegeix una signatura
+
+## Default editor aria labels
+
+# “Highlight” is a noun, the string is used on the editor for highlights.
+pdfjs-editor-highlight-editor =
+ .aria-label = Editor de ressaltat
+# “Drawing” is a noun, the string is used on the editor for drawings.
+pdfjs-editor-ink-editor =
+ .aria-label = Editor de dibuix
+# Used when a signature editor is selected/hovered.
+# Variables:
+# $description (String) - a string describing/labeling the signature.
+pdfjs-editor-signature-editor1 =
+ .aria-description = Editor de signatures: { $description }
+pdfjs-editor-stamp-editor =
+ .aria-label = Editor d'imatges
+
+## Remove button for the various kind of editor.
+
+pdfjs-editor-remove-ink-button =
+ .title = Suprimeix el dibuix
+pdfjs-editor-remove-freetext-button =
+ .title = Suprimeix el text
+pdfjs-editor-remove-stamp-button =
+ .title = Suprimeix la imatge
+pdfjs-editor-remove-highlight-button =
+ .title = Suprimeix el ressaltat
+pdfjs-editor-remove-signature-button =
+ .title = Elimina la signatura
##
@@ -264,11 +362,447 @@ pdfjs-editor-free-text-size-input = Mida
pdfjs-editor-ink-color-input = Color
pdfjs-editor-ink-thickness-input = Gruix
pdfjs-editor-ink-opacity-input = Opacitat
+pdfjs-editor-stamp-add-image-button =
+ .title = Afegeix una imatge
+pdfjs-editor-stamp-add-image-button-label = Afegeix una imatge
+# This refers to the thickness of the line used for free highlighting (not bound to text)
+pdfjs-editor-free-highlight-thickness-input = Gruix
+pdfjs-editor-free-highlight-thickness-title =
+ .title = Canvia el gruix en ressaltar elements diferents del text
+pdfjs-editor-add-signature-container =
+ .aria-label = Controls de signatura i signatures desades
+pdfjs-editor-signature-add-signature-button =
+ .title = Afegeix una nova signatura
+pdfjs-editor-signature-add-signature-button-label = Afegeix una nova signatura
+# Used on the button to use an already saved signature.
+# Variables:
+# $description (String) - a string describing/labeling the signature.
+pdfjs-editor-add-saved-signature-button =
+ .title = Signatura desada: { $description }
+# .default-content is used as a placeholder in an empty text editor.
+pdfjs-free-text2 =
+ .aria-label = Editor de text
+ .default-content = Comença a escriute...
+# Used to show how many comments are present in the pdf file.
+# Variables:
+# $count (Number) - the number of comments.
+pdfjs-editor-comments-sidebar-title =
+ { $count ->
+ [one] Comentari
+ *[other] Comentaris
+ }
+pdfjs-editor-comments-sidebar-close-button =
+ .aria-label = Tanca la barra lateral
+ .title = Tanca la barra lateral
+pdfjs-editor-comments-sidebar-close-button-label = Tanca la barra lateral
+# Instructional copy to add a comment by selecting text or an annotations.
+pdfjs-editor-comments-sidebar-no-comments1 = Hi veieu alguna cosa destacable? Ressalteu-la i deixeu-hi un comentari.
+pdfjs-editor-comments-sidebar-no-comments-link = Més informació
## Alt-text dialog
+pdfjs-editor-alt-text-button-label = Text alternatiu
+pdfjs-editor-alt-text-edit-button =
+ .aria-label = Edita el text alternatiu
+pdfjs-editor-alt-text-dialog-label = Trieu una opció
+pdfjs-editor-alt-text-dialog-description = El text alternatiu és d'ajuda quan no es pot veure la imatge o quan no es carrega.
+pdfjs-editor-alt-text-add-description-label = Afegeix una descripció
+pdfjs-editor-alt-text-add-description-description = Una o dues frases amb la intenció de descriure el subjecte, l'entorn o les accions.
+pdfjs-editor-alt-text-mark-decorative-label = Marca com a decoratiu
+pdfjs-editor-alt-text-mark-decorative-description = Això s'utilitza per a imatges ornamentals, com ara vores o marques d'aigua.
pdfjs-editor-alt-text-cancel-button = Cancel·la
+pdfjs-editor-alt-text-save-button = Desa
+pdfjs-editor-alt-text-decorative-tooltip = S'ha marcat com a decoratiu
+# .placeholder: This is a placeholder for the alt text input area
+pdfjs-editor-alt-text-textarea =
+ .placeholder = Per exemple, “Un jove seu a taula per menjar un àpat”
+# Alternative text (alt text) helps when people can't see the image.
+pdfjs-editor-alt-text-button =
+ .aria-label = Text alternatiu
+
+## Editor resizers
+## This is used in an aria label to help to understand the role of the resizer.
+
+pdfjs-editor-resizer-top-left =
+ .aria-label = Cantonada superior esquerra — canvia la mida
+pdfjs-editor-resizer-top-middle =
+ .aria-label = Part superior central — canvia la mida
+pdfjs-editor-resizer-top-right =
+ .aria-label = Cantonada superior dreta — canvia la mida
+pdfjs-editor-resizer-middle-right =
+ .aria-label = Part dreta central — canvia la mida
+pdfjs-editor-resizer-bottom-right =
+ .aria-label = Cantonada inferior dreta — canvia la mida
+pdfjs-editor-resizer-bottom-middle =
+ .aria-label = Part inferior central — canvia la mida
+pdfjs-editor-resizer-bottom-left =
+ .aria-label = Cantonada inferior esquerra — canvia la mida
+pdfjs-editor-resizer-middle-left =
+ .aria-label = Part esquerra central — canvia la mida
+
+## Color picker
+
+# This means "Color used to highlight text"
+pdfjs-editor-highlight-colorpicker-label = Color de ressaltat
+pdfjs-editor-colorpicker-button =
+ .title = Canvia el color
+pdfjs-editor-colorpicker-dropdown =
+ .aria-label = Opcions de color
+pdfjs-editor-colorpicker-yellow =
+ .title = Groc
+pdfjs-editor-colorpicker-green =
+ .title = Verd
+pdfjs-editor-colorpicker-blue =
+ .title = Blau
+pdfjs-editor-colorpicker-pink =
+ .title = Rosa
+pdfjs-editor-colorpicker-red =
+ .title = Vermell
+
+## Show all highlights
+## This is a toggle button to show/hide all the highlights.
+
+pdfjs-editor-highlight-show-all-button-label = Mostra-ho tot
+pdfjs-editor-highlight-show-all-button =
+ .title = Mostra-ho tot
+
+## New alt-text dialog
+## Group note for entire feature: Alternative text (alt text) helps when people can't see the image. This feature includes a tool to create alt text automatically using an AI model that works locally on the user's device to preserve privacy.
+
+# Modal header positioned above a text box where users can edit the alt text.
+pdfjs-editor-new-alt-text-dialog-edit-label = Edita el text alternatiu (descripció de la imatge)
+# Modal header positioned above a text box where users can add the alt text.
+pdfjs-editor-new-alt-text-dialog-add-label = Afegeix text alternatiu (descripció de la imatge)
+pdfjs-editor-new-alt-text-textarea =
+ .placeholder = Escriviu la vostra descripció aquí...
+# This text refers to the alt text box above this description. It offers a definition of alt text.
+pdfjs-editor-new-alt-text-description = Descripció breu per a les persones que no poden veure la imatge o quan la imatge no es carrega.
+# This is a required legal disclaimer that refers to the automatically created text inside the alt text box above this text. It disappears if the text is edited by a human.
+pdfjs-editor-new-alt-text-disclaimer1 = Aquest text alternatiu ha estat creat automàticament i pot ser inexacte.
+pdfjs-editor-new-alt-text-disclaimer-learn-more-url = Més informació
+pdfjs-editor-new-alt-text-create-automatically-button-label = Crea el text alternatiu automàticament
+pdfjs-editor-new-alt-text-not-now-button = Ara no
+pdfjs-editor-new-alt-text-error-title = No s'ha pogut crear el text alternatiu automàticament
+pdfjs-editor-new-alt-text-error-description = Escriviu el vostre propi text alternatiu o proveu més tard.
+pdfjs-editor-new-alt-text-error-close-button = Tanca
+# Variables:
+# $totalSize (Number) - the total size (in MB) of the AI model.
+# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
+pdfjs-editor-new-alt-text-ai-model-downloading-progress = S'està baixant el model d'IA de text alternatiu ({ $downloadedSize } de { $totalSize } MB)
+ .aria-valuetext = S'està baixant el model d'IA de text alternatiu ({ $downloadedSize } de { $totalSize } MB)
+# This is a button that users can click to edit the alt text they have already added.
+pdfjs-editor-new-alt-text-added-button =
+ .aria-label = Text alternatiu afegit.
+pdfjs-editor-new-alt-text-added-button-label = Text alternatiu afegit.
+# This is a button that users can click to open the alt text editor and add alt text when it is not present.
+pdfjs-editor-new-alt-text-missing-button =
+ .aria-label = Falta el text alternatiu
+pdfjs-editor-new-alt-text-missing-button-label = Falta el text alternatiu
+# This is a button that opens up the alt text modal where users should review the alt text that was automatically generated.
+pdfjs-editor-new-alt-text-to-review-button =
+ .aria-label = Revisa el text alternatiu
+pdfjs-editor-new-alt-text-to-review-button-label = Revisa el text alternatiu
+# "Created automatically" is a prefix that will be added to the beginning of any alt text that has been automatically generated. After the colon, the user will see/hear the actual alt text description. If the alt text has been edited by a human, this prefix will not appear.
+# Variables:
+# $generatedAltText (String) - the generated alt-text.
+pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer = Creat automàticament: { $generatedAltText }
+
+## Image alt-text settings
+
+pdfjs-image-alt-text-settings-button =
+ .title = Paràmetres del text alternatiu de la imatge
+pdfjs-image-alt-text-settings-button-label = Paràmetres del text alternatiu de la imatge
+pdfjs-editor-alt-text-settings-dialog-label = Paràmetres del text alternatiu de la imatge
+pdfjs-editor-alt-text-settings-automatic-title = Text alternatiu automàtic
+pdfjs-editor-alt-text-settings-create-model-button-label = Crea el text alternatiu automàticament
+pdfjs-editor-alt-text-settings-create-model-description = Suggereix descripcions per ajudar les persones que no poden veure la imatge o quan la imatge no es carrega.
+pdfjs-editor-alt-text-settings-editor-title = Editor de text alternatiu
+pdfjs-editor-alt-text-settings-show-dialog-button-label = Mostra l'editor de text alternatiu immediatament en afegir una imatge
+pdfjs-editor-alt-text-settings-show-dialog-description = Us ajuda a assegurar-vos que totes les imatges tenen text alternatiu.
+pdfjs-editor-alt-text-settings-close-button = Tanca
+
+## Accessibility labels (announced by screen readers) for objects added to the editor.
+
+pdfjs-editor-highlight-added-alert = S'ha afegit el ressaltat
+pdfjs-editor-freetext-added-alert = S'ha afegit el text
+pdfjs-editor-ink-added-alert = S'ha afegit el dibuix
+pdfjs-editor-stamp-added-alert = S'ha afegit la imatge
+pdfjs-editor-signature-added-alert = S'ha afegit la signatura
+
+## "Annotations removed" bar
+
+pdfjs-editor-undo-bar-message-highlight = S'ha eliminat el ressaltat
+pdfjs-editor-undo-bar-message-freetext = S'ha eliminat el text
+pdfjs-editor-undo-bar-message-ink = S'ha eliminat el dibuix
+pdfjs-editor-undo-bar-message-stamp = S'ha eliminat la imatge
+pdfjs-editor-undo-bar-message-signature = S’ha eliminat la signatura
+pdfjs-editor-undo-bar-message-comment = S'ha eliminat el comentari
+# Variables:
+# $count (Number) - the number of removed annotations.
+pdfjs-editor-undo-bar-message-multiple =
+ { $count ->
+ [one] S'ha eliminat una anotació
+ *[other] S'han eliminat { $count } anotacions
+ }
+pdfjs-editor-undo-bar-undo-button =
+ .title = Desfés
+pdfjs-editor-undo-bar-undo-button-label = Desfés
+pdfjs-editor-undo-bar-close-button =
+ .title = Tanca
+pdfjs-editor-undo-bar-close-button-label = Tanca
+
+## Add a signature dialog
+
+pdfjs-editor-add-signature-dialog-label = Aquest diàleg modal permet a l'usuari crear una signatura per a afegir-la a un document PDF. L'usuari pot editar el nom (que també serveix com a text alternatiu) i, opcionalment, desar la signatura per a fer-la servir més vegades.
+pdfjs-editor-add-signature-dialog-title = Afegeix una signatura
+
+## Tab names
+
+# Type is a verb (you can type your name as signature)
+pdfjs-editor-add-signature-type-button = Tipus
+ .title = Tipus
+# Draw is a verb (you can draw your signature)
+pdfjs-editor-add-signature-draw-button = Dibuixa
+ .title = Dibuixa
+pdfjs-editor-add-signature-image-button = Imatge
+ .title = Imatge
+
+## Tab panels
+
+pdfjs-editor-add-signature-type-input =
+ .aria-label = Escriviu la vostra signatura
+ .placeholder = Escriviu la vostra signatura
+pdfjs-editor-add-signature-draw-placeholder = Dibuixeu la signatura
+pdfjs-editor-add-signature-draw-thickness-range-label = Gruix
+# Variables:
+# $thickness (Number) - the thickness (in pixels) of the line used to draw a signature.
+pdfjs-editor-add-signature-draw-thickness-range =
+ .title = Gruix del dibuix: { $thickness }
+pdfjs-editor-add-signature-image-placeholder = Arrossegueu un fitxer aquí per a pujar-lo
+pdfjs-editor-add-signature-image-browse-link =
+ { PLATFORM() ->
+ [macos] O trieu fitxers d'imatge
+ *[other] O navegueu pels fitxers d'imatge
+ }
+
+## Controls
+
+pdfjs-editor-add-signature-description-label = Descripció (text alternatiu)
+pdfjs-editor-add-signature-description-input =
+ .title = Descripció (text alternatiu)
+pdfjs-editor-add-signature-description-default-when-drawing = Signatura
+pdfjs-editor-add-signature-clear-button-label = Neteja la signatura
+pdfjs-editor-add-signature-clear-button =
+ .title = Neteja la signatura
+pdfjs-editor-add-signature-save-checkbox = Desa la signatura
+pdfjs-editor-add-signature-save-warning-message = Heu arribat al límit de 5 signatures desades. Elimineu-ne una per a desar-ne una altra.
+pdfjs-editor-add-signature-image-upload-error-title = No s'ha pogut pujar la imatge
+pdfjs-editor-add-signature-image-upload-error-description = Comproveu la connexió de xarxa o proveu amb una altra imatge.
+pdfjs-editor-add-signature-image-no-data-error-title = No es pot convertir aquesta imatge en una signatura
+pdfjs-editor-add-signature-image-no-data-error-description = Proveu de penjar una imatge diferent.
+pdfjs-editor-add-signature-error-close-button = Tanca
## Dialog buttons
pdfjs-editor-add-signature-cancel-button = Cancel·la
+pdfjs-editor-add-signature-add-button = Afegeix
+pdfjs-editor-edit-signature-update-button = Actualitza
+
+## Comment popup
+
+pdfjs-editor-edit-comment-popup-button-label = Edita el comentari
+pdfjs-editor-edit-comment-popup-button =
+ .title = Edita el comentari
+pdfjs-editor-delete-comment-popup-button-label = Elimina el comentari
+pdfjs-editor-delete-comment-popup-button =
+ .title = Elimina el comentari
+pdfjs-show-comment-button =
+ .title = Mostra el comentari
+
+## Edit a comment dialog
+
+# An existing comment is edited
+pdfjs-editor-edit-comment-dialog-title-when-editing = Edita el comentari
+pdfjs-editor-edit-comment-dialog-save-button-when-editing = Actualitza
+# No existing comment
+pdfjs-editor-edit-comment-dialog-title-when-adding = Afegeix un comentari
+pdfjs-editor-edit-comment-dialog-save-button-when-adding = Afegeix
+pdfjs-editor-edit-comment-dialog-text-input =
+ .placeholder = Comenceu a escriure...
+pdfjs-editor-edit-comment-dialog-cancel-button = Cancel·la
+
+## Edit a comment button in the editor toolbar
+
+pdfjs-editor-add-comment-button =
+ .title = Afegeix un comentari
+
+## The view manager is a sidebar displaying different views:
+## - thumbnails;
+## - outline;
+## - attachments;
+## - layers.
+## The thumbnails view is used to edit the pdf: remove/insert pages, ...
+
+pdfjs-toggle-views-manager-notification-button =
+ .title = Commuta la barra lateral (el document conté miniatures, esquema, adjuncions o capes)
+pdfjs-toggle-views-manager-button1-label = Gestiona les pàgines
+pdfjs-views-manager-sidebar =
+ .aria-label = Barra lateral
+pdfjs-views-manager-sidebar-resizer =
+ .aria-label = Redimensionador de la barra lateral
+pdfjs-views-manager-view-selector-button =
+ .title = Vistes
+pdfjs-views-manager-view-selector-button-label = Vistes
+pdfjs-views-manager-pages-title = Pàgines
+pdfjs-views-manager-outlines-title1 = Esquema del document
+ .title = Esquema del document (feu doble clic per a desplegar o plegar tots els elements)
+pdfjs-views-manager-attachments-title = Adjuncions
+pdfjs-views-manager-layers-title1 = Capes
+ .title = Capes (doble clic per a restablir totes les capes a l'estat per defecte)
+pdfjs-views-manager-pages-option-label = Pàgines
+pdfjs-views-manager-outlines-option-label = Esquema del document
+pdfjs-views-manager-attachments-option-label = Adjuncions
+pdfjs-views-manager-layers-option-label = Capes
+pdfjs-views-manager-add-file-button =
+ .title = Afegeix un fitxer
+pdfjs-views-manager-add-file-button-label = Afegeix un fitxer
+# Variables:
+# $count (Number) - the number of selected pages.
+pdfjs-views-manager-pages-status-action-label =
+ { $count ->
+ [one] { $count } seleccionada
+ *[other] { $count } seleccionades
+ }
+pdfjs-views-manager-pages-status-none-action-label = Selecciona les pàgines
+pdfjs-views-manager-pages-status-action-button-label = Gestiona
+pdfjs-views-manager-pages-status-copy-button-label = Copia
+pdfjs-views-manager-pages-status-cut-button-label = Retalla
+pdfjs-views-manager-pages-status-delete-button-label = Suprimeix
+pdfjs-views-manager-pages-status-export-selected-button-label = Exporta les seleccionades...
+# Variables:
+# $count (Number) - the number of selected pages to be cut.
+pdfjs-views-manager-status-undo-cut-label =
+ { $count ->
+ [one] 1 pàgina retallada
+ *[other] { $count } pàgines retallades
+ }
+# Variables:
+# $count (Number) - the number of selected pages to be copied.
+pdfjs-views-manager-pages-status-undo-copy-label =
+ { $count ->
+ [one] S'ha copiat 1 pàgina
+ *[other] S'han copiat { $count } pàgines
+ }
+# Variables:
+# $count (Number) - the number of selected pages to be deleted.
+pdfjs-views-manager-pages-status-undo-delete-label =
+ { $count ->
+ [one] S'ha suprimit 1 pàgina
+ *[other] S'han suprimit { $count } pàgines
+ }
+pdfjs-views-manager-pages-status-waiting-ready-label = S'està preparant el fitxer...
+pdfjs-views-manager-pages-status-waiting-uploading-label = S'està pujant el fitxer...
+pdfjs-views-manager-status-warning-cut-label = No s'ha pogut retallar. Actualitzeu la pàgina i proveu-ho de nou.
+pdfjs-views-manager-status-warning-copy-label = No s'ha pogut copiar. Actualitzeu la pàgina i proveu-ho de nou.
+pdfjs-views-manager-status-warning-delete-label = No s'ha pogut suprimir. Actualitzeu la pàgina i proveu-ho de nou.
+pdfjs-views-manager-status-warning-save-label = No s'ha pogut desar. Actualitzeu la pàgina i proveu-ho de nou.
+pdfjs-views-manager-status-undo-button-label = Desfés
+pdfjs-views-manager-status-done-button-label = Fet
+pdfjs-views-manager-status-close-button =
+ .title = Tanca
+pdfjs-views-manager-status-close-button-label = Tanca
+pdfjs-views-manager-paste-button-label = Enganxa
+pdfjs-views-manager-paste-button-before =
+ .title = Enganxa abans de la primera pàgina
+# Variables:
+# $page (Number) - the page number after which the paste button is.
+pdfjs-views-manager-paste-button-after =
+ .title = Enganxa després de la pàgina { $page }
+# Badge used to promote a new feature in the UI, keep it as short as possible.
+# It's spelled uppercase for English, but it can be translated as usual.
+pdfjs-new-badge-content = NOU
+pdfjs-views-manager-waiting-for-file = S'està pujant el fitxer...
+pdfjs-toggle-views-manager-button1 =
+ .title = Gestiona les pàgines
+
+## Digital signature properties (signature verification panel)
+
+pdfjs-digital-signature-properties-button =
+ .aria-label = Propietats de la signatura digital
+ .title = Propietats de la signatura digital
+pdfjs-digital-signature-properties-button-label = Propietats de la signatura digital
+
+## Banner shown above the signature list summarising the overall
+## verification state of the document. Each variant is selected by the
+## viewer based on the worst per-signature status; one signature is
+## enough to lower the banner.
+##
+## Variables:
+## $count (Number) - number of signatures at the worst level.
+
+pdfjs-digital-signature-properties-banner-verified = El document s'ha signat amb una signatura digital vàlida
+pdfjs-digital-signature-properties-banner-unknown =
+ { $count ->
+ [one] Document signat, però no s'ha pogut verificar { $count } signatura digital
+ *[other] El document està signat, però no s'han pogut verificar { $count } signatures digitals
+ }
+pdfjs-digital-signature-properties-banner-untrusted =
+ { $count ->
+ [one] Document signat amb { $count } certificat que no és de confiança
+ *[other] Document signat amb { $count } certificats que no són de confiança
+ }
+pdfjs-digital-signature-properties-banner-expired =
+ { $count ->
+ [one] Document signat amb { $count } certificat caducat
+ *[other] Document signat amb { $count } certificats caducats
+ }
+pdfjs-digital-signature-properties-banner-invalid =
+ { $count ->
+ [one] El document té { $count } signatura digital no vàlida
+ *[other] El document té { $count } signatures digitals no vàlides
+ }
+pdfjs-digital-signature-properties-banner-revoked =
+ { $count ->
+ [one] Document signat amb { $count } certificat revocat
+ *[other] Document signat amb { $count } certificats revocats
+ }
+
+## Per-signature status row. Only three distinct strings are needed:
+## the signature crypto either verified (the cert chain may still be
+## untrusted/expired/revoked, but that's surfaced on the cert row
+## below), or it failed, or its sub-format isn't supported.
+
+pdfjs-digital-signature-properties-status-verified = Estat: signatura verificada
+pdfjs-digital-signature-properties-status-invalid = Estat: signatura no vàlida
+pdfjs-digital-signature-properties-status-unknown = Estat: no es pot verificar (no compatible)
+
+## Per-signature certificate row. The variants with an issuer / date in
+## parentheses embed fully-localized context — no English fall-through.
+##
+## Variables:
+## $issuer (String) - issuer or subject common name from the cert.
+## $dateObj (Date) - notAfter date for the expired-with-date form.
+
+pdfjs-digital-signature-properties-certificate-trusted = Certificat: de confiança ({ $issuer })
+pdfjs-digital-signature-properties-certificate-unknown = Certificat: no disponible
+pdfjs-digital-signature-properties-certificate-untrusted = Certificat: no és de confiança
+pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Certificat: emissor desconegut ({ $issuer })
+pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Certificat: autosignat ({ $issuer })
+pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Certificat: emissor no fiable ({ $issuer })
+pdfjs-digital-signature-properties-certificate-expired = Certificat: caducat
+pdfjs-digital-signature-properties-certificate-expired-with-date = Certificat: caducat ({ DATETIME($dateObj, dateStyle: "medium") })
+pdfjs-digital-signature-properties-certificate-revoked = Certificat: revocat
+
+## Main menu for adding/removing signatures
+
+pdfjs-editor-delete-signature-button1 =
+ .title = Elimina la signatura desada
+pdfjs-editor-delete-signature-button-label1 = Elimina la signatura desada
+
+## Editor toolbar
+
+pdfjs-editor-add-signature-edit-button-label = Edita la descripció
+
+## Edit signature description dialog
+
+pdfjs-editor-edit-signature-dialog-title = Edita la descripció
diff --git a/packages/pdfjs-viewer/viewer/locale/cak/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/cak/viewer.ftl
index 3f9c6a231e7..1ffeb02920a 100644
--- a/packages/pdfjs-viewer/viewer/locale/cak/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/cak/viewer.ftl
@@ -147,23 +147,6 @@ pdfjs-printing-not-ready = Rutzijol k'ayewal: Ri PDF man xusamajij ta ronojel ri
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Tijal ri ajxikin kajtz'ik
-pdfjs-toggle-sidebar-notification-button =
- .title = Tik'ex ri ajxikin yuqkajtz'ik (ri wuj eruk'wan taq ruchi'/taqo/kuchuj)
-pdfjs-toggle-sidebar-button-label = Tijal ri ajxikin kajtz'ik
-pdfjs-document-outline-button =
- .title = Tik'ut pe ruch'akulal wuj (kamul-pitz'oj richin nirik'/nich'utinirisäx ronojel ruch'akulal)
-pdfjs-document-outline-button-label = Ruch'akulal wuj
-pdfjs-attachments-button =
- .title = Kek'ut pe ri taq taqoj
-pdfjs-attachments-button-label = Taq taqoj
-pdfjs-layers-button =
- .title = Kek'ut taq Kuchuj (ka'i'-pitz' richin yetzolïx ronojel ri taq kuchuj e k'o wi)
-pdfjs-layers-button-label = Taq kuchuj
-pdfjs-thumbs-button =
- .title = Kek'ut pe taq ch'utiq
-pdfjs-thumbs-button-label = Koköj
pdfjs-current-outline-item-button =
.title = Kekanöx Taq Ch'akulal Kik'wan Chib'äl
pdfjs-current-outline-item-button-label = Taq Ch'akulal Kik'wan Chib'äl
@@ -174,10 +157,6 @@ pdfjs-additional-layers = Tz'aqat ta Kuchuj
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Ruxaq { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -186,8 +165,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Tikanöx
.placeholder = Tikanöx pa wuj…
+ .title = Tikanöx
pdfjs-find-previous-button =
.title = Tib'an b'enam pa ri jun kan q'aptzij xilitäj
pdfjs-find-previous-button-label = Jun kan
diff --git a/packages/pdfjs-viewer/viewer/locale/ckb/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ckb/viewer.ftl
index 73f9e860a88..7d3f371f8d4 100644
--- a/packages/pdfjs-viewer/viewer/locale/ckb/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ckb/viewer.ftl
@@ -131,17 +131,6 @@ pdfjs-printing-not-ready = ئاگاداربە: PDF بە تەواوی بارنە
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = لاتەنیشت پیشاندان/شاردنەوە
-pdfjs-toggle-sidebar-button-label = لاتەنیشت پیشاندان/شاردنەوە
-pdfjs-document-outline-button-label = سنووری چوارچێوە
-pdfjs-attachments-button =
- .title = پاشکۆکان پیشان بدە
-pdfjs-attachments-button-label = پاشکۆکان
-pdfjs-layers-button-label = چینەکان
-pdfjs-thumbs-button =
- .title = وێنۆچکە پیشان بدە
-pdfjs-thumbs-button-label = وێنۆچکە
pdfjs-findbar-button =
.title = لە بەڵگەنامە بگەرێ
pdfjs-findbar-button-label = دۆزینەوە
@@ -149,10 +138,6 @@ pdfjs-additional-layers = چینی زیاتر
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = پەڕەی { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -161,8 +146,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = دۆزینەوە
.placeholder = لە بەڵگەنامە بگەرێ...
+ .title = دۆزینەوە
pdfjs-find-previous-button =
.title = هەبوونی پێشوو بدۆزرەوە لە ڕستەکەدا
pdfjs-find-previous-button-label = پێشوو
diff --git a/packages/pdfjs-viewer/viewer/locale/cs/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/cs/viewer.ftl
index 3534d0c7aff..f222bce49b9 100644
--- a/packages/pdfjs-viewer/viewer/locale/cs/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/cs/viewer.ftl
@@ -189,23 +189,6 @@ pdfjs-printing-not-ready = Upozornění: Dokument PDF není kompletně načten.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Postranní lišta
-pdfjs-toggle-sidebar-notification-button =
- .title = Přepnout postranní lištu (dokument obsahuje osnovu/přílohy/vrstvy)
-pdfjs-toggle-sidebar-button-label = Postranní lišta
-pdfjs-document-outline-button =
- .title = Zobrazí osnovu dokumentu (poklepání přepne zobrazení všech položek)
-pdfjs-document-outline-button-label = Osnova dokumentu
-pdfjs-attachments-button =
- .title = Zobrazí přílohy
-pdfjs-attachments-button-label = Přílohy
-pdfjs-layers-button =
- .title = Zobrazit vrstvy (poklepáním obnovíte všechny vrstvy do výchozího stavu)
-pdfjs-layers-button-label = Vrstvy
-pdfjs-thumbs-button =
- .title = Zobrazí náhledy
-pdfjs-thumbs-button-label = Náhledy
pdfjs-current-outline-item-button =
.title = Najít aktuální položku v osnově
pdfjs-current-outline-item-button-label = Aktuální položka v osnově
@@ -216,10 +199,6 @@ pdfjs-additional-layers = Další vrstvy
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Strana { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -237,8 +216,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Najít
.placeholder = Najít v dokumentu…
+ .title = Najít
pdfjs-find-previous-button =
.title = Najde předchozí výskyt hledaného textu
pdfjs-find-previous-button-label = Předchozí
@@ -337,16 +316,16 @@ pdfjs-editor-highlight-button =
.title = Zvýraznění
pdfjs-editor-highlight-button-label = Zvýraznění
pdfjs-highlight-floating-button1 =
- .title = Zvýraznit
.aria-label = Zvýraznit
+ .title = Zvýraznit
pdfjs-highlight-floating-button-label = Zvýraznit
pdfjs-comment-floating-button =
- .title = Komentář
.aria-label = Komentář
+ .title = Komentář
pdfjs-comment-floating-button-label = Komentář
pdfjs-editor-comment-button =
- .title = Komentář
.aria-label = Komentář
+ .title = Komentář
pdfjs-editor-comment-button-label = Komentář
pdfjs-editor-signature-button =
.title = Přidat podpis
@@ -421,8 +400,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Komentáře
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Zavřít postranní lištu
.aria-label = Zavřít postranní lištu
+ .title = Zavřít postranní lištu
pdfjs-editor-comments-sidebar-close-button-label = Zavřít postranní lištu
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Vidíte něco pozoruhodného? Zvýrazněte to a zanechte komentář.
@@ -545,13 +524,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Nastavení alternativního textu o
pdfjs-editor-alt-text-settings-automatic-title = Automatický alternativní text
pdfjs-editor-alt-text-settings-create-model-button-label = Vytvořit alternativní text automaticky
pdfjs-editor-alt-text-settings-create-model-description = Navrhuje popisy, které pomohou lidem, kteří nevidí obrázek nebo když se obrázek nenačte.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Model AI pro alternativní text ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Běží lokálně na vašem zařízení, takže vaše data zůstávají v bezpečí. Vyžadováno pro automatický alternativní text.
-pdfjs-editor-alt-text-settings-delete-model-button = Smazat
-pdfjs-editor-alt-text-settings-download-model-button = Stáhnout
-pdfjs-editor-alt-text-settings-downloading-model-button = Probíhá stahování...
pdfjs-editor-alt-text-settings-editor-title = Editor alternativního textu
pdfjs-editor-alt-text-settings-show-dialog-button-label = Při přidávání obrázku hned zobrazit editor alternativního textu
pdfjs-editor-alt-text-settings-show-dialog-description = Pomůže vám zajistit, aby všechny vaše obrázky obsahovaly alternativní text.
@@ -774,8 +746,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Vlastnosti digitálního podpisu
.aria-label = Vlastnosti digitálního podpisu
+ .title = Vlastnosti digitálního podpisu
pdfjs-digital-signature-properties-button-label = Vlastnosti digitálního podpisu
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/cy/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/cy/viewer.ftl
index 66d3ff6fb15..dab89621149 100644
--- a/packages/pdfjs-viewer/viewer/locale/cy/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/cy/viewer.ftl
@@ -191,23 +191,6 @@ pdfjs-printing-not-ready = Rhybudd: Nid yw'r PDF wedi ei lwytho'n llawn ar gyfer
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Toglo'r Bar Ochr
-pdfjs-toggle-sidebar-notification-button =
- .title = Toglo'r Bar Ochr (mae'r ddogfen yn cynnwys amlinelliadau/atodiadau/haenau)
-pdfjs-toggle-sidebar-button-label = Toglo'r Bar Ochr
-pdfjs-document-outline-button =
- .title = Dangos Amlinell Dogfen (clic dwbl i ymestyn/cau pob eitem)
-pdfjs-document-outline-button-label = Amlinelliad Dogfen
-pdfjs-attachments-button =
- .title = Dangos Atodiadau
-pdfjs-attachments-button-label = Atodiadau
-pdfjs-layers-button =
- .title = Dangos Haenau (cliciwch ddwywaith i ailosod yr holl haenau i'r cyflwr rhagosodedig)
-pdfjs-layers-button-label = Haenau
-pdfjs-thumbs-button =
- .title = Dangos Lluniau Bach
-pdfjs-thumbs-button-label = Lluniau Bach
pdfjs-current-outline-item-button =
.title = Canfod yr Eitem Amlinellol Gyfredol
pdfjs-current-outline-item-button-label = Yr Eitem Amlinellol Gyfredol
@@ -218,10 +201,6 @@ pdfjs-additional-layers = Haenau Ychwanegol
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Tudalen { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -239,8 +218,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Canfod
.placeholder = Canfod yn y ddogfen…
+ .title = Canfod
pdfjs-find-previous-button =
.title = Canfod enghraifft flaenorol o'r ymadrodd
pdfjs-find-previous-button-label = Blaenorol
@@ -343,16 +322,16 @@ pdfjs-editor-highlight-button =
.title = Amlygu
pdfjs-editor-highlight-button-label = Amlygu
pdfjs-highlight-floating-button1 =
- .title = Amlygu
.aria-label = Amlygu
+ .title = Amlygu
pdfjs-highlight-floating-button-label = Amlygu
pdfjs-comment-floating-button =
- .title = Sylw
.aria-label = Sylw
+ .title = Sylw
pdfjs-comment-floating-button-label = Sylw
pdfjs-editor-comment-button =
- .title = Sylw
.aria-label = Sylw
+ .title = Sylw
pdfjs-editor-comment-button-label = Sylw
pdfjs-editor-signature-button =
.title = Ychwanegu llofnod
@@ -429,8 +408,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Sylw
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Cau'r bar ochr
.aria-label = Cau'r bar ochr
+ .title = Cau'r bar ochr
pdfjs-editor-comments-sidebar-close-button-label = Cau'r bar ochr
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Gweld rhywbeth nodedig? Amlygwch ef a gadael sylw.
@@ -553,13 +532,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Gosodiadau testun amgen delwedd
pdfjs-editor-alt-text-settings-automatic-title = Testun amgen awtomatig
pdfjs-editor-alt-text-settings-create-model-button-label = Creu testun amgen yn awtomatig
pdfjs-editor-alt-text-settings-create-model-description = Yn awgrymu disgrifiadau i helpu pobl sydd ddim yn gallu gweld y ddelwedd neu pan nad yw'r ddelwedd yn llwytho.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Model AI testun amgen ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Yn rhedeg yn lleol ar eich dyfais fel bod eich data'n aros yn breifat. Yn ofynnol ar gyfer testun amgen awtomatig.
-pdfjs-editor-alt-text-settings-delete-model-button = Dileu
-pdfjs-editor-alt-text-settings-download-model-button = Llwytho i Lawr
-pdfjs-editor-alt-text-settings-downloading-model-button = Wrthi'n llwytho i lawr…
pdfjs-editor-alt-text-settings-editor-title = Golygydd testun amgen
pdfjs-editor-alt-text-settings-show-dialog-button-label = Dangoswch y golygydd testun amgen yn syth wrth ychwanegu delwedd
pdfjs-editor-alt-text-settings-show-dialog-description = Yn eich helpu i wneud yn siŵr bod gan eich holl ddelweddau destun amgen.
@@ -792,8 +764,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Priodweddau llofnod digidol
.aria-label = Priodweddau llofnod digidol
+ .title = Priodweddau llofnod digidol
pdfjs-digital-signature-properties-button-label = Priodweddau llofnod digidol
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/da/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/da/viewer.ftl
index ba5bd581a0b..93cb51ac126 100644
--- a/packages/pdfjs-viewer/viewer/locale/da/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/da/viewer.ftl
@@ -166,23 +166,6 @@ pdfjs-printing-not-ready = Advarsel: PDF-filen er ikke fuldt indlæst til udskri
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Slå sidepanel til eller fra
-pdfjs-toggle-sidebar-notification-button =
- .title = Slå sidepanel til eller fra (dokumentet indeholder disposition/vedhæftede filer/lag)
-pdfjs-toggle-sidebar-button-label = Slå sidepanel til eller fra
-pdfjs-document-outline-button =
- .title = Vis dokumentets disposition (dobbeltklik for at udvide/sammenfolde alle elementer)
-pdfjs-document-outline-button-label = Dokument-disposition
-pdfjs-attachments-button =
- .title = Vis vedhæftede filer
-pdfjs-attachments-button-label = Vedhæftede filer
-pdfjs-layers-button =
- .title = Vis lag (dobbeltklik for at nulstille alle lag til standard-tilstanden)
-pdfjs-layers-button-label = Lag
-pdfjs-thumbs-button =
- .title = Vis miniaturer
-pdfjs-thumbs-button-label = Miniaturer
pdfjs-current-outline-item-button =
.title = Find det aktuelle dispositions-element
pdfjs-current-outline-item-button-label = Aktuelt dispositions-element
@@ -193,10 +176,6 @@ pdfjs-additional-layers = Yderligere lag
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Side { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -214,8 +193,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Find
.placeholder = Find i dokument…
+ .title = Find
pdfjs-find-previous-button =
.title = Find den forrige forekomst
pdfjs-find-previous-button-label = Forrige
@@ -310,16 +289,16 @@ pdfjs-editor-highlight-button =
.title = Fremhæv
pdfjs-editor-highlight-button-label = Fremhæv
pdfjs-highlight-floating-button1 =
- .title = Fremhæv
.aria-label = Fremhæv
+ .title = Fremhæv
pdfjs-highlight-floating-button-label = Fremhæv
pdfjs-comment-floating-button =
- .title = Kommenter
.aria-label = Kommenter
+ .title = Kommenter
pdfjs-comment-floating-button-label = Kommenter
pdfjs-editor-comment-button =
- .title = Kommentar
.aria-label = Kommentar
+ .title = Kommentar
pdfjs-editor-comment-button-label = Kommentar
pdfjs-editor-signature-button =
.title = Tilføj signatur
@@ -392,8 +371,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Kommentarer
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Luk sidepanelet
.aria-label = Luk sidepanelet
+ .title = Luk sidepanelet
pdfjs-editor-comments-sidebar-close-button-label = Luk sidepanelet
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Har du fundet noget interessant? Fremhæv det og gem en kommentar.
@@ -516,13 +495,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Indstillinger for alternativ tekst
pdfjs-editor-alt-text-settings-automatic-title = Automatisk alternativ tekst
pdfjs-editor-alt-text-settings-create-model-button-label = Opret alternativ tekst automatisk
pdfjs-editor-alt-text-settings-create-model-description = Foreslår beskrivelser for at hjælpe folk, der ikke kan se billedet, eller når billedet ikke indlæses.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = AI-model til at oprette alternative tekster ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Kører lokalt på din enhed, så dine data forbliver private. Påkrævet for at anvende automatisk alternativ tekst.
-pdfjs-editor-alt-text-settings-delete-model-button = Slet
-pdfjs-editor-alt-text-settings-download-model-button = Hent
-pdfjs-editor-alt-text-settings-downloading-model-button = Henter…
pdfjs-editor-alt-text-settings-editor-title = Redigering af alternativ tekst
pdfjs-editor-alt-text-settings-show-dialog-button-label = Vis redigering af alternativ tekst med det samme, når et billede tilføjes
pdfjs-editor-alt-text-settings-show-dialog-description = Hjælper dig med at sikre, at alle dine billeder har alternativ tekst.
diff --git a/packages/pdfjs-viewer/viewer/locale/de/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/de/viewer.ftl
index dcfbf11179c..4ad002a98b8 100644
--- a/packages/pdfjs-viewer/viewer/locale/de/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/de/viewer.ftl
@@ -67,8 +67,8 @@ pdfjs-page-rotate-cw-button =
.title = Im Uhrzeigersinn drehen
pdfjs-page-rotate-cw-button-label = Im Uhrzeigersinn drehen
pdfjs-page-rotate-ccw-button =
- .title = Gegen Uhrzeigersinn drehen
-pdfjs-page-rotate-ccw-button-label = Gegen Uhrzeigersinn drehen
+ .title = Gegen den Uhrzeigersinn drehen
+pdfjs-page-rotate-ccw-button-label = Gegen den Uhrzeigersinn drehen
pdfjs-cursor-text-select-tool-button =
.title = Textauswahl-Werkzeug aktivieren
pdfjs-cursor-text-select-tool-button-label = Textauswahl-Werkzeug
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Warnung: Die PDF-Datei ist nicht vollständig geladen
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Sidebar umschalten
-pdfjs-toggle-sidebar-notification-button =
- .title = Sidebar umschalten (Dokument enthält Dokumentstruktur/Anhänge/Ebenen)
-pdfjs-toggle-sidebar-button-label = Sidebar umschalten
-pdfjs-document-outline-button =
- .title = Dokumentstruktur anzeigen (Doppelklicken, um alle Einträge aus- bzw. einzuklappen)
-pdfjs-document-outline-button-label = Dokumentstruktur
-pdfjs-attachments-button =
- .title = Anhänge anzeigen
-pdfjs-attachments-button-label = Anhänge
-pdfjs-layers-button =
- .title = Ebenen anzeigen (Doppelklicken, um alle Ebenen auf den Standardzustand zurückzusetzen)
-pdfjs-layers-button-label = Ebenen
-pdfjs-thumbs-button =
- .title = Miniaturansichten anzeigen
-pdfjs-thumbs-button-label = Miniaturansichten
pdfjs-current-outline-item-button =
.title = Aktuelles Struktur-Element finden
pdfjs-current-outline-item-button-label = Aktuelles Struktur-Element
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Zusätzliche Ebenen
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Seite { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Suchen
.placeholder = Dokument durchsuchen…
+ .title = Suchen
pdfjs-find-previous-button =
.title = Vorheriges Vorkommen des Suchbegriffs finden
pdfjs-find-previous-button-label = Zurück
@@ -299,7 +278,7 @@ pdfjs-rendering-error = Beim Darstellen der Seite trat ein Fehler auf.
# (32000-1:2008 Table 169 – Annotation types).
# Some common types are e.g.: "Check", "Text", "Comment", "Note"
pdfjs-text-annotation-type =
- .alt = [Anlage: { $type }]
+ .alt = [{ $type } Anmerkung]
# Variables:
# $dateObj (Date) - the modification date and time of the annotation
pdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Hervorheben
pdfjs-editor-highlight-button-label = Hervorheben
pdfjs-highlight-floating-button1 =
- .title = Hervorheben
.aria-label = Hervorheben
+ .title = Hervorheben
pdfjs-highlight-floating-button-label = Hervorheben
pdfjs-comment-floating-button =
- .title = Kommentieren
.aria-label = Kommentieren
+ .title = Kommentieren
pdfjs-comment-floating-button-label = Kommentieren
pdfjs-editor-comment-button =
- .title = Kommentar
.aria-label = Kommentar
+ .title = Kommentar
pdfjs-editor-comment-button-label = Kommentar
pdfjs-editor-signature-button =
.title = Unterschrift hinzufügen
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Kommentare
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Sidebar schließen
.aria-label = Sidebar schließen
+ .title = Sidebar schließen
pdfjs-editor-comments-sidebar-close-button-label = Sidebar schließen
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Haben Sie etwas Bemerkenswertes entdeckt? Heben Sie es hervor und hinterlassen Sie einen Kommentar.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Alternativ-Text-Einstellungen für
pdfjs-editor-alt-text-settings-automatic-title = Automatischer Alternativ-Text
pdfjs-editor-alt-text-settings-create-model-button-label = Alternativ-Text automatisch erstellen
pdfjs-editor-alt-text-settings-create-model-description = Schlägt Beschreibungen vor, um Personen zu helfen, die die Grafik nicht sehen können, oder wenn die Grafik nicht geladen wird.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Alternativ-Text-KI-Modell ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Wird lokal auf Ihrem Gerät ausgeführt, sodass Ihre Daten privat bleiben. Erforderlich für automatischen Alternativ-Text.
-pdfjs-editor-alt-text-settings-delete-model-button = Löschen
-pdfjs-editor-alt-text-settings-download-model-button = Herunterladen
-pdfjs-editor-alt-text-settings-downloading-model-button = Wird heruntergeladen…
pdfjs-editor-alt-text-settings-editor-title = Alternativ-Texteditor
pdfjs-editor-alt-text-settings-show-dialog-button-label = Alternativ-Texteditor beim Hinzufügen einer Grafik anzeigen
pdfjs-editor-alt-text-settings-show-dialog-description = Hilft Ihnen, sicherzustellen, dass alle Ihre Grafiken Alternativ-Text haben.
@@ -626,7 +598,7 @@ pdfjs-editor-add-signature-save-checkbox = Unterschrift speichern
pdfjs-editor-add-signature-save-warning-message = Sie haben die Grenze von 5 gespeicherten Unterschriften erreicht. Entfernen Sie eine, um weitere zu speichern.
pdfjs-editor-add-signature-image-upload-error-title = Grafik konnte nicht hochgeladen werden
pdfjs-editor-add-signature-image-upload-error-description = Überprüfen Sie Ihre Netzwerkverbindung, oder versuchen Sie es mit einer anderen Grafik.
-pdfjs-editor-add-signature-image-no-data-error-title = Kann Grafik nicht in eine Signatur umwandeln
+pdfjs-editor-add-signature-image-no-data-error-title = Kann Grafik nicht in eine Unterschrift umwandeln
pdfjs-editor-add-signature-image-no-data-error-description = Bitte versuchen Sie, eine andere Grafik hochzuladen.
pdfjs-editor-add-signature-error-close-button = Schließen
@@ -730,9 +702,9 @@ pdfjs-views-manager-pages-status-undo-delete-label =
}
pdfjs-views-manager-pages-status-waiting-ready-label = Ihre Datei wird vorbereitet…
pdfjs-views-manager-pages-status-waiting-uploading-label = Datei wird hochgeladen…
-pdfjs-views-manager-status-warning-cut-label = Ausschneiden war nicht möglich. Aktualisieren Sie die Seite und versuchen Sie es erneut.
+pdfjs-views-manager-status-warning-cut-label = Ausschneiden nicht möglich. Aktualisieren Sie die Seite und versuchen Sie es erneut.
pdfjs-views-manager-status-warning-copy-label = Kopieren nicht möglich. Aktualisieren Sie die Seite und versuchen Sie es erneut.
-pdfjs-views-manager-status-warning-delete-label = Löschen war nicht möglich. Aktualisieren Sie die Seite und versuchen Sie es erneut.
+pdfjs-views-manager-status-warning-delete-label = Löschen nicht möglich. Aktualisieren Sie die Seite und versuchen Sie es erneut.
pdfjs-views-manager-status-warning-save-label = Speichern nicht möglich. Aktualisieren Sie die Seite und versuchen Sie es erneut.
pdfjs-views-manager-status-undo-button-label = Rückgängig
pdfjs-views-manager-status-done-button-label = Fertig
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Eigenschaften digitaler Signatur
.aria-label = Eigenschaften digitaler Signatur
+ .title = Eigenschaften digitaler Signatur
pdfjs-digital-signature-properties-button-label = Eigenschaften digitaler Signatur
## Banner shown above the signature list summarising the overall
@@ -824,8 +796,8 @@ pdfjs-digital-signature-properties-certificate-revoked = Zertifikat: Widerrufen
## Main menu for adding/removing signatures
pdfjs-editor-delete-signature-button1 =
- .title = Gespeicherte Signatur entfernen
-pdfjs-editor-delete-signature-button-label1 = Gespeicherte Signatur entfernen
+ .title = Gespeicherte Unterschrift entfernen
+pdfjs-editor-delete-signature-button-label1 = Gespeicherte Unterschrift entfernen
## Editor toolbar
diff --git a/packages/pdfjs-viewer/viewer/locale/dsb/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/dsb/viewer.ftl
index ec7a74f73a1..48b72202ce1 100644
--- a/packages/pdfjs-viewer/viewer/locale/dsb/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/dsb/viewer.ftl
@@ -189,23 +189,6 @@ pdfjs-printing-not-ready = Warnowanje: PDF njejo se za śišćanje dopołnje zac
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Bocnicu pokazaś/schowaś
-pdfjs-toggle-sidebar-notification-button =
- .title = Bocnicu pśešaltowaś (dokument rozrědowanje/pśipiski/warstwy wopśimujo)
-pdfjs-toggle-sidebar-button-label = Bocnicu pokazaś/schowaś
-pdfjs-document-outline-button =
- .title = Dokumentowe naraźenje pokazaś (dwójne kliknjenje, aby se wšykne zapiski pokazali/schowali)
-pdfjs-document-outline-button-label = Dokumentowa struktura
-pdfjs-attachments-button =
- .title = Pśidanki pokazaś
-pdfjs-attachments-button-label = Pśidanki
-pdfjs-layers-button =
- .title = Warstwy pokazaś (klikniśo dwójcy, aby wšykne warstwy na standardny staw slědk stajił)
-pdfjs-layers-button-label = Warstwy
-pdfjs-thumbs-button =
- .title = Miniatury pokazaś
-pdfjs-thumbs-button-label = Miniatury
pdfjs-current-outline-item-button =
.title = Aktualny rozrědowański zapisk pytaś
pdfjs-current-outline-item-button-label = Aktualny rozrědowański zapisk
@@ -216,10 +199,6 @@ pdfjs-additional-layers = Dalšne warstwy
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Bok { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -237,8 +216,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Pytaś
.placeholder = W dokumenśe pytaś…
+ .title = Pytaś
pdfjs-find-previous-button =
.title = Pjerwjejšne wustupowanje pytańskego wuraza pytaś
pdfjs-find-previous-button-label = Slědk
@@ -337,16 +316,16 @@ pdfjs-editor-highlight-button =
.title = Wuzwignuś
pdfjs-editor-highlight-button-label = Wuzwignuś
pdfjs-highlight-floating-button1 =
- .title = Wuzwignuś
.aria-label = Wuzwignuś
+ .title = Wuzwignuś
pdfjs-highlight-floating-button-label = Wuzwignuś
pdfjs-comment-floating-button =
- .title = Komentěrowaś
.aria-label = Komentěrowaś
+ .title = Komentěrowaś
pdfjs-comment-floating-button-label = Komentěrowaś
pdfjs-editor-comment-button =
- .title = Komentěrowaś
.aria-label = Komentěrowaś
+ .title = Komentěrowaś
pdfjs-editor-comment-button-label = Komentar
pdfjs-editor-signature-button =
.title = Signaturu pśidaś
@@ -421,8 +400,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] { $count } komentarow
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Bocnicu zacyniś
.aria-label = Bocnicu zacyniś
+ .title = Bocnicu zacyniś
pdfjs-editor-comments-sidebar-close-button-label = Bocnicu zacyniś
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Wiźiśo něco wobspomnjeśa gódnego? Wuzwigniśo to a zawóstajśo komentar.
@@ -545,13 +524,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Nastajenja alternatiwnego wobrazow
pdfjs-editor-alt-text-settings-automatic-title = Awtomatiski alternatiwny tekst
pdfjs-editor-alt-text-settings-create-model-button-label = Alternatiwny tekst awtomatiski napóraś
pdfjs-editor-alt-text-settings-create-model-description = Naraźujo wopisanja, aby pomagał ludam, kótarež njamóžośo wobraz wiźeś abo gaž se wobraz njezacytajo.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Model KI alternatiwnego teksta ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Běžy lokalnje na wašom rěźe, aby waše daty priwatne wóstali. Za awtomatiski alternatiwny tekst trjebny.
-pdfjs-editor-alt-text-settings-delete-model-button = Lašowaś
-pdfjs-editor-alt-text-settings-download-model-button = Ześěgnuś
-pdfjs-editor-alt-text-settings-downloading-model-button = Ześěgujo se…
pdfjs-editor-alt-text-settings-editor-title = Editor za alternatiwny tekst
pdfjs-editor-alt-text-settings-show-dialog-button-label = Editor alternatiwnego teksta ned pokazaś, gaž se wobraz pśidawa
pdfjs-editor-alt-text-settings-show-dialog-description = Pomaga, wam wšym swójim wobrazam alternatiwny tekst pśidaś.
@@ -774,8 +746,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Kakosći digitalneje signatury
.aria-label = Kakosći digitalneje signatury
+ .title = Kakosći digitalneje signatury
pdfjs-digital-signature-properties-button-label = Kakosći digitalneje signatury
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/el/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/el/viewer.ftl
index fbd292d10a7..d905e6be71f 100644
--- a/packages/pdfjs-viewer/viewer/locale/el/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/el/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Προειδοποίηση: Το PDF δεν φορτ
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = (Απ)ενεργοποίηση πλαϊνής γραμμής
-pdfjs-toggle-sidebar-notification-button =
- .title = (Απ)ενεργοποίηση πλαϊνής γραμμής (το έγγραφο περιέχει περίγραμμα/συνημμένα/επίπεδα)
-pdfjs-toggle-sidebar-button-label = (Απ)ενεργοποίηση πλαϊνής γραμμής
-pdfjs-document-outline-button =
- .title = Εμφάνιση διάρθρωσης εγγράφου (διπλό κλικ για ανάπτυξη/σύμπτυξη όλων των στοιχείων)
-pdfjs-document-outline-button-label = Διάρθρωση εγγράφου
-pdfjs-attachments-button =
- .title = Εμφάνιση συνημμένων
-pdfjs-attachments-button-label = Συνημμένα
-pdfjs-layers-button =
- .title = Εμφάνιση επιπέδων (διπλό κλικ για επαναφορά όλων των επιπέδων στην προεπιλεγμένη κατάσταση)
-pdfjs-layers-button-label = Επίπεδα
-pdfjs-thumbs-button =
- .title = Εμφάνιση μικρογραφιών
-pdfjs-thumbs-button-label = Μικρογραφίες
pdfjs-current-outline-item-button =
.title = Εύρεση τρέχοντος στοιχείου διάρθρωσης
pdfjs-current-outline-item-button-label = Τρέχον στοιχείο διάρθρωσης
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Επιπρόσθετα επίπεδα
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Σελίδα { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Εύρεση
.placeholder = Εύρεση στο έγγραφο…
+ .title = Εύρεση
pdfjs-find-previous-button =
.title = Εύρεση της προηγούμενης εμφάνισης της φράσης
pdfjs-find-previous-button-label = Προηγούμενο
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Επισήμανση
pdfjs-editor-highlight-button-label = Επισήμανση
pdfjs-highlight-floating-button1 =
- .title = Επισήμανση
.aria-label = Επισήμανση
+ .title = Επισήμανση
pdfjs-highlight-floating-button-label = Επισήμανση
pdfjs-comment-floating-button =
- .title = Σχόλιο
.aria-label = Σχόλιο
+ .title = Σχόλιο
pdfjs-comment-floating-button-label = Σχόλιο
pdfjs-editor-comment-button =
- .title = Σχόλιο
.aria-label = Σχόλιο
+ .title = Σχόλιο
pdfjs-editor-comment-button-label = Σχόλιο
pdfjs-editor-signature-button =
.title = Προσθήκη υπογραφής
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Σχόλια
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Κλείσιμο πλευρικής στήλης
.aria-label = Κλείσιμο πλευρικής στήλης
+ .title = Κλείσιμο πλευρικής στήλης
pdfjs-editor-comments-sidebar-close-button-label = Κλείσιμο πλευρικής στήλης
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Βλέπετε κάτι αξιοσημείωτο; Επισημάνετε το και αφήστε ένα σχόλιο.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Ρυθμίσεις εναλλακ
pdfjs-editor-alt-text-settings-automatic-title = Αυτόματο εναλλακτικό κείμενο
pdfjs-editor-alt-text-settings-create-model-button-label = Αυτόματη δημιουργία εναλλακτικού κειμένου
pdfjs-editor-alt-text-settings-create-model-description = Προτείνει περιγραφές για άτομα που δεν μπορούν να δουν την εικόνα ή όταν η εικόνα δεν φορτώνεται.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Μοντέλο ΤΝ εναλλακτικού κειμένου ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Εκτελείται τοπικά στη συσκευή σας, ώστε τα δεδομένα σας να παραμένουν ιδιωτικά. Απαιτείται για τη δημιουργία του αυτόματου εναλλακτικού κειμένου.
-pdfjs-editor-alt-text-settings-delete-model-button = Διαγραφή
-pdfjs-editor-alt-text-settings-download-model-button = Λήψη
-pdfjs-editor-alt-text-settings-downloading-model-button = Λήψη…
pdfjs-editor-alt-text-settings-editor-title = Επεξεργασία εναλλακτικού κειμένου
pdfjs-editor-alt-text-settings-show-dialog-button-label = Άμεση εμφάνιση της επεξεργασίας εναλλακτικού κειμένου κατά την προσθήκη εικόνας
pdfjs-editor-alt-text-settings-show-dialog-description = Σας βοηθά να βεβαιωθείτε ότι όλες οι εικόνες σας έχουν εναλλακτικό κείμενο.
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Ιδιότητες ψηφιακής υπογραφής
.aria-label = Ιδιότητες ψηφιακής υπογραφής
+ .title = Ιδιότητες ψηφιακής υπογραφής
pdfjs-digital-signature-properties-button-label = Ιδιότητες ψηφιακής υπογραφής
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/en-CA/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/en-CA/viewer.ftl
index f79758583a5..8f54fa06927 100644
--- a/packages/pdfjs-viewer/viewer/locale/en-CA/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/en-CA/viewer.ftl
@@ -153,6 +153,27 @@ pdfjs-document-properties-linearized = Fast Web View:
pdfjs-document-properties-linearized-yes = Yes
pdfjs-document-properties-linearized-no = No
pdfjs-document-properties-close-button = Close
+pdfjs-digital-signature-properties-view-certificate = View certificate
+# Shown beneath an invalid signature card to explain why verification
+# failed. The text comes from NSS (e.g. "Signature integrity has been
+# compromised", "PKCS#7 signature could not be parsed") and is not
+# itself localized — it is the underlying error message produced by
+# the verification backend.
+# Variables:
+# $reason (String) - error message describing why the signature
+# could not be verified.
+pdfjs-digital-signature-properties-reason = Reason: { $reason }
+# Variables:
+# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
+pdfjs-digital-signature-properties-timestamp = Timestamp: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
+# Variables:
+# $count (Number) - number of nested sub-signatures (one per earlier
+# incremental revision of the document).
+pdfjs-digital-signature-properties-sub-signatures =
+ { $count ->
+ [one] Sub-signature ({ $count })
+ *[other] Sub-signatures ({ $count })
+ }
## Print
@@ -166,23 +187,6 @@ pdfjs-printing-not-ready = Warning: The PDF is not fully loaded for printing.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Toggle Sidebar
-pdfjs-toggle-sidebar-notification-button =
- .title = Toggle Sidebar (document contains outline/attachments/layers)
-pdfjs-toggle-sidebar-button-label = Toggle Sidebar
-pdfjs-document-outline-button =
- .title = Show Document Outline (double-click to expand/collapse all items)
-pdfjs-document-outline-button-label = Document Outline
-pdfjs-attachments-button =
- .title = Show Attachments
-pdfjs-attachments-button-label = Attachments
-pdfjs-layers-button =
- .title = Show Layers (double-click to reset all layers to the default state)
-pdfjs-layers-button-label = Layers
-pdfjs-thumbs-button =
- .title = Show Thumbnails
-pdfjs-thumbs-button-label = Thumbnails
pdfjs-current-outline-item-button =
.title = Find Current Outline Item
pdfjs-current-outline-item-button-label = Current Outline Item
@@ -193,10 +197,6 @@ pdfjs-additional-layers = Additional Layers
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Page { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -214,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Find
.placeholder = Find in document…
+ .title = Find
pdfjs-find-previous-button =
.title = Find the previous occurrence of the phrase
pdfjs-find-previous-button-label = Previous
@@ -310,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Highlight
pdfjs-editor-highlight-button-label = Highlight
pdfjs-highlight-floating-button1 =
- .title = Highlight
.aria-label = Highlight
+ .title = Highlight
pdfjs-highlight-floating-button-label = Highlight
pdfjs-comment-floating-button =
- .title = Comment
.aria-label = Comment
+ .title = Comment
pdfjs-comment-floating-button-label = Comment
pdfjs-editor-comment-button =
- .title = Comment
.aria-label = Comment
+ .title = Comment
pdfjs-editor-comment-button-label = Comment
pdfjs-editor-signature-button =
.title = Add signature
@@ -392,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Comments
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Close the sidebar
.aria-label = Close the sidebar
+ .title = Close the sidebar
pdfjs-editor-comments-sidebar-close-button-label = Close the sidebar
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = See something noteworthy? Highlight it and leave a comment.
@@ -516,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Image alt text settings
pdfjs-editor-alt-text-settings-automatic-title = Automatic alt text
pdfjs-editor-alt-text-settings-create-model-button-label = Create alt text automatically
pdfjs-editor-alt-text-settings-create-model-description = Suggests descriptions to help people who can’t see the image or when the image doesn’t load.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Alt text AI model ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Runs locally on your device so your data stays private. Required for automatic alt text.
-pdfjs-editor-alt-text-settings-delete-model-button = Delete
-pdfjs-editor-alt-text-settings-download-model-button = Download
-pdfjs-editor-alt-text-settings-downloading-model-button = Downloading…
pdfjs-editor-alt-text-settings-editor-title = Alt text editor
pdfjs-editor-alt-text-settings-show-dialog-button-label = Show alt text editor right away when adding an image
pdfjs-editor-alt-text-settings-show-dialog-description = Helps you make sure all your images have alt text.
@@ -732,6 +725,74 @@ pdfjs-views-manager-waiting-for-file = Uploading file…
pdfjs-toggle-views-manager-button1 =
.title = Manage pages
+## Digital signature properties (signature verification panel)
+
+pdfjs-digital-signature-properties-button =
+ .aria-label = Digital signature properties
+ .title = Digital signature properties
+pdfjs-digital-signature-properties-button-label = Digital signature properties
+
+## Banner shown above the signature list summarising the overall
+## verification state of the document. Each variant is selected by the
+## viewer based on the worst per-signature status; one signature is
+## enough to lower the banner.
+##
+## Variables:
+## $count (Number) - number of signatures at the worst level.
+
+pdfjs-digital-signature-properties-banner-verified = Document was signed with a valid digital signature
+pdfjs-digital-signature-properties-banner-unknown =
+ { $count ->
+ [one] Document signed but { $count } digital signature could not be verified
+ *[other] Document signed but { $count } digital signatures could not be verified
+ }
+pdfjs-digital-signature-properties-banner-untrusted =
+ { $count ->
+ [one] Document signed with { $count } certificate that is not trusted
+ *[other] Document signed with { $count } certificates that are not trusted
+ }
+pdfjs-digital-signature-properties-banner-expired =
+ { $count ->
+ [one] Document signed with { $count } expired certificate
+ *[other] Document signed with { $count } expired certificates
+ }
+pdfjs-digital-signature-properties-banner-invalid =
+ { $count ->
+ [one] Document has { $count } invalid digital signature
+ *[other] Document has { $count } invalid digital signatures
+ }
+pdfjs-digital-signature-properties-banner-revoked =
+ { $count ->
+ [one] Document signed with { $count } revoked certificate
+ *[other] Document signed with { $count } revoked certificates
+ }
+
+## Per-signature status row. Only three distinct strings are needed:
+## the signature crypto either verified (the cert chain may still be
+## untrusted/expired/revoked, but that's surfaced on the cert row
+## below), or it failed, or its sub-format isn't supported.
+
+pdfjs-digital-signature-properties-status-verified = Status: Signature verified
+pdfjs-digital-signature-properties-status-invalid = Status: Signature invalid
+pdfjs-digital-signature-properties-status-unknown = Status: Unable to verify (unsupported)
+
+## Per-signature certificate row. The variants with an issuer / date in
+## parentheses embed fully-localized context — no English fall-through.
+##
+## Variables:
+## $issuer (String) - issuer or subject common name from the cert.
+## $dateObj (Date) - notAfter date for the expired-with-date form.
+
+pdfjs-digital-signature-properties-certificate-trusted = Certificate: Trusted ({ $issuer })
+pdfjs-digital-signature-properties-certificate-unknown = Certificate: Unavailable
+pdfjs-digital-signature-properties-certificate-untrusted = Certificate: Untrusted
+pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Certificate: Unknown issuer ({ $issuer })
+pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Certificate: Self-signed ({ $issuer })
+pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Certificate: Untrusted issuer ({ $issuer })
+pdfjs-digital-signature-properties-certificate-expired = Certificate: Expired
+pdfjs-digital-signature-properties-certificate-expired-with-date = Certificate: Expired ({ DATETIME($dateObj, dateStyle: "medium") })
+pdfjs-digital-signature-properties-certificate-revoked = Certificate: Revoked
+
## Main menu for adding/removing signatures
pdfjs-editor-delete-signature-button1 =
diff --git a/packages/pdfjs-viewer/viewer/locale/en-GB/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/en-GB/viewer.ftl
index c5287a1a8b9..7486ca33b85 100644
--- a/packages/pdfjs-viewer/viewer/locale/en-GB/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/en-GB/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Warning: The PDF is not fully loaded for printing.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Toggle Sidebar
-pdfjs-toggle-sidebar-notification-button =
- .title = Toggle Sidebar (document contains outline/attachments/layers)
-pdfjs-toggle-sidebar-button-label = Toggle Sidebar
-pdfjs-document-outline-button =
- .title = Show Document Outline (double-click to expand/collapse all items)
-pdfjs-document-outline-button-label = Document Outline
-pdfjs-attachments-button =
- .title = Show Attachments
-pdfjs-attachments-button-label = Attachments
-pdfjs-layers-button =
- .title = Show Layers (double-click to reset all layers to the default state)
-pdfjs-layers-button-label = Layers
-pdfjs-thumbs-button =
- .title = Show Thumbnails
-pdfjs-thumbs-button-label = Thumbnails
pdfjs-current-outline-item-button =
.title = Find Current Outline Item
pdfjs-current-outline-item-button-label = Current Outline Item
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Additional Layers
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Page { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Find
.placeholder = Find in document…
+ .title = Find
pdfjs-find-previous-button =
.title = Find the previous occurrence of the phrase
pdfjs-find-previous-button-label = Previous
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Highlight
pdfjs-editor-highlight-button-label = Highlight
pdfjs-highlight-floating-button1 =
- .title = Highlight
.aria-label = Highlight
+ .title = Highlight
pdfjs-highlight-floating-button-label = Highlight
pdfjs-comment-floating-button =
- .title = Comment
.aria-label = Comment
+ .title = Comment
pdfjs-comment-floating-button-label = Comment
pdfjs-editor-comment-button =
- .title = Comment
.aria-label = Comment
+ .title = Comment
pdfjs-editor-comment-button-label = Comment
pdfjs-editor-signature-button =
.title = Add signature
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Comments
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Close the sidebar
.aria-label = Close the sidebar
+ .title = Close the sidebar
pdfjs-editor-comments-sidebar-close-button-label = Close the sidebar
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = See something noteworthy? Highlight it and leave a comment.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Image alt text settings
pdfjs-editor-alt-text-settings-automatic-title = Automatic alt text
pdfjs-editor-alt-text-settings-create-model-button-label = Create alt text automatically
pdfjs-editor-alt-text-settings-create-model-description = Suggests descriptions to help people who can’t see the image or when the image doesn’t load.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Alt text AI model ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Runs locally on your device so your data stays private. Required for automatic alt text.
-pdfjs-editor-alt-text-settings-delete-model-button = Delete
-pdfjs-editor-alt-text-settings-download-model-button = Download
-pdfjs-editor-alt-text-settings-downloading-model-button = Downloading…
pdfjs-editor-alt-text-settings-editor-title = Alt text editor
pdfjs-editor-alt-text-settings-show-dialog-button-label = Show alt text editor right away when adding an image
pdfjs-editor-alt-text-settings-show-dialog-description = Helps you make sure all your images have alt text.
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Digital signature properties
.aria-label = Digital signature properties
+ .title = Digital signature properties
pdfjs-digital-signature-properties-button-label = Digital signature properties
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/en-US/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/en-US/viewer.ftl
index 46f376891c5..1d0e9ed02a4 100644
--- a/packages/pdfjs-viewer/viewer/locale/en-US/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/en-US/viewer.ftl
@@ -758,13 +758,6 @@ pdfjs-views-manager-pages-status-undo-delete-label =
*[other] { $count } pages deleted
}
-pdfjs-views-manager-pages-status-waiting-ready-label = Getting your file ready…
-pdfjs-views-manager-pages-status-waiting-uploading-label = Uploading file…
-
-pdfjs-views-manager-status-warning-cut-label = Couldn’t cut. Refresh page and try again.
-pdfjs-views-manager-status-warning-copy-label = Couldn’t copy. Refresh page and try again.
-pdfjs-views-manager-status-warning-delete-label = Couldn’t delete. Refresh page and try again.
-pdfjs-views-manager-status-warning-save-label = Couldn’t save. Refresh page and try again.
pdfjs-views-manager-status-undo-button-label = Undo
pdfjs-views-manager-status-done-button-label = Done
pdfjs-views-manager-status-close-button =
diff --git a/packages/pdfjs-viewer/viewer/locale/eo/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/eo/viewer.ftl
index 4a6ac909f58..1426002bd20 100644
--- a/packages/pdfjs-viewer/viewer/locale/eo/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/eo/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Averto: la PDF dosiero ne estas plene ŝargita por pr
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Montri/kaŝi flankan strion
-pdfjs-toggle-sidebar-notification-button =
- .title = Montri/kaŝi flankan strion (la dokumento enhavas konturon/kunsendaĵojn/tavolojn)
-pdfjs-toggle-sidebar-button-label = Montri/kaŝi flankan strion
-pdfjs-document-outline-button =
- .title = Montri la konturon de dokumento (alklaku duoble por faldi/malfaldi ĉiujn elementojn)
-pdfjs-document-outline-button-label = Konturo de dokumento
-pdfjs-attachments-button =
- .title = Montri kunsendaĵojn
-pdfjs-attachments-button-label = Kunsendaĵojn
-pdfjs-layers-button =
- .title = Montri tavolojn (duoble alklaku por remeti ĉiujn tavolojn en la norman staton)
-pdfjs-layers-button-label = Tavoloj
-pdfjs-thumbs-button =
- .title = Montri miniaturojn
-pdfjs-thumbs-button-label = Miniaturoj
pdfjs-current-outline-item-button =
.title = Trovi nunan konturan elementon
pdfjs-current-outline-item-button-label = Nuna kontura elemento
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Aldonaj tavoloj
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Paĝo { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Serĉi
.placeholder = Serĉi en dokumento…
+ .title = Serĉi
pdfjs-find-previous-button =
.title = Serĉi la antaŭan aperon de la frazo
pdfjs-find-previous-button-label = Malantaŭen
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Elstarigi
pdfjs-editor-highlight-button-label = Elstarigi
pdfjs-highlight-floating-button1 =
- .title = Elstarigi
.aria-label = Elstarigi
+ .title = Elstarigi
pdfjs-highlight-floating-button-label = Elstarigi
pdfjs-comment-floating-button =
- .title = Komenti
.aria-label = Komenti
+ .title = Komenti
pdfjs-comment-floating-button-label = Komenti
pdfjs-editor-comment-button =
- .title = Komenti
.aria-label = Komenti
+ .title = Komenti
pdfjs-editor-comment-button-label = Komenti
pdfjs-editor-signature-button =
.title = Aldoni subskribon
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Komentoj
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Fermi la flankan strion
.aria-label = Fermi la flankan strion
+ .title = Fermi la flankan strion
pdfjs-editor-comments-sidebar-close-button-label = Fermi la flankan strion
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Ĉu vi rimarkas ion interesan? Elstarigu tion kaj aldonu komenton.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Agordoj por alternativa teksto de
pdfjs-editor-alt-text-settings-automatic-title = Aŭtomata alternativa teksto
pdfjs-editor-alt-text-settings-create-model-button-label = Aŭtomate krei alternativan tekston
pdfjs-editor-alt-text-settings-create-model-description = Tio ĉi sugestas priskribojn por helpi personojn kiuj ne povas vidi aŭ ŝargi la bildon.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Modelo de artefarita intelekto por alternativa teksto ({ $totalSize } MO)
-pdfjs-editor-alt-text-settings-ai-model-description = Ĝi funkcias en via aparato, do viaj datumoj restas privataj. Ĝi estas postulata por aŭtomata kreado de alternativa teksto.
-pdfjs-editor-alt-text-settings-delete-model-button = Forigi
-pdfjs-editor-alt-text-settings-download-model-button = Elŝuti
-pdfjs-editor-alt-text-settings-downloading-model-button = Elŝuto…
pdfjs-editor-alt-text-settings-editor-title = Redaktilo de alternativa teksto
pdfjs-editor-alt-text-settings-show-dialog-button-label = Montri redaktilon de alternativa teksto tuj post aldono de bildo
pdfjs-editor-alt-text-settings-show-dialog-description = Tio ĉi helpas vin kontroli ĉu ĉiuj bildoj havas alternativan tekston.
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Atributoj de cifereca subskribo
.aria-label = Atributoj de cifereca subskribo
+ .title = Atributoj de cifereca subskribo
pdfjs-digital-signature-properties-button-label = Atributoj de cifereca subskribo
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/es-AR/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/es-AR/viewer.ftl
index c35b411c1f7..785028f722b 100644
--- a/packages/pdfjs-viewer/viewer/locale/es-AR/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/es-AR/viewer.ftl
@@ -103,7 +103,7 @@ pdfjs-document-properties-button =
.title = Propiedades del documento…
pdfjs-document-properties-button-label = Propiedades del documento…
pdfjs-document-properties-file-name = Nombre de archivo:
-pdfjs-document-properties-file-size = Tamaño de archovo:
+pdfjs-document-properties-file-size = Tamaño de archivo:
# Variables:
# $kb (Number) - the PDF file size in kilobytes
# $b (Number) - the PDF file size in bytes
@@ -122,7 +122,7 @@ pdfjs-document-properties-modification-date = Fecha de modificación:
# $dateObj (Date) - the creation/modification date and time of the PDF file
pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
pdfjs-document-properties-creator = Creador:
-pdfjs-document-properties-producer = PDF Productor:
+pdfjs-document-properties-producer = Productor PDF:
pdfjs-document-properties-version = Versión de PDF:
pdfjs-document-properties-page-count = Cantidad de páginas:
pdfjs-document-properties-page-size = Tamaño de página:
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Advertencia: El PDF no está completamente cargado pa
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Alternar barra lateral
-pdfjs-toggle-sidebar-notification-button =
- .title = Alternar barra lateral (el documento contiene esquemas/adjuntos/capas)
-pdfjs-toggle-sidebar-button-label = Alternar barra lateral
-pdfjs-document-outline-button =
- .title = Mostrar esquema del documento (doble clic para expandir/colapsar todos los ítems)
-pdfjs-document-outline-button-label = Esquema del documento
-pdfjs-attachments-button =
- .title = Mostrar adjuntos
-pdfjs-attachments-button-label = Adjuntos
-pdfjs-layers-button =
- .title = Mostrar capas (doble clic para restablecer todas las capas al estado predeterminado)
-pdfjs-layers-button-label = Capas
-pdfjs-thumbs-button =
- .title = Mostrar miniaturas
-pdfjs-thumbs-button-label = Miniaturas
pdfjs-current-outline-item-button =
.title = Buscar elemento de esquema actual
pdfjs-current-outline-item-button-label = Elemento de esquema actual
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Capas adicionales
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Página { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Buscar
.placeholder = Buscar en documento…
+ .title = Buscar
pdfjs-find-previous-button =
.title = Buscar la aparición anterior de la frase
pdfjs-find-previous-button-label = Anterior
@@ -248,7 +227,7 @@ pdfjs-find-match-case-checkbox-label = Coincidir mayúsculas
pdfjs-find-match-diacritics-checkbox-label = Coincidir diacríticos
pdfjs-find-entire-word-checkbox-label = Palabras completas
pdfjs-find-reached-top = Inicio de documento alcanzado, continuando desde abajo
-pdfjs-find-reached-bottom = Fin de documento alcanzando, continuando desde arriba
+pdfjs-find-reached-bottom = Fin de documento alcanzado, continuando desde arriba
# Variables:
# $current (Number) - the index of the currently active find result
# $total (Number) - the total number of matches in the document
@@ -286,7 +265,7 @@ pdfjs-page-landmark =
## Loading indicator messages
pdfjs-loading-error = Ocurrió un error al cargar el PDF.
-pdfjs-invalid-file-error = Archivo PDF no válido o cocrrupto.
+pdfjs-invalid-file-error = Archivo PDF no válido o corrupto.
pdfjs-missing-file-error = Archivo PDF faltante.
pdfjs-unexpected-response-error = Respuesta del servidor inesperada.
pdfjs-rendering-error = Ocurrió un error al dibujar la página.
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Resaltar
pdfjs-editor-highlight-button-label = Resaltar
pdfjs-highlight-floating-button1 =
- .title = Resaltar
.aria-label = Resaltar
+ .title = Resaltar
pdfjs-highlight-floating-button-label = Resaltar
pdfjs-comment-floating-button =
- .title = Comentar
.aria-label = Comentar
+ .title = Comentar
pdfjs-comment-floating-button-label = Comentar
pdfjs-editor-comment-button =
- .title = Comentar
.aria-label = Comentar
+ .title = Comentar
pdfjs-editor-comment-button-label = Comentar
pdfjs-editor-signature-button =
.title = Agregar firma
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Comentarios
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Cerrar la barra lateral
.aria-label = Cerrar la barra lateral
+ .title = Cerrar la barra lateral
pdfjs-editor-comments-sidebar-close-button-label = Cerrar la barra lateral
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = ¿Ve algo digno de mención? Resáltelo y deje un comentario.
@@ -425,7 +404,7 @@ pdfjs-editor-comments-sidebar-no-comments-link = Conocer más
pdfjs-editor-alt-text-button-label = Texto alternativo
pdfjs-editor-alt-text-edit-button =
.aria-label = Editar texto alternativo
-pdfjs-editor-alt-text-dialog-label = Eligir una opción
+pdfjs-editor-alt-text-dialog-label = Elegir una opción
pdfjs-editor-alt-text-dialog-description = El texto alternativo (texto alternativo) ayuda cuando las personas no pueden ver la imagen o cuando no se carga.
pdfjs-editor-alt-text-add-description-label = Agregar una descripción
pdfjs-editor-alt-text-add-description-description = Intente escribir 1 o 2 oraciones que describan el tema, el entorno o las acciones.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Configuración de texto alternativ
pdfjs-editor-alt-text-settings-automatic-title = Texto alternativo automático
pdfjs-editor-alt-text-settings-create-model-button-label = Crear texto alternativo automáticamente
pdfjs-editor-alt-text-settings-create-model-description = Sugiere descripciones para ayudar a las personas que no pueden ver la imagen o cuando la imagen no se carga.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Modelo de IA de texto alternativo ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Se ejecuta localmente en el dispositivo para que los datos se mantengan privados. Requerido para texto alternativo automático.
-pdfjs-editor-alt-text-settings-delete-model-button = Borrar
-pdfjs-editor-alt-text-settings-download-model-button = Descargar
-pdfjs-editor-alt-text-settings-downloading-model-button = Descargando…
pdfjs-editor-alt-text-settings-editor-title = Editor de texto alternativo
pdfjs-editor-alt-text-settings-show-dialog-button-label = Mostrar el editor de texto alternativo inmediatamente al agregar una imagen
pdfjs-editor-alt-text-settings-show-dialog-description = Te ayuda a asegurarse de que todas las imágenes tengan texto alternativo.
@@ -562,7 +534,7 @@ pdfjs-editor-signature-added-alert = Firma agregada
pdfjs-editor-undo-bar-message-highlight = Resaltado eliminado
pdfjs-editor-undo-bar-message-freetext = Texto eliminado
pdfjs-editor-undo-bar-message-ink = Dibujo eliminado
-pdfjs-editor-undo-bar-message-stamp = Imagen eliminado
+pdfjs-editor-undo-bar-message-stamp = Imagen eliminada
pdfjs-editor-undo-bar-message-signature = Firma eliminada
pdfjs-editor-undo-bar-message-comment = Comentario eliminado
# Variables:
@@ -686,7 +658,7 @@ pdfjs-views-manager-outlines-title1 = Esquema del documento
.title = Esquema del documento (doble clic para expandir/colapsar todos los ítems)
pdfjs-views-manager-attachments-title = Adjuntos
pdfjs-views-manager-layers-title1 = Capas
- .title = Capas (doble clic para restablecer todas las cañas al estado predeterminado)
+ .title = Capas (doble clic para restablecer todas las capas al estado predeterminado)
pdfjs-views-manager-pages-option-label = Páginas
pdfjs-views-manager-outlines-option-label = Esquema del documento
pdfjs-views-manager-attachments-option-label = Adjuntos
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Propiedades de firma digital
.aria-label = Propiedades de firma digital
+ .title = Propiedades de firma digital
pdfjs-digital-signature-properties-button-label = Propiedades de firma digital
## Banner shown above the signature list summarising the overall
@@ -786,7 +758,7 @@ pdfjs-digital-signature-properties-banner-expired =
}
pdfjs-digital-signature-properties-banner-invalid =
{ $count ->
- [one] El documento tiene { $count } firmas digital inválida
+ [one] El documento tiene { $count } firma digital inválida
*[other] El documento tiene { $count } firmas digitales inválidas
}
pdfjs-digital-signature-properties-banner-revoked =
diff --git a/packages/pdfjs-viewer/viewer/locale/es-CL/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/es-CL/viewer.ftl
index 3806a5b60f2..d1d39a6302e 100644
--- a/packages/pdfjs-viewer/viewer/locale/es-CL/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/es-CL/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Advertencia: El PDF no está completamente cargado pa
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Barra lateral
-pdfjs-toggle-sidebar-notification-button =
- .title = Cambiar barra lateral (índice de contenidos del documento/adjuntos/capas)
-pdfjs-toggle-sidebar-button-label = Mostrar u ocultar la barra lateral
-pdfjs-document-outline-button =
- .title = Mostrar esquema del documento (doble clic para expandir/contraer todos los elementos)
-pdfjs-document-outline-button-label = Esquema del documento
-pdfjs-attachments-button =
- .title = Mostrar adjuntos
-pdfjs-attachments-button-label = Adjuntos
-pdfjs-layers-button =
- .title = Mostrar capas (doble clic para restablecer todas las capas al estado predeterminado)
-pdfjs-layers-button-label = Capas
-pdfjs-thumbs-button =
- .title = Mostrar miniaturas
-pdfjs-thumbs-button-label = Miniaturas
pdfjs-current-outline-item-button =
.title = Buscar elemento de esquema actual
pdfjs-current-outline-item-button-label = Elemento de esquema actual
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Capas adicionales
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Página { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Encontrar
.placeholder = Encontrar en el documento…
+ .title = Encontrar
pdfjs-find-previous-button =
.title = Buscar la aparición anterior de la frase
pdfjs-find-previous-button-label = Previo
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Destacar
pdfjs-editor-highlight-button-label = Destacar
pdfjs-highlight-floating-button1 =
- .title = Destacar
.aria-label = Destacar
+ .title = Destacar
pdfjs-highlight-floating-button-label = Destacar
pdfjs-comment-floating-button =
- .title = Comentario
.aria-label = Comentario
+ .title = Comentario
pdfjs-comment-floating-button-label = Comentario
pdfjs-editor-comment-button =
- .title = Comentar
.aria-label = Comentar
+ .title = Comentar
pdfjs-editor-comment-button-label = Comentar
pdfjs-editor-signature-button =
.title = Añadir firma
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Comentarios
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Cerrar la barra lateral
.aria-label = Cerrar la barra lateral
+ .title = Cerrar la barra lateral
pdfjs-editor-comments-sidebar-close-button-label = Cerrar la barra lateral
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = ¿Ves algo interesante? Resáltalo y deja un comentario.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Ajustes del texto alternativo de l
pdfjs-editor-alt-text-settings-automatic-title = Texto alternativo automático
pdfjs-editor-alt-text-settings-create-model-button-label = Crear texto alternativo automáticamente
pdfjs-editor-alt-text-settings-create-model-description = Sugiere descripciones para ayudar a las personas que no pueden ver la imagen o cuando la imagen no se carga.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Modelo de IA de texto alternativo ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Se ejecuta localmente en tu dispositivo para que tus datos permanezcan privados. Necesario para el texto alternativo automático.
-pdfjs-editor-alt-text-settings-delete-model-button = Eliminar
-pdfjs-editor-alt-text-settings-download-model-button = Descargar
-pdfjs-editor-alt-text-settings-downloading-model-button = Bajando…
pdfjs-editor-alt-text-settings-editor-title = Editor de texto alternativo
pdfjs-editor-alt-text-settings-show-dialog-button-label = Mostrar el editor de texto alternativo inmediatamente al añadir una imagen
pdfjs-editor-alt-text-settings-show-dialog-description = Te ayuda a asegurarte de que todas tus imágenes tengan texto alternativo.
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Propiedades de firma digital
.aria-label = Propiedades de firma digital
+ .title = Propiedades de firma digital
pdfjs-digital-signature-properties-button-label = Propiedades de firma digital
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/es-ES/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/es-ES/viewer.ftl
index 5bb20121e82..7bcab98a0b5 100644
--- a/packages/pdfjs-viewer/viewer/locale/es-ES/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/es-ES/viewer.ftl
@@ -153,6 +153,27 @@ pdfjs-document-properties-linearized = Vista rápida de la web:
pdfjs-document-properties-linearized-yes = Sí
pdfjs-document-properties-linearized-no = No
pdfjs-document-properties-close-button = Cerrar
+pdfjs-digital-signature-properties-view-certificate = Ver certificado
+# Shown beneath an invalid signature card to explain why verification
+# failed. The text comes from NSS (e.g. "Signature integrity has been
+# compromised", "PKCS#7 signature could not be parsed") and is not
+# itself localized — it is the underlying error message produced by
+# the verification backend.
+# Variables:
+# $reason (String) - error message describing why the signature
+# could not be verified.
+pdfjs-digital-signature-properties-reason = Motivo: { $reason }
+# Variables:
+# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
+pdfjs-digital-signature-properties-timestamp = Fecha: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
+# Variables:
+# $count (Number) - number of nested sub-signatures (one per earlier
+# incremental revision of the document).
+pdfjs-digital-signature-properties-sub-signatures =
+ { $count ->
+ [one] Subfirma ({ $count })
+ *[other] Subfirmas ({ $count })
+ }
## Print
@@ -166,23 +187,6 @@ pdfjs-printing-not-ready = Advertencia: Este PDF no se ha cargado completamente
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Cambiar barra lateral
-pdfjs-toggle-sidebar-notification-button =
- .title = Alternar barra lateral (el documento contiene esquemas/adjuntos/capas)
-pdfjs-toggle-sidebar-button-label = Cambiar barra lateral
-pdfjs-document-outline-button =
- .title = Mostrar resumen del documento (doble clic para expandir/contraer todos los elementos)
-pdfjs-document-outline-button-label = Resumen de documento
-pdfjs-attachments-button =
- .title = Mostrar adjuntos
-pdfjs-attachments-button-label = Adjuntos
-pdfjs-layers-button =
- .title = Mostrar capas (doble clic para restablecer todas las capas al estado predeterminado)
-pdfjs-layers-button-label = Capas
-pdfjs-thumbs-button =
- .title = Mostrar miniaturas
-pdfjs-thumbs-button-label = Miniaturas
pdfjs-current-outline-item-button =
.title = Encontrar elemento de esquema actual
pdfjs-current-outline-item-button-label = Elemento de esquema actual
@@ -193,10 +197,6 @@ pdfjs-additional-layers = Capas adicionales
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Página { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -214,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Buscar
.placeholder = Buscar en el documento…
+ .title = Buscar
pdfjs-find-previous-button =
.title = Encontrar la anterior aparición de la frase
pdfjs-find-previous-button-label = Anterior
@@ -310,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Resaltar
pdfjs-editor-highlight-button-label = Resaltar
pdfjs-highlight-floating-button1 =
- .title = Resaltar
.aria-label = Resaltar
+ .title = Resaltar
pdfjs-highlight-floating-button-label = Resaltar
pdfjs-comment-floating-button =
- .title = Comentario
.aria-label = Comentario
+ .title = Comentario
pdfjs-comment-floating-button-label = Comentario
pdfjs-editor-comment-button =
- .title = Comentario
.aria-label = Comentario
+ .title = Comentario
pdfjs-editor-comment-button-label = Comentario
pdfjs-editor-signature-button =
.title = Añadir firma
@@ -392,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Comentarios
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Cerrar la barra lateral
.aria-label = Cerrar la barra lateral
+ .title = Cerrar la barra lateral
pdfjs-editor-comments-sidebar-close-button-label = Cerrar la barra lateral
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = ¿Ve algo interesante? Resáltelo y deje un comentario.
@@ -404,8 +404,8 @@ pdfjs-editor-comments-sidebar-no-comments-link = Saber más
pdfjs-editor-alt-text-button-label = Texto alternativo
pdfjs-editor-alt-text-edit-button =
.aria-label = Editar el texto alternativo
-pdfjs-editor-alt-text-dialog-label = Eligir una opción
-pdfjs-editor-alt-text-dialog-description = El texto alternativo (texto alternativo) ayuda cuando las personas no pueden ver la imagen o cuando no se carga.
+pdfjs-editor-alt-text-dialog-label = Elegir una opción
+pdfjs-editor-alt-text-dialog-description = El texto alternativo ayuda cuando las personas no pueden ver la imagen o cuando no se carga.
pdfjs-editor-alt-text-add-description-label = Añadir una descripción
pdfjs-editor-alt-text-add-description-description = Intente escribir 1 o 2 frases que describan el tema, el entorno o las acciones.
pdfjs-editor-alt-text-mark-decorative-label = Marcar como decorativa
@@ -516,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Ajustes del texto alternativo de l
pdfjs-editor-alt-text-settings-automatic-title = Texto alternativo automático
pdfjs-editor-alt-text-settings-create-model-button-label = Crear texto alternativo automáticamente
pdfjs-editor-alt-text-settings-create-model-description = Sugiere descripciones para ayudar a las personas que no pueden ver la imagen o cuando la imagen no se carga.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Modelo de IA de texto alternativo ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Se ejecuta localmente en el dispositivo para que los datos se mantengan privados. Requerido para texto alternativo automático.
-pdfjs-editor-alt-text-settings-delete-model-button = Eliminar
-pdfjs-editor-alt-text-settings-download-model-button = Descargar
-pdfjs-editor-alt-text-settings-downloading-model-button = Descargando…
pdfjs-editor-alt-text-settings-editor-title = Editor de texto alternativo
pdfjs-editor-alt-text-settings-show-dialog-button-label = Mostrar el editor de texto alternativo inmediatamente al añadir una imagen
pdfjs-editor-alt-text-settings-show-dialog-description = Le ayuda a asegurarse de que todas sus imágenes tengan texto alternativo.
@@ -698,7 +691,7 @@ pdfjs-views-manager-status-undo-cut-label =
pdfjs-views-manager-pages-status-undo-copy-label =
{ $count ->
[one] 1 página copiada
- *[other] { $count } páginas cortadas
+ *[other] { $count } páginas copiadas
}
# Variables:
# $count (Number) - the number of selected pages to be deleted.
@@ -711,8 +704,8 @@ pdfjs-views-manager-pages-status-waiting-ready-label = Preparando su archivo…
pdfjs-views-manager-pages-status-waiting-uploading-label = Subiendo el archivo…
pdfjs-views-manager-status-warning-cut-label = No se pudo cortar. Refresque la página y pruebe de nuevo.
pdfjs-views-manager-status-warning-copy-label = No se pudo copiar. Refresque la página y pruebe de nuevo.
-pdfjs-views-manager-status-warning-delete-label = No se pudo cortar. Refresque la página y pruebe de nuevo.
-pdfjs-views-manager-status-warning-save-label = No se pudo cortar. Refresque la página y pruebe de nuevo.
+pdfjs-views-manager-status-warning-delete-label = No se pudo eliminar. Refresque la página y pruebe de nuevo.
+pdfjs-views-manager-status-warning-save-label = No se pudo guardar. Refresque la página y pruebe de nuevo.
pdfjs-views-manager-status-undo-button-label = Deshacer
pdfjs-views-manager-status-done-button-label = Hecho
pdfjs-views-manager-status-close-button =
@@ -732,6 +725,49 @@ pdfjs-views-manager-waiting-for-file = Subiendo el archivo…
pdfjs-toggle-views-manager-button1 =
.title = Administrar páginas
+## Digital signature properties (signature verification panel)
+
+pdfjs-digital-signature-properties-button =
+ .aria-label = Propiedades de firma digital
+ .title = Propiedades de firma digital
+pdfjs-digital-signature-properties-button-label = Propiedades de firma digital
+
+## Banner shown above the signature list summarising the overall
+## verification state of the document. Each variant is selected by the
+## viewer based on the worst per-signature status; one signature is
+## enough to lower the banner.
+##
+## Variables:
+## $count (Number) - number of signatures at the worst level.
+
+pdfjs-digital-signature-properties-banner-verified = El documento fue firmado con una firma digital válida
+
+## Per-signature status row. Only three distinct strings are needed:
+## the signature crypto either verified (the cert chain may still be
+## untrusted/expired/revoked, but that's surfaced on the cert row
+## below), or it failed, or its sub-format isn't supported.
+
+pdfjs-digital-signature-properties-status-verified = Estado: Firma verificada
+pdfjs-digital-signature-properties-status-invalid = Estado: Firma no válida
+pdfjs-digital-signature-properties-status-unknown = Estado: No se puede verificar (no compatible)
+
+## Per-signature certificate row. The variants with an issuer / date in
+## parentheses embed fully-localized context — no English fall-through.
+##
+## Variables:
+## $issuer (String) - issuer or subject common name from the cert.
+## $dateObj (Date) - notAfter date for the expired-with-date form.
+
+pdfjs-digital-signature-properties-certificate-trusted = Certificado: Fiable ({ $issuer })
+pdfjs-digital-signature-properties-certificate-unknown = Certificado: No disponible
+pdfjs-digital-signature-properties-certificate-untrusted = Certificado: No fiable
+pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Certificado: Emisor desconocido ({ $issuer })
+pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Certificado: Autofirmado ({ $issuer })
+pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Certificado: Emisor no fiable ({ $issuer })
+pdfjs-digital-signature-properties-certificate-expired = Certificado: Caducado
+pdfjs-digital-signature-properties-certificate-expired-with-date = Certificado: Caducado ({ DATETIME($dateObj, dateStyle: "medium") })
+pdfjs-digital-signature-properties-certificate-revoked = Certificado: Revocado
+
## Main menu for adding/removing signatures
pdfjs-editor-delete-signature-button1 =
diff --git a/packages/pdfjs-viewer/viewer/locale/es-MX/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/es-MX/viewer.ftl
index 8fafb6dc540..0006af522d1 100644
--- a/packages/pdfjs-viewer/viewer/locale/es-MX/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/es-MX/viewer.ftl
@@ -162,28 +162,11 @@ pdfjs-print-progress-message = Preparando documento para impresión…
# $progress (Number) - percent value
pdfjs-print-progress-percent = { $progress }%
pdfjs-print-progress-close-button = Cancelar
-pdfjs-printing-not-supported = Advertencia: La impresión no esta completamente soportada por este navegador.
-pdfjs-printing-not-ready = Advertencia: El PDF no cargo completamente para impresión.
+pdfjs-printing-not-supported = Advertencia: La impresión no está completamente soportada por este navegador.
+pdfjs-printing-not-ready = Advertencia: El PDF no cargó completamente para impresión.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Cambiar barra lateral
-pdfjs-toggle-sidebar-notification-button =
- .title = Alternar barra lateral (el documento contiene esquemas/adjuntos/capas)
-pdfjs-toggle-sidebar-button-label = Cambiar barra lateral
-pdfjs-document-outline-button =
- .title = Mostrar esquema del documento (doble clic para expandir/contraer todos los elementos)
-pdfjs-document-outline-button-label = Esquema del documento
-pdfjs-attachments-button =
- .title = Mostrar adjuntos
-pdfjs-attachments-button-label = Adjuntos
-pdfjs-layers-button =
- .title = Mostrar capas (doble clic para restablecer todas las capas al estado predeterminado)
-pdfjs-layers-button-label = Capas
-pdfjs-thumbs-button =
- .title = Mostrar miniaturas
-pdfjs-thumbs-button-label = Miniaturas
pdfjs-current-outline-item-button =
.title = Buscar elemento de esquema actual
pdfjs-current-outline-item-button-label = Elemento de esquema actual
@@ -194,10 +177,6 @@ pdfjs-additional-layers = Capas adicionales
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Página { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -215,8 +194,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Buscar
.placeholder = Buscar en el documento…
+ .title = Buscar
pdfjs-find-previous-button =
.title = Ir a la anterior frase encontrada
pdfjs-find-previous-button-label = Anterior
@@ -266,7 +245,7 @@ pdfjs-page-landmark =
## Loading indicator messages
pdfjs-loading-error = Un error ocurrió al cargar el PDF.
-pdfjs-invalid-file-error = Archivo PDF invalido o dañado.
+pdfjs-invalid-file-error = Archivo PDF inválido o dañado.
pdfjs-missing-file-error = Archivo PDF no encontrado.
pdfjs-unexpected-response-error = Respuesta inesperada del servidor.
pdfjs-rendering-error = Un error ocurrió al renderizar la página.
@@ -311,16 +290,16 @@ pdfjs-editor-highlight-button =
.title = Destacar
pdfjs-editor-highlight-button-label = Destacar
pdfjs-highlight-floating-button1 =
- .title = Destacados
.aria-label = Destacados
+ .title = Destacados
pdfjs-highlight-floating-button-label = Destacados
pdfjs-comment-floating-button =
- .title = Comentario
.aria-label = Comentario
+ .title = Comentario
pdfjs-comment-floating-button-label = Comentario
pdfjs-editor-comment-button =
- .title = Comentario
.aria-label = Comentario
+ .title = Comentario
pdfjs-editor-comment-button-label = Comentario
pdfjs-editor-signature-button =
.title = Agregar firma
@@ -361,7 +340,7 @@ pdfjs-editor-remove-signature-button =
pdfjs-editor-free-text-color-input = Color
pdfjs-editor-free-text-size-input = Tamaño
pdfjs-editor-ink-color-input = Color
-pdfjs-editor-ink-thickness-input = Grossor
+pdfjs-editor-ink-thickness-input = Grosor
pdfjs-editor-ink-opacity-input = Opacidad
pdfjs-editor-stamp-add-image-button =
.title = Agregar imagen
@@ -393,8 +372,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Comentarios
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Cerrar la barra lateral
.aria-label = Cerrar la barra lateral
+ .title = Cerrar la barra lateral
pdfjs-editor-comments-sidebar-close-button-label = Cerrar la barra lateral
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = ¿Ves algo interesante? Resáltalo y deja un comentario.
@@ -517,13 +496,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Ajustes del texto alternativo de l
pdfjs-editor-alt-text-settings-automatic-title = Texto alternativo automático
pdfjs-editor-alt-text-settings-create-model-button-label = Crear texto alternativo automáticamente
pdfjs-editor-alt-text-settings-create-model-description = Sugiere descripciones para ayudar a las personas que no pueden ver la imagen o cuando la imagen no se carga.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Modelo de IA de texto alternativo ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Se ejecuta localmente en el dispositivo para que los datos se mantengan privados. Requerido para texto alternativo automático.
-pdfjs-editor-alt-text-settings-delete-model-button = Eliminar
-pdfjs-editor-alt-text-settings-download-model-button = Descargar
-pdfjs-editor-alt-text-settings-downloading-model-button = Descargando…
pdfjs-editor-alt-text-settings-editor-title = Editor de texto alternativo
pdfjs-editor-alt-text-settings-show-dialog-button-label = Mostrar el editor de texto alternativo inmediatamente al añadir una imagen
pdfjs-editor-alt-text-settings-show-dialog-description = Te ayuda a asegurarte de que todas tus imágenes tengan texto alternativo.
@@ -581,7 +553,7 @@ pdfjs-editor-add-signature-type-input =
.aria-label = Escribe tu firma
.placeholder = Escribe tu firma
pdfjs-editor-add-signature-draw-placeholder = Dibuja tu firma
-pdfjs-editor-add-signature-draw-thickness-range-label = Grossor
+pdfjs-editor-add-signature-draw-thickness-range-label = Grosor
# Variables:
# $thickness (Number) - the thickness (in pixels) of the line used to draw a signature.
pdfjs-editor-add-signature-draw-thickness-range =
@@ -698,15 +670,15 @@ pdfjs-views-manager-status-undo-cut-label =
# $count (Number) - the number of selected pages to be copied.
pdfjs-views-manager-pages-status-undo-copy-label =
{ $count ->
- [one] 1 pagina copiada
- *[other] { $count } paginas copiadas
+ [one] 1 página copiada
+ *[other] { $count } páginas copiadas
}
# Variables:
# $count (Number) - the number of selected pages to be deleted.
pdfjs-views-manager-pages-status-undo-delete-label =
{ $count ->
- [one] 1 pagina eliminada
- *[other] { $count } paginas eliminadas
+ [one] 1 página eliminada
+ *[other] { $count } páginas eliminadas
}
pdfjs-views-manager-pages-status-waiting-ready-label = Preparando tu archivo…
pdfjs-views-manager-pages-status-waiting-uploading-label = Subiendo archivo…
diff --git a/packages/pdfjs-viewer/viewer/locale/et/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/et/viewer.ftl
index e0212b77d48..07903f75c8b 100644
--- a/packages/pdfjs-viewer/viewer/locale/et/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/et/viewer.ftl
@@ -143,23 +143,6 @@ pdfjs-printing-not-ready = Hoiatus: PDF pole printimiseks täielikult laaditud.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Näita külgriba
-pdfjs-toggle-sidebar-notification-button =
- .title = Näita külgriba (dokument sisaldab sisukorda/manuseid/kihte)
-pdfjs-toggle-sidebar-button-label = Näita külgriba
-pdfjs-document-outline-button =
- .title = Näita sisukorda (kõigi punktide laiendamiseks/ahendamiseks topeltklõpsa)
-pdfjs-document-outline-button-label = Näita sisukorda
-pdfjs-attachments-button =
- .title = Näita manuseid
-pdfjs-attachments-button-label = Manused
-pdfjs-layers-button =
- .title = Näita kihte (kõikide kihtide vaikeolekusse lähtestamiseks topeltklõpsa)
-pdfjs-layers-button-label = Kihid
-pdfjs-thumbs-button =
- .title = Näita pisipilte
-pdfjs-thumbs-button-label = Pisipildid
pdfjs-current-outline-item-button =
.title = Otsi üles praegune kontuuriüksus
pdfjs-current-outline-item-button-label = Praegune kontuuriüksus
@@ -170,10 +153,6 @@ pdfjs-additional-layers = Täiendavad kihid
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = { $page }. lehekülg
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -182,8 +161,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Otsi
.placeholder = Otsi dokumendist…
+ .title = Otsi
pdfjs-find-previous-button =
.title = Otsi fraasi eelmine esinemiskoht
pdfjs-find-previous-button-label = Eelmine
@@ -240,7 +219,3 @@ pdfjs-password-invalid = Vigane parool. Palun proovi uuesti.
pdfjs-password-ok-button = Sobib
pdfjs-password-cancel-button = Loobu
pdfjs-web-fonts-disabled = Veebifondid on keelatud: PDFiga kaasatud fonte pole võimalik kasutada.
-
-## Image alt-text settings
-
-pdfjs-editor-alt-text-settings-delete-model-button = Kustuta
diff --git a/packages/pdfjs-viewer/viewer/locale/eu/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/eu/viewer.ftl
index 45ab19a96de..d491099bd37 100644
--- a/packages/pdfjs-viewer/viewer/locale/eu/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/eu/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Abisua: PDFa ez dago erabat kargatuta inprimatzeko.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Txandakatu alboko barra
-pdfjs-toggle-sidebar-notification-button =
- .title = Txandakatu alboko barra (dokumentuak eskema/eranskinak/geruzak ditu)
-pdfjs-toggle-sidebar-button-label = Txandakatu alboko barra
-pdfjs-document-outline-button =
- .title = Erakutsi dokumentuaren eskema (klik bikoitza elementu guztiak zabaltzeko/tolesteko)
-pdfjs-document-outline-button-label = Dokumentuaren eskema
-pdfjs-attachments-button =
- .title = Erakutsi eranskinak
-pdfjs-attachments-button-label = Eranskinak
-pdfjs-layers-button =
- .title = Erakutsi geruzak (klik bikoitza geruza guztiak egoera lehenetsira berrezartzeko)
-pdfjs-layers-button-label = Geruzak
-pdfjs-thumbs-button =
- .title = Erakutsi koadro txikiak
-pdfjs-thumbs-button-label = Koadro txikiak
pdfjs-current-outline-item-button =
.title = Bilatu uneko eskemaren elementua
pdfjs-current-outline-item-button-label = Uneko eskemaren elementua
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Geruza gehigarriak
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = { $page }. orria
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Bilatu
.placeholder = Bilatu dokumentuan…
+ .title = Bilatu
pdfjs-find-previous-button =
.title = Bilatu esaldiaren aurreko parekatzea
pdfjs-find-previous-button-label = Aurrekoa
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Nabarmendu
pdfjs-editor-highlight-button-label = Nabarmendu
pdfjs-highlight-floating-button1 =
- .title = Nabarmendu
.aria-label = Nabarmendu
+ .title = Nabarmendu
pdfjs-highlight-floating-button-label = Nabarmendu
pdfjs-comment-floating-button =
- .title = Iruzkina
.aria-label = Iruzkina
+ .title = Iruzkina
pdfjs-comment-floating-button-label = Iruzkina
pdfjs-editor-comment-button =
- .title = Iruzkina
.aria-label = Iruzkina
+ .title = Iruzkina
pdfjs-editor-comment-button-label = Iruzkina
pdfjs-editor-signature-button =
.title = Gehitu sinadura
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Iruzkinak
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Itxi alboko barra
.aria-label = Itxi alboko barra
+ .title = Itxi alboko barra
pdfjs-editor-comments-sidebar-close-button-label = Itxi alboko barra
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Azpimarratzeko zerbait ikusi duzu? Nabarmen ezazu eta utzi iruzkina.
@@ -422,11 +401,11 @@ pdfjs-editor-comments-sidebar-no-comments-link = Argibide gehiago
## Alt-text dialog
-pdfjs-editor-alt-text-button-label = Testu alternatiboa
+pdfjs-editor-alt-text-button-label = Ordezko testua
pdfjs-editor-alt-text-edit-button =
- .aria-label = Editatu testu alternatiboa
+ .aria-label = Editatu ordezko testua
pdfjs-editor-alt-text-dialog-label = Aukeratu aukera
-pdfjs-editor-alt-text-dialog-description = Testu alternatiboak laguntzen du jendeak ezin duenean irudia ikusi edo ez denean kargatzen.
+pdfjs-editor-alt-text-dialog-description = Ordezko testuak laguntzen du jendeak ezin duenean irudia ikusi edo ez denean kargatzen.
pdfjs-editor-alt-text-add-description-label = Gehitu azalpena
pdfjs-editor-alt-text-add-description-description = Saiatu idazten gaia, ezarpena edo ekintzak deskribatzen dituen esaldi 1 edo 2.
pdfjs-editor-alt-text-mark-decorative-label = Markatu apaingarri gisa
@@ -439,7 +418,7 @@ pdfjs-editor-alt-text-textarea =
.placeholder = Adibidez, "gizon gaztea mahaian eserita dago bazkaltzeko"
# Alternative text (alt text) helps when people can't see the image.
pdfjs-editor-alt-text-button =
- .aria-label = Testu alternatiboa
+ .aria-label = Ordezko testua
## Editor resizers
## This is used in an aria label to help to understand the role of the resizer.
@@ -491,38 +470,38 @@ pdfjs-editor-highlight-show-all-button =
## Group note for entire feature: Alternative text (alt text) helps when people can't see the image. This feature includes a tool to create alt text automatically using an AI model that works locally on the user's device to preserve privacy.
# Modal header positioned above a text box where users can edit the alt text.
-pdfjs-editor-new-alt-text-dialog-edit-label = Editatu testu alternatiboa (irudiaren azalpena)
+pdfjs-editor-new-alt-text-dialog-edit-label = Editatu ordezko testua (irudiaren azalpena)
# Modal header positioned above a text box where users can add the alt text.
-pdfjs-editor-new-alt-text-dialog-add-label = Gehitu testu alternatiboa (irudiaren azalpena)
+pdfjs-editor-new-alt-text-dialog-add-label = Gehitu ordezko testua (irudiaren azalpena)
pdfjs-editor-new-alt-text-textarea =
.placeholder = Idatzi zure azalpena hemen…
# This text refers to the alt text box above this description. It offers a definition of alt text.
pdfjs-editor-new-alt-text-description = Azalpen laburra irudia ikusi ezin duen jendearentzat edo irudia kargatu ezin denerako.
# This is a required legal disclaimer that refers to the automatically created text inside the alt text box above this text. It disappears if the text is edited by a human.
-pdfjs-editor-new-alt-text-disclaimer1 = Testu alternatibo hau automatikoki sortu da eta okerra izan liteke.
+pdfjs-editor-new-alt-text-disclaimer1 = Ordezko testu hau automatikoki sortu da eta okerra izan liteke.
pdfjs-editor-new-alt-text-disclaimer-learn-more-url = Argibide gehiago
-pdfjs-editor-new-alt-text-create-automatically-button-label = Sortu testu alternatiboa automatikoki
+pdfjs-editor-new-alt-text-create-automatically-button-label = Sortu ordezko testua automatikoki
pdfjs-editor-new-alt-text-not-now-button = Une honetan ez
-pdfjs-editor-new-alt-text-error-title = Ezin da testu alternatiboa automatikoki sortu
-pdfjs-editor-new-alt-text-error-description = Idatzi zure testu alternatibo propioa edo saiatu berriro geroago.
+pdfjs-editor-new-alt-text-error-title = Ezin da ordezko testua automatikoki sortu
+pdfjs-editor-new-alt-text-error-description = Idatzi zure ordezko testu propioa edo saiatu berriro geroago.
pdfjs-editor-new-alt-text-error-close-button = Itxi
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
-pdfjs-editor-new-alt-text-ai-model-downloading-progress = Testu alternatiboaren AA modeloa deskargatzen ({ $downloadedSize }/{ $totalSize } MB)
- .aria-valuetext = Testu alternatiboaren AA modeloa deskargatzen ({ $downloadedSize }/{ $totalSize } MB)
+pdfjs-editor-new-alt-text-ai-model-downloading-progress = Ordezko testuaren AA eredua deskargatzen ({ $downloadedSize }/{ $totalSize } MB)
+ .aria-valuetext = Ordezko testuaren AA eredua deskargatzen ({ $downloadedSize }/{ $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.
pdfjs-editor-new-alt-text-added-button =
- .aria-label = Testu alternatiboa gehituta
-pdfjs-editor-new-alt-text-added-button-label = Testu alternatiboa gehituta
+ .aria-label = Ordezko testua gehituta
+pdfjs-editor-new-alt-text-added-button-label = Ordezko testua gehituta
# This is a button that users can click to open the alt text editor and add alt text when it is not present.
pdfjs-editor-new-alt-text-missing-button =
- .aria-label = Testu alternatiboa falta da
-pdfjs-editor-new-alt-text-missing-button-label = Testu alternatiboa falta da
+ .aria-label = Ordezko testua falta da
+pdfjs-editor-new-alt-text-missing-button-label = Ordezko testua falta da
# This is a button that opens up the alt text modal where users should review the alt text that was automatically generated.
pdfjs-editor-new-alt-text-to-review-button =
- .aria-label = Berrikusi testu alternatiboa
-pdfjs-editor-new-alt-text-to-review-button-label = Berrikusi testu alternatiboa
+ .aria-label = Berrikusi ordezko testua
+pdfjs-editor-new-alt-text-to-review-button-label = Berrikusi ordezko testua
# "Created automatically" is a prefix that will be added to the beginning of any alt text that has been automatically generated. After the colon, the user will see/hear the actual alt text description. If the alt text has been edited by a human, this prefix will not appear.
# Variables:
# $generatedAltText (String) - the generated alt-text.
@@ -531,22 +510,15 @@ pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer = Automatikoki sort
## Image alt-text settings
pdfjs-image-alt-text-settings-button =
- .title = Irudiaren testu alternatiboaren ezarpenak
-pdfjs-image-alt-text-settings-button-label = Irudiaren testu alternatiboaren ezarpenak
-pdfjs-editor-alt-text-settings-dialog-label = Irudiaren testu alternatiboaren ezarpenak
-pdfjs-editor-alt-text-settings-automatic-title = Testu alternatibo automatikoa
-pdfjs-editor-alt-text-settings-create-model-button-label = Sortu testu alternatiboa automatikoki
+ .title = Irudien ordezko testuaren ezarpenak
+pdfjs-image-alt-text-settings-button-label = Irudien ordezko testuaren ezarpenak
+pdfjs-editor-alt-text-settings-dialog-label = Irudien ordezko testuaren ezarpenak
+pdfjs-editor-alt-text-settings-automatic-title = Ordezko testu automatikoa
+pdfjs-editor-alt-text-settings-create-model-button-label = Sortu ordezko testua automatikoki
pdfjs-editor-alt-text-settings-create-model-description = Azalpenak iradokitzen ditu irudia ikusi ezin duen jendearentzat edo irudia kargatu ezin denerako.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Testu alternatiboaren AA modeloa ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Zure gailuan modu lokalean exekutatzen da eta zure datuak pribatu mantentzen dira. Testu alternatibo automatikorako beharrezkoa.
-pdfjs-editor-alt-text-settings-delete-model-button = Ezabatu
-pdfjs-editor-alt-text-settings-download-model-button = Deskargatu
-pdfjs-editor-alt-text-settings-downloading-model-button = Deskargatzen…
-pdfjs-editor-alt-text-settings-editor-title = Testu alternatiboaren editorea
-pdfjs-editor-alt-text-settings-show-dialog-button-label = Erakutsi testu alternatiboa irudi bat gehitzean berehala
-pdfjs-editor-alt-text-settings-show-dialog-description = Zure irudiek testu alternatiboa duela ziurtatzen laguntzen dizu.
+pdfjs-editor-alt-text-settings-editor-title = Ordezko testuaren editorea
+pdfjs-editor-alt-text-settings-show-dialog-button-label = Erakutsi ordezko testua irudi bat gehitzean berehala
+pdfjs-editor-alt-text-settings-show-dialog-description = Zure irudi guztiek ordezko testua dutela ziurtatzen laguntzen dizu.
pdfjs-editor-alt-text-settings-close-button = Itxi
## Accessibility labels (announced by screen readers) for objects added to the editor.
@@ -584,7 +556,7 @@ pdfjs-editor-undo-bar-close-button-label = Itxi
pdfjs-editor-add-signature-dialog-label =
Leiho modal honek PDF dokumentu batera gehitzeko sinadurak
sortzea ahalbidetzen dio erabiltzaileari. Erabiltzaileak izena edita
- dezake (testu alternatibo modura ere erabiltzen dena) eta sinadura
+ dezake (ordezko testu modura ere erabiltzen dena) eta sinadura
gordetzeko aukera du gehiagotan erabili ahal izateko.
pdfjs-editor-add-signature-dialog-title = Gehitu sinadura
@@ -619,9 +591,9 @@ pdfjs-editor-add-signature-image-browse-link =
## Controls
-pdfjs-editor-add-signature-description-label = Azalpena (testu alternatiboa)
+pdfjs-editor-add-signature-description-label = Azalpena (ordezko testua)
pdfjs-editor-add-signature-description-input =
- .title = Azalpena (testu alternatiboa)
+ .title = Azalpena (ordezko testua)
pdfjs-editor-add-signature-description-default-when-drawing = Sinadura
pdfjs-editor-add-signature-clear-button-label = Garbitu sinadura
pdfjs-editor-add-signature-clear-button =
@@ -760,8 +732,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Sinadura digitalaren propietateak
.aria-label = Sinadura digitalaren propietateak
+ .title = Sinadura digitalaren propietateak
pdfjs-digital-signature-properties-button-label = Sinadura digitalaren propietateak
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/fa/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/fa/viewer.ftl
index edff37cf89d..d75bbf08098 100644
--- a/packages/pdfjs-viewer/viewer/locale/fa/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/fa/viewer.ftl
@@ -21,7 +21,7 @@ pdfjs-of-pages = از { $pagesCount }
# Variables:
# $pageNumber (Number) - the currently visible page
# $pagesCount (Number) - the total number of pages in the document
-pdfjs-page-of-pages = ({ $pageNumber }از { $pagesCount })
+pdfjs-page-of-pages = ({ $pageNumber } از { $pagesCount })
pdfjs-zoom-out-button =
.title = کوچکنمایی
pdfjs-zoom-out-button-label = کوچکنمایی
@@ -29,12 +29,12 @@ pdfjs-zoom-in-button =
.title = بزرگنمایی
pdfjs-zoom-in-button-label = بزرگنمایی
pdfjs-zoom-select =
- .title = زوم
+ .title = بزرگنمایی
pdfjs-presentation-mode-button =
.title = تغییر به حالت ارائه
pdfjs-presentation-mode-button-label = حالت ارائه
pdfjs-open-file-button =
- .title = باز کردن پرونده
+ .title = باز کردن فایل
pdfjs-open-file-button-label = باز کردن
pdfjs-print-button =
.title = چاپ
@@ -44,13 +44,13 @@ pdfjs-save-button =
pdfjs-save-button-label = ذخیره
# Used in Firefox for Android as a tooltip for the download button (“download” is a verb).
pdfjs-download-button =
- .title = دریافت
+ .title = دانلود
# Used in Firefox for Android as a label for the download button (“download” is a verb).
# Length of the translation matters since we are in a mobile context, with limited screen estate.
-pdfjs-download-button-label = دریافت
+pdfjs-download-button-label = دانلود
pdfjs-bookmark-button =
- .title = صفحه فعلی (مشاهده نشانی اینترنتی از صفحه فعلی)
-pdfjs-bookmark-button-label = صفحه فعلی
+ .title = صفحهٔ فعلی (مشاهدهٔ نشانی وب صفحهٔ فعلی)
+pdfjs-bookmark-button-label = صفحهٔ فعلی
## Secondary toolbar and context menu
@@ -58,43 +58,52 @@ pdfjs-tools-button =
.title = ابزارها
pdfjs-tools-button-label = ابزارها
pdfjs-first-page-button =
- .title = برو به اولین صفحه
-pdfjs-first-page-button-label = برو به اولین صفحه
+ .title = رفتن به صفحهٔ اول
+pdfjs-first-page-button-label = رفتن به صفحهٔ اول
pdfjs-last-page-button =
- .title = برو به آخرین صفحه
-pdfjs-last-page-button-label = برو به آخرین صفحه
+ .title = رفتن به صفحهٔ آخر
+pdfjs-last-page-button-label = رفتن به صفحهٔ آخر
pdfjs-page-rotate-cw-button =
- .title = چرخش ساعتگرد
-pdfjs-page-rotate-cw-button-label = چرخش ساعتگرد
+ .title = چرخش ساعتگرد
+pdfjs-page-rotate-cw-button-label = چرخش ساعتگرد
pdfjs-page-rotate-ccw-button =
- .title = چرخش پاد ساعتگرد
-pdfjs-page-rotate-ccw-button-label = چرخش پاد ساعتگرد
+ .title = چرخش پادساعتگرد
+pdfjs-page-rotate-ccw-button-label = چرخش پادساعتگرد
pdfjs-cursor-text-select-tool-button =
- .title = فعال کردن ابزارِ انتخابِ متن
-pdfjs-cursor-text-select-tool-button-label = ابزارِ انتخابِ متن
+ .title = فعالسازی ابزار انتخاب متن
+pdfjs-cursor-text-select-tool-button-label = ابزار انتخاب متن
pdfjs-cursor-hand-tool-button =
- .title = فعال کردن ابزارِ دست
+ .title = فعالسازی ابزار دست
pdfjs-cursor-hand-tool-button-label = ابزار دست
pdfjs-scroll-page-button =
- .title = استفاده از پیمایش صفحه
-pdfjs-scroll-page-button-label = پیمایش صفحه
+ .title = استفاده از پیمایش صفحهای
+pdfjs-scroll-page-button-label = پیمایش صفحهای
pdfjs-scroll-vertical-button =
.title = استفاده از پیمایش عمودی
pdfjs-scroll-vertical-button-label = پیمایش عمودی
pdfjs-scroll-horizontal-button =
.title = استفاده از پیمایش افقی
pdfjs-scroll-horizontal-button-label = پیمایش افقی
+pdfjs-scroll-wrapped-button =
+ .title = استفاده از پیمایش پیوسته (Wrapped)
+pdfjs-scroll-wrapped-button-label = پیمایش پیوسته
pdfjs-spread-none-button =
- .title = صفحات پیوسته را یکی نکنید
-pdfjs-spread-none-button-label = بدون صفحات پیوسته
+ .title = بدون صفحات روبهرو
+pdfjs-spread-none-button-label = تکصفحهای
+pdfjs-spread-odd-button =
+ .title = نمایش دوصفحهای با شروع از صفحات فرد
+pdfjs-spread-odd-button-label = صفحات فرد روبهرو
+pdfjs-spread-even-button =
+ .title = نمایش دوصفحهای با شروع از صفحات زوج
+pdfjs-spread-even-button-label = صفحات زوج روبهرو
## Document properties dialog
pdfjs-document-properties-button =
- .title = خصوصیات سند...
-pdfjs-document-properties-button-label = خصوصیات سند...
-pdfjs-document-properties-file-name = نام پرونده:
-pdfjs-document-properties-file-size = حجم پرونده:
+ .title = ویژگیهای سند…
+pdfjs-document-properties-button-label = ویژگیهای سند…
+pdfjs-document-properties-file-name = نام فایل:
+pdfjs-document-properties-file-size = حجم فایل:
# Variables:
# $kb (Number) - the PDF file size in kilobytes
# $b (Number) - the PDF file size in bytes
@@ -112,17 +121,19 @@ pdfjs-document-properties-modification-date = تاریخ ویرایش:
# Variables:
# $dateObj (Date) - the creation/modification date and time of the PDF file
pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
-pdfjs-document-properties-creator = ایجاد کننده:
-pdfjs-document-properties-producer = ایجاد کننده PDF:
-pdfjs-document-properties-version = نسخه PDF:
-pdfjs-document-properties-page-count = تعداد صفحات:
-pdfjs-document-properties-page-size = اندازه صفحه:
+pdfjs-document-properties-creator = سازنده:
+pdfjs-document-properties-producer = تولیدکنندهٔ PDF:
+pdfjs-document-properties-version = نسخهٔ PDF:
+pdfjs-document-properties-page-count = تعداد صفحهها:
+pdfjs-document-properties-page-size = اندازهٔ صفحه:
pdfjs-document-properties-page-size-unit-inches = اینچ
pdfjs-document-properties-page-size-unit-millimeters = میلیمتر
+pdfjs-document-properties-page-size-orientation-portrait = عمودی
+pdfjs-document-properties-page-size-orientation-landscape = افقی
pdfjs-document-properties-page-size-name-a-three = A3
pdfjs-document-properties-page-size-name-a-four = A4
-pdfjs-document-properties-page-size-name-letter = نامه
-pdfjs-document-properties-page-size-name-legal = حقوقی
+pdfjs-document-properties-page-size-name-letter = Letter
+pdfjs-document-properties-page-size-name-legal = Legal
## Variables:
## $width (Number) - the width of the (current) page
@@ -132,81 +143,117 @@ pdfjs-document-properties-page-size-name-legal = حقوقی
## $orientation (String) - the orientation of the (current) page
pdfjs-document-properties-page-size-dimension-string = { $width } × { $height } { $unit } ({ $orientation })
-pdfjs-document-properties-page-size-dimension-name-string = { $width } × { $height } { $unit } ({ $name }, { $orientation })
+pdfjs-document-properties-page-size-dimension-name-string = { $width } × { $height } { $unit } ({ $name }، { $orientation })
##
+# The linearization status of the document; usually called "Fast Web View" in
+# English locales of Adobe software.
+pdfjs-document-properties-linearized = نمای وب سریع (Fast Web View):
pdfjs-document-properties-linearized-yes = بله
pdfjs-document-properties-linearized-no = خیر
pdfjs-document-properties-close-button = بستن
+pdfjs-digital-signature-properties-view-certificate = مشاهدهٔ گواهی
+# Shown beneath an invalid signature card to explain why verification
+# failed. The text comes from NSS (e.g. "Signature integrity has been
+# compromised", "PKCS#7 signature could not be parsed") and is not
+# itself localized — it is the underlying error message produced by
+# the verification backend.
+# Variables:
+# $reason (String) - error message describing why the signature
+# could not be verified.
+pdfjs-digital-signature-properties-reason = دلیل: { $reason }
+# Variables:
+# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
+pdfjs-digital-signature-properties-timestamp = برچسب زمانی: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
+# Variables:
+# $count (Number) - number of nested sub-signatures (one per earlier
+# incremental revision of the document).
+pdfjs-digital-signature-properties-sub-signatures =
+ { $count ->
+ [one] زیرامضا ({ $count })
+ *[other] زیرامضاها ({ $count })
+ }
## Print
-pdfjs-print-progress-message = آماده سازی مدارک برای چاپ کردن…
+pdfjs-print-progress-message = در حال آمادهسازی سند برای چاپ…
# Variables:
# $progress (Number) - percent value
-pdfjs-print-progress-percent = { $progress }%
-pdfjs-print-progress-close-button = لغو
+pdfjs-print-progress-percent = { $progress }٪
+pdfjs-print-progress-close-button = انصراف
pdfjs-printing-not-supported = هشدار: قابلیت چاپ بهطور کامل در این مرورگر پشتیبانی نمیشود.
-pdfjs-printing-not-ready = اخطار: پرونده PDF بطور کامل بارگیری نشده و امکان چاپ وجود ندارد.
+pdfjs-printing-not-ready = هشدار: فایل PDF برای چاپ بهطور کامل بارگیری نشده است.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = باز و بسته کردن نوار کناری
-pdfjs-toggle-sidebar-button-label = تغییرحالت نوارکناری
-pdfjs-document-outline-button =
- .title = نمایش رئوس مطالب مدارک(برای بازشدن/جمع شدن همه موارد دوبار کلیک کنید)
-pdfjs-document-outline-button-label = طرح نوشتار
-pdfjs-attachments-button =
- .title = نمایش پیوستها
-pdfjs-attachments-button-label = پیوستها
-pdfjs-layers-button-label = لایهها
-pdfjs-thumbs-button =
- .title = نمایش تصاویر بندانگشتی
-pdfjs-thumbs-button-label = تصاویر بندانگشتی
+pdfjs-current-outline-item-button =
+ .title = پیدا کردن مورد فعلی در طرح کلی
+pdfjs-current-outline-item-button-label = مورد فعلی در طرح کلی
pdfjs-findbar-button =
- .title = جستجو در سند
+ .title = پیدا کردن در سند
pdfjs-findbar-button-label = پیدا کردن
+pdfjs-additional-layers = لایههای اضافی
## Thumbnails panel item (tooltip and alt text for images)
# Variables:
# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = صفحه { $page }
+pdfjs-thumb-page-canvas =
+ .aria-label = تصویر بندانگشتی صفحهٔ { $page }
+# Variables:
+# $page (Number) - the page number
+pdfjs-thumb-page-checkbox1 =
+ .title = انتخاب صفحهٔ { $page }
# Variables:
# $page (Number) - the page number
-pdfjs-thumb-page-canvas =
- .aria-label = تصویر بند انگشتی صفحه { $page }
+# $total (Number) - the number of pages
+pdfjs-thumb-page-title1 =
+ .title = صفحهٔ { $page } از { $total }
## Find panel button title and messages
pdfjs-find-input =
- .title = پیدا کردن
.placeholder = پیدا کردن در سند…
+ .title = پیدا کردن
pdfjs-find-previous-button =
- .title = پیدا کردن رخداد قبلی عبارت
+ .title = پیدا کردن مورد قبلی عبارت
pdfjs-find-previous-button-label = قبلی
pdfjs-find-next-button =
- .title = پیدا کردن رخداد بعدی عبارت
+ .title = پیدا کردن مورد بعدی عبارت
pdfjs-find-next-button-label = بعدی
-pdfjs-find-highlight-checkbox = برجسته و هایلایت کردن همه موارد
-pdfjs-find-match-case-checkbox-label = تطبیق کوچکی و بزرگی حروف
-pdfjs-find-entire-word-checkbox-label = تمام کلمهها
-pdfjs-find-reached-top = به بالای صفحه رسیدیم، از پایین ادامه میدهیم
-pdfjs-find-reached-bottom = به آخر صفحه رسیدیم، از بالا ادامه میدهیم
+pdfjs-find-highlight-checkbox = برجستهسازی همه
+pdfjs-find-match-case-checkbox-label = مطابقت بزرگی و کوچکی حروف
+pdfjs-find-match-diacritics-checkbox-label = مطابقت اعراب و نشانهها
+pdfjs-find-entire-word-checkbox-label = کل کلمات
+pdfjs-find-reached-top = به بالای سند رسیدیم، ادامه از پایین
+pdfjs-find-reached-bottom = به پایان سند رسیدیم، ادامه از بالا
+# Variables:
+# $current (Number) - the index of the currently active find result
+# $total (Number) - the total number of matches in the document
+pdfjs-find-match-count =
+ { $total ->
+ [one] { $current } از { $total } مورد منطبق
+ *[other] { $current } از { $total } مورد منطبق
+ }
+# Variables:
+# $limit (Number) - the maximum number of matches
+pdfjs-find-match-count-limit =
+ { $limit ->
+ [one] بیش از { $limit } مورد منطبق
+ *[other] بیش از { $limit } مورد منطبق
+ }
pdfjs-find-not-found = عبارت پیدا نشد
## Predefined zoom values
pdfjs-page-scale-width = عرض صفحه
-pdfjs-page-scale-fit = اندازه کردن صفحه
-pdfjs-page-scale-auto = بزرگنمایی خودکار
-pdfjs-page-scale-actual = اندازه واقعی
+pdfjs-page-scale-fit = متناسب با صفحه
+pdfjs-page-scale-auto = بزرگنمایی خودکار
+pdfjs-page-scale-actual = اندازهٔ واقعی
# Variables:
# $scale (Number) - percent value for page scale
-pdfjs-page-scale-percent = { $scale }%
+pdfjs-page-scale-percent = { $scale }٪
## PDF page
@@ -217,11 +264,11 @@ pdfjs-page-landmark =
## Loading indicator messages
-pdfjs-loading-error = هنگام بارگیری پرونده PDF خطایی رخ داد.
-pdfjs-invalid-file-error = پرونده PDF نامعتبر یامعیوب میباشد.
-pdfjs-missing-file-error = پرونده PDF یافت نشد.
-pdfjs-unexpected-response-error = پاسخ پیش بینی نشده سرور
-pdfjs-rendering-error = هنگام بارگیری صفحه خطایی رخ داد.
+pdfjs-loading-error = هنگام بارگیری فایل PDF خطایی رخ داد.
+pdfjs-invalid-file-error = فایل PDF نامعتبر یا خراب است.
+pdfjs-missing-file-error = فایل PDF پیدا نشد.
+pdfjs-unexpected-response-error = پاسخ غیرمنتظره از سرور.
+pdfjs-rendering-error = هنگام رندر کردن صفحه خطایی رخ داد.
## Annotations
@@ -231,37 +278,81 @@ pdfjs-rendering-error = هنگام بارگیری صفحه خطایی رخ دا
# (32000-1:2008 Table 169 – Annotation types).
# Some common types are e.g.: "Check", "Text", "Comment", "Note"
pdfjs-text-annotation-type =
- .alt = [{ $type } Annotation]
+ .alt = [حاشیهنویسی { $type }]
# Variables:
# $dateObj (Date) - the modification date and time of the annotation
pdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
## Password
-pdfjs-password-label = جهت باز کردن پرونده PDF گذرواژه را وارد نمائید.
-pdfjs-password-invalid = گذرواژه نامعتبر. لطفا مجددا تلاش کنید.
+pdfjs-password-label = برای باز کردن این فایل PDF گذرواژه را وارد کنید.
+pdfjs-password-invalid = گذرواژه نامعتبر است. لطفاً دوباره تلاش کنید.
pdfjs-password-ok-button = تأیید
-pdfjs-password-cancel-button = لغو
-pdfjs-web-fonts-disabled = فونت های تحت وب غیر فعال شده اند: امکان استفاده از نمایش دهنده داخلی PDF وجود ندارد.
+pdfjs-password-cancel-button = انصراف
+pdfjs-web-fonts-disabled = فونتهای وب غیرفعال هستند: امکان استفاده از فونتهای تعبیهشدهٔ PDF وجود ندارد.
## Editing
pdfjs-editor-free-text-button =
.title = متن
+pdfjs-editor-color-picker-free-text-input =
+ .title = تغییر رنگ متن
pdfjs-editor-free-text-button-label = متن
pdfjs-editor-ink-button =
- .title = کشیدن
-pdfjs-editor-ink-button-label = کشیدن
+ .title = رسم
+pdfjs-editor-color-picker-ink-input =
+ .title = تغییر رنگ رسم
+pdfjs-editor-ink-button-label = رسم
pdfjs-editor-stamp-button =
.title = افزودن یا ویرایش تصاویر
pdfjs-editor-stamp-button-label = افزودن یا ویرایش تصاویر
pdfjs-editor-highlight-button =
- .title = برجسته کردن
-pdfjs-editor-highlight-button-label = برجسته کردن
+ .title = برجستهسازی
+pdfjs-editor-highlight-button-label = برجستهسازی
pdfjs-highlight-floating-button1 =
- .title = برجسته کردن
- .aria-label = برجسته کردن
-pdfjs-highlight-floating-button-label = برجسته کردن
+ .aria-label = برجستهسازی
+ .title = برجستهسازی
+pdfjs-highlight-floating-button-label = برجستهسازی
+pdfjs-comment-floating-button =
+ .aria-label = نظر
+ .title = نظر
+pdfjs-comment-floating-button-label = نظر
+pdfjs-editor-comment-button =
+ .aria-label = نظر
+ .title = نظر
+pdfjs-editor-comment-button-label = نظر
+pdfjs-editor-signature-button =
+ .title = افزودن امضا
+pdfjs-editor-signature-button-label = افزودن امضا
+
+## Default editor aria labels
+
+# “Highlight” is a noun, the string is used on the editor for highlights.
+pdfjs-editor-highlight-editor =
+ .aria-label = ویرایشگر برجستهسازی
+# “Drawing” is a noun, the string is used on the editor for drawings.
+pdfjs-editor-ink-editor =
+ .aria-label = ویرایشگر رسم
+# Used when a signature editor is selected/hovered.
+# Variables:
+# $description (String) - a string describing/labeling the signature.
+pdfjs-editor-signature-editor1 =
+ .aria-description = ویرایشگر امضا: { $description }
+pdfjs-editor-stamp-editor =
+ .aria-label = ویرایشگر تصویر
+
+## Remove button for the various kind of editor.
+
+pdfjs-editor-remove-ink-button =
+ .title = حذف رسم
+pdfjs-editor-remove-freetext-button =
+ .title = حذف متن
+pdfjs-editor-remove-stamp-button =
+ .title = حذف تصویر
+pdfjs-editor-remove-highlight-button =
+ .title = حذف برجستهسازی
+pdfjs-editor-remove-signature-button =
+ .title = حذف امضا
##
@@ -269,26 +360,94 @@ pdfjs-highlight-floating-button-label = برجسته کردن
pdfjs-editor-free-text-color-input = رنگ
pdfjs-editor-free-text-size-input = اندازه
pdfjs-editor-ink-color-input = رنگ
+pdfjs-editor-ink-thickness-input = ضخامت
+pdfjs-editor-ink-opacity-input = شفافیت
pdfjs-editor-stamp-add-image-button =
.title = افزودن تصویر
pdfjs-editor-stamp-add-image-button-label = افزودن تصویر
+# This refers to the thickness of the line used for free highlighting (not bound to text)
+pdfjs-editor-free-highlight-thickness-input = ضخامت
+pdfjs-editor-free-highlight-thickness-title =
+ .title = تغییر ضخامت هنگام برجستهسازی مواردی غیر از متن
+pdfjs-editor-add-signature-container =
+ .aria-label = کنترلهای امضا و امضاهای ذخیرهشده
+pdfjs-editor-signature-add-signature-button =
+ .title = افزودن امضای جدید
+pdfjs-editor-signature-add-signature-button-label = افزودن امضای جدید
+# Used on the button to use an already saved signature.
+# Variables:
+# $description (String) - a string describing/labeling the signature.
+pdfjs-editor-add-saved-signature-button =
+ .title = امضای ذخیرهشده: { $description }
# .default-content is used as a placeholder in an empty text editor.
pdfjs-free-text2 =
.aria-label = ویرایشگر متن
- .default-content = شروع به نوشتن کنید…
+ .default-content = شروع به تایپ کنید…
+# Used to show how many comments are present in the pdf file.
+# Variables:
+# $count (Number) - the number of comments.
+pdfjs-editor-comments-sidebar-title =
+ { $count ->
+ [one] نظر
+ *[other] نظر
+ }
+pdfjs-editor-comments-sidebar-close-button =
+ .aria-label = بستن نوار کناری
+ .title = بستن نوار کناری
+pdfjs-editor-comments-sidebar-close-button-label = بستن نوار کناری
+# Instructional copy to add a comment by selecting text or an annotations.
+pdfjs-editor-comments-sidebar-no-comments1 = نکتهٔ مهمی دیدید؟ آن را برجسته کرده و یک نظر ثبت کنید.
+pdfjs-editor-comments-sidebar-no-comments-link = بیشتر بدانید
## Alt-text dialog
+pdfjs-editor-alt-text-button-label = متن جایگزین
+pdfjs-editor-alt-text-edit-button =
+ .aria-label = ویرایش متن جایگزین
+pdfjs-editor-alt-text-dialog-label = یک گزینه را انتخاب کنید
+pdfjs-editor-alt-text-dialog-description = متن جایگزین (Alt text) زمانی که افراد قادر به دیدن تصویر نیستند یا تصویر بارگیری نمیشود، کمککننده است.
pdfjs-editor-alt-text-add-description-label = افزودن توضیحات
+pdfjs-editor-alt-text-add-description-description = نوشتن ۱ تا ۲ جمله که موضوع، پسزمینه یا کارها را شرح دهد پیشنهاد میشود.
+pdfjs-editor-alt-text-mark-decorative-label = علامتگذاری به عنوان تزئینی
+pdfjs-editor-alt-text-mark-decorative-description = برای تصاویر تزئینی مانند کادرها یا واترمارکها استفاده میشود.
pdfjs-editor-alt-text-cancel-button = انصراف
pdfjs-editor-alt-text-save-button = ذخیره
+pdfjs-editor-alt-text-decorative-tooltip = به عنوان تزئینی علامتگذاری شد
+# .placeholder: This is a placeholder for the alt text input area
+pdfjs-editor-alt-text-textarea =
+ .placeholder = برای مثال: «مرد جوانی پشت میز نشسته و در حال غذا خوردن است»
+# Alternative text (alt text) helps when people can't see the image.
+pdfjs-editor-alt-text-button =
+ .aria-label = متن جایگزین
+
+## Editor resizers
+## This is used in an aria label to help to understand the role of the resizer.
+
+pdfjs-editor-resizer-top-left =
+ .aria-label = گوشهٔ بالا سمت چپ — تغییر اندازه
+pdfjs-editor-resizer-top-middle =
+ .aria-label = بالا وسط — تغییر اندازه
+pdfjs-editor-resizer-top-right =
+ .aria-label = گوشهٔ بالا سمت راست — تغییر اندازه
+pdfjs-editor-resizer-middle-right =
+ .aria-label = راست وسط — تغییر اندازه
+pdfjs-editor-resizer-bottom-right =
+ .aria-label = گوشهٔ پایین سمت راست — تغییر اندازه
+pdfjs-editor-resizer-bottom-middle =
+ .aria-label = پایین وسط — تغییر اندازه
+pdfjs-editor-resizer-bottom-left =
+ .aria-label = گوشهٔ پایین سمت چپ — تغییر اندازه
+pdfjs-editor-resizer-middle-left =
+ .aria-label = چپ وسط — تغییر اندازه
## Color picker
+# This means "Color used to highlight text"
+pdfjs-editor-highlight-colorpicker-label = رنگ برجستهسازی
pdfjs-editor-colorpicker-button =
.title = تغییر رنگ
pdfjs-editor-colorpicker-dropdown =
- .aria-label = انتخاب رنگ
+ .aria-label = انتخابهای رنگ
pdfjs-editor-colorpicker-yellow =
.title = زرد
pdfjs-editor-colorpicker-green =
@@ -310,13 +469,340 @@ pdfjs-editor-highlight-show-all-button =
## New alt-text dialog
## Group note for entire feature: Alternative text (alt text) helps when people can't see the image. This feature includes a tool to create alt text automatically using an AI model that works locally on the user's device to preserve privacy.
+# Modal header positioned above a text box where users can edit the alt text.
+pdfjs-editor-new-alt-text-dialog-edit-label = ویرایش متن جایگزین (توضیحات تصویر)
+# Modal header positioned above a text box where users can add the alt text.
+pdfjs-editor-new-alt-text-dialog-add-label = افزودن متن جایگزین (توضیحات تصویر)
+pdfjs-editor-new-alt-text-textarea =
+ .placeholder = توضیحات خود را اینجا بنویسید…
+# This text refers to the alt text box above this description. It offers a definition of alt text.
+pdfjs-editor-new-alt-text-description = توضیح کوتاه برای افرادی که نمیتوانند تصویر را ببینند یا در صورت بارگیری نشدن تصویر.
+# This is a required legal disclaimer that refers to the automatically created text inside the alt text box above this text. It disappears if the text is edited by a human.
+pdfjs-editor-new-alt-text-disclaimer1 = این متن جایگزین بهصورت خودکار ایجاد شده است و ممکن است دقیق نباشد.
pdfjs-editor-new-alt-text-disclaimer-learn-more-url = بیشتر بدانید
-pdfjs-editor-new-alt-text-not-now-button = اکنون نه
+pdfjs-editor-new-alt-text-create-automatically-button-label = ایجاد خودکار متن جایگزین
+pdfjs-editor-new-alt-text-not-now-button = فعلاً نه
+pdfjs-editor-new-alt-text-error-title = امکان ایجاد خودکار متن جایگزین وجود نداشت
+pdfjs-editor-new-alt-text-error-description = لطفاً متن جایگزین را خودتان بنویسید یا بعداً دوباره تلاش کنید.
pdfjs-editor-new-alt-text-error-close-button = بستن
+# Variables:
+# $totalSize (Number) - the total size (in MB) of the AI model.
+# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
+pdfjs-editor-new-alt-text-ai-model-downloading-progress = در حال دانلود مدل هوش مصنوعیِ متن جایگزین ({ $downloadedSize } از { $totalSize } مگابایت)
+ .aria-valuetext = در حال دانلود مدل هوش مصنوعیِ متن جایگزین ({ $downloadedSize } از { $totalSize } مگابایت)
+# This is a button that users can click to edit the alt text they have already added.
+pdfjs-editor-new-alt-text-added-button =
+ .aria-label = متن جایگزین اضافه شد
+pdfjs-editor-new-alt-text-added-button-label = متن جایگزین اضافه شد
+# This is a button that users can click to open the alt text editor and add alt text when it is not present.
+pdfjs-editor-new-alt-text-missing-button =
+ .aria-label = فاقد متن جایگزین
+pdfjs-editor-new-alt-text-missing-button-label = فاقد متن جایگزین
+# This is a button that opens up the alt text modal where users should review the alt text that was automatically generated.
+pdfjs-editor-new-alt-text-to-review-button =
+ .aria-label = بازبینی متن جایگزین
+pdfjs-editor-new-alt-text-to-review-button-label = بازبینی متن جایگزین
+# "Created automatically" is a prefix that will be added to the beginning of any alt text that has been automatically generated. After the colon, the user will see/hear the actual alt text description. If the alt text has been edited by a human, this prefix will not appear.
+# Variables:
+# $generatedAltText (String) - the generated alt-text.
+pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer = ایجادشده بهصورت خودکار: { $generatedAltText }
## Image alt-text settings
-pdfjs-editor-alt-text-settings-delete-model-button = حذف
-pdfjs-editor-alt-text-settings-download-model-button = دریافت
-pdfjs-editor-alt-text-settings-downloading-model-button = در حال دریافت…
+pdfjs-image-alt-text-settings-button =
+ .title = تنظیمات متن جایگزین تصویر
+pdfjs-image-alt-text-settings-button-label = تنظیمات متن جایگزین تصویر
+pdfjs-editor-alt-text-settings-dialog-label = تنظیمات متن جایگزین تصویر
+pdfjs-editor-alt-text-settings-automatic-title = متن جایگزین خودکار
+pdfjs-editor-alt-text-settings-create-model-button-label = ایجاد خودکار متن جایگزین
+pdfjs-editor-alt-text-settings-create-model-description = پیشنهاد توضیحاتی برای کمک به افرادی که تصویر را نمیبینند یا هنگامی که تصویر بارگیری نمیشود.
+pdfjs-editor-alt-text-settings-editor-title = ویرایشگر متن جایگزین
+pdfjs-editor-alt-text-settings-show-dialog-button-label = نمایش ویرایشگر متن جایگزین بلافاصله پس از افزودن تصویر
+pdfjs-editor-alt-text-settings-show-dialog-description = به شما کمک میکند مطمئن شوید تمام تصاویر دارای متن جایگزین هستند.
pdfjs-editor-alt-text-settings-close-button = بستن
+
+## Accessibility labels (announced by screen readers) for objects added to the editor.
+
+pdfjs-editor-highlight-added-alert = برجستهسازی اضافه شد
+pdfjs-editor-freetext-added-alert = متن اضافه شد
+pdfjs-editor-ink-added-alert = رسم اضافه شد
+pdfjs-editor-stamp-added-alert = تصویر اضافه شد
+pdfjs-editor-signature-added-alert = امضا اضافه شد
+
+## "Annotations removed" bar
+
+pdfjs-editor-undo-bar-message-highlight = برجستهسازی حذف شد
+pdfjs-editor-undo-bar-message-freetext = متن حذف شد
+pdfjs-editor-undo-bar-message-ink = رسم حذف شد
+pdfjs-editor-undo-bar-message-stamp = تصویر حذف شد
+pdfjs-editor-undo-bar-message-signature = امضا حذف شد
+pdfjs-editor-undo-bar-message-comment = نظر حذف شد
+# Variables:
+# $count (Number) - the number of removed annotations.
+pdfjs-editor-undo-bar-message-multiple =
+ { $count ->
+ [one] { $count } حاشیهنویسی حذف شد
+ *[other] { $count } حاشیهنویسی حذف شد
+ }
+pdfjs-editor-undo-bar-undo-button =
+ .title = واگرد
+pdfjs-editor-undo-bar-undo-button-label = واگرد
+pdfjs-editor-undo-bar-close-button =
+ .title = بستن
+pdfjs-editor-undo-bar-close-button-label = بستن
+
+## Add a signature dialog
+
+pdfjs-editor-add-signature-dialog-label = این پنجره به کاربر امکان میدهد امضایی برای افزودن به سند PDF ایجاد کند. کاربر میتواند نام (که به عنوان متن جایگزین نیز استفاده میشود) را ویرایش کند و بهدلخواه امضا را برای استفادههای بعدی ذخیره نماید.
+pdfjs-editor-add-signature-dialog-title = افزودن امضا
+
+## Tab names
+
+# Type is a verb (you can type your name as signature)
+pdfjs-editor-add-signature-type-button = تایپ
+ .title = تایپ
+# Draw is a verb (you can draw your signature)
+pdfjs-editor-add-signature-draw-button = رسم
+ .title = رسم
+pdfjs-editor-add-signature-image-button = تصویر
+ .title = تصویر
+
+## Tab panels
+
+pdfjs-editor-add-signature-type-input =
+ .aria-label = امضای خود را تایپ کنید
+ .placeholder = امضای خود را تایپ کنید
+pdfjs-editor-add-signature-draw-placeholder = امضای خود را رسم کنید
+pdfjs-editor-add-signature-draw-thickness-range-label = ضخامت
+# Variables:
+# $thickness (Number) - the thickness (in pixels) of the line used to draw a signature.
+pdfjs-editor-add-signature-draw-thickness-range =
+ .title = ضخامت خط رسم: { $thickness }
+pdfjs-editor-add-signature-image-placeholder = یک فایل را برای آپلود به اینجا بکشید
+pdfjs-editor-add-signature-image-browse-link =
+ { PLATFORM() ->
+ [macos] یا فایلهای تصویری را انتخاب کنید
+ *[other] یا فایلهای تصویری را مرور کنید
+ }
+
+## Controls
+
+pdfjs-editor-add-signature-description-label = توضیحات (متن جایگزین)
+pdfjs-editor-add-signature-description-input =
+ .title = توضیحات (متن جایگزین)
+pdfjs-editor-add-signature-description-default-when-drawing = امضا
+pdfjs-editor-add-signature-clear-button-label = پاک کردن امضا
+pdfjs-editor-add-signature-clear-button =
+ .title = پاک کردن امضا
+pdfjs-editor-add-signature-save-checkbox = ذخیرهٔ امضا
+pdfjs-editor-add-signature-save-warning-message = به سقف ۵ امضای ذخیرهشده رسیدهاید. برای ذخیرهٔ بیشتر یکی را حذف کنید.
+pdfjs-editor-add-signature-image-upload-error-title = آپلود تصویر ناموفق بود
+pdfjs-editor-add-signature-image-upload-error-description = اتصال شبکهٔ خود را بررسی کرده یا تصویر دیگری را امتحان کنید.
+pdfjs-editor-add-signature-image-no-data-error-title = تبدیل این تصویر به امضا امکانپذیر نیست
+pdfjs-editor-add-signature-image-no-data-error-description = لطفاً آپلود تصویر دیگری را امتحان کنید.
+pdfjs-editor-add-signature-error-close-button = بستن
+
+## Dialog buttons
+
+pdfjs-editor-add-signature-cancel-button = انصراف
+pdfjs-editor-add-signature-add-button = افزودن
+pdfjs-editor-edit-signature-update-button = بهروزرسانی
+
+## Comment popup
+
+pdfjs-editor-edit-comment-popup-button-label = ویرایش نظر
+pdfjs-editor-edit-comment-popup-button =
+ .title = ویرایش نظر
+pdfjs-editor-delete-comment-popup-button-label = حذف نظر
+pdfjs-editor-delete-comment-popup-button =
+ .title = حذف نظر
+pdfjs-show-comment-button =
+ .title = نمایش نظر
+
+## Edit a comment dialog
+
+# An existing comment is edited
+pdfjs-editor-edit-comment-dialog-title-when-editing = ویرایش نظر
+pdfjs-editor-edit-comment-dialog-save-button-when-editing = بهروزرسانی
+# No existing comment
+pdfjs-editor-edit-comment-dialog-title-when-adding = افزودن نظر
+pdfjs-editor-edit-comment-dialog-save-button-when-adding = افزودن
+pdfjs-editor-edit-comment-dialog-text-input =
+ .placeholder = شروع به نوشتن کنید…
+pdfjs-editor-edit-comment-dialog-cancel-button = انصراف
+
+## Edit a comment button in the editor toolbar
+
+pdfjs-editor-add-comment-button =
+ .title = افزودن نظر
+
+## The view manager is a sidebar displaying different views:
+## - thumbnails;
+## - outline;
+## - attachments;
+## - layers.
+## The thumbnails view is used to edit the pdf: remove/insert pages, ...
+
+pdfjs-toggle-views-manager-notification-button =
+ .title = باز/بسته کردن نوار کناری (سند شامل بندانگشتیها/طرح کلی/پیوستها/لایهها است)
+pdfjs-toggle-views-manager-button1-label = مدیریت صفحهها
+pdfjs-views-manager-sidebar =
+ .aria-label = نوار کناری
+pdfjs-views-manager-sidebar-resizer =
+ .aria-label = تغییر اندازهٔ نوار کناری
+pdfjs-views-manager-view-selector-button =
+ .title = نماها
+pdfjs-views-manager-view-selector-button-label = نماها
+pdfjs-views-manager-pages-title = صفحهها
+pdfjs-views-manager-outlines-title1 = طرح کلی سند
+ .title = طرح کلی سند (دوبار کلیک برای باز/بسته کردن همهٔ موارد)
+pdfjs-views-manager-attachments-title = پیوستها
+pdfjs-views-manager-layers-title1 = لایهها
+ .title = لایهها (دوبار کلیک برای بازنشانی همهٔ لایهها به حالت پیشفرض)
+pdfjs-views-manager-pages-option-label = صفحهها
+pdfjs-views-manager-outlines-option-label = طرح کلی سند
+pdfjs-views-manager-attachments-option-label = پیوستها
+pdfjs-views-manager-layers-option-label = لایهها
+pdfjs-views-manager-add-file-button =
+ .title = افزودن فایل
+pdfjs-views-manager-add-file-button-label = افزودن فایل
+# Variables:
+# $count (Number) - the number of selected pages.
+pdfjs-views-manager-pages-status-action-label =
+ { $count ->
+ [one] { $count } صفحه انتخاب شد
+ *[other] { $count } صفحه انتخاب شد
+ }
+pdfjs-views-manager-pages-status-none-action-label = انتخاب صفحهها
+pdfjs-views-manager-pages-status-action-button-label = مدیریت
+pdfjs-views-manager-pages-status-copy-button-label = کپی
+pdfjs-views-manager-pages-status-cut-button-label = برش
+pdfjs-views-manager-pages-status-delete-button-label = حذف
+pdfjs-views-manager-pages-status-export-selected-button-label = برونبری انتخابشدهها…
+# Variables:
+# $count (Number) - the number of selected pages to be cut.
+pdfjs-views-manager-status-undo-cut-label =
+ { $count ->
+ [one] ۱ صفحه برش داده شد
+ *[other] { $count } صفحه برش داده شد
+ }
+# Variables:
+# $count (Number) - the number of selected pages to be copied.
+pdfjs-views-manager-pages-status-undo-copy-label =
+ { $count ->
+ [one] ۱ صفحه کپی شد
+ *[other] { $count } صفحه کپی شد
+ }
+# Variables:
+# $count (Number) - the number of selected pages to be deleted.
+pdfjs-views-manager-pages-status-undo-delete-label =
+ { $count ->
+ [one] ۱ صفحه حذف شد
+ *[other] { $count } صفحه حذف شد
+ }
+pdfjs-views-manager-pages-status-waiting-ready-label = در حال آمادهسازی فایل شما…
+pdfjs-views-manager-pages-status-waiting-uploading-label = در حال آپلود فایل…
+pdfjs-views-manager-status-warning-cut-label = برش انجام نشد. صفحه را تازه کنید و دوباره تلاش نمایید.
+pdfjs-views-manager-status-warning-copy-label = کپی انجام نشد. صفحه را تازه کنید و دوباره تلاش نمایید.
+pdfjs-views-manager-status-warning-delete-label = حذف انجام نشد. صفحه را تازه کنید و دوباره تلاش نمایید.
+pdfjs-views-manager-status-warning-save-label = ذخیره انجام نشد. صفحه را تازه کنید و دوباره تلاش نمایید.
+pdfjs-views-manager-status-undo-button-label = واگرد
+pdfjs-views-manager-status-done-button-label = انجام شد
+pdfjs-views-manager-status-close-button =
+ .title = بستن
+pdfjs-views-manager-status-close-button-label = بستن
+pdfjs-views-manager-paste-button-label = جایگذاری
+pdfjs-views-manager-paste-button-before =
+ .title = جایگذاری قبل از صفحهٔ اول
+# Variables:
+# $page (Number) - the page number after which the paste button is.
+pdfjs-views-manager-paste-button-after =
+ .title = جایگذاری پس از صفحهٔ { $page }
+# Badge used to promote a new feature in the UI, keep it as short as possible.
+# It's spelled uppercase for English, but it can be translated as usual.
+pdfjs-new-badge-content = جدید
+pdfjs-views-manager-waiting-for-file = در حال آپلود فایل…
+pdfjs-toggle-views-manager-button1 =
+ .title = مدیریت صفحهها
+
+## Digital signature properties (signature verification panel)
+
+pdfjs-digital-signature-properties-button =
+ .aria-label = ویژگیهای امضای دیجیتال
+ .title = ویژگیهای امضای دیجیتال
+pdfjs-digital-signature-properties-button-label = ویژگیهای امضای دیجیتال
+
+## Banner shown above the signature list summarising the overall
+## verification state of the document. Each variant is selected by the
+## viewer based on the worst per-signature status; one signature is
+## enough to lower the banner.
+##
+## Variables:
+## $count (Number) - number of signatures at the worst level.
+
+pdfjs-digital-signature-properties-banner-verified = سند با یک امضای دیجیتال معتبر امضا شده است
+pdfjs-digital-signature-properties-banner-unknown =
+ { $count ->
+ [one] سند امضا شده است اما { $count } امضای دیجیتال قابل تأیید نبود
+ *[other] سند امضا شده است اما { $count } امضای دیجیتال قابل تأیید نبود
+ }
+pdfjs-digital-signature-properties-banner-untrusted =
+ { $count ->
+ [one] سند با { $count } گواهی غیرقابلاعتماد امضا شده است
+ *[other] سند با { $count } گواهی غیرقابلاعتماد امضا شده است
+ }
+pdfjs-digital-signature-properties-banner-expired =
+ { $count ->
+ [one] سند با { $count } گواهی منقضیشده امضا شده است
+ *[other] سند با { $count } گواهی منقضیشده امضا شده است
+ }
+pdfjs-digital-signature-properties-banner-invalid =
+ { $count ->
+ [one] سند دارای { $count } امضای دیجیتال نامعتبر است
+ *[other] سند دارای { $count } امضای دیجیتال نامعتبر است
+ }
+pdfjs-digital-signature-properties-banner-revoked =
+ { $count ->
+ [one] سند با { $count } گواهی باطلشده امضا شده است
+ *[other] سند با { $count } گواهی باطلشده امضا شده است
+ }
+
+## Per-signature status row. Only three distinct strings are needed:
+## the signature crypto either verified (the cert chain may still be
+## untrusted/expired/revoked, but that's surfaced on the cert row
+## below), or it failed, or its sub-format isn't supported.
+
+pdfjs-digital-signature-properties-status-verified = وضعیت: امضا تأیید شد
+pdfjs-digital-signature-properties-status-invalid = وضعیت: امضا نامعتبر است
+pdfjs-digital-signature-properties-status-unknown = وضعیت: عدم امکان تأیید (پشتیبانینشده)
+
+## Per-signature certificate row. The variants with an issuer / date in
+## parentheses embed fully-localized context — no English fall-through.
+##
+## Variables:
+## $issuer (String) - issuer or subject common name from the cert.
+## $dateObj (Date) - notAfter date for the expired-with-date form.
+
+pdfjs-digital-signature-properties-certificate-trusted = گواهی: مورد اعتماد ({ $issuer })
+pdfjs-digital-signature-properties-certificate-unknown = گواهی: در دسترس نیست
+pdfjs-digital-signature-properties-certificate-untrusted = گواهی: غیرقابلاعتماد
+pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = گواهی: صادرکنندهٔ ناشناخته ({ $issuer })
+pdfjs-digital-signature-properties-certificate-untrusted-self-signed = گواهی: خود-امضا ({ $issuer })
+pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = گواهی: صادرکنندهٔ غیرقابلاعتماد ({ $issuer })
+pdfjs-digital-signature-properties-certificate-expired = گواهی: منقضیشده
+pdfjs-digital-signature-properties-certificate-expired-with-date = گواهی: منقضیشده ({ DATETIME($dateObj, dateStyle: "medium") })
+pdfjs-digital-signature-properties-certificate-revoked = گواهی: باطلشده
+
+## Main menu for adding/removing signatures
+
+pdfjs-editor-delete-signature-button1 =
+ .title = حذف امضای ذخیرهشده
+pdfjs-editor-delete-signature-button-label1 = حذف امضای ذخیرهشده
+
+## Editor toolbar
+
+pdfjs-editor-add-signature-edit-button-label = ویرایش توضیحات
+
+## Edit signature description dialog
+
+pdfjs-editor-edit-signature-dialog-title = ویرایش توضیحات
diff --git a/packages/pdfjs-viewer/viewer/locale/ff/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ff/viewer.ftl
index e7cc1d705bf..3a1a0f1a628 100644
--- a/packages/pdfjs-viewer/viewer/locale/ff/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ff/viewer.ftl
@@ -140,28 +140,12 @@ pdfjs-printing-not-ready = Reentino: PDF oo loowaaki haa timmi ngam winnditagol.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Toggilo Palal Sawndo
-pdfjs-toggle-sidebar-button-label = Toggilo Palal Sawndo
-pdfjs-document-outline-button =
- .title = Hollu Ƴiyal Fiilannde (dobdobo ngam wertude/taggude teme fof)
-pdfjs-document-outline-button-label = Toɓɓe Fiilannde
-pdfjs-attachments-button =
- .title = Hollu Ɗisanɗe
-pdfjs-attachments-button-label = Ɗisanɗe
-pdfjs-thumbs-button =
- .title = Hollu Dooɓe
-pdfjs-thumbs-button-label = Dooɓe
pdfjs-findbar-button =
.title = Yiylo e fiilannde
pdfjs-findbar-button-label = Yiytu
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Hello { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -170,8 +154,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Yiytu
.placeholder = Yiylo nder dokimaa
+ .title = Yiytu
pdfjs-find-previous-button =
.title = Yiylo cilol ɓennugol konngol ngol
pdfjs-find-previous-button-label = Ɓennuɗo
diff --git a/packages/pdfjs-viewer/viewer/locale/fi/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/fi/viewer.ftl
index 73c120efdf8..e145395e328 100644
--- a/packages/pdfjs-viewer/viewer/locale/fi/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/fi/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Varoitus: PDF-tiedosto ei ole vielä latautunut kokon
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Näytä/piilota sivupaneeli
-pdfjs-toggle-sidebar-notification-button =
- .title = Näytä/piilota sivupaneeli (dokumentissa on sisällys/liitteitä/tasoja)
-pdfjs-toggle-sidebar-button-label = Näytä/piilota sivupaneeli
-pdfjs-document-outline-button =
- .title = Näytä dokumentin sisällys (laajenna tai kutista kohdat kaksoisnapsauttamalla)
-pdfjs-document-outline-button-label = Dokumentin sisällys
-pdfjs-attachments-button =
- .title = Näytä liitteet
-pdfjs-attachments-button-label = Liitteet
-pdfjs-layers-button =
- .title = Näytä tasot (kaksoisnapsauta palauttaaksesi kaikki tasot oletustilaan)
-pdfjs-layers-button-label = Tasot
-pdfjs-thumbs-button =
- .title = Näytä pienoiskuvat
-pdfjs-thumbs-button-label = Pienoiskuvat
pdfjs-current-outline-item-button =
.title = Etsi nykyinen sisällyksen kohta
pdfjs-current-outline-item-button-label = Nykyinen sisällyksen kohta
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Lisätasot
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Sivu { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Etsi
.placeholder = Etsi dokumentista…
+ .title = Etsi
pdfjs-find-previous-button =
.title = Etsi hakusanan edellinen osuma
pdfjs-find-previous-button-label = Edellinen
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Korostus
pdfjs-editor-highlight-button-label = Korostus
pdfjs-highlight-floating-button1 =
- .title = Korostus
.aria-label = Korostus
+ .title = Korostus
pdfjs-highlight-floating-button-label = Korostus
pdfjs-comment-floating-button =
- .title = Kommentti
.aria-label = Kommentti
+ .title = Kommentti
pdfjs-comment-floating-button-label = Kommentti
pdfjs-editor-comment-button =
- .title = Kommentti
.aria-label = Kommentti
+ .title = Kommentti
pdfjs-editor-comment-button-label = Kommentti
pdfjs-editor-signature-button =
.title = Lisää allekirjoitus
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Kommenttia
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Sulje sivupaneeli
.aria-label = Sulje sivupaneeli
+ .title = Sulje sivupaneeli
pdfjs-editor-comments-sidebar-close-button-label = Sulje sivupaneeli
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Näetkö jotain huomionarvoista? Korosta se ja jätä kommentti.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Kuvan vaihtoehtoisen tekstin asetu
pdfjs-editor-alt-text-settings-automatic-title = Automaattinen vaihtoehtoinen teksti
pdfjs-editor-alt-text-settings-create-model-button-label = Luo vaihtoehtoinen teksti automaattisesti
pdfjs-editor-alt-text-settings-create-model-description = Ehdottaa kuvauksia, jotka auttavat ihmisiä, jotka eivät näe kuvaa tai kun kuva ei lataudu.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Vaihtoehtoisen tekstin tekoälymalli ({ $totalSize } Mt)
-pdfjs-editor-alt-text-settings-ai-model-description = Toimii paikallisesti laitteellasi, joten tietosi pysyvät yksityisinä. Vaadittu automaattiselle vaihtoehtoiselle tekstille.
-pdfjs-editor-alt-text-settings-delete-model-button = Poista
-pdfjs-editor-alt-text-settings-download-model-button = Lataa
-pdfjs-editor-alt-text-settings-downloading-model-button = Ladataan…
pdfjs-editor-alt-text-settings-editor-title = Vaihtoehtoisen tekstin muokkain
pdfjs-editor-alt-text-settings-show-dialog-button-label = Näytä vaihtoehtoisen tekstin muokkain heti, kun lisäät kuvan
pdfjs-editor-alt-text-settings-show-dialog-description = Auttaa varmistamaan, että kaikissa kuvissasi on vaihtoehtoinen teksti.
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Digitaalisen allekirjoituksen ominaisuudet
.aria-label = Digitaalisen allekirjoituksen ominaisuudet
+ .title = Digitaalisen allekirjoituksen ominaisuudet
pdfjs-digital-signature-properties-button-label = Digitaalisen allekirjoituksen ominaisuudet
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/fr/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/fr/viewer.ftl
index 5c77dd8301b..f1eb94d0c7d 100644
--- a/packages/pdfjs-viewer/viewer/locale/fr/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/fr/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Attention : le PDF n’est pas entièrement chargé
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Afficher/Masquer le panneau latéral
-pdfjs-toggle-sidebar-notification-button =
- .title = Afficher/Masquer le panneau latéral (le document contient des signets/pièces jointes/calques)
-pdfjs-toggle-sidebar-button-label = Afficher/Masquer le panneau latéral
-pdfjs-document-outline-button =
- .title = Afficher les signets du document (double-cliquer pour développer/réduire tous les éléments)
-pdfjs-document-outline-button-label = Signets du document
-pdfjs-attachments-button =
- .title = Afficher les pièces jointes
-pdfjs-attachments-button-label = Pièces jointes
-pdfjs-layers-button =
- .title = Afficher les calques (double-cliquer pour réinitialiser tous les calques à l’état par défaut)
-pdfjs-layers-button-label = Calques
-pdfjs-thumbs-button =
- .title = Afficher les vignettes
-pdfjs-thumbs-button-label = Vignettes
pdfjs-current-outline-item-button =
.title = Trouver l’élément de plan actuel
pdfjs-current-outline-item-button-label = Élément de plan actuel
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Calques additionnels
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Page { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Rechercher
.placeholder = Rechercher dans le document…
+ .title = Rechercher
pdfjs-find-previous-button =
.title = Trouver l’occurrence précédente de l’expression
pdfjs-find-previous-button-label = Précédent
@@ -257,7 +236,7 @@ pdfjs-find-match-count = Occurrence { $current } sur { $total }
# $limit (Number) - the maximum number of matches
pdfjs-find-match-count-limit =
{ $limit ->
- [one] Plus d’{ $limit } occurrence
+ [1] Plus d’une occurrence
*[other] Plus de { $limit } occurrences
}
pdfjs-find-not-found = Expression non trouvée
@@ -327,16 +306,16 @@ pdfjs-editor-highlight-button =
.title = Surligner
pdfjs-editor-highlight-button-label = Surligner
pdfjs-highlight-floating-button1 =
- .title = Surligner
.aria-label = Surligner
+ .title = Surligner
pdfjs-highlight-floating-button-label = Surligner
pdfjs-comment-floating-button =
- .title = Commenter
.aria-label = Commenter
+ .title = Commenter
pdfjs-comment-floating-button-label = Commenter
pdfjs-editor-comment-button =
- .title = Commenter
.aria-label = Commenter
+ .title = Commenter
pdfjs-editor-comment-button-label = Commenter
pdfjs-editor-signature-button =
.title = Ajouter une signature
@@ -409,8 +388,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Commentaires
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Fermer le panneau latéral
.aria-label = Fermer le panneau latéral
+ .title = Fermer le panneau latéral
pdfjs-editor-comments-sidebar-close-button-label = Fermer le panneau latéral
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Vous remarquez quelque chose d’intéressant ? Mettez-le en surbrillance et ajoutez un commentaire.
@@ -533,13 +512,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Paramètres du texte alternatif de
pdfjs-editor-alt-text-settings-automatic-title = Texte alternatif automatique
pdfjs-editor-alt-text-settings-create-model-button-label = Créer automatiquement le texte alternatif
pdfjs-editor-alt-text-settings-create-model-description = Suggère des descriptions pour aider les personnes qui ne peuvent pas voir l’image ou lorsque l’image ne se charge pas.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Modèle d’IA de texte alternatif ({ $totalSize } Mo)
-pdfjs-editor-alt-text-settings-ai-model-description = Fonctionne localement sur votre appareil, vos données restent privées. Obligatoire pour la génération automatique de texte alternatif.
-pdfjs-editor-alt-text-settings-delete-model-button = Supprimer
-pdfjs-editor-alt-text-settings-download-model-button = Télécharger
-pdfjs-editor-alt-text-settings-downloading-model-button = Téléchargement…
pdfjs-editor-alt-text-settings-editor-title = Éditeur de texte alternatif
pdfjs-editor-alt-text-settings-show-dialog-button-label = Afficher l’éditeur de texte alternatif immédiatement lors de l’ajout d’une image
pdfjs-editor-alt-text-settings-show-dialog-description = Vous aide à vous assurer que toutes vos images ont du texte alternatif.
@@ -752,8 +724,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Propriétés de la signature numérique
.aria-label = Propriétés de la signature numérique
+ .title = Propriétés de la signature numérique
pdfjs-digital-signature-properties-button-label = Propriétés de la signature numérique
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/fur/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/fur/viewer.ftl
index ed942244bce..fac31e89d89 100644
--- a/packages/pdfjs-viewer/viewer/locale/fur/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/fur/viewer.ftl
@@ -166,23 +166,6 @@ pdfjs-printing-not-ready = Atenzion: il PDF nol è stât cjamât dal dut pe stam
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Ative/Disative sbare laterâl
-pdfjs-toggle-sidebar-notification-button =
- .title = Ative/Disative sbare laterâl (il document al conten struture/zontis/strâts)
-pdfjs-toggle-sidebar-button-label = Ative/Disative sbare laterâl
-pdfjs-document-outline-button =
- .title = Mostre la struture dal document (dopli clic par slargjâ/strenzi ducj i elements)
-pdfjs-document-outline-button-label = Struture dal document
-pdfjs-attachments-button =
- .title = Mostre lis zontis
-pdfjs-attachments-button-label = Zontis
-pdfjs-layers-button =
- .title = Mostre i strâts (dopli clic par ristabilî ducj i strâts al stât predefinît)
-pdfjs-layers-button-label = Strâts
-pdfjs-thumbs-button =
- .title = Mostre miniaturis
-pdfjs-thumbs-button-label = Miniaturis
pdfjs-current-outline-item-button =
.title = Cjate l'element de struture atuâl
pdfjs-current-outline-item-button-label = Element de struture atuâl
@@ -193,10 +176,6 @@ pdfjs-additional-layers = Strâts adizionâi
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Pagjine { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -205,8 +184,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Cjate
.placeholder = Cjate tal document…
+ .title = Cjate
pdfjs-find-previous-button =
.title = Cjate il câs precedent dal test
pdfjs-find-previous-button-label = Precedent
@@ -301,16 +280,16 @@ pdfjs-editor-highlight-button =
.title = Evidenzie
pdfjs-editor-highlight-button-label = Evidenzie
pdfjs-highlight-floating-button1 =
- .title = Evidenzie
.aria-label = Evidenzie
+ .title = Evidenzie
pdfjs-highlight-floating-button-label = Evidenzie
pdfjs-comment-floating-button =
- .title = Comente
.aria-label = Comente
+ .title = Comente
pdfjs-comment-floating-button-label = Comente
pdfjs-editor-comment-button =
- .title = Comente
.aria-label = Comente
+ .title = Comente
pdfjs-editor-comment-button-label = Comente
pdfjs-editor-signature-button =
.title = Zonte firme
@@ -383,8 +362,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Coments
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Siere la sbare laterâl
.aria-label = Siere la sbare laterâl
+ .title = Siere la sbare laterâl
pdfjs-editor-comments-sidebar-close-button-label = Siere la sbare laterâl
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Âstu cjatât alc di interessant? Evidenzilu e lasse un coment.
@@ -507,13 +486,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Impostazions test alternatîf pes
pdfjs-editor-alt-text-settings-automatic-title = Test alternatîf automatic
pdfjs-editor-alt-text-settings-create-model-button-label = Cree test alternatîf in automatic
pdfjs-editor-alt-text-settings-create-model-description = Al sugjerìs descrizions par judâ lis personis che no rivin a viodi la imagjin o cuant che la imagjin no ven cjariade.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Model IA pal test alternatîf ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Al ven eseguît in locâl sul to dispositîf, cussì che i tiei dâts a restin riservâts. Al è necessari pe gjenerazion automatiche dal test alternatîf.
-pdfjs-editor-alt-text-settings-delete-model-button = Elimine
-pdfjs-editor-alt-text-settings-download-model-button = Discjame
-pdfjs-editor-alt-text-settings-downloading-model-button = Daûr a discjariâ…
pdfjs-editor-alt-text-settings-editor-title = Modifiche test alternatîf
pdfjs-editor-alt-text-settings-show-dialog-button-label = Mostre l'editôr dal test alternatîf a pene che e ven zontade une imagjin
pdfjs-editor-alt-text-settings-show-dialog-description = Ti jude a sigurâti che dutis lis tôs imagjins a vedin il test alternatîf.
diff --git a/packages/pdfjs-viewer/viewer/locale/fy-NL/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/fy-NL/viewer.ftl
index c88b1a777c3..bcafad91f2a 100644
--- a/packages/pdfjs-viewer/viewer/locale/fy-NL/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/fy-NL/viewer.ftl
@@ -182,28 +182,11 @@ pdfjs-print-progress-message = Dokumint tariede oar ôfdrukken…
# $progress (Number) - percent value
pdfjs-print-progress-percent = { $progress }%
pdfjs-print-progress-close-button = Annulearje
-pdfjs-printing-not-supported = Warning: Printen is net folslein stipe troch dizze browser.
-pdfjs-printing-not-ready = Warning: PDF is net folslein laden om ôf te drukken.
+pdfjs-printing-not-supported = Warskôging: ôfdrukken wurdt net folslein stipe troch dizze browser.
+pdfjs-printing-not-ready = Warskôging: PDF is net folslein laden om ôf te drukken.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Sidebalke yn-/útskeakelje
-pdfjs-toggle-sidebar-notification-button =
- .title = Sidebalke yn-/útskeakelje (dokumint befettet oersjoch/bylagen/lagen)
-pdfjs-toggle-sidebar-button-label = Sidebalke yn-/útskeakelje
-pdfjs-document-outline-button =
- .title = Dokumintoersjoch toane (dûbelklik om alle items út/yn te klappen)
-pdfjs-document-outline-button-label = Dokumintoersjoch
-pdfjs-attachments-button =
- .title = Bylagen toane
-pdfjs-attachments-button-label = Bylagen
-pdfjs-layers-button =
- .title = Lagen toane (dûbelklik om alle lagen nei de standertsteat werom te setten)
-pdfjs-layers-button-label = Lagen
-pdfjs-thumbs-button =
- .title = Miniatueren toane
-pdfjs-thumbs-button-label = Miniatueren
pdfjs-current-outline-item-button =
.title = Aktueel item yn ynhâldsopjefte sykje
pdfjs-current-outline-item-button-label = Aktueel item yn ynhâldsopjefte
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Oanfoljende lagen
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Side { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Sykje
.placeholder = Sykje yn dokumint…
+ .title = Sykje
pdfjs-find-previous-button =
.title = It foarige foarkommen fan de tekst sykje
pdfjs-find-previous-button-label = Foarige
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Markearje
pdfjs-editor-highlight-button-label = Markearje
pdfjs-highlight-floating-button1 =
- .title = Markearje
.aria-label = Markearje
+ .title = Markearje
pdfjs-highlight-floating-button-label = Markearje
pdfjs-comment-floating-button =
- .title = Opmerking
.aria-label = Opmerking
+ .title = Opmerking
pdfjs-comment-floating-button-label = Opmerking
pdfjs-editor-comment-button =
- .title = Opmerking
.aria-label = Opmerking
+ .title = Opmerking
pdfjs-editor-comment-button-label = Opmerking
pdfjs-editor-signature-button =
.title = Hantekening tafoegje
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Opmerkingen
}
pdfjs-editor-comments-sidebar-close-button =
- .title = De sydbalke slute
.aria-label = De sydbalke slute
+ .title = De sydbalke slute
pdfjs-editor-comments-sidebar-close-button-label = De sydbalke slute
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Sjogge jo wat it neamen wurdich? Markearje it en lit in opmerking efter.
@@ -476,7 +455,7 @@ pdfjs-editor-colorpicker-green =
pdfjs-editor-colorpicker-blue =
.title = Blau
pdfjs-editor-colorpicker-pink =
- .title = Roze
+ .title = Rôs
pdfjs-editor-colorpicker-red =
.title = Read
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Ynstellingen foar alternative teks
pdfjs-editor-alt-text-settings-automatic-title = Automatyske alternative tekst
pdfjs-editor-alt-text-settings-create-model-button-label = Alternative tekst automatysk oanmeitsje
pdfjs-editor-alt-text-settings-create-model-description = Stelt beskriuwingen foar om minsken te helpen dy’t de ôfbylding net sjen kinne of foar wa’t de ôfbylding net laden wurdt.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = AI-model foar alternative tekst ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Wurdt lokaal op jo apparaat útfierd, sadat jo gegevens privee bliuwe. Fereaske foar automatyske alternative tekst.
-pdfjs-editor-alt-text-settings-delete-model-button = Fuortsmite
-pdfjs-editor-alt-text-settings-download-model-button = Downloade
-pdfjs-editor-alt-text-settings-downloading-model-button = Downloade…
pdfjs-editor-alt-text-settings-editor-title = Alternative-tekstbewurker
pdfjs-editor-alt-text-settings-show-dialog-button-label = Alternative-tekstbewurker daliks toane by tafoegjen fan in ôfbylding
pdfjs-editor-alt-text-settings-show-dialog-description = Helpt jo derfoar te soargjen dat al jo ôfbyldingen alternative tekst hawwe.
@@ -581,7 +553,7 @@ pdfjs-editor-undo-bar-close-button-label = Slute
## Add a signature dialog
-pdfjs-editor-add-signature-dialog-label = Mei dizze modal kin de brûker in hantekening meitsje om oan in PDF-dokumint ta te foegjen. De brûker kin de namme bewurkje (dy't ek tsjinnet as alternative tekst), en opsjoneel de ûndertekening bewarje foar werhelle gebrûk.
+pdfjs-editor-add-signature-dialog-label = Mei dizze modal kin de brûker in hantekening meitsje om oan in PDF-dokumint ta te foegjen. De brûker kin de namme bewurkje (dy’t ek tsjinnet as alternative tekst), en opsjoneel de ûndertekening bewarje foar werhelle gebrûk.
pdfjs-editor-add-signature-dialog-title = In hantekening tafoegje
## Tab names
@@ -623,7 +595,7 @@ pdfjs-editor-add-signature-clear-button-label = Hantekening wiskje
pdfjs-editor-add-signature-clear-button =
.title = Hantekening wiskje
pdfjs-editor-add-signature-save-checkbox = Hantekening bewarje
-pdfjs-editor-add-signature-save-warning-message = Jo hawwe de limyt fan 5 bewarre hantekeningen berikt. Ferwiderje ien om in oar te bewarjen.
+pdfjs-editor-add-signature-save-warning-message = Jo hawwe de limyt fan 5 bewarre hantekeningen berikt. Smyt ien fuort om in oar te bewarjen.
pdfjs-editor-add-signature-image-upload-error-title = Kin de ôfbylding net oplade
pdfjs-editor-add-signature-image-upload-error-description = Kontrolearje jo netwurkferbining of probearje in oare ôfbylding.
pdfjs-editor-add-signature-image-no-data-error-title = Kin dizze ôfbylding net nei in hantekening konvertearje
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Eigenskippen fan digitale hantekening
.aria-label = Eigenskippen fan digitale hantekening
+ .title = Eigenskippen fan digitale hantekening
pdfjs-digital-signature-properties-button-label = Eigenskippen fan digitale hantekening
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/ga-IE/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ga-IE/viewer.ftl
index 680d5bf67e6..4dff229e2a3 100644
--- a/packages/pdfjs-viewer/viewer/locale/ga-IE/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ga-IE/viewer.ftl
@@ -98,28 +98,12 @@ pdfjs-printing-not-ready = Rabhadh: Ní féidir an PDF a phriontáil go dtí go
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Scoránaigh an Barra Taoibh
-pdfjs-toggle-sidebar-button-label = Scoránaigh an Barra Taoibh
-pdfjs-document-outline-button =
- .title = Taispeáin Imlíne na Cáipéise (déchliceáil chun chuile rud a leathnú nó a laghdú)
-pdfjs-document-outline-button-label = Creatlach na Cáipéise
-pdfjs-attachments-button =
- .title = Taispeáin Iatáin
-pdfjs-attachments-button-label = Iatáin
-pdfjs-thumbs-button =
- .title = Taispeáin Mionsamhlacha
-pdfjs-thumbs-button-label = Mionsamhlacha
pdfjs-findbar-button =
.title = Aimsigh sa Cháipéis
pdfjs-findbar-button-label = Aimsigh
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Leathanach { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -128,8 +112,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Aimsigh
.placeholder = Aimsigh sa cháipéis…
+ .title = Aimsigh
pdfjs-find-previous-button =
.title = Aimsigh an sampla roimhe seo den nath seo
pdfjs-find-previous-button-label = Roimhe seo
diff --git a/packages/pdfjs-viewer/viewer/locale/gd/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/gd/viewer.ftl
index a15bc9eea9c..27aa7291730 100644
--- a/packages/pdfjs-viewer/viewer/locale/gd/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/gd/viewer.ftl
@@ -149,23 +149,6 @@ pdfjs-printing-not-ready = Rabhadh: Cha deach am PDF a luchdadh gu tur airson cl
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Toglaich am bàr-taoibh
-pdfjs-toggle-sidebar-notification-button =
- .title = Toglaich am bàr-taoibh (tha oir-loidhne/ceanglachain/breathan aig an sgrìobhainn)
-pdfjs-toggle-sidebar-button-label = Toglaich am bàr-taoibh
-pdfjs-document-outline-button =
- .title = Seall oir-loidhne na sgrìobhainn (dèan briogadh dùbailte airson a h-uile nì a leudachadh/a cho-theannadh)
-pdfjs-document-outline-button-label = Oir-loidhne na sgrìobhainne
-pdfjs-attachments-button =
- .title = Seall na ceanglachain
-pdfjs-attachments-button-label = Ceanglachain
-pdfjs-layers-button =
- .title = Seall na breathan (dèan briogadh dùbailte airson a h-uile breath ath-shuidheachadh dhan staid bhunaiteach)
-pdfjs-layers-button-label = Breathan
-pdfjs-thumbs-button =
- .title = Seall na dealbhagan
-pdfjs-thumbs-button-label = Dealbhagan
pdfjs-current-outline-item-button =
.title = Lorg nì làithreach na h-oir-loidhne
pdfjs-current-outline-item-button-label = Nì làithreach na h-oir-loidhne
@@ -176,10 +159,6 @@ pdfjs-additional-layers = Barrachd breathan
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Duilleag a { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -188,8 +167,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Lorg
.placeholder = Lorg san sgrìobhainn...
+ .title = Lorg
pdfjs-find-previous-button =
.title = Lorg làthair roimhe na h-abairt seo
pdfjs-find-previous-button-label = Air ais
diff --git a/packages/pdfjs-viewer/viewer/locale/gl/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/gl/viewer.ftl
index b77dda354ba..15b53f1f12e 100644
--- a/packages/pdfjs-viewer/viewer/locale/gl/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/gl/viewer.ftl
@@ -166,23 +166,6 @@ pdfjs-printing-not-ready = Aviso: O PDF non se cargou completamente para imprimi
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Amosar/agochar a barra lateral
-pdfjs-toggle-sidebar-notification-button =
- .title = Alternar barra lateral (o documento contén esquema/anexos/capas)
-pdfjs-toggle-sidebar-button-label = Amosar/agochar a barra lateral
-pdfjs-document-outline-button =
- .title = Amosar a estrutura do documento (dobre clic para expandir/contraer todos os elementos)
-pdfjs-document-outline-button-label = Estrutura do documento
-pdfjs-attachments-button =
- .title = Amosar anexos
-pdfjs-attachments-button-label = Anexos
-pdfjs-layers-button =
- .title = Mostrar capas (prema dúas veces para restaurar todas as capas o estado predeterminado)
-pdfjs-layers-button-label = Capas
-pdfjs-thumbs-button =
- .title = Amosar miniaturas
-pdfjs-thumbs-button-label = Miniaturas
pdfjs-current-outline-item-button =
.title = Atopar o elemento delimitado actualmente
pdfjs-current-outline-item-button-label = Elemento delimitado actualmente
@@ -193,10 +176,6 @@ pdfjs-additional-layers = Capas adicionais
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Páxina { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -205,8 +184,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Atopar
.placeholder = Atopar no documento…
+ .title = Atopar
pdfjs-find-previous-button =
.title = Atopar a anterior aparición da frase
pdfjs-find-previous-button-label = Anterior
@@ -297,8 +276,8 @@ pdfjs-editor-highlight-button =
.title = Destacar
pdfjs-editor-highlight-button-label = Destacar
pdfjs-highlight-floating-button1 =
- .title = Destacar
.aria-label = Destacar
+ .title = Destacar
pdfjs-highlight-floating-button-label = Destacar
pdfjs-editor-signature-button =
.title = Engadir sinatura
@@ -480,13 +459,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Configuración do texto alternativ
pdfjs-editor-alt-text-settings-automatic-title = Texto alternativo automático
pdfjs-editor-alt-text-settings-create-model-button-label = Crear texto alternativo automaticamente
pdfjs-editor-alt-text-settings-create-model-description = Suxire descricións para axudar ás persoas que non poden ver a imaxe ou cando a imaxe non se carga.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Modelo de IA de texto alternativo ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Funciona localmente no teu dispositivo para que os teus datos se manteñan privados. Necesario para o texto alternativo automático.
-pdfjs-editor-alt-text-settings-delete-model-button = Eliminar
-pdfjs-editor-alt-text-settings-download-model-button = Descargar
-pdfjs-editor-alt-text-settings-downloading-model-button = Descargando…
pdfjs-editor-alt-text-settings-editor-title = Editor de texto alternativo
pdfjs-editor-alt-text-settings-show-dialog-button-label = Mostrar o editor de texto alternativo inmediatamente ao engadir unha imaxe
pdfjs-editor-alt-text-settings-show-dialog-description = Axúdache a asegurarte de que todas as túas imaxes teñan texto alternativo.
diff --git a/packages/pdfjs-viewer/viewer/locale/gn/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/gn/viewer.ftl
index a6d3d353cb3..75a4db203bf 100644
--- a/packages/pdfjs-viewer/viewer/locale/gn/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/gn/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Kyhyjerã: Ko PDF nahenyhẽmbái oñembokuatia hag̃
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Tenda yke moambue
-pdfjs-toggle-sidebar-notification-button =
- .title = Embojopyru tenda ykegua (kuatia oguereko kuaakaha/moirũha/ñuãha)
-pdfjs-toggle-sidebar-button-label = Tenda yke moambue
-pdfjs-document-outline-button =
- .title = Ehechauka kuatia rape (eikutu mokõi jey embotuicha/emomichĩ hag̃ua opavavete mba’eporu)
-pdfjs-document-outline-button-label = Kuatia apopyre
-pdfjs-attachments-button =
- .title = Moirũha jehechauka
-pdfjs-attachments-button-label = Moirũha
-pdfjs-layers-button =
- .title = Ehechauka ñuãha (eikutu jo’a emomba’apo hag̃ua opaite ñuãha tekoypýpe)
-pdfjs-layers-button-label = Ñuãha
-pdfjs-thumbs-button =
- .title = Mba’emirĩ jehechauka
-pdfjs-thumbs-button-label = Mba’emirĩ
pdfjs-current-outline-item-button =
.title = Eheka mba’eporu ag̃aguaitéva
pdfjs-current-outline-item-button-label = Mba’eporu ag̃aguaitéva
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Ñuãha moirũguáva
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Kuatiarogue { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Juhu
.placeholder = Kuatiápe jejuhu…
+ .title = Juhu
pdfjs-find-previous-button =
.title = Ejuhu ñe’ẽrysýi osẽ’ypy hague
pdfjs-find-previous-button-label = Mboyvegua
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Mbosa’y
pdfjs-editor-highlight-button-label = Mbosa’y
pdfjs-highlight-floating-button1 =
- .title = Mbosa’y
.aria-label = Mbosa’y
+ .title = Mbosa’y
pdfjs-highlight-floating-button-label = Mbosa’y
pdfjs-comment-floating-button =
- .title = Je’erei
.aria-label = Je’erei
+ .title = Je’erei
pdfjs-comment-floating-button-label = Je’erei
pdfjs-editor-comment-button =
- .title = Je’erei
.aria-label = Je’erei
+ .title = Je’erei
pdfjs-editor-comment-button-label = Je’erei
pdfjs-editor-signature-button =
.title = Embojuaju teraguapy
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Je’ereieta
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Emboty ta'ãngarupa yke
.aria-label = Emboty ta'ãngarupa yke
+ .title = Emboty ta'ãngarupa yke
pdfjs-editor-comments-sidebar-close-button-label = Emboty ta'ãngarupa yke
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = ¿Ehechápa peteĩ mbaʼe iporãva? Emomba’e ha eheja jehaipy.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Ta’ãnga moñe’ẽrã mokõiha
pdfjs-editor-alt-text-settings-automatic-title = Moñe’ẽrã mokõiha ijeheguíva
pdfjs-editor-alt-text-settings-create-model-button-label = Emoheñói moñe’ẽrã mokõiha ijeheguíva
pdfjs-editor-alt-text-settings-create-model-description = Ñemyesakã mbykymi opavave tapicha ohecha’ỹva upe ta’ãnga térã pe ta’ãnga nahenyhẽiramo.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Peteĩva IA moñe’ẽrã mokõiha ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Oku’e mba’e’okaitépe umi mba’ekuaarã hekoñemi hag̃ua. Tekotevẽva moñe’ẽrã ykegua ijeheguívape.
-pdfjs-editor-alt-text-settings-delete-model-button = Mboguete
-pdfjs-editor-alt-text-settings-download-model-button = Mboguejy
-pdfjs-editor-alt-text-settings-downloading-model-button = Emboguejyhína…
pdfjs-editor-alt-text-settings-editor-title = Moñe’ẽrã mokõiha mbosako’iha
pdfjs-editor-alt-text-settings-show-dialog-button-label = Ehechauka moñe’ẽrã mokõiha mbosako’iha embojuajúvo ta’ãnga
pdfjs-editor-alt-text-settings-show-dialog-description = Nepytyvõta ta’ãngakuéra orekotaha moñe’ẽrã mokõiha.
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Firma digital oguerekóva
.aria-label = Firma digital oguerekóva
+ .title = Firma digital oguerekóva
pdfjs-digital-signature-properties-button-label = Firma digital oguerekóva
## Banner shown above the signature list summarising the overall
@@ -769,6 +741,11 @@ pdfjs-digital-signature-properties-button-label = Firma digital oguerekóva
## $count (Number) - number of signatures at the worst level.
pdfjs-digital-signature-properties-banner-verified = Pe kuatia oñemboheraguapy firma digital oikóvape
+pdfjs-digital-signature-properties-banner-revoked =
+ { $count ->
+ [one] Kuatia mboheraguapypyre { $count } mboajepyre oikove’ỹva ndive
+ *[other] Kuatia mboheraguapypyre { $count } mboajepyreita oikove’ỹva ndive
+ }
## Per-signature status row. Only three distinct strings are needed:
## the signature crypto either verified (the cert chain may still be
diff --git a/packages/pdfjs-viewer/viewer/locale/gu-IN/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/gu-IN/viewer.ftl
index 5ad3db15629..4406d82a4d7 100644
--- a/packages/pdfjs-viewer/viewer/locale/gu-IN/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/gu-IN/viewer.ftl
@@ -140,28 +140,12 @@ pdfjs-printing-not-ready = Warning: PDF એ છાપવા માટે સં
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = ટૉગલ બાજુપટ્ટી
-pdfjs-toggle-sidebar-button-label = ટૉગલ બાજુપટ્ટી
-pdfjs-document-outline-button =
- .title = દસ્તાવેજની રૂપરેખા બતાવો(બધી આઇટમ્સને વિસ્તૃત/સંકુચિત કરવા માટે ડબલ-ક્લિક કરો)
-pdfjs-document-outline-button-label = દસ્તાવેજ રૂપરેખા
-pdfjs-attachments-button =
- .title = જોડાણોને બતાવો
-pdfjs-attachments-button-label = જોડાણો
-pdfjs-thumbs-button =
- .title = થંબનેલ્સ બતાવો
-pdfjs-thumbs-button-label = થંબનેલ્સ
pdfjs-findbar-button =
.title = દસ્તાવેજમાં શોધો
pdfjs-findbar-button-label = શોધો
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = પાનું { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -170,8 +154,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = શોધો
.placeholder = દસ્તાવેજમાં શોધો…
+ .title = શોધો
pdfjs-find-previous-button =
.title = શબ્દસમૂહની પાછલી ઘટનાને શોધો
pdfjs-find-previous-button-label = પહેલાંનુ
diff --git a/packages/pdfjs-viewer/viewer/locale/he/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/he/viewer.ftl
index 49c3f824a0a..fef033a0585 100644
--- a/packages/pdfjs-viewer/viewer/locale/he/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/he/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = אזהרה: מסמך ה־PDF לא נטען לחלוט
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = הצגה/הסתרה של סרגל הצד
-pdfjs-toggle-sidebar-notification-button =
- .title = החלפת תצוגת סרגל צד (מסמך שמכיל תוכן עניינים/קבצים מצורפים/שכבות)
-pdfjs-toggle-sidebar-button-label = הצגה/הסתרה של סרגל הצד
-pdfjs-document-outline-button =
- .title = הצגת תוכן העניינים של המסמך (לחיצה כפולה כדי להרחיב או לצמצם את כל הפריטים)
-pdfjs-document-outline-button-label = תוכן העניינים של המסמך
-pdfjs-attachments-button =
- .title = הצגת צרופות
-pdfjs-attachments-button-label = צרופות
-pdfjs-layers-button =
- .title = הצגת שכבות (יש ללחוץ לחיצה כפולה כדי לאפס את כל השכבות למצב ברירת המחדל)
-pdfjs-layers-button-label = שכבות
-pdfjs-thumbs-button =
- .title = הצגת תצוגה מקדימה
-pdfjs-thumbs-button-label = תצוגה מקדימה
pdfjs-current-outline-item-button =
.title = מציאת פריט תוכן העניינים הנוכחי
pdfjs-current-outline-item-button-label = פריט תוכן העניינים הנוכחי
@@ -214,10 +197,6 @@ pdfjs-additional-layers = שכבות נוספות
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = עמוד { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = חיפוש
.placeholder = חיפוש במסמך…
+ .title = חיפוש
pdfjs-find-previous-button =
.title = מציאת המופע הקודם של הביטוי
pdfjs-find-previous-button-label = קודם
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = סימון
pdfjs-editor-highlight-button-label = סימון
pdfjs-highlight-floating-button1 =
- .title = סימון
.aria-label = סימון
+ .title = סימון
pdfjs-highlight-floating-button-label = סימון
pdfjs-comment-floating-button =
- .title = הערה
.aria-label = הערה
+ .title = הערה
pdfjs-comment-floating-button-label = הערה
pdfjs-editor-comment-button =
- .title = הערה
.aria-label = הערה
+ .title = הערה
pdfjs-editor-comment-button-label = הערה
pdfjs-editor-signature-button =
.title = הוספת חתימה
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] הערות
}
pdfjs-editor-comments-sidebar-close-button =
- .title = סגירת סרגל הצד
.aria-label = סגירת סרגל הצד
+ .title = סגירת סרגל הצד
pdfjs-editor-comments-sidebar-close-button-label = סגירת סרגל הצד
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = ראית משהו ראוי לציון? ניתן לסמן אותו ולהשאיר הערה.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = הגדרות טקסט חלופי
pdfjs-editor-alt-text-settings-automatic-title = טקסט חלופי אוטומטי
pdfjs-editor-alt-text-settings-create-model-button-label = יצירת טקסט חלופי באופן אוטומטי
pdfjs-editor-alt-text-settings-create-model-description = הצעת תיאורים כדי לסייע לאנשים שאינם יכולים לראות את התמונה או כאשר התמונה אינה נטענת.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = מודל AI לטקסט חלופי ({ $totalSize } מ״ב)
-pdfjs-editor-alt-text-settings-ai-model-description = פועל באופן מקומי במכשיר שלך כך שהנתונים שלך נשארים פרטיים. נדרש עבור טקסט חלופי אוטומטי.
-pdfjs-editor-alt-text-settings-delete-model-button = מחיקה
-pdfjs-editor-alt-text-settings-download-model-button = הורדה
-pdfjs-editor-alt-text-settings-downloading-model-button = בהורדה…
pdfjs-editor-alt-text-settings-editor-title = עורך טקסט חלופי
pdfjs-editor-alt-text-settings-show-dialog-button-label = הצגת עורך טקסט חלופי מיד בעת הוספת תמונה
pdfjs-editor-alt-text-settings-show-dialog-description = מסייע לך לוודא שלכל התמונות שלך יש טקסט חלופי.
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = מאפייני חתימה דיגיטלית
.aria-label = מאפייני חתימה דיגיטלית
+ .title = מאפייני חתימה דיגיטלית
pdfjs-digital-signature-properties-button-label = מאפייני חתימה דיגיטלית
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/hi-IN/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/hi-IN/viewer.ftl
index 91459ebf2d4..154ee15b3a8 100644
--- a/packages/pdfjs-viewer/viewer/locale/hi-IN/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/hi-IN/viewer.ftl
@@ -134,28 +134,12 @@ pdfjs-printing-not-ready = चेतावनी: PDF छपाई के लि
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = स्लाइडर टॉगल करें
-pdfjs-toggle-sidebar-button-label = स्लाइडर टॉगल करें
-pdfjs-document-outline-button =
- .title = दस्तावेज़ की रूपरेखा दिखाइए (सारी वस्तुओं को फलने अथवा समेटने के लिए दो बार क्लिक करें)
-pdfjs-document-outline-button-label = दस्तावेज़ आउटलाइन
-pdfjs-attachments-button =
- .title = संलग्नक दिखायें
-pdfjs-attachments-button-label = संलग्नक
-pdfjs-thumbs-button =
- .title = लघुछवियाँ दिखाएँ
-pdfjs-thumbs-button-label = लघु छवि
pdfjs-findbar-button =
.title = दस्तावेज़ में ढूँढ़ें
pdfjs-findbar-button-label = ढूँढें
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = पृष्ठ { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -164,8 +148,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = ढूँढें
.placeholder = दस्तावेज़ में खोजें...
+ .title = ढूँढें
pdfjs-find-previous-button =
.title = वाक्यांश की पिछली उपस्थिति ढूँढ़ें
pdfjs-find-previous-button-label = पिछला
diff --git a/packages/pdfjs-viewer/viewer/locale/hr/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/hr/viewer.ftl
index bd8fcf96248..9f2b825b95b 100644
--- a/packages/pdfjs-viewer/viewer/locale/hr/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/hr/viewer.ftl
@@ -153,6 +153,7 @@ pdfjs-document-properties-linearized = Brzi web pregled:
pdfjs-document-properties-linearized-yes = Da
pdfjs-document-properties-linearized-no = Ne
pdfjs-document-properties-close-button = Zatvori
+pdfjs-digital-signature-properties-view-certificate = Pogledaj certifikat
## Print
@@ -166,23 +167,6 @@ pdfjs-printing-not-ready = Upozorenje: PDF nije u potpunosti učitan za ispis.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Prikaži/sakrij bočnu traku
-pdfjs-toggle-sidebar-notification-button =
- .title = Prikazivanje i sklanjanje bočne trake (dokument sadrži strukturu/privitke/slojeve)
-pdfjs-toggle-sidebar-button-label = Prikaži/sakrij bočnu traku
-pdfjs-document-outline-button =
- .title = Prikaži strukturu dokumenta (dvoklik za rasklapanje/sklapanje svih stavki)
-pdfjs-document-outline-button-label = Struktura dokumenta
-pdfjs-attachments-button =
- .title = Prikaži privitke
-pdfjs-attachments-button-label = Privitci
-pdfjs-layers-button =
- .title = Prikaži slojeve (dvoklik za vraćanje svih slojeva u standardno stanje)
-pdfjs-layers-button-label = Slojevi
-pdfjs-thumbs-button =
- .title = Prikaži minijature
-pdfjs-thumbs-button-label = Minijature
pdfjs-current-outline-item-button =
.title = Pronađi trenutačni element strukture
pdfjs-current-outline-item-button-label = Trenutačni element strukture
@@ -193,10 +177,6 @@ pdfjs-additional-layers = Dodatni slojevi
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Stranica { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -214,8 +194,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Pronađi
.placeholder = Pronađi u dokumentu …
+ .title = Pronađi
pdfjs-find-previous-button =
.title = Pronađi prethodno pojavljivanje ovog izraza
pdfjs-find-previous-button-label = Prethodno
@@ -312,16 +292,16 @@ pdfjs-editor-highlight-button =
.title = Istakni
pdfjs-editor-highlight-button-label = Istakni
pdfjs-highlight-floating-button1 =
- .title = Istakni
.aria-label = Istakni
+ .title = Istakni
pdfjs-highlight-floating-button-label = Istakni
pdfjs-comment-floating-button =
- .title = Komentiraj
.aria-label = Komentiraj
+ .title = Komentiraj
pdfjs-comment-floating-button-label = Komentiraj
pdfjs-editor-comment-button =
- .title = Komentar
.aria-label = Komentar
+ .title = Komentar
pdfjs-editor-comment-button-label = Komentar
pdfjs-editor-signature-button =
.title = Dodaj potpis
@@ -395,8 +375,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Komentara
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Zatvori bočnu traku
.aria-label = Zatvori bočnu traku
+ .title = Zatvori bočnu traku
pdfjs-editor-comments-sidebar-close-button-label = Zatvori bočnu traku
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Vidiš nešto vrijedno pažnje? Istakni to i ostavi komentar.
@@ -519,13 +499,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Postavke alternativnog teksta slik
pdfjs-editor-alt-text-settings-automatic-title = Automatski alternativni tekst
pdfjs-editor-alt-text-settings-create-model-button-label = Stvori alternativni tekst automatski
pdfjs-editor-alt-text-settings-create-model-description = Predlaže opise koji pomažu osobama koji ne mogu vidjeti sliku ili kada se slika ne učita.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Alternativni tekst UI modela ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Radi lokalno na tvom uređaju kako bi tvoji podaci ostali privatni. Potrebno za automatski alternativni tekst.
-pdfjs-editor-alt-text-settings-delete-model-button = Izbriši
-pdfjs-editor-alt-text-settings-download-model-button = Preuzmi
-pdfjs-editor-alt-text-settings-downloading-model-button = Preuzimanje …
pdfjs-editor-alt-text-settings-editor-title = Uređivač alternativnog teksta
pdfjs-editor-alt-text-settings-show-dialog-button-label = Prikaži uređivač alternativnog teksta odmah pri dodavanju slike
pdfjs-editor-alt-text-settings-show-dialog-description = Pomaže osigurati da sve tvoje slike imaju alternativni tekst.
diff --git a/packages/pdfjs-viewer/viewer/locale/hsb/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/hsb/viewer.ftl
index 3a52b0ad382..1acd116671d 100644
--- a/packages/pdfjs-viewer/viewer/locale/hsb/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/hsb/viewer.ftl
@@ -189,23 +189,6 @@ pdfjs-printing-not-ready = Warnowanje: PDF njeje so za ćišćenje dospołnje za
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Bóčnicu pokazać/schować
-pdfjs-toggle-sidebar-notification-button =
- .title = Bóčnicu přepinać (dokument rozrjad/přiwěški/woršty wobsahuje)
-pdfjs-toggle-sidebar-button-label = Bóčnicu pokazać/schować
-pdfjs-document-outline-button =
- .title = Dokumentowy naćisk pokazać (dwójne kliknjenje, zo bychu so wšě zapiski pokazali/schowali)
-pdfjs-document-outline-button-label = Dokumentowa struktura
-pdfjs-attachments-button =
- .title = Přiwěški pokazać
-pdfjs-attachments-button-label = Přiwěški
-pdfjs-layers-button =
- .title = Woršty pokazać (klikńće dwójce, zo byšće wšě woršty na standardny staw wróćo stajił)
-pdfjs-layers-button-label = Woršty
-pdfjs-thumbs-button =
- .title = Miniatury pokazać
-pdfjs-thumbs-button-label = Miniatury
pdfjs-current-outline-item-button =
.title = Aktualny rozrjadowy zapisk pytać
pdfjs-current-outline-item-button-label = Aktualny rozrjadowy zapisk
@@ -216,10 +199,6 @@ pdfjs-additional-layers = Dalše woršty
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Strona { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -237,8 +216,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Pytać
.placeholder = W dokumenće pytać…
+ .title = Pytać
pdfjs-find-previous-button =
.title = Předchadne wustupowanje pytanskeho wuraza pytać
pdfjs-find-previous-button-label = Wróćo
@@ -337,16 +316,16 @@ pdfjs-editor-highlight-button =
.title = Wuzběhnyć
pdfjs-editor-highlight-button-label = Wuzběhnyć
pdfjs-highlight-floating-button1 =
- .title = Wuzběhnjenje
.aria-label = Wuzběhnjenje
+ .title = Wuzběhnjenje
pdfjs-highlight-floating-button-label = Wuzběhnjenje
pdfjs-comment-floating-button =
- .title = Komentować
.aria-label = Komentować
+ .title = Komentować
pdfjs-comment-floating-button-label = Komentować
pdfjs-editor-comment-button =
- .title = Komentować
.aria-label = Komentować
+ .title = Komentować
pdfjs-editor-comment-button-label = Komentować
pdfjs-editor-signature-button =
.title = Signaturu přidać
@@ -421,8 +400,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] { $count } komentarow
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Bóčnicu začinić
.aria-label = Bóčnicu začinić
+ .title = Bóčnicu začinić
pdfjs-editor-comments-sidebar-close-button-label = Bóčnicu začinić
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Widźiće něšto přispomnjenja hódneho? Wuzběhńće to a zawostajće komentar.
@@ -545,13 +524,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Nastajenja alternatiwneho wobrazow
pdfjs-editor-alt-text-settings-automatic-title = Awtomatiski alternatiwny tekst
pdfjs-editor-alt-text-settings-create-model-button-label = Alternatiwny tekst awtomatisce wutworić
pdfjs-editor-alt-text-settings-create-model-description = Namjetuje wopisanja, zo by ludźom pomhał, kotřiž njemóžeće wobraz widźeć abo hdyž so wobraz njezačita.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Model KI alternatiwneho teksta ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Běži lokalnje na wašim graće, zo bychu waše daty priwatne wostali. Za awtomatiski alternatiwny tekst trěbny.
-pdfjs-editor-alt-text-settings-delete-model-button = Zhašeć
-pdfjs-editor-alt-text-settings-download-model-button = Sćahnyć
-pdfjs-editor-alt-text-settings-downloading-model-button = Sćahuje so…
pdfjs-editor-alt-text-settings-editor-title = Editor za alternatiwny tekst
pdfjs-editor-alt-text-settings-show-dialog-button-label = Editor alternatiwneho teksta hnydom pokazać, hdyž so wobraz přidawa
pdfjs-editor-alt-text-settings-show-dialog-description = Pomha, wam wšěm swojim wobrazam alternatiwny tekst přidać.
@@ -774,8 +746,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Kajkosće digitalneje signatury
.aria-label = Kajkosće digitalneje signatury
+ .title = Kajkosće digitalneje signatury
pdfjs-digital-signature-properties-button-label = Kajkosće digitalneje signatury
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/hu/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/hu/viewer.ftl
index e63349fd5fa..b666c12b9b7 100644
--- a/packages/pdfjs-viewer/viewer/locale/hu/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/hu/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Figyelmeztetés: A PDF nincs teljesen betöltve a nyo
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Oldalsáv be/ki
-pdfjs-toggle-sidebar-notification-button =
- .title = Oldalsáv be/ki (a dokumentum vázlatot/mellékleteket/rétegeket tartalmaz)
-pdfjs-toggle-sidebar-button-label = Oldalsáv be/ki
-pdfjs-document-outline-button =
- .title = Dokumentum megjelenítése online (dupla kattintás minden elem kinyitásához/összecsukásához)
-pdfjs-document-outline-button-label = Dokumentumvázlat
-pdfjs-attachments-button =
- .title = Mellékletek megjelenítése
-pdfjs-attachments-button-label = Van melléklet
-pdfjs-layers-button =
- .title = Rétegek megjelenítése (dupla kattintás az összes réteg alapértelmezett állapotra visszaállításához)
-pdfjs-layers-button-label = Rétegek
-pdfjs-thumbs-button =
- .title = Bélyegképek megjelenítése
-pdfjs-thumbs-button-label = Bélyegképek
pdfjs-current-outline-item-button =
.title = Jelenlegi vázlatelem megkeresése
pdfjs-current-outline-item-button-label = Jelenlegi vázlatelem
@@ -214,10 +197,6 @@ pdfjs-additional-layers = További rétegek
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = { $page }. oldal
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Keresés
.placeholder = Keresés a dokumentumban…
+ .title = Keresés
pdfjs-find-previous-button =
.title = A kifejezés előző előfordulásának keresése
pdfjs-find-previous-button-label = Előző
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Kiemelés
pdfjs-editor-highlight-button-label = Kiemelés
pdfjs-highlight-floating-button1 =
- .title = Kiemelés
.aria-label = Kiemelés
+ .title = Kiemelés
pdfjs-highlight-floating-button-label = Kiemelés
pdfjs-comment-floating-button =
- .title = Megjegyzés
.aria-label = Megjegyzés
+ .title = Megjegyzés
pdfjs-comment-floating-button-label = Megjegyzés
pdfjs-editor-comment-button =
- .title = Megjegyzés
.aria-label = Megjegyzés
+ .title = Megjegyzés
pdfjs-editor-comment-button-label = Megjegyzés
pdfjs-editor-signature-button =
.title = Aláírás hozzáadása
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Megjegyzések
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Oldalsáv bezárása
.aria-label = Oldalsáv bezárása
+ .title = Oldalsáv bezárása
pdfjs-editor-comments-sidebar-close-button-label = Oldalsáv bezárása
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Lát valami figyelemre méltót? Jelölje ki és írjon megjegyzést.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Kép alternatív szövegének beá
pdfjs-editor-alt-text-settings-automatic-title = Automatikus alternatív szöveg
pdfjs-editor-alt-text-settings-create-model-button-label = Alternatív szöveg automatikus létrehozása
pdfjs-editor-alt-text-settings-create-model-description = Leírásokat javasol, hogy segítsen azoknak, akik nem látják a képet, vagy arra az esetre, ha a kép nem tölt be.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Alternatív szöveg MI modellje ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Helyben fut az eszközén, így az adatai privátok maradnak. Az automatikus alternatív szövegekhez szükséges.
-pdfjs-editor-alt-text-settings-delete-model-button = Törlés
-pdfjs-editor-alt-text-settings-download-model-button = Letöltés
-pdfjs-editor-alt-text-settings-downloading-model-button = Letöltés…
pdfjs-editor-alt-text-settings-editor-title = Alternatív szöveg szerkesztője
pdfjs-editor-alt-text-settings-show-dialog-button-label = Az alternatív szöveg szerkesztőjének azonnali megjelenítése egy kép hozzáadásakor
pdfjs-editor-alt-text-settings-show-dialog-description = Segít elérni, hogy az összes képén legyen alternatív szöveg.
@@ -569,8 +541,8 @@ pdfjs-editor-undo-bar-message-comment = Megjegyzés eltávolítva
# $count (Number) - the number of removed annotations.
pdfjs-editor-undo-bar-message-multiple =
{ $count ->
- [one] { $count } kommentár eltávolítva
- *[other] { $count } kommentár eltávolítva
+ [one] { $count } megjegyzés eltávolítva
+ *[other] { $count } megjegyzés eltávolítva
}
pdfjs-editor-undo-bar-undo-button =
.title = Visszavonás
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Digitális aláírás tulajdonságai
.aria-label = Digitális aláírás tulajdonságai
+ .title = Digitális aláírás tulajdonságai
pdfjs-digital-signature-properties-button-label = Digitális aláírás tulajdonságai
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/hy-AM/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/hy-AM/viewer.ftl
index 6ceb7181f57..83b3b25ec3d 100644
--- a/packages/pdfjs-viewer/viewer/locale/hy-AM/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/hy-AM/viewer.ftl
@@ -175,23 +175,6 @@ pdfjs-printing-not-ready = Զգուշացում. PDF-ը ամբողջությամ
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Բացել/Փակել կողագոտին
-pdfjs-toggle-sidebar-notification-button =
- .title = Փոխարկել Կողագոտին (փաստաթուղթը պարունակում է ուրվագիծ/կցորդներ)
-pdfjs-toggle-sidebar-button-label = Բացել/Փակել կողագոտին
-pdfjs-document-outline-button =
- .title = Ցուցադրել փաստաթղթի ուրվագիծը (կրկնակի սեղմեք՝ միավորները ընդարձակելու/կոծկելու համար)
-pdfjs-document-outline-button-label = Փաստաթղթի բովանդակությունը
-pdfjs-attachments-button =
- .title = Ցուցադրել կցորդները
-pdfjs-attachments-button-label = Կցորդներ
-pdfjs-layers-button =
- .title = Ցուցադրել շերտերը (կրկնակի սեղմեք բոլոր շերտերը սկզբնական վիճակին վերականգնելու համար)
-pdfjs-layers-button-label = Շերտեր
-pdfjs-thumbs-button =
- .title = Ցուցադրել մանրապատկերը
-pdfjs-thumbs-button-label = Մանրապատկերը
pdfjs-current-outline-item-button =
.title = Գտեք ընթացիկ ուրվագծային տարրը
pdfjs-current-outline-item-button-label = Ընթացիկ ուրվագծային տարր
@@ -202,10 +185,6 @@ pdfjs-additional-layers = Լրացուցիչ շերտեր
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Էջը { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -214,8 +193,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Որոնում
.placeholder = Գտնել փաստաթղթում...
+ .title = Որոնում
pdfjs-find-previous-button =
.title = Գտնել անրահայտության նախորդ հանդիպումը
pdfjs-find-previous-button-label = Նախորդը
@@ -223,8 +202,8 @@ pdfjs-find-next-button =
.title = Գտիր արտահայտության հաջորդ հանդիպումը
pdfjs-find-next-button-label = Հաջորդը
pdfjs-find-highlight-checkbox = Գունանշել բոլորը
-pdfjs-find-match-case-checkbox-label = Մեծ(փոքր)ատառ հաշվի առնել
-pdfjs-find-match-diacritics-checkbox-label = Համապատասխանեցնել տարբերիչները
+pdfjs-find-match-case-checkbox-label = Հաշվի առնել մեծ/փոքրատառը
+pdfjs-find-match-diacritics-checkbox-label = Համընկել հնչյունատարբերիչ նշանները
pdfjs-find-entire-word-checkbox-label = Ամբողջ բառերը
pdfjs-find-reached-top = Հասել եք փաստաթղթի վերևին, կշարունակվի ներքևից
pdfjs-find-reached-bottom = Հասել եք փաստաթղթի վերջին, կշարունակվի վերևից
@@ -310,12 +289,12 @@ pdfjs-editor-highlight-button =
.title = Գունանշում
pdfjs-editor-highlight-button-label = Գունանշում
pdfjs-highlight-floating-button1 =
- .title = Գունանշում
.aria-label = Գունանշում
+ .title = Գունանշում
pdfjs-highlight-floating-button-label = Գունանշում
pdfjs-comment-floating-button =
- .title = Մեկնաբանություն
.aria-label = Մեկնաբանություն
+ .title = Մեկնաբանություն
pdfjs-comment-floating-button-label = Մեկնաբանություն
pdfjs-editor-signature-button =
.title = Ավելացնել ստորագրություն
@@ -508,13 +487,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Պատկերի այլընտրան
pdfjs-editor-alt-text-settings-automatic-title = Ինքնաշխատ այլընտրանքային գրվածք
pdfjs-editor-alt-text-settings-create-model-button-label = Ինքնաշխատ ստեղծել այլընտրանքային գրվածք
pdfjs-editor-alt-text-settings-create-model-description = Կարճ նկարագրություն նրանց համար, ովքեր չեն կարող տեսնել պատկերը կամ երբ պատկերը չի բեռնվում։
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Այլընտրանքային գրվածքի արհեստական բանականության մոդել ({ $totalSize } ՄԲ)
-pdfjs-editor-alt-text-settings-ai-model-description = Աշխատում է տեղայնորեն ձեր սարքի վրա, որպեսզի ձեր տվյալները մնան գաղտնի: Պահանջվում է ինքնաշխատ այլընտրանքային գրվածքի համար:
-pdfjs-editor-alt-text-settings-delete-model-button = Ջնջել
-pdfjs-editor-alt-text-settings-download-model-button = Ներբեռնել
-pdfjs-editor-alt-text-settings-downloading-model-button = Ներբեռնվում է…
pdfjs-editor-alt-text-settings-editor-title = Այլընտրանքային գրվածքի խմբագիր
pdfjs-editor-alt-text-settings-show-dialog-button-label = Պատկեր ավելացնելիս անմիջապես ցուցադրել այլընտրանքային գրվածքի խմբագիրը
pdfjs-editor-alt-text-settings-show-dialog-description = Օգնում է համոզվել, որ ձեր բոլոր պատկերներն ունեն այլընտրանքային գրվածք։
diff --git a/packages/pdfjs-viewer/viewer/locale/hye/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/hye/viewer.ftl
index 4625bfec5b4..714ae6bd104 100644
--- a/packages/pdfjs-viewer/viewer/locale/hye/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/hye/viewer.ftl
@@ -143,23 +143,6 @@ pdfjs-printing-not-ready = Զգուշացում. PDF֊ը ամբողջութեա
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Փոխարկել կողային վահանակը
-pdfjs-toggle-sidebar-notification-button =
- .title = Փոխանջատել կողմնասիւնը (փաստաթուղթը պարունակում է ուրուագիծ/կցորդներ/շերտեր)
-pdfjs-toggle-sidebar-button-label = Փոխարկել կողային վահանակը
-pdfjs-document-outline-button =
- .title = Ցուցադրել փաստաթղթի ուրուագիծը (կրկնակի սեղմէք՝ միաւորները ընդարձակելու/կոծկելու համար)
-pdfjs-document-outline-button-label = Փաստաթղթի ուրուագիծ
-pdfjs-attachments-button =
- .title = Ցուցադրել կցորդները
-pdfjs-attachments-button-label = Կցորդներ
-pdfjs-layers-button =
- .title = Ցուցադրել շերտերը (կրկնահպել վերակայելու բոլոր շերտերը սկզբնադիր վիճակի)
-pdfjs-layers-button-label = Շերտեր
-pdfjs-thumbs-button =
- .title = Ցուցադրել մանրապատկերը
-pdfjs-thumbs-button-label = Մանրապատկեր
pdfjs-current-outline-item-button =
.title = Գտէք ընթացիկ գծագրման տարրը
pdfjs-current-outline-item-button-label = Ընթացիկ գծագրման տարր
@@ -170,10 +153,6 @@ pdfjs-additional-layers = Լրացուցիչ շերտեր
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Էջը { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -182,8 +161,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Որոնում
.placeholder = Գտնել փաստաթղթում…
+ .title = Որոնում
pdfjs-find-previous-button =
.title = Գտնել արտայայտութեան նախորդ արտայայտութիւնը
pdfjs-find-previous-button-label = Նախորդը
diff --git a/packages/pdfjs-viewer/viewer/locale/ia/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ia/viewer.ftl
index e53f4b0c02c..2d31bb61178 100644
--- a/packages/pdfjs-viewer/viewer/locale/ia/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ia/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Attention: le file PDF non es integremente cargate pr
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Monstrar/celar le barra lateral
-pdfjs-toggle-sidebar-notification-button =
- .title = Monstrar/celar le barra lateral (le documento contine structura/attachamentos/stratos)
-pdfjs-toggle-sidebar-button-label = Monstrar/celar le barra lateral
-pdfjs-document-outline-button =
- .title = Monstrar le schema del documento (clic duple pro expander/contraher tote le elementos)
-pdfjs-document-outline-button-label = Schema del documento
-pdfjs-attachments-button =
- .title = Monstrar le annexos
-pdfjs-attachments-button-label = Annexos
-pdfjs-layers-button =
- .title = Monstrar stratos (clicca duple pro remontar tote le stratos al stato predefinite)
-pdfjs-layers-button-label = Stratos
-pdfjs-thumbs-button =
- .title = Monstrar le vignettes
-pdfjs-thumbs-button-label = Vignettes
pdfjs-current-outline-item-button =
.title = Trovar le elemento de structura actual
pdfjs-current-outline-item-button-label = Elemento de structura actual
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Altere stratos
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Pagina { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Cercar
.placeholder = Cercar in le documento…
+ .title = Cercar
pdfjs-find-previous-button =
.title = Trovar le previe occurrentia del phrase
pdfjs-find-previous-button-label = Previe
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Evidentia
pdfjs-editor-highlight-button-label = Evidentia
pdfjs-highlight-floating-button1 =
- .title = Evidentiar
.aria-label = Evidentiar
+ .title = Evidentiar
pdfjs-highlight-floating-button-label = Evidentiar
pdfjs-comment-floating-button =
- .title = Commento
.aria-label = Commento
+ .title = Commento
pdfjs-comment-floating-button-label = Commento
pdfjs-editor-comment-button =
- .title = Commento
.aria-label = Commento
+ .title = Commento
pdfjs-editor-comment-button-label = Commento
pdfjs-editor-signature-button =
.title = Adder signatura
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Commentos
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Clauder le barra lateral
.aria-label = Clauder le barra lateral
+ .title = Clauder le barra lateral
pdfjs-editor-comments-sidebar-close-button-label = Clauder le barra lateral
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Vide tu alco notabile? Evidentia lo e lassa un commentario.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Parametros del texto alternative d
pdfjs-editor-alt-text-settings-automatic-title = Texto alternative automatic
pdfjs-editor-alt-text-settings-create-model-button-label = Crear texto alternative automaticamente
pdfjs-editor-alt-text-settings-create-model-description = Suggere descriptiones pro adjutar le personas qui non pote vider le imagine o quando le imagine non carga.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Modello de intelligentia artificial del texto alternative ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Flue localmente sur tu apparato assi tu datos remane private. Necessari pro texto alternative automatic.
-pdfjs-editor-alt-text-settings-delete-model-button = Deler
-pdfjs-editor-alt-text-settings-download-model-button = Discargar
-pdfjs-editor-alt-text-settings-downloading-model-button = Discargante…
pdfjs-editor-alt-text-settings-editor-title = Rediger texto alternative
pdfjs-editor-alt-text-settings-show-dialog-button-label = Monstrar le redactor de texto alternative a pena on adde un imagine
pdfjs-editor-alt-text-settings-show-dialog-description = Te adjuta a verifica que tote tu imagines ha un texto alternative.
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Proprietates del firma digital
.aria-label = Proprietates del firma digital
+ .title = Proprietates del firma digital
pdfjs-digital-signature-properties-button-label = Proprietates del firma digital
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/id/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/id/viewer.ftl
index f5b84af0c60..eb788fad291 100644
--- a/packages/pdfjs-viewer/viewer/locale/id/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/id/viewer.ftl
@@ -166,23 +166,6 @@ pdfjs-printing-not-ready = Peringatan: Berkas PDF masih belum dimuat secara leng
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Aktif/Nonaktifkan Bilah Samping
-pdfjs-toggle-sidebar-notification-button =
- .title = Aktif/Nonaktifkan Bilah Samping (dokumen berisi kerangka/lampiran/lapisan)
-pdfjs-toggle-sidebar-button-label = Aktif/Nonaktifkan Bilah Samping
-pdfjs-document-outline-button =
- .title = Tampilkan Kerangka Dokumen (klik ganda untuk membentangkan/menciutkan semua item)
-pdfjs-document-outline-button-label = Kerangka Dokumen
-pdfjs-attachments-button =
- .title = Tampilkan Lampiran
-pdfjs-attachments-button-label = Lampiran
-pdfjs-layers-button =
- .title = Tampilkan Lapisan (klik ganda untuk mengatur ulang semua lapisan ke keadaan baku)
-pdfjs-layers-button-label = Lapisan
-pdfjs-thumbs-button =
- .title = Tampilkan Miniatur
-pdfjs-thumbs-button-label = Miniatur
pdfjs-current-outline-item-button =
.title = Cari Butir Ikhtisar Saat Ini
pdfjs-current-outline-item-button-label = Butir Ikhtisar Saat Ini
@@ -193,10 +176,6 @@ pdfjs-additional-layers = Lapisan Tambahan
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Laman { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -205,8 +184,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Temukan
.placeholder = Temukan di dokumen…
+ .title = Temukan
pdfjs-find-previous-button =
.title = Temukan kata sebelumnya
pdfjs-find-previous-button-label = Sebelumnya
@@ -293,12 +272,12 @@ pdfjs-editor-highlight-button =
.title = Sorot
pdfjs-editor-highlight-button-label = Sorot
pdfjs-highlight-floating-button1 =
- .title = Sorot
.aria-label = Sorot
+ .title = Sorot
pdfjs-highlight-floating-button-label = Sorot
pdfjs-comment-floating-button =
- .title = Komentar
.aria-label = Komentar
+ .title = Komentar
pdfjs-comment-floating-button-label = Komentar
pdfjs-editor-signature-button =
.title = Tambahkan tanda tangan
@@ -480,13 +459,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Pengaturan teks alternatif gambar
pdfjs-editor-alt-text-settings-automatic-title = Teks alternatif otomatis
pdfjs-editor-alt-text-settings-create-model-button-label = Buat teks alternatif secara otomatis
pdfjs-editor-alt-text-settings-create-model-description = Menyarankan deskripsi untuk membantu orang yang tidak dapat melihat gambar atau ketika gambar tidak termuat.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Model AI teks alternatif ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Berjalan secara lokal di perangkat Anda sehingga data Anda tetap pribadi. Diperlukan untuk teks alternatif otomatis.
-pdfjs-editor-alt-text-settings-delete-model-button = Hapus
-pdfjs-editor-alt-text-settings-download-model-button = Unduh
-pdfjs-editor-alt-text-settings-downloading-model-button = Mengunduh…
pdfjs-editor-alt-text-settings-editor-title = Editor teks alternatif
pdfjs-editor-alt-text-settings-show-dialog-button-label = Tampilkan editor teks alternatif segera saat menambahkan gambar
pdfjs-editor-alt-text-settings-show-dialog-description = Membantu Anda memastikan semua gambar Anda memiliki teks alternatif.
diff --git a/packages/pdfjs-viewer/viewer/locale/is/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/is/viewer.ftl
index 2f27e672f77..e9b41f6d8cf 100644
--- a/packages/pdfjs-viewer/viewer/locale/is/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/is/viewer.ftl
@@ -166,23 +166,6 @@ pdfjs-printing-not-ready = Aðvörun: Ekki er búið að hlaða inn allri PDF sk
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Víxla hliðarstiku af/á
-pdfjs-toggle-sidebar-notification-button =
- .title = Víxla hliðarstiku af/á (skjal inniheldur yfirlit/viðhengi/lög)
-pdfjs-toggle-sidebar-button-label = Víxla hliðarstiku af/á
-pdfjs-document-outline-button =
- .title = Sýna yfirlit skjals (tvísmelltu til að opna/loka öllum hlutum)
-pdfjs-document-outline-button-label = Efnisskipan skjals
-pdfjs-attachments-button =
- .title = Sýna viðhengi
-pdfjs-attachments-button-label = Viðhengi
-pdfjs-layers-button =
- .title = Birta lög (tvísmelltu til að endurstilla öll lög í sjálfgefna stöðu)
-pdfjs-layers-button-label = Lög
-pdfjs-thumbs-button =
- .title = Sýna smámyndir
-pdfjs-thumbs-button-label = Smámyndir
pdfjs-current-outline-item-button =
.title = Finna núverandi atriði efnisskipunar
pdfjs-current-outline-item-button-label = Núverandi atriði efnisskipunar
@@ -193,10 +176,6 @@ pdfjs-additional-layers = Viðbótarlög
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Síða { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -205,8 +184,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Leita
.placeholder = Leita í skjali…
+ .title = Leita
pdfjs-find-previous-button =
.title = Leita að fyrra tilfelli þessara orða
pdfjs-find-previous-button-label = Fyrri
@@ -297,8 +276,8 @@ pdfjs-editor-highlight-button =
.title = Áherslulita
pdfjs-editor-highlight-button-label = Áherslulita
pdfjs-highlight-floating-button1 =
- .title = Áherslulita
.aria-label = Áherslulita
+ .title = Áherslulita
pdfjs-highlight-floating-button-label = Áherslulita
pdfjs-editor-signature-button =
.title = Bæta við undirritun
@@ -462,13 +441,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Stillingar fyrir alt-texta myndar
pdfjs-editor-alt-text-settings-automatic-title = Sjálfvirkur alt-myndatexti
pdfjs-editor-alt-text-settings-create-model-button-label = Útbúa alt-myndatexta sjálfvirkt
pdfjs-editor-alt-text-settings-create-model-description = Stingur upp á lýsingum til að hjálpa fólki sem getur ekki séð myndina eða þegar myndin hleðst ekki inn.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Gervigreindarlíkan alt-myndatexta ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Keyrir staðbundið á tækinu þínu svo gögnin þín haldast undir þinni stjórn. Nauðsynlegt fyrir sjálfvirka alt-myndatexta.
-pdfjs-editor-alt-text-settings-delete-model-button = Eyða
-pdfjs-editor-alt-text-settings-download-model-button = Sækja
-pdfjs-editor-alt-text-settings-downloading-model-button = Sæki…
pdfjs-editor-alt-text-settings-editor-title = Ritill fyrir alt-myndatexta
pdfjs-editor-alt-text-settings-show-dialog-button-label = Sýna alt-myndatextaritil strax þegar mynd er bætt við
pdfjs-editor-alt-text-settings-show-dialog-description = Hjálpar þér að tryggja að allar myndirnar þínar séu með alt-myndatexta.
diff --git a/packages/pdfjs-viewer/viewer/locale/it/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/it/viewer.ftl
index 53f3856da3d..bffdb812d88 100644
--- a/packages/pdfjs-viewer/viewer/locale/it/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/it/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Attenzione: il PDF non è ancora stato caricato compl
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Attiva/disattiva barra laterale
-pdfjs-toggle-sidebar-notification-button =
- .title = Attiva/disattiva barra laterale (il documento contiene struttura/allegati/livelli)
-pdfjs-toggle-sidebar-button-label = Attiva/disattiva barra laterale
-pdfjs-document-outline-button =
- .title = Visualizza la struttura del documento (doppio clic per visualizzare/comprimere tutti gli elementi)
-pdfjs-document-outline-button-label = Struttura documento
-pdfjs-attachments-button =
- .title = Visualizza allegati
-pdfjs-attachments-button-label = Allegati
-pdfjs-layers-button =
- .title = Visualizza livelli (doppio clic per ripristinare tutti i livelli allo stato predefinito)
-pdfjs-layers-button-label = Livelli
-pdfjs-thumbs-button =
- .title = Mostra le miniature
-pdfjs-thumbs-button-label = Miniature
pdfjs-current-outline-item-button =
.title = Trova elemento struttura corrente
pdfjs-current-outline-item-button-label = Elemento struttura corrente
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Livelli aggiuntivi
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Pagina { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Trova
.placeholder = Trova nel documento…
+ .title = Trova
pdfjs-find-previous-button =
.title = Trova l’occorrenza precedente del testo da cercare
pdfjs-find-previous-button-label = Precedente
@@ -261,7 +240,7 @@ pdfjs-find-match-count =
# $limit (Number) - the maximum number of matches
pdfjs-find-match-count-limit =
{ $limit ->
- [one] Più di una { $limit } corrispondenza
+ [one] Più di { $limit } corrispondenza
*[other] Più di { $limit } corrispondenze
}
pdfjs-find-not-found = Testo non trovato
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Evidenzia
pdfjs-editor-highlight-button-label = Evidenzia
pdfjs-highlight-floating-button1 =
- .title = Evidenzia
.aria-label = Evidenzia
+ .title = Evidenzia
pdfjs-highlight-floating-button-label = Evidenzia
pdfjs-comment-floating-button =
- .title = Commenta
.aria-label = Commenta
+ .title = Commenta
pdfjs-comment-floating-button-label = Commenta
pdfjs-editor-comment-button =
- .title = Commenta
.aria-label = Commenta
+ .title = Commenta
pdfjs-editor-comment-button-label = Commenta
pdfjs-editor-signature-button =
.title = Aggiungi firma
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Commenti
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Chiudi la barra laterale
.aria-label = Chiudi la barra laterale
+ .title = Chiudi la barra laterale
pdfjs-editor-comments-sidebar-close-button-label = Chiudi la barra laterale
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Hai notato qualcosa di interessante? Evidenzialo e aggiungi un commento.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Impostazioni testo alternativo per
pdfjs-editor-alt-text-settings-automatic-title = Testo alternativo automatico
pdfjs-editor-alt-text-settings-create-model-button-label = Crea testo alternativo automaticamente
pdfjs-editor-alt-text-settings-create-model-description = Suggerisce una descrizione per le persone che non possono vedere l’immagine, o mostrata quando l’immagine non si carica.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Modello IA per il testo alternativo ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Viene eseguito localmente sul tuo dispositivo in modo che i tuoi dati rimangano riservati. È richiesto per la generazione automatica del testo alternativo.
-pdfjs-editor-alt-text-settings-delete-model-button = Elimina
-pdfjs-editor-alt-text-settings-download-model-button = Scarica
-pdfjs-editor-alt-text-settings-downloading-model-button = Download…
pdfjs-editor-alt-text-settings-editor-title = Modifica testo alternativo
pdfjs-editor-alt-text-settings-show-dialog-button-label = Mostra l’editor del testo alternativo non appena si aggiunge un’immagine
pdfjs-editor-alt-text-settings-show-dialog-description = Ti aiuta ad assicurarti che tutte le tue immagini abbiano il testo alternativo.
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Proprietà firma digitale
.aria-label = Proprietà firma digitale
+ .title = Proprietà firma digitale
pdfjs-digital-signature-properties-button-label = Proprietà firma digitale
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/ja/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ja/viewer.ftl
index 47db1c113ef..1360033de4b 100644
--- a/packages/pdfjs-viewer/viewer/locale/ja/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ja/viewer.ftl
@@ -183,23 +183,6 @@ pdfjs-printing-not-ready = 警告: PDF を印刷するための読み込みが
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = サイドバー表示を切り替えます
-pdfjs-toggle-sidebar-notification-button =
- .title = サイドバー表示を切り替えます (文書に含まれるアウトライン / 添付 / レイヤー)
-pdfjs-toggle-sidebar-button-label = サイドバーの切り替え
-pdfjs-document-outline-button =
- .title = 文書の目次を表示します (ダブルクリックで項目を開閉します)
-pdfjs-document-outline-button-label = 文書の目次
-pdfjs-attachments-button =
- .title = 添付ファイルを表示します
-pdfjs-attachments-button-label = 添付ファイル
-pdfjs-layers-button =
- .title = レイヤーを表示します (ダブルクリックですべてのレイヤーが初期状態に戻ります)
-pdfjs-layers-button-label = レイヤー
-pdfjs-thumbs-button =
- .title = 縮小版を表示します
-pdfjs-thumbs-button-label = 縮小版
pdfjs-current-outline-item-button =
.title = 現在のアウトライン項目を検索
pdfjs-current-outline-item-button-label = 現在のアウトライン項目
@@ -210,10 +193,6 @@ pdfjs-additional-layers = 追加レイヤー
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = { $page } ページ
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -521,13 +500,6 @@ pdfjs-editor-alt-text-settings-dialog-label = 画像の代替テキスト設定
pdfjs-editor-alt-text-settings-automatic-title = 自動代替テキスト
pdfjs-editor-alt-text-settings-create-model-button-label = 代替テキストを自動生成
pdfjs-editor-alt-text-settings-create-model-description = 画像が読み込まれない場合や見えない人のために説明を提案します。
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = 代替テキスト AI モデル ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = ローカルの端末上で実行されるためデータは非公開になります。代替テキストの自動生成に必要です。
-pdfjs-editor-alt-text-settings-delete-model-button = 削除
-pdfjs-editor-alt-text-settings-download-model-button = ダウンロード
-pdfjs-editor-alt-text-settings-downloading-model-button = ダウンロード中...
pdfjs-editor-alt-text-settings-editor-title = 代替テキストエディター
pdfjs-editor-alt-text-settings-show-dialog-button-label = 画像の追加時に代替テキストエディターを表示する
pdfjs-editor-alt-text-settings-show-dialog-description = すべての画像に代替テキストを追加する助けになります。
@@ -685,7 +657,7 @@ pdfjs-views-manager-pages-status-delete-button-label = 削除
pdfjs-views-manager-pages-status-export-selected-button-label = 選択したページをエクスポート...
# Variables:
# $count (Number) - the number of selected pages to be cut.
-pdfjs-views-manager-status-undo-cut-label = { $count } ページを切り取りしました
+pdfjs-views-manager-status-undo-cut-label = { $count } ページを切り取りました
# Variables:
# $count (Number) - the number of selected pages to be copied.
pdfjs-views-manager-pages-status-undo-copy-label = { $count } ページをコピーしました
diff --git a/packages/pdfjs-viewer/viewer/locale/ka/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ka/viewer.ftl
index 43a4cffd351..e53e9244f54 100644
--- a/packages/pdfjs-viewer/viewer/locale/ka/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ka/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = გაფრთხილება: PDF სრულ
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = გვერდითა ზოლის გამოჩენა/დამალვა
-pdfjs-toggle-sidebar-notification-button =
- .title = გვერდითი ზოლის გამოჩენა (შეიცავს სარჩევს/დანართს/შრეებს)
-pdfjs-toggle-sidebar-button-label = გვერდითა ზოლის გამოჩენა/დამალვა
-pdfjs-document-outline-button =
- .title = დოკუმენტის სარჩევის ჩვენება (ორმაგი წკაპით თითოეულის ჩამოშლა/აკეცვა)
-pdfjs-document-outline-button-label = დოკუმენტის სარჩევი
-pdfjs-attachments-button =
- .title = დანართების ჩვენება
-pdfjs-attachments-button-label = დანართები
-pdfjs-layers-button =
- .title = შრეების გამოჩენა (ორმაგი წკაპით ყველა შრის ნაგულისხმევზე დაბრუნება)
-pdfjs-layers-button-label = შრეები
-pdfjs-thumbs-button =
- .title = შეთვალიერება
-pdfjs-thumbs-button-label = ესკიზები
pdfjs-current-outline-item-button =
.title = მიმდინარე გვერდის მონახვა სარჩევში
pdfjs-current-outline-item-button-label = მიმდინარე გვერდი სარჩევში
@@ -214,10 +197,6 @@ pdfjs-additional-layers = დამატებითი შრეები
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = გვერდი { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = ძიება
.placeholder = პოვნა დოკუმენტში…
+ .title = ძიება
pdfjs-find-previous-button =
.title = წინა დამთხვევის პოვნა
pdfjs-find-previous-button-label = წინა
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = მონიშვნა
pdfjs-editor-highlight-button-label = მონიშვნა
pdfjs-highlight-floating-button1 =
- .title = მონიშვნა
.aria-label = მონიშვნა
+ .title = მონიშვნა
pdfjs-highlight-floating-button-label = მონიშვნა
pdfjs-comment-floating-button =
- .title = შენიშვნა
.aria-label = შენიშვნა
+ .title = შენიშვნა
pdfjs-comment-floating-button-label = შენიშვნა
pdfjs-editor-comment-button =
- .title = შენიშვნა
.aria-label = შენიშვნა
+ .title = შენიშვნა
pdfjs-editor-comment-button-label = შენიშვნა
pdfjs-editor-signature-button =
.title = ხელმოწერის დამატება
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] შენიშვნა
}
pdfjs-editor-comments-sidebar-close-button =
- .title = გვერდითი ზოლის დახურვა
.aria-label = გვერდითი ზოლის დახურვა
+ .title = გვერდითი ზოლის დახურვა
pdfjs-editor-comments-sidebar-close-button-label = გვერდითი ზოლის დახურვა
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = რამე საყურადღებოს წააწყდით? გააფერადეთ და დაურთეთ შენიშვნა.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = სურათის დართ
pdfjs-editor-alt-text-settings-automatic-title = ავტომატურად დართული წარწერა
pdfjs-editor-alt-text-settings-create-model-button-label = დართული წარწერის თვითშედგენა
pdfjs-editor-alt-text-settings-create-model-description = აღწერს სურათს მათთვის, ვინც ვერ ხედავს ან ვისთანაც ვერ ჩაიტვირთება.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = დართული წარწერის შესადგენი AI-მოდელი ({ $totalSize } მბაიტი)
-pdfjs-editor-alt-text-settings-ai-model-description = ეშვება ადგილობრივად თქვენს მოწყობილობაზე, ასე რომ მონაცემები დარჩება პირადი. საჭიროა დართული წარწერების თვითშედგენისთვის.
-pdfjs-editor-alt-text-settings-delete-model-button = წაშლა
-pdfjs-editor-alt-text-settings-download-model-button = ჩამოტვირთვა
-pdfjs-editor-alt-text-settings-downloading-model-button = ჩამოიტვრითება...
pdfjs-editor-alt-text-settings-editor-title = დართული წარწერის ჩამსწორებელი
pdfjs-editor-alt-text-settings-show-dialog-button-label = გამოჩნდეს დართული წარწერის ჩამსწორებელი სურათის დამატებისთანავე
pdfjs-editor-alt-text-settings-show-dialog-description = უზრუნველყოფს, რომ თქვენს ყველა სურათს ახლდეს დართული წარწერა.
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = ციფრული ხელმოწერის პარამეტრები
.aria-label = ციფრული ხელმოწერის პარამეტრები
+ .title = ციფრული ხელმოწერის პარამეტრები
pdfjs-digital-signature-properties-button-label = ციფრული ხელმოწერის პარამეტრები
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/kab/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/kab/viewer.ftl
index 8cd604c5390..fb87c9b6e4d 100644
--- a/packages/pdfjs-viewer/viewer/locale/kab/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/kab/viewer.ftl
@@ -166,23 +166,6 @@ pdfjs-printing-not-ready = Ɣuṛ-k: Afaylu PDF ur d-yuli ara imeṛṛa akken a
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Sken/Fer agalis adisan
-pdfjs-toggle-sidebar-notification-button =
- .title = Ffer/Sekn agalis adisan (isemli yegber aɣawas/ticeqqufin yeddan/tissiwin)
-pdfjs-toggle-sidebar-button-label = Sken/Fer agalis adisan
-pdfjs-document-outline-button =
- .title = Sken isemli (Senned snat tikal i wesemɣer/Afneẓ n iferdisen meṛṛa)
-pdfjs-document-outline-button-label = Isɣalen n isebtar
-pdfjs-attachments-button =
- .title = Sken ticeqqufin yeddan
-pdfjs-attachments-button-label = Ticeqqufin yeddan
-pdfjs-layers-button =
- .title = Skeen tissiwin (sit sin yiberdan i uwennez n meṛṛa tissiwin ɣer waddad amezwer)
-pdfjs-layers-button-label = Tissiwin
-pdfjs-thumbs-button =
- .title = Sken tanfult.
-pdfjs-thumbs-button-label = Tinfulin
pdfjs-current-outline-item-button =
.title = Af-d aferdis n uɣawas amiran
pdfjs-current-outline-item-button-label = Aferdis n uɣawas amiran
@@ -193,10 +176,6 @@ pdfjs-additional-layers = Tissiwin-nniḍen
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Asebter { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -205,8 +184,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Nadi
.placeholder = Nadi deg isemli…
+ .title = Nadi
pdfjs-find-previous-button =
.title = Aff-d tamseḍriwt n twinest n deffir
pdfjs-find-previous-button-label = Azewwar
@@ -301,16 +280,16 @@ pdfjs-editor-highlight-button =
.title = Derrer
pdfjs-editor-highlight-button-label = Derrer
pdfjs-highlight-floating-button1 =
- .title = Derrer
.aria-label = Derrer
+ .title = Derrer
pdfjs-highlight-floating-button-label = Derrer
pdfjs-comment-floating-button =
- .title = Wennet
.aria-label = Wennet
+ .title = Wennet
pdfjs-comment-floating-button-label = Awennit
pdfjs-editor-comment-button =
- .title = Wennet
.aria-label = Wennet
+ .title = Wennet
pdfjs-editor-comment-button-label = Awennit
pdfjs-editor-signature-button =
.title = Rnu azmul
@@ -383,8 +362,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Iwenniten
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Mdel agalis adisan
.aria-label = Mdel agalis adisan
+ .title = Mdel agalis adisan
pdfjs-editor-comments-sidebar-close-button-label = Mdel agalis adisan
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Twalaḍ ayen i ak⋅akem-iɛeǧben? Sebrureq-it, ternuḍ eǧǧ awennit.
@@ -502,12 +481,6 @@ pdfjs-image-alt-text-settings-button-label = Iɣewwaṛen n weḍris amlellay n
pdfjs-editor-alt-text-settings-dialog-label = Iɣewwaṛen n weḍris amlellay n tugna
pdfjs-editor-alt-text-settings-automatic-title = Aḍris amlellay awurman
pdfjs-editor-alt-text-settings-create-model-button-label = Rnu aḍris niḍen s wudem awurman
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Tamudemt n IA n uḍris amlellay ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-delete-model-button = Kkes
-pdfjs-editor-alt-text-settings-download-model-button = Sader
-pdfjs-editor-alt-text-settings-downloading-model-button = Asader…
pdfjs-editor-alt-text-settings-editor-title = Amaẓrag n weḍris amlellay
pdfjs-editor-alt-text-settings-show-dialog-button-label = Sken amaẓrag n uḍris amlellay akken kan ara ternuḍ tugna
pdfjs-editor-alt-text-settings-show-dialog-description = Yettall ad tḍemneḍ tugniwin sɛant aḍris amlellay.
diff --git a/packages/pdfjs-viewer/viewer/locale/kk/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/kk/viewer.ftl
index f6a9be84599..f41b40f3261 100644
--- a/packages/pdfjs-viewer/viewer/locale/kk/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/kk/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Ескерту: Баспаға шығару үшін,
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Бүйір панелін көрсету/жасыру
-pdfjs-toggle-sidebar-notification-button =
- .title = Бүйір панелін көрсету/жасыру (құжатта құрылымы/салынымдар/қабаттар бар)
-pdfjs-toggle-sidebar-button-label = Бүйір панелін көрсету/жасыру
-pdfjs-document-outline-button =
- .title = Құжат құрылымын көрсету (барлық нәрселерді жазық қылу/жинау үшін қос шерту керек)
-pdfjs-document-outline-button-label = Құжат құрамасы
-pdfjs-attachments-button =
- .title = Салынымдарды көрсету
-pdfjs-attachments-button-label = Салынымдар
-pdfjs-layers-button =
- .title = Қабаттарды көрсету (барлық қабаттарды бастапқы күйге келтіру үшін екі рет шертіңіз)
-pdfjs-layers-button-label = Қабаттар
-pdfjs-thumbs-button =
- .title = Кіші көріністерді көрсету
-pdfjs-thumbs-button-label = Кіші көріністер
pdfjs-current-outline-item-button =
.title = Құрылымның ағымдағы элементін табу
pdfjs-current-outline-item-button-label = Құрылымның ағымдағы элементі
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Қосымша қабаттар
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = { $page } парағы
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Табу
.placeholder = Құжаттан табу…
+ .title = Табу
pdfjs-find-previous-button =
.title = Осы сөздердің мәтіннен алдыңғы кездесуін табу
pdfjs-find-previous-button-label = Алдыңғысы
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Ерекшелеу
pdfjs-editor-highlight-button-label = Ерекшелеу
pdfjs-highlight-floating-button1 =
- .title = Ерекшелеу
.aria-label = Ерекшелеу
+ .title = Ерекшелеу
pdfjs-highlight-floating-button-label = Ерекшелеу
pdfjs-comment-floating-button =
- .title = Түсіндірме
.aria-label = Түсіндірме
+ .title = Түсіндірме
pdfjs-comment-floating-button-label = Түсіндірме
pdfjs-editor-comment-button =
- .title = Түсіндірме
.aria-label = Түсіндірме
+ .title = Түсіндірме
pdfjs-editor-comment-button-label = Түсіндірме
pdfjs-editor-signature-button =
.title = Қолтаңбаны қосу
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Түсіндірмелер
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Бүйір панелін жабу
.aria-label = Бүйір панелін жабу
+ .title = Бүйір панелін жабу
pdfjs-editor-comments-sidebar-close-button-label = Бүйір панелін жабу
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Назар аударарлық бірдеңе көрдіңіз бе? Оны ерекшелеп, түсіндірме қалдырыңыз.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Суреттің балама мә
pdfjs-editor-alt-text-settings-automatic-title = Автоматты балама мәтін
pdfjs-editor-alt-text-settings-create-model-button-label = Балама мәтінді автоматты түрде жасау
pdfjs-editor-alt-text-settings-create-model-description = Суретті көре алмайтын адамдар үшін немесе сурет жүктелмеген кезіне арналған сипаттамаларды ұсынады.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Баламалы мәтіннің ЖИ моделі ({ $totalSize } МБ)
-pdfjs-editor-alt-text-settings-ai-model-description = Деректеріңіз жеке болып қалуы үшін құрылғыңызда жергілікті түрде жұмыс істейді. Автоматты балама мәтін үшін қажет.
-pdfjs-editor-alt-text-settings-delete-model-button = Өшіру
-pdfjs-editor-alt-text-settings-download-model-button = Жүктеп алу
-pdfjs-editor-alt-text-settings-downloading-model-button = Жүктеліп алынуда…
pdfjs-editor-alt-text-settings-editor-title = Баламалы мәтін редакторы
pdfjs-editor-alt-text-settings-show-dialog-button-label = Суретті қосқанда балама мәтін редакторын бірден көрсету
pdfjs-editor-alt-text-settings-show-dialog-description = Барлық суреттерде балама мәтін бар екеніне көз жеткізуге көмектеседі.
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Цифрлық қолтаңба қасиеттері
.aria-label = Цифрлық қолтаңба қасиеттері
+ .title = Цифрлық қолтаңба қасиеттері
pdfjs-digital-signature-properties-button-label = Цифрлық қолтаңба қасиеттері
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/km/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/km/viewer.ftl
index cf899f4725c..4eedabe4d65 100644
--- a/packages/pdfjs-viewer/viewer/locale/km/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/km/viewer.ftl
@@ -117,28 +117,12 @@ pdfjs-printing-not-ready = ព្រមាន៖ PDF មិនត្រូវ
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = បិទ/បើកគ្រាប់រំកិល
-pdfjs-toggle-sidebar-button-label = បិទ/បើកគ្រាប់រំកិល
-pdfjs-document-outline-button =
- .title = បង្ហាញគ្រោងឯកសារ (ចុចទ្វេដងដើម្បីពង្រីក/បង្រួមធាតុទាំងអស់)
-pdfjs-document-outline-button-label = គ្រោងឯកសារ
-pdfjs-attachments-button =
- .title = បង្ហាញឯកសារភ្ជាប់
-pdfjs-attachments-button-label = ឯកសារភ្ជាប់
-pdfjs-thumbs-button =
- .title = បង្ហាញរូបភាពតូចៗ
-pdfjs-thumbs-button-label = រួបភាពតូចៗ
pdfjs-findbar-button =
.title = រកនៅក្នុងឯកសារ
pdfjs-findbar-button-label = រក
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = ទំព័រ { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -147,8 +131,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = រក
.placeholder = រកនៅក្នុងឯកសារ...
+ .title = រក
pdfjs-find-previous-button =
.title = រកពាក្យ ឬឃ្លាដែលបានជួបមុន
pdfjs-find-previous-button-label = មុន
@@ -220,10 +204,6 @@ pdfjs-editor-highlight-show-all-button =
pdfjs-editor-new-alt-text-not-now-button = មិនមែនឥឡូវ
-## Image alt-text settings
-
-pdfjs-editor-alt-text-settings-delete-model-button = លុប
-
## Dialog buttons
pdfjs-editor-add-signature-cancel-button = បោះបង់
diff --git a/packages/pdfjs-viewer/viewer/locale/kn/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/kn/viewer.ftl
index 0da25c51523..5d4f1ce16ba 100644
--- a/packages/pdfjs-viewer/viewer/locale/kn/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/kn/viewer.ftl
@@ -101,26 +101,12 @@ pdfjs-printing-not-ready = ಎಚ್ಚರಿಕೆ: PDF ಕಡತವು ಮು
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = ಬದಿಪಟ್ಟಿಯನ್ನು ಹೊರಳಿಸು
-pdfjs-toggle-sidebar-button-label = ಬದಿಪಟ್ಟಿಯನ್ನು ಹೊರಳಿಸು
-pdfjs-document-outline-button-label = ದಸ್ತಾವೇಜಿನ ಹೊರರೇಖೆ
-pdfjs-attachments-button =
- .title = ಲಗತ್ತುಗಳನ್ನು ತೋರಿಸು
-pdfjs-attachments-button-label = ಲಗತ್ತುಗಳು
-pdfjs-thumbs-button =
- .title = ಚಿಕ್ಕಚಿತ್ರದಂತೆ ತೋರಿಸು
-pdfjs-thumbs-button-label = ಚಿಕ್ಕಚಿತ್ರಗಳು
pdfjs-findbar-button =
.title = ದಸ್ತಾವೇಜಿನಲ್ಲಿ ಹುಡುಕು
pdfjs-findbar-button-label = ಹುಡುಕು
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = ಪುಟ { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -129,8 +115,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = ಹುಡುಕು
.placeholder = ದಸ್ತಾವೇಜಿನಲ್ಲಿ ಹುಡುಕು…
+ .title = ಹುಡುಕು
pdfjs-find-previous-button =
.title = ವಾಕ್ಯದ ಹಿಂದಿನ ಇರುವಿಕೆಯನ್ನು ಹುಡುಕು
pdfjs-find-previous-button-label = ಹಿಂದಿನ
diff --git a/packages/pdfjs-viewer/viewer/locale/ko/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ko/viewer.ftl
index 26346cf9830..6fa456c32ae 100644
--- a/packages/pdfjs-viewer/viewer/locale/ko/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ko/viewer.ftl
@@ -183,26 +183,9 @@ pdfjs-printing-not-ready = 경고: 이 PDF를 인쇄를 할 수 있을 정도로
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = 사이드바 표시/숨기기
-pdfjs-toggle-sidebar-notification-button =
- .title = 사이드바 표시/숨기기 (문서에 아웃라인/첨부파일/레이어 포함됨)
-pdfjs-toggle-sidebar-button-label = 사이드바 표시/숨기기
-pdfjs-document-outline-button =
- .title = 문서 아웃라인 보기 (더블 클릭해서 모든 항목 펼치기/접기)
-pdfjs-document-outline-button-label = 문서 아웃라인
-pdfjs-attachments-button =
- .title = 첨부파일 보기
-pdfjs-attachments-button-label = 첨부파일
-pdfjs-layers-button =
- .title = 레이어 보기 (더블 클릭해서 모든 레이어를 기본 상태로 재설정)
-pdfjs-layers-button-label = 레이어
-pdfjs-thumbs-button =
- .title = 미리보기
-pdfjs-thumbs-button-label = 미리보기
pdfjs-current-outline-item-button =
- .title = 현재 아웃라인 항목 찾기
-pdfjs-current-outline-item-button-label = 현재 아웃라인 항목
+ .title = 현재 개요 항목 찾기
+pdfjs-current-outline-item-button-label = 현재 개요 항목
pdfjs-findbar-button =
.title = 검색
pdfjs-findbar-button-label = 검색
@@ -210,10 +193,6 @@ pdfjs-additional-layers = 추가 레이어
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = { $page } 페이지
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -231,8 +210,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = 찾기
.placeholder = 문서에서 찾기…
+ .title = 찾기
pdfjs-find-previous-button =
.title = 지정 문자열에 일치하는 1개 부분을 검색
pdfjs-find-previous-button-label = 이전
@@ -319,16 +298,16 @@ pdfjs-editor-highlight-button =
.title = 강조 표시
pdfjs-editor-highlight-button-label = 강조 표시
pdfjs-highlight-floating-button1 =
- .title = 강조 표시
.aria-label = 강조 표시
+ .title = 강조 표시
pdfjs-highlight-floating-button-label = 강조 표시
pdfjs-comment-floating-button =
- .title = 주석
.aria-label = 주석
+ .title = 주석
pdfjs-comment-floating-button-label = 주석
pdfjs-editor-comment-button =
- .title = 주석
.aria-label = 주석
+ .title = 주석
pdfjs-editor-comment-button-label = 주석
pdfjs-editor-signature-button =
.title = 서명 추가
@@ -397,8 +376,8 @@ pdfjs-free-text2 =
# $count (Number) - the number of comments.
pdfjs-editor-comments-sidebar-title = 주석
pdfjs-editor-comments-sidebar-close-button =
- .title = 사이드바 닫기
.aria-label = 사이드바 닫기
+ .title = 사이드바 닫기
pdfjs-editor-comments-sidebar-close-button-label = 사이드바 닫기
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = 눈에 띄는 내용이 있나요? 해당 부분을 강조 표시하고 주석을 남겨주세요.
@@ -467,9 +446,9 @@ pdfjs-editor-colorpicker-red =
## Show all highlights
## This is a toggle button to show/hide all the highlights.
-pdfjs-editor-highlight-show-all-button-label = 모두 보기
+pdfjs-editor-highlight-show-all-button-label = 모두 표시
pdfjs-editor-highlight-show-all-button =
- .title = 모두 보기
+ .title = 모두 표시
## New alt-text dialog
## Group note for entire feature: Alternative text (alt text) helps when people can't see the image. This feature includes a tool to create alt text automatically using an AI model that works locally on the user's device to preserve privacy.
@@ -521,13 +500,6 @@ pdfjs-editor-alt-text-settings-dialog-label = 이미지 대체 텍스트 설정
pdfjs-editor-alt-text-settings-automatic-title = 자동 대체 텍스트
pdfjs-editor-alt-text-settings-create-model-button-label = 자동으로 대체 텍스트 생성
pdfjs-editor-alt-text-settings-create-model-description = 이미지가 보이지 않거나 이미지가 로딩되지 않을 때 도움이 되는 설명을 제안합니다.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = 대체 텍스트 AI 모델 ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = 사용자의 장치에서 로컬로 실행되므로 데이터가 비공개로 유지됩니다. 자동 대체 텍스트에 필요합니다.
-pdfjs-editor-alt-text-settings-delete-model-button = 삭제
-pdfjs-editor-alt-text-settings-download-model-button = 다운로드
-pdfjs-editor-alt-text-settings-downloading-model-button = 다운로드 중…
pdfjs-editor-alt-text-settings-editor-title = 대체 텍스트 편집기
pdfjs-editor-alt-text-settings-show-dialog-button-label = 이미지 추가 시 바로 대체 텍스트 편집기 표시
pdfjs-editor-alt-text-settings-show-dialog-description = 모든 이미지에 대체 텍스트가 있는지 확인하는 데 도움이 됩니다.
@@ -652,7 +624,7 @@ pdfjs-editor-add-comment-button =
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
pdfjs-toggle-views-manager-notification-button =
- .title = 사이드바 표시/숨기기 (문서에 미리보기/아웃라인/첨부파일/레이어 포함됨)
+ .title = 사이드바 표시/숨기기 (문서에 미리보기/개요/첨부파일/레이어 포함됨)
pdfjs-toggle-views-manager-button1-label = 페이지 관리
pdfjs-views-manager-sidebar =
.aria-label = 사이드바
@@ -662,13 +634,13 @@ pdfjs-views-manager-view-selector-button =
.title = 보기
pdfjs-views-manager-view-selector-button-label = 보기
pdfjs-views-manager-pages-title = 페이지
-pdfjs-views-manager-outlines-title1 = 문서 아웃라인
- .title = 문서 아웃라인 (더블 클릭해서 모든 항목 펼치기/접기)
+pdfjs-views-manager-outlines-title1 = 문서 개요
+ .title = 문서 개요 (더블 클릭해서 모든 항목 펼치기/접기)
pdfjs-views-manager-attachments-title = 첨부파일
pdfjs-views-manager-layers-title1 = 레이어
.title = 레이어 (더블 클릭해서 모든 레이어를 기본 상태로 재설정)
pdfjs-views-manager-pages-option-label = 페이지
-pdfjs-views-manager-outlines-option-label = 문서 아웃라인
+pdfjs-views-manager-outlines-option-label = 문서 개요
pdfjs-views-manager-attachments-option-label = 첨부파일
pdfjs-views-manager-layers-option-label = 레이어
pdfjs-views-manager-add-file-button =
@@ -720,8 +692,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = 디지털 서명 속성
.aria-label = 디지털 서명 속성
+ .title = 디지털 서명 속성
pdfjs-digital-signature-properties-button-label = 디지털 서명 속성
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/lij/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/lij/viewer.ftl
index 8847b258dfa..3164df16656 100644
--- a/packages/pdfjs-viewer/viewer/locale/lij/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/lij/viewer.ftl
@@ -140,28 +140,12 @@ pdfjs-printing-not-ready = Atençion: o PDF o no l'é ancon caregou conpletament
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Ativa/dizativa bara de scianco
-pdfjs-toggle-sidebar-button-label = Ativa/dizativa bara de scianco
-pdfjs-document-outline-button =
- .title = Fanni vedde o contorno do documento (scicca doggio pe espande/ridue tutti i elementi)
-pdfjs-document-outline-button-label = Contorno do documento
-pdfjs-attachments-button =
- .title = Fanni vedde alegæ
-pdfjs-attachments-button-label = Alegæ
-pdfjs-thumbs-button =
- .title = Mostra miniatue
-pdfjs-thumbs-button-label = Miniatue
pdfjs-findbar-button =
.title = Treuva into documento
pdfjs-findbar-button-label = Treuva
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Pagina { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -170,8 +154,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Treuva
.placeholder = Treuva into documento…
+ .title = Treuva
pdfjs-find-previous-button =
.title = Treuva a ripetiçion precedente do testo da çercâ
pdfjs-find-previous-button-label = Precedente
diff --git a/packages/pdfjs-viewer/viewer/locale/lo/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/lo/viewer.ftl
index 492c8cf1c87..695f74289d6 100644
--- a/packages/pdfjs-viewer/viewer/locale/lo/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/lo/viewer.ftl
@@ -149,23 +149,6 @@ pdfjs-printing-not-ready = ຄໍາເຕືອນ: PDF ບໍ່ໄ
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = ເປີດ/ປິດແຖບຂ້າງ
-pdfjs-toggle-sidebar-notification-button =
- .title = ສະຫຼັບແຖບດ້ານຂ້າງ (ເອກະສານປະກອບມີໂຄງຮ່າງ/ໄຟລ໌ແນບ/ຊັ້ນຂໍ້ມູນ)
-pdfjs-toggle-sidebar-button-label = ເປີດ/ປິດແຖບຂ້າງ
-pdfjs-document-outline-button =
- .title = ສະແດງໂຄງຮ່າງເອກະສານ (ກົດສອງຄັ້ງເພື່ອຂະຫຍາຍ / ຫຍໍ້ລາຍການທັງຫມົດ)
-pdfjs-document-outline-button-label = ເຄົ້າຮ່າງເອກະສານ
-pdfjs-attachments-button =
- .title = ສະແດງໄຟລ໌ແນບ
-pdfjs-attachments-button-label = ໄຟລ໌ແນບ
-pdfjs-layers-button =
- .title = ສະແດງຊັ້ນຂໍ້ມູນ (ຄລິກສອງເທື່ອເພື່ອຣີເຊັດຊັ້ນຂໍ້ມູນທັງໝົດໃຫ້ເປັນສະຖານະເລີ່ມຕົ້ນ)
-pdfjs-layers-button-label = ຊັ້ນ
-pdfjs-thumbs-button =
- .title = ສະແດງຮູບຫຍໍ້
-pdfjs-thumbs-button-label = ຮູບຕົວຢ່າງ
pdfjs-current-outline-item-button =
.title = ຊອກຫາລາຍການໂຄງຮ່າງປະຈຸບັນ
pdfjs-current-outline-item-button-label = ລາຍການໂຄງຮ່າງປະຈຸບັນ
@@ -176,10 +159,6 @@ pdfjs-additional-layers = ຊັ້ນຂໍ້ມູນເພີ່ມເຕີ
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = ໜ້າ { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -188,8 +167,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = ຄົ້ນຫາ
.placeholder = ຊອກຫາໃນເອກະສານ...
+ .title = ຄົ້ນຫາ
pdfjs-find-previous-button =
.title = ຊອກຫາການປະກົດຕົວທີ່ຜ່ານມາຂອງປະໂຫຍກ
pdfjs-find-previous-button-label = ກ່ອນຫນ້ານີ້
diff --git a/packages/pdfjs-viewer/viewer/locale/lt/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/lt/viewer.ftl
index f15d1f9dd95..b9bd2052d92 100644
--- a/packages/pdfjs-viewer/viewer/locale/lt/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/lt/viewer.ftl
@@ -143,23 +143,6 @@ pdfjs-printing-not-ready = Dėmesio! PDF failas dar nėra pilnai įkeltas spausd
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Rodyti / slėpti šoninį polangį
-pdfjs-toggle-sidebar-notification-button =
- .title = Parankinė (dokumentas turi struktūrą / priedų / sluoksnių)
-pdfjs-toggle-sidebar-button-label = Šoninis polangis
-pdfjs-document-outline-button =
- .title = Rodyti dokumento struktūrą (spustelėkite dukart norėdami išplėsti/suskleisti visus elementus)
-pdfjs-document-outline-button-label = Dokumento struktūra
-pdfjs-attachments-button =
- .title = Rodyti priedus
-pdfjs-attachments-button-label = Priedai
-pdfjs-layers-button =
- .title = Rodyti sluoksnius (spustelėkite dukart, norėdami atstatyti visus sluoksnius į numatytąją būseną)
-pdfjs-layers-button-label = Sluoksniai
-pdfjs-thumbs-button =
- .title = Rodyti puslapių miniatiūras
-pdfjs-thumbs-button-label = Miniatiūros
pdfjs-current-outline-item-button =
.title = Rasti dabartinį struktūros elementą
pdfjs-current-outline-item-button-label = Dabartinis struktūros elementas
@@ -170,10 +153,6 @@ pdfjs-additional-layers = Papildomi sluoksniai
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = { $page } puslapis
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -182,8 +161,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Rasti
.placeholder = Rasti dokumente…
+ .title = Rasti
pdfjs-find-previous-button =
.title = Ieškoti ankstesnio frazės egzemplioriaus
pdfjs-find-previous-button-label = Ankstesnis
diff --git a/packages/pdfjs-viewer/viewer/locale/ltg/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ltg/viewer.ftl
index d837f92d449..1b5e038c71f 100644
--- a/packages/pdfjs-viewer/viewer/locale/ltg/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ltg/viewer.ftl
@@ -140,28 +140,12 @@ pdfjs-printing-not-ready = Uzmaneibu: PDF nav pilneibā īluodeits drukuošonai.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Puorslēgt suonu jūslu
-pdfjs-toggle-sidebar-button-label = Puorslēgt suonu jūslu
-pdfjs-document-outline-button =
- .title = Show Document Outline (double-click to expand/collapse all items)
-pdfjs-document-outline-button-label = Dokumenta saturs
-pdfjs-attachments-button =
- .title = Show Attachments
-pdfjs-attachments-button-label = Attachments
-pdfjs-thumbs-button =
- .title = Paruodeit seiktālus
-pdfjs-thumbs-button-label = Seiktāli
pdfjs-findbar-button =
.title = Mekleit dokumentā
pdfjs-findbar-button-label = Mekleit
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Lopa { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -170,8 +154,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Mekleit
.placeholder = Mekleit dokumentā…
+ .title = Mekleit
pdfjs-find-previous-button =
.title = Atrast īprīkšejū
pdfjs-find-previous-button-label = Īprīkšejā
diff --git a/packages/pdfjs-viewer/viewer/locale/lv/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/lv/viewer.ftl
index e82433af296..d140cc258a2 100644
--- a/packages/pdfjs-viewer/viewer/locale/lv/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/lv/viewer.ftl
@@ -64,11 +64,11 @@ pdfjs-cursor-hand-tool-button =
.title = Aktivēt rokas rīku
pdfjs-cursor-hand-tool-button-label = Rokas rīks
pdfjs-scroll-vertical-button =
- .title = Izmantot vertikālo ritināšanu
-pdfjs-scroll-vertical-button-label = Vertikālā ritināšana
+ .title = Izmantot statenisko ritināšanu
+pdfjs-scroll-vertical-button-label = Stateniskā ritināšana
pdfjs-scroll-horizontal-button =
- .title = Izmantot horizontālo ritināšanu
-pdfjs-scroll-horizontal-button-label = Horizontālā ritināšana
+ .title = Izmantot līmenisko ritināšanu
+pdfjs-scroll-horizontal-button-label = Līmeniskā ritināšana
pdfjs-scroll-wrapped-button =
.title = Izmantot apkļauto ritināšanu
pdfjs-scroll-wrapped-button-label = Apkļautā ritināšana
@@ -87,7 +87,7 @@ pdfjs-spread-even-button-label = Pāra izpletumi
pdfjs-document-properties-button =
.title = Dokumenta iestatījumi…
pdfjs-document-properties-button-label = Dokumenta iestatījumi…
-pdfjs-document-properties-file-name = Faila nosaukums:
+pdfjs-document-properties-file-name = Datnes nosaukums:
pdfjs-document-properties-file-size = Faila izmērs:
pdfjs-document-properties-title = Nosaukums:
pdfjs-document-properties-author = Autors:
@@ -127,6 +127,7 @@ pdfjs-document-properties-linearized = Ātrā tīmekļa skats:
pdfjs-document-properties-linearized-yes = Jā
pdfjs-document-properties-linearized-no = Nē
pdfjs-document-properties-close-button = Aizvērt
+pdfjs-digital-signature-properties-view-certificate = Apskatīt sertifikātu
## Print
@@ -140,28 +141,12 @@ pdfjs-printing-not-ready = Uzmanību: PDF nav pilnībā ielādēts drukāšanai.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Pārslēgt sānu joslu
-pdfjs-toggle-sidebar-button-label = Pārslēgt sānu joslu
-pdfjs-document-outline-button =
- .title = Rādīt dokumenta struktūru (veiciet dubultklikšķi lai izvērstu/sakļautu visus vienumus)
-pdfjs-document-outline-button-label = Dokumenta saturs
-pdfjs-attachments-button =
- .title = Rādīt pielikumus
-pdfjs-attachments-button-label = Pielikumi
-pdfjs-thumbs-button =
- .title = Parādīt sīktēlus
-pdfjs-thumbs-button-label = Sīktēli
pdfjs-findbar-button =
.title = Meklēt dokumentā
pdfjs-findbar-button-label = Meklēt
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Lapa { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -170,20 +155,21 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Meklēt
.placeholder = Meklēt dokumentā…
+ .title = Meklēt
pdfjs-find-previous-button =
.title = Atrast iepriekšējo
pdfjs-find-previous-button-label = Iepriekšējā
pdfjs-find-next-button =
.title = Atrast nākamo
pdfjs-find-next-button-label = Nākamā
-pdfjs-find-highlight-checkbox = Iekrāsot visas
-pdfjs-find-match-case-checkbox-label = Lielo, mazo burtu jutīgs
+pdfjs-find-highlight-checkbox = Izcelt visus
+pdfjs-find-match-case-checkbox-label = Lielo un mazo burtu atbilstība
+pdfjs-find-match-diacritics-checkbox-label = Diakritisko zīmju atbilstība
pdfjs-find-entire-word-checkbox-label = Veselus vārdus
pdfjs-find-reached-top = Sasniegts dokumenta sākums, turpinām no beigām
pdfjs-find-reached-bottom = Sasniegtas dokumenta beigas, turpinām no sākuma
-pdfjs-find-not-found = Frāze nav atrasta
+pdfjs-find-not-found = Vārdkopa nav atrasta
## Predefined zoom values
@@ -198,8 +184,8 @@ pdfjs-page-scale-percent = { $scale }%
## Loading indicator messages
pdfjs-loading-error = Ielādējot PDF notika kļūda.
-pdfjs-invalid-file-error = Nederīgs vai bojāts PDF fails.
-pdfjs-missing-file-error = PDF fails nav atrasts.
+pdfjs-invalid-file-error = Nederīga vai bojāt PDF datne.
+pdfjs-missing-file-error = PDF datne nav atrasta.
pdfjs-unexpected-response-error = Negaidīa servera atbilde.
pdfjs-rendering-error = Attēlojot lapu radās kļūda
@@ -220,3 +206,64 @@ pdfjs-password-invalid = Nepareiza parole, mēģiniet vēlreiz.
pdfjs-password-ok-button = Labi
pdfjs-password-cancel-button = Atcelt
pdfjs-web-fonts-disabled = Tīmekļa fonti nav aktivizēti: Nevar iegult PDF fontus.
+
+## Editing
+
+pdfjs-editor-stamp-button =
+ .title = Pievienot vai labot attēlus
+pdfjs-editor-stamp-button-label = Pievienot vai labot attēlus
+pdfjs-editor-signature-button =
+ .title = Pievienot parakstu
+pdfjs-editor-signature-button-label = Pievienot parakstu
+
+##
+
+pdfjs-editor-stamp-add-image-button =
+ .title = Pievienot attēlu
+pdfjs-editor-stamp-add-image-button-label = Pievienot attēlu
+pdfjs-editor-signature-add-signature-button =
+ .title = Pievienot jaunu parakstu
+pdfjs-editor-signature-add-signature-button-label = Pievienot jaunu parakstu
+
+## Alt-text dialog
+
+pdfjs-editor-alt-text-add-description-label = Pievienot aprakstu
+
+## New alt-text dialog
+## Group note for entire feature: Alternative text (alt text) helps when people can't see the image. This feature includes a tool to create alt text automatically using an AI model that works locally on the user's device to preserve privacy.
+
+pdfjs-editor-new-alt-text-disclaimer-learn-more-url = Uzzināt vairāk
+
+## Add a signature dialog
+
+pdfjs-editor-add-signature-dialog-title = Pievienot parakstu
+
+## Controls
+
+pdfjs-editor-add-signature-image-upload-error-description = Jāpŗabauda savienojums ar internetu vai jāmēģina cits attēls.
+
+## Dialog buttons
+
+pdfjs-editor-add-signature-add-button = Pievienot
+
+## Edit a comment dialog
+
+# No existing comment
+pdfjs-editor-edit-comment-dialog-title-when-adding = Pievienot piebildi
+pdfjs-editor-edit-comment-dialog-save-button-when-adding = Pievienot
+
+## Edit a comment button in the editor toolbar
+
+pdfjs-editor-add-comment-button =
+ .title = Pievienot piebildi
+
+## The view manager is a sidebar displaying different views:
+## - thumbnails;
+## - outline;
+## - attachments;
+## - layers.
+## The thumbnails view is used to edit the pdf: remove/insert pages, ...
+
+pdfjs-views-manager-add-file-button =
+ .title = Pievienot datni
+pdfjs-views-manager-add-file-button-label = Pievienot datni
diff --git a/packages/pdfjs-viewer/viewer/locale/mk/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/mk/viewer.ftl
index ad0ba31dfe1..006d42fb2eb 100644
--- a/packages/pdfjs-viewer/viewer/locale/mk/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/mk/viewer.ftl
@@ -166,23 +166,6 @@ pdfjs-printing-not-ready = Предупредување: PDF документо
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Вклучи странична лента
-pdfjs-toggle-sidebar-notification-button =
- .title = Вклучи странична лента (документот содржи преглед, прилози, или слоеви)
-pdfjs-toggle-sidebar-button-label = Вклучи странична лента
-pdfjs-document-outline-button =
- .title = Прикажи го прегедот на документот (дво клик за да се прикажат/скријат сите елементи)
-pdfjs-document-outline-button-label = Преглед на документот
-pdfjs-attachments-button =
- .title = Прикажување на прилози
-pdfjs-attachments-button-label = Прилози
-pdfjs-layers-button =
- .title = Прикажи слоеви (двоклик за ресетирање на сите слоеви)
-pdfjs-layers-button-label = Слоеви
-pdfjs-thumbs-button =
- .title = Прикажување на иконки
-pdfjs-thumbs-button-label = Иконки
pdfjs-current-outline-item-button =
.title = Барање на тековниот елемент од прегледот
pdfjs-current-outline-item-button-label = Тековен елемент од прегледот
@@ -193,10 +176,6 @@ pdfjs-additional-layers = Дополнителни слоеви
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Страница { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -214,8 +193,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Пребарување
.placeholder = Пронајди во документот…
+ .title = Пребарување
pdfjs-find-previous-button =
.title = Најди ја предходната појава на фразата
pdfjs-find-previous-button-label = Претходно
@@ -310,16 +289,16 @@ pdfjs-editor-highlight-button =
.title = Нагласување
pdfjs-editor-highlight-button-label = Нагласи
pdfjs-highlight-floating-button1 =
- .title = Нагласување
.aria-label = Нагласување
+ .title = Нагласување
pdfjs-highlight-floating-button-label = Нагласи
pdfjs-comment-floating-button =
- .title = Коментар
.aria-label = Коментар
+ .title = Коментар
pdfjs-comment-floating-button-label = Коментар
pdfjs-editor-comment-button =
- .title = Коментар
.aria-label = Коментар
+ .title = Коментар
pdfjs-editor-comment-button-label = Коментар
pdfjs-editor-signature-button =
.title = Додавање на потпис
@@ -392,8 +371,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Коментари
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Затвори ја страничната лента
.aria-label = Затвори ја страничната лента
+ .title = Затвори ја страничната лента
pdfjs-editor-comments-sidebar-close-button-label = Затвори ја страничната лента
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Гледате нешто вредно за внимание? Истакнете го и напишете коментар.
@@ -516,13 +495,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Поставки за алтерн
pdfjs-editor-alt-text-settings-automatic-title = Автоматски алтернативен текст
pdfjs-editor-alt-text-settings-create-model-button-label = Креирај го алтернативниот текст автоматски
pdfjs-editor-alt-text-settings-create-model-description = Предлага описи за да им помогне на луѓето кои не можат да ја видат сликата или кога сликата не се вчитува.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Модел на вештачка интелигенција со алтернативен текст ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Работи локално на вашиот уред, така што вашите податоци остануваат приватни. Задолжително за автоматски алтернативен текст.
-pdfjs-editor-alt-text-settings-delete-model-button = Избриши
-pdfjs-editor-alt-text-settings-download-model-button = Преземи
-pdfjs-editor-alt-text-settings-downloading-model-button = Се презема…
pdfjs-editor-alt-text-settings-editor-title = Уредувач на алтернативен текст
pdfjs-editor-alt-text-settings-show-dialog-button-label = Прикажи го уредувачот на алтернативен текст веднаш при додавање на слика
pdfjs-editor-alt-text-settings-show-dialog-description = Ви помага да се осигурате дека сите ваши слики имаат алтернативен текст.
diff --git a/packages/pdfjs-viewer/viewer/locale/ml/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ml/viewer.ftl
index 6c33b8fcdb3..9eb3b06ad1e 100644
--- a/packages/pdfjs-viewer/viewer/locale/ml/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ml/viewer.ftl
@@ -145,19 +145,6 @@ pdfjs-printing-not-ready = മുന്നറിയിപ്പു്: അച്
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = അണിവക്കം ടോഗിൾ ചെയ്യുക
-pdfjs-toggle-sidebar-button-label = അണിവക്കം ടോഗിൾ ചെയ്യുക
-pdfjs-document-outline-button =
- .title = ഡോക്യുമെന്റിന്റെ ബാഹ്യരേഖ കാണിക്കുക (എല്ലാ ഇനങ്ങളും വിപുലീകരിക്കാനും ചുരുക്കാനും ഇരട്ട ക്ലിക്കുചെയ്യുക)
-pdfjs-document-outline-button-label = രേഖയുടെ ഔട്ട്ലൈന്
-pdfjs-attachments-button =
- .title = അറ്റാച്മെന്റുകള് കാണിയ്ക്കുക
-pdfjs-attachments-button-label = അറ്റാച്മെന്റുകള്
-pdfjs-layers-button-label = പാളികൾ
-pdfjs-thumbs-button =
- .title = തംബ്നെയിലുകള് കാണിയ്ക്കുക
-pdfjs-thumbs-button-label = തംബ്നെയിലുകള്
pdfjs-findbar-button =
.title = രേഖയില് കണ്ടുപിടിയ്ക്കുക
pdfjs-findbar-button-label = കണ്ടെത്തുക
@@ -165,10 +152,6 @@ pdfjs-additional-layers = കൂടാത്ത പാളികൾ
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = താള് { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -177,8 +160,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = കണ്ടെത്തുക
.placeholder = ഡോക്യുമെന്റില് കണ്ടെത്തുക…
+ .title = കണ്ടെത്തുക
pdfjs-find-previous-button =
.title = വാചകം ഇതിനു മുന്പ് ആവര്ത്തിച്ചത് കണ്ടെത്തുക
pdfjs-find-previous-button-label = മുമ്പു്
@@ -268,8 +251,8 @@ pdfjs-editor-highlight-button =
.title = അടയാളപ്പെടുക
pdfjs-editor-highlight-button-label = അടയാളപ്പെടുക
pdfjs-highlight-floating-button1 =
- .title = അടയാളപ്പെടുക
.aria-label = അടയാളപ്പെടുക
+ .title = അടയാളപ്പെടുക
pdfjs-highlight-floating-button-label = അടയാളപ്പെടുക
pdfjs-editor-signature-button =
.title = പുതിയ ഒപ്പു് ചേൎക്കുക
@@ -310,8 +293,8 @@ pdfjs-editor-signature-add-signature-button-label = പുതിയ ഒപ്പ
pdfjs-editor-add-saved-signature-button =
.title = കരുതിവച്ച ഒപ്പു് : { $description }
pdfjs-editor-comments-sidebar-close-button =
- .title = അണിവക്കം അടയ്ക്കുക
.aria-label = അണിവക്കം അടയ്ക്കുക
+ .title = അണിവക്കം അടയ്ക്കുക
pdfjs-editor-comments-sidebar-close-button-label = അണിവക്കം അടയ്ക്കുക
## Alt-text dialog
@@ -398,9 +381,6 @@ pdfjs-image-alt-text-settings-button-label = ചിത്ര മറുയെഴ
pdfjs-editor-alt-text-settings-dialog-label = ചിത്ര മറുയെഴുത്തു് ക്രമീകരണങ്ങൾ
pdfjs-editor-alt-text-settings-automatic-title = യാന്ത്രിക മറുയെഴുത്തു്
pdfjs-editor-alt-text-settings-create-model-button-label = തന്നെതാനെ മറുയെഴുത്തു് ഉണ്ടാക്കുക
-pdfjs-editor-alt-text-settings-delete-model-button = മായ്ക്കുക
-pdfjs-editor-alt-text-settings-download-model-button = ഇറക്കിവയ്ക്കുക
-pdfjs-editor-alt-text-settings-downloading-model-button = ഇറക്കിവയ്ക്കുന്നു
pdfjs-editor-alt-text-settings-show-dialog-description = താങ്ങളുടെ എല്ലാ പടങ്ങളിലും മറുയെഴുത്തുണ്ടെന്നു് തീൎച്ചപ്പെടുത്താൻ തുണയ്ക്കുന്നു.
pdfjs-editor-alt-text-settings-close-button = അടയ്ക്കുക
diff --git a/packages/pdfjs-viewer/viewer/locale/mr/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/mr/viewer.ftl
index fbb9698e69e..890eee5d404 100644
--- a/packages/pdfjs-viewer/viewer/locale/mr/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/mr/viewer.ftl
@@ -128,28 +128,12 @@ pdfjs-printing-not-ready = सावधानता: छपाईकरिता
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = बाजूचीपट्टी टॉगल करा
-pdfjs-toggle-sidebar-button-label = बाजूचीपट्टी टॉगल करा
-pdfjs-document-outline-button =
- .title = दस्तऐवज बाह्यरेखा दर्शवा (विस्तृत करण्यासाठी दोनवेळा क्लिक करा /सर्व घटक दाखवा)
-pdfjs-document-outline-button-label = दस्तऐवज रूपरेषा
-pdfjs-attachments-button =
- .title = जोडपत्र दाखवा
-pdfjs-attachments-button-label = जोडपत्र
-pdfjs-thumbs-button =
- .title = थंबनेल्स् दाखवा
-pdfjs-thumbs-button-label = थंबनेल्स्
pdfjs-findbar-button =
.title = दस्तऐवजात शोधा
pdfjs-findbar-button-label = शोधा
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = पृष्ठ { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -158,8 +142,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = शोधा
.placeholder = दस्तऐवजात शोधा…
+ .title = शोधा
pdfjs-find-previous-button =
.title = वाकप्रयोगची मागील घटना शोधा
pdfjs-find-previous-button-label = मागील
diff --git a/packages/pdfjs-viewer/viewer/locale/ms/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ms/viewer.ftl
index e5e8b1ec13d..00467d9d730 100644
--- a/packages/pdfjs-viewer/viewer/locale/ms/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ms/viewer.ftl
@@ -140,28 +140,12 @@ pdfjs-printing-not-ready = Amaran: PDF tidak sepenuhnya dimuatkan untuk dicetak.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Togol Bar Sisi
-pdfjs-toggle-sidebar-button-label = Togol Bar Sisi
-pdfjs-document-outline-button =
- .title = Papar Rangka Dokumen (klik-dua-kali untuk kembangkan/kolaps semua item)
-pdfjs-document-outline-button-label = Rangka Dokumen
-pdfjs-attachments-button =
- .title = Papar Lampiran
-pdfjs-attachments-button-label = Lampiran
-pdfjs-thumbs-button =
- .title = Papar Thumbnails
-pdfjs-thumbs-button-label = Imej kecil
pdfjs-findbar-button =
.title = Cari didalam Dokumen
pdfjs-findbar-button-label = Cari
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Halaman { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -170,8 +154,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Cari
.placeholder = Cari dalam dokumen…
+ .title = Cari
pdfjs-find-previous-button =
.title = Cari teks frasa berkenaan yang terdahulu
pdfjs-find-previous-button-label = Dahulu
diff --git a/packages/pdfjs-viewer/viewer/locale/my/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/my/viewer.ftl
index e6c6c352393..bcdc1ddcbc0 100644
--- a/packages/pdfjs-viewer/viewer/locale/my/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/my/viewer.ftl
@@ -92,28 +92,12 @@ pdfjs-printing-not-ready = သတိပေးချက်: ယခု PDF ဖိ
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = ဘေးတန်းဖွင့်ပိတ်
-pdfjs-toggle-sidebar-button-label = ဖွင့်ပိတ် ဆလိုက်ဒါ
-pdfjs-document-outline-button =
- .title = စာတမ်းအကျဉ်းချုပ်ကို ပြပါ (စာရင်းအားလုံးကို ချုံ့/ချဲ့ရန် ကလစ်နှစ်ချက်နှိပ်ပါ)
-pdfjs-document-outline-button-label = စာတမ်းအကျဉ်းချုပ်
-pdfjs-attachments-button =
- .title = တွဲချက်များ ပြပါ
-pdfjs-attachments-button-label = တွဲထားချက်များ
-pdfjs-thumbs-button =
- .title = ပုံရိပ်ငယ်များကို ပြပါ
-pdfjs-thumbs-button-label = ပုံရိပ်ငယ်များ
pdfjs-findbar-button =
.title = Find in Document
pdfjs-findbar-button-label = ရှာဖွေပါ
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = စာမျက်နှာ { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -122,8 +106,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = ရှာဖွေပါ
.placeholder = စာတမ်းထဲတွင် ရှာဖွေရန်…
+ .title = ရှာဖွေပါ
pdfjs-find-previous-button =
.title = စကားစုရဲ့ အရင် ဖြစ်ပွားမှုကို ရှာဖွေပါ
pdfjs-find-previous-button-label = နောက်သို့
diff --git a/packages/pdfjs-viewer/viewer/locale/nb-NO/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/nb-NO/viewer.ftl
index 2413dc9640e..67df71f6181 100644
--- a/packages/pdfjs-viewer/viewer/locale/nb-NO/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/nb-NO/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Advarsel: PDF er ikke fullstendig innlastet for utskr
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Slå av/på sidestolpe
-pdfjs-toggle-sidebar-notification-button =
- .title = Vis/gjem sidestolpe (dokumentet inneholder oversikt/vedlegg/lag)
-pdfjs-toggle-sidebar-button-label = Slå av/på sidestolpe
-pdfjs-document-outline-button =
- .title = Vis dokumentdisposisjonen (dobbeltklikk for å utvide/skjule alle elementer)
-pdfjs-document-outline-button-label = Dokumentdisposisjon
-pdfjs-attachments-button =
- .title = Vis vedlegg
-pdfjs-attachments-button-label = Vedlegg
-pdfjs-layers-button =
- .title = Vis lag (dobbeltklikk for å tilbakestille alle lag til standardtilstand)
-pdfjs-layers-button-label = Lag
-pdfjs-thumbs-button =
- .title = Vis miniatyrbilde
-pdfjs-thumbs-button-label = Miniatyrbilde
pdfjs-current-outline-item-button =
.title = Finn gjeldende disposisjonselement
pdfjs-current-outline-item-button-label = Gjeldende disposisjonselement
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Ytterligere lag
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Side { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Søk
.placeholder = Søk i dokument…
+ .title = Søk
pdfjs-find-previous-button =
.title = Finn forrige forekomst av frasen
pdfjs-find-previous-button-label = Forrige
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Markere
pdfjs-editor-highlight-button-label = Markere
pdfjs-highlight-floating-button1 =
- .title = Markere
.aria-label = Markere
+ .title = Markere
pdfjs-highlight-floating-button-label = Markere
pdfjs-comment-floating-button =
- .title = Kommenter
.aria-label = Kommenter
+ .title = Kommenter
pdfjs-comment-floating-button-label = Kommenter
pdfjs-editor-comment-button =
- .title = Kommentar
.aria-label = Kommentar
+ .title = Kommentar
pdfjs-editor-comment-button-label = Kommentar
pdfjs-editor-signature-button =
.title = Legg til signatur
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Kommentarer
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Lukk sidestolpen
.aria-label = Lukk sidestolpen
+ .title = Lukk sidestolpen
pdfjs-editor-comments-sidebar-close-button-label = Lukk sidestolpen
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Ser du noe verdt å merke seg? Marker det og legg igjen en kommentar.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Innstillinger for alternativ tekst
pdfjs-editor-alt-text-settings-automatic-title = Automatisk alternativ tekst
pdfjs-editor-alt-text-settings-create-model-button-label = Opprett alternativ tekst automatisk
pdfjs-editor-alt-text-settings-create-model-description = Foreslår beskrivelser for å hjelpe folk som ikke kan se bildet eller når bildet ikke lastes inn.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Alternativ tekst AI-modell ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Kjører lokalt på enheten din slik at dataene dine forblir private. Nødvendig for automatisk alternativ tekst.
-pdfjs-editor-alt-text-settings-delete-model-button = Slett
-pdfjs-editor-alt-text-settings-download-model-button = Last ned
-pdfjs-editor-alt-text-settings-downloading-model-button = Laster ned…
pdfjs-editor-alt-text-settings-editor-title = Alternativ tekst-redigerer
pdfjs-editor-alt-text-settings-show-dialog-button-label = Vis alternativ tekst-redigerer direkte når du legger til et bilde
pdfjs-editor-alt-text-settings-show-dialog-description = Hjelper deg å sørge for at alle bildene dine har alternativ tekst.
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Egenskaper for digital signatur
.aria-label = Egenskaper for digital signatur
+ .title = Egenskaper for digital signatur
pdfjs-digital-signature-properties-button-label = Egenskaper for digital signatur
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/ne-NP/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ne-NP/viewer.ftl
index 38dac7a563c..258bf0e2d68 100644
--- a/packages/pdfjs-viewer/viewer/locale/ne-NP/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ne-NP/viewer.ftl
@@ -119,28 +119,12 @@ pdfjs-printing-not-ready = चेतावनी: PDF मुद्रणका
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = टगल साइडबार
-pdfjs-toggle-sidebar-button-label = टगल साइडबार
-pdfjs-document-outline-button =
- .title = कागजातको रूपरेखा देखाउनुहोस् (सबै वस्तुहरू विस्तार/पतन गर्न डबल-क्लिक गर्नुहोस्)
-pdfjs-document-outline-button-label = दस्तावेजको रूपरेखा
-pdfjs-attachments-button =
- .title = संलग्नहरू देखाउनुहोस्
-pdfjs-attachments-button-label = संलग्नकहरू
-pdfjs-thumbs-button =
- .title = थम्बनेलहरू देखाउनुहोस्
-pdfjs-thumbs-button-label = थम्बनेलहरू
pdfjs-findbar-button =
.title = कागजातमा फेला पार्नुहोस्
pdfjs-findbar-button-label = फेला पार्नुहोस्
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = पृष्ठ { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -149,8 +133,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = फेला पार्नुहोस्
.placeholder = कागजातमा फेला पार्नुहोस्…
+ .title = फेला पार्नुहोस्
pdfjs-find-previous-button =
.title = यस वाक्यांशको अघिल्लो घटना फेला पार्नुहोस्
pdfjs-find-previous-button-label = अघिल्लो
diff --git a/packages/pdfjs-viewer/viewer/locale/nl/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/nl/viewer.ftl
index fa046541622..326b3f3be77 100644
--- a/packages/pdfjs-viewer/viewer/locale/nl/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/nl/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Waarschuwing: de PDF is niet volledig geladen voor af
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Zijbalk in-/uitschakelen
-pdfjs-toggle-sidebar-notification-button =
- .title = Zijbalk in-/uitschakelen (document bevat overzicht/bijlagen/lagen)
-pdfjs-toggle-sidebar-button-label = Zijbalk in-/uitschakelen
-pdfjs-document-outline-button =
- .title = Documentoverzicht tonen (dubbelklik om alle items uit/samen te vouwen)
-pdfjs-document-outline-button-label = Documentoverzicht
-pdfjs-attachments-button =
- .title = Bijlagen tonen
-pdfjs-attachments-button-label = Bijlagen
-pdfjs-layers-button =
- .title = Lagen tonen (dubbelklik om alle lagen naar de standaardstatus terug te zetten)
-pdfjs-layers-button-label = Lagen
-pdfjs-thumbs-button =
- .title = Miniaturen tonen
-pdfjs-thumbs-button-label = Miniaturen
pdfjs-current-outline-item-button =
.title = Huidig item in inhoudsopgave zoeken
pdfjs-current-outline-item-button-label = Huidig item in inhoudsopgave
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Aanvullende lagen
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Pagina { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Zoeken
.placeholder = Zoeken in document…
+ .title = Zoeken
pdfjs-find-previous-button =
.title = De vorige overeenkomst van de tekst zoeken
pdfjs-find-previous-button-label = Vorige
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Markeren
pdfjs-editor-highlight-button-label = Markeren
pdfjs-highlight-floating-button1 =
- .title = Markeren
.aria-label = Markeren
+ .title = Markeren
pdfjs-highlight-floating-button-label = Markeren
pdfjs-comment-floating-button =
- .title = Opmerking
.aria-label = Opmerking
+ .title = Opmerking
pdfjs-comment-floating-button-label = Opmerking
pdfjs-editor-comment-button =
- .title = Opmerking
.aria-label = Opmerking
+ .title = Opmerking
pdfjs-editor-comment-button-label = Opmerking
pdfjs-editor-signature-button =
.title = Handtekening toevoegen
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Opmerkingen
}
pdfjs-editor-comments-sidebar-close-button =
- .title = De zijbalk sluiten
.aria-label = De zijbalk sluiten
+ .title = De zijbalk sluiten
pdfjs-editor-comments-sidebar-close-button-label = De zijbalk sluiten
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Ziet u iets noemenswaardigs? Markeer het en laat een opmerking achter.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Instellingen voor alternatieve tek
pdfjs-editor-alt-text-settings-automatic-title = Automatische alternatieve tekst
pdfjs-editor-alt-text-settings-create-model-button-label = Alternatieve tekst automatisch aanmaken
pdfjs-editor-alt-text-settings-create-model-description = Stelt beschrijvingen voor om mensen te helpen die de afbeelding niet kunnen zien of voor wie de afbeelding niet wordt geladen.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = AI-model voor alternatieve tekst ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Wordt lokaal op uw apparaat uitgevoerd, zodat uw gegevens privé blijven. Vereist voor automatische alternatieve tekst.
-pdfjs-editor-alt-text-settings-delete-model-button = Verwijderen
-pdfjs-editor-alt-text-settings-download-model-button = Downloaden
-pdfjs-editor-alt-text-settings-downloading-model-button = Downloaden…
pdfjs-editor-alt-text-settings-editor-title = Alternatieve-tekstbewerker
pdfjs-editor-alt-text-settings-show-dialog-button-label = Alternatieve-tekstbewerker meteen tonen bij toevoegen van een afbeelding
pdfjs-editor-alt-text-settings-show-dialog-description = Helpt u ervoor te zorgen dat al uw afbeeldingen alternatieve tekst hebben.
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Eigenschappen digitale handtekening
.aria-label = Eigenschappen digitale handtekening
+ .title = Eigenschappen digitale handtekening
pdfjs-digital-signature-properties-button-label = Eigenschappen digitale handtekening
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/nn-NO/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/nn-NO/viewer.ftl
index 9e7358a6548..02591e405d3 100644
--- a/packages/pdfjs-viewer/viewer/locale/nn-NO/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/nn-NO/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Åtvaring: PDF ikkje fullstendig innlasta for utskrif
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Slå av/på sidestolpe
-pdfjs-toggle-sidebar-notification-button =
- .title = Vis/gøym sidestolpe (dokumentet inneheld oversikt/vedlegg/lag)
-pdfjs-toggle-sidebar-button-label = Slå av/på sidestolpe
-pdfjs-document-outline-button =
- .title = Vis dokumentdisposisjonen (dobbelklikk for å utvide/gøyme alle elementa)
-pdfjs-document-outline-button-label = Dokumentdisposisjon
-pdfjs-attachments-button =
- .title = Vis vedlegg
-pdfjs-attachments-button-label = Vedlegg
-pdfjs-layers-button =
- .title = Vis lag (dobbeltklikk for å tilbakestille alle lag til standardtilstand)
-pdfjs-layers-button-label = Lag
-pdfjs-thumbs-button =
- .title = Vis miniatyrbilde
-pdfjs-thumbs-button-label = Miniatyrbilde
pdfjs-current-outline-item-button =
.title = Finn gjeldande disposisjonselement
pdfjs-current-outline-item-button-label = Gjeldande disposisjonselement
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Ytterlegare lag
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Side { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Søk
.placeholder = Søk i dokument…
+ .title = Søk
pdfjs-find-previous-button =
.title = Finn førre førekomst av frasen
pdfjs-find-previous-button-label = Førre
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Markere
pdfjs-editor-highlight-button-label = Markere
pdfjs-highlight-floating-button1 =
- .title = Markere
.aria-label = Markere
+ .title = Markere
pdfjs-highlight-floating-button-label = Markere
pdfjs-comment-floating-button =
- .title = Kommenter
.aria-label = Kommenter
+ .title = Kommenter
pdfjs-comment-floating-button-label = Kommenter
pdfjs-editor-comment-button =
- .title = Kommentar
.aria-label = Kommentar
+ .title = Kommentar
pdfjs-editor-comment-button-label = Kommentar
pdfjs-editor-signature-button =
.title = Legg til signatur
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Kommentararar
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Lat att sidestolpen
.aria-label = Lat att sidestolpen
+ .title = Lat att sidestolpen
pdfjs-editor-comments-sidebar-close-button-label = Lat att sidestolpen
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Ser du noko som er verdt å merke seg? Marker det og legg igjen ein kommentar.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Alternative tekst-innstillingar fo
pdfjs-editor-alt-text-settings-automatic-title = Automatisk alternativ tekst
pdfjs-editor-alt-text-settings-create-model-button-label = Opprett alternativ tekt automatisk
pdfjs-editor-alt-text-settings-create-model-description = Føreslår skildringar for å hjelpe folk som ikkje kan sjå bildet eller når bildet ikkje blir lasta inn.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = KI-modell for alternativ tekst ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Køyrer lokalt på eininga di slik at dataa dine blir verande private. Påkravd for automatisk alternativ tekst.
-pdfjs-editor-alt-text-settings-delete-model-button = Slett
-pdfjs-editor-alt-text-settings-download-model-button = Last ned
-pdfjs-editor-alt-text-settings-downloading-model-button = Lastar ned…
pdfjs-editor-alt-text-settings-editor-title = Alternativ tekst-redigerar
pdfjs-editor-alt-text-settings-show-dialog-button-label = Vis alternativ tekst-redigerar direkte når du legg til eit bilde
pdfjs-editor-alt-text-settings-show-dialog-description = Hjelper deg med å sørgje for at alle bilda dine har alternativ tekst.
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Eigenskapar for digital signatur
.aria-label = Eigenskapar for digital signatur
+ .title = Eigenskapar for digital signatur
pdfjs-digital-signature-properties-button-label = Eigenskapar for digital signatur
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/oc/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/oc/viewer.ftl
index a10a398cff6..0e762e49eef 100644
--- a/packages/pdfjs-viewer/viewer/locale/oc/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/oc/viewer.ftl
@@ -155,23 +155,6 @@ pdfjs-printing-not-ready = Atencion : lo PDF es pas entièrament cargat per lo
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Afichar/amagar lo panèl lateral
-pdfjs-toggle-sidebar-notification-button =
- .title = Afichar/amagar lo panèl lateral (lo document conten esquèmas/pèças juntas/calques)
-pdfjs-toggle-sidebar-button-label = Afichar/amagar lo panèl lateral
-pdfjs-document-outline-button =
- .title = Mostrar los esquèmas del document (dobleclicar per espandre/reduire totes los elements)
-pdfjs-document-outline-button-label = Marcapaginas del document
-pdfjs-attachments-button =
- .title = Visualizar las pèças juntas
-pdfjs-attachments-button-label = Pèças juntas
-pdfjs-layers-button =
- .title = Afichar los calques (doble-clicar per reïnicializar totes los calques a l’estat per defaut)
-pdfjs-layers-button-label = Calques
-pdfjs-thumbs-button =
- .title = Afichar las vinhetas
-pdfjs-thumbs-button-label = Vinhetas
pdfjs-current-outline-item-button =
.title = Trobar l’element de plan actual
pdfjs-current-outline-item-button-label = Element de plan actual
@@ -182,10 +165,6 @@ pdfjs-additional-layers = Calques suplementaris
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Pagina { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -194,8 +173,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Recercar
.placeholder = Cercar dins lo document…
+ .title = Recercar
pdfjs-find-previous-button =
.title = Tròba l'ocurréncia precedenta de la frasa
pdfjs-find-previous-button-label = Precedent
@@ -286,8 +265,8 @@ pdfjs-editor-highlight-button =
.title = Subrelinhar
pdfjs-editor-highlight-button-label = Subrelinhar
pdfjs-highlight-floating-button1 =
- .title = Subrelinhar
.aria-label = Subrelinhar
+ .title = Subrelinhar
pdfjs-highlight-floating-button-label = Subrelinhar
## Remove button for the various kind of editor.
@@ -366,9 +345,6 @@ pdfjs-editor-new-alt-text-error-close-button = Tampar
pdfjs-editor-alt-text-settings-automatic-title = Tèxte alternatiu automatic
pdfjs-editor-alt-text-settings-create-model-button-label = Crear un tèxte alternatiu automaticament
-pdfjs-editor-alt-text-settings-delete-model-button = Suprimir
-pdfjs-editor-alt-text-settings-download-model-button = Telecargar
-pdfjs-editor-alt-text-settings-downloading-model-button = Telecargament…
pdfjs-editor-alt-text-settings-editor-title = Editor de tèxte alternatiu
pdfjs-editor-alt-text-settings-close-button = Tampar
diff --git a/packages/pdfjs-viewer/viewer/locale/pa-IN/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/pa-IN/viewer.ftl
index 0ef28c927d7..706f82ec1c7 100644
--- a/packages/pdfjs-viewer/viewer/locale/pa-IN/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/pa-IN/viewer.ftl
@@ -153,6 +153,27 @@ pdfjs-document-properties-linearized = ਤੇਜ਼ ਵੈੱਬ ਝਲਕ:
pdfjs-document-properties-linearized-yes = ਹਾਂ
pdfjs-document-properties-linearized-no = ਨਹੀਂ
pdfjs-document-properties-close-button = ਬੰਦ ਕਰੋ
+pdfjs-digital-signature-properties-view-certificate = ਸਰਟੀਫਿਕੇਟ ਨੂੰ ਵੇਖੋ
+# Shown beneath an invalid signature card to explain why verification
+# failed. The text comes from NSS (e.g. "Signature integrity has been
+# compromised", "PKCS#7 signature could not be parsed") and is not
+# itself localized — it is the underlying error message produced by
+# the verification backend.
+# Variables:
+# $reason (String) - error message describing why the signature
+# could not be verified.
+pdfjs-digital-signature-properties-reason = ਕਾਰਨ: { $reason }
+# Variables:
+# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
+pdfjs-digital-signature-properties-timestamp = ਸਮਾਂ: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
+# Variables:
+# $count (Number) - number of nested sub-signatures (one per earlier
+# incremental revision of the document).
+pdfjs-digital-signature-properties-sub-signatures =
+ { $count ->
+ [one] ਅਧੀਨ-ਦਸਤਖ਼ਤ ({ $count })
+ *[other] ਅਧੀਨ-ਦਸਤਖ਼ਤ({ $count })
+ }
## Print
@@ -166,23 +187,6 @@ pdfjs-printing-not-ready = ਸਾਵਧਾਨ: PDF ਨੂੰ ਪਰਿੰਟ ਕ
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = ਬਾਹੀ ਬਦਲੋ
-pdfjs-toggle-sidebar-notification-button =
- .title = ਬਾਹੀ ਨੂੰ ਬਦਲੋ (ਦਸਤਾਵੇਜ਼ ਖਾਕਾ/ਅਟੈਚਮੈਂਟ/ਪਰਤਾਂ ਰੱਖਦਾ ਹੈ)
-pdfjs-toggle-sidebar-button-label = ਬਾਹੀ ਬਦਲੋ
-pdfjs-document-outline-button =
- .title = ਦਸਤਾਵੇਜ਼ ਖਾਕਾ ਦਿਖਾਓ (ਸਾਰੀਆਂ ਆਈਟਮਾਂ ਨੂੰ ਫੈਲਾਉਣ/ਸਮੇਟਣ ਲਈ ਦੋ ਵਾਰ ਕਲਿੱਕ ਕਰੋ)
-pdfjs-document-outline-button-label = ਦਸਤਾਵੇਜ਼ ਖਾਕਾ
-pdfjs-attachments-button =
- .title = ਅਟੈਚਮੈਂਟ ਵੇਖਾਓ
-pdfjs-attachments-button-label = ਅਟੈਚਮੈਂਟਾਂ
-pdfjs-layers-button =
- .title = ਪਰਤਾਂ ਵੇਖਾਓ (ਸਾਰੀਆਂ ਪਰਤਾਂ ਨੂੰ ਮੂਲ ਹਾਲਤ ਉੱਤੇ ਮੁੜ-ਸੈੱਟ ਕਰਨ ਲਈ ਦੋ ਵਾਰ ਕਲਿੱਕ ਕਰੋ)
-pdfjs-layers-button-label = ਪਰਤਾਂ
-pdfjs-thumbs-button =
- .title = ਥੰਮਨੇਲ ਨੂੰ ਵੇਖਾਓ
-pdfjs-thumbs-button-label = ਥੰਮਨੇਲ
pdfjs-current-outline-item-button =
.title = ਮੌੌਜੂਦਾ ਖਾਕਾ ਚੀਜ਼ ਲੱਭੋ
pdfjs-current-outline-item-button-label = ਮੌਜੂਦਾ ਖਾਕਾ ਚੀਜ਼
@@ -193,10 +197,6 @@ pdfjs-additional-layers = ਵਾਧੂ ਪਰਤਾਂ
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = ਸਫ਼ਾ { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -214,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = ਲੱਭੋ
.placeholder = …ਦਸਤਾਵੇਜ਼ 'ਚ ਲੱਭੋ
+ .title = ਲੱਭੋ
pdfjs-find-previous-button =
.title = ਵਾਕ ਦੀ ਪਿਛਲੀ ਮੌਜੂਦਗੀ ਲੱਭੋ
pdfjs-find-previous-button-label = ਪਿੱਛੇ
@@ -310,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = ਹਾਈਲਾਈਟ
pdfjs-editor-highlight-button-label = ਹਾਈਲਾਈਟ
pdfjs-highlight-floating-button1 =
- .title = ਹਾਈਲਾਈਟ
.aria-label = ਹਾਈਲਾਈਟ
+ .title = ਹਾਈਲਾਈਟ
pdfjs-highlight-floating-button-label = ਹਾਈਲਾਈਟ
pdfjs-comment-floating-button =
- .title = ਟਿੱਪਣੀ
.aria-label = ਟਿੱਪਣੀ
+ .title = ਟਿੱਪਣੀ
pdfjs-comment-floating-button-label = ਟਿੱਪਣੀ
pdfjs-editor-comment-button =
- .title = ਟਿੱਪਣੀ
.aria-label = ਟਿੱਪਣੀ
+ .title = ਟਿੱਪਣੀ
pdfjs-editor-comment-button-label = ਟਿੱਪਣੀ
pdfjs-editor-signature-button =
.title = ਦਸਤਖ਼ਤ ਜੋੜੋ
@@ -392,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] ਟਿੱਪਣੀਆਂ
}
pdfjs-editor-comments-sidebar-close-button =
- .title = ਬਾਹੀ ਨੂੰ ਬੰਦ ਕਰੋ
.aria-label = ਬਾਹੀ ਨੂੰ ਬੰਦ ਕਰੋ
+ .title = ਬਾਹੀ ਨੂੰ ਬੰਦ ਕਰੋ
pdfjs-editor-comments-sidebar-close-button-label = ਬਾਹੀ ਨੂੰ ਬੰਦ ਕਰੋ
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = ਕੀ ਕੁਝ ਧਿਆਨ ਦੇਣ ਯੋਗ ਵੇਖਿਆ ਹੈ? ਇਸ ਨੂੰ ਉਘਾੜੋ ਅਤੇ ਟਿੱਪਣੀ ਦਿਓ।
@@ -516,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = ਚਿੱਤਰ ਬਦਲਵੀਂ
pdfjs-editor-alt-text-settings-automatic-title = ਆਟੋਮਮੈਟਿਕ ਬਦਲਵੀਂ ਲਿਖਤ
pdfjs-editor-alt-text-settings-create-model-button-label = ਬਲਦਵੀਂ ਲਿਖਤ ਆਪਣੇ-ਆਪ ਬਣਾਓ
pdfjs-editor-alt-text-settings-create-model-description = ਚਿੱਤਰ ਨਾ ਵੇਖ ਸਕਣ ਵਾਲੇ ਲੋਕਾਂ ਦੀ ਮਦਦ ਜਾਂ ਜਦ ਵੀ ਚਿੱਤਰਾਂ ਨੂੰ ਲੋਡ ਨਹੀਂ ਜਾ ਸਕਦਾ, ਉਸ ਲਈ ਛੋਟਾ ਵੇਰਵਾ ਦਿਓ।
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = ਬਦਲਵੀ ਲਿਖਤ ਲਈ AI ਮਾਡਲ ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = ਤੁਹਾਡੇ ਡਿਵਾਈਸ ਉੱਤੇ ਲੋਕਲ ਹੀ ਚੱਲਦਾ ਹੋਣ ਕਰਕੇ ਤੁਹਾਡਾ ਡਾਟਾ ਪ੍ਰਾਈਵੇਟ ਹੀ ਰਹਿੰਦਾ ਹੈ। ਆਟੋਮੈਟਿਕ ਬਦਲਵੀਂ ਲਿਖਤ ਲਈ ਚਾਹੀਦਾ ਹੈ।
-pdfjs-editor-alt-text-settings-delete-model-button = ਹਟਾਓ
-pdfjs-editor-alt-text-settings-download-model-button = ਡਾਊਨਲੋਡ
-pdfjs-editor-alt-text-settings-downloading-model-button = …ਨੂੰ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ
pdfjs-editor-alt-text-settings-editor-title = ਬਦਲਵੀਂ ਲਿਖਤ ਐਡੀਟਰ
pdfjs-editor-alt-text-settings-show-dialog-button-label = ਜਦੋਂ ਵਿੱਚ ਚਿੱਤਰ ਜੋੜਿਆ ਜਾਵੇ ਤਾਂ ਫ਼ੌਰਨ ਬਦਲਵੀ ਲਿਖਤ ਸੰਪਾਦਕ ਵੇਖਾਓ
pdfjs-editor-alt-text-settings-show-dialog-description = ਤੁਹਾਡੀ ਮਦਦ ਕਰਦਾ ਹੈ ਕਿ ਤੁਹਾਡੇ ਸਾਰੇ ਚਿੱਤਰਾਂ ਲਈ ਬਦਲਵੀਂ ਲਿਖਤ ਮੌਜੂਦ ਹੋਵੇ।
@@ -732,6 +725,74 @@ pdfjs-views-manager-waiting-for-file = …ਫ਼ਾਇਲ ਨੂੰ ਅੱਪਲੋ
pdfjs-toggle-views-manager-button1 =
.title = ਸਫ਼ਿਆਂ ਦਾ ਇੰਤਜ਼ਾਮ
+## Digital signature properties (signature verification panel)
+
+pdfjs-digital-signature-properties-button =
+ .aria-label = ਡਿਜੀਟਲ ਦਸਤਖਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ
+ .title = ਡਿਜੀਟਲ ਦਸਤਖਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ
+pdfjs-digital-signature-properties-button-label = ਡਿਜੀਟਲ ਦਸਤਖਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ
+
+## Banner shown above the signature list summarising the overall
+## verification state of the document. Each variant is selected by the
+## viewer based on the worst per-signature status; one signature is
+## enough to lower the banner.
+##
+## Variables:
+## $count (Number) - number of signatures at the worst level.
+
+pdfjs-digital-signature-properties-banner-verified = ਦਸਤਾਵੇਜ਼ ਨੂੰ ਵਾਜਬ ਡਿਜੀਟਲ ਦਸਤਖ਼ਤਾਂ ਨਾਲ ਸਾਈਨ ਕੀਤਾ ਗਿਆ ਸੀ
+pdfjs-digital-signature-properties-banner-unknown =
+ { $count ->
+ [one] ਦਸਤਾਵੇਜ਼ ਨੂੰ ਸਾਈਨ ਤਾਂ ਕੀਤਾ ਗਿਆ ਸੀ ਪਰ { $count } ਡਿਜੀਟਲ ਦਸਤਖ਼ਤ ਨੂੰ ਤਸਦੀਕ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ
+ *[other] ਦਸਤਾਵੇਜ਼ ਨੂੰ ਸਾਈਨ ਤਾਂ ਕੀਤਾ ਗਿਆ ਸੀ ਪਰ { $count } ਡਿਜੀਟਲ ਦਸਤਖ਼ਤਾਂ ਨੂੰ ਤਸਦੀਕ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ
+ }
+pdfjs-digital-signature-properties-banner-untrusted =
+ { $count ->
+ [one] ਦਸਤਾਵੇਜ਼ ਨੂੰ { $count } ਸਰਟੀਫਿਕੇਟ ਨਾਲ ਸਾਈਨ ਕੀਤਾ ਗਿਆ ਸੀ, ਜੋ ਭਰੋਸੇਯੋਗ ਨਹੀਂ ਹੈ
+ *[other] ਦਸਤਾਵੇਜ਼ ਨੂੰ { $count } ਸਰਟੀਫਿਕੇਟਾਂ ਨਾਲ ਸਾਈਨ ਕੀਤਾ ਗਿਆ ਸੀ, ਜੋ ਭਰੋਸੇਯੋਗ ਨਹੀਂ ਹਨ
+ }
+pdfjs-digital-signature-properties-banner-expired =
+ { $count ->
+ [one] ਦਸਤਾਵੇਜ਼ ਨੂੰ { $count } ਮਿਆਦ ਪੁੱਗੇ ਸਰਟੀਫਿਕੇਟ ਨਾਲ ਸਾਈਨ ਕੀਤਾ ਗਿਆ ਸੀ
+ *[other] ਦਸਤਾਵੇਜ਼ ਨੂੰ { $count } ਮਿਆਦ ਪੁੱਗੇ ਸਰਟੀਫਿਕੇਟਾਂ ਨਾਲ ਸਾਈਨ ਕੀਤਾ ਗਿਆ ਸੀ
+ }
+pdfjs-digital-signature-properties-banner-invalid =
+ { $count ->
+ [one] ਦਸਤਾਵੇਜ਼ ਵਿੱਚ { $count } ਅਵੈਧ ਡਿਜੀਟਲ ਦਸਤਖਤ ਹਨ
+ *[other] ਦਸਤਾਵੇਜ਼ ਵਿੱਚ { $count } ਅਵੈਧ ਡਿਜੀਟਲ ਦਸਤਖਤ ਹਨ
+ }
+pdfjs-digital-signature-properties-banner-revoked =
+ { $count ->
+ [one] ਦਸਤਾਵੇਜ਼ 'ਤੇ { $count } ਰੱਦ ਕੀਤੇ ਸਰਟੀਫਿਕੇਟ ਨਾਲ ਦਸਤਖਤ ਕੀਤੇ ਗਏ ਹਨ
+ *[other] ਦਸਤਾਵੇਜ਼ { $count } ਰੱਦ ਕੀਤੇ ਸਰਟੀਫਿਕੇਟਾਂ ਨਾਲ ਦਸਤਖਤ ਕੀਤਾ ਗਿਆ ਹੈ
+ }
+
+## Per-signature status row. Only three distinct strings are needed:
+## the signature crypto either verified (the cert chain may still be
+## untrusted/expired/revoked, but that's surfaced on the cert row
+## below), or it failed, or its sub-format isn't supported.
+
+pdfjs-digital-signature-properties-status-verified = ਸਥਿਤੀ: ਦਸਤਖਤਾਂ ਦੀ ਜਾਂਚ ਕੀਤੀ ਗਈ
+pdfjs-digital-signature-properties-status-invalid = ਸਥਿਤੀ: ਦਸਤਖਤ ਸਹੀ ਨਹੀਂ ਹਨ
+pdfjs-digital-signature-properties-status-unknown = ਸਥਿਤੀ: ਜਾਂਚ ਕਰਨ ਲਈ ਅਸਮਰੱਥ (ਗ਼ੈਰ-ਸਹਾਇਕ)
+
+## Per-signature certificate row. The variants with an issuer / date in
+## parentheses embed fully-localized context — no English fall-through.
+##
+## Variables:
+## $issuer (String) - issuer or subject common name from the cert.
+## $dateObj (Date) - notAfter date for the expired-with-date form.
+
+pdfjs-digital-signature-properties-certificate-trusted = ਸਰਟੀਫਿਕੇਟ: ਭਰੋਸਾਕਰਤਾ ({ $issuer })
+pdfjs-digital-signature-properties-certificate-unknown = ਸਰਟੀਫਿਕੇਟ: ਗ਼ੈਰ-ਮੌਜੂਦ
+pdfjs-digital-signature-properties-certificate-untrusted = ਸਰਟੀਫਿਕੇਟ: ਬੇਭਰੋਸੇਯੋਗ
+pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = ਸਰਟੀਫਿਕੇਟ: ਅਣਪਛਾਤਾ ਜਾਰੀਕਰਤਾ ({ $issuer })
+pdfjs-digital-signature-properties-certificate-untrusted-self-signed = ਸਰਟੀਫਿਕੇਟ: ਸਵੈ-ਦਸਤਖ਼ਤੀ ({ $issuer })
+pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = ਸਰਟੀਫਿਕੇਟ: ਬੇਭਰੋਸੇਯੋਗ ਜਾਰੀ ਕਰਤਾ ({ $issuer })
+pdfjs-digital-signature-properties-certificate-expired = ਸਰਟੀਫਿਕੇਟ: ਮਿਆਦ ਪੁੱਗੀ
+pdfjs-digital-signature-properties-certificate-expired-with-date = ਸਰਟੀਫਿਕੇਟ: ਮਿਆਦ ਪੁੱਗੀ ({ DATETIME($dateObj, dateStyle: "medium") })
+pdfjs-digital-signature-properties-certificate-revoked = ਸਰਟੀਫਿਕੇਟ: ਰੱਦ ਕੀਤਾ
+
## Main menu for adding/removing signatures
pdfjs-editor-delete-signature-button1 =
diff --git a/packages/pdfjs-viewer/viewer/locale/pl/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/pl/viewer.ftl
index c800ff7d6c8..1b83966c497 100644
--- a/packages/pdfjs-viewer/viewer/locale/pl/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/pl/viewer.ftl
@@ -113,7 +113,7 @@ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) }
# $b (Number) - the PDF file size in bytes
pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } B)
pdfjs-document-properties-title = Tytuł:
-pdfjs-document-properties-author = Autor:
+pdfjs-document-properties-author = Autorzy:
pdfjs-document-properties-subject = Temat:
pdfjs-document-properties-keywords = Słowa kluczowe:
pdfjs-document-properties-creation-date = Data utworzenia:
@@ -188,23 +188,6 @@ pdfjs-printing-not-ready = Ostrzeżenie: dokument PDF nie jest całkowicie wczyt
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Przełącz panel boczny
-pdfjs-toggle-sidebar-notification-button =
- .title = Przełącz panel boczny (dokument zawiera konspekt/załączniki/warstwy)
-pdfjs-toggle-sidebar-button-label = Przełącz panel boczny
-pdfjs-document-outline-button =
- .title = Konspekt dokumentu (podwójne kliknięcie rozwija lub zwija wszystkie pozycje)
-pdfjs-document-outline-button-label = Konspekt dokumentu
-pdfjs-attachments-button =
- .title = Załączniki
-pdfjs-attachments-button-label = Załączniki
-pdfjs-layers-button =
- .title = Warstwy (podwójne kliknięcie przywraca wszystkie warstwy do stanu domyślnego)
-pdfjs-layers-button-label = Warstwy
-pdfjs-thumbs-button =
- .title = Miniatury
-pdfjs-thumbs-button-label = Miniatury
pdfjs-current-outline-item-button =
.title = Znajdź bieżący element konspektu
pdfjs-current-outline-item-button-label = Bieżący element konspektu
@@ -215,10 +198,6 @@ pdfjs-additional-layers = Dodatkowe warstwy
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = { $page }. strona
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -236,8 +215,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Znajdź
.placeholder = Znajdź w dokumencie…
+ .title = Znajdź
pdfjs-find-previous-button =
.title = Znajdź poprzednie wystąpienie tekstu
pdfjs-find-previous-button-label = Poprzednie
@@ -334,16 +313,16 @@ pdfjs-editor-highlight-button =
.title = Wyróżnij
pdfjs-editor-highlight-button-label = Wyróżnij
pdfjs-highlight-floating-button1 =
- .title = Wyróżnij
.aria-label = Wyróżnij
+ .title = Wyróżnij
pdfjs-highlight-floating-button-label = Wyróżnij
pdfjs-comment-floating-button =
- .title = Dodaj komentarz
.aria-label = Dodaj komentarz
+ .title = Dodaj komentarz
pdfjs-comment-floating-button-label = Dodaj komentarz
pdfjs-editor-comment-button =
- .title = Dodaj komentarz
.aria-label = Dodaj komentarz
+ .title = Dodaj komentarz
pdfjs-editor-comment-button-label = Dodaj komentarz
pdfjs-editor-signature-button =
.title = Dodaj podpis
@@ -416,8 +395,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Komentarze
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Zamknij panel boczny
.aria-label = Zamknij panel boczny
+ .title = Zamknij panel boczny
pdfjs-editor-comments-sidebar-close-button-label = Zamknij panel boczny
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Widzisz coś godnego uwagi? Wyróżnij to i zostaw komentarz.
@@ -540,13 +519,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Ustawienia tekstu alternatywnego o
pdfjs-editor-alt-text-settings-automatic-title = Automatyczny tekst alternatywny
pdfjs-editor-alt-text-settings-create-model-button-label = Automatyczne tworzenie tekstu alternatywnego
pdfjs-editor-alt-text-settings-create-model-description = Podpowiada opisy, które mogą pomóc osobom, które nie widzą obrazu lub kiedy obraz się nie wczytuje.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Model SI tekstu alternatywnego ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Działa lokalnie na urządzeniu użytkownika, więc Twoje dane pozostają prywatne. Wymagane do funkcji automatycznego tekstu alternatywnego.
-pdfjs-editor-alt-text-settings-delete-model-button = Usuń
-pdfjs-editor-alt-text-settings-download-model-button = Pobierz
-pdfjs-editor-alt-text-settings-downloading-model-button = Pobieranie…
pdfjs-editor-alt-text-settings-editor-title = Edytor tekstu alternatywnego
pdfjs-editor-alt-text-settings-show-dialog-button-label = Wyświetlanie edytora tekstu alternatywnego od razu po dodaniu obrazu
pdfjs-editor-alt-text-settings-show-dialog-description = Pomaga upewnić się, że wszystkie obrazy mają tekst alternatywny.
@@ -627,7 +599,7 @@ pdfjs-editor-add-signature-clear-button-label = Usuń podpis
pdfjs-editor-add-signature-clear-button =
.title = Usuń podpis
pdfjs-editor-add-signature-save-checkbox = Zachowaj podpis
-pdfjs-editor-add-signature-save-warning-message = Osiągnięto ograniczenie wynoszące pięć zachowanych podpisów. Usuń jeden, aby zachować więcej.
+pdfjs-editor-add-signature-save-warning-message = Przekroczono ograniczenie wynoszące pięć zachowanych podpisów. Usuń jeden, aby zachować więcej.
pdfjs-editor-add-signature-image-upload-error-title = Nie można przesłać obrazu
pdfjs-editor-add-signature-image-upload-error-description = Sprawdź połączenie sieciowe lub spróbuj przesłać inny obraz.
pdfjs-editor-add-signature-image-no-data-error-title = Nie można przekonwertować tego obrazu na podpis
@@ -764,8 +736,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Właściwości podpisu cyfrowego
.aria-label = Właściwości podpisu cyfrowego
+ .title = Właściwości podpisu cyfrowego
pdfjs-digital-signature-properties-button-label = Właściwości podpisu cyfrowego
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/pt-BR/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/pt-BR/viewer.ftl
index 839c886873a..a3b74b408d0 100644
--- a/packages/pdfjs-viewer/viewer/locale/pt-BR/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/pt-BR/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Aviso: o PDF não está totalmente carregado para imp
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Exibir/ocultar painel lateral
-pdfjs-toggle-sidebar-notification-button =
- .title = Exibir/ocultar painel lateral (documento contém estrutura/anexos/camadas)
-pdfjs-toggle-sidebar-button-label = Exibir/ocultar painel lateral
-pdfjs-document-outline-button =
- .title = Mostrar estrutura do documento (duplo-clique expande/recolhe todos os itens)
-pdfjs-document-outline-button-label = Estrutura do documento
-pdfjs-attachments-button =
- .title = Mostrar anexos
-pdfjs-attachments-button-label = Anexos
-pdfjs-layers-button =
- .title = Mostrar camadas (duplo-clique redefine todas as camadas ao estado predefinido)
-pdfjs-layers-button-label = Camadas
-pdfjs-thumbs-button =
- .title = Mostrar miniaturas
-pdfjs-thumbs-button-label = Miniaturas
pdfjs-current-outline-item-button =
.title = Encontrar item atual da estrutura
pdfjs-current-outline-item-button-label = Item atual da estrutura
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Camadas adicionais
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Página { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Procurar
.placeholder = Procurar no documento…
+ .title = Procurar
pdfjs-find-previous-button =
.title = Procurar a ocorrência anterior da frase
pdfjs-find-previous-button-label = Anterior
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Destaque
pdfjs-editor-highlight-button-label = Destaque
pdfjs-highlight-floating-button1 =
- .title = Destaque
.aria-label = Destaque
+ .title = Destaque
pdfjs-highlight-floating-button-label = Destaque
pdfjs-comment-floating-button =
- .title = Comentário
.aria-label = Comentário
+ .title = Comentário
pdfjs-comment-floating-button-label = Comentário
pdfjs-editor-comment-button =
- .title = Comentar
.aria-label = Comentar
+ .title = Comentar
pdfjs-editor-comment-button-label = Comentar
pdfjs-editor-signature-button =
.title = Adicionar assinatura
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Comentários
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Fechar painel lateral
.aria-label = Fechar painel lateral
+ .title = Fechar painel lateral
pdfjs-editor-comments-sidebar-close-button-label = Fechar painel lateral
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Viu algo digno de atenção? Destaque e deixe um comentário.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Configurações de texto alternati
pdfjs-editor-alt-text-settings-automatic-title = Texto alternativo automático
pdfjs-editor-alt-text-settings-create-model-button-label = Criar texto alternativo automaticamente
pdfjs-editor-alt-text-settings-create-model-description = Sugere uma descrição para ajudar pessoas que não conseguem ver a imagem ou quando a imagem não é carregada.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Modelo de inteligência artificial de texto alternativo ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Funciona localmente no seu dispositivo para que seus dados permaneçam privativos. Necessário para texto alternativo automático.
-pdfjs-editor-alt-text-settings-delete-model-button = Excluir
-pdfjs-editor-alt-text-settings-download-model-button = Baixar
-pdfjs-editor-alt-text-settings-downloading-model-button = Baixando…
pdfjs-editor-alt-text-settings-editor-title = Editor de texto alternativo
pdfjs-editor-alt-text-settings-show-dialog-button-label = Mostrar o editor de texto alternativo imediatamente ao adicionar uma imagem
pdfjs-editor-alt-text-settings-show-dialog-description = Ajuda a assegurar que todas as suas imagens tenham texto alternativo.
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Propriedades da assinatura digital
.aria-label = Propriedades da assinatura digital
+ .title = Propriedades da assinatura digital
pdfjs-digital-signature-properties-button-label = Propriedades da assinatura digital
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/pt-PT/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/pt-PT/viewer.ftl
index 136a45c889c..de884e30c07 100644
--- a/packages/pdfjs-viewer/viewer/locale/pt-PT/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/pt-PT/viewer.ftl
@@ -153,6 +153,27 @@ pdfjs-document-properties-linearized = Vista rápida web:
pdfjs-document-properties-linearized-yes = Sim
pdfjs-document-properties-linearized-no = Não
pdfjs-document-properties-close-button = Fechar
+pdfjs-digital-signature-properties-view-certificate = Ver certificado
+# Shown beneath an invalid signature card to explain why verification
+# failed. The text comes from NSS (e.g. "Signature integrity has been
+# compromised", "PKCS#7 signature could not be parsed") and is not
+# itself localized — it is the underlying error message produced by
+# the verification backend.
+# Variables:
+# $reason (String) - error message describing why the signature
+# could not be verified.
+pdfjs-digital-signature-properties-reason = Razão: { $reason }
+# Variables:
+# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
+pdfjs-digital-signature-properties-timestamp = Marcador temporal: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
+# Variables:
+# $count (Number) - number of nested sub-signatures (one per earlier
+# incremental revision of the document).
+pdfjs-digital-signature-properties-sub-signatures =
+ { $count ->
+ [one] ({ $count }) Sub-assinatura
+ *[other] ({ $count }) Sub-assinaturas
+ }
## Print
@@ -166,23 +187,6 @@ pdfjs-printing-not-ready = Aviso: o PDF ainda não está totalmente carregado.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Alternar barra lateral
-pdfjs-toggle-sidebar-notification-button =
- .title = Alternar barra lateral (o documento contém contornos/anexos/camadas)
-pdfjs-toggle-sidebar-button-label = Alternar barra lateral
-pdfjs-document-outline-button =
- .title = Mostrar esquema do documento (duplo clique para expandir/colapsar todos os itens)
-pdfjs-document-outline-button-label = Esquema do documento
-pdfjs-attachments-button =
- .title = Mostrar anexos
-pdfjs-attachments-button-label = Anexos
-pdfjs-layers-button =
- .title = Mostrar camadas (clique duas vezes para repor todas as camadas para o estado predefinido)
-pdfjs-layers-button-label = Camadas
-pdfjs-thumbs-button =
- .title = Mostrar miniaturas
-pdfjs-thumbs-button-label = Miniaturas
pdfjs-current-outline-item-button =
.title = Encontrar o item atualmente destacado
pdfjs-current-outline-item-button-label = Item atualmente destacado
@@ -193,10 +197,6 @@ pdfjs-additional-layers = Camadas adicionais
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Página { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -214,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Localizar
.placeholder = Localizar em documento…
+ .title = Localizar
pdfjs-find-previous-button =
.title = Localizar ocorrência anterior da frase
pdfjs-find-previous-button-label = Anterior
@@ -310,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Destaque
pdfjs-editor-highlight-button-label = Destaque
pdfjs-highlight-floating-button1 =
- .title = Realçar
.aria-label = Realçar
+ .title = Realçar
pdfjs-highlight-floating-button-label = Realçar
pdfjs-comment-floating-button =
- .title = Comentário
.aria-label = Comentário
+ .title = Comentário
pdfjs-comment-floating-button-label = Comentário
pdfjs-editor-comment-button =
- .title = Comentário
.aria-label = Comentário
+ .title = Comentário
pdfjs-editor-comment-button-label = Comentário
pdfjs-editor-signature-button =
.title = Adicionar assinatura
@@ -392,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Comentários
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Fechar barra lateral
.aria-label = Fechar barra lateral
+ .title = Fechar barra lateral
pdfjs-editor-comments-sidebar-close-button-label = Fechar barra lateral
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Viu algo interessante? Realce e adicione um comentário.
@@ -516,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Definições de texto alternativo
pdfjs-editor-alt-text-settings-automatic-title = Texto alternativo automático
pdfjs-editor-alt-text-settings-create-model-button-label = Criar texto alternativo automaticamente
pdfjs-editor-alt-text-settings-create-model-description = Sugere descrições para ajudar as pessoas que não podem visualizar a imagem ou quando a imagem não carrega.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Modelo de IA de texto alternativo ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = É executado localmente no seu dispositivo para que os seus dados se mantenham privados. É necessário para o texto alternativo automático.
-pdfjs-editor-alt-text-settings-delete-model-button = Eliminar
-pdfjs-editor-alt-text-settings-download-model-button = Transferir
-pdfjs-editor-alt-text-settings-downloading-model-button = A transferir…
pdfjs-editor-alt-text-settings-editor-title = Editor de texto alternativo
pdfjs-editor-alt-text-settings-show-dialog-button-label = Mostrar editor de texto alternativo imediatamente ao adicionar uma imagem
pdfjs-editor-alt-text-settings-show-dialog-description = Ajuda a garantir que todas as suas imagens tenham um texto alternativo.
@@ -732,6 +725,74 @@ pdfjs-views-manager-waiting-for-file = A carregar ficheiro…
pdfjs-toggle-views-manager-button1 =
.title = Gerir páginas
+## Digital signature properties (signature verification panel)
+
+pdfjs-digital-signature-properties-button =
+ .aria-label = Propriedades da assinatura digital
+ .title = Propriedades da assinatura digital
+pdfjs-digital-signature-properties-button-label = Propriedades da assinatura digital
+
+## Banner shown above the signature list summarising the overall
+## verification state of the document. Each variant is selected by the
+## viewer based on the worst per-signature status; one signature is
+## enough to lower the banner.
+##
+## Variables:
+## $count (Number) - number of signatures at the worst level.
+
+pdfjs-digital-signature-properties-banner-verified = O documento foi assinado com uma assinatura digital válida
+pdfjs-digital-signature-properties-banner-unknown =
+ { $count ->
+ [one] Documento assinado mas { $count } assinatura digital não pôde ser verificada
+ *[other] Documento assinado mas { $count } assinaturas digitais não puderam ser verificadas
+ }
+pdfjs-digital-signature-properties-banner-untrusted =
+ { $count ->
+ [one] Documento assinado com { $count } certificado que não é de confiança
+ *[other] Documento assinado com { $count } certificados que não são de confiança
+ }
+pdfjs-digital-signature-properties-banner-expired =
+ { $count ->
+ [one] Documento assinado com { $count } certificado expirado
+ *[other] Documento assinado com { $count } certificados expirados
+ }
+pdfjs-digital-signature-properties-banner-invalid =
+ { $count ->
+ [one] O documento tem { $count } assinatura digital inválida
+ *[other] O documento tem { $count } assinaturas digitais inválidas
+ }
+pdfjs-digital-signature-properties-banner-revoked =
+ { $count ->
+ [one] Documento assinado com { $count } certificado revogado
+ *[other] Documento assinado com { $count } certificados revogados
+ }
+
+## Per-signature status row. Only three distinct strings are needed:
+## the signature crypto either verified (the cert chain may still be
+## untrusted/expired/revoked, but that's surfaced on the cert row
+## below), or it failed, or its sub-format isn't supported.
+
+pdfjs-digital-signature-properties-status-verified = Estado: Assinatura verificada
+pdfjs-digital-signature-properties-status-invalid = Estado: Assinatura inválida
+pdfjs-digital-signature-properties-status-unknown = Estado: Não foi possível verificar (não suportado)
+
+## Per-signature certificate row. The variants with an issuer / date in
+## parentheses embed fully-localized context — no English fall-through.
+##
+## Variables:
+## $issuer (String) - issuer or subject common name from the cert.
+## $dateObj (Date) - notAfter date for the expired-with-date form.
+
+pdfjs-digital-signature-properties-certificate-trusted = Certificado: Confiável ({ $issuer })
+pdfjs-digital-signature-properties-certificate-unknown = Certificado: Indisponível
+pdfjs-digital-signature-properties-certificate-untrusted = Certificado: Não confiável
+pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Certificado: Emissor desconhecido ({ $issuer })
+pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Certificado: Auto-assinado ({ $issuer })
+pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Certificado: Emissor não confiável ({ $issuer })
+pdfjs-digital-signature-properties-certificate-expired = Certificado: Expirado
+pdfjs-digital-signature-properties-certificate-expired-with-date = Certificado: Expirado ({ DATETIME($dateObj, dateStyle: "medium") })
+pdfjs-digital-signature-properties-certificate-revoked = Certificado: Revogado
+
## Main menu for adding/removing signatures
pdfjs-editor-delete-signature-button1 =
diff --git a/packages/pdfjs-viewer/viewer/locale/rm/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/rm/viewer.ftl
index e632848e069..c07ba50e02a 100644
--- a/packages/pdfjs-viewer/viewer/locale/rm/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/rm/viewer.ftl
@@ -166,23 +166,6 @@ pdfjs-printing-not-ready = Attenziun: Il PDF n'è betg chargià cumplettamain pe
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Activar/deactivar la trav laterala
-pdfjs-toggle-sidebar-notification-button =
- .title = Activar/deactivar la trav laterala (il document cuntegna structura dal document/agiuntas/nivels)
-pdfjs-toggle-sidebar-button-label = Activar/deactivar la trav laterala
-pdfjs-document-outline-button =
- .title = Mussar la structura dal document (cliccar duas giadas per extender/cumprimer tut ils elements)
-pdfjs-document-outline-button-label = Structura dal document
-pdfjs-attachments-button =
- .title = Mussar agiuntas
-pdfjs-attachments-button-label = Agiuntas
-pdfjs-layers-button =
- .title = Mussar ils nivels (cliccar dubel per restaurar il stadi da standard da tut ils nivels)
-pdfjs-layers-button-label = Nivels
-pdfjs-thumbs-button =
- .title = Mussar las miniaturas
-pdfjs-thumbs-button-label = Miniaturas
pdfjs-current-outline-item-button =
.title = Tschertgar l'element da structura actual
pdfjs-current-outline-item-button-label = Element da structura actual
@@ -193,10 +176,6 @@ pdfjs-additional-layers = Nivels supplementars
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Pagina { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -205,8 +184,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Tschertgar
.placeholder = Tschertgar en il document…
+ .title = Tschertgar
pdfjs-find-previous-button =
.title = Tschertgar la posiziun precedenta da l'expressiun
pdfjs-find-previous-button-label = Enavos
@@ -301,16 +280,16 @@ pdfjs-editor-highlight-button =
.title = Marcar
pdfjs-editor-highlight-button-label = Marcar
pdfjs-highlight-floating-button1 =
- .title = Marcar
.aria-label = Marcar
+ .title = Marcar
pdfjs-highlight-floating-button-label = Marcar
pdfjs-comment-floating-button =
- .title = Commentar
.aria-label = Commentar
+ .title = Commentar
pdfjs-comment-floating-button-label = Commentar
pdfjs-editor-comment-button =
- .title = Commentari
.aria-label = Commentari
+ .title = Commentari
pdfjs-editor-comment-button-label = Commentari
pdfjs-editor-signature-button =
.title = Agiuntar ina signatura
@@ -383,8 +362,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Commentaris
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Serrar la trav laterala
.aria-label = Serrar la trav laterala
+ .title = Serrar la trav laterala
pdfjs-editor-comments-sidebar-close-button-label = Serrar la trav laterala
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Vesas insatge interessant? Marchescha la passascha ed agiuntescha in commentari.
@@ -507,13 +486,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Parameters dal text alternativ da
pdfjs-editor-alt-text-settings-automatic-title = Text alternativ automatic
pdfjs-editor-alt-text-settings-create-model-button-label = Crear automaticamain text alternativ
pdfjs-editor-alt-text-settings-create-model-description = Propona descripziuns per gidar a persunas che na vesan betg il maletg u per cass en ils quals il maletg na vegn betg chargià.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Model IA da text alternativ ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Vegn exequì localmain sin tes apparat per che tias datas restian privatas. Necessari per text alternativ automatic.
-pdfjs-editor-alt-text-settings-delete-model-button = Stizzar
-pdfjs-editor-alt-text-settings-download-model-button = Telechargiar
-pdfjs-editor-alt-text-settings-downloading-model-button = Telechargiar…
pdfjs-editor-alt-text-settings-editor-title = Editur per text alternativ
pdfjs-editor-alt-text-settings-show-dialog-button-label = Mussar l’editur per text alternativ directamain cun agiuntar in maletg
pdfjs-editor-alt-text-settings-show-dialog-description = Ta gida a garantir che tut tes maletgs hajan in text alternativ.
diff --git a/packages/pdfjs-viewer/viewer/locale/ro/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ro/viewer.ftl
index 44d389e71cf..3a9dcb3617a 100644
--- a/packages/pdfjs-viewer/viewer/locale/ro/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ro/viewer.ftl
@@ -188,23 +188,6 @@ pdfjs-printing-not-ready = Avertisment: PDF-ul nu este încărcat complet pentru
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Comută bara laterală
-pdfjs-toggle-sidebar-notification-button =
- .title = Comută bara laterală (documentul conține schițe/atașamente/straturi)
-pdfjs-toggle-sidebar-button-label = Comută bara laterală
-pdfjs-document-outline-button =
- .title = Afișează schița documentului (dă dublu clic pentru a extinde/restrânge toate elementele)
-pdfjs-document-outline-button-label = Schiță a documentului
-pdfjs-attachments-button =
- .title = Afișează atașamentele
-pdfjs-attachments-button-label = Atașamente
-pdfjs-layers-button =
- .title = Afișează straturile (dă dublu clic pentru resetarea tuturor straturilor la starea implicită)
-pdfjs-layers-button-label = Straturi
-pdfjs-thumbs-button =
- .title = Afișează miniaturi
-pdfjs-thumbs-button-label = Miniaturi
pdfjs-current-outline-item-button =
.title = Găsește elementul pe schița actuală
pdfjs-current-outline-item-button-label = Element al schiței actuale
@@ -215,10 +198,6 @@ pdfjs-additional-layers = Straturi suplimentare
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Pagina { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -236,8 +215,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Caută
.placeholder = Caută în document…
+ .title = Caută
pdfjs-find-previous-button =
.title = Mergi la apariția anterioară a textului
pdfjs-find-previous-button-label = Înapoi
@@ -334,16 +313,16 @@ pdfjs-editor-highlight-button =
.title = Evidențiere
pdfjs-editor-highlight-button-label = Evidențiere
pdfjs-highlight-floating-button1 =
- .title = Evidențiază
.aria-label = Evidențiere
+ .title = Evidențiază
pdfjs-highlight-floating-button-label = Evidențiază
pdfjs-comment-floating-button =
- .title = Comentează
.aria-label = Comentariu
+ .title = Comentează
pdfjs-comment-floating-button-label = Comentează
pdfjs-editor-comment-button =
- .title = Comentariu
.aria-label = Comentează
+ .title = Comentariu
pdfjs-editor-comment-button-label = Comentariu
pdfjs-editor-signature-button =
.title = Adaugă semnătură
@@ -417,8 +396,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] de comentarii
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Închide bara laterală
.aria-label = Închide bara laterală
+ .title = Închide bara laterală
pdfjs-editor-comments-sidebar-close-button-label = Închide bara laterală
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Vezi ceva care merită comentat? Evidențiază-l și lasă un comentariu.
@@ -541,13 +520,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Setări text alternativ imagini
pdfjs-editor-alt-text-settings-automatic-title = Text alternativ automat
pdfjs-editor-alt-text-settings-create-model-button-label = Creează automat texte alternative
pdfjs-editor-alt-text-settings-create-model-description = Sugerează descrieri ca să îi ajuți pe cei care nu pot vedea imaginea sau pentru când nu se încarcă imaginea.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Model AI de text alternativ ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Rulează local pe dispozitiv, deci datele tale rămân private. Necesar pentru text alternativ automat.
-pdfjs-editor-alt-text-settings-delete-model-button = Șterge
-pdfjs-editor-alt-text-settings-download-model-button = Descarcă
-pdfjs-editor-alt-text-settings-downloading-model-button = Se descarcă…
pdfjs-editor-alt-text-settings-editor-title = Editor de text alternativ
pdfjs-editor-alt-text-settings-show-dialog-button-label = Afișează editorul de text alternativ imediat când adaugi o imagine
pdfjs-editor-alt-text-settings-show-dialog-description = Te ajută să te asiguri că toate imaginile au text alternativ.
@@ -765,8 +737,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Proprietățile semnăturii digitale
.aria-label = Proprietățile semnăturii digitale
+ .title = Proprietățile semnăturii digitale
pdfjs-digital-signature-properties-button-label = Proprietățile semnăturii digitale
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/ru/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ru/viewer.ftl
index bac2800f0b3..5da3e94eb4c 100644
--- a/packages/pdfjs-viewer/viewer/locale/ru/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ru/viewer.ftl
@@ -188,23 +188,6 @@ pdfjs-printing-not-ready = Предупреждение: PDF не полност
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Показать/скрыть боковую панель
-pdfjs-toggle-sidebar-notification-button =
- .title = Показать/скрыть боковую панель (документ имеет содержание/вложения/слои)
-pdfjs-toggle-sidebar-button-label = Показать/скрыть боковую панель
-pdfjs-document-outline-button =
- .title = Показать содержание документа (двойной щелчок, чтобы развернуть/свернуть все элементы)
-pdfjs-document-outline-button-label = Содержание документа
-pdfjs-attachments-button =
- .title = Показать вложения
-pdfjs-attachments-button-label = Вложения
-pdfjs-layers-button =
- .title = Показать слои (дважды щёлкните, чтобы сбросить все слои к состоянию по умолчанию)
-pdfjs-layers-button-label = Слои
-pdfjs-thumbs-button =
- .title = Показать миниатюры
-pdfjs-thumbs-button-label = Миниатюры
pdfjs-current-outline-item-button =
.title = Найти текущий элемент структуры
pdfjs-current-outline-item-button-label = Текущий элемент структуры
@@ -215,10 +198,6 @@ pdfjs-additional-layers = Дополнительные слои
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Страница { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -236,8 +215,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Найти
.placeholder = Найти в документе…
+ .title = Найти
pdfjs-find-previous-button =
.title = Найти предыдущее вхождение фразы в текст
pdfjs-find-previous-button-label = Назад
@@ -334,16 +313,16 @@ pdfjs-editor-highlight-button =
.title = Выделение
pdfjs-editor-highlight-button-label = Выделение
pdfjs-highlight-floating-button1 =
- .title = Выделение
.aria-label = Выделение
+ .title = Выделение
pdfjs-highlight-floating-button-label = Выделение
pdfjs-comment-floating-button =
- .title = Комментировать
.aria-label = Комментировать
+ .title = Комментировать
pdfjs-comment-floating-button-label = Комментировать
pdfjs-editor-comment-button =
- .title = Комментарий
.aria-label = Комментарий
+ .title = Комментарий
pdfjs-editor-comment-button-label = Комментарий
pdfjs-editor-signature-button =
.title = Добавить подпись
@@ -417,8 +396,8 @@ pdfjs-editor-comments-sidebar-title =
*[many] Комментарии
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Закрыть боковую панель
.aria-label = Закрыть боковую панель
+ .title = Закрыть боковую панель
pdfjs-editor-comments-sidebar-close-button-label = Закрыть боковую панель
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Увидели что-то интересное? Выделите и оставьте комментарий.
@@ -541,13 +520,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Настройки альтерн
pdfjs-editor-alt-text-settings-automatic-title = Автоматический альтернативный текст
pdfjs-editor-alt-text-settings-create-model-button-label = Автоматически создавать альтернативный текст
pdfjs-editor-alt-text-settings-create-model-description = Предлагает описания, чтобы помочь людям, которые не видят изображение, или если изображение не загружается.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = ИИ-модель альтернативного текста ({ $totalSize } МБ)
-pdfjs-editor-alt-text-settings-ai-model-description = Запускается локально на вашем устройстве, поэтому ваши данные остаются конфиденциальными. Требуется для автоматического альтернативного текста.
-pdfjs-editor-alt-text-settings-delete-model-button = Удалить
-pdfjs-editor-alt-text-settings-download-model-button = Скачать
-pdfjs-editor-alt-text-settings-downloading-model-button = Загрузка…
pdfjs-editor-alt-text-settings-editor-title = Редактор альтернативного текста
pdfjs-editor-alt-text-settings-show-dialog-button-label = Сразу показывать редактор альтернативного текста при добавлении изображения
pdfjs-editor-alt-text-settings-show-dialog-description = Помогает вам убедиться, что все ваши изображения имеют альтернативный текст.
@@ -765,8 +737,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Свойства цифровой подписи
.aria-label = Свойства цифровой подписи
+ .title = Свойства цифровой подписи
pdfjs-digital-signature-properties-button-label = Свойства цифровой подписи
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/sat/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/sat/viewer.ftl
index e2e3140966a..24162ab1917 100644
--- a/packages/pdfjs-viewer/viewer/locale/sat/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/sat/viewer.ftl
@@ -155,23 +155,6 @@ pdfjs-printing-not-ready = ᱦᱩᱥᱤᱭᱟᱹᱨ : ᱪᱷᱟᱯᱟ ᱞᱟᱹ
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = ᱫᱷᱟᱨᱮᱵᱟᱨ ᱥᱮᱫ ᱩᱪᱟᱹᱲᱚᱜ ᱢᱮ
-pdfjs-toggle-sidebar-notification-button =
- .title = ᱫᱷᱟᱨᱮᱵᱟᱨ ᱥᱮᱫ ᱩᱪᱟᱹᱲᱚᱜ ᱢᱮ (ᱫᱚᱞᱤᱞ ᱨᱮ ᱟᱣᱴᱞᱟᱭᱤᱢ ᱢᱮᱱᱟᱜᱼᱟ/ᱞᱟᱪᱷᱟᱠᱚ/ᱯᱚᱨᱚᱛᱠᱚ)
-pdfjs-toggle-sidebar-button-label = ᱫᱷᱟᱨᱮᱵᱟᱨ ᱥᱮᱫ ᱩᱪᱟᱹᱲᱚᱜ ᱢᱮ
-pdfjs-document-outline-button =
- .title = ᱫᱚᱞᱚᱞ ᱟᱣᱴᱞᱟᱭᱤᱱ ᱫᱮᱠᱷᱟᱣ ᱢᱮ (ᱡᱷᱚᱛᱚ ᱡᱤᱱᱤᱥᱠᱚ ᱵᱟᱨ ᱡᱮᱠᱷᱟ ᱚᱛᱟ ᱠᱮᱛᱮ ᱡᱷᱟᱹᱞ/ᱦᱩᱰᱤᱧ ᱪᱷᱚᱭ ᱢᱮ)
-pdfjs-document-outline-button-label = ᱫᱚᱞᱤᱞ ᱛᱮᱭᱟᱨ ᱛᱮᱫ
-pdfjs-attachments-button =
- .title = ᱞᱟᱴᱷᱟ ᱥᱮᱞᱮᱫ ᱠᱚ ᱩᱫᱩᱜᱽ ᱢᱮ
-pdfjs-attachments-button-label = ᱞᱟᱴᱷᱟ ᱥᱮᱞᱮᱫ ᱠᱚ
-pdfjs-layers-button =
- .title = ᱯᱚᱨᱚᱛ ᱫᱮᱠᱷᱟᱣ ᱢᱮ (ᱢᱩᱞ ᱡᱟᱭᱜᱟ ᱛᱮ ᱡᱷᱚᱛᱚ ᱯᱚᱨᱚᱛᱠᱚ ᱨᱤᱥᱮᱴ ᱞᱟᱹᱜᱤᱫ ᱵᱟᱨ ᱡᱮᱠᱷᱟ ᱚᱛᱚᱭ ᱢᱮ)
-pdfjs-layers-button-label = ᱯᱚᱨᱚᱛᱠᱚ
-pdfjs-thumbs-button =
- .title = ᱪᱤᱛᱟᱹᱨ ᱟᱦᱞᱟ ᱠᱚ ᱩᱫᱩᱜᱽ ᱢᱮ
-pdfjs-thumbs-button-label = ᱪᱤᱛᱟᱹᱨ ᱟᱦᱞᱟ ᱠᱚ
pdfjs-current-outline-item-button =
.title = ᱱᱤᱛᱚᱜᱟᱜ ᱟᱣᱴᱞᱟᱭᱤᱱ ᱡᱟᱱᱤᱥ ᱯᱟᱱᱛᱮ ᱢᱮ
pdfjs-current-outline-item-button-label = ᱱᱤᱛᱚᱜᱟᱜ ᱟᱣᱴᱞᱟᱭᱤᱱ ᱡᱟᱱᱤᱥ
@@ -182,10 +165,6 @@ pdfjs-additional-layers = ᱵᱟᱹᱲᱛᱤ ᱯᱚᱨᱚᱛᱠᱚ
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = { $page } ᱥᱟᱦᱴᱟ
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -194,8 +173,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = ᱥᱮᱸᱫᱽᱨᱟᱭ ᱢᱮ
.placeholder = ᱫᱚᱞᱤᱞ ᱨᱮ ᱯᱟᱱᱛᱮ ᱢᱮ …
+ .title = ᱥᱮᱸᱫᱽᱨᱟᱭ ᱢᱮ
pdfjs-find-previous-button =
.title = ᱟᱭᱟᱛ ᱦᱤᱸᱥ ᱨᱮᱭᱟᱜ ᱯᱟᱹᱦᱤᱞ ᱥᱮᱫᱟᱜ ᱚᱰᱚᱠ ᱧᱟᱢ ᱢᱮ
pdfjs-find-previous-button-label = ᱢᱟᱲᱟᱝᱟᱜ
diff --git a/packages/pdfjs-viewer/viewer/locale/sc/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/sc/viewer.ftl
index 7f334e43047..0e31b2ca008 100644
--- a/packages/pdfjs-viewer/viewer/locale/sc/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/sc/viewer.ftl
@@ -160,21 +160,6 @@ pdfjs-printing-not-ready = Atentzione: su PDF no est istadu carrigadu de su totu
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Ativa/disativa sa barra laterale
-pdfjs-toggle-sidebar-notification-button =
- .title = Ativa/disativa sa barra laterale (su documentu cuntenet un'ischema, alligongiados o livellos)
-pdfjs-toggle-sidebar-button-label = Ativa/disativa sa barra laterale
-pdfjs-document-outline-button-label = Ischema de su documentu
-pdfjs-attachments-button =
- .title = Ammustra alligongiados
-pdfjs-attachments-button-label = Alliongiados
-pdfjs-layers-button =
- .title = Ammustra livellos (clic dòpiu pro ripristinare totu is livellos a s'istadu predefinidu)
-pdfjs-layers-button-label = Livellos
-pdfjs-thumbs-button =
- .title = Ammustra miniaturas
-pdfjs-thumbs-button-label = Miniaturas
pdfjs-current-outline-item-button =
.title = Agata s'elementu atuale de s'ischema
pdfjs-current-outline-item-button-label = Elementu atuale de s'ischema
@@ -185,10 +170,6 @@ pdfjs-additional-layers = Livellos additzionales
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Pàgina { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -206,8 +187,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Agata
.placeholder = Agata in su documentu…
+ .title = Agata
pdfjs-find-previous-button =
.title = Agata s'ocurrèntzia pretzedente de sa fràsia
pdfjs-find-previous-button-label = S'ischeda chi b'est primu
@@ -295,16 +276,16 @@ pdfjs-editor-highlight-button =
.title = Evidèntzia
pdfjs-editor-highlight-button-label = Evidèntzia
pdfjs-highlight-floating-button1 =
- .title = Evidèntzia
.aria-label = Evidèntzia
+ .title = Evidèntzia
pdfjs-highlight-floating-button-label = Evidèntzia
pdfjs-comment-floating-button =
- .title = Cummenta
.aria-label = Cummenta
+ .title = Cummenta
pdfjs-comment-floating-button-label = Cummenta
pdfjs-editor-comment-button =
- .title = Cummenta
.aria-label = Cummenta
+ .title = Cummenta
pdfjs-editor-comment-button-label = Cummenta
pdfjs-editor-signature-button =
.title = Agiunghe una firma
@@ -374,8 +355,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Cummentos
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Serra sa barra laterale
.aria-label = Serra sa barra laterale
+ .title = Serra sa barra laterale
pdfjs-editor-comments-sidebar-close-button-label = Serra sa barra laterale
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = As rilevadu una cosa de interessu? Sinnala·dda e agiunghe unu cummentu.
@@ -433,13 +414,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Cunfiguratzione de su testu altern
pdfjs-editor-alt-text-settings-automatic-title = Testu alternativu automàticu
pdfjs-editor-alt-text-settings-create-model-button-label = Crea testu alternativu in automàticu
pdfjs-editor-alt-text-settings-create-model-description = Cussìgiat descritziones pro agiudare a gente chi non podet bìdere s’immàgine o cando non benit carrigada.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Modellu de IA pro su testu alternativu ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Est esecutadu in locale in manera chi is datos tuos abarrent in privadu. Rechestu pro sa generatzione automàtica de testu alternativu.
-pdfjs-editor-alt-text-settings-delete-model-button = Cantzella
-pdfjs-editor-alt-text-settings-download-model-button = Iscàrriga
-pdfjs-editor-alt-text-settings-downloading-model-button = Iscarrighende…
pdfjs-editor-alt-text-settings-editor-title = Editore de testu alternativu
pdfjs-editor-alt-text-settings-show-dialog-button-label = Mustra deretu s’editore de testu alternativu cando siat agiunta un’immàgine
pdfjs-editor-alt-text-settings-show-dialog-description = T’agiudat a assegurare chi totu is immàgines tuas tèngiant unu testu alternativu.
diff --git a/packages/pdfjs-viewer/viewer/locale/sco/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/sco/viewer.ftl
index ed4c3bb04ba..28f5c593562 100644
--- a/packages/pdfjs-viewer/viewer/locale/sco/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/sco/viewer.ftl
@@ -140,23 +140,6 @@ pdfjs-printing-not-ready = Tak tent: The PDF isnae richt loadit fur prentin.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Toggle Sidebaur
-pdfjs-toggle-sidebar-notification-button =
- .title = Toggle Sidebaur (document conteens ootline/attachments/layers)
-pdfjs-toggle-sidebar-button-label = Toggle Sidebaur
-pdfjs-document-outline-button =
- .title = Kythe Document Ootline (double-click fur tae oot-fauld/in-fauld aw items)
-pdfjs-document-outline-button-label = Document Ootline
-pdfjs-attachments-button =
- .title = Kythe Attachments
-pdfjs-attachments-button-label = Attachments
-pdfjs-layers-button =
- .title = Kythe Layers (double-click fur tae reset aw layers tae the staunart state)
-pdfjs-layers-button-label = Layers
-pdfjs-thumbs-button =
- .title = Kythe Thumbnails
-pdfjs-thumbs-button-label = Thumbnails
pdfjs-current-outline-item-button =
.title = Find Current Ootline Item
pdfjs-current-outline-item-button-label = Current Ootline Item
@@ -167,10 +150,6 @@ pdfjs-additional-layers = Mair Layers
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Page { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -179,8 +158,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Find
.placeholder = Find in document…
+ .title = Find
pdfjs-find-previous-button =
.title = Airt oot the last time this phrase occurred
pdfjs-find-previous-button-label = Previous
diff --git a/packages/pdfjs-viewer/viewer/locale/si/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/si/viewer.ftl
index 28d53f32764..d5a7b4272ca 100644
--- a/packages/pdfjs-viewer/viewer/locale/si/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/si/viewer.ftl
@@ -129,16 +129,6 @@ pdfjs-printing-not-ready = අවවාදයයි: මුද්රණයට
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-document-outline-button-label = ලේඛනයේ වටසන
-pdfjs-attachments-button =
- .title = ඇමුණුම් පෙන්වන්න
-pdfjs-attachments-button-label = ඇමුණුම්
-pdfjs-layers-button =
- .title = ස්තර පෙන්වන්න (සියළු ස්තර පෙරනිමි තත්වයට යළි සැකසීමට දෙවරක් ඔබන්න)
-pdfjs-layers-button-label = ස්තර
-pdfjs-thumbs-button =
- .title = සිඟිති රූ පෙන්වන්න
-pdfjs-thumbs-button-label = සිඟිති රූ
pdfjs-findbar-button =
.title = ලේඛනයෙහි සොයන්න
pdfjs-findbar-button-label = සොයන්න
@@ -146,10 +136,6 @@ pdfjs-additional-layers = අතිරේක ස්තර
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = පිටුව { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -158,8 +144,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = සොයන්න
.placeholder = ලේඛනයේ සොයන්න…
+ .title = සොයන්න
pdfjs-find-previous-button =
.title = මෙම වැකිකඩ කලින් යෙදුණු ස්ථානය සොයන්න
pdfjs-find-previous-button-label = කලින්
diff --git a/packages/pdfjs-viewer/viewer/locale/sk/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/sk/viewer.ftl
index f55766c6ea5..0375ed710ff 100644
--- a/packages/pdfjs-viewer/viewer/locale/sk/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/sk/viewer.ftl
@@ -107,11 +107,11 @@ pdfjs-document-properties-file-size = Veľkosť súboru:
# Variables:
# $kb (Number) - the PDF file size in kilobytes
# $b (Number) - the PDF file size in bytes
-pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) } kB ({ $b } bajtov)
+pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) } kB ({ $b } bajtov)
# Variables:
# $mb (Number) - the PDF file size in megabytes
# $b (Number) - the PDF file size in bytes
-pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bajtov)
+pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bajtov)
pdfjs-document-properties-title = Názov:
pdfjs-document-properties-author = Autor:
pdfjs-document-properties-subject = Predmet:
@@ -189,23 +189,6 @@ pdfjs-printing-not-ready = Upozornenie: súbor PDF nie je plne načítaný pre t
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Prepnúť bočný panel
-pdfjs-toggle-sidebar-notification-button =
- .title = Prepnúť bočný panel (dokument obsahuje osnovu/prílohy/vrstvy)
-pdfjs-toggle-sidebar-button-label = Prepnúť bočný panel
-pdfjs-document-outline-button =
- .title = Zobraziť osnovu dokumentu (dvojitým kliknutím rozbalíte/zbalíte všetky položky)
-pdfjs-document-outline-button-label = Osnova dokumentu
-pdfjs-attachments-button =
- .title = Zobraziť prílohy
-pdfjs-attachments-button-label = Prílohy
-pdfjs-layers-button =
- .title = Zobraziť vrstvy (dvojitým kliknutím uvediete všetky vrstvy do pôvodného stavu)
-pdfjs-layers-button-label = Vrstvy
-pdfjs-thumbs-button =
- .title = Zobraziť miniatúry
-pdfjs-thumbs-button-label = Miniatúry
pdfjs-current-outline-item-button =
.title = Nájsť aktuálnu položku v osnove
pdfjs-current-outline-item-button-label = Aktuálna položka v osnove
@@ -216,10 +199,6 @@ pdfjs-additional-layers = Ďalšie vrstvy
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Strana { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -237,8 +216,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Hľadať
.placeholder = Hľadať v dokumente…
+ .title = Hľadať
pdfjs-find-previous-button =
.title = Vyhľadať predchádzajúci výskyt reťazca
pdfjs-find-previous-button-label = Predchádzajúce
@@ -337,16 +316,16 @@ pdfjs-editor-highlight-button =
.title = Zvýrazniť
pdfjs-editor-highlight-button-label = Zvýrazniť
pdfjs-highlight-floating-button1 =
- .title = Zvýrazniť
.aria-label = Zvýrazniť
+ .title = Zvýrazniť
pdfjs-highlight-floating-button-label = Zvýrazniť
pdfjs-comment-floating-button =
- .title = Pridať komentár
.aria-label = Pridať komentár
+ .title = Pridať komentár
pdfjs-comment-floating-button-label = Pridať komentár
pdfjs-editor-comment-button =
- .title = Pridať komentár
.aria-label = Pridať komentár
+ .title = Pridať komentár
pdfjs-editor-comment-button-label = Pridať komentár
pdfjs-editor-signature-button =
.title = Pridať podpis
@@ -421,8 +400,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Komentárov
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Zavrieť bočný panel
.aria-label = Zavrieť bočný panel
+ .title = Zavrieť bočný panel
pdfjs-editor-comments-sidebar-close-button-label = Zavrieť bočný panel
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Vidíte niečo pozoruhodné? Zvýraznite to a zanechajte komentár.
@@ -517,8 +496,8 @@ pdfjs-editor-new-alt-text-error-close-button = Zavrieť
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
-pdfjs-editor-new-alt-text-ai-model-downloading-progress = Sťahuje sa model AI pre alternatívne texty ({ $downloadedSize } z { $totalSize } MB)
- .aria-valuetext = Sťahuje sa model AI pre alternatívne texty ({ $downloadedSize } z { $totalSize } MB)
+pdfjs-editor-new-alt-text-ai-model-downloading-progress = Sťahuje sa model umelej inteligencie pre alternatívne texty ({ $downloadedSize } z { $totalSize } MB)
+ .aria-valuetext = Sťahuje sa model umelej inteligencie pre alternatívne texty ({ $downloadedSize } z { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.
pdfjs-editor-new-alt-text-added-button =
.aria-label = Alternatívny text bol pridaný
@@ -545,13 +524,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Nastavenia alternatívneho textu o
pdfjs-editor-alt-text-settings-automatic-title = Automatický alternatívny text
pdfjs-editor-alt-text-settings-create-model-button-label = Automaticky vytvoriť alternatívny text
pdfjs-editor-alt-text-settings-create-model-description = Navrhuje popisy, ktoré pomôžu ľuďom, ktorým sa obrázok nezobrazuje alebo ak sa obrázok nenačíta.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Model AI pre alternatívne texty ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Beží lokálne na vašom zariadení, takže vaše dáta zostanú súkromné. Vyžaduje sa pre automatický alternatívny text.
-pdfjs-editor-alt-text-settings-delete-model-button = Odstrániť
-pdfjs-editor-alt-text-settings-download-model-button = Stiahnuť
-pdfjs-editor-alt-text-settings-downloading-model-button = Sťahuje sa…
pdfjs-editor-alt-text-settings-editor-title = Editor alternatívneho textu
pdfjs-editor-alt-text-settings-show-dialog-button-label = Pri pridávaní obrázka ihneď zobraziť editor alternatívneho textu
pdfjs-editor-alt-text-settings-show-dialog-description = Pomáha vám zabezpečiť, aby všetky vaše obrázky mali alternatívny text.
@@ -597,13 +569,13 @@ pdfjs-editor-add-signature-dialog-title = Pridať podpis
## Tab names
# Type is a verb (you can type your name as signature)
-pdfjs-editor-add-signature-type-button = Typ
- .title = Typ
+pdfjs-editor-add-signature-type-button = Napísať
+ .title = Napísať
# Draw is a verb (you can draw your signature)
-pdfjs-editor-add-signature-draw-button = Kresliť
- .title = Kresliť
-pdfjs-editor-add-signature-image-button = Obrázok
- .title = Obrázok
+pdfjs-editor-add-signature-draw-button = Nakresliť
+ .title = Nakresliť
+pdfjs-editor-add-signature-image-button = Z obrázka
+ .title = Z obrázka
## Tab panels
@@ -766,7 +738,7 @@ pdfjs-views-manager-paste-button-after =
.title = Vložiť za stranu { $page }
# Badge used to promote a new feature in the UI, keep it as short as possible.
# It's spelled uppercase for English, but it can be translated as usual.
-pdfjs-new-badge-content = NOVÉ
+pdfjs-new-badge-content = NOVINKA
pdfjs-views-manager-waiting-for-file = Nahráva sa súbor…
pdfjs-toggle-views-manager-button1 =
.title = Spravovať strany
@@ -774,8 +746,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Vlastnosti digitálneho podpisu
.aria-label = Vlastnosti digitálneho podpisu
+ .title = Vlastnosti digitálneho podpisu
pdfjs-digital-signature-properties-button-label = Vlastnosti digitálneho podpisu
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/skr/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/skr/viewer.ftl
index 6136dfcbe80..ba6c41b6b65 100644
--- a/packages/pdfjs-viewer/viewer/locale/skr/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/skr/viewer.ftl
@@ -153,6 +153,27 @@ pdfjs-document-properties-linearized = تکھا ویب نظارہ:
pdfjs-document-properties-linearized-yes = جیا
pdfjs-document-properties-linearized-no = کو
pdfjs-document-properties-close-button = بند کرو
+pdfjs-digital-signature-properties-view-certificate = سرٹیفکیٹ ݙیکھو۔
+# Shown beneath an invalid signature card to explain why verification
+# failed. The text comes from NSS (e.g. "Signature integrity has been
+# compromised", "PKCS#7 signature could not be parsed") and is not
+# itself localized — it is the underlying error message produced by
+# the verification backend.
+# Variables:
+# $reason (String) - error message describing why the signature
+# could not be verified.
+pdfjs-digital-signature-properties-reason = وجہ: { $reason }
+# Variables:
+# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
+pdfjs-digital-signature-properties-timestamp = ٹائم سٹیمپ: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
+# Variables:
+# $count (Number) - number of nested sub-signatures (one per earlier
+# incremental revision of the document).
+pdfjs-digital-signature-properties-sub-signatures =
+ { $count ->
+ [one] ذیلی دستخط ({ $count })
+ *[other] ذیلی دستخطاں ({ $count })
+ }
## Print
@@ -166,23 +187,6 @@ pdfjs-printing-not-ready = چتاوݨی: PDF چھپائی کیتے پوری طر
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = سائیڈ بار ٹوگل کرو
-pdfjs-toggle-sidebar-notification-button =
- .title = سائیڈ بار ٹوگل کرو (دستاویز وِچ آؤٹ لائن/ منسلکات/ پرتاں شامل ہن)
-pdfjs-toggle-sidebar-button-label = سائیڈ بار ٹوگل کرو
-pdfjs-document-outline-button =
- .title = دستاویز دا خاکہ ݙکھاؤ (تمام آئٹمز کوں پھیلاوݨ/سنگوڑݨ کیتے ڈبل کلک کرو)
-pdfjs-document-outline-button-label = دستاویز آؤٹ لائن
-pdfjs-attachments-button =
- .title = نتھیاں ݙکھاؤ
-pdfjs-attachments-button-label = منسلکات
-pdfjs-layers-button =
- .title = پرتاں ݙکھاؤ (تمام پرتاں کوں ڈیفالٹ حالت وِچ دوبارہ ترتیب ݙیوݨ کیتے ڈبل کلک کرو)
-pdfjs-layers-button-label = پرتاں
-pdfjs-thumbs-button =
- .title = تھمبنیل ݙکھاؤ
-pdfjs-thumbs-button-label = تھمبنیلز
pdfjs-current-outline-item-button =
.title = موجودہ آؤٹ لائن آئٹم لبھو
pdfjs-current-outline-item-button-label = موجودہ آؤٹ لائن آئٹم
@@ -193,20 +197,25 @@ pdfjs-additional-layers = اضافی پرتاں
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = ورقہ { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
.aria-label = ورقے دا تھمبنیل { $page }
+# Variables:
+# $page (Number) - the page number
+pdfjs-thumb-page-checkbox1 =
+ .title = صفحہ { $page } منتخب کرو۔
+# Variables:
+# $page (Number) - the page number
+# $total (Number) - the number of pages
+pdfjs-thumb-page-title1 =
+ .title = صفحہ { $page } از { $total }۔
## Find panel button title and messages
pdfjs-find-input =
- .title = لبھو
.placeholder = دستاویز وِچ لبھو …
+ .title = لبھو
pdfjs-find-previous-button =
.title = فقرے دا پچھلا واقعہ لبھو
pdfjs-find-previous-button-label = پچھلا
@@ -286,9 +295,13 @@ pdfjs-web-fonts-disabled = ویب فونٹس غیر فعال ہن: ایمبیڈ
pdfjs-editor-free-text-button =
.title = متن
+pdfjs-editor-color-picker-free-text-input =
+ .title = متن دا رنگ بدلو۔
pdfjs-editor-free-text-button-label = متن
pdfjs-editor-ink-button =
.title = چھکو
+pdfjs-editor-color-picker-ink-input =
+ .title = ڈرائنگ دا رنگ بدلو۔
pdfjs-editor-ink-button-label = چھکو
pdfjs-editor-stamp-button =
.title = تصویراں کوں شامل کرو یا ترمیم کرو
@@ -297,9 +310,36 @@ pdfjs-editor-highlight-button =
.title = نمایاں کرو
pdfjs-editor-highlight-button-label = نمایاں کرو
pdfjs-highlight-floating-button1 =
- .title = نمایاں کرو
.aria-label = نمایاں کرو
+ .title = نمایاں کرو
pdfjs-highlight-floating-button-label = نمایاں کرو
+pdfjs-comment-floating-button =
+ .aria-label = تبصرہ۔
+ .title = تبصرہ۔
+pdfjs-comment-floating-button-label = تبصرہ۔
+pdfjs-editor-comment-button =
+ .aria-label = تبصرہ
+ .title = تبصرہ
+pdfjs-editor-comment-button-label = تبصرہ۔
+pdfjs-editor-signature-button =
+ .title = دستخط شامل کرو۔
+pdfjs-editor-signature-button-label = دستخط شامل کرو۔
+
+## Default editor aria labels
+
+# “Highlight” is a noun, the string is used on the editor for highlights.
+pdfjs-editor-highlight-editor =
+ .aria-label = نشابر ایڈیٹر۔
+# “Drawing” is a noun, the string is used on the editor for drawings.
+pdfjs-editor-ink-editor =
+ .aria-label = ڈرائنگ ایڈیٹر۔
+# Used when a signature editor is selected/hovered.
+# Variables:
+# $description (String) - a string describing/labeling the signature.
+pdfjs-editor-signature-editor1 =
+ .aria-description = دستخط ایڈیٹر: { $description }۔
+pdfjs-editor-stamp-editor =
+ .aria-label = تصویر ایڈیٹر۔
## Remove button for the various kind of editor.
@@ -311,6 +351,8 @@ pdfjs-editor-remove-stamp-button =
.title = تصویر ہٹاؤ
pdfjs-editor-remove-highlight-button =
.title = نمایاں ہٹاؤ
+pdfjs-editor-remove-signature-button =
+ .title = دستخط ہٹاؤ۔
##
@@ -327,10 +369,41 @@ pdfjs-editor-stamp-add-image-button-label = تصویر شامل کرو
pdfjs-editor-free-highlight-thickness-input = مُٹاݨ
pdfjs-editor-free-highlight-thickness-title =
.title = متن توں ان٘ج ٻئے شئیں کوں نمایاں کرݨ ویلے مُٹاݨ کوں بدلو
+pdfjs-editor-add-signature-container =
+ .aria-label = دستخط کنٹرولز تے محفوظ دستخط۔
+pdfjs-editor-signature-add-signature-button =
+ .title = نواں دستخط شامل کرو۔
+pdfjs-editor-signature-add-signature-button-label = نواں دستخط شامل کرو۔
+# Used on the button to use an already saved signature.
+# Variables:
+# $description (String) - a string describing/labeling the signature.
+pdfjs-editor-add-saved-signature-button =
+ .title = محفوظ دستخط: { $description }۔
+# .default-content is used as a placeholder in an empty text editor.
+pdfjs-free-text2 =
+ .aria-label = ٹیکسٹ ایڈیٹر
+ .default-content = ٹائپنگ شروع کرو …
+# Used to show how many comments are present in the pdf file.
+# Variables:
+# $count (Number) - the number of comments.
+pdfjs-editor-comments-sidebar-title =
+ { $count ->
+ [one] تبصرہ
+ *[other] تبصرے
+ }
+pdfjs-editor-comments-sidebar-close-button =
+ .aria-label = سائیڈبار بند کرو۔
+ .title = سائیڈبار بند کرو۔
+pdfjs-editor-comments-sidebar-close-button-label = سائیڈبار بند کرو۔
+# Instructional copy to add a comment by selecting text or an annotations.
+pdfjs-editor-comments-sidebar-no-comments1 = کوئی اہم گلھ نظر آئی؟ اونکوں ہائی لائٹ کرو تے تبصرہ چھوڑو۔
+pdfjs-editor-comments-sidebar-no-comments-link = ٻیا سکھو
## Alt-text dialog
pdfjs-editor-alt-text-button-label = Alt متن
+pdfjs-editor-alt-text-edit-button =
+ .aria-label = alt متن وِچ ترمیم کرو
pdfjs-editor-alt-text-dialog-label = ہِک اختیار چُݨو
pdfjs-editor-alt-text-dialog-description = Alt متن (متبادل متن) اِیں ویلے مَدَت کرین٘دا ہِے جہڑیلے لوک تصویر کوں نِھیں ݙیکھ سڳدے یا جہڑیلے اِیہ لوڈ کائنی تِھین٘دا۔
pdfjs-editor-alt-text-add-description-label = تفصیل شامل کرو
@@ -443,23 +516,293 @@ pdfjs-editor-alt-text-settings-dialog-label = تصویر آلٹ عبارت تر
pdfjs-editor-alt-text-settings-automatic-title = خودکار آلٹ عبارت
pdfjs-editor-alt-text-settings-create-model-button-label = آلٹ عبارت خودکار بݨاؤ
pdfjs-editor-alt-text-settings-create-model-description = اُنہاں لوکاں دی مدد کیتے تفصیل تجویز کرو جہڑے تصویر کائنی ݙیکھ سڳدے یا ڄݙݨ تصویر لوڈ کائبی تھیندی۔
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = آلٹ عبارت اے آئی ماڈل ({ $totalSize } ایم بی)
-pdfjs-editor-alt-text-settings-ai-model-description = تہاݙی ڈیوائس تے مقامی طور تے چلدا ہے تاں جو تہاݙا ڈیٹا نجی رہوے۔ خودکار آلٹ عبارت کیتے ضروری ہے۔
-pdfjs-editor-alt-text-settings-delete-model-button = مٹاؤ
-pdfjs-editor-alt-text-settings-download-model-button = ڈاؤن لوڈ
-pdfjs-editor-alt-text-settings-downloading-model-button = ڈاؤن لوڈ تھیندا پئے …
pdfjs-editor-alt-text-settings-editor-title = متبادل ٹیکسٹ ایڈیٹر
pdfjs-editor-alt-text-settings-show-dialog-button-label = تصویر شامل کرݨ ویلے فوری طور تے آلٹ ٹیکسٹ ایڈیٹر ݙکھاؤ
pdfjs-editor-alt-text-settings-show-dialog-description = ایہ تہاکوں یقینی بݨاوݨ وچ مدد کریندے جو تہاݙیاں ساریاں تصویراں وچ آلٹ عبارت ہے۔
pdfjs-editor-alt-text-settings-close-button = بند کرو
+## Accessibility labels (announced by screen readers) for objects added to the editor.
+
+pdfjs-editor-highlight-added-alert = ہائی لائٹ شامل تھئی
+pdfjs-editor-freetext-added-alert = متن شامل تھیا
+pdfjs-editor-ink-added-alert = ڈرائنگ شامل تھئی
+pdfjs-editor-stamp-added-alert = تصویر شامل تھئی
+pdfjs-editor-signature-added-alert = دستخط شامل تھئی
+
## "Annotations removed" bar
+pdfjs-editor-undo-bar-message-highlight = ہائی لائٹ مٹائی ڳئی
+pdfjs-editor-undo-bar-message-freetext = متن مٹایا ڳیا
+pdfjs-editor-undo-bar-message-ink = ڈرائنگ مٹائی ڳئی
+pdfjs-editor-undo-bar-message-stamp = تصویر مٹائی ڳئی
+pdfjs-editor-undo-bar-message-signature = دستخط مٹائے ڳئے
+pdfjs-editor-undo-bar-message-comment = تبصرہ مٹایا ڳیا
+# Variables:
+# $count (Number) - the number of removed annotations.
+pdfjs-editor-undo-bar-message-multiple =
+ { $count ->
+ [one] { $count } تشریح مٹائی ڳئی
+ *[other] { $count } تشریحیں مٹائی ڳئیاں
+ }
pdfjs-editor-undo-bar-undo-button =
.title = کیتا اݨ کیتا
pdfjs-editor-undo-bar-undo-button-label = کیتا اݨ کیتا
pdfjs-editor-undo-bar-close-button =
.title = بند کرو
pdfjs-editor-undo-bar-close-button-label = بند کرو
+
+## Add a signature dialog
+
+pdfjs-editor-add-signature-dialog-label = ایہ مکالمہ صارف کوں PDF دستاویز وِچ شامل کرݨ کیتے دستخط بݨاوݨ دی اجازت ݙیندا ہے۔ صارف ناں وِچ ترمیم کر سڳدا ہے (جیڑھا alt متن دے طور تے وی کم کریندا ہے)، تے اختیاری طور تے دستخط کوں ٻار ٻار ورتݨ کیتے محفوظ کر سڳدا ہے۔
+pdfjs-editor-add-signature-dialog-title = دستخط شامل کرو۔
+
+## Tab names
+
+# Type is a verb (you can type your name as signature)
+pdfjs-editor-add-signature-type-button = ٹائپ کرو
+ .title = ٹائپ کرو
+# Draw is a verb (you can draw your signature)
+pdfjs-editor-add-signature-draw-button = چھکو
+ .title = چھکو
+pdfjs-editor-add-signature-image-button = تصویر
+ .title = تصویر
+
+## Tab panels
+
+pdfjs-editor-add-signature-type-input =
+ .aria-label = اپݨے دستخط ٹائپ کرو
+ .placeholder = اپݨے دستخط ٹائپ کرو
+pdfjs-editor-add-signature-draw-placeholder = اپݨے دستخط ڈراو کرو
+pdfjs-editor-add-signature-draw-thickness-range-label = موٹائی۔
+# Variables:
+# $thickness (Number) - the thickness (in pixels) of the line used to draw a signature.
+pdfjs-editor-add-signature-draw-thickness-range =
+ .title = ڈرائنگ دی ٹھولھ: { $thickness }
+pdfjs-editor-add-signature-image-placeholder = اپ لوڈ کرݨ کیتے فائل اتھے سٹو
+pdfjs-editor-add-signature-image-browse-link =
+ { PLATFORM() ->
+ [macos] یا تصویر فائلاں چݨو
+ *[other] یا تصویر فائلاں براؤز کرو
+ }
+
+## Controls
+
+pdfjs-editor-add-signature-description-label = تفصیل (alt متن)
+pdfjs-editor-add-signature-description-input =
+ .title = تفصیل (alt متن)
+pdfjs-editor-add-signature-description-default-when-drawing = دستخط
+pdfjs-editor-add-signature-clear-button-label = دستخط صاف کرو
+pdfjs-editor-add-signature-clear-button =
+ .title = دستخط صاف کرو
+pdfjs-editor-add-signature-save-checkbox = دستخط محفوظ کرو
+pdfjs-editor-add-signature-save-warning-message = تساں 5 محفوظ شدہ دستخطاں دی حد تک پُج ڳئے ہو۔ ٻئے محفوظ کرݨ کیتے ہک مٹاو۔
+pdfjs-editor-add-signature-image-upload-error-title = تصویر اپ لوڈ نہ تھئی
+pdfjs-editor-add-signature-image-upload-error-description = اپݨا نیٹ ورک کنکشن چیک کرو یا ٻئی تصویر آزماو۔
+pdfjs-editor-add-signature-image-no-data-error-title = تصویر کوں دستخط اچ تبدیل نہیں کر سڳیا
+pdfjs-editor-add-signature-image-no-data-error-description = ٻئی تصویر اپ لوڈ کرݨ دی کوشش کرو۔
+pdfjs-editor-add-signature-error-close-button = بند کرو
+
+## Dialog buttons
+
+pdfjs-editor-add-signature-cancel-button = منسوخ کرو۔
+pdfjs-editor-add-signature-add-button = شامل کرو
+pdfjs-editor-edit-signature-update-button = اپ ڈیٹ کرو۔
+
+## Comment popup
+
+pdfjs-editor-edit-comment-popup-button-label = تبصرہ ایڈٹ کرو
+pdfjs-editor-edit-comment-popup-button =
+ .title = تبصرہ ایڈٹ کرو
+pdfjs-editor-delete-comment-popup-button-label = تبصرہ مٹاو
+pdfjs-editor-delete-comment-popup-button =
+ .title = تبصرہ مٹاو
+pdfjs-show-comment-button =
+ .title = تبصرہ ݙکھاو
+
+## Edit a comment dialog
+
+# An existing comment is edited
+pdfjs-editor-edit-comment-dialog-title-when-editing = تبصرہ ایڈٹ کرو
+pdfjs-editor-edit-comment-dialog-save-button-when-editing = اپ ڈیٹ کرو
+# No existing comment
+pdfjs-editor-edit-comment-dialog-title-when-adding = تبصرہ شامل کرو
+pdfjs-editor-edit-comment-dialog-save-button-when-adding = شامل کرو
+pdfjs-editor-edit-comment-dialog-text-input =
+ .placeholder = ٹائپ کرݨ شروع کرو
+pdfjs-editor-edit-comment-dialog-cancel-button = منسوخ
+
+## Edit a comment button in the editor toolbar
+
+pdfjs-editor-add-comment-button =
+ .title = تبصرہ شامل کرو
+
+## The view manager is a sidebar displaying different views:
+## - thumbnails;
+## - outline;
+## - attachments;
+## - layers.
+## The thumbnails view is used to edit the pdf: remove/insert pages, ...
+
+pdfjs-toggle-views-manager-notification-button =
+ .title = سائیڈ بار ٹوگل کرو (دستاویز اچ تھمب نیلز/آؤٹ لائن/منسلکات/پرتاں شامل ہن)
+pdfjs-toggle-views-manager-button1-label = صفحیاں دا انتظام کرو
+pdfjs-views-manager-sidebar =
+ .aria-label = بغلی بار
+pdfjs-views-manager-sidebar-resizer =
+ .aria-label = سائیڈ بار دا ری سائزر
+pdfjs-views-manager-view-selector-button =
+ .title = نظارے
+pdfjs-views-manager-view-selector-button-label = نظارے
+pdfjs-views-manager-pages-title = ورقے
+pdfjs-views-manager-outlines-title1 = دستاویز دا آؤٹ لائن
+ .title = دستاویز دا آؤٹ لائن (سارے آئٹمز کوں پھیلاؤن یا سمیٹݨ کیتے ڈبل کلک کرو)
+pdfjs-views-manager-attachments-title = منسلکات
+pdfjs-views-manager-layers-title1 = پرتاں
+ .title = پرتاں (سارے پرتاں کوں ڈیفالٹ حالت تے واپس کرݨ کیتے ڈبل کلک کرو)
+pdfjs-views-manager-pages-option-label = ورقے
+pdfjs-views-manager-outlines-option-label = دستاویز دا آؤٹ لائن
+pdfjs-views-manager-attachments-option-label = منسلکات
+pdfjs-views-manager-layers-option-label = پرتاں
+pdfjs-views-manager-add-file-button =
+ .title = فائل شامل کرو
+pdfjs-views-manager-add-file-button-label = فائل شامل کرو
+# Variables:
+# $count (Number) - the number of selected pages.
+pdfjs-views-manager-pages-status-action-label =
+ { $count ->
+ [one] { $count } منتخب
+ *[other] { $count } منتخب
+ }
+pdfjs-views-manager-pages-status-none-action-label = ورقے منتخب کرو
+pdfjs-views-manager-pages-status-action-button-label = بندوبست کرو
+pdfjs-views-manager-pages-status-copy-button-label = کاپی کرو
+pdfjs-views-manager-pages-status-cut-button-label = کٹ کرو
+pdfjs-views-manager-pages-status-delete-button-label = مٹاو
+pdfjs-views-manager-pages-status-export-selected-button-label = منتخب کوں ایکسپورٹ کرو…
+# Variables:
+# $count (Number) - the number of selected pages to be cut.
+pdfjs-views-manager-status-undo-cut-label =
+ { $count ->
+ [one] 1 ورقہ کٹیا ڳیا
+ *[other] { $count } ورقے کٹے ڳئے
+ }
+# Variables:
+# $count (Number) - the number of selected pages to be copied.
+pdfjs-views-manager-pages-status-undo-copy-label =
+ { $count ->
+ [one] 1 ورقہ کاپی کیتا ڳیا
+ *[other] { $count } ورقے کاپی کیتے ڳئے
+ }
+# Variables:
+# $count (Number) - the number of selected pages to be deleted.
+pdfjs-views-manager-pages-status-undo-delete-label =
+ { $count ->
+ [one] 1 ورقہ مٹایا ڳیا
+ *[other] { $count } ورقے مٹائے ڳئے
+ }
+pdfjs-views-manager-pages-status-waiting-ready-label = تہاݙی فائل تیار کیتی پئی اے…
+pdfjs-views-manager-pages-status-waiting-uploading-label = فائل اپ لوڈ تھیندی پئی اے…
+pdfjs-views-manager-status-warning-cut-label = کٹ نئیں سڳیا. ورقہ ریفریش کرو تے دوبارہ کوشش کرو.
+pdfjs-views-manager-status-warning-copy-label = کاپی نئیں سڳیا. ورقہ ریفریش کرو تے دوبارہ کوشش کرو.
+pdfjs-views-manager-status-warning-delete-label = مٹاو نئیں سڳیا. ورقہ ریفریش کرو تے دوبارہ کوشش کرو.
+pdfjs-views-manager-status-warning-save-label = محفوظ نئیں سڳیا. ورقہ ریفریش کرو تے دوبارہ کوشش کرو.
+pdfjs-views-manager-status-undo-button-label = کیتا اݨ کیتا
+pdfjs-views-manager-status-done-button-label = تھی ڳیا
+pdfjs-views-manager-status-close-button =
+ .title = بند کرو
+pdfjs-views-manager-status-close-button-label = بند کرو
+pdfjs-views-manager-paste-button-label = پیسٹ کرو
+pdfjs-views-manager-paste-button-before =
+ .title = پہلے ورقے توں پہلے پیسٹ کرو
+# Variables:
+# $page (Number) - the page number after which the paste button is.
+pdfjs-views-manager-paste-button-after =
+ .title = ورقے { $page } دے بعد پیسٹ کرو
+# Badge used to promote a new feature in the UI, keep it as short as possible.
+# It's spelled uppercase for English, but it can be translated as usual.
+pdfjs-new-badge-content = نواں
+pdfjs-views-manager-waiting-for-file = فائل اپ لوڈ تھیندی پئی اے…
+pdfjs-toggle-views-manager-button1 =
+ .title = ورقے منیج کرو
+
+## Digital signature properties (signature verification panel)
+
+pdfjs-digital-signature-properties-button =
+ .aria-label = ڈیجیٹل دستخط دیاں خصوصیات
+ .title = ڈیجیٹل دستخط دیاں خصوصیات
+pdfjs-digital-signature-properties-button-label = ڈیجیٹل دستخط دیاں خصوصیات
+
+## Banner shown above the signature list summarising the overall
+## verification state of the document. Each variant is selected by the
+## viewer based on the worst per-signature status; one signature is
+## enough to lower the banner.
+##
+## Variables:
+## $count (Number) - number of signatures at the worst level.
+
+pdfjs-digital-signature-properties-banner-verified = دستاویز تے درست ڈیجیٹل دستخط کیتے ڳئے ہن
+pdfjs-digital-signature-properties-banner-unknown =
+ { $count ->
+ [one] دستاویز تے دستخط ہن پر { $count } ڈیجیٹل دستخط دی تصدیق نئیں سڳی
+ *[other] دستاویز تے دستخط ہن پر { $count } ڈیجیٹل دستخطاں دی تصدیق نئیں سڳی
+ }
+pdfjs-digital-signature-properties-banner-untrusted =
+ { $count ->
+ [one] دستاویز تے { $count } سرٹیفیکیٹ نال دستخط ہن جیڑھا بھروسے آلا نئیں
+ *[other] دستاویز تے { $count } سرٹیفیکیٹاں نال دستخط ہن جیڑھے بھروسے آلے نئیں
+ }
+pdfjs-digital-signature-properties-banner-expired =
+ { $count ->
+ [one] دستاویز تے { $count } میعاد گزرا سرٹیفیکیٹ نال دستخط ہن
+ *[other] دستاویز تے { $count } میعاد گزرے سرٹیفیکیٹاں نال دستخط ہن
+ }
+pdfjs-digital-signature-properties-banner-invalid =
+ { $count ->
+ [one] دستاویز وچ { $count } غلط ڈیجیٹل دستخط ہے
+ *[other] دستاویز وچ { $count } غلط ڈیجیٹل دستخط ہن
+ }
+pdfjs-digital-signature-properties-banner-revoked =
+ { $count ->
+ [one] دستاویز تے { $count } منسوخ سرٹیفیکیٹ نال دستخط ہن
+ *[other] دستاویز تے { $count } منسوخ سرٹیفیکیٹاں نال دستخط ہن
+ }
+
+## Per-signature status row. Only three distinct strings are needed:
+## the signature crypto either verified (the cert chain may still be
+## untrusted/expired/revoked, but that's surfaced on the cert row
+## below), or it failed, or its sub-format isn't supported.
+
+pdfjs-digital-signature-properties-status-verified = حال: دستخط دی تصدیق تھی ڳئی اے
+pdfjs-digital-signature-properties-status-invalid = حال: دستخط غلط ہے
+pdfjs-digital-signature-properties-status-unknown = حال: تصدیق نئیں تھی سڳی (غیر تعاون یافتہ)
+
+## Per-signature certificate row. The variants with an issuer / date in
+## parentheses embed fully-localized context — no English fall-through.
+##
+## Variables:
+## $issuer (String) - issuer or subject common name from the cert.
+## $dateObj (Date) - notAfter date for the expired-with-date form.
+
+pdfjs-digital-signature-properties-certificate-trusted = سرٹیفیکیٹ: بھروسے آلا ({ $issuer })
+pdfjs-digital-signature-properties-certificate-unknown = سرٹیفیکیٹ: دستیاب نئیں
+pdfjs-digital-signature-properties-certificate-untrusted = سرٹیفیکیٹ: بھروسے آلا نئیں
+pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = سرٹیفیکیٹ: نامعلوم جاری کنندہ ({ $issuer })
+pdfjs-digital-signature-properties-certificate-untrusted-self-signed = سرٹیفیکیٹ: خود دستخط شدہ ({ $issuer })
+pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = سرٹیفیکیٹ: بھروسے آلا نئیں جاری کنندہ ({ $issuer })
+pdfjs-digital-signature-properties-certificate-expired = سرٹیفیکیٹ: میعاد گزر ڳیا
+pdfjs-digital-signature-properties-certificate-expired-with-date = سرٹیفیکیٹ: میعاد گزر ڳیا ({ DATETIME($dateObj, dateStyle: "medium") })
+pdfjs-digital-signature-properties-certificate-revoked = سرٹیفیکیٹ: منسوخ
+
+## Main menu for adding/removing signatures
+
+pdfjs-editor-delete-signature-button1 =
+ .title = محفوظ شدہ دستخط ہٹاؤ
+pdfjs-editor-delete-signature-button-label1 = محفوظ شدہ دستخط ہٹاؤ
+
+## Editor toolbar
+
+pdfjs-editor-add-signature-edit-button-label = تفصیل ایڈٹ کرو
+
+## Edit signature description dialog
+
+pdfjs-editor-edit-signature-dialog-title = تفصیل ایڈٹ کرو
diff --git a/packages/pdfjs-viewer/viewer/locale/sl/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/sl/viewer.ftl
index f0aeaafa374..98165763fa0 100644
--- a/packages/pdfjs-viewer/viewer/locale/sl/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/sl/viewer.ftl
@@ -132,8 +132,8 @@ pdfjs-document-properties-page-size-orientation-portrait = pokončno
pdfjs-document-properties-page-size-orientation-landscape = ležeče
pdfjs-document-properties-page-size-name-a-three = A3
pdfjs-document-properties-page-size-name-a-four = A4
-pdfjs-document-properties-page-size-name-letter = Pismo
-pdfjs-document-properties-page-size-name-legal = Pravno
+pdfjs-document-properties-page-size-name-letter = Letter
+pdfjs-document-properties-page-size-name-legal = Legal
## Variables:
## $width (Number) - the width of the (current) page
@@ -189,23 +189,6 @@ pdfjs-printing-not-ready = Opozorilo: PDF ni v celoti naložen za tiskanje.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Preklopi stransko vrstico
-pdfjs-toggle-sidebar-notification-button =
- .title = Preklopi stransko vrstico (dokument vsebuje oris/priponke/plasti)
-pdfjs-toggle-sidebar-button-label = Preklopi stransko vrstico
-pdfjs-document-outline-button =
- .title = Prikaži oris dokumenta (dvokliknite za razširitev/strnitev vseh predmetov)
-pdfjs-document-outline-button-label = Oris dokumenta
-pdfjs-attachments-button =
- .title = Prikaži priponke
-pdfjs-attachments-button-label = Priponke
-pdfjs-layers-button =
- .title = Prikaži plasti (dvokliknite za ponastavitev vseh plasti na privzeto stanje)
-pdfjs-layers-button-label = Plasti
-pdfjs-thumbs-button =
- .title = Prikaži sličice
-pdfjs-thumbs-button-label = Sličice
pdfjs-current-outline-item-button =
.title = Najdi trenutni predmet orisa
pdfjs-current-outline-item-button-label = Trenutni predmet orisa
@@ -216,10 +199,6 @@ pdfjs-additional-layers = Dodatne plasti
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Stran { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -237,8 +216,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Najdi
.placeholder = Najdi v dokumentu …
+ .title = Najdi
pdfjs-find-previous-button =
.title = Najdi prejšnjo ponovitev iskanega
pdfjs-find-previous-button-label = Najdi nazaj
@@ -337,16 +316,16 @@ pdfjs-editor-highlight-button =
.title = Označevalnik
pdfjs-editor-highlight-button-label = Označevalnik
pdfjs-highlight-floating-button1 =
- .title = Označi
.aria-label = Označi
+ .title = Označi
pdfjs-highlight-floating-button-label = Označi
pdfjs-comment-floating-button =
- .title = Komentiraj
.aria-label = Komentiraj
+ .title = Komentiraj
pdfjs-comment-floating-button-label = Komentiraj
pdfjs-editor-comment-button =
- .title = Komentiraj
.aria-label = Komentiraj
+ .title = Komentiraj
pdfjs-editor-comment-button-label = Komentiraj
pdfjs-editor-signature-button =
.title = Dodaj podpis
@@ -421,8 +400,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Komentarji
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Zapri stransko vrstico
.aria-label = Zapri stransko vrstico
+ .title = Zapri stransko vrstico
pdfjs-editor-comments-sidebar-close-button-label = Zapri stransko vrstico
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Ste zasledili kaj omembe vrednega? Narišite oznako in dopišite komentar.
@@ -545,13 +524,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Nastavitve nadomestnega besedila s
pdfjs-editor-alt-text-settings-automatic-title = Samodejno nadomestno besedilo
pdfjs-editor-alt-text-settings-create-model-button-label = Samodejno ustvari nadomestno besedilo
pdfjs-editor-alt-text-settings-create-model-description = Predlaga opise za pomoč ljudem, ki ne morejo videti slike, ali za primer, ko se slika ne naloži.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Model UI za nadomestno besedilo ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Izvaja se lokalno na vaši napravi, tako da vaši podatki ostajajo zasebni. Zahtevano za samodejno nadomestno besedilo.
-pdfjs-editor-alt-text-settings-delete-model-button = Izbriši
-pdfjs-editor-alt-text-settings-download-model-button = Prenesi
-pdfjs-editor-alt-text-settings-downloading-model-button = Prenašanje ...
pdfjs-editor-alt-text-settings-editor-title = Urejevalnik nadomestnega besedila
pdfjs-editor-alt-text-settings-show-dialog-button-label = Ob dodajanju slike takoj prikaži urejevalnik nadomestnega besedila
pdfjs-editor-alt-text-settings-show-dialog-description = Pomaga vam zagotoviti, da imajo vse vaše slike nadomestno besedilo.
@@ -774,8 +746,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Lastnosti digitalnega podpisa
.aria-label = Lastnosti digitalnega podpisa
+ .title = Lastnosti digitalnega podpisa
pdfjs-digital-signature-properties-button-label = Lastnosti digitalnega podpisa
## Banner shown above the signature list summarising the overall
@@ -787,6 +759,67 @@ pdfjs-digital-signature-properties-button-label = Lastnosti digitalnega podpisa
## $count (Number) - number of signatures at the worst level.
pdfjs-digital-signature-properties-banner-verified = Dokument je bil podpisan z veljavnim digitalnim podpisom
+pdfjs-digital-signature-properties-banner-unknown =
+ { $count ->
+ [one] Dokument je podpisan, vendar { $count } digitalnega podpisa ni bilo mogoče preveriti
+ [two] Dokument je podpisan, vendar { $count } digitalnih podpisov ni bilo mogoče preveriti
+ [few] Dokument je podpisan, vendar { $count } digitalnih podpisov ni bilo mogoče preveriti
+ *[other] Dokument je podpisan, vendar { $count } digitalnih podpisov ni bilo mogoče preveriti
+ }
+pdfjs-digital-signature-properties-banner-untrusted =
+ { $count ->
+ [one] Dokument je podpisan z { $count } digitalnim potrdilom, ki ni zaupanja vredno
+ [two] Dokument je podpisan z { $count } digitalnima potrdiloma, ki nista zaupanja vredni
+ [few] Dokument je podpisan s { $count } digitalnimi potrdili, ki niso zaupanja vredna
+ *[other] Dokument je podpisan s { $count } digitalnimi potrdili, ki niso zaupanja vredna
+ }
+pdfjs-digital-signature-properties-banner-expired =
+ { $count ->
+ [one] Dokument je podpisan z { $count } pretečenim digitalnim potrdilom
+ [two] Dokument je podpisan z { $count } pretečenima digitalnima potrdiloma
+ [few] Dokument je podpisan s { $count } pretečenimi digitalnimi potrdili
+ *[other] Dokument je podpisan s { $count } pretečenimi digitalnimi potrdili
+ }
+pdfjs-digital-signature-properties-banner-invalid =
+ { $count ->
+ [one] Dokument vsebuje { $count } neveljaven digitalni podpis
+ [two] Dokument vsebuje { $count } neveljavna digitalna podpisa
+ [few] Dokument vsebuje { $count } neveljavne digitalne podpise
+ *[other] Dokument vsebuje { $count } neveljavnih digitalnih podpisov
+ }
+pdfjs-digital-signature-properties-banner-revoked =
+ { $count ->
+ [one] Dokument je podpisan z { $count } preklicanim digitalnim potrdilom
+ [two] Dokument je podpisan z { $count } preklicanima digitalnima potrdiloma
+ [few] Dokument je podpisan s { $count } preklicanimi digitalnimi potrdili
+ *[other] Dokument je podpisan s { $count } preklicanimi digitalnimi potrdili
+ }
+
+## Per-signature status row. Only three distinct strings are needed:
+## the signature crypto either verified (the cert chain may still be
+## untrusted/expired/revoked, but that's surfaced on the cert row
+## below), or it failed, or its sub-format isn't supported.
+
+pdfjs-digital-signature-properties-status-verified = Stanje: podpis preverjen
+pdfjs-digital-signature-properties-status-invalid = Stanje: podpis neveljaven
+pdfjs-digital-signature-properties-status-unknown = Stanje: podpisa ni mogoče preveriti (nepodprt)
+
+## Per-signature certificate row. The variants with an issuer / date in
+## parentheses embed fully-localized context — no English fall-through.
+##
+## Variables:
+## $issuer (String) - issuer or subject common name from the cert.
+## $dateObj (Date) - notAfter date for the expired-with-date form.
+
+pdfjs-digital-signature-properties-certificate-trusted = Digitalno potrdilo: zaupanja vredno ({ $issuer })
+pdfjs-digital-signature-properties-certificate-unknown = Digitalno potrdilo: ni na voljo
+pdfjs-digital-signature-properties-certificate-untrusted = Digitalno potrdilo: ni zaupanja vredno
+pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Digitalno potrdilo: neznan izdajatelj ({ $issuer })
+pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Digitalno potrdilo: samopodpisano ({ $issuer })
+pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Digitalno potrdilo: izdajatelj ni zaupanja vreden ({ $issuer })
+pdfjs-digital-signature-properties-certificate-expired = Digitalno potrdilo: pretečeno
+pdfjs-digital-signature-properties-certificate-expired-with-date = Digitalno potrdilo: pretečeno ({ DATETIME($dateObj, dateStyle: "medium") })
+pdfjs-digital-signature-properties-certificate-revoked = Digitalno potrdilo: preklicano
## Main menu for adding/removing signatures
diff --git a/packages/pdfjs-viewer/viewer/locale/son/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/son/viewer.ftl
index ecbe86d2396..372bcdd675d 100644
--- a/packages/pdfjs-viewer/viewer/locale/son/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/son/viewer.ftl
@@ -92,28 +92,12 @@ pdfjs-printing-not-ready = Yaamar: PDF ši zunbu ka timme karyan še.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Kanjari ceraw zuu
-pdfjs-toggle-sidebar-button-label = Kanjari ceraw zuu
-pdfjs-document-outline-button =
- .title = Takaddaa korfur alhaaloo cebe (naagu cee hinka ka haya-izey kul hayandi/kankamandi)
-pdfjs-document-outline-button-label = Takadda filla-boŋ
-pdfjs-attachments-button =
- .title = Hangarey cebe
-pdfjs-attachments-button-label = Hangarey
-pdfjs-thumbs-button =
- .title = Kabeboy biyey cebe
-pdfjs-thumbs-button-label = Kabeboy biyey
pdfjs-findbar-button =
.title = Ceeci takaddaa ra
pdfjs-findbar-button-label = Ceeci
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = { $page } moo
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -122,8 +106,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Ceeci
.placeholder = Ceeci takaddaa ra…
+ .title = Ceeci
pdfjs-find-previous-button =
.title = Kalimaɲaŋoo bangayri bisantaa ceeci
pdfjs-find-previous-button-label = Bisante
diff --git a/packages/pdfjs-viewer/viewer/locale/sq/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/sq/viewer.ftl
index cbf3d55a7f0..dac0de0885b 100644
--- a/packages/pdfjs-viewer/viewer/locale/sq/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/sq/viewer.ftl
@@ -157,23 +157,6 @@ pdfjs-printing-not-ready = Kujdes: PDF-ja s’është ngarkuar plotësisht që t
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Shfaqni/Fshihni Anështyllën
-pdfjs-toggle-sidebar-notification-button =
- .title = Hap/Mbyll Anështylë (dokumenti përmban përvijim/nashkëngjitje/shtresa)
-pdfjs-toggle-sidebar-button-label = Shfaq/Fshih Anështyllën
-pdfjs-document-outline-button =
- .title = Shfaqni Përvijim Dokumenti (dyklikoni që të shfaqen/fshihen krejt elementët)
-pdfjs-document-outline-button-label = Përvijim Dokumenti
-pdfjs-attachments-button =
- .title = Shfaqni Bashkëngjitje
-pdfjs-attachments-button-label = Bashkëngjitje
-pdfjs-layers-button =
- .title = Shfaq Shtresa (dyklikoni që të rikthehen krejt shtresat në gjendjen e tyre parazgjedhje)
-pdfjs-layers-button-label = Shtresa
-pdfjs-thumbs-button =
- .title = Shfaqni Miniatura
-pdfjs-thumbs-button-label = Miniatura
pdfjs-current-outline-item-button =
.title = Gjej Objektin e Tanishëm të Përvijuar
pdfjs-current-outline-item-button-label = Objekt i Tanishëm i Përvijuar
@@ -184,10 +167,6 @@ pdfjs-additional-layers = Shtresa Shtesë
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Faqja { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -205,8 +184,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Gjej
.placeholder = Gjeni në dokument…
+ .title = Gjej
pdfjs-find-previous-button =
.title = Gjeni hasjen e mëparshme të togfjalëshit
pdfjs-find-previous-button-label = E mëparshmja
@@ -301,16 +280,16 @@ pdfjs-editor-highlight-button =
.title = Theksim
pdfjs-editor-highlight-button-label = Theksoje
pdfjs-highlight-floating-button1 =
- .title = Theksim
.aria-label = Theksim
+ .title = Theksim
pdfjs-highlight-floating-button-label = Theksim
pdfjs-comment-floating-button =
- .title = Komentoni
.aria-label = Komentoni
+ .title = Komentoni
pdfjs-comment-floating-button-label = Komentoni
pdfjs-editor-comment-button =
- .title = Koment
.aria-label = Koment
+ .title = Koment
pdfjs-editor-comment-button-label = Komentoni
pdfjs-editor-signature-button =
.title = Shtoni nënshkrim
@@ -383,8 +362,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Komente
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Mbylleni anështyllën
.aria-label = Mbylleni anështyllën
+ .title = Mbylleni anështyllën
pdfjs-editor-comments-sidebar-close-button-label = Mbylleni anështyllën
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Shihni diçka që ia vlen. Theksojeni dhe lini një koment.
@@ -507,13 +486,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Rregullime teksti alternativ figur
pdfjs-editor-alt-text-settings-automatic-title = Tekst alternativ i automatizuar
pdfjs-editor-alt-text-settings-create-model-button-label = Krijo automatikisht tekst alternativ
pdfjs-editor-alt-text-settings-create-model-description = Sugjeron përshkrime, për të ndihmuar persona që s’munden të shohin figurën, ose për kur figura nuk ngarkohet dot.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Model IA teksti alternativ ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Xhiron lokalisht në pajisjen tuaj, pra të dhënat tuaja mbeten private. E domosdoshme për tekst të automatizuar alternativ.
-pdfjs-editor-alt-text-settings-delete-model-button = Fshije
-pdfjs-editor-alt-text-settings-download-model-button = Shkarkoje
-pdfjs-editor-alt-text-settings-downloading-model-button = Po shkarkohet…
pdfjs-editor-alt-text-settings-editor-title = Përpunues teksti alternativ
pdfjs-editor-alt-text-settings-show-dialog-button-label = Shfaq menjëherë përpunues teksti alternativ, kur shtohet një figurë
pdfjs-editor-alt-text-settings-show-dialog-description = Ju ndihmon të siguroheni se krejt figurat tuaja kanë tekst alternativ.
diff --git a/packages/pdfjs-viewer/viewer/locale/sr/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/sr/viewer.ftl
index 3da82e01506..eb422b7daa1 100644
--- a/packages/pdfjs-viewer/viewer/locale/sr/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/sr/viewer.ftl
@@ -188,23 +188,6 @@ pdfjs-printing-not-ready = Упозорење: PDF није у потпунос
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Прикажи/сакриј бочни панел
-pdfjs-toggle-sidebar-notification-button =
- .title = Прикажи/сакриј бочни панел (документ садржи контуру/прилоге/слојеве)
-pdfjs-toggle-sidebar-button-label = Прикажи/сакриј бочни панел
-pdfjs-document-outline-button =
- .title = Прикажи структуру документа (двоструким кликом проширујете/скупљате све ставке)
-pdfjs-document-outline-button-label = Контура документа
-pdfjs-attachments-button =
- .title = Прикажи прилоге
-pdfjs-attachments-button-label = Прилози
-pdfjs-layers-button =
- .title = Прикажи слојеве (дупли клик за враћање свих слојева у подразумевано стање)
-pdfjs-layers-button-label = Слојеви
-pdfjs-thumbs-button =
- .title = Прикажи сличице
-pdfjs-thumbs-button-label = Сличице
pdfjs-current-outline-item-button =
.title = Пронађите тренутни елемент структуре
pdfjs-current-outline-item-button-label = Тренутна контура
@@ -215,10 +198,6 @@ pdfjs-additional-layers = Додатни слојеви
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Страница { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -236,8 +215,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Пронађи
.placeholder = Пронађи у документу…
+ .title = Пронађи
pdfjs-find-previous-button =
.title = Пронађи претходно појављивање фразе
pdfjs-find-previous-button-label = Претходна
@@ -334,16 +313,16 @@ pdfjs-editor-highlight-button =
.title = Означи
pdfjs-editor-highlight-button-label = Означи
pdfjs-highlight-floating-button1 =
- .title = Означи
.aria-label = Означи
+ .title = Означи
pdfjs-highlight-floating-button-label = Означи
pdfjs-comment-floating-button =
- .title = Коментар
.aria-label = Коментар
+ .title = Коментар
pdfjs-comment-floating-button-label = Напомена
pdfjs-editor-comment-button =
- .title = Коментар
.aria-label = Коментар
+ .title = Коментар
pdfjs-editor-comment-button-label = Коментар
pdfjs-editor-signature-button =
.title = Додај потпис
@@ -417,8 +396,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Напомене
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Затвори бочну површ
.aria-label = Затвори бочну површ
+ .title = Затвори бочну површ
pdfjs-editor-comments-sidebar-close-button-label = Затвори бочну површ
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Видите нешто вредно пажње? Истакните то и оставите напомену.
@@ -541,13 +520,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Подешавања алтерн
pdfjs-editor-alt-text-settings-automatic-title = Аутоматски алтернативни текст
pdfjs-editor-alt-text-settings-create-model-button-label = Аутоматски прави алтернативни текст
pdfjs-editor-alt-text-settings-create-model-description = Предлаже описе како би се помогло људима који не виде слику или када се слика не учита.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = ВИ модел за алтернативни текст ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Ради локално на вашем уређају тако да ваши подаци остају приватни. Потребно за аутоматски алтернативни текст.
-pdfjs-editor-alt-text-settings-delete-model-button = Обриши
-pdfjs-editor-alt-text-settings-download-model-button = Преузми
-pdfjs-editor-alt-text-settings-downloading-model-button = Преузимање…
pdfjs-editor-alt-text-settings-editor-title = Уређивач алтернативног текста
pdfjs-editor-alt-text-settings-show-dialog-button-label = Прикажи уређивач алтернативног текста одмах при додавању слике
pdfjs-editor-alt-text-settings-show-dialog-description = Помаже вам да све ваше слике имају алтернативни текст.
@@ -765,8 +737,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Својства дигиталног потписа
.aria-label = Својства дигиталног потписа
+ .title = Својства дигиталног потписа
pdfjs-digital-signature-properties-button-label = Својства дигиталног потписа
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/sv-SE/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/sv-SE/viewer.ftl
index b9cc32d7e13..592923e6bf7 100644
--- a/packages/pdfjs-viewer/viewer/locale/sv-SE/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/sv-SE/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Varning: PDF:en är inte klar för utskrift.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Visa/dölj sidofält
-pdfjs-toggle-sidebar-notification-button =
- .title = Växla sidofält (dokumentet innehåller dokumentstruktur/bilagor/lager)
-pdfjs-toggle-sidebar-button-label = Visa/dölj sidofält
-pdfjs-document-outline-button =
- .title = Visa dokumentdisposition (dubbelklicka för att expandera/komprimera alla objekt)
-pdfjs-document-outline-button-label = Dokumentöversikt
-pdfjs-attachments-button =
- .title = Visa Bilagor
-pdfjs-attachments-button-label = Bilagor
-pdfjs-layers-button =
- .title = Visa lager (dubbelklicka för att återställa alla lager till standardläge)
-pdfjs-layers-button-label = Lager
-pdfjs-thumbs-button =
- .title = Visa miniatyrer
-pdfjs-thumbs-button-label = Miniatyrer
pdfjs-current-outline-item-button =
.title = Hitta aktuellt dispositionsobjekt
pdfjs-current-outline-item-button-label = Aktuellt dispositionsobjekt
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Ytterligare lager
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Sida { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Sök
.placeholder = Sök i dokument…
+ .title = Sök
pdfjs-find-previous-button =
.title = Hitta föregående förekomst av frasen
pdfjs-find-previous-button-label = Föregående
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Markera
pdfjs-editor-highlight-button-label = Markera
pdfjs-highlight-floating-button1 =
- .title = Markera
.aria-label = Markera
+ .title = Markera
pdfjs-highlight-floating-button-label = Markera
pdfjs-comment-floating-button =
- .title = Kommentar
.aria-label = Kommentar
+ .title = Kommentar
pdfjs-comment-floating-button-label = Kommentar
pdfjs-editor-comment-button =
- .title = Kommentar
.aria-label = Kommentar
+ .title = Kommentar
pdfjs-editor-comment-button-label = Kommentar
pdfjs-editor-signature-button =
.title = Lägg till signatur
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Kommentarer
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Stäng sidofältet
.aria-label = Stäng sidofältet
+ .title = Stäng sidofältet
pdfjs-editor-comments-sidebar-close-button-label = Stäng sidofältet
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Ser du något anmärkningsvärt? Markera det och lämna en kommentar.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Alternativ textinställningar för
pdfjs-editor-alt-text-settings-automatic-title = Automatisk alternativ text
pdfjs-editor-alt-text-settings-create-model-button-label = Skapa alternativ text automatiskt
pdfjs-editor-alt-text-settings-create-model-description = Föreslår beskrivningar för att hjälpa personer som inte kan se bilden eller när bilden inte laddas.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = AI-modell för alternativ text ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Körs lokalt på din enhet så att din data förblir privat. Krävs för automatisk alternativ text.
-pdfjs-editor-alt-text-settings-delete-model-button = Ta bort
-pdfjs-editor-alt-text-settings-download-model-button = Hämta
-pdfjs-editor-alt-text-settings-downloading-model-button = Hämtar…
pdfjs-editor-alt-text-settings-editor-title = Alternativ textredigerare
pdfjs-editor-alt-text-settings-show-dialog-button-label = Visa alternativ textredigerare direkt när du lägger till en bild
pdfjs-editor-alt-text-settings-show-dialog-description = Hjälper dig att se till att alla dina bilder har alternativ text.
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Egenskaper för digital signatur
.aria-label = Egenskaper för digital signatur
+ .title = Egenskaper för digital signatur
pdfjs-digital-signature-properties-button-label = Egenskaper för digital signatur
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/szl/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/szl/viewer.ftl
index 4ab6c8f815c..25e778eb044 100644
--- a/packages/pdfjs-viewer/viewer/locale/szl/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/szl/viewer.ftl
@@ -140,23 +140,6 @@ pdfjs-printing-not-ready = Pozōr: Tyn PDF niy ma za tela zaladowany do durku.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Przełōncz posek na rancie
-pdfjs-toggle-sidebar-notification-button =
- .title = Przełōncz posek na rancie (dokumynt mo struktura/przidowki/warstwy)
-pdfjs-toggle-sidebar-button-label = Przełōncz posek na rancie
-pdfjs-document-outline-button =
- .title = Pokoż struktura dokumyntu (tuplowane klikniyncie rozszyrzo/swijo wszyskie elymynta)
-pdfjs-document-outline-button-label = Struktura dokumyntu
-pdfjs-attachments-button =
- .title = Pokoż przidowki
-pdfjs-attachments-button-label = Przidowki
-pdfjs-layers-button =
- .title = Pokoż warstwy (tuplowane klikniyncie resetuje wszyskie warstwy do bazowego stanu)
-pdfjs-layers-button-label = Warstwy
-pdfjs-thumbs-button =
- .title = Pokoż miniatury
-pdfjs-thumbs-button-label = Miniatury
pdfjs-findbar-button =
.title = Znojdź w dokumyncie
pdfjs-findbar-button-label = Znojdź
@@ -164,10 +147,6 @@ pdfjs-additional-layers = Nadbytnie warstwy
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Strōna { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -176,8 +155,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Znojdź
.placeholder = Znojdź w dokumyncie…
+ .title = Znojdź
pdfjs-find-previous-button =
.title = Znojdź piyrwyjsze pokozanie sie tyj frazy
pdfjs-find-previous-button-label = Piyrwyjszo
diff --git a/packages/pdfjs-viewer/viewer/locale/ta/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ta/viewer.ftl
index fe1c3477577..32374789fe0 100644
--- a/packages/pdfjs-viewer/viewer/locale/ta/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ta/viewer.ftl
@@ -117,28 +117,12 @@ pdfjs-printing-not-ready = எச்சரிக்கை: PDF அச்சி
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = பக்கப் பட்டியை நிலைமாற்று
-pdfjs-toggle-sidebar-button-label = பக்கப் பட்டியை நிலைமாற்று
-pdfjs-document-outline-button =
- .title = ஆவண அடக்கத்தைக் காட்டு (இருமுறைச் சொடுக்கி அனைத்து உறுப்பிடிகளையும் விரி/சேர்)
-pdfjs-document-outline-button-label = ஆவண வெளிவரை
-pdfjs-attachments-button =
- .title = இணைப்புகளை காண்பி
-pdfjs-attachments-button-label = இணைப்புகள்
-pdfjs-thumbs-button =
- .title = சிறுபடங்களைக் காண்பி
-pdfjs-thumbs-button-label = சிறுபடங்கள்
pdfjs-findbar-button =
.title = ஆவணத்தில் கண்டறி
pdfjs-findbar-button-label = தேடு
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = பக்கம் { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -147,8 +131,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = கண்டுபிடி
.placeholder = ஆவணத்தில் கண்டறி…
+ .title = கண்டுபிடி
pdfjs-find-previous-button =
.title = இந்த சொற்றொடரின் முந்தைய நிகழ்வை தேடு
pdfjs-find-previous-button-label = முந்தையது
diff --git a/packages/pdfjs-viewer/viewer/locale/te/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/te/viewer.ftl
index 24838bc89f0..8d58caa4700 100644
--- a/packages/pdfjs-viewer/viewer/locale/te/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/te/viewer.ftl
@@ -120,19 +120,6 @@ pdfjs-printing-not-ready = హెచ్చరిక: ముద్రణ కొ
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = పక్కపట్టీ మార్చు
-pdfjs-toggle-sidebar-button-label = పక్కపట్టీ మార్చు
-pdfjs-document-outline-button =
- .title = పత్రము రూపము చూపించు (డబుల్ క్లిక్ చేసి అన్ని అంశాలను విస్తరించు/కూల్చు)
-pdfjs-document-outline-button-label = పత్రము అవుట్లైన్
-pdfjs-attachments-button =
- .title = అనుబంధాలు చూపు
-pdfjs-attachments-button-label = అనుబంధాలు
-pdfjs-layers-button-label = పొరలు
-pdfjs-thumbs-button =
- .title = థంబ్నైల్స్ చూపు
-pdfjs-thumbs-button-label = థంబ్నైల్స్
pdfjs-findbar-button =
.title = పత్రములో కనుగొనుము
pdfjs-findbar-button-label = కనుగొను
@@ -140,10 +127,6 @@ pdfjs-additional-layers = అదనపు పొరలు
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = పేజీ { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -152,8 +135,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = కనుగొను
.placeholder = పత్రములో కనుగొను…
+ .title = కనుగొను
pdfjs-find-previous-button =
.title = పదం యొక్క ముందు సంభవాన్ని కనుగొను
pdfjs-find-previous-button-label = మునుపటి
diff --git a/packages/pdfjs-viewer/viewer/locale/tg/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/tg/viewer.ftl
index ad09f513fe5..b3df80555a9 100644
--- a/packages/pdfjs-viewer/viewer/locale/tg/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/tg/viewer.ftl
@@ -166,23 +166,6 @@ pdfjs-printing-not-ready = Диққат: Файли «PDF» барои чопк
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Фаъол кардани навори ҷонибӣ
-pdfjs-toggle-sidebar-notification-button =
- .title = Фаъол кардани навори ҷонибӣ (ҳуҷҷат дорои сохтор/замимаҳо/қабатҳо мебошад)
-pdfjs-toggle-sidebar-button-label = Фаъол кардани навори ҷонибӣ
-pdfjs-document-outline-button =
- .title = Намоиш додани сохтори ҳуҷҷат (барои баркушодан/пеҷондани ҳамаи унсурҳо дубора зер кунед)
-pdfjs-document-outline-button-label = Сохтори ҳуҷҷат
-pdfjs-attachments-button =
- .title = Намоиш додани замимаҳо
-pdfjs-attachments-button-label = Замимаҳо
-pdfjs-layers-button =
- .title = Намоиш додани қабатҳо (барои барқарор кардани ҳамаи қабатҳо ба вазъияти пешфарз дубора зер кунед)
-pdfjs-layers-button-label = Қабатҳо
-pdfjs-thumbs-button =
- .title = Намоиш додани тасвирчаҳо
-pdfjs-thumbs-button-label = Тасвирчаҳо
pdfjs-current-outline-item-button =
.title = Ёфтани унсури сохтори ҷорӣ
pdfjs-current-outline-item-button-label = Унсури сохтори ҷорӣ
@@ -193,10 +176,6 @@ pdfjs-additional-layers = Қабатҳои иловагӣ
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Саҳифаи { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -214,8 +193,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Ёфтан
.placeholder = Ёфтан дар ҳуҷҷат…
+ .title = Ёфтан
pdfjs-find-previous-button =
.title = Ҷустуҷӯи мавриди қаблии ибораи пешниҳодшуда
pdfjs-find-previous-button-label = Қаблӣ
@@ -310,16 +289,16 @@ pdfjs-editor-highlight-button =
.title = Ҷудокунӣ
pdfjs-editor-highlight-button-label = Ҷудокунӣ
pdfjs-highlight-floating-button1 =
- .title = Ҷудокунӣ
.aria-label = Ҷудокунӣ
+ .title = Ҷудокунӣ
pdfjs-highlight-floating-button-label = Ҷудокунӣ
pdfjs-comment-floating-button =
- .title = Шарҳ
.aria-label = Шарҳ
+ .title = Шарҳ
pdfjs-comment-floating-button-label = Шарҳ
pdfjs-editor-comment-button =
- .title = Шарҳ
.aria-label = Шарҳ
+ .title = Шарҳ
pdfjs-editor-comment-button-label = Шарҳ
pdfjs-editor-signature-button =
.title = Илова кардани имзо
@@ -392,8 +371,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Шарҳҳо
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Пӯшидани навори ҷонибӣ
.aria-label = Пӯшидани навори ҷонибӣ
+ .title = Пӯшидани навори ҷонибӣ
pdfjs-editor-comments-sidebar-close-button-label = Пӯшидани навори ҷонибӣ
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Чизи диққатангезро мушоҳида кардед? Онро қайд кунед ва ба он шарҳ гузоред.
@@ -516,13 +495,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Танзимоти матни ил
pdfjs-editor-alt-text-settings-automatic-title = Матни иловагии худкор
pdfjs-editor-alt-text-settings-create-model-button-label = Ба таври худкор эҷод кардани матни иловагӣ
pdfjs-editor-alt-text-settings-create-model-description = Ин имкон барои расонидани кумак ба одамоне, ки аксҳоро дида наметавонанд ё вақте ки аксҳо кушода намешаванд, тавсифи аксҳоро пешниҳод мекунад.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Модели зеҳни сунъӣ «AI» барои матни ивазкунанда ({ $totalSize } МБ)
-pdfjs-editor-alt-text-settings-ai-model-description = Дар дастгоҳи шумо ба таври маҳаллӣ кор мекунад, бинобар ин махфияти маълумоти шахсии шумо нигоҳ дошта мешавад. Барои матни ивазкунандаи худкор лозим аст.
-pdfjs-editor-alt-text-settings-delete-model-button = Нест кардан
-pdfjs-editor-alt-text-settings-download-model-button = Боргирӣ кардан
-pdfjs-editor-alt-text-settings-downloading-model-button = Дар ҳоли боргирӣ…
pdfjs-editor-alt-text-settings-editor-title = Муҳаррири матни иловагӣ
pdfjs-editor-alt-text-settings-show-dialog-button-label = Дарҳол нишон додани муҳаррири матни ивазкунанда ҳангоми иловакунии тасвир
pdfjs-editor-alt-text-settings-show-dialog-description = Ба шумо кумак мекунад, ки боварӣ ҳосил кунед, ки ҳамаи тасвирҳои шумо дорои матни ивазкунанда мебошанд.
diff --git a/packages/pdfjs-viewer/viewer/locale/th/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/th/viewer.ftl
index ccc0034c466..343dac32805 100644
--- a/packages/pdfjs-viewer/viewer/locale/th/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/th/viewer.ftl
@@ -166,23 +166,6 @@ pdfjs-printing-not-ready = คำเตือน: PDF ไม่ได้รั
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = เปิด/ปิดแถบข้าง
-pdfjs-toggle-sidebar-notification-button =
- .title = เปิด/ปิดแถบข้าง (เอกสารมีเค้าร่าง/ไฟล์แนบ/เลเยอร์)
-pdfjs-toggle-sidebar-button-label = เปิด/ปิดแถบข้าง
-pdfjs-document-outline-button =
- .title = แสดงเค้าร่างเอกสาร (คลิกสองครั้งเพื่อขยาย/ยุบรายการทั้งหมด)
-pdfjs-document-outline-button-label = เค้าร่างเอกสาร
-pdfjs-attachments-button =
- .title = แสดงไฟล์แนบ
-pdfjs-attachments-button-label = ไฟล์แนบ
-pdfjs-layers-button =
- .title = แสดงเลเยอร์ (คลิกสองครั้งเพื่อรีเซ็ตเลเยอร์ทั้งหมดเป็นสถานะเริ่มต้น)
-pdfjs-layers-button-label = เลเยอร์
-pdfjs-thumbs-button =
- .title = แสดงภาพขนาดย่อ
-pdfjs-thumbs-button-label = ภาพขนาดย่อ
pdfjs-current-outline-item-button =
.title = ค้นหารายการเค้าร่างปัจจุบัน
pdfjs-current-outline-item-button-label = รายการเค้าร่างปัจจุบัน
@@ -193,10 +176,6 @@ pdfjs-additional-layers = เลเยอร์เพิ่มเติม
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = หน้า { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -214,8 +193,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = ค้นหา
.placeholder = ค้นหาในเอกสาร…
+ .title = ค้นหา
pdfjs-find-previous-button =
.title = หาตำแหน่งก่อนหน้าของวลี
pdfjs-find-previous-button-label = ก่อนหน้า
@@ -302,16 +281,16 @@ pdfjs-editor-highlight-button =
.title = เน้น
pdfjs-editor-highlight-button-label = เน้น
pdfjs-highlight-floating-button1 =
- .title = เน้นสี
.aria-label = เน้นสี
+ .title = เน้นสี
pdfjs-highlight-floating-button-label = เน้นสี
pdfjs-comment-floating-button =
- .title = แสดงความคิดเห็น
.aria-label = แสดงความคิดเห็น
+ .title = แสดงความคิดเห็น
pdfjs-comment-floating-button-label = แสดงความคิดเห็น
pdfjs-editor-comment-button =
- .title = แสดงความคิดเห็น
.aria-label = แสดงความคิดเห็น
+ .title = แสดงความคิดเห็น
pdfjs-editor-comment-button-label = ความคิดเห็น
pdfjs-editor-signature-button =
.title = เพิ่มลายเซ็น
@@ -380,8 +359,8 @@ pdfjs-free-text2 =
# $count (Number) - the number of comments.
pdfjs-editor-comments-sidebar-title = ความคิดเห็น
pdfjs-editor-comments-sidebar-close-button =
- .title = ปิดแถบข้าง
.aria-label = ปิดแถบข้าง
+ .title = ปิดแถบข้าง
pdfjs-editor-comments-sidebar-close-button-label = ปิดแถบข้าง
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = เห็นอะไรที่น่าสนใจใช่ไหม? เน้นสีไว้และแสดงความคิดเห็นได้เลย
@@ -504,13 +483,6 @@ pdfjs-editor-alt-text-settings-dialog-label = ตั้งค่าข้อค
pdfjs-editor-alt-text-settings-automatic-title = การทดแทนด้วยข้อความอัตโนมัติ
pdfjs-editor-alt-text-settings-create-model-button-label = สร้างข้อความทดแทนอัตโนมัติ
pdfjs-editor-alt-text-settings-create-model-description = แนะนำคำอธิบายเพื่อช่วยเหลือผู้ที่ไม่สามารถมองเห็นภาพหรือเมื่อภาพไม่โหลด
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = โมเดล AI สำหรับข้อความทดแทน ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = ทำงานในเครื่องของคุณเพื่อให้ข้อมูลของคุณเป็นส่วนตัว จำเป็นสำหรับข้อความทดแทนอัตโนมัติ
-pdfjs-editor-alt-text-settings-delete-model-button = ลบ
-pdfjs-editor-alt-text-settings-download-model-button = ดาวน์โหลด
-pdfjs-editor-alt-text-settings-downloading-model-button = กำลังดาวน์โหลด…
pdfjs-editor-alt-text-settings-editor-title = ตัวแก้ไขข้อความทดแทน
pdfjs-editor-alt-text-settings-show-dialog-button-label = แสดงตัวแก้ไขข้อความทดแทนทันทีเมื่อเพิ่มภาพ
pdfjs-editor-alt-text-settings-show-dialog-description = ช่วยให้คุณแน่ใจว่าภาพทั้งหมดของคุณมีข้อความทดแทน
diff --git a/packages/pdfjs-viewer/viewer/locale/tl/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/tl/viewer.ftl
index 628ef97b1b4..5fad8a55830 100644
--- a/packages/pdfjs-viewer/viewer/locale/tl/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/tl/viewer.ftl
@@ -140,23 +140,6 @@ pdfjs-printing-not-ready = Babala: Hindi ganap na nabuksan ang PDF para sa pag-p
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Ipakita/Itago ang Sidebar
-pdfjs-toggle-sidebar-notification-button =
- .title = Ipakita/Itago ang Sidebar (nagtataglay ang dokumento ng balangkas/mga attachment/mga layer)
-pdfjs-toggle-sidebar-button-label = Ipakita/Itago ang Sidebar
-pdfjs-document-outline-button =
- .title = Ipakita ang Document Outline (mag-double-click para i-expand/collapse ang laman)
-pdfjs-document-outline-button-label = Balangkas ng Dokumento
-pdfjs-attachments-button =
- .title = Ipakita ang mga Attachment
-pdfjs-attachments-button-label = Mga attachment
-pdfjs-layers-button =
- .title = Ipakita ang mga Layer (mag-double click para mareset ang lahat ng layer sa orihinal na estado)
-pdfjs-layers-button-label = Mga layer
-pdfjs-thumbs-button =
- .title = Ipakita ang mga Thumbnail
-pdfjs-thumbs-button-label = Mga thumbnail
pdfjs-findbar-button =
.title = Hanapin sa Dokumento
pdfjs-findbar-button-label = Hanapin
@@ -164,10 +147,6 @@ pdfjs-additional-layers = Mga Karagdagang Layer
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Pahina { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -176,8 +155,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Hanapin
.placeholder = Hanapin sa dokumento…
+ .title = Hanapin
pdfjs-find-previous-button =
.title = Hanapin ang nakaraang pangyayari ng parirala
pdfjs-find-previous-button-label = Nakaraan
diff --git a/packages/pdfjs-viewer/viewer/locale/tr/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/tr/viewer.ftl
index a735e088736..a2d5705d408 100644
--- a/packages/pdfjs-viewer/viewer/locale/tr/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/tr/viewer.ftl
@@ -187,23 +187,6 @@ pdfjs-printing-not-ready = Uyarı: PDF tamamen yüklenmedi ve yazdırmaya hazır
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Kenar çubuğunu aç/kapat
-pdfjs-toggle-sidebar-notification-button =
- .title = Kenar çubuğunu aç/kapat (Belge ana hat/ekler/katmanlar içeriyor)
-pdfjs-toggle-sidebar-button-label = Kenar çubuğunu aç/kapat
-pdfjs-document-outline-button =
- .title = Belge ana hatlarını göster (Tüm öğeleri genişletmek/daraltmak için çift tıklayın)
-pdfjs-document-outline-button-label = Belge ana hatları
-pdfjs-attachments-button =
- .title = Ekleri göster
-pdfjs-attachments-button-label = Ekler
-pdfjs-layers-button =
- .title = Katmanları göster (tüm katmanları varsayılan duruma sıfırlamak için çift tıklayın)
-pdfjs-layers-button-label = Katmanlar
-pdfjs-thumbs-button =
- .title = Küçük resimleri göster
-pdfjs-thumbs-button-label = Küçük resimler
pdfjs-current-outline-item-button =
.title = Mevcut ana hat öğesini bul
pdfjs-current-outline-item-button-label = Mevcut ana hat öğesi
@@ -214,10 +197,6 @@ pdfjs-additional-layers = Ek katmanlar
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Sayfa { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -235,8 +214,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Bul
.placeholder = Belgede bul…
+ .title = Bul
pdfjs-find-previous-button =
.title = Önceki eşleşmeyi bul
pdfjs-find-previous-button-label = Önceki
@@ -331,16 +310,16 @@ pdfjs-editor-highlight-button =
.title = Vurgula
pdfjs-editor-highlight-button-label = Vurgula
pdfjs-highlight-floating-button1 =
- .title = Vurgula
.aria-label = Vurgula
+ .title = Vurgula
pdfjs-highlight-floating-button-label = Vurgula
pdfjs-comment-floating-button =
- .title = Yorum ekle
.aria-label = Yorum ekle
+ .title = Yorum ekle
pdfjs-comment-floating-button-label = Yorum ekle
pdfjs-editor-comment-button =
- .title = Yorum ekle
.aria-label = Yorum ekle
+ .title = Yorum ekle
pdfjs-editor-comment-button-label = Yorum ekle
pdfjs-editor-signature-button =
.title = İmza ekle
@@ -413,8 +392,8 @@ pdfjs-editor-comments-sidebar-title =
*[other] Yorumlar
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Kenar çubuğunu kapat
.aria-label = Kenar çubuğunu kapat
+ .title = Kenar çubuğunu kapat
pdfjs-editor-comments-sidebar-close-button-label = Kenar çubuğunu kapat
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Not almaya değer bir şey mi gördünüz? Onu işaretleyip yorum yazabilirsiniz.
@@ -537,13 +516,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Resim alt metni ayarları
pdfjs-editor-alt-text-settings-automatic-title = Otomatik alt metin
pdfjs-editor-alt-text-settings-create-model-button-label = Otomatik olarak alt metin oluştur
pdfjs-editor-alt-text-settings-create-model-description = Görme engelli kişilere gösterilecek veya resmin yüklenemediği durumlarda gösterilecek açıklamalar önerir.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Alt metin yapay zekâ modeli ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Verilerinizin gizli kalması için cihazınızda yerel olarak çalışır. Otomatik alt metin için gereklidir.
-pdfjs-editor-alt-text-settings-delete-model-button = Sil
-pdfjs-editor-alt-text-settings-download-model-button = İndir
-pdfjs-editor-alt-text-settings-downloading-model-button = İndiriliyor…
pdfjs-editor-alt-text-settings-editor-title = Alt metin düzenleyicisi
pdfjs-editor-alt-text-settings-show-dialog-button-label = Resim eklerken alt metin düzenleyicisini hemen göster
pdfjs-editor-alt-text-settings-show-dialog-description = Tüm resimlerinizin alt metne sahip olduğundan emin olmanızı sağlar.
@@ -756,8 +728,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Dijital imza özellikleri
.aria-label = Dijital imza özellikleri
+ .title = Dijital imza özellikleri
pdfjs-digital-signature-properties-button-label = Dijital imza özellikleri
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/trs/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/trs/viewer.ftl
index de1e8cbf31b..c5f46704abb 100644
--- a/packages/pdfjs-viewer/viewer/locale/trs/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/trs/viewer.ftl
@@ -137,9 +137,6 @@ pdfjs-print-progress-close-button = Duyichin'
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Nadunā barrâ nù yi'nïn
-pdfjs-toggle-sidebar-button-label = Nadunā barrâ nù yi'nïn
pdfjs-findbar-button-label = Narì'
## Find panel button title and messages
diff --git a/packages/pdfjs-viewer/viewer/locale/uk/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/uk/viewer.ftl
index 3b293e20440..c9338750a3a 100644
--- a/packages/pdfjs-viewer/viewer/locale/uk/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/uk/viewer.ftl
@@ -166,23 +166,6 @@ pdfjs-printing-not-ready = Попередження: PDF не повністю
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Бічна панель
-pdfjs-toggle-sidebar-notification-button =
- .title = Перемкнути бічну панель (документ містить ескіз/вкладення/шари)
-pdfjs-toggle-sidebar-button-label = Перемкнути бічну панель
-pdfjs-document-outline-button =
- .title = Показати схему документу (подвійний клік для розгортання/згортання елементів)
-pdfjs-document-outline-button-label = Схема документа
-pdfjs-attachments-button =
- .title = Показати вкладення
-pdfjs-attachments-button-label = Вкладення
-pdfjs-layers-button =
- .title = Показати шари (двічі клацніть, щоб скинути всі шари до типового стану)
-pdfjs-layers-button-label = Шари
-pdfjs-thumbs-button =
- .title = Показати мініатюри
-pdfjs-thumbs-button-label = Мініатюри
pdfjs-current-outline-item-button =
.title = Знайти поточний елемент змісту
pdfjs-current-outline-item-button-label = Поточний елемент змісту
@@ -193,10 +176,6 @@ pdfjs-additional-layers = Додаткові шари
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Сторінка { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -205,8 +184,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Знайти
.placeholder = Знайти в документі…
+ .title = Знайти
pdfjs-find-previous-button =
.title = Знайти попереднє входження фрази
pdfjs-find-previous-button-label = Попереднє
@@ -303,16 +282,16 @@ pdfjs-editor-highlight-button =
.title = Підсвітити
pdfjs-editor-highlight-button-label = Підсвітити
pdfjs-highlight-floating-button1 =
- .title = Підсвітити
.aria-label = Підсвітити
+ .title = Підсвітити
pdfjs-highlight-floating-button-label = Підсвітити
pdfjs-comment-floating-button =
- .title = Коментувати
.aria-label = Коментувати
+ .title = Коментувати
pdfjs-comment-floating-button-label = Коментувати
pdfjs-editor-comment-button =
- .title = Коментар
.aria-label = Коментар
+ .title = Коментар
pdfjs-editor-comment-button-label = Коментар
pdfjs-editor-signature-button =
.title = Додати підпис
@@ -386,8 +365,8 @@ pdfjs-editor-comments-sidebar-title =
*[many] Коментарі
}
pdfjs-editor-comments-sidebar-close-button =
- .title = Закрити бічну панель
.aria-label = Закрити бічну панель
+ .title = Закрити бічну панель
pdfjs-editor-comments-sidebar-close-button-label = Закрити бічну панель
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Бачите щось варте уваги? Підсвітіть і додайте коментар.
@@ -510,13 +489,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Налаштування альт
pdfjs-editor-alt-text-settings-automatic-title = Автоматичний альтернативний текст
pdfjs-editor-alt-text-settings-create-model-button-label = Автоматично створювати альтернативний текст
pdfjs-editor-alt-text-settings-create-model-description = Пропонує описи, щоб допомогти людям, які не бачать зображення, або якщо зображення не завантажується.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Модель ШІ для альтернативного тексту ({ $totalSize } МБ)
-pdfjs-editor-alt-text-settings-ai-model-description = Працює локально на вашому пристрої, тому приватність ваших даних захищена. Призначена для автоматичного створення альтернативного тексту.
-pdfjs-editor-alt-text-settings-delete-model-button = Видалити
-pdfjs-editor-alt-text-settings-download-model-button = Завантажити
-pdfjs-editor-alt-text-settings-downloading-model-button = Завантаження…
pdfjs-editor-alt-text-settings-editor-title = Редактор альтернативного тексту
pdfjs-editor-alt-text-settings-show-dialog-button-label = Показувати редактор альтернативного тексту під час додавання зображення
pdfjs-editor-alt-text-settings-show-dialog-description = Допомагає переконатися, що всі ваші зображення мають альтернативний текст.
diff --git a/packages/pdfjs-viewer/viewer/locale/ur/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/ur/viewer.ftl
index 1d2e92de035..207ad480e1c 100644
--- a/packages/pdfjs-viewer/viewer/locale/ur/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/ur/viewer.ftl
@@ -133,28 +133,12 @@ pdfjs-printing-not-ready = تنبیہ: PDF چھپائی کے لیے پوری ط
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = سلائیڈ ٹوگل کریں
-pdfjs-toggle-sidebar-button-label = سلائیڈ ٹوگل کریں
-pdfjs-document-outline-button =
- .title = دستاویز کی سرخیاں دکھایں (تمام اشیاء وسیع / غائب کرنے کے لیے ڈبل کلک کریں)
-pdfjs-document-outline-button-label = دستاویز آؤٹ لائن
-pdfjs-attachments-button =
- .title = منسلکات دکھائیں
-pdfjs-attachments-button-label = منسلکات
-pdfjs-thumbs-button =
- .title = تھمبنیل دکھائیں
-pdfjs-thumbs-button-label = مجمل
pdfjs-findbar-button =
.title = دستاویز میں ڈھونڈیں
pdfjs-findbar-button-label = ڈھونڈیں
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = صفحہ { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -163,8 +147,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = ڈھونڈیں
.placeholder = دستاویز… میں ڈھونڈیں
+ .title = ڈھونڈیں
pdfjs-find-previous-button =
.title = فقرے کا پچھلا وقوع ڈھونڈیں
pdfjs-find-previous-button-label = پچھلا
diff --git a/packages/pdfjs-viewer/viewer/locale/uz/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/uz/viewer.ftl
index 8bc38e6433b..e1b3e62d2d0 100644
--- a/packages/pdfjs-viewer/viewer/locale/uz/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/uz/viewer.ftl
@@ -80,25 +80,11 @@ pdfjs-printing-not-ready = Diqqat: PDF fayl chop qilish uchun toʻliq yuklanmadi
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Yon panelni yoqib/oʻchirib qoʻyish
-pdfjs-toggle-sidebar-button-label = Yon panelni yoqib/oʻchirib qoʻyish
-pdfjs-document-outline-button-label = Hujjat tuzilishi
-pdfjs-attachments-button =
- .title = Ilovalarni ko‘rsatish
-pdfjs-attachments-button-label = Ilovalar
-pdfjs-thumbs-button =
- .title = Nishonchalarni koʻrsatish
-pdfjs-thumbs-button-label = Nishoncha
pdfjs-findbar-button =
.title = Hujjat ichidan topish
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = { $page } sahifa
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
diff --git a/packages/pdfjs-viewer/viewer/locale/vi/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/vi/viewer.ftl
index 3eefed5027c..38bb8335490 100644
--- a/packages/pdfjs-viewer/viewer/locale/vi/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/vi/viewer.ftl
@@ -183,23 +183,6 @@ pdfjs-printing-not-ready = Cảnh báo: PDF chưa được tải hết để in.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Bật/Tắt thanh lề
-pdfjs-toggle-sidebar-notification-button =
- .title = Bật tắt thanh lề (tài liệu bao gồm bản phác thảo/tập tin đính kèm/lớp)
-pdfjs-toggle-sidebar-button-label = Bật/Tắt thanh lề
-pdfjs-document-outline-button =
- .title = Hiển thị tài liệu phác thảo (nhấp đúp vào để mở rộng/thu gọn tất cả các mục)
-pdfjs-document-outline-button-label = Bản phác tài liệu
-pdfjs-attachments-button =
- .title = Hiện nội dung đính kèm
-pdfjs-attachments-button-label = Nội dung đính kèm
-pdfjs-layers-button =
- .title = Hiển thị các lớp (nhấp đúp để đặt lại tất cả các lớp về trạng thái mặc định)
-pdfjs-layers-button-label = Lớp
-pdfjs-thumbs-button =
- .title = Hiển thị ảnh thu nhỏ
-pdfjs-thumbs-button-label = Ảnh thu nhỏ
pdfjs-current-outline-item-button =
.title = Tìm mục phác thảo hiện tại
pdfjs-current-outline-item-button-label = Mục phác thảo hiện tại
@@ -210,10 +193,6 @@ pdfjs-additional-layers = Các lớp bổ sung
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Trang { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -231,8 +210,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = Tìm
.placeholder = Tìm trong tài liệu…
+ .title = Tìm
pdfjs-find-previous-button =
.title = Tìm cụm từ ở phần trước
pdfjs-find-previous-button-label = Trước
@@ -319,16 +298,16 @@ pdfjs-editor-highlight-button =
.title = Đánh dấu
pdfjs-editor-highlight-button-label = Đánh dấu
pdfjs-highlight-floating-button1 =
- .title = Đánh dấu
.aria-label = Đánh dấu
+ .title = Đánh dấu
pdfjs-highlight-floating-button-label = Đánh dấu
pdfjs-comment-floating-button =
- .title = Chú thích
.aria-label = Chú thích
+ .title = Chú thích
pdfjs-comment-floating-button-label = Chú thích
pdfjs-editor-comment-button =
- .title = Chú thích
.aria-label = Chú thích
+ .title = Chú thích
pdfjs-editor-comment-button-label = Chú thích
pdfjs-editor-signature-button =
.title = Thêm chữ ký
@@ -397,8 +376,8 @@ pdfjs-free-text2 =
# $count (Number) - the number of comments.
pdfjs-editor-comments-sidebar-title = Chú thích
pdfjs-editor-comments-sidebar-close-button =
- .title = Đóng thanh lề
.aria-label = Đóng thanh lề
+ .title = Đóng thanh lề
pdfjs-editor-comments-sidebar-close-button-label = Đóng thanh lề
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = Bạn thấy điều gì đáng chú ý? Hãy đánh dấu và để lại chú thích.
@@ -486,7 +465,7 @@ pdfjs-editor-new-alt-text-description = Mô tả ngắn gọn dành cho người
pdfjs-editor-new-alt-text-disclaimer1 = Văn bản thay thế này được tạo tự động và có thể không chính xác.
pdfjs-editor-new-alt-text-disclaimer-learn-more-url = Tìm hiểu thêm
pdfjs-editor-new-alt-text-create-automatically-button-label = Tạo văn bản thay thế tự động
-pdfjs-editor-new-alt-text-not-now-button = Không phải bây giờ
+pdfjs-editor-new-alt-text-not-now-button = Để sau
pdfjs-editor-new-alt-text-error-title = Không thể tạo tự động văn bản thay thế
pdfjs-editor-new-alt-text-error-description = Vui lòng viết văn bản thay thế của riêng bạn hoặc thử lại sau.
pdfjs-editor-new-alt-text-error-close-button = Đóng
@@ -521,13 +500,6 @@ pdfjs-editor-alt-text-settings-dialog-label = Cài đặt văn bản thay thế
pdfjs-editor-alt-text-settings-automatic-title = Văn bản thay thế tự động
pdfjs-editor-alt-text-settings-create-model-button-label = Tạo văn bản thay thế tự động
pdfjs-editor-alt-text-settings-create-model-description = Đề xuất mô tả giúp ích cho những người không xem được ảnh hoặc khi không thể tải ảnh.
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = Mô hình AI văn bản khác ({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = Chạy cục bộ trên thiết bị của bạn để dữ liệu của bạn luôn ở chế độ riêng tư. Bắt buộc đối với văn bản thay thế tự động.
-pdfjs-editor-alt-text-settings-delete-model-button = Xóa
-pdfjs-editor-alt-text-settings-download-model-button = Tải xuống
-pdfjs-editor-alt-text-settings-downloading-model-button = Đang tải xuống…
pdfjs-editor-alt-text-settings-editor-title = Trình soạn thảo văn bản thay thế
pdfjs-editor-alt-text-settings-show-dialog-button-label = Hiển thị ngay trình soạn thảo văn bản thay thế khi thêm hình ảnh
pdfjs-editor-alt-text-settings-show-dialog-description = Giúp bạn đảm bảo tất cả hình ảnh của bạn đều có văn bản thay thế.
@@ -720,8 +692,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = Thuộc tính chữ ký điện tử
.aria-label = Thuộc tính chữ ký điện tử
+ .title = Thuộc tính chữ ký điện tử
pdfjs-digital-signature-properties-button-label = Thuộc tính chữ ký điện tử
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/locale/wo/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/wo/viewer.ftl
index 22c6a3f75bf..6c36da8a27d 100644
--- a/packages/pdfjs-viewer/viewer/locale/wo/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/wo/viewer.ftl
@@ -39,19 +39,12 @@ pdfjs-printing-not-supported = Artu: Joowkat bii nanguwul lool mool.
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-thumbs-button =
- .title = Wone nataal yu ndaw yi
-pdfjs-thumbs-button-label = Nataal yu ndaw yi
pdfjs-findbar-button =
.title = Gis ci biir jukki bi
pdfjs-findbar-button-label = Wut
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Xët { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
diff --git a/packages/pdfjs-viewer/viewer/locale/xh/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/xh/viewer.ftl
index a55157ad3e1..2d5698280b0 100644
--- a/packages/pdfjs-viewer/viewer/locale/xh/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/xh/viewer.ftl
@@ -98,28 +98,12 @@ pdfjs-printing-not-ready = Isilumkiso: IPDF ayihlohlwanga ngokupheleleyo ukwenze
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = Togola ngebha eseCaleni
-pdfjs-toggle-sidebar-button-label = Togola ngebha eseCaleni
-pdfjs-document-outline-button =
- .title = Bonisa uLwandlalo loXwebhu (cofa kabini ukuze wandise/diliza zonke izinto)
-pdfjs-document-outline-button-label = Isishwankathelo soxwebhu
-pdfjs-attachments-button =
- .title = Bonisa iziqhotyoshelwa
-pdfjs-attachments-button-label = Iziqhoboshelo
-pdfjs-thumbs-button =
- .title = Bonisa ukrobiso kumfanekiso
-pdfjs-thumbs-button-label = Ukrobiso kumfanekiso
pdfjs-findbar-button =
.title = Fumana kuXwebhu
pdfjs-findbar-button-label = Fumana
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = Iphepha { $page }
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -128,8 +112,8 @@ pdfjs-thumb-page-canvas =
## Find panel button title and messages
pdfjs-find-input =
- .title = Fumana
.placeholder = Fumana kuXwebhu…
+ .title = Fumana
pdfjs-find-previous-button =
.title = Fumanisa isenzeko sangaphambili sebinzana lamagama
pdfjs-find-previous-button-label = Okwangaphambili
diff --git a/packages/pdfjs-viewer/viewer/locale/zh-CN/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/zh-CN/viewer.ftl
index 2f48b10a493..348849ff5c8 100644
--- a/packages/pdfjs-viewer/viewer/locale/zh-CN/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/zh-CN/viewer.ftl
@@ -179,23 +179,6 @@ pdfjs-printing-not-ready = 警告:此 PDF 未完成加载,无法打印。
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = 打开/关闭侧栏
-pdfjs-toggle-sidebar-notification-button =
- .title = 打开/关闭侧栏(文档所含的大纲/附件/图层)
-pdfjs-toggle-sidebar-button-label = 打开/关闭侧栏
-pdfjs-document-outline-button =
- .title = 显示文档大纲(双击展开/折叠所有项)
-pdfjs-document-outline-button-label = 文档大纲
-pdfjs-attachments-button =
- .title = 显示附件
-pdfjs-attachments-button-label = 附件
-pdfjs-layers-button =
- .title = 显示图层(双击即可将所有图层重置为默认状态)
-pdfjs-layers-button-label = 图层
-pdfjs-thumbs-button =
- .title = 显示缩略图
-pdfjs-thumbs-button-label = 缩略图
pdfjs-current-outline-item-button =
.title = 查找当前大纲项目
pdfjs-current-outline-item-button-label = 当前大纲项目
@@ -206,10 +189,6 @@ pdfjs-additional-layers = 其他图层
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = 第 { $page } 页
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -227,8 +206,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = 查找
.placeholder = 在文档中查找…
+ .title = 查找
pdfjs-find-previous-button =
.title = 查找词语上一次出现的位置
pdfjs-find-previous-button-label = 上一页
@@ -315,16 +294,16 @@ pdfjs-editor-highlight-button =
.title = 高亮
pdfjs-editor-highlight-button-label = 高亮
pdfjs-highlight-floating-button1 =
- .title = 高亮
.aria-label = 高亮
+ .title = 高亮
pdfjs-highlight-floating-button-label = 高亮
pdfjs-comment-floating-button =
- .title = 批注
.aria-label = 批注
+ .title = 批注
pdfjs-comment-floating-button-label = 批注
pdfjs-editor-comment-button =
- .title = 批注
.aria-label = 批注
+ .title = 批注
pdfjs-editor-comment-button-label = 批注
pdfjs-editor-signature-button =
.title = 添加签名
@@ -393,8 +372,8 @@ pdfjs-free-text2 =
# $count (Number) - the number of comments.
pdfjs-editor-comments-sidebar-title = 批注
pdfjs-editor-comments-sidebar-close-button =
- .title = 关闭侧栏
.aria-label = 关闭侧栏
+ .title = 关闭侧栏
pdfjs-editor-comments-sidebar-close-button-label = 关闭侧栏
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = 发现值得注意的地方?可为其添加高亮并批注。
@@ -517,13 +496,6 @@ pdfjs-editor-alt-text-settings-dialog-label = 图像替换文字设置
pdfjs-editor-alt-text-settings-automatic-title = 自动创建替换文字
pdfjs-editor-alt-text-settings-create-model-button-label = 自动创建替换文字
pdfjs-editor-alt-text-settings-create-model-description = 向无法看到或加载图像的用户提供描述。
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = 提供替换文字的 AI 模型({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = 在您的设备本地运行,可使数据保持私密。自动创建替换文字需要使用此模型。
-pdfjs-editor-alt-text-settings-delete-model-button = 删除
-pdfjs-editor-alt-text-settings-download-model-button = 下载
-pdfjs-editor-alt-text-settings-downloading-model-button = 正在下载…
pdfjs-editor-alt-text-settings-editor-title = 替换文字编辑器
pdfjs-editor-alt-text-settings-show-dialog-button-label = 添加图像后立即显示替换文字编辑器
pdfjs-editor-alt-text-settings-show-dialog-description = 帮助确保所有图像均拥有替换文字。
@@ -713,6 +685,39 @@ pdfjs-views-manager-waiting-for-file = 正在上传文件…
pdfjs-toggle-views-manager-button1 =
.title = 管理页面
+## Digital signature properties (signature verification panel)
+
+pdfjs-digital-signature-properties-button =
+ .aria-label = 数字签名属性
+ .title = 数字签名属性
+pdfjs-digital-signature-properties-button-label = 数字签名属性
+
+## Per-signature status row. Only three distinct strings are needed:
+## the signature crypto either verified (the cert chain may still be
+## untrusted/expired/revoked, but that's surfaced on the cert row
+## below), or it failed, or its sub-format isn't supported.
+
+pdfjs-digital-signature-properties-status-verified = 状态:签名已验证
+pdfjs-digital-signature-properties-status-invalid = 状态:签名无效
+pdfjs-digital-signature-properties-status-unknown = 状态:无法验证(不支持)
+
+## Per-signature certificate row. The variants with an issuer / date in
+## parentheses embed fully-localized context — no English fall-through.
+##
+## Variables:
+## $issuer (String) - issuer or subject common name from the cert.
+## $dateObj (Date) - notAfter date for the expired-with-date form.
+
+pdfjs-digital-signature-properties-certificate-trusted = 证书:受信任({ $issuer })
+pdfjs-digital-signature-properties-certificate-unknown = 证书:不可用
+pdfjs-digital-signature-properties-certificate-untrusted = 证书:不可信
+pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = 证书:颁发者未知({ $issuer })
+pdfjs-digital-signature-properties-certificate-untrusted-self-signed = 证书:自签名({ $issuer })
+pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = 证书: 颁发者不可信({ $issuer })
+pdfjs-digital-signature-properties-certificate-expired = 证书: 已过期
+pdfjs-digital-signature-properties-certificate-expired-with-date = 证书:已过期({ DATETIME($dateObj, dateStyle: "medium") })
+pdfjs-digital-signature-properties-certificate-revoked = 证书:已吊销
+
## Main menu for adding/removing signatures
pdfjs-editor-delete-signature-button1 =
diff --git a/packages/pdfjs-viewer/viewer/locale/zh-TW/viewer.ftl b/packages/pdfjs-viewer/viewer/locale/zh-TW/viewer.ftl
index bf58047d4ac..f8b4615535f 100644
--- a/packages/pdfjs-viewer/viewer/locale/zh-TW/viewer.ftl
+++ b/packages/pdfjs-viewer/viewer/locale/zh-TW/viewer.ftl
@@ -183,23 +183,6 @@ pdfjs-printing-not-ready = 警告:此 PDF 未完成下載以供列印。
## Tooltips and alt text for side panel toolbar buttons
-pdfjs-toggle-sidebar-button =
- .title = 切換側邊欄
-pdfjs-toggle-sidebar-notification-button =
- .title = 切換側邊欄(包含大綱、附件、圖層的文件)
-pdfjs-toggle-sidebar-button-label = 切換側邊欄
-pdfjs-document-outline-button =
- .title = 顯示文件大綱(雙擊展開/摺疊所有項目)
-pdfjs-document-outline-button-label = 文件大綱
-pdfjs-attachments-button =
- .title = 顯示附件
-pdfjs-attachments-button-label = 附件
-pdfjs-layers-button =
- .title = 顯示圖層(滑鼠雙擊即可將所有圖層重設為預設狀態)
-pdfjs-layers-button-label = 圖層
-pdfjs-thumbs-button =
- .title = 顯示縮圖
-pdfjs-thumbs-button-label = 縮圖
pdfjs-current-outline-item-button =
.title = 尋找目前的大綱項目
pdfjs-current-outline-item-button-label = 目前的大綱項目
@@ -210,10 +193,6 @@ pdfjs-additional-layers = 其他圖層
## Thumbnails panel item (tooltip and alt text for images)
-# Variables:
-# $page (Number) - the page number
-pdfjs-thumb-page-title =
- .title = 第 { $page } 頁
# Variables:
# $page (Number) - the page number
pdfjs-thumb-page-canvas =
@@ -231,8 +210,8 @@ pdfjs-thumb-page-title1 =
## Find panel button title and messages
pdfjs-find-input =
- .title = 尋找
.placeholder = 在文件中搜尋…
+ .title = 尋找
pdfjs-find-previous-button =
.title = 尋找文字前次出現的位置
pdfjs-find-previous-button-label = 上一個
@@ -298,7 +277,7 @@ pdfjs-password-label = 請輸入用來開啟此 PDF 檔案的密碼。
pdfjs-password-invalid = 密碼不正確,請再試一次。
pdfjs-password-ok-button = 確定
pdfjs-password-cancel-button = 取消
-pdfjs-web-fonts-disabled = 已停用網路字型 (Web fonts): 無法使用 PDF 內嵌字型。
+pdfjs-web-fonts-disabled = 已停用網路字型:無法使用 PDF 內嵌字型。
## Editing
@@ -319,16 +298,16 @@ pdfjs-editor-highlight-button =
.title = 強調
pdfjs-editor-highlight-button-label = 強調
pdfjs-highlight-floating-button1 =
- .title = 強調
.aria-label = 強調
+ .title = 強調
pdfjs-highlight-floating-button-label = 強調
pdfjs-comment-floating-button =
- .title = 註解
.aria-label = 註解
+ .title = 註解
pdfjs-comment-floating-button-label = 註解
pdfjs-editor-comment-button =
- .title = 註解
.aria-label = 註解
+ .title = 註解
pdfjs-editor-comment-button-label = 註解
pdfjs-editor-signature-button =
.title = 加入簽章
@@ -397,8 +376,8 @@ pdfjs-free-text2 =
# $count (Number) - the number of comments.
pdfjs-editor-comments-sidebar-title = 註解
pdfjs-editor-comments-sidebar-close-button =
- .title = 關閉側邊欄
.aria-label = 關閉側邊欄
+ .title = 關閉側邊欄
pdfjs-editor-comments-sidebar-close-button-label = 關閉側邊欄
# Instructional copy to add a comment by selecting text or an annotations.
pdfjs-editor-comments-sidebar-no-comments1 = 想把哪個部分記下來?可以畫螢光強調,並且留下註解。
@@ -521,13 +500,6 @@ pdfjs-editor-alt-text-settings-dialog-label = 圖片替代文字設定
pdfjs-editor-alt-text-settings-automatic-title = 自動化替代文字
pdfjs-editor-alt-text-settings-create-model-button-label = 自動產生替代文字
pdfjs-editor-alt-text-settings-create-model-description = 為您建議圖片描述,幫助看不到圖片的讀者,或於圖片無法載入時顯示。
-# Variables:
-# $totalSize (Number) - the total size (in MB) of the AI model.
-pdfjs-editor-alt-text-settings-download-model-label = 替代文字 AI 模型({ $totalSize } MB)
-pdfjs-editor-alt-text-settings-ai-model-description = 在您的本機裝置上運作,以確保您的資料隱私。必須下載此模型才可以自動產生替代文字。
-pdfjs-editor-alt-text-settings-delete-model-button = 刪除
-pdfjs-editor-alt-text-settings-download-model-button = 下載
-pdfjs-editor-alt-text-settings-downloading-model-button = 下載中…
pdfjs-editor-alt-text-settings-editor-title = 替代文字編輯器
pdfjs-editor-alt-text-settings-show-dialog-button-label = 新增圖片後立即顯示替代文字編輯器
pdfjs-editor-alt-text-settings-show-dialog-description = 幫助您確保所有圖片都有替代文字。
@@ -720,8 +692,8 @@ pdfjs-toggle-views-manager-button1 =
## Digital signature properties (signature verification panel)
pdfjs-digital-signature-properties-button =
- .title = 數位簽章屬性
.aria-label = 數位簽章屬性
+ .title = 數位簽章屬性
pdfjs-digital-signature-properties-button-label = 數位簽章屬性
## Banner shown above the signature list summarising the overall
diff --git a/packages/pdfjs-viewer/viewer/viewer.css b/packages/pdfjs-viewer/viewer/viewer.css
index 374aab39b97..c79cfa0e940 100644
--- a/packages/pdfjs-viewer/viewer/viewer.css
+++ b/packages/pdfjs-viewer/viewer/viewer.css
@@ -13,1053 +13,1099 @@
* limitations under the License.
*/
-.messageBar{
- --closing-button-icon:url(images/messageBar_closingButton.svg);
- --message-bar-close-button-color:var(--text-primary-color);
- --message-bar-close-button-color-hover:var(--text-primary-color);
- --message-bar-close-button-border-radius:4px;
- --message-bar-close-button-border:none;
- --message-bar-close-button-hover-bg-color:light-dark(
- rgb(21 20 26 / 0.14),
- rgb(251 251 254 / 0.14)
+:root {
+ --button-primary-bg-color: var(
+ --button-background-color-primary,
+ light-dark(#0060df, #0df)
);
- --message-bar-close-button-active-bg-color:light-dark(
- rgb(21 20 26 / 0.21),
- rgb(251 251 254 / 0.21)
+ --button-primary-fg-color: var(
+ --button-text-color-primary,
+ light-dark(#fbfbfe, #15141a)
);
- --message-bar-close-button-focus-bg-color:light-dark(
- rgb(21 20 26 / 0.07),
- rgb(251 251 254 / 0.07)
+ --button-primary-border-color: var(--button-primary-bg-color);
+ --button-primary-active-bg-color: var(
+ --button-background-color-primary-active,
+ light-dark(#054096, #aaf2ff)
);
+ --button-primary-active-fg-color: var(--button-primary-fg-color);
+ --button-primary-active-border-color: var(--button-primary-active-bg-color);
+ --button-primary-hover-bg-color: var(
+ --button-background-color-primary-hover,
+ light-dark(#0250bb, #80ebff)
+ );
+ --button-primary-hover-fg-color: var(--button-primary-fg-color);
+ --button-primary-hover-border-color: var(--button-primary-hover-bg-color);
+ --button-primary-disabled-bg-color: var(--button-primary-bg-color);
+ --button-primary-disabled-border-color: var(--button-primary-border-color);
+ --button-primary-disabled-fg-color: var(--button-primary-fg-color);
+
+ --button-secondary-bg-color: var(
+ --button-background-color,
+ light-dark(rgb(21 20 26 / 0.07), rgb(251 251 254 / 0.07))
+ );
+ --button-secondary-fg-color: var(--text-color, light-dark(#15141a, #fbfbfe));
+ --button-secondary-border-color: var(
+ --button-border-color,
+ var(--button-secondary-bg-color)
+ );
+ --button-secondary-active-bg-color: var(
+ --button-background-color-active,
+ light-dark(rgb(21 20 26 / 0.21), rgb(251 251 254 / 0.21))
+ );
+ --button-secondary-active-fg-color: var(--button-secondary-fg-color);
+ --button-secondary-active-border-color: var(--button-secondary-bg-color);
+ --button-secondary-hover-bg-color: var(
+ --button-background-color-hover,
+ light-dark(rgb(21 20 26 / 0.14), rgb(251 251 254 / 0.14))
+ );
+ --button-secondary-hover-fg-color: var(--button-secondary-fg-color);
+ --button-secondary-hover-border-color: var(--button-secondary-hover-bg-color);
+ --button-secondary-disabled-bg-color: var(--button-secondary-bg-color);
+ --button-secondary-disabled-border-color: var(
+ --button-secondary-border-color
+ );
+ --button-secondary-disabled-fg-color: var(--button-secondary-fg-color);
+ --button-disabled-opacity: 0.4;
+ --hover-filter: brightness(0.9);
- @media screen and (forced-colors: active){
- --message-bar-close-button-color:ButtonText;
- --message-bar-close-button-border:1px solid ButtonText;
- --message-bar-close-button-hover-bg-color:ButtonText;
- --message-bar-close-button-active-bg-color:ButtonText;
- --message-bar-close-button-focus-bg-color:ButtonText;
- --message-bar-close-button-color-hover:HighlightText;
+ @media (prefers-color-scheme: dark) {
+ --button-disabled-opacity: 0.6;
+ --hover-filter: brightness(1.4);
}
- display:flex;
- position:relative;
- padding:8px 8px 8px 16px;
- flex-direction:column;
- justify-content:center;
- align-items:center;
- gap:8px;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
-
- border-radius:4px;
+ @media screen and (forced-colors: active) {
+ --button-primary-bg-color: var(
+ --button-background-color-primary,
+ ButtonText
+ );
+ --button-primary-fg-color: var(--button-text-color-primary, ButtonFace);
+ --button-primary-border-color: var(
+ --button-border-color-primary,
+ ButtonText
+ );
+ --button-primary-active-bg-color: var(
+ --button-background-color-primary-active,
+ SelectedItem
+ );
+ --button-primary-active-fg-color: var(
+ --button-text-color-primary-active,
+ HighlightText
+ );
+ --button-primary-active-border-color: var(
+ --button-border-color-primary-active,
+ ButtonText
+ );
+ --button-primary-hover-bg-color: var(
+ --button-background-color-primary-hover,
+ SelectedItem
+ );
+ --button-primary-hover-fg-color: var(
+ --button-text-color-primary-hover,
+ HighlightText
+ );
+ --button-primary-hover-border-color: var(
+ --button-border-color-primary-hover,
+ SelectedItem
+ );
+ --button-primary-disabled-bg-color: var(
+ --button-background-color-primary-disabled,
+ GrayText
+ );
+ --button-primary-disabled-fg-color: var(
+ --button-text-color-primary-disabled,
+ ButtonFace
+ );
+ --button-primary-disabled-border-color: var(
+ --button-border-color-primary-disabled,
+ GrayText
+ );
- border:1px solid var(--message-bar-border-color);
- background:var(--message-bar-bg-color);
- color:var(--message-bar-fg-color);
+ --button-secondary-bg-color: var(--button-background-color, ButtonFace);
+ --button-secondary-fg-color: var(--button-text-color, ButtonText);
+ --button-secondary-border-color: var(--button-border-color, ButtonText);
+ --button-secondary-active-bg-color: var(
+ --button-background-color-active,
+ HighlightText
+ );
+ --button-secondary-active-fg-color: var(
+ --button-text-color-active,
+ SelectedItem
+ );
+ --button-secondary-active-border-color: var(
+ --button-border-color-active,
+ ButtonText
+ );
+ --button-secondary-hover-bg-color: var(
+ --button-background-color-hover,
+ HighlightText
+ );
+ --button-secondary-hover-fg-color: var(
+ --button-text-color-hover,
+ SelectedItem
+ );
+ --button-secondary-hover-border-color: var(
+ --button-border-color-hover,
+ SelectedItem
+ );
+ --button-secondary-disabled-fg-color: var(
+ --button-text-color-disabled,
+ GrayText
+ );
+ --button-secondary-disabled-border-color: var(
+ --button-border-color-disabled,
+ GrayText
+ );
+ --button-disabled-opacity: 1;
+ --hover-filter: none;
+ }
+}
- > div{
- display:flex;
- align-items:flex-start;
- gap:8px;
- align-self:stretch;
+.primaryButton,
+.secondaryButton {
+ border-radius: var(--button-border-radius, 4px);
+ border: 1px solid;
+ font: menu;
+ font-weight: var(--button-font-weight, 590);
+ font-size: var(--button-font-size, 13px);
+ padding: var(--button-padding, 4px 16px);
+ width: auto;
+ min-height: var(--button-min-height, 32px);
- &::before{
- content:"";
- display:inline-block;
- width:16px;
- height:16px;
- -webkit-mask-image:var(--message-bar-icon);
- mask-image:var(--message-bar-icon);
- -webkit-mask-size:cover;
- mask-size:cover;
- background-color:var(--message-bar-icon-color);
- flex-shrink:0;
- }
+ &:hover {
+ cursor: pointer;
+ filter: var(--hover-filter);
}
- button{
- cursor:pointer;
+ > span {
+ color: inherit;
+ font: inherit;
+ }
- &:focus-visible{
- outline:var(--focus-ring-outline);
- outline-offset:2px;
- }
+ &:disabled {
+ pointer-events: none;
}
+}
- .closeButton{
- width:32px;
- height:32px;
- background:none;
- border-radius:var(--message-bar-close-button-border-radius);
- border:var(--message-bar-close-button-border);
+.primaryButton {
+ color: var(--button-primary-fg-color);
+ background-color: var(--button-primary-bg-color);
+ border-color: var(--button-primary-border-color);
+ opacity: 1;
- display:flex;
- align-items:center;
- justify-content:center;
+ &:hover {
+ color: var(--button-primary-hover-fg-color);
+ background-color: var(--button-primary-hover-bg-color);
+ border-color: var(--button-primary-hover-border-color);
+ }
- &::before{
- content:"";
- display:inline-block;
- width:16px;
- height:16px;
- -webkit-mask-image:var(--closing-button-icon);
- mask-image:var(--closing-button-icon);
- -webkit-mask-size:cover;
- mask-size:cover;
- background-color:var(--message-bar-close-button-color);
- }
+ &:active {
+ color: var(--button-primary-active-fg-color);
+ background-color: var(--button-primary-active-bg-color);
+ border-color: var(--button-primary-active-border-color);
+ }
- &:is(:hover, :active, :focus)::before{
- background-color:var(--message-bar-close-button-color-hover);
- }
+ &:disabled {
+ background-color: var(--button-primary-disabled-bg-color);
+ border-color: var(--button-primary-disabled-border-color);
+ color: var(--button-primary-disabled-fg-color);
+ opacity: var(--button-disabled-opacity);
+ }
+}
- &:hover{
- background-color:var(--message-bar-close-button-hover-bg-color);
- }
+.secondaryButton {
+ color: var(--button-secondary-fg-color);
+ background-color: var(--button-secondary-bg-color);
+ border-color: var(--button-secondary-border-color);
- &:active{
- background-color:var(--message-bar-close-button-active-bg-color);
- }
+ &:hover {
+ color: var(--button-secondary-hover-fg-color);
+ background-color: var(--button-secondary-hover-bg-color);
+ border-color: var(--button-secondary-hover-border-color);
+ }
- &:focus{
- background-color:var(--message-bar-close-button-focus-bg-color);
- }
+ &:active {
+ color: var(--button-secondary-active-fg-color);
+ background-color: var(--button-secondary-active-bg-color);
+ border-color: var(--button-secondary-active-border-color);
+ }
- > span{
- display:inline-block;
- width:0;
- height:0;
- overflow:hidden;
- }
+ &:disabled {
+ background-color: var(--button-secondary-disabled-bg-color);
+ border-color: var(--button-secondary-disabled-border-color);
+ color: var(--button-secondary-disabled-fg-color);
+ opacity: var(--button-disabled-opacity);
}
}
-#editorUndoBar{
- --text-primary-color:light-dark(#15141a, #fbfbfe);
-
- --message-bar-icon:url(images/messageBar_info.svg);
- --message-bar-icon-color:light-dark(#0060df, #73a7f3);
- --message-bar-bg-color:light-dark(#deeafc, #003070);
- --message-bar-fg-color:var(--text-primary-color);
- --message-bar-border-color:light-dark(
- rgb(0 0 0 / 0.08),
- rgb(255 255 255 / 0.08)
- );
-
- --undo-button-bg-color:light-dark(
- rgb(21 20 26 / 0.07),
- rgb(255 255 255 / 0.08)
+.messageBar {
+ --closing-button-icon: url(images/messageBar_closingButton.svg);
+ --message-bar-close-button-color: var(--text-primary-color);
+ --message-bar-close-button-color-hover: var(--text-primary-color);
+ --message-bar-close-button-border-radius: var(--border-radius-small, 4px);
+ --message-bar-close-button-border: none;
+ --message-bar-close-button-hover-bg-color: var(
+ --button-background-color-hover,
+ light-dark(rgb(21 20 26 / 0.14), rgb(251 251 254 / 0.14))
);
- --undo-button-bg-color-hover:light-dark(
- rgb(21 20 26 / 0.14),
- rgb(255 255 255 / 0.14)
+ --message-bar-close-button-active-bg-color: var(
+ --button-background-color-active,
+ light-dark(rgb(21 20 26 / 0.21), rgb(251 251 254 / 0.21))
);
- --undo-button-bg-color-active:light-dark(
- rgb(21 20 26 / 0.21),
- rgb(255 255 255 / 0.21)
+ --message-bar-close-button-focus-bg-color: var(
+ --button-background-color,
+ light-dark(rgb(21 20 26 / 0.07), rgb(251 251 254 / 0.07))
);
- --undo-button-border:1px solid light-dark(#0060df, #0df);
-
- --undo-button-fg-color:var(--message-bar-fg-color);
- --undo-button-fg-color-hover:var(--undo-button-fg-color);
- --undo-button-fg-color-active:var(--undo-button-fg-color);
-
- @media screen and (forced-colors: active){
- --text-primary-color:CanvasText;
+ @media screen and (forced-colors: active) {
+ --message-bar-close-button-color: var(--button-text-color, ButtonText);
+ --message-bar-close-button-border: 1px solid
+ var(--button-border-color, ButtonText);
+ --message-bar-close-button-hover-bg-color: var(
+ --button-background-color-hover,
+ SelectedItemText
+ );
+ --message-bar-close-button-active-bg-color: var(
+ --button-background-color-hover,
+ SelectedItemText
+ );
+ --message-bar-close-button-focus-bg-color: var(
+ --button-background-color-hover,
+ SelectedItemText
+ );
+ --message-bar-close-button-color-hover: var(
+ --button-text-color-hover,
+ SelectedItem
+ );
+ }
- --message-bar-icon-color:CanvasText;
- --message-bar-bg-color:Canvas;
- --message-bar-border-color:CanvasText;
+ display: flex;
+ position: relative;
+ padding: 8px 8px 8px 16px;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ gap: 8px;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ border-radius: var(--border-radius-small, 4px);
- --undo-button-bg-color:ButtonText;
- --undo-button-bg-color-hover:SelectedItem;
- --undo-button-bg-color-active:SelectedItem;
+ border: 1px solid var(--message-bar-border-color);
+ background: var(--message-bar-bg-color);
+ color: var(--message-bar-fg-color);
- --undo-button-fg-color:ButtonFace;
- --undo-button-fg-color-hover:SelectedItemText;
- --undo-button-fg-color-active:SelectedItemText;
+ > div {
+ display: flex;
+ align-items: flex-start;
+ gap: 8px;
+ align-self: stretch;
- --undo-button-border:none;
+ &::before {
+ content: "";
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ -webkit-mask-image: var(--message-bar-icon);
+ mask-image: var(--message-bar-icon);
+ -webkit-mask-size: cover;
+ mask-size: cover;
+ background-color: var(--message-bar-icon-color);
+ flex-shrink: 0;
+ }
}
- position:fixed;
- top:50px;
- left:50%;
- transform:translateX(-50%);
- z-index:10;
+ button {
+ cursor: pointer;
- padding-block:8px;
- padding-inline:16px 8px;
+ &:focus-visible {
+ outline: var(--focus-ring-outline);
+ outline-offset: 2px;
+ }
+ }
- font:menu;
- font-size:15px;
+ .closeButton {
+ width: 32px;
+ height: 32px;
+ background: none;
+ border-radius: var(--message-bar-close-button-border-radius);
+ border: var(--message-bar-close-button-border);
- cursor:default;
+ display: flex;
+ align-items: center;
+ justify-content: center;
- button{
- cursor:pointer;
- }
+ &::before {
+ content: "";
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ -webkit-mask-image: var(--closing-button-icon);
+ mask-image: var(--closing-button-icon);
+ -webkit-mask-size: cover;
+ mask-size: cover;
+ background-color: var(--message-bar-close-button-color);
+ }
- #editorUndoBarUndoButton{
- border-radius:4px;
- font-weight:590;
- line-height:19.5px;
- color:var(--undo-button-fg-color);
- border:var(--undo-button-border);
- padding:4px 16px;
- margin-inline-start:8px;
- height:32px;
+ &:is(:hover, :active, :focus)::before {
+ background-color: var(--message-bar-close-button-color-hover);
+ }
- background-color:var(--undo-button-bg-color);
+ &:hover {
+ background-color: var(--message-bar-close-button-hover-bg-color);
+ }
- &:hover{
- background-color:var(--undo-button-bg-color-hover);
- color:var(--undo-button-fg-color-hover);
+ &:active {
+ background-color: var(--message-bar-close-button-active-bg-color);
}
- &:active{
- background-color:var(--undo-button-bg-color-active);
- color:var(--undo-button-fg-color-active);
+ &:focus {
+ background-color: var(--message-bar-close-button-focus-bg-color);
}
- }
- > div{
- align-items:center;
+ > span {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ overflow: hidden;
+ }
}
}
-.dialog{
- --dialog-bg-color:light-dark(white, #1c1b22);
- --dialog-border-color:light-dark(white, #1c1b22);
- --dialog-shadow:0 2px 14px 0 light-dark(rgb(58 57 68 / 0.2), #15141a);
- --text-primary-color:light-dark(#15141a, #fbfbfe);
- --text-secondary-color:light-dark(#5b5b66, #cfcfd8);
- --hover-filter:brightness(0.9);
- --link-fg-color:light-dark(#0060df, #0df);
- --link-hover-fg-color:light-dark(#0250bb, #80ebff);
- --separator-color:light-dark(#f0f0f4, #52525e);
-
- --textarea-border-color:#8f8f9d;
- --textarea-bg-color:light-dark(white, #42414d);
- --textarea-fg-color:var(--text-secondary-color);
-
- --radio-bg-color:light-dark(#f0f0f4, #2b2a33);
- --radio-checked-bg-color:light-dark(#fbfbfe, #15141a);
- --radio-border-color:#8f8f9d;
- --radio-checked-border-color:light-dark(#0060df, #0df);
-
- --button-secondary-bg-color:light-dark(
- rgb(21 20 26 / 0.07),
- rgb(251 251 254 / 0.07)
- );
- --button-secondary-fg-color:var(--text-primary-color);
- --button-secondary-border-color:var(--button-secondary-bg-color);
- --button-secondary-active-bg-color:light-dark(
- rgb(21 20 26 / 0.21),
- rgb(251 251 254 / 0.21)
- );
- --button-secondary-active-fg-color:var(--button-secondary-fg-color);
- --button-secondary-active-border-color:var(--button-secondary-bg-color);
- --button-secondary-hover-bg-color:light-dark(
- rgb(21 20 26 / 0.14),
- rgb(251 251 254 / 0.14)
- );
- --button-secondary-hover-fg-color:var(--button-secondary-fg-color);
- --button-secondary-hover-border-color:var(--button-secondary-hover-bg-color);
- --button-secondary-disabled-bg-color:var(--button-secondary-bg-color);
- --button-secondary-disabled-border-color:var(
- --button-secondary-border-color
+#editorUndoBar {
+ --message-bar-icon: url(images/messageBar_info.svg);
+ --message-bar-icon-color: light-dark(#0060df, #73a7f3);
+ --message-bar-bg-color: light-dark(#deeafc, #003070);
+ --message-bar-fg-color: var(--text-primary-color);
+ --message-bar-border-color: light-dark(
+ rgb(0 0 0 / 0.08),
+ rgb(255 255 255 / 0.08)
);
- --button-secondary-disabled-fg-color:var(--button-secondary-fg-color);
-
- --button-primary-bg-color:light-dark(#0060df, #0df);
- --button-primary-fg-color:light-dark(#fbfbfe, #15141a);
- --button-primary-border-color:var(--button-primary-bg-color);
- --button-primary-active-bg-color:light-dark(#054096, #aaf2ff);
- --button-primary-active-fg-color:var(--button-primary-fg-color);
- --button-primary-active-border-color:var(--button-primary-active-bg-color);
- --button-primary-hover-bg-color:light-dark(#0250bb, #80ebff);
- --button-primary-hover-fg-color:var(--button-primary-fg-color);
- --button-primary-hover-border-color:var(--button-primary-hover-bg-color);
- --button-primary-disabled-bg-color:var(--button-primary-bg-color);
- --button-primary-disabled-border-color:var(--button-primary-border-color);
- --button-primary-disabled-fg-color:var(--button-primary-fg-color);
- --button-disabled-opacity:0.4;
-
- --input-text-bg-color:light-dark(white, #42414d);
- --input-text-fg-color:var(--text-primary-color);
-
- @media (prefers-color-scheme: dark){
- --hover-filter:brightness(1.4);
- --button-disabled-opacity:0.6;
- }
-
- @media screen and (forced-colors: active){
- --dialog-bg-color:Canvas;
- --dialog-border-color:CanvasText;
- --dialog-shadow:none;
- --text-primary-color:CanvasText;
- --text-secondary-color:CanvasText;
- --hover-filter:none;
- --link-fg-color:LinkText;
- --link-hover-fg-color:LinkText;
- --separator-color:CanvasText;
-
- --textarea-border-color:ButtonBorder;
- --textarea-bg-color:Field;
- --textarea-fg-color:ButtonText;
-
- --radio-bg-color:ButtonFace;
- --radio-checked-bg-color:ButtonFace;
- --radio-border-color:ButtonText;
- --radio-checked-border-color:ButtonText;
-
- --button-secondary-bg-color:ButtonFace;
- --button-secondary-fg-color:ButtonText;
- --button-secondary-border-color:ButtonText;
- --button-secondary-active-bg-color:HighlightText;
- --button-secondary-active-fg-color:SelectedItem;
- --button-secondary-active-border-color:ButtonText;
- --button-secondary-hover-bg-color:HighlightText;
- --button-secondary-hover-fg-color:SelectedItem;
- --button-secondary-hover-border-color:SelectedItem;
- --button-secondary-disabled-fg-color:GrayText;
- --button-secondary-disabled-border-color:GrayText;
-
- --button-primary-bg-color:ButtonText;
- --button-primary-fg-color:ButtonFace;
- --button-primary-border-color:ButtonText;
- --button-primary-active-bg-color:SelectedItem;
- --button-primary-active-fg-color:HighlightText;
- --button-primary-active-border-color:ButtonText;
- --button-primary-hover-bg-color:SelectedItem;
- --button-primary-hover-fg-color:HighlightText;
- --button-primary-hover-border-color:SelectedItem;
- --button-primary-disabled-bg-color:GrayText;
- --button-primary-disabled-fg-color:ButtonFace;
- --button-primary-disabled-border-color:GrayText;
- --button-disabled-opacity:1;
-
- --input-text-bg-color:Field;
- --input-text-fg-color:FieldText;
- }
-
- font:message-box;
- font-size:13px;
- font-weight:400;
- line-height:150%;
- border-radius:4px;
- padding:12px 16px;
- border:1px solid var(--dialog-border-color);
- background:var(--dialog-bg-color);
- color:var(--text-primary-color);
- box-shadow:var(--dialog-shadow);
-
- .mainContainer{
- *:focus-visible{
- outline:var(--focus-ring-outline);
- outline-offset:2px;
- }
-
- .title{
- display:flex;
- width:auto;
- flex-direction:column;
- justify-content:flex-end;
- align-items:flex-start;
- gap:12px;
-
- > span{
- font-size:13px;
- font-style:normal;
- font-weight:590;
- line-height:150%;
- }
- }
-
- .dialogSeparator{
- width:100%;
- height:0;
- margin-block:4px;
- border-top:1px solid var(--separator-color);
- border-bottom:none;
- }
-
- .dialogButtonsGroup{
- display:flex;
- gap:12px;
- align-self:flex-end;
- }
-
- .radio{
- display:flex;
- flex-direction:column;
- align-items:flex-start;
- gap:4px;
-
- > .radioButton{
- display:flex;
- gap:8px;
- align-self:stretch;
- align-items:center;
-
- input{
- -webkit-appearance:none;
- -moz-appearance:none;
- appearance:none;
- box-sizing:border-box;
- width:16px;
- height:16px;
- border-radius:50%;
- background-color:var(--radio-bg-color);
- border:1px solid var(--radio-border-color);
-
- &:hover{
- filter:var(--hover-filter);
- }
- &:checked{
- background-color:var(--radio-checked-bg-color);
- border:4px solid var(--radio-checked-border-color);
- }
- }
- }
+ @media screen and (forced-colors: active) {
+ --message-bar-icon-color: CanvasText;
+ --message-bar-bg-color: Canvas;
+ --message-bar-border-color: CanvasText;
+ }
- > .radioLabel{
- display:flex;
- padding-inline-start:24px;
- align-items:flex-start;
- gap:10px;
- align-self:stretch;
+ position: fixed;
+ top: 50px;
+ left: 50%;
+ transform: translateX(-50%);
+ z-index: 10;
- > span{
- flex:1 0 0;
- font-size:11px;
- color:var(--text-secondary-color);
- }
- }
- }
+ padding-block: 8px;
+ padding-inline: 16px 8px;
- button:not(:is(.toggle-button, .closeButton, .clearInputButton)){
- border-radius:4px;
- border:1px solid;
- font:menu;
- font-weight:590;
- font-size:13px;
- padding:4px 16px;
- width:auto;
- height:32px;
+ font: menu;
+ font-size: 15px;
- &:hover{
- cursor:pointer;
- filter:var(--hover-filter);
- }
+ cursor: default;
- > span{
- color:inherit;
- font:inherit;
- }
-
- &.secondaryButton{
- color:var(--button-secondary-fg-color);
- background-color:var(--button-secondary-bg-color);
- border-color:var(--button-secondary-border-color);
+ button {
+ cursor: pointer;
+ }
- &:hover{
- color:var(--button-secondary-hover-fg-color);
- background-color:var(--button-secondary-hover-bg-color);
- border-color:var(--button-secondary-hover-border-color);
- }
+ #editorUndoBarUndoButton {
+ margin-inline-start: 8px;
+ border-color: var(--color-accent-primary, light-dark(#0060df, #0df));
+ }
- &:active{
- color:var(--button-secondary-active-fg-color);
- background-color:var(--button-secondary-active-bg-color);
- border-color:var(--button-secondary-active-border-color);
- }
+ > div {
+ align-items: center;
+ }
+}
- &:disabled{
- background-color:var(--button-secondary-disabled-bg-color);
- border-color:var(--button-secondary-disabled-border-color);
- color:var(--button-secondary-disabled-fg-color);
- opacity:var(--button-disabled-opacity);
+.dialog {
+ --dialog-bg-color: var(--background-color-canvas, light-dark(white, #1c1b22));
+ --dialog-border-color: var(
+ --background-color-canvas,
+ light-dark(white, #1c1b22)
+ );
+ --dialog-shadow: 0 2px 14px 0 light-dark(rgb(58 57 68 / 0.2), #15141a);
+ --text-secondary-color: light-dark(#5b5b66, #cfcfd8);
+ --separator-color: light-dark(#f0f0f4, #52525e);
+ --textarea-border-color: var(--border-color-interactive, #8f8f9d);
+ --textarea-bg-color: light-dark(white, #42414d);
+ --textarea-fg-color: var(--text-secondary-color);
+
+ --input-text-bg-color: light-dark(white, #42414d);
+ --input-text-fg-color: var(--text-primary-color);
+
+ @media screen and (forced-colors: active) {
+ --dialog-bg-color: var(--background-color-canvas, Canvas);
+ --dialog-border-color: var(--border-color, CanvasText);
+ --dialog-shadow: none;
+ --text-secondary-color: CanvasText;
+ --separator-color: CanvasText;
+
+ --textarea-border-color: ButtonBorder;
+ --textarea-bg-color: Field;
+ --textarea-fg-color: ButtonText;
+
+ --input-text-bg-color: Field;
+ --input-text-fg-color: FieldText;
+ }
+
+ font: message-box;
+ font-size: 13px;
+ font-weight: 400;
+ line-height: 150%;
+ border-radius: var(--border-radius-medium, 4px);
+ padding: 12px 16px;
+ border: 1px solid var(--dialog-border-color);
+ background: var(--dialog-bg-color);
+ color: var(--text-primary-color);
+ box-shadow: var(--dialog-shadow);
+
+ .mainContainer {
+ *:focus-visible {
+ outline: var(--focus-ring-outline);
+ outline-offset: 2px;
+ }
+
+ .title {
+ display: flex;
+ width: auto;
+ flex-direction: column;
+ justify-content: flex-end;
+ align-items: flex-start;
+ gap: 12px;
+
+ > span {
+ font-size: 13px;
+ font-style: normal;
+ font-weight: 590;
+ line-height: 150%;
+ }
+ }
+
+ .dialogSeparator {
+ width: 100%;
+ height: 0;
+ margin-block: 4px;
+ border-top: 1px solid var(--separator-color);
+ border-bottom: none;
+ }
+
+ .dialogButtonsGroup {
+ display: flex;
+ gap: 12px;
+ align-self: flex-end;
+ }
+ input:is([type="checkbox"], [type="radio"]) {
+ accent-color: var(--color-accent-primary, light-dark(#0060df, #0df));
+ width: var(--checkbox-size, 16px);
+ height: var(--checkbox-size, 16px);
+ }
+
+ .radio {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: 4px;
+
+ > .radioButton {
+ display: flex;
+ gap: 8px;
+ align-self: stretch;
+ align-items: center;
+ }
+
+ > .radioLabel {
+ display: flex;
+ padding-inline-start: 24px;
+ align-items: flex-start;
+ gap: 10px;
+ align-self: stretch;
+
+ > span {
+ flex: 1 0 0;
+ font-size: 11px;
+ color: var(--text-secondary-color);
}
}
+ }
- &.primaryButton{
- color:var(--button-primary-fg-color);
- background-color:var(--button-primary-bg-color);
- border-color:var(--button-primary-border-color);
- opacity:1;
-
- &:hover{
- color:var(--button-primary-hover-fg-color);
- background-color:var(--button-primary-hover-bg-color);
- border-color:var(--button-primary-hover-border-color);
- }
-
- &:active{
- color:var(--button-primary-active-fg-color);
- background-color:var(--button-primary-active-bg-color);
- border-color:var(--button-primary-active-border-color);
- }
+ button:not(:is(.toggle-button, .closeButton, .clearInputButton)) {
+ border-radius: var(--button-border-radius, 4px);
+ border-width: 1px;
+ border-style: solid;
+ font: menu;
+ font-weight: var(--button-font-weight, 590);
+ font-size: var(--button-font-size, 13px);
+ padding: var(--button-padding, 4px 16px);
+ width: auto;
+ min-height: var(--button-min-height, 32px);
- &:disabled{
- background-color:var(--button-primary-disabled-bg-color);
- border-color:var(--button-primary-disabled-border-color);
- color:var(--button-primary-disabled-fg-color);
- opacity:var(--button-disabled-opacity);
- }
+ &:hover {
+ cursor: pointer;
+ filter: var(--hover-filter);
}
- &:disabled{
- pointer-events:none;
+ > span {
+ color: inherit;
+ font: inherit;
+ }
+ &:disabled {
+ pointer-events: none;
}
}
- a{
- color:var(--link-fg-color);
+ a {
+ color: var(--link-fg-color);
- &:hover{
- color:var(--link-hover-fg-color);
+ &:hover {
+ color: var(--link-hover-fg-color);
}
}
- textarea{
- font:inherit;
- padding:8px;
- resize:none;
- margin:0;
- box-sizing:border-box;
- border-radius:4px;
- border:1px solid var(--textarea-border-color);
- background:var(--textarea-bg-color);
- color:var(--textarea-fg-color);
+ textarea {
+ font: inherit;
+ padding: 8px;
+ resize: none;
+ margin: 0;
+ box-sizing: border-box;
+ border-radius: var(--border-radius-small, 4px);
+ border: 1px solid var(--textarea-border-color);
+ background: var(--textarea-bg-color);
+ color: var(--textarea-fg-color);
- &:focus{
- outline-offset:0;
- border-color:transparent;
+ &:focus {
+ outline-offset: 0;
+ border-color: transparent;
}
- &:disabled{
- pointer-events:none;
- opacity:0.4;
+ &:disabled {
+ pointer-events: none;
+ opacity: 0.4;
}
}
- input[type="text"]{
- background-color:var(--input-text-bg-color);
- color:var(--input-text-fg-color);
+ input[type="text"] {
+ background-color: var(--input-text-bg-color);
+ color: var(--input-text-fg-color);
}
- .messageBar{
- --message-bar-bg-color:light-dark(#ffebcd, #5a3100);
- --message-bar-fg-color:light-dark(#15141a, #fbfbfe);
- --message-bar-border-color:light-dark(
+ .messageBar {
+ --message-bar-bg-color: light-dark(#ffebcd, #5a3100);
+ --message-bar-fg-color: light-dark(#15141a, #fbfbfe);
+ --message-bar-border-color: light-dark(
rgb(0 0 0 / 0.08),
rgb(255 255 255 / 0.08)
);
- --message-bar-icon:url(images/messageBar_warning.svg);
- --message-bar-icon-color:light-dark(#cd411e, #e49c49);
+ --message-bar-icon: url(images/messageBar_warning.svg);
+ --message-bar-icon-color: light-dark(#cd411e, #e49c49);
- @media screen and (forced-colors: active){
- --message-bar-bg-color:HighlightText;
- --message-bar-fg-color:CanvasText;
- --message-bar-border-color:CanvasText;
- --message-bar-icon-color:CanvasText;
+ @media screen and (forced-colors: active) {
+ --message-bar-bg-color: HighlightText;
+ --message-bar-fg-color: CanvasText;
+ --message-bar-border-color: CanvasText;
+ --message-bar-icon-color: CanvasText;
}
- align-self:stretch;
+ align-self: stretch;
- > div{
+ > div {
&::before,
- > div{
- margin-block:4px;
+ > div {
+ margin-block: 4px;
}
- > div{
- display:flex;
- flex-direction:column;
- align-items:flex-start;
- gap:8px;
- flex:1 0 0;
+ > div {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: 8px;
+ flex: 1 0 0;
- .title{
- font-size:13px;
- font-weight:590;
+ .title {
+ font-size: 13px;
+ font-weight: 590;
}
- .description{
- font-size:13px;
+ .description {
+ font-size: 13px;
}
}
}
}
- .toggler{
- display:flex;
- align-items:center;
- gap:8px;
- align-self:stretch;
+ .toggler {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ align-self: stretch;
- > .togglerLabel{
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
+ > .togglerLabel {
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
}
}
}
}
-.textLayer{
- color-scheme:only light;
+.textLayer {
+ color-scheme: only light;
- position:absolute;
- text-align:initial;
- inset:0;
- overflow:clip;
- opacity:1;
- line-height:1;
- letter-spacing:normal;
- word-spacing:normal;
- -webkit-text-size-adjust:none;
- -moz-text-size-adjust:none;
- text-size-adjust:none;
- forced-color-adjust:none;
- transform-origin:0 0;
- caret-color:CanvasText;
- z-index:0;
+ position: absolute;
+ text-align: initial;
+ inset: 0;
+ overflow: clip;
+ opacity: 1;
+ line-height: 1;
+ letter-spacing: normal;
+ word-spacing: normal;
+ -webkit-text-size-adjust: none;
+ -moz-text-size-adjust: none;
+ text-size-adjust: none;
+ forced-color-adjust: none;
+ transform-origin: 0 0;
+ caret-color: CanvasText;
+ z-index: 0;
- &.highlighting{
- touch-action:none;
+ &.highlighting {
+ touch-action: none;
}
- :is(span, br){
- color:transparent;
- position:absolute;
- white-space:pre;
- cursor:text;
- transform-origin:0% 0%;
- -webkit-user-select:text;
- -moz-user-select:text;
- user-select:text;
+ :is(span, br) {
+ color: transparent;
+ position: absolute;
+ white-space: pre;
+ cursor: text;
+ transform-origin: 0% 0%;
+ -webkit-user-select: text;
+ -moz-user-select: text;
+ user-select: text;
}
- --min-font-size:1;
- --text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));
- --min-font-size-inv:calc(1 / var(--min-font-size));
+ --min-font-size: 1;
+ --text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size));
+ --min-font-size-inv: calc(1 / var(--min-font-size));
> :not(.markedContent),
- .markedContent span:not(.markedContent){
- z-index:1;
+ .markedContent span:not(.markedContent) {
+ z-index: 1;
- --font-height:0;
- font-size:calc(var(--text-scale-factor) * var(--font-height));
+ --font-height: 0;
+ font-size: calc(var(--text-scale-factor) * var(--font-height));
- --scale-x:1;
- --rotate:0deg;
- transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv));
+ --scale-x: 1;
+ --rotate: 0deg;
+ transform: rotate(var(--rotate)) scaleX(var(--scale-x))
+ scale(var(--min-font-size-inv));
}
- .markedContent{
- display:contents;
+ .markedContent {
+ display: contents;
}
- span[role="img"]{
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
- cursor:default;
+ span[role="img"] {
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ cursor: default;
}
- .highlight{
- --highlight-bg-color:rgb(180 0 170 / 0.25);
- --highlight-selected-bg-color:rgb(0 100 0 / 0.25);
- --highlight-backdrop-filter:none;
- --highlight-selected-backdrop-filter:none;
+ .highlight {
+ --highlight-bg-color: rgb(180 0 170 / 0.25);
+ --highlight-selected-bg-color: rgb(0 100 0 / 0.25);
+ --highlight-backdrop-filter: none;
+ --highlight-selected-backdrop-filter: none;
- @media screen and (forced-colors: active){
- --highlight-bg-color:transparent;
- --highlight-selected-bg-color:transparent;
- --highlight-backdrop-filter:var(--hcm-highlight-filter);
- --highlight-selected-backdrop-filter:var(
+ @media screen and (forced-colors: active) {
+ --highlight-bg-color: transparent;
+ --highlight-selected-bg-color: transparent;
+ --highlight-backdrop-filter: var(--hcm-highlight-filter);
+ --highlight-selected-backdrop-filter: var(
--hcm-highlight-selected-filter
);
}
- margin:-1px;
- padding:1px;
- background-color:var(--highlight-bg-color);
- backdrop-filter:var(--highlight-backdrop-filter);
- border-radius:4px;
+ margin: -1px;
+ padding: 1px;
+ background-color: var(--highlight-bg-color);
+ backdrop-filter: var(--highlight-backdrop-filter);
+ border-radius: 4px;
- &.appended{
- position:initial;
+ &.appended {
+ position: initial;
}
- &.begin{
- border-radius:4px 0 0 4px;
+ &.begin {
+ border-radius: 4px 0 0 4px;
}
- &.end{
- border-radius:0 4px 4px 0;
+ &.end {
+ border-radius: 0 4px 4px 0;
}
- &.middle{
- border-radius:0;
+ &.middle {
+ border-radius: 0;
}
- &.selected{
- background-color:var(--highlight-selected-bg-color);
- backdrop-filter:var(--highlight-selected-backdrop-filter);
- scroll-margin-top:50px;
+ &.selected {
+ background-color: var(--highlight-selected-bg-color);
+ backdrop-filter: var(--highlight-selected-backdrop-filter);
+ scroll-margin-top: 50px;
}
}
- ::-moz-selection{
- background:rgba(0 0 255 / 0.25);
- background:color-mix(in srgb, AccentColor, transparent 50%);
- color:transparent;
+ ::-moz-selection {
+ background: rgba(0 0 255 / 0.25);
+ background: color-mix(in srgb, AccentColor, transparent 50%);
+ color: transparent;
}
- ::selection{
- background:rgba(0 0 255 / 0.25);
- background:color-mix(in srgb, AccentColor, transparent 50%);
- color:transparent;
+ ::selection {
+ background: rgba(0 0 255 / 0.25);
+ background: color-mix(in srgb, AccentColor, transparent 50%);
+ color: transparent;
}
- &.selectionRendering{
- ::-moz-selection{
- background:transparent;
- color:transparent;
+ &.selectionRendering {
+ ::-moz-selection {
+ background: transparent;
+ color: transparent;
}
- ::selection{
- background:transparent;
- color:transparent;
+ ::selection {
+ background: transparent;
+ color: transparent;
}
}
- br::-moz-selection{
- background:transparent;
+ br::-moz-selection {
+ background: transparent;
}
- br::selection{
- background:transparent;
+ br::selection {
+ background: transparent;
}
- .endOfContent{
- display:block;
- position:absolute;
- inset:100% 0 0;
- z-index:0;
- cursor:default;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
+ .endOfContent {
+ display: block;
+ position: absolute;
+ inset: 100% 0 0;
+ z-index: 0;
+ cursor: default;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
}
- &.selecting .endOfContent{
- top:0;
+ &.selecting .endOfContent {
+ top: 0;
}
}
-.textLayerImages{
- position:absolute;
- inset:0;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
+.textLayerImages {
+ position: absolute;
+ inset: 0;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
- canvas{
- position:absolute;
- transform-origin:0% 0%;
+ canvas {
+ position: absolute;
+ transform-origin: 0% 0%;
}
}
-.annotationLayer{
- color-scheme:only light;
+.annotationLayer {
+ color-scheme: only light;
- --annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,");
- --annotation-unfocused-field-filter:url("data:image/svg+xml;charset=UTF-8,#pdfjsFillableField");
- --input-focus-border-color:Highlight;
- --input-focus-outline:1px solid Canvas;
- --input-unfocused-border-color:transparent;
- --input-disabled-border-color:transparent;
- --input-hover-border-color:black;
- --link-outline:none;
+ --annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,");
+ --annotation-unfocused-field-filter: url("data:image/svg+xml;charset=UTF-8,#pdfjsFillableField");
+ --input-focus-border-color: Highlight;
+ --input-focus-outline: 1px solid Canvas;
+ --input-unfocused-border-color: transparent;
+ --input-disabled-border-color: transparent;
+ --input-hover-border-color: black;
+ --link-outline: none;
- @media screen and (forced-colors: active){
- --input-focus-border-color:CanvasText;
- --input-unfocused-border-color:ActiveText;
- --input-disabled-border-color:GrayText;
- --input-hover-border-color:Highlight;
- --link-outline:1.5px solid LinkText;
+ @media screen and (forced-colors: active) {
+ --input-focus-border-color: CanvasText;
+ --input-unfocused-border-color: ActiveText;
+ --input-disabled-border-color: GrayText;
+ --input-hover-border-color: Highlight;
+ --link-outline: 1.5px solid LinkText;
.textWidgetAnnotation :is(input, textarea):required,
.choiceWidgetAnnotation select:required,
- .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required{
- outline:1.5px solid selectedItem;
+ .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required {
+ outline: 1.5px solid selectedItem;
}
- .linkAnnotation{
- outline:var(--link-outline);
+ .linkAnnotation {
+ outline: var(--link-outline);
- &:hover{
- backdrop-filter:var(--hcm-highlight-filter);
+ &:hover {
+ backdrop-filter: var(--hcm-highlight-filter);
}
- & > a:hover{
- opacity:0 !important;
- background:none !important;
- box-shadow:none;
+ & > a:hover {
+ opacity: 0 !important;
+ background: none !important;
+ box-shadow: none;
}
}
- .popupAnnotation .popup{
- outline:calc(1.5px * var(--total-scale-factor)) solid CanvasText !important;
- background-color:ButtonFace !important;
- color:ButtonText !important;
+ .popupAnnotation .popup {
+ outline: calc(1.5px * var(--total-scale-factor)) solid CanvasText !important;
+ background-color: ButtonFace !important;
+ color: ButtonText !important;
}
- .highlightArea:hover::after{
- position:absolute;
- top:0;
- left:0;
- width:100%;
- height:100%;
- backdrop-filter:var(--hcm-highlight-filter);
- content:"";
- pointer-events:none;
+ .highlightArea:hover::after {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ backdrop-filter: var(--hcm-highlight-filter);
+ content: "";
+ pointer-events: none;
}
- .popupAnnotation.focused .popup{
- outline:calc(3px * var(--total-scale-factor)) solid Highlight !important;
+ .popupAnnotation.focused .popup {
+ outline: calc(3px * var(--total-scale-factor)) solid Highlight !important;
}
}
- position:absolute;
- top:0;
- left:0;
- pointer-events:none;
- transform-origin:0 0;
+ position: absolute;
+ top: 0;
+ left: 0;
+ pointer-events: none;
+ transform-origin: 0 0;
+
+ &[data-main-rotation="90"] .norotate {
+ transform: rotate(270deg);
- &[data-main-rotation="90"] .norotate{
- transform:rotate(270deg) translateX(-100%);
+ &.popupAnnotation {
+ transform: rotate(270deg) translateX(-100%);
+ }
}
- &[data-main-rotation="180"] .norotate{
- transform:rotate(180deg) translate(-100%, -100%);
+ &[data-main-rotation="180"] .norotate {
+ transform: rotate(180deg);
+
+ &.popupAnnotation {
+ transform: rotate(180deg) translate(-100%, -100%);
+ }
}
- &[data-main-rotation="270"] .norotate{
- transform:rotate(90deg) translateY(-100%);
+ &[data-main-rotation="270"] .norotate {
+ transform: rotate(90deg);
+
+ &.popupAnnotation {
+ transform: rotate(90deg) translateY(-100%);
+ }
}
- &.disabled{
+ &.disabled {
section,
- .popup{
- pointer-events:none;
+ .popup {
+ pointer-events: none;
}
}
- .annotationContent{
- position:absolute;
- width:100%;
- height:100%;
- pointer-events:none;
+ .annotationContent {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ pointer-events: none;
- &.freetext{
- background:transparent;
- border:none;
- inset:0;
- overflow:visible;
- white-space:nowrap;
- font:10px sans-serif;
- line-height:1.35;
+ &.freetext {
+ background: transparent;
+ border: none;
+ inset: 0;
+ overflow: visible;
+ white-space: nowrap;
+ font: 10px sans-serif;
+ line-height: 1.35;
}
}
- section{
- position:absolute;
- text-align:initial;
- pointer-events:auto;
- box-sizing:border-box;
- transform-origin:0 0;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
+ section {
+ position: absolute;
+ text-align: initial;
+ pointer-events: auto;
+ box-sizing: border-box;
+ transform-origin: 0 0;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
- &:has(div.annotationContent){
- canvas.annotationContent{
- display:none;
+ &:has(div.annotationContent) {
+ canvas.annotationContent {
+ display: none;
}
}
- .overlaidText{
- position:absolute;
- top:0;
- left:0;
- width:0;
- height:0;
- display:inline-block;
- overflow:hidden;
+ .overlaidText {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 0;
+ height: 0;
+ display: inline-block;
+ overflow: hidden;
}
}
- .hasOwnCanvas:not(.sandboxModified) :is(input, textarea){
- display:none;
+ .hasOwnCanvas:not(.sandboxModified) :is(input, textarea) {
+ display: none;
}
- .hasOwnCanvas.sandboxModified canvas.annotationContent{
- display:none;
+ .hasOwnCanvas.sandboxModified canvas.annotationContent {
+ display: none;
}
- .textLayer.selecting ~ & section{
- pointer-events:none;
+ .textLayer.selecting ~ & section {
+ pointer-events: none;
}
- :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton) > a{
- position:absolute;
- font-size:1em;
- top:0;
- left:0;
- width:100%;
- height:100%;
+ :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton) > a {
+ position: absolute;
+ font-size: 1em;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
}
:is(.linkAnnotation, .buttonWidgetAnnotation.pushButton):not(.hasBorder)
- > a:hover{
- opacity:0.2;
- background-color:rgb(255 255 0);
+ > a:hover {
+ opacity: 0.2;
+ background-color: rgb(255 255 0);
}
- .linkAnnotation.hasBorder:hover{
- background-color:rgb(255 255 0 / 0.2);
+ .linkAnnotation.hasBorder:hover {
+ background-color: rgb(255 255 0 / 0.2);
}
- .hasBorder{
- background-size:100% 100%;
+ .hasBorder {
+ background-size: 100% 100%;
}
- .textAnnotation img{
- position:absolute;
- cursor:pointer;
- width:100%;
- height:100%;
- top:0;
- left:0;
+ .textAnnotation img {
+ position: absolute;
+ cursor: pointer;
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
}
.textWidgetAnnotation :is(input, textarea),
.choiceWidgetAnnotation select,
- .buttonWidgetAnnotation:is(.checkBox, .radioButton) input{
- background-image:var(--annotation-unfocused-field-background);
- border:2px solid var(--input-unfocused-border-color);
- box-sizing:border-box;
- font:calc(9px * var(--total-scale-factor)) sans-serif;
- height:100%;
- margin:0;
- vertical-align:top;
- width:100%;
+ .buttonWidgetAnnotation:is(.checkBox, .radioButton) input {
+ background-image: var(--annotation-unfocused-field-background);
+ border: 2px solid var(--input-unfocused-border-color);
+ box-sizing: border-box;
+ font: calc(9px * var(--total-scale-factor)) sans-serif;
+ height: 100%;
+ margin: 0;
+ vertical-align: top;
+ width: 100%;
}
.textWidgetAnnotation :is(input, textarea):required,
.choiceWidgetAnnotation select:required,
- .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required{
- outline:1.5px solid red;
+ .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required {
+ outline: 1.5px solid red;
}
- .choiceWidgetAnnotation select option{
- padding:0;
+ .choiceWidgetAnnotation select option {
+ padding: 0;
}
- .textWidgetAnnotation textarea{
- resize:none;
+ .textWidgetAnnotation textarea {
+ resize: none;
}
.textWidgetAnnotation :is(input, textarea)[disabled],
.choiceWidgetAnnotation select[disabled],
- .buttonWidgetAnnotation:is(.checkBox, .radioButton) input[disabled]{
- background:none;
- border:2px solid var(--input-disabled-border-color);
- cursor:not-allowed;
+ .buttonWidgetAnnotation:is(.checkBox, .radioButton) input[disabled] {
+ background: none;
+ border: 2px solid var(--input-disabled-border-color);
+ cursor: not-allowed;
}
.textWidgetAnnotation :is(input, textarea):hover,
.choiceWidgetAnnotation select:hover,
- .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:hover{
- border:2px solid var(--input-hover-border-color);
+ .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:hover {
+ border: 2px solid var(--input-hover-border-color);
}
.textWidgetAnnotation :is(input, textarea):hover,
.choiceWidgetAnnotation select:hover,
- .buttonWidgetAnnotation.checkBox input:hover{
- border-radius:2px;
+ .buttonWidgetAnnotation.checkBox input:hover {
+ border-radius: 2px;
}
.textWidgetAnnotation :is(input, textarea):focus,
- .choiceWidgetAnnotation select:focus{
- background:none;
- border:2px solid var(--input-focus-border-color);
- border-radius:2px;
- outline:var(--input-focus-outline);
+ .choiceWidgetAnnotation select:focus {
+ background: none;
+ border: 2px solid var(--input-focus-border-color);
+ border-radius: 2px;
+ outline: var(--input-focus-outline);
}
- .buttonWidgetAnnotation:is(.checkBox, .radioButton) :focus{
- background-image:none;
- background-color:transparent;
+ .buttonWidgetAnnotation:is(.checkBox, .radioButton) :focus {
+ background-image: none;
+ background-color: transparent;
}
- .buttonWidgetAnnotation.checkBox :focus{
- border:2px solid var(--input-focus-border-color);
- border-radius:2px;
- outline:var(--input-focus-outline);
+ .buttonWidgetAnnotation.checkBox :focus {
+ border: 2px solid var(--input-focus-border-color);
+ border-radius: 2px;
+ outline: var(--input-focus-outline);
}
- .buttonWidgetAnnotation.radioButton :focus{
- border:2px solid var(--input-focus-border-color);
- outline:var(--input-focus-outline);
+ .buttonWidgetAnnotation.radioButton :focus {
+ border: 2px solid var(--input-focus-border-color);
+ outline: var(--input-focus-outline);
}
- .buttonWidgetAnnotation:is(.checkBox, .radioButton){
- [data-canvas-name]{
- filter:var(--annotation-unfocused-field-filter);
+ .buttonWidgetAnnotation:is(.checkBox, .radioButton) {
+ [data-canvas-name] {
+ filter: var(--annotation-unfocused-field-filter);
}
- &:focus-within [data-canvas-name]{
- filter:none;
+ &:focus-within [data-canvas-name] {
+ filter: none;
}
- [data-canvas-name="checked"]{
- &:has(~ input:checked){
- display:block;
+ [data-canvas-name="checked"] {
+ &:has(~ input:checked) {
+ display: block;
}
- &:has(~ input:not(:checked)){
- display:none;
+ &:has(~ input:not(:checked)) {
+ display: none;
}
}
- [data-canvas-name="unchecked"]{
- &:has(~ input:checked){
- display:none;
+ [data-canvas-name="unchecked"] {
+ &:has(~ input:checked) {
+ display: none;
}
- &:has(~ input:not(:checked)){
- display:block;
+ &:has(~ input:not(:checked)) {
+ display: block;
}
}
}
- .textWidgetAnnotation input.comb{
- --comb-width:0px;
- --comb-letter-spacing:calc(var(--comb-width) - 1ch);
+ .textWidgetAnnotation input.comb {
+ --comb-width: 0px;
+ --comb-letter-spacing: calc(var(--comb-width) - 1ch);
- font-family:monospace;
- letter-spacing:var(--comb-letter-spacing);
- overflow-x:hidden;
- padding:0;
- text-indent:calc(
+ font-family: monospace;
+ letter-spacing: var(--comb-letter-spacing);
+ overflow-x: hidden;
+ padding: 0;
+ text-indent: calc(
var(--comb-offset, 0) * var(--comb-width) + var(--comb-letter-spacing) / 2
);
}
- .textWidgetAnnotation input.comb:focus{
- background-image:repeating-linear-gradient(
+ .textWidgetAnnotation input.comb:focus {
+ background-image: repeating-linear-gradient(
to right,
transparent 0 calc(var(--comb-width) - 1px),
var(--input-focus-border-color) calc(var(--comb-width) - 1px)
@@ -1067,10 +1113,10 @@
);
}
- .buttonWidgetAnnotation:is(.checkBox, .radioButton) input{
- -webkit-appearance:none;
- -moz-appearance:none;
- appearance:none;
+ .buttonWidgetAnnotation:is(.checkBox, .radioButton) input {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
}
.buttonWidgetAnnotation:is(.checkBox, .radioButton):has(
@@ -1080,1427 +1126,1235 @@
.buttonWidgetAnnotation:is(.checkBox, .radioButton):has(
[data-canvas-name="unchecked"]
)
- input:not(:checked){
- background-image:none;
+ input:not(:checked) {
+ background-image: none;
}
- .fileAttachmentAnnotation .popupTriggerArea{
- height:100%;
- width:100%;
+ .fileAttachmentAnnotation .popupTriggerArea {
+ height: 100%;
+ width: 100%;
}
- .mediaAnnotation{
- pointer-events:auto;
+ .mediaAnnotation {
+ pointer-events: auto;
- .mediaContent{
- width:100%;
+ .mediaContent {
+ width: 100%;
}
- video.mediaContent{
- height:100%;
- -o-object-fit:contain;
- object-fit:contain;
+ video.mediaContent {
+ height: 100%;
+ -o-object-fit: contain;
+ object-fit: contain;
}
- audio.mediaContent{
- position:absolute;
- bottom:0;
+ audio.mediaContent {
+ position: absolute;
+ bottom: 0;
}
- .mediaPlayButton{
- height:100%;
- width:100%;
- margin:0;
- padding:0;
- border:none;
- cursor:pointer;
- background-color:transparent;
- background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='40' fill='rgba(0,0,0,0.55)'/%3E%3Cpath d='M40 32 L70 50 L40 68 Z' fill='white'/%3E%3C/svg%3E");
- background-position:center;
- background-repeat:no-repeat;
- background-size:calc(48px * var(--total-scale-factor));
+ .mediaPlayButton {
+ height: 100%;
+ width: 100%;
+ margin: 0;
+ padding: 0;
+ border: none;
+ cursor: pointer;
+ background-color: transparent;
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='40' fill='rgba(0,0,0,0.55)'/%3E%3Cpath d='M40 32 L70 50 L40 68 Z' fill='white'/%3E%3C/svg%3E");
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: calc(48px * var(--total-scale-factor));
- &:hover{
- background-color:rgba(255 255 255 / 0.1);
+ &:hover {
+ background-color: rgba(255 255 255 / 0.1);
}
}
}
- .popupAnnotation{
- position:absolute;
- font-size:calc(9px * var(--total-scale-factor));
- pointer-events:none;
- width:-moz-max-content;
- width:max-content;
- max-width:45%;
- height:auto;
+ .popupAnnotation {
+ position: absolute;
+ font-size: calc(9px * var(--total-scale-factor));
+ pointer-events: none;
+ width: -moz-max-content;
+ width: max-content;
+ max-width: 45%;
+ height: auto;
}
- .popup{
- background-color:rgb(255 255 153);
- color:black;
- box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) rgb(136 136 136);
- border-radius:calc(2px * var(--total-scale-factor));
- outline:1.5px solid rgb(255 255 74);
- padding:calc(6px * var(--total-scale-factor));
- cursor:pointer;
- font:message-box;
- white-space:normal;
- word-wrap:break-word;
- pointer-events:auto;
- -webkit-user-select:text;
- -moz-user-select:text;
- user-select:text;
+ .popup {
+ background-color: rgb(255 255 153);
+ color: black;
+ box-shadow: 0 calc(2px * var(--total-scale-factor))
+ calc(5px * var(--total-scale-factor)) rgb(136 136 136);
+ border-radius: calc(2px * var(--total-scale-factor));
+ outline: 1.5px solid rgb(255 255 74);
+ padding: calc(6px * var(--total-scale-factor));
+ cursor: pointer;
+ font: message-box;
+ white-space: normal;
+ word-wrap: break-word;
+ pointer-events: auto;
+ -webkit-user-select: text;
+ -moz-user-select: text;
+ user-select: text;
}
- .popupAnnotation.focused .popup{
- outline-width:3px;
+ .popupAnnotation.focused .popup {
+ outline-width: 3px;
}
- .popup *{
- font-size:calc(9px * var(--total-scale-factor));
+ .popup * {
+ font-size: calc(9px * var(--total-scale-factor));
}
- .popup > .header{
- display:inline-block;
+ .popup > .header {
+ display: inline-block;
}
- .popup > .header > .title{
- display:inline;
- font-weight:bold;
+ .popup > .header > .title {
+ display: inline;
+ font-weight: bold;
}
- .popup > .header .popupDate{
- display:inline-block;
- margin-left:calc(5px * var(--total-scale-factor));
- width:-moz-fit-content;
- width:fit-content;
+ .popup > .header .popupDate {
+ display: inline-block;
+ margin-left: calc(5px * var(--total-scale-factor));
+ width: -moz-fit-content;
+ width: fit-content;
}
- .popupContent{
- border-top:1px solid rgb(51 51 51);
- margin-top:calc(2px * var(--total-scale-factor));
- padding-top:calc(2px * var(--total-scale-factor));
+ .popupContent {
+ border-top: 1px solid rgb(51 51 51);
+ margin-top: calc(2px * var(--total-scale-factor));
+ padding-top: calc(2px * var(--total-scale-factor));
}
- .richText > *{
- white-space:pre-wrap;
- font-size:calc(9px * var(--total-scale-factor));
+ .richText > * {
+ white-space: pre-wrap;
+ font-size: calc(9px * var(--total-scale-factor));
}
- .popupTriggerArea{
- cursor:pointer;
+ .popupTriggerArea {
+ cursor: pointer;
- &:hover{
- backdrop-filter:var(--hcm-highlight-filter);
+ &:hover {
+ backdrop-filter: var(--hcm-highlight-filter);
}
}
- section svg{
- position:absolute;
- width:100%;
- height:100%;
- top:0;
- left:0;
+ section svg {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
}
- .annotationTextContent{
- position:absolute;
- width:100%;
- height:100%;
- opacity:0;
- color:transparent;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
- pointer-events:none;
+ .annotationTextContent {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+ color: transparent;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ pointer-events: none;
- span{
- width:100%;
- display:inline-block;
+ span {
+ width: 100%;
+ display: inline-block;
}
}
- svg.quadrilateralsContainer{
- contain:strict;
- width:0;
- height:0;
- position:absolute;
- top:0;
- left:0;
- z-index:-1;
+ svg.quadrilateralsContainer {
+ contain: strict;
+ width: 0;
+ height: 0;
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: -1;
}
}
-:root{
- --xfa-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,");
- --xfa-focus-outline:auto;
+:root {
+ --xfa-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,");
+ --xfa-focus-outline: auto;
}
-@media screen and (forced-colors: active){
- :root{
- --xfa-focus-outline:2px solid CanvasText;
+@media screen and (forced-colors: active) {
+ :root {
+ --xfa-focus-outline: 2px solid CanvasText;
}
- .xfaLayer *:required{
- outline:1.5px solid selectedItem;
+ .xfaLayer *:required {
+ outline: 1.5px solid selectedItem;
}
}
-.xfaLayer{
- color-scheme:only light;
+.xfaLayer {
+ color-scheme: only light;
- background-color:transparent;
+ background-color: transparent;
}
-.xfaLayer .highlight{
- margin:-1px;
- padding:1px;
- background-color:rgb(239 203 237);
- border-radius:4px;
+.xfaLayer .highlight {
+ margin: -1px;
+ padding: 1px;
+ background-color: rgb(239 203 237);
+ border-radius: 4px;
}
-.xfaLayer .highlight.appended{
- position:initial;
+.xfaLayer .highlight.appended {
+ position: initial;
}
-.xfaLayer .highlight.begin{
- border-radius:4px 0 0 4px;
+.xfaLayer .highlight.begin {
+ border-radius: 4px 0 0 4px;
}
-.xfaLayer .highlight.end{
- border-radius:0 4px 4px 0;
+.xfaLayer .highlight.end {
+ border-radius: 0 4px 4px 0;
}
-.xfaLayer .highlight.middle{
- border-radius:0;
+.xfaLayer .highlight.middle {
+ border-radius: 0;
}
-.xfaLayer .highlight.selected{
- background-color:rgb(203 223 203);
+.xfaLayer .highlight.selected {
+ background-color: rgb(203 223 203);
}
-.xfaPage{
- overflow:hidden;
- position:relative;
+.xfaPage {
+ overflow: hidden;
+ position: relative;
}
-.xfaContentarea{
- position:absolute;
+.xfaContentarea {
+ position: absolute;
}
-.xfaPrintOnly{
- display:none;
+.xfaPrintOnly {
+ display: none;
}
-.xfaLayer{
- position:absolute;
- text-align:initial;
- top:0;
- left:0;
- transform-origin:0 0;
- line-height:1.2;
+.xfaLayer {
+ position: absolute;
+ text-align: initial;
+ top: 0;
+ left: 0;
+ transform-origin: 0 0;
+ line-height: 1.2;
}
-.xfaLayer *{
- color:inherit;
- font:inherit;
- font-style:inherit;
- font-weight:inherit;
- font-kerning:inherit;
- letter-spacing:-0.01px;
- text-align:inherit;
- text-decoration:inherit;
- box-sizing:border-box;
- background-color:transparent;
- padding:0;
- margin:0;
- pointer-events:auto;
- line-height:inherit;
+.xfaLayer * {
+ color: inherit;
+ font: inherit;
+ font-style: inherit;
+ font-weight: inherit;
+ font-kerning: inherit;
+ letter-spacing: -0.01px;
+ text-align: inherit;
+ text-decoration: inherit;
+ box-sizing: border-box;
+ background-color: transparent;
+ padding: 0;
+ margin: 0;
+ pointer-events: auto;
+ line-height: inherit;
}
-.xfaLayer *:required{
- outline:1.5px solid red;
+.xfaLayer *:required {
+ outline: 1.5px solid red;
}
.xfaLayer div,
.xfaLayer svg,
-.xfaLayer svg *{
- pointer-events:none;
+.xfaLayer svg * {
+ pointer-events: none;
}
-.xfaLayer a{
- color:blue;
+.xfaLayer a {
+ color: blue;
}
-.xfaRich li{
- margin-left:3em;
+.xfaRich li {
+ margin-left: 3em;
}
-.xfaFont{
- color:black;
- font-weight:normal;
- font-kerning:none;
- font-size:10px;
- font-style:normal;
- letter-spacing:0;
- text-decoration:none;
- vertical-align:0;
+.xfaFont {
+ color: black;
+ font-weight: normal;
+ font-kerning: none;
+ font-size: 10px;
+ font-style: normal;
+ letter-spacing: 0;
+ text-decoration: none;
+ vertical-align: 0;
}
-.xfaCaption{
- overflow:hidden;
- flex:0 0 auto;
+.xfaCaption {
+ overflow: hidden;
+ flex: 0 0 auto;
}
-.xfaCaptionForCheckButton{
- overflow:hidden;
- flex:1 1 auto;
+.xfaCaptionForCheckButton {
+ overflow: hidden;
+ flex: 1 1 auto;
}
-.xfaLabel{
- height:100%;
- width:100%;
+.xfaLabel {
+ height: 100%;
+ width: 100%;
}
-.xfaLeft{
- display:flex;
- flex-direction:row;
- align-items:center;
+.xfaLeft {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
}
-.xfaRight{
- display:flex;
- flex-direction:row-reverse;
- align-items:center;
+.xfaRight {
+ display: flex;
+ flex-direction: row-reverse;
+ align-items: center;
}
-:is(.xfaLeft, .xfaRight) > :is(.xfaCaption, .xfaCaptionForCheckButton){
- max-height:100%;
+:is(.xfaLeft, .xfaRight) > :is(.xfaCaption, .xfaCaptionForCheckButton) {
+ max-height: 100%;
}
-.xfaTop{
- display:flex;
- flex-direction:column;
- align-items:flex-start;
+.xfaTop {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
}
-.xfaBottom{
- display:flex;
- flex-direction:column-reverse;
- align-items:flex-start;
+.xfaBottom {
+ display: flex;
+ flex-direction: column-reverse;
+ align-items: flex-start;
}
-:is(.xfaTop, .xfaBottom) > :is(.xfaCaption, .xfaCaptionForCheckButton){
- width:100%;
+:is(.xfaTop, .xfaBottom) > :is(.xfaCaption, .xfaCaptionForCheckButton) {
+ width: 100%;
}
-.xfaBorder{
- background-color:transparent;
- position:absolute;
- pointer-events:none;
+.xfaBorder {
+ background-color: transparent;
+ position: absolute;
+ pointer-events: none;
}
-.xfaWrapped{
- width:100%;
- height:100%;
+.xfaWrapped {
+ width: 100%;
+ height: 100%;
}
-:is(.xfaTextfield, .xfaSelect):focus{
- background-image:none;
- background-color:transparent;
- outline:var(--xfa-focus-outline);
- outline-offset:-1px;
+:is(.xfaTextfield, .xfaSelect):focus {
+ background-image: none;
+ background-color: transparent;
+ outline: var(--xfa-focus-outline);
+ outline-offset: -1px;
}
-:is(.xfaCheckbox, .xfaRadio):focus{
- outline:var(--xfa-focus-outline);
+:is(.xfaCheckbox, .xfaRadio):focus {
+ outline: var(--xfa-focus-outline);
}
.xfaTextfield,
-.xfaSelect{
- height:100%;
- width:100%;
- flex:1 1 auto;
- border:none;
- resize:none;
- background-image:var(--xfa-unfocused-field-background);
+.xfaSelect {
+ height: 100%;
+ width: 100%;
+ flex: 1 1 auto;
+ border: none;
+ resize: none;
+ background-image: var(--xfa-unfocused-field-background);
}
-.xfaSelect{
- padding-inline:2px;
+.xfaSelect {
+ padding-inline: 2px;
}
-:is(.xfaTop, .xfaBottom) > :is(.xfaTextfield, .xfaSelect){
- flex:0 1 auto;
+:is(.xfaTop, .xfaBottom) > :is(.xfaTextfield, .xfaSelect) {
+ flex: 0 1 auto;
}
-.xfaButton{
- cursor:pointer;
- width:100%;
- height:100%;
- border:none;
- text-align:center;
+.xfaButton {
+ cursor: pointer;
+ width: 100%;
+ height: 100%;
+ border: none;
+ text-align: center;
}
-.xfaLink{
- width:100%;
- height:100%;
- position:absolute;
- top:0;
- left:0;
+.xfaLink {
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
}
.xfaCheckbox,
-.xfaRadio{
- width:100%;
- height:100%;
- flex:0 0 auto;
- border:none;
+.xfaRadio {
+ width: 100%;
+ height: 100%;
+ flex: 0 0 auto;
+ border: none;
}
-.xfaRich{
- white-space:pre-wrap;
- width:100%;
- height:100%;
+.xfaRich {
+ white-space: pre-wrap;
+ width: 100%;
+ height: 100%;
}
-.xfaImage{
- -o-object-position:left top;
- object-position:left top;
- -o-object-fit:contain;
- object-fit:contain;
- width:100%;
- height:100%;
+.xfaImage {
+ -o-object-position: left top;
+ object-position: left top;
+ -o-object-fit: contain;
+ object-fit: contain;
+ width: 100%;
+ height: 100%;
}
.xfaLrTb,
.xfaRlTb,
-.xfaTb{
- display:flex;
- flex-direction:column;
- align-items:stretch;
+.xfaTb {
+ display: flex;
+ flex-direction: column;
+ align-items: stretch;
}
-.xfaLr{
- display:flex;
- flex-direction:row;
- align-items:stretch;
+.xfaLr {
+ display: flex;
+ flex-direction: row;
+ align-items: stretch;
}
-.xfaRl{
- display:flex;
- flex-direction:row-reverse;
- align-items:stretch;
+.xfaRl {
+ display: flex;
+ flex-direction: row-reverse;
+ align-items: stretch;
}
-.xfaTb > div{
- justify-content:left;
+.xfaTb > div {
+ justify-content: left;
}
-.xfaPosition{
- position:relative;
+.xfaPosition {
+ position: relative;
}
-.xfaArea{
- position:relative;
+.xfaArea {
+ position: relative;
}
-.xfaValignMiddle{
- display:flex;
- align-items:center;
+.xfaValignMiddle {
+ display: flex;
+ align-items: center;
}
-.xfaTable{
- display:flex;
- flex-direction:column;
- align-items:stretch;
+.xfaTable {
+ display: flex;
+ flex-direction: column;
+ align-items: stretch;
}
-.xfaTable .xfaRow{
- display:flex;
- flex-direction:row;
- align-items:stretch;
+.xfaTable .xfaRow {
+ display: flex;
+ flex-direction: row;
+ align-items: stretch;
}
-.xfaTable .xfaRlRow{
- display:flex;
- flex-direction:row-reverse;
- align-items:stretch;
- flex:1;
+.xfaTable .xfaRlRow {
+ display: flex;
+ flex-direction: row-reverse;
+ align-items: stretch;
+ flex: 1;
}
-.xfaTable .xfaRlRow > div{
- flex:1;
+.xfaTable .xfaRlRow > div {
+ flex: 1;
}
-:is(.xfaNonInteractive, .xfaDisabled, .xfaReadOnly) :is(input, textarea){
- background:initial;
+:is(.xfaNonInteractive, .xfaDisabled, .xfaReadOnly) :is(input, textarea) {
+ background: initial;
}
-@media print{
+@media print {
.xfaTextfield,
- .xfaSelect{
- background:transparent;
+ .xfaSelect {
+ background: transparent;
}
- .xfaSelect{
- -webkit-appearance:none;
- -moz-appearance:none;
- appearance:none;
- text-indent:1px;
- text-overflow:"";
- }
-}
-
-.canvasWrapper{
- svg{
- transform:none;
-
- &.moving{
- z-index:100000;
- }
-
- &.highlight,
- &.highlightOutline{
- &[data-main-rotation="90"]{
- mask,
- use:not(.clip, .mask){
- transform:matrix(0, 1, -1, 0, 1, 0);
- }
- }
-
- &[data-main-rotation="180"]{
- mask,
- use:not(.clip, .mask){
- transform:matrix(-1, 0, 0, -1, 1, 1);
- }
- }
-
- &[data-main-rotation="270"]{
- mask,
- use:not(.clip, .mask){
- transform:matrix(0, -1, 1, 0, 0, 1);
- }
- }
- }
-
- &.draw{
- position:absolute;
- mix-blend-mode:normal;
-
- &[data-draw-rotation="90"]{
- transform:rotate(90deg);
- }
-
- &[data-draw-rotation="180"]{
- transform:rotate(180deg);
- }
-
- &[data-draw-rotation="270"]{
- transform:rotate(270deg);
- }
- }
-
- &.highlight{
- --blend-mode:multiply;
-
- @media screen and (forced-colors: active){
- --blend-mode:difference;
- }
-
- position:absolute;
- mix-blend-mode:var(--blend-mode);
-
- &:not(.free){
- fill-rule:evenodd;
- }
- }
-
- &.highlightOutline{
- position:absolute;
- mix-blend-mode:normal;
- fill-rule:evenodd;
- fill:none;
-
- &:not(.free){
- &.hovered:not(.selected){
- stroke:var(--hover-outline-color);
- stroke-width:var(--outline-width);
- }
-
- &.selected{
- .mainOutline{
- stroke:var(--outline-around-color);
- stroke-width:calc(
- var(--outline-width) + 2 * var(--outline-around-width)
- );
- }
-
- .secondaryOutline{
- stroke:var(--outline-color);
- stroke-width:var(--outline-width);
- }
- }
- }
-
- &.free{
- &.hovered:not(.selected){
- stroke:var(--hover-outline-color);
- stroke-width:calc(2 * var(--outline-width));
- }
-
- &.selected{
- .mainOutline{
- stroke:var(--outline-around-color);
- stroke-width:calc(
- 2 * (var(--outline-width) + var(--outline-around-width))
- );
- }
-
- .secondaryOutline{
- stroke:var(--outline-color);
- stroke-width:calc(2 * var(--outline-width));
- }
- }
- }
- }
+ .xfaSelect {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ text-indent: 1px;
+ text-overflow: "";
}
}
-.toggle-button{
- --button-background-color:color-mix(in srgb, currentColor 7%, transparent);
- --button-background-color-hover:color-mix(
- in srgb,
- currentColor 14%,
- transparent
+.toggle-button {
+ --toggle-background-color: var(
+ --button-background-color,
+ color-mix(in srgb, currentColor 7%, transparent)
);
- --button-background-color-active:color-mix(
- in srgb,
- currentColor 21%,
- transparent
+ --toggle-background-color-hover: var(
+ --button-background-color-hover,
+ color-mix(in srgb, currentColor 14%, transparent)
+ );
+ --toggle-background-color-active: var(
+ --button-background-color-active,
+ color-mix(in srgb, currentColor 21%, transparent)
+ );
+ --toggle-background-color-pressed: var(
+ --color-accent-primary,
+ light-dark(#0060df, #0df)
+ );
+ --toggle-background-color-pressed-hover: var(
+ --color-accent-primary-hover,
+ light-dark(#0250bb, #80ebff)
+ );
+ --toggle-background-color-pressed-active: var(
+ --color-accent-primary-active,
+ light-dark(#054096, #aaf2ff)
+ );
+ --toggle-border-color: var(
+ --border-color-interactive,
+ light-dark(#8f8f9d, #f9f9fa)
+ );
+ --toggle-border-color-hover: var(--toggle-border-color);
+ --toggle-border-color-active: var(--toggle-border-color);
+ --toggle-border-radius: var(--border-radius-circle, 9999px);
+ --toggle-border-width: var(--border-width, 1px);
+ --toggle-height: var(--size-item-small, 16px);
+ --toggle-width: var(--size-item-large, 32px);
+ --toggle-dot-background-color: var(--toggle-border-color);
+ --toggle-dot-background-color-hover: var(--toggle-dot-background-color);
+ --toggle-dot-background-color-active: var(--toggle-dot-background-color);
+ --toggle-dot-background-color-on-pressed: var(
+ --background-color-canvas,
+ light-dark(white, #1c1b22)
);
- --color-accent-primary:light-dark(#0060df, #0df);
- --color-accent-primary-hover:light-dark(#0250bb, #80ebff);
- --color-accent-primary-active:light-dark(#054096, #aaf2ff);
- --border-radius-circle:9999px;
- --border-width:1px;
- --size-item-small:16px;
- --size-item-large:32px;
- --color-canvas:light-dark(white, #1c1b22);
- --background-color-canvas:var(--color-canvas);
- --border-color-interactive:light-dark(#8f8f9d, #f9f9fa);
- --border-color-interactive-hover:var(--border-color-interactive);
- --border-color-interactive-active:var(--border-color-interactive);
- --focus-outline-offset:2px;
-
- @media (forced-colors: active){
- --color-accent-primary:ButtonText;
- --color-accent-primary-hover:SelectedItem;
- --color-accent-primary-active:SelectedItem;
- --button-background-color:ButtonFace;
- --border-color-interactive:ButtonText;
- --border-color-interactive-hover:SelectedItem;
- --border-color-interactive-active:ButtonText;
- --color-canvas:ButtonText;
- --background-color-canvas:Canvas;
- }
-}
-
-.toggle-button{
- --toggle-background-color:var(--button-background-color);
- --toggle-background-color-hover:var(--button-background-color-hover);
- --toggle-background-color-active:var(--button-background-color-active);
- --toggle-background-color-pressed:var(--color-accent-primary);
- --toggle-background-color-pressed-hover:var(--color-accent-primary-hover);
- --toggle-background-color-pressed-active:var(--color-accent-primary-active);
- --toggle-border-color:var(--border-color-interactive);
- --toggle-border-color-hover:var(--toggle-border-color);
- --toggle-border-color-active:var(--toggle-border-color);
- --toggle-border-radius:var(--border-radius-circle);
- --toggle-border-width:var(--border-width);
- --toggle-height:var(--size-item-small);
- --toggle-width:var(--size-item-large);
- --toggle-dot-background-color:var(--toggle-border-color);
- --toggle-dot-background-color-hover:var(--toggle-dot-background-color);
- --toggle-dot-background-color-active:var(--toggle-dot-background-color);
- --toggle-dot-background-color-on-pressed:var(--background-color-canvas);
- --toggle-dot-margin:1px;
- --toggle-dot-height:calc(
+ --toggle-dot-margin: 1px;
+ --toggle-dot-height: calc(
var(--toggle-height) - 2 * var(--toggle-dot-margin) - 2 *
var(--toggle-border-width)
);
- --toggle-dot-width:var(--toggle-dot-height);
- --toggle-dot-transform-x:calc(
+ --toggle-dot-width: var(--toggle-dot-height);
+ --toggle-dot-transform-x: calc(
var(--toggle-width) - 4 * var(--toggle-dot-margin) - var(--toggle-dot-width)
);
- --input-width:var(--toggle-width);
+ --input-width: var(--toggle-width);
- -webkit-appearance:none;
+ -webkit-appearance: none;
- -moz-appearance:none;
+ -moz-appearance: none;
- appearance:none;
- padding:0;
- border:var(--toggle-border-width) solid var(--toggle-border-color);
- height:var(--toggle-height);
- width:var(--toggle-width);
- border-radius:var(--toggle-border-radius);
- background-color:var(--toggle-background-color);
- box-sizing:border-box;
+ appearance: none;
+ padding: 0;
+ border: var(--toggle-border-width) solid var(--toggle-border-color);
+ height: var(--toggle-height);
+ width: var(--toggle-width);
+ border-radius: var(--toggle-border-radius);
+ background-color: var(--toggle-background-color);
+ box-sizing: border-box;
- &:focus-visible{
- outline:var(--focus-outline);
- outline-offset:var(--focus-outline-offset);
+ &:focus-visible {
+ outline: var(--focus-ring-outline);
+ outline-offset: var(--focus-outline-offset, 2px);
}
- &:enabled:hover{
- background-color:var(--toggle-background-color-hover);
- border-color:var(--toggle-border-color);
+ &:enabled:hover {
+ background-color: var(--toggle-background-color-hover);
+ border-color: var(--toggle-border-color);
}
- &:enabled:hover:active{
- background-color:var(--toggle-background-color-active);
- border-color:var(--toggle-border-color);
+ &:enabled:hover:active {
+ background-color: var(--toggle-background-color-active);
+ border-color: var(--toggle-border-color);
}
- &::before{
- display:block;
- content:"";
- background-color:var(--toggle-dot-background-color);
- height:var(--toggle-dot-height);
- width:var(--toggle-dot-width);
- margin:var(--toggle-dot-margin);
- border-radius:var(--toggle-border-radius);
- translate:0;
+ &::before {
+ display: block;
+ content: "";
+ background-color: var(--toggle-dot-background-color);
+ height: var(--toggle-dot-height);
+ width: var(--toggle-dot-width);
+ margin: var(--toggle-dot-margin);
+ border-radius: var(--toggle-border-radius);
+ translate: 0;
}
}
-.toggle-button[aria-pressed="true"]{
- background-color:var(--toggle-background-color-pressed);
- border-color:transparent;
+.toggle-button[aria-pressed="true"] {
+ background-color: var(--toggle-background-color-pressed);
+ border-color: transparent;
- &:enabled:hover{
- background-color:var(--toggle-background-color-pressed-hover);
- border-color:transparent;
+ &:enabled:hover {
+ background-color: var(--toggle-background-color-pressed-hover);
+ border-color: transparent;
}
- &:enabled:hover:active{
- background-color:var(--toggle-background-color-pressed-active);
- border-color:transparent;
+ &:enabled:hover:active {
+ background-color: var(--toggle-background-color-pressed-active);
+ border-color: transparent;
}
- &::before{
- translate:var(--toggle-dot-transform-x);
- background-color:var(--toggle-dot-background-color-on-pressed);
+ &::before {
+ translate: var(--toggle-dot-transform-x);
+ background-color: var(--toggle-dot-background-color-on-pressed);
}
&:enabled:hover::before,
- &:enabled:hover:active::before{
- background-color:var(--toggle-dot-background-color-on-pressed);
+ &:enabled:hover:active::before {
+ background-color: var(--toggle-dot-background-color-on-pressed);
}
&:-moz-locale-dir(rtl)::before,
- &:dir(rtl)::before{
- translate:calc(-1 * var(--toggle-dot-transform-x));
+ &:dir(rtl)::before {
+ translate: calc(-1 * var(--toggle-dot-transform-x));
}
}
-@media (prefers-reduced-motion: no-preference){
- .toggle-button::before{
- transition:translate 100ms;
+@media (prefers-reduced-motion: no-preference) {
+ .toggle-button::before {
+ transition: translate 100ms;
}
}
-@media (prefers-contrast){
- .toggle-button:enabled:hover{
- border-color:var(--toggle-border-color-hover);
+@media (prefers-contrast) {
+ .toggle-button:enabled:hover {
+ border-color: var(--toggle-border-color-hover);
}
- .toggle-button:enabled:hover:active{
- border-color:var(--toggle-border-color-active);
+ .toggle-button:enabled:hover:active {
+ border-color: var(--toggle-border-color-active);
}
- .toggle-button[aria-pressed="true"]:enabled{
- border-color:var(--toggle-border-color);
- position:relative;
+ .toggle-button[aria-pressed="true"]:enabled {
+ border-color: var(--toggle-border-color);
+ position: relative;
- &:hover{
- border-color:var(--toggle-border-color-hover);
+ &:hover {
+ border-color: var(--toggle-border-color-hover);
- &:active{
- background-color:var(--toggle-dot-background-color-active);
- border-color:var(--toggle-dot-background-color-hover);
+ &:active {
+ background-color: var(--toggle-dot-background-color-active);
+ border-color: var(--toggle-dot-background-color-hover);
}
}
}
.toggle-button:enabled:hover::before,
- .toggle-button:enabled:hover:active::before{
- background-color:var(--toggle-dot-background-color-hover);
+ .toggle-button:enabled:hover:active::before {
+ background-color: var(--toggle-dot-background-color-hover);
}
}
-@media (forced-colors){
- .toggle-button{
- --toggle-dot-background-color:var(--color-accent-primary);
- --toggle-dot-background-color-hover:var(--color-accent-primary-hover);
- --toggle-dot-background-color-active:var(--color-accent-primary-active);
- --toggle-dot-background-color-on-pressed:var(--button-background-color);
- --toggle-border-color-hover:var(--border-color-interactive-hover);
- --toggle-border-color-active:var(--border-color-interactive-active);
+@media (forced-colors) {
+ .toggle-button {
+ --toggle-background-color: var(--button-background-color, ButtonFace);
+ --toggle-background-color-pressed: var(--color-accent-primary, ButtonText);
+ --toggle-background-color-pressed-hover: var(
+ --color-accent-primary-hover,
+ SelectedItem
+ );
+ --toggle-background-color-pressed-active: var(
+ --color-accent-primary-active,
+ SelectedItem
+ );
+ --toggle-border-color: var(--border-color-interactive, ButtonText);
+ --toggle-dot-background-color: var(--color-accent-primary, ButtonText);
+ --toggle-dot-background-color-hover: var(
+ --color-accent-primary-hover,
+ SelectedItem
+ );
+ --toggle-dot-background-color-active: var(
+ --color-accent-primary-active,
+ SelectedItem
+ );
+ --toggle-dot-background-color-on-pressed: var(
+ --button-background-color,
+ ButtonFace
+ );
+ --toggle-border-color-hover: var(
+ --border-color-interactive-hover,
+ SelectedItem
+ );
+ --toggle-border-color-active: var(
+ --border-color-interactive-active,
+ ButtonText
+ );
}
- .toggle-button[aria-pressed="true"]:enabled::after{
- border:1px solid var(--button-background-color);
- content:"";
- position:absolute;
- height:var(--toggle-height);
- width:var(--toggle-width);
- display:block;
- border-radius:var(--toggle-border-radius);
- inset:-2px;
- }
-
- .toggle-button[aria-pressed="true"]:enabled:hover:active::after{
- border-color:var(--toggle-border-color-active);
- }
-}
+ .toggle-button[aria-pressed="true"]:enabled::after {
+ border: 1px solid var(--button-background-color, ButtonFace);
+ content: "";
+ position: absolute;
+ height: var(--toggle-height);
+ width: var(--toggle-width);
+ display: block;
+ border-radius: var(--toggle-border-radius);
+ inset: -2px;
+ }
-:root{
- --clear-signature-button-icon:url(images/editor-toolbar-delete.svg);
- --signature-bg:light-dark(#f9f9fb, #2b2a33);
- --signature-hover-bg:light-dark(#f0f0f4, var(--signature-bg));
- --button-signature-bg:transparent;
- --button-signature-color:var(--main-color);
- --button-signature-active-bg:light-dark(#cfcfd8, #5b5b66);
- --button-signature-active-border:none;
- --button-signature-active-color:var(--button-signature-color);
- --button-signature-border:none;
- --button-signature-hover-bg:light-dark(#e0e0e6, #52525e);
- --button-signature-hover-color:var(--button-signature-color);
-
- @media screen and (forced-colors: active){
- --signature-bg:HighlightText;
- --signature-hover-bg:var(--signature-bg);
- --button-signature-bg:HighlightText;
- --button-signature-color:ButtonText;
- --button-signature-active-bg:ButtonText;
- --button-signature-active-color:HighlightText;
- --button-signature-border:1px solid ButtonText;
- --button-signature-hover-bg:Highlight;
- --button-signature-hover-color:HighlightText;
- }
-}
-
-.signatureDialog{
- --primary-color:var(--text-primary-color);
- --border-color:#8f8f9d;
- --open-link-fg:var(--link-fg-color);
- --open-link-hover-fg:var(--link-hover-fg-color);
-
- @media screen and (forced-colors: active){
- --primary-color:ButtonText;
- --border-color:ButtonText;
- --open-link-fg:ButtonText;
- --open-link-hover-fg:ButtonText;
- }
-
- width:570px;
- max-width:100%;
- min-width:300px;
- padding:16px 0;
-
- .mainContainer{
- width:100%;
- display:flex;
- flex-direction:column;
- align-items:flex-start;
- gap:12px;
-
- span:not([role="sectionhead"]){
- font-size:13px;
- font-style:normal;
- font-weight:400;
- line-height:normal;
- }
-
- .title{
- margin-inline-start:16px;
- }
- }
-
- .inputWithClearButton{
- --button-dimension:24px;
- --clear-button-icon:url(images/messageBar_closingButton.svg);
-
- width:100%;
- position:relative;
- display:flex;
- align-items:center;
- justify-content:center;
-
- > input{
- width:100%;
- height:32px;
- padding-inline:8px calc(4px + var(--button-dimension));
- box-sizing:border-box;
- border-radius:4px;
- border:1px solid var(--border-color);
- }
-
- .clearInputButton{
- position:absolute;
- inset-block-start:4px;
- inset-inline-end:4px;
- display:inline-block;
- width:var(--button-dimension);
- height:var(--button-dimension);
- background-color:var(--input-text-fg-color);
- -webkit-mask-size:cover;
- mask-size:cover;
- -webkit-mask-image:var(--clear-button-icon);
- mask-image:var(--clear-button-icon);
- padding:0;
- border:0;
- }
- }
-}
-
-#addSignatureDialog{
- --secondary-color:var(--text-secondary-color);
- --bg-hover:#e0e0e6;
- --tab-top-line-active-color:#0060df;
- --tab-top-line-active-hover-color:var(--tab-text-hover-color);
- --tab-top-line-hover-color:#8f8f9d;
- --tab-top-line-inactive-color:#cfcfd8;
- --tab-bottom-line-active-color:var(--tab-top-line-inactive-color);
- --tab-bottom-line-hover-color:var(--tab-top-line-inactive-color);
- --tab-bottom-line-inactive-color:var(--tab-top-line-inactive-color);
- --tab-bg:var(--dialog-bg-color);
- --tab-bg-active-color:var(--tab-bg);
- --tab-bg-active-hover-color:var(--bg-hover);
- --tab-bg-hover:var(--bg-hover);
- --tab-panel-border:none;
- --tab-panel-border-radius:4px;
- --tab-text-color:var(--primary-color);
- --tab-text-active-color:var(--tab-top-line-active-color);
- --tab-text-active-hover-color:var(--tab-text-hover-color);
- --tab-text-hover-color:var(--tab-text-color);
- --signature-placeholder-color:var(--secondary-color);
- --signature-draw-placeholder-color:var(--primary-color);
- --signature-color:var(--primary-color);
- --clear-signature-button-border-width:0;
- --clear-signature-button-border-style:solid;
- --clear-signature-button-border-color:transparent;
- --clear-signature-button-border-disabled-color:transparent;
- --clear-signature-button-color:var(--primary-color);
- --clear-signature-button-hover-color:var(--clear-signature-button-color);
- --clear-signature-button-active-color:var(--clear-signature-button-color);
- --clear-signature-button-disabled-color:var(--clear-signature-button-color);
- --clear-signature-button-focus-color:var(--clear-signature-button-color);
- --clear-signature-button-bg:var(--dialog-bg-color);
- --clear-signature-button-bg-hover:var(--bg-hover);
- --clear-signature-button-bg-active:#cfcfd8;
- --clear-signature-button-bg-focus:#f0f0f4;
- --clear-signature-button-bg-disabled:color-mix(
- in srgb,
- #f0f0f4,
- transparent 40%
- );
- --save-warning-color:var(--secondary-color);
- --thickness-bg:var(--dialog-bg-color);
- --thickness-label-color:var(--primary-color);
- --thickness-slider-color:var(--primary-color);
- --thickness-border:none;
- --draw-cursor:url(images/cursor-editorInk.svg) 0 16, pointer;
-
- @media (prefers-color-scheme: dark){
- --dialog-bg-color:#42414d;
- --bg-hover:#52525e;
- --primary-color:#fbfbfe;
- --secondary-color:#cfcfd8;
- --tab-top-line-active-color:#0df;
- --tab-top-line-inactive-color:#8f8f9d;
- --clear-signature-button-bg-active:#5b5b66;
- --clear-signature-button-bg-focus:#2b2a33;
- --clear-signature-button-bg-disabled:color-mix(
- in srgb,
- #2b2a33,
- transparent 40%
- );
+ .toggle-button[aria-pressed="true"]:enabled:hover:active::after {
+ border-color: var(--toggle-border-color-active);
}
+}
- @media screen and (forced-colors: active){
- --secondary-color:ButtonText;
- --bg:HighlightText;
- --bg-hover:var(--bg);
- --tab-top-line-active-color:ButtonText;
- --tab-top-line-active-hover-color:HighlightText;
- --tab-top-line-hover-color:SelectedItem;
- --tab-top-line-inactive-color:ButtonText;
- --tab-bottom-line-active-color:var(--tab-top-line-active-color);
- --tab-bottom-line-hover-color:var(--tab-top-line-hover-color);
- --tab-bg:var(--bg);
- --tab-bg-active-color:SelectedItem;
- --tab-bg-active-hover-color:SelectedItem;
- --tab-panel-border:1px solid ButtonText;
- --tab-panel-border-radius:8px;
- --tab-text-color:ButtonText;
- --tab-text-active-color:HighlightText;
- --tab-text-active-hover-color:HighlightText;
- --tab-text-hover-color:SelectedItem;
- --signature-color:ButtonText;
- --clear-signature-button-border-width:1px;
- --clear-signature-button-border-style:solid;
- --clear-signature-button-border-color:ButtonText;
- --clear-signature-button-border-disabled-color:GrayText;
- --clear-signature-button-color:ButtonText;
- --clear-signature-button-hover-color:HighlightText;
- --clear-signature-button-active-color:SelectedItem;
- --clear-signature-button-focus-color:CanvasText;
- --clear-signature-button-disabled-color:GrayText;
- --clear-signature-button-bg:var(--bg);
- --clear-signature-button-bg-hover:SelectedItem;
- --clear-signature-button-bg-active:var(--bg);
- --clear-signature-button-bg-focus:var(--bg);
- --clear-signature-button-bg-disabled:var(--bg);
- --thickness-bg:Canvas;
- --thickness-label-color:CanvasText;
- --thickness-slider-color:ButtonText;
- --thickness-border:1px solid var(--border-color);
- }
-
- #addSignatureDialogLabel{
- overflow:hidden;
- position:absolute;
- inset:0;
- width:0;
- height:0;
- }
-
- &.waiting::after{
- content:"";
- cursor:wait;
- position:absolute;
- inset:0;
- width:100%;
- height:100%;
- }
-
- .mainContainer{
- [role="tablist"]{
- width:100%;
- display:flex;
- align-items:flex-start;
- gap:0;
-
- > [role="tab"]{
- flex:1 0 0;
- align-self:stretch;
- background-color:var(--tab-bg);
- padding-inline:0;
- cursor:default;
-
- border-inline:0;
- border-block-width:1px;
- border-block-style:solid;
- border-block-start-color:var(--tab-top-line-inactive-color);
- border-block-end-color:var(--tab-bottom-line-inactive-color);
- border-radius:0;
-
- font:menu;
- font-size:13px;
- font-style:normal;
- line-height:normal;
- font-weight:400;
- color:var(--tab-text-color);
-
- &:hover{
- border-block-start-width:2px;
- border-block-start-color:var(--tab-top-line-hover-color);
- border-block-end-color:var(--tab-bottom-line-hover-color);
- background-color:var(--tab-bg-hover);
- color:var(--tab-text-hover-color);
+:root {
+ --clear-signature-button-icon: url(images/editor-toolbar-delete.svg);
+ --signature-bg: var(
+ --background-color-box-info,
+ light-dark(#f9f9fb, #2b2a33)
+ );
+ --signature-hover-bg: var(
+ --button-background-color-hover,
+ light-dark(#f0f0f4, var(--signature-bg))
+ );
+ --button-signature-bg: transparent;
+ --button-signature-color: var(--main-color);
+ --button-signature-active-bg: light-dark(#cfcfd8, #5b5b66);
+ --button-signature-active-border: none;
+ --button-signature-active-color: var(--button-signature-color);
+ --button-signature-border: none;
+ --button-signature-hover-bg: light-dark(#e0e0e6, #52525e);
+ --button-signature-hover-color: var(--button-signature-color);
+
+ @media screen and (forced-colors: active) {
+ --signature-bg: HighlightText;
+ --signature-hover-bg: var(--signature-bg);
+ --button-signature-bg: HighlightText;
+ --button-signature-color: ButtonText;
+ --button-signature-active-bg: ButtonText;
+ --button-signature-active-color: HighlightText;
+ --button-signature-border: 1px solid ButtonText;
+ --button-signature-hover-bg: Highlight;
+ --button-signature-hover-color: HighlightText;
+ }
+}
+
+.signatureDialog {
+ --primary-color: var(--text-primary-color);
+ --signature-border-color: var(--border-color-interactive, #8f8f9d);
+ --open-link-fg: var(--link-fg-color);
+ --open-link-hover-fg: var(--link-hover-fg-color);
+
+ @media screen and (forced-colors: active) {
+ --primary-color: ButtonText;
+ --signature-border-color: var(--border-color-interactive, ButtonText);
+ --open-link-fg: ButtonText;
+ --open-link-hover-fg: ButtonText;
+ }
+
+ width: 570px;
+ max-width: 100%;
+ min-width: 300px;
+ padding: 16px 0;
+
+ .mainContainer {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: 12px;
+
+ span:not([role="sectionhead"]) {
+ font-size: 13px;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ }
+
+ .title {
+ margin-inline-start: 16px;
+ }
+ }
+
+ .inputWithClearButton {
+ --button-dimension: 24px;
+ --clear-button-icon: url(images/messageBar_closingButton.svg);
+
+ width: 100%;
+ position: relative;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ > input {
+ width: 100%;
+ height: var(--size-item-large, 32px);
+ padding-inline: 8px calc(4px + var(--button-dimension));
+ box-sizing: border-box;
+ border-radius: var(--border-radius-small, 4px);
+ border: 1px solid var(--signature-border-color);
+ }
+
+ .clearInputButton {
+ position: absolute;
+ inset-block-start: 4px;
+ inset-inline-end: 4px;
+ display: inline-block;
+ width: var(--button-dimension);
+ height: var(--button-dimension);
+ background-color: var(--input-text-fg-color);
+ -webkit-mask-size: cover;
+ mask-size: cover;
+ -webkit-mask-image: var(--clear-button-icon);
+ mask-image: var(--clear-button-icon);
+ padding: 0;
+ border: 0;
+ }
+ }
+}
+
+#addSignatureDialog {
+ --secondary-color: var(--text-secondary-color);
+ --bg-hover: var(
+ --button-background-color-hover,
+ light-dark(#e0e0e6, #52525e)
+ );
+ --tab-top-line-active-color: var(
+ --color-accent-primary,
+ light-dark(#0060df, #0df)
+ );
+ --tab-top-line-active-hover-color: var(--tab-text-hover-color);
+ --tab-top-line-hover-color: var(--border-color-interactive, #8f8f9d);
+ --tab-top-line-inactive-color: light-dark(#cfcfd8, #8f8f9d);
+ --tab-bottom-line-active-color: var(--tab-top-line-inactive-color);
+ --tab-bottom-line-hover-color: var(--tab-top-line-inactive-color);
+ --tab-bottom-line-inactive-color: var(--tab-top-line-inactive-color);
+ --tab-bg: var(--dialog-bg-color);
+ --tab-bg-active-color: var(--tab-bg);
+ --tab-bg-active-hover-color: var(--bg-hover);
+ --tab-bg-hover: var(--bg-hover);
+ --tab-panel-border: none;
+ --tab-panel-border-radius: var(--border-radius-small, 4px);
+ --tab-text-color: var(--primary-color);
+ --tab-text-active-color: var(--tab-top-line-active-color);
+ --tab-text-active-hover-color: var(--tab-text-hover-color);
+ --tab-text-hover-color: var(--tab-text-color);
+ --signature-placeholder-color: var(--secondary-color);
+ --signature-draw-placeholder-color: var(--primary-color);
+ --signature-color: var(--primary-color);
+ --save-warning-color: var(--secondary-color);
+ --thickness-bg: var(--dialog-bg-color);
+ --thickness-label-color: var(--primary-color);
+ --thickness-slider-color: var(--primary-color);
+ --thickness-border: none;
+ --draw-cursor: url(images/cursor-editorInk.svg) 0 16, pointer;
+
+ @media screen and (forced-colors: active) {
+ --secondary-color: ButtonText;
+ --bg: HighlightText;
+ --bg-hover: var(--bg);
+ --tab-top-line-active-color: var(--color-accent-primary, ButtonText);
+ --tab-top-line-active-hover-color: HighlightText;
+ --tab-top-line-hover-color: var(--border-color-interactive, SelectedItem);
+ --tab-top-line-inactive-color: ButtonText;
+ --tab-bottom-line-active-color: var(--tab-top-line-active-color);
+ --tab-bottom-line-hover-color: var(--tab-top-line-hover-color);
+ --tab-bg: var(--bg);
+ --tab-bg-active-color: SelectedItem;
+ --tab-bg-active-hover-color: SelectedItem;
+ --tab-panel-border: 1px solid ButtonText;
+ --tab-panel-border-radius: 8px;
+ --tab-text-color: ButtonText;
+ --tab-text-active-color: HighlightText;
+ --tab-text-active-hover-color: HighlightText;
+ --tab-text-hover-color: SelectedItem;
+ --signature-color: ButtonText;
+ --thickness-bg: Canvas;
+ --thickness-label-color: CanvasText;
+ --thickness-slider-color: ButtonText;
+ --thickness-border: 1px solid var(--signature-border-color);
+ }
+
+ #addSignatureDialogLabel {
+ overflow: hidden;
+ position: absolute;
+ inset: 0;
+ width: 0;
+ height: 0;
+ }
+
+ &.waiting::after {
+ content: "";
+ cursor: wait;
+ position: absolute;
+ inset: 0;
+ width: 100%;
+ height: 100%;
+ }
+
+ .mainContainer {
+ [role="tablist"] {
+ width: 100%;
+ display: flex;
+ align-items: flex-start;
+ gap: 0;
+
+ > [role="tab"] {
+ flex: 1 0 0;
+ align-self: stretch;
+ background-color: var(--tab-bg);
+ padding-inline: 0;
+ cursor: default;
+
+ border-inline: 0;
+ border-block-width: 1px;
+ border-block-style: solid;
+ border-block-start-color: var(--tab-top-line-inactive-color);
+ border-block-end-color: var(--tab-bottom-line-inactive-color);
+ border-radius: 0;
+
+ font: menu;
+ font-size: 13px;
+ font-style: normal;
+ line-height: normal;
+ font-weight: 400;
+ color: var(--tab-text-color);
+
+ &:hover {
+ border-block-start-width: 2px;
+ border-block-start-color: var(--tab-top-line-hover-color);
+ border-block-end-color: var(--tab-bottom-line-hover-color);
+ background-color: var(--tab-bg-hover);
+ color: var(--tab-text-hover-color);
}
- &:focus-visible{
- outline:2px solid var(--tab-top-line-active-color);
- outline-offset:-2px;
+ &:focus-visible {
+ outline: 2px solid var(--tab-top-line-active-color);
+ outline-offset: -2px;
}
- &[aria-selected="true"]{
- border-block-start-width:2px;
- border-block-start-color:var(--tab-top-line-active-color);
- border-block-end-color:var(--tab-bottom-line-active-color);
- background-color:var(--tab-bg-active-color);
- font-weight:590;
- color:var(--tab-text-active-color);
-
- &:hover{
- border-block-start-color:var(--tab-top-line-active-hover-color);
- background-color:var(--tab-bg-active-hover-color);
- color:var(--tab-text-active-hover-color);
+ &[aria-selected="true"] {
+ border-block-start-width: 2px;
+ border-block-start-color: var(--tab-top-line-active-color);
+ border-block-end-color: var(--tab-bottom-line-active-color);
+ background-color: var(--tab-bg-active-color);
+ font-weight: 590;
+ color: var(--tab-text-active-color);
+
+ &:hover {
+ border-block-start-color: var(--tab-top-line-active-hover-color);
+ background-color: var(--tab-bg-active-hover-color);
+ color: var(--tab-text-active-hover-color);
}
}
}
}
- #addSignatureActionContainer{
- width:100%;
- height:auto;
- display:flex;
- flex-direction:column;
- align-items:flex-end;
- align-self:stretch;
- gap:12px;
- padding-inline:16px;
- box-sizing:border-box;
-
- > [role="tabpanel"]{
- position:relative;
- width:100%;
- height:220px;
- background-color:var(--signature-bg);
- border:var(--tab-panel-border);
- border-radius:var(--tab-panel-border-radius);
-
- > svg{
- position:absolute;
- inset:0;
- width:100%;
- height:100%;
- background-color:transparent;
+ #addSignatureActionContainer {
+ width: 100%;
+ height: auto;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-end;
+ align-self: stretch;
+ gap: 12px;
+ padding-inline: 16px;
+ box-sizing: border-box;
+
+ > [role="tabpanel"] {
+ position: relative;
+ width: 100%;
+ height: 220px;
+ background-color: var(--signature-bg);
+ border: var(--tab-panel-border);
+ border-radius: var(--tab-panel-border-radius);
+
+ > svg {
+ position: absolute;
+ inset: 0;
+ width: 100%;
+ height: 100%;
+ background-color: transparent;
}
- addSignatureTypeContainer{
- display:none;
-
- #addSignatureTypeInput{
- position:absolute;
- inset:0;
- width:100%;
- height:100%;
- border:0;
- padding:0;
- text-align:center;
- color:var(--signature-color);
- background-color:transparent;
- border-radius:var(--tab-panel-border-radius);
-
- font-family:"Brush script", "Apple Chancery", "Segoe script", "Freestyle Script", "Palace Script MT", "Brush Script MT", TK, cursive, serif;
- font-size:44px;
- font-style:italic;
- font-weight:400;
-
- &::-moz-placeholder{
- color:var(--signature-placeholder-color);
- text-align:center;
-
- font:menu;
- font-style:normal;
- font-weight:274;
- font-size:44px;
- line-height:normal;
+ addSignatureTypeContainer {
+ display: none;
+
+ #addSignatureTypeInput {
+ position: absolute;
+ inset: 0;
+ width: 100%;
+ height: 100%;
+ border: 0;
+ padding: 0;
+ text-align: center;
+ color: var(--signature-color);
+ background-color: transparent;
+ border-radius: var(--tab-panel-border-radius);
+
+ font-family:
+ "Brush script", "Apple Chancery", "Segoe script",
+ "Freestyle Script", "Palace Script MT", "Brush Script MT", TK,
+ cursive, serif;
+ font-size: 44px;
+ font-style: italic;
+ font-weight: 400;
+
+ &::-moz-placeholder {
+ color: var(--signature-placeholder-color);
+ text-align: center;
+
+ font: menu;
+ font-style: normal;
+ font-weight: 274;
+ font-size: 44px;
+ line-height: normal;
}
- &::placeholder{
- color:var(--signature-placeholder-color);
- text-align:center;
+ &::placeholder {
+ color: var(--signature-placeholder-color);
+ text-align: center;
- font:menu;
- font-style:normal;
- font-weight:274;
- font-size:44px;
- line-height:normal;
+ font: menu;
+ font-style: normal;
+ font-weight: 274;
+ font-size: 44px;
+ line-height: normal;
}
}
}
- addSignatureDrawContainer{
- display:none;
-
- > span{
- position:absolute;
- top:0;
- left:0;
- width:100%;
- height:100%;
- display:grid;
- align-items:center;
- justify-content:center;
-
- background-color:transparent;
- color:var(--signature-placeholder-color);
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
+ addSignatureDrawContainer {
+ display: none;
+
+ > span {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ display: grid;
+ align-items: center;
+ justify-content: center;
+
+ background-color: transparent;
+ color: var(--signature-placeholder-color);
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
}
- > svg{
- stroke:var(--signature-color);
- fill:none;
- stroke-opacity:1;
- stroke-linecap:round;
- stroke-linejoin:round;
- stroke-miterlimit:10;
+ > svg {
+ stroke: var(--signature-color);
+ fill: none;
+ stroke-opacity: 1;
+ stroke-linecap: round;
+ stroke-linejoin: round;
+ stroke-miterlimit: 10;
- &:hover{
- cursor:var(--draw-cursor);
+ &:hover {
+ cursor: var(--draw-cursor);
}
}
- #thickness{
- position:absolute;
- width:100%;
- inset-block-end:0;
- display:grid;
- align-items:center;
- justify-content:center;
- pointer-events:none;
-
- > span{
- color:var(--signature-draw-placeholder-color);
+ #thickness {
+ position: absolute;
+ width: 100%;
+ inset-block-end: 0;
+ display: grid;
+ align-items: center;
+ justify-content: center;
+ pointer-events: none;
+
+ > span {
+ color: var(--signature-draw-placeholder-color);
}
- > div{
- width:auto;
- height:auto;
- display:flex;
- align-items:center;
- justify-content:center;
- gap:8px;
- padding:6px 8px 7px;
- margin:0;
- background-color:var(--thickness-bg);
- border-radius:4px 4px 0 0;
- border-inline:var(--thickness-border);
- border-top:var(--thickness-border);
- pointer-events:auto;
- position:relative;
- top:1px;
-
- > label{
- color:var(--thickness-label-color);
+ > div {
+ width: auto;
+ height: auto;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 8px;
+ padding: 6px 8px 7px;
+ margin: 0;
+ background-color: var(--thickness-bg);
+ border-radius: 4px 4px 0 0;
+ border-inline: var(--thickness-border);
+ border-top: var(--thickness-border);
+ pointer-events: auto;
+ position: relative;
+ top: 1px;
+
+ > label {
+ color: var(--thickness-label-color);
}
- > input{
- width:100px;
- height:14px;
- background-color:transparent;
+ > input {
+ width: 100px;
+ height: 14px;
+ background-color: transparent;
&::-webkit-slider-runnable-track,
&::-moz-range-track,
- &::-moz-range-progress{
- background-color:var(--thickness-slider-color);
+ &::-moz-range-progress {
+ background-color: var(--thickness-slider-color);
}
&::-webkit-slider-thumb,
- &::-moz-range-thumb{
- background-color:var(--thickness-bg);
+ &::-moz-range-thumb {
+ background-color: var(--thickness-bg);
}
- border-radius:4.5px;
- border:0;
- color:var(--signature-color);
+ border-radius: 4.5px;
+ border: 0;
+ color: var(--signature-color);
}
}
}
}
- addSignatureImageContainer{
- display:none;
+ addSignatureImageContainer {
+ display: none;
- > svg{
- stroke:none;
- stroke-width:0;
- fill:var(--signature-color);
- fill-opacity:1;
+ > svg {
+ stroke: none;
+ stroke-width: 0;
+ fill: var(--signature-color);
+ fill-opacity: 1;
}
- #addSignatureImagePlaceholder{
- position:absolute;
- top:0;
- left:0;
- width:100%;
- height:100%;
- background-color:transparent;
- display:flex;
- flex-direction:column;
- align-items:center;
- justify-content:center;
-
- span{
- color:var(--signature-placeholder-color);
+ #addSignatureImagePlaceholder {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background-color: transparent;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+
+ span {
+ color: var(--signature-placeholder-color);
}
- a{
- color:var(--open-link-fg);
- text-decoration:underline;
- cursor:pointer;
+ a {
+ color: var(--open-link-fg);
+ text-decoration: underline;
+ cursor: pointer;
- &:hover{
- color:var(--open-link-hover-fg);
+ &:hover {
+ color: var(--open-link-hover-fg);
}
}
}
- #addSignatureFilePicker{
- visibility:hidden;
- position:relative;
- width:0;
- height:0;
+ #addSignatureFilePicker {
+ visibility: hidden;
+ position: relative;
+ width: 0;
+ height: 0;
}
}
}
&[data-selected="type"] > #addSignatureTypeContainer,
&[data-selected="draw"] > #addSignatureDrawContainer,
- &[data-selected="image"] > #addSignatureImageContainer{
- display:block;
- }
-
- #addSignatureControls{
- display:flex;
- flex-direction:column;
- justify-content:center;
- align-items:flex-start;
- gap:12px;
- align-self:stretch;
-
- #horizontalContainer{
- display:flex;
- align-items:flex-end;
- gap:16px;
- align-self:stretch;
-
- #addSignatureDescriptionContainer{
- display:flex;
- flex-direction:column;
- align-items:flex-start;
- gap:4px;
- flex:1 0 0;
-
- &:has(input:disabled) > label{
- opacity:0.4;
+ &[data-selected="image"] > #addSignatureImageContainer {
+ display: block;
+ }
+
+ #addSignatureControls {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: flex-start;
+ gap: 12px;
+ align-self: stretch;
+
+ #horizontalContainer {
+ display: flex;
+ align-items: flex-end;
+ gap: 16px;
+ align-self: stretch;
+
+ #addSignatureDescriptionContainer {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: 4px;
+ flex: 1 0 0;
+
+ &:has(input:disabled) > label {
+ opacity: 0.4;
}
- > label{
- width:auto;
+ > label {
+ width: auto;
}
}
- #clearSignatureButton{
- display:flex;
- height:32px;
- padding:4px 8px;
- align-items:center;
- background-color:var(--clear-signature-button-bg);
- border-width:var(--clear-signature-button-border-width);
- border-style:var(--clear-signature-button-border-style);
- border-color:var(--clear-signature-button-border-color);
- border-radius:4px;
-
- > span{
- display:flex;
- height:24px;
- align-items:center;
- gap:4px;
- flex-shrink:0;
-
- color:var(--clear-signature-button-color);
-
- &::after{
- content:"";
- display:inline-block;
- width:16px;
- height:16px;
- -webkit-mask-image:var(--clear-signature-button-icon);
- mask-image:var(--clear-signature-button-icon);
- -webkit-mask-size:cover;
- mask-size:cover;
- background-color:var(--clear-signature-button-color);
- flex-shrink:0;
- }
- }
-
- &:hover{
- background-color:var(--clear-signature-button-bg-hover);
-
- > span{
- color:var(--clear-signature-button-hover-color);
- &::after{
- background-color:var(--clear-signature-button-hover-color);
- }
- }
- }
-
- &:active{
- background-color:var(--clear-signature-button-bg-active);
-
- > span{
- color:var(--clear-signature-button-active-color);
- &::after{
- background-color:var(--clear-signature-button-active-color);
- }
- }
- }
-
- &:focus-visible{
- background-color:var(--clear-signature-button-bg-focus);
-
- > span{
- color:var(--clear-signature-button-focus-color);
- &::after{
- background-color:var(--clear-signature-button-focus-color);
- }
- }
- }
-
- &:disabled{
- background-color:var(--clear-signature-button-bg-disabled);
- border-color:var(--clear-signature-button-border-disabled-color);
-
- > span{
- color:var(--clear-signature-button-disabled-color);
- &::after{
- background-color:var(
- --clear-signature-button-disabled-color
- );
- }
+ #clearSignatureButton {
+ display: flex;
+ align-items: center;
+
+ > span {
+ display: flex;
+ height: 24px;
+ align-items: center;
+ gap: 4px;
+ flex-shrink: 0;
+
+ &::after {
+ content: "";
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ -webkit-mask-image: var(--clear-signature-button-icon);
+ mask-image: var(--clear-signature-button-icon);
+ -webkit-mask-size: cover;
+ mask-size: cover;
+ background-color: currentColor;
+ flex-shrink: 0;
}
}
}
}
- #addSignatureSaveContainer{
- display:grid;
- grid-template-columns:max-content auto;
- gap:4px;
- width:100%;
+ #addSignatureSaveContainer {
+ display: grid;
+ grid-template-columns: max-content auto;
+ gap: 4px;
+ width: 100%;
- > input{
- margin:0;
+ > input {
+ margin: 0;
- &:disabled + label{
- opacity:0.4;
+ &:disabled + label {
+ opacity: 0.4;
}
}
- > label{
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
+ > label {
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
}
- &:not(.fullStorage) #addSignatureSaveWarning{
- display:none;
+ &:not(.fullStorage) #addSignatureSaveWarning {
+ display: none;
}
- &.fullStorage #addSignatureSaveWarning{
- display:block;
- opacity:1;
- color:var(--save-warning-color);
- font-size:11px;
+ &.fullStorage #addSignatureSaveWarning {
+ display: block;
+ opacity: 1;
+ color: var(--save-warning-color);
+ font-size: 11px;
}
}
}
@@ -2508,49 +2362,49 @@
}
}
-#editSignatureDescriptionDialog{
- .mainContainer{
- padding-inline:16px;
- box-sizing:border-box;
+#editSignatureDescriptionDialog {
+ .mainContainer {
+ padding-inline: 16px;
+ box-sizing: border-box;
- .title{
- margin-inline-start:0;
+ .title {
+ margin-inline-start: 0;
}
- #editSignatureDescriptionAndView{
- width:auto;
- display:flex;
- justify-content:flex-end;
- align-items:flex-start;
- gap:12px;
- align-self:stretch;
+ #editSignatureDescriptionAndView {
+ width: auto;
+ display: flex;
+ justify-content: flex-end;
+ align-items: flex-start;
+ gap: 12px;
+ align-self: stretch;
- #editSignatureDescriptionContainer{
- display:flex;
- flex-direction:column;
- align-items:flex-start;
- gap:4px;
- flex:1 1 auto;
+ #editSignatureDescriptionContainer {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: 4px;
+ flex: 1 1 auto;
}
- > svg{
- width:210px;
- height:180px;
- padding:8px;
- background-color:var(--signature-bg);
+ > svg {
+ width: 210px;
+ height: 180px;
+ padding: 8px;
+ background-color: var(--signature-bg);
- > path{
- stroke:var(--button-signature-color);
- stroke-width:1px;
- stroke-linecap:round;
- stroke-linejoin:round;
- stroke-miterlimit:10;
- vector-effect:non-scaling-stroke;
- fill:none;
+ > path {
+ stroke: var(--button-signature-color);
+ stroke-width: 1px;
+ stroke-linecap: round;
+ stroke-linejoin: round;
+ stroke-miterlimit: 10;
+ vector-effect: non-scaling-stroke;
+ fill: none;
- &.contours{
- fill:var(--button-signature-color);
- stroke-width:0.5px;
+ &.contours {
+ fill: var(--button-signature-color);
+ stroke-width: 0.5px;
}
}
}
@@ -2558,632 +2412,682 @@
}
}
-#editorSignatureParamsToolbar{
- padding:8px;
+#editorSignatureParamsToolbar {
+ padding: 8px;
- #addSignatureDoorHanger{
- gap:8px;
- padding:2px;
+ #addSignatureDoorHanger {
+ gap: 8px;
+ padding: 2px;
- .toolbarAddSignatureButtonContainer{
- height:32px;
- display:flex;
- justify-content:space-between;
- align-items:center;
- align-self:stretch;
- gap:8px;
+ .toolbarAddSignatureButtonContainer {
+ height: 32px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ align-self: stretch;
+ gap: 8px;
- button{
- border:var(--button-signature-border);
- border-radius:4px;
- background-color:var(--button-signature-bg);
- color:var(--button-signature-color);
+ button {
+ border: var(--button-signature-border);
+ border-radius: 4px;
+ background-color: var(--button-signature-bg);
+ color: var(--button-signature-color);
- &:hover{
- background-color:var(--button-signature-hover-bg);
+ &:hover {
+ background-color: var(--button-signature-hover-bg);
}
- &:active{
- border:var(--button-signature-active-border);
- background-color:var(--button-signature-active-bg);
- color:var(--button-signature-active-color);
+ &:active {
+ border: var(--button-signature-active-border);
+ background-color: var(--button-signature-active-bg);
+ color: var(--button-signature-active-color);
- &::before{
- background-color:var(--button-signature-active-color);
+ &::before {
+ background-color: var(--button-signature-active-color);
}
}
- &:focus-visible{
- outline:var(--focus-ring-outline);
+ &:focus-visible {
+ outline: var(--focus-ring-outline);
- &::before{
- background-color:var(--button-signature-color);
+ &::before {
+ background-color: var(--button-signature-color);
}
}
}
- .deleteButton{
- &::before{
- -webkit-mask-image:var(--clear-signature-button-icon);
- mask-image:var(--clear-signature-button-icon);
+ .deleteButton {
+ &::before {
+ -webkit-mask-image: var(--clear-signature-button-icon);
+ mask-image: var(--clear-signature-button-icon);
}
}
- .toolbarAddSignatureButton{
- width:calc(0.8 * var(--editor-toolbar-min-width));
- height:100%;
- min-height:var(--menuitem-height);
- aspect-ratio:unset;
- display:flex;
- align-items:center;
- justify-content:flex-start;
- outline:none;
- border-radius:4px;
- box-sizing:border-box;
- font:message-box;
- position:relative;
- flex:1 1 auto;
- padding:0;
- gap:8px;
- text-align:start;
- white-space:normal;
- cursor:default;
- overflow:hidden;
-
- > svg{
- display:inline-block;
- height:100%;
- aspect-ratio:1;
- background-color:var(--signature-bg);
- flex:none;
- padding:4px;
- box-sizing:border-box;
- border:none;
- border-radius:4px;
-
- > path{
- stroke:var(--button-signature-color);
- stroke-width:1px;
- stroke-linecap:round;
- stroke-linejoin:round;
- stroke-miterlimit:10;
- vector-effect:non-scaling-stroke;
- fill:none;
-
- &.contours{
- fill:var(--button-signature-color);
- stroke-width:0.5px;
+ .toolbarAddSignatureButton {
+ width: calc(0.8 * var(--editor-toolbar-min-width));
+ height: 100%;
+ min-height: var(--menuitem-height);
+ aspect-ratio: unset;
+ display: flex;
+ align-items: center;
+ justify-content: flex-start;
+ outline: none;
+ border-radius: 4px;
+ box-sizing: border-box;
+ font: message-box;
+ position: relative;
+ flex: 1 1 auto;
+ padding: 0;
+ gap: 8px;
+ text-align: start;
+ white-space: normal;
+ cursor: default;
+ overflow: hidden;
+
+ > svg {
+ display: inline-block;
+ height: 100%;
+ aspect-ratio: 1;
+ background-color: var(--signature-bg);
+ flex: none;
+ padding: 4px;
+ box-sizing: border-box;
+ border: none;
+ border-radius: 4px;
+
+ > path {
+ stroke: var(--button-signature-color);
+ stroke-width: 1px;
+ stroke-linecap: round;
+ stroke-linejoin: round;
+ stroke-miterlimit: 10;
+ vector-effect: non-scaling-stroke;
+ fill: none;
+
+ &.contours {
+ fill: var(--button-signature-color);
+ stroke-width: 0.5px;
}
}
}
- &:is(:hover, :active) > svg{
- border-radius:4px 0 0 4px;
- background-color:var(--signature-hover-bg);
+ &:is(:hover, :active) > svg {
+ border-radius: 4px 0 0 4px;
+ background-color: var(--signature-hover-bg);
}
- &:hover{
- > span{
- color:var(--button-signature-hover-color);
+ &:hover {
+ > span {
+ color: var(--button-signature-hover-color);
}
}
- &:active{
- background-color:var(--button-signature-active-bg);
+ &:active {
+ background-color: var(--button-signature-active-bg);
}
- &:is([disabled="disabled"], [disabled]){
- opacity:0.5;
- pointer-events:none;
+ &:is([disabled="disabled"], [disabled]) {
+ opacity: 0.5;
+ pointer-events: none;
}
- > span{
- height:auto;
- text-overflow:ellipsis;
- white-space:nowrap;
- flex:1 1 auto;
- font:menu;
- font-size:13px;
- font-style:normal;
- font-weight:400;
- line-height:normal;
- overflow:hidden;
+ > span {
+ height: auto;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ flex: 1 1 auto;
+ font: menu;
+ font-size: 13px;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ overflow: hidden;
}
}
}
}
}
-.editDescription.altText{
- --alt-text-add-image:url(images/editor-toolbar-edit.svg) !important;
+.editDescription.altText {
+ --alt-text-add-image: url(images/editor-toolbar-edit.svg) !important;
- &::before{
- width:16px !important;
- height:16px !important;
+ &::before {
+ width: 16px !important;
+ height: 16px !important;
}
}
.commentPopup,
-#commentManagerDialog{
- width:360px;
- max-width:100%;
- min-width:200px;
- position:absolute;
- padding:8px 16px 16px;
- margin-left:0;
- margin-top:0;
- box-sizing:border-box;
-
- border-radius:8px;
-}
-
-#commentManagerDialog{
- --comment-close-button-icon:url(images/comment-closeButton.svg);
-
- .mainContainer{
- width:100%;
- height:auto;
- display:flex;
- flex-direction:column;
- align-items:flex-start;
- gap:4px;
-
- #commentManagerToolbar{
- width:100%;
- height:32px;
- display:flex;
- justify-content:flex-start;
- align-items:flex-start;
- gap:8px;
- align-self:stretch;
-
- cursor:move;
- }
-
- #commentManagerTextInput{
- width:100%;
- min-height:132px;
- margin-bottom:12px;
- }
- }
-}
-
-.annotationLayer.disabled :is(.annotationCommentButton){
- display:none;
-}
-
-:is(.annotationLayer, .annotationEditorLayer){
- .annotationCommentButton{
- color-scheme:light dark;
- --comment-button-bg:light-dark(white, #1c1b22);
- --comment-button-fg:light-dark(#5b5b66, #fbfbfe);
- --comment-button-active-bg:light-dark(#0041a4, #a6ecf4);
- --comment-button-active-fg:light-dark(white, #15141a);
- --comment-button-hover-bg:light-dark(#0053cb, #61dce9);
- --comment-button-hover-fg:light-dark(white, #15141a);
- --comment-button-selected-bg:light-dark(#0062fa, #00cadb);
- --comment-button-border-color:light-dark(#8f8f9d, #bfbfc9);
- --comment-button-active-border-color:var(--comment-button-active-bg);
- --comment-button-focus-border-color:light-dark(#cfcfd8, #3a3944);
- --comment-button-hover-border-color:var(--comment-button-hover-bg);
- --comment-button-selected-border-color:var(--comment-button-selected-bg);
- --comment-button-selected-fg:light-dark(white, #15141a);
- --comment-button-dim:24px;
- --comment-button-box-shadow:0 0.25px 0.75px 0 light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)), 0 2px 6px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
- --comment-button-focus-outline-color:light-dark(#0062fa, #00cadb);
+#commentManagerDialog {
+ width: 360px;
+ max-width: 100%;
+ min-width: 200px;
+ position: absolute;
+ padding: 8px 16px 16px;
+ margin-left: 0;
+ margin-top: 0;
+ box-sizing: border-box;
+
+ border-radius: 8px;
+}
+
+#commentManagerDialog {
+ --comment-close-button-icon: url(images/comment-closeButton.svg);
+
+ .mainContainer {
+ width: 100%;
+ height: auto;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: 4px;
+
+ #commentManagerToolbar {
+ width: 100%;
+ height: 32px;
+ display: flex;
+ justify-content: flex-start;
+ align-items: flex-start;
+ gap: 8px;
+ align-self: stretch;
+
+ cursor: move;
+ }
- @media screen and (forced-colors: active){
- --comment-button-bg:ButtonFace;
- --comment-button-fg:ButtonText;
- --comment-button-hover-bg:SelectedItemText;
- --comment-button-hover-fg:SelectedItem;
- --comment-button-active-bg:SelectedItemText;
- --comment-button-active-fg:SelectedItem;
- --comment-button-border-color:ButtonBorder;
- --comment-button-active-border-color:ButtonBorder;
- --comment-button-hover-border-color:SelectedItem;
- --comment-button-box-shadow:none;
- --comment-button-focus-outline-color:CanvasText;
- --comment-button-selected-bg:ButtonBorder;
- --comment-button-selected-fg:ButtonFace;
+ #commentManagerTextInput {
+ width: 100%;
+ min-height: 132px;
+ margin-bottom: 12px;
}
+ }
+}
- position:absolute;
- width:var(--comment-button-dim);
- height:var(--comment-button-dim);
- background-color:var(--comment-button-bg);
- border-radius:6px 6px 6px 0;
- border:1px solid var(--comment-button-border-color);
- box-shadow:var(--comment-button-box-shadow);
- cursor:auto;
- z-index:1;
- padding:4px;
- margin:0;
- box-sizing:border-box;
- pointer-events:auto;
+.annotationLayer.disabled :is(.annotationCommentButton) {
+ display: none;
+}
- &:dir(rtl){
- border-radius:6px 6px 0;
+:is(.annotationLayer, .annotationEditorLayer) {
+ .annotationCommentButton {
+ color-scheme: light dark;
+ --comment-button-bg: var(
+ --background-color-canvas,
+ light-dark(white, #1c1b22)
+ );
+ --comment-button-fg: light-dark(#5b5b66, #fbfbfe);
+ --comment-button-active-bg: light-dark(#0041a4, #a6ecf4);
+ --comment-button-active-fg: var(
+ --button-text-color-primary,
+ light-dark(white, #15141a)
+ );
+ --comment-button-hover-bg: var(
+ --color-accent-primary-hover,
+ light-dark(#0053cb, #61dce9)
+ );
+ --comment-button-hover-fg: var(
+ --button-text-color-primary,
+ light-dark(white, #15141a)
+ );
+ --comment-button-selected-bg: var(
+ --color-accent-primary,
+ light-dark(#0062fa, #00cadb)
+ );
+ --comment-button-border-color: var(
+ --border-color-interactive,
+ light-dark(#8f8f9d, #bfbfc9)
+ );
+ --comment-button-active-border-color: var(--comment-button-active-bg);
+ --comment-button-focus-border-color: light-dark(#cfcfd8, #3a3944);
+ --comment-button-hover-border-color: var(--comment-button-hover-bg);
+ --comment-button-selected-border-color: var(--comment-button-selected-bg);
+ --comment-button-selected-fg: var(
+ --button-text-color-primary,
+ light-dark(white, #15141a)
+ );
+ --comment-button-dim: 24px;
+ --comment-button-box-shadow:
+ 0 0.25px 0.75px 0 light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)),
+ 0 2px 6px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
+ --comment-button-focus-outline-color: var(
+ --focus-outline-color,
+ light-dark(#0062fa, #00cadb)
+ );
+ @media screen and (forced-colors: active) {
+ --comment-button-bg: var(--button-background-color, ButtonFace);
+ --comment-button-fg: var(--button-text-color, ButtonText);
+ --comment-button-hover-bg: var(
+ --button-background-color-hover,
+ SelectedItemText
+ );
+ --comment-button-hover-fg: var(--button-text-color-hover, SelectedItem);
+ --comment-button-active-bg: var(
+ --button-background-color-active,
+ SelectedItemText
+ );
+ --comment-button-active-fg: var(--button-text-color-active, SelectedItem);
+ --comment-button-border-color: var(--button-border-color, ButtonBorder);
+ --comment-button-active-border-color: var(
+ --button-border-color-active,
+ ButtonBorder
+ );
+ --comment-button-hover-border-color: var(
+ --button-border-color-hover,
+ SelectedItem
+ );
+ --comment-button-box-shadow: none;
+ --comment-button-focus-outline-color: var(
+ --focus-outline-color,
+ CanvasText
+ );
+ --comment-button-selected-bg: var(
+ --button-background-color-primary,
+ ButtonBorder
+ );
+ --comment-button-selected-fg: var(
+ --button-text-color-primary,
+ ButtonFace
+ );
}
- &::before{
- content:"";
- display:inline-block;
- width:100%;
- height:100%;
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-size:cover;
- mask-size:cover;
- -webkit-mask-image:var(--comment-edit-button-icon);
- mask-image:var(--comment-edit-button-icon);
- background-color:var(--comment-button-fg);
- margin:0;
- padding:0;
- transform:scaleX(var(--dir-factor));
+ position: absolute;
+ width: var(--comment-button-dim);
+ height: var(--comment-button-dim);
+ background-color: var(--comment-button-bg);
+ border-radius: 6px 6px 6px 0;
+ border: 1px solid var(--comment-button-border-color);
+ box-shadow: var(--comment-button-box-shadow);
+ cursor: auto;
+ z-index: 1;
+ padding: 4px;
+ margin: 0;
+ box-sizing: border-box;
+ pointer-events: auto;
+
+ &:dir(rtl) {
+ border-radius: 6px 6px 0;
+ }
+
+ &::before {
+ content: "";
+ display: inline-block;
+ width: 100%;
+ height: 100%;
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-size: cover;
+ mask-size: cover;
+ -webkit-mask-image: var(--comment-edit-button-icon);
+ mask-image: var(--comment-edit-button-icon);
+ background-color: var(--comment-button-fg);
+ margin: 0;
+ padding: 0;
+ transform: scaleX(var(--dir-factor));
}
- &:focus-visible{
- outline:2px solid var(--comment-button-focus-outline-color);
- outline-offset:1px;
- border-color:var(--comment-button-focus-border-color);
+ &:focus-visible {
+ outline: 2px solid var(--comment-button-focus-outline-color);
+ outline-offset: 1px;
+ border-color: var(--comment-button-focus-border-color);
}
- &:hover{
- background-color:var(--comment-button-hover-bg) !important;
- border-color:var(--comment-button-hover-border-color);
+ &:hover {
+ background-color: var(--comment-button-hover-bg) !important;
+ border-color: var(--comment-button-hover-border-color);
- &::before{
- background-color:var(--comment-button-hover-fg);
+ &::before {
+ background-color: var(--comment-button-hover-fg);
}
}
- &:active{
- background-color:var(--comment-button-active-bg) !important;
- border-color:var(--comment-button-active-border-color);
+ &:active {
+ background-color: var(--comment-button-active-bg) !important;
+ border-color: var(--comment-button-active-border-color);
- &::before{
- background-color:var(--comment-button-active-fg);
+ &::before {
+ background-color: var(--comment-button-active-fg);
}
}
- &.selected{
- background-color:var(--comment-button-selected-bg) !important;
- border-color:var(--comment-button-selected-border-color);
-
- &::before{
- background-color:var(--comment-button-selected-fg);
+ &.selected {
+ background-color: var(--comment-button-selected-bg) !important;
+ border-color: var(--comment-button-selected-border-color);
+
+ &::before {
+ background-color: var(--comment-button-selected-fg);
}
}
}
}
#editorCommentsSidebar,
-.commentPopup{
- --comment-close-button-icon:url(images/comment-closeButton.svg);
- --comment-popup-edit-button-icon:url(images/comment-popup-editButton.svg);
- --comment-popup-delete-button-icon:url(images/editor-toolbar-delete.svg);
+.commentPopup {
+ --comment-close-button-icon: url(images/comment-closeButton.svg);
+ --comment-popup-edit-button-icon: url(images/comment-popup-editButton.svg);
+ --comment-popup-delete-button-icon: url(images/editor-toolbar-delete.svg);
- --comment-date-fg-color:light-dark(
+ --comment-date-fg-color: light-dark(
rgb(21 20 26 / 0.69),
rgb(251 251 254 / 0.69)
);
- --comment-bg-color:light-dark(#f9f9fb, #1c1b22);
- --comment-hover-bg-color:light-dark(#e0e0e6, #2c2b33);
- --comment-active-bg-color:light-dark(#d1d1d9, #3a3944);
- --comment-hover-brightness:0.89;
- --comment-hover-filter:brightness(var(--comment-hover-brightness));
- --comment-active-brightness:0.825;
- --comment-active-filter:brightness(var(--comment-active-brightness));
- --comment-border-color:light-dark(#f0f0f4, #52525e);
- --comment-focus-outline-color:light-dark(#0062fa, #00cadb);
- --comment-fg-color:light-dark(#15141a, #fbfbfe);
- --comment-count-bg-color:light-dark(#e2f7ff, #00317e);
- --comment-indicator-active-fg-color:light-dark(#0041a4, #a6ecf4);
- --comment-indicator-active-filter:brightness(
+ --comment-bg-color: light-dark(#f9f9fb, #1c1b22);
+ --comment-hover-bg-color: light-dark(#e0e0e6, #2c2b33);
+ --comment-active-bg-color: light-dark(#d1d1d9, #3a3944);
+ --comment-hover-brightness: 0.89;
+ --comment-hover-filter: brightness(var(--comment-hover-brightness));
+ --comment-active-brightness: 0.825;
+ --comment-active-filter: brightness(var(--comment-active-brightness));
+ --comment-border-color: light-dark(#f0f0f4, #52525e);
+ --comment-focus-outline-color: var(
+ --focus-outline-color,
+ light-dark(#0062fa, #00cadb)
+ );
+ --comment-fg-color: var(--text-color, light-dark(#15141a, #fbfbfe));
+ --comment-count-bg-color: light-dark(#e2f7ff, #00317e);
+ --comment-indicator-active-fg-color: light-dark(#0041a4, #a6ecf4);
+ --comment-indicator-active-filter: brightness(
calc(1 / var(--comment-active-brightness))
);
- --comment-indicator-focus-fg-color:light-dark(#5b5b66, #fbfbfe);
- --comment-indicator-hover-fg-color:light-dark(#0053cb, #61dce9);
- --comment-indicator-hover-filter:brightness(
+ --comment-indicator-focus-fg-color: light-dark(#5b5b66, #fbfbfe);
+ --comment-indicator-hover-fg-color: var(
+ --color-accent-primary-hover,
+ light-dark(#0053cb, #61dce9)
+ );
+ --comment-indicator-hover-filter: brightness(
calc(1 / var(--comment-hover-brightness))
);
- --comment-indicator-selected-fg-color:light-dark(#0062fa, #00cadb);
-
- --button-comment-bg:transparent;
- --button-comment-color:var(--main-color);
- --button-comment-active-bg:light-dark(#cfcfd8, #5b5b66);
- --button-comment-active-border:none;
- --button-comment-active-color:var(--button-comment-color);
- --button-comment-border:none;
- --button-comment-hover-bg:light-dark(#e0e0e6, #52525e);
- --button-comment-hover-color:var(--button-comment-color);
-
- --link-fg-color:light-dark(#0060df, #0df);
- --link-hover-fg-color:light-dark(#0250bb, #80ebff);
-
- @media screen and (forced-colors: active){
- --comment-date-fg-color:CanvasText;
- --comment-bg-color:Canvas;
- --comment-hover-bg-color:Canvas;
- --comment-hover-filter:none;
- --comment-active-bg-color:Canvas;
- --comment-active-filter:none;
- --comment-border-color:CanvasText;
- --comment-fg-color:CanvasText;
- --comment-count-bg-color:Canvas;
- --comment-indicator-active-fg-color:SelectedItem;
- --comment-indicator-focus-fg-color:CanvasText;
- --comment-indicator-hover-fg-color:CanvasText;
- --comment-indicator-selected-fg-color:SelectedItem;
- --button-comment-bg:ButtonFace;
- --button-comment-color:ButtonText;
- --button-comment-active-bg:Highlight;
- --button-comment-active-color:HighlightText;
- --button-comment-border:1px solid ButtonText;
- --button-comment-hover-bg:Highlight;
- --button-comment-hover-color:HighlightText;
- --link-fg-color:LinkText;
- --link-hover-fg-color:LinkText;
- }
-}
-
-#editorCommentsSidebar{
- display:flex;
- height:auto;
- padding-bottom:16px;
- flex-direction:column;
- align-items:flex-start;
- overflow-y:visible;
-
- #editorCommentsSidebarHeader{
- width:100%;
- box-sizing:border-box;
- padding:16px;
- display:flex;
- align-items:center;
- justify-content:space-between;
-
- .commentCount{
- display:flex;
- align-items:baseline;
- gap:6px;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
-
- #editorCommentsSidebarTitle{
- font:menu;
- font-style:normal;
- font-weight:590;
- line-height:normal;
- font-size:17px;
- color:var(--comment-fg-color);
- }
-
- #editorCommentsSidebarCount{
- padding:0 4px;
- border-radius:4px;
- background-color:var(--comment-count-bg-color);
-
- color:var(--comment-fg-color);
- text-align:center;
-
- font:menu;
- font-size:13px;
- font-style:normal;
- font-weight:400;
- line-height:normal;
- }
- }
-
- #editorCommentsSidebarCloseButton{
- width:32px;
- height:32px;
- padding:8px;
- border-radius:4px;
- border:var(--button-comment-border);
- background-color:var(--button-comment-bg);
- cursor:pointer;
-
- &::before{
- content:"";
- display:inline-block;
- width:100%;
- height:100%;
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-position:center;
- mask-position:center;
- -webkit-mask-image:var(--comment-close-button-icon);
- mask-image:var(--comment-close-button-icon);
- background-color:var(--button-comment-color);
- }
-
- &:hover{
- background-color:var(--button-comment-hover-bg);
-
- &::before{
- background-color:var(--button-comment-hover-color);
+ --comment-indicator-selected-fg-color: var(
+ --color-accent-primary,
+ light-dark(#0062fa, #00cadb)
+ );
+
+ --button-comment-bg: transparent;
+ --button-comment-color: var(--main-color);
+ --button-comment-active-bg: light-dark(#cfcfd8, #5b5b66);
+ --button-comment-active-border: none;
+ --button-comment-active-color: var(--button-comment-color);
+ --button-comment-border: none;
+ --button-comment-hover-bg: light-dark(#e0e0e6, #52525e);
+ --button-comment-hover-color: var(--button-comment-color);
+
+ @media screen and (forced-colors: active) {
+ --comment-date-fg-color: CanvasText;
+ --comment-bg-color: Canvas;
+ --comment-hover-bg-color: Canvas;
+ --comment-hover-filter: none;
+ --comment-active-bg-color: Canvas;
+ --comment-active-filter: none;
+ --comment-border-color: CanvasText;
+ --comment-fg-color: var(--text-color, CanvasText);
+ --comment-count-bg-color: Canvas;
+ --comment-indicator-active-fg-color: SelectedItem;
+ --comment-indicator-focus-fg-color: var(--text-color, CanvasText);
+ --comment-indicator-hover-fg-color: var(--text-color, CanvasText);
+ --comment-indicator-selected-fg-color: SelectedItem;
+ --button-comment-bg: ButtonFace;
+ --button-comment-color: ButtonText;
+ --button-comment-active-bg: Highlight;
+ --button-comment-active-color: HighlightText;
+ --button-comment-border: 1px solid ButtonText;
+ --button-comment-hover-bg: Highlight;
+ --button-comment-hover-color: HighlightText;
+ }
+}
+
+#editorCommentsSidebar {
+ display: flex;
+ height: auto;
+ padding-bottom: 16px;
+ flex-direction: column;
+ align-items: flex-start;
+ overflow-y: visible;
+
+ #editorCommentsSidebarHeader {
+ width: 100%;
+ box-sizing: border-box;
+ padding: 16px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ .commentCount {
+ display: flex;
+ align-items: baseline;
+ gap: 6px;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+
+ #editorCommentsSidebarTitle {
+ font: menu;
+ font-style: normal;
+ font-weight: 590;
+ line-height: normal;
+ font-size: 17px;
+ color: var(--comment-fg-color);
+ }
+
+ #editorCommentsSidebarCount {
+ padding: 0 4px;
+ border-radius: 4px;
+ background-color: var(--comment-count-bg-color);
+
+ color: var(--comment-fg-color);
+ text-align: center;
+
+ font: menu;
+ font-size: 13px;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ }
+ }
+
+ #editorCommentsSidebarCloseButton {
+ width: 32px;
+ height: 32px;
+ padding: 8px;
+ border-radius: 4px;
+ border: var(--button-comment-border);
+ background-color: var(--button-comment-bg);
+ cursor: pointer;
+
+ &::before {
+ content: "";
+ display: inline-block;
+ width: 100%;
+ height: 100%;
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-position: center;
+ mask-position: center;
+ -webkit-mask-image: var(--comment-close-button-icon);
+ mask-image: var(--comment-close-button-icon);
+ background-color: var(--button-comment-color);
+ }
+
+ &:hover {
+ background-color: var(--button-comment-hover-bg);
+
+ &::before {
+ background-color: var(--button-comment-hover-color);
}
}
- &:active{
- border:var(--button-comment-active-border);
- background-color:var(--button-comment-active-bg);
+ &:active {
+ border: var(--button-comment-active-border);
+ background-color: var(--button-comment-active-bg);
- &::before{
- background-color:var(--button-comment-active-color);
+ &::before {
+ background-color: var(--button-comment-active-color);
}
}
- &:focus-visible{
- outline:var(--focus-ring-outline);
+ &:focus-visible {
+ outline: var(--focus-ring-outline);
}
- > span{
- display:inline-block;
- width:0;
- height:0;
- overflow:hidden;
+ > span {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ overflow: hidden;
}
}
}
- #editorCommentsSidebarListContainer{
- overflow:auto;
- width:100%;
+ #editorCommentsSidebarListContainer {
+ overflow: auto;
+ width: 100%;
- #editorCommentsSidebarList{
- display:flex;
- width:auto;
- padding:4px 16px;
- gap:10px;
- align-items:flex-start;
- flex-direction:column;
- list-style-type:none;
+ #editorCommentsSidebarList {
+ display: flex;
+ width: auto;
+ padding: 4px 16px;
+ gap: 10px;
+ align-items: flex-start;
+ flex-direction: column;
+ list-style-type: none;
- .sidebarComment{
- display:flex;
- width:auto;
- padding:8px 16px 16px;
- flex-direction:column;
- align-items:flex-start;
- align-self:stretch;
- gap:4px;
+ .sidebarComment {
+ display: flex;
+ width: auto;
+ padding: 8px 16px 16px;
+ flex-direction: column;
+ align-items: flex-start;
+ align-self: stretch;
+ gap: 4px;
- border-radius:8px;
- border:0.5px solid var(--comment-border-color);
- background-color:var(--comment-bg-color);
+ border-radius: 8px;
+ border: 0.5px solid var(--comment-border-color);
+ background-color: var(--comment-bg-color);
- &:not(.noComments){
- &:hover{
- @media screen and (forced-colors: active){
- background-color:var(--comment-hover-bg-color);
+ &:not(.noComments) {
+ &:hover {
+ @media screen and (forced-colors: active) {
+ background-color: var(--comment-hover-bg-color);
}
- filter:var(--comment-hover-filter);
+ filter: var(--comment-hover-filter);
- time::after{
- display:inline-block;
- background-color:var(--comment-indicator-hover-fg-color);
- filter:var(--comment-indicator-hover-filter);
+ time::after {
+ display: inline-block;
+ background-color: var(--comment-indicator-hover-fg-color);
+ filter: var(--comment-indicator-hover-filter);
}
}
- &:active{
- @media screen and (forced-colors: active){
- background-color:var(--comment-active-bg-color);
+ &:active {
+ @media screen and (forced-colors: active) {
+ background-color: var(--comment-active-bg-color);
}
- filter:var(--comment-active-filter);
+ filter: var(--comment-active-filter);
- time::after{
- display:inline-block;
- background-color:var(--comment-indicator-active-fg-color);
- filter:var(--comment-indicator-active-filter);
+ time::after {
+ display: inline-block;
+ background-color: var(--comment-indicator-active-fg-color);
+ filter: var(--comment-indicator-active-filter);
}
}
- &:is(:focus, :focus-visible) time::after{
- display:inline-block;
- background-color:var(--comment-indicator-focus-fg-color);
+ &:is(:focus, :focus-visible) time::after {
+ display: inline-block;
+ background-color: var(--comment-indicator-focus-fg-color);
}
- &:focus-visible{
- outline:2px solid var(--comment-focus-outline-color);
- outline-offset:2px;
+ &:focus-visible {
+ outline: 2px solid var(--comment-focus-outline-color);
+ outline-offset: 2px;
}
- &.selected{
- .sidebarCommentText{
- max-height:-moz-fit-content;
- max-height:fit-content;
- -webkit-line-clamp:unset;
+ &.selected {
+ .sidebarCommentText {
+ max-height: -moz-fit-content;
+ max-height: fit-content;
+ -webkit-line-clamp: unset;
}
- time::after{
- display:inline-block;
- background-color:var(--comment-indicator-selected-fg-color);
+ time::after {
+ display: inline-block;
+ background-color: var(--comment-indicator-selected-fg-color);
}
}
}
- .sidebarCommentText{
- font:menu;
- font-style:normal;
- font-weight:400;
- line-height:normal;
- font-size:15px;
- width:100%;
- height:-moz-fit-content;
- height:fit-content;
- max-height:80px;
- display:-webkit-box;
- -webkit-box-orient:vertical;
- -webkit-line-clamp:2;
- overflow:hidden;
- overflow-wrap:break-word;
-
- .richText{
- --total-scale-factor:1.5;
+ .sidebarCommentText {
+ font: menu;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ font-size: 15px;
+ width: 100%;
+ height: -moz-fit-content;
+ height: fit-content;
+ max-height: 80px;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+ overflow-wrap: break-word;
+
+ .richText {
+ --total-scale-factor: 1.5;
}
}
- &.noComments{
- .sidebarCommentText{
- max-height:-moz-fit-content;
- max-height:fit-content;
- -webkit-line-clamp:unset;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
+ &.noComments {
+ .sidebarCommentText {
+ max-height: -moz-fit-content;
+ max-height: fit-content;
+ -webkit-line-clamp: unset;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
}
- a{
- font:menu;
- font-style:normal;
- font-weight:400;
- line-height:normal;
- font-size:15px;
- width:100%;
- height:auto;
- overflow-wrap:break-word;
- margin-block-start:15px;
- color:var(--link-fg-color);
-
- &:focus-visible{
- outline:var(--focus-ring-outline);
+ a {
+ font: menu;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ font-size: 15px;
+ width: 100%;
+ height: auto;
+ overflow-wrap: break-word;
+ margin-block-start: 15px;
+ color: var(--link-fg-color);
+
+ &:focus-visible {
+ outline: var(--focus-ring-outline);
}
- &:hover{
- color:var(--link-hover-fg-color);
+ &:hover {
+ color: var(--link-hover-fg-color);
}
}
}
- time{
- width:100%;
- display:inline-flex;
- align-items:center;
- justify-content:space-between;
-
- font:menu;
- font-style:normal;
- font-weight:400;
- line-height:normal;
- font-size:13px;
-
- &::after{
- content:"";
- display:none;
- width:16px;
- height:16px;
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-position:center;
- mask-position:center;
- -webkit-mask-image:var(--comment-edit-button-icon);
- mask-image:var(--comment-edit-button-icon);
- transform:scaleX(var(--dir-factor));
+ time {
+ width: 100%;
+ display: inline-flex;
+ align-items: center;
+ justify-content: space-between;
+
+ font: menu;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ font-size: 13px;
+
+ &::after {
+ content: "";
+ display: none;
+ width: 16px;
+ height: 16px;
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-position: center;
+ mask-position: center;
+ -webkit-mask-image: var(--comment-edit-button-icon);
+ mask-image: var(--comment-edit-button-icon);
+ transform: scaleX(var(--dir-factor));
}
}
}
@@ -3191,299 +3095,360 @@
}
}
-.commentPopup{
- color-scheme:light dark;
+.commentPopup {
+ color-scheme: light dark;
- --divider-color:light-dark(#cfcfd8, #3a3944);
- --comment-shadow:0 0.5px 2px 0 light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)), 0 4px 16px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
+ --divider-color: light-dark(#cfcfd8, #3a3944);
+ --comment-shadow:
+ 0 0.5px 2px 0 light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)),
+ 0 4px 16px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
- @media screen and (forced-colors: active){
- --divider-color:CanvasText;
- --comment-shadow:none;
+ @media screen and (forced-colors: active) {
+ --divider-color: CanvasText;
+ --comment-shadow: none;
}
- display:flex;
- flex-direction:column;
- align-items:flex-start;
- gap:12px;
- z-index:100001;
- pointer-events:auto;
- margin-top:2px;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: 12px;
+ z-index: 100001;
+ pointer-events: auto;
+ margin-top: 2px;
- border:0.5px solid var(--comment-border-color);
- background:var(--comment-bg-color);
- box-shadow:var(--comment-shadow);
+ border: 0.5px solid var(--comment-border-color);
+ background: var(--comment-bg-color);
+ box-shadow: var(--comment-shadow);
- &:focus-visible{
- outline:none;
+ &:focus-visible {
+ outline: none;
}
- &.dragging{
- cursor:move !important;
+ &.dragging {
+ cursor: move !important;
- *{
- cursor:move !important;
+ * {
+ cursor: move !important;
}
- button{
- pointer-events:none !important;
+ button {
+ pointer-events: none !important;
}
}
- &:not(.selected) .commentPopupButtons{
- visibility:hidden !important;
+ &:not(.selected) .commentPopupButtons {
+ visibility: hidden !important;
}
- hr{
- width:100%;
- height:1px;
- border:none;
- border-top:1px solid var(--divider-color);
- margin:0;
- padding:0;
+ hr {
+ width: 100%;
+ height: 1px;
+ border: none;
+ border-top: 1px solid var(--divider-color);
+ margin: 0;
+ padding: 0;
}
- .commentPopupTop{
- display:flex;
- width:100%;
- height:auto;
- padding-bottom:4px;
- justify-content:space-between;
- align-items:center;
- align-self:stretch;
- cursor:move;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
+ .commentPopupTop {
+ display: flex;
+ width: 100%;
+ height: auto;
+ padding-bottom: 4px;
+ justify-content: space-between;
+ align-items: center;
+ align-self: stretch;
+ cursor: move;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
- .commentPopupTime{
- font:menu;
- font-style:normal;
- font-weight:400;
- line-height:normal;
- font-size:13px;
- color:var(--comment-date-fg-color);
+ .commentPopupTime {
+ font: menu;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ font-size: 13px;
+ color: var(--comment-date-fg-color);
}
- .commentPopupButtons{
- display:flex;
- align-items:center;
- gap:2px;
- cursor:default;
+ .commentPopupButtons {
+ display: flex;
+ align-items: center;
+ gap: 2px;
+ cursor: default;
- > button{
- width:32px;
- height:32px;
- padding:8px;
- border:var(--button-comment-border);
- border-radius:4px;
- background-color:var(--button-comment-bg);
- color:var(--button-comment-color);
+ > button {
+ width: 32px;
+ height: 32px;
+ padding: 8px;
+ border: var(--button-comment-border);
+ border-radius: 4px;
+ background-color: var(--button-comment-bg);
+ color: var(--button-comment-color);
- &:hover{
- background-color:var(--button-comment-hover-bg);
+ &:hover {
+ background-color: var(--button-comment-hover-bg);
- &::before{
- background-color:var(--button-comment-hover-color);
+ &::before {
+ background-color: var(--button-comment-hover-color);
}
}
- &:active{
- border:var(--button-comment-active-border);
- background-color:var(--button-comment-active-bg);
- color:var(--button-comment-active-color);
+ &:active {
+ border: var(--button-comment-active-border);
+ background-color: var(--button-comment-active-bg);
+ color: var(--button-comment-active-color);
- &::before{
- background-color:var(--button-comment-active-color);
+ &::before {
+ background-color: var(--button-comment-active-color);
}
}
- &:focus-visible{
- background-color:var(--button-comment-hover-bg);
- outline:2px solid var(--comment-focus-outline-color);
- outline-offset:0;
+ &:focus-visible {
+ background-color: var(--button-comment-hover-bg);
+ outline: 2px solid var(--comment-focus-outline-color);
+ outline-offset: 0;
}
- &::before{
- content:"";
- display:inline-block;
- width:100%;
- height:100%;
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-position:center;
- mask-position:center;
+ &::before {
+ content: "";
+ display: inline-block;
+ width: 100%;
+ height: 100%;
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-position: center;
+ mask-position: center;
}
- &.commentPopupEdit::before{
- -webkit-mask-image:var(--comment-popup-edit-button-icon);
- mask-image:var(--comment-popup-edit-button-icon);
+ &.commentPopupEdit::before {
+ -webkit-mask-image: var(--comment-popup-edit-button-icon);
+ mask-image: var(--comment-popup-edit-button-icon);
}
- &.commentPopupDelete::before{
- -webkit-mask-image:var(--comment-popup-delete-button-icon);
- mask-image:var(--comment-popup-delete-button-icon);
+ &.commentPopupDelete::before {
+ -webkit-mask-image: var(--comment-popup-delete-button-icon);
+ mask-image: var(--comment-popup-delete-button-icon);
}
}
}
}
- .commentPopupText{
- width:100%;
- height:auto;
+ .commentPopupText {
+ width: 100%;
+ height: auto;
- font:menu;
- font-style:normal;
- font-weight:400;
- line-height:normal;
- font-size:15px;
- color:var(--comment-fg-color);
+ font: menu;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ font-size: 15px;
+ color: var(--comment-fg-color);
}
}
.commentPopupText,
-.sidebarCommentText .richText{
- margin-block:0;
-
- p:first-of-type{
- margin-block:0;
- }
-
- > *{
- white-space:pre-wrap;
- font-size:max(15px, calc(10px * var(--total-scale-factor)));
- overflow-wrap:break-word;
- }
-
- span{
- color:var(--comment-fg-color) !important;
- }
-}
-
-:root{
- --editor-toolbar-vert-offset:6px;
- --outline-width:2px;
- --outline-color:#0060df;
- --outline-around-width:1px;
- --outline-around-color:#f0f0f4;
- --hover-outline-around-color:var(--outline-around-color);
- --focus-outline:solid var(--outline-width) var(--outline-color);
- --unfocus-outline:solid var(--outline-width) transparent;
- --focus-outline-around:solid var(--outline-around-width) var(--outline-around-color);
- --hover-outline-color:#8f8f9d;
- --hover-outline:solid var(--outline-width) var(--hover-outline-color);
- --hover-outline-around:solid var(--outline-around-width) var(--hover-outline-around-color);
- --freetext-line-height:1.35;
- --freetext-padding:2px;
- --resizer-bg-color:var(--outline-color);
- --resizer-size:6px;
- --resizer-shift:calc(
- 0px - (var(--outline-width) + var(--resizer-size)) / 2 -
- var(--outline-around-width)
- );
- --editorFreeText-editing-cursor:text;
- --editorInk-editing-cursor:url(images/cursor-editorInk.svg) 0 16, pointer;
- --editorHighlight-editing-cursor:url(images/cursor-editorTextHighlight.svg) 24 24, text;
- --editorFreeHighlight-editing-cursor:url(images/cursor-editorFreeHighlight.svg) 1 18, pointer;
+.sidebarCommentText .richText {
+ margin-block: 0;
- --new-alt-text-warning-image:url(images/altText_warning.svg);
+ p:first-of-type {
+ margin-block: 0;
+ }
+
+ > * {
+ white-space: pre-wrap;
+ font-size: max(15px, calc(10px * var(--total-scale-factor)));
+ overflow-wrap: break-word;
+ }
+
+ span {
+ color: var(--comment-fg-color) !important;
+ }
}
-.textLayer{
- &.highlighting{
- cursor:var(--editorFreeHighlight-editing-cursor);
+.canvasWrapper {
+ svg {
+ transform: none;
+
+ &.moving {
+ z-index: 100000;
+ }
- &:not(.free) span{
- cursor:var(--editorHighlight-editing-cursor);
+ &.highlight,
+ &.highlightOutline {
+ &[data-main-rotation="90"] {
+ mask,
+ use:not(.clip, .mask) {
+ transform: matrix(0, 1, -1, 0, 1, 0);
+ }
+ }
- &[role="img"]{
- cursor:var(--editorFreeHighlight-editing-cursor);
+ &[data-main-rotation="180"] {
+ mask,
+ use:not(.clip, .mask) {
+ transform: matrix(-1, 0, 0, -1, 1, 1);
+ }
+ }
+
+ &[data-main-rotation="270"] {
+ mask,
+ use:not(.clip, .mask) {
+ transform: matrix(0, -1, 1, 0, 0, 1);
+ }
}
}
- &.free span{
- cursor:var(--editorFreeHighlight-editing-cursor);
+ &.draw {
+ position: absolute;
+ mix-blend-mode: normal;
+
+ &[data-draw-rotation="90"] {
+ transform: rotate(90deg);
+ }
+
+ &[data-draw-rotation="180"] {
+ transform: rotate(180deg);
+ }
+
+ &[data-draw-rotation="270"] {
+ transform: rotate(270deg);
+ }
}
- }
-}
-.page:has(.annotationEditorLayer.nonEditing)
- .annotationLayer
- .editorAnnotation{
- position:absolute;
- pointer-events:none;
-}
+ &.highlight {
+ --blend-mode: multiply;
-#viewerContainer.pdfPresentationMode:fullscreen,
-.annotationEditorLayer.disabled{
- .noAltTextBadge{
- display:none !important;
+ @media screen and (forced-colors: active) {
+ --blend-mode: difference;
+ }
+
+ position: absolute;
+ mix-blend-mode: var(--blend-mode);
+
+ &:not(.free) {
+ fill-rule: evenodd;
+ }
+ }
+
+ &.highlightOutline {
+ position: absolute;
+ mix-blend-mode: normal;
+ fill-rule: evenodd;
+ fill: none;
+
+ &:not(.free) {
+ &.hovered:not(.selected) {
+ stroke: var(--hover-outline-color);
+ stroke-width: var(--outline-width);
+ }
+
+ &.selected {
+ .mainOutline {
+ stroke: var(--outline-around-color);
+ stroke-width: calc(
+ var(--outline-width) + 2 * var(--outline-around-width)
+ );
+ }
+
+ .secondaryOutline {
+ stroke: var(--outline-color);
+ stroke-width: var(--outline-width);
+ }
+ }
+ }
+
+ &.free {
+ &.hovered:not(.selected) {
+ stroke: var(--hover-outline-color);
+ stroke-width: calc(2 * var(--outline-width));
+ }
+
+ &.selected {
+ .mainOutline {
+ stroke: var(--outline-around-color);
+ stroke-width: calc(
+ 2 * (var(--outline-width) + var(--outline-around-width))
+ );
+ }
+
+ .secondaryOutline {
+ stroke: var(--outline-color);
+ stroke-width: calc(2 * var(--outline-width));
+ }
+ }
+ }
+ }
}
}
-@media (min-resolution: 1.1dppx){
- :root{
- --editorFreeText-editing-cursor:url(images/cursor-editorFreeText.svg) 0 16, text;
- }
+:root {
+ --editor-selection-outline: solid var(--outline-width) var(--outline-color);
+ --unfocus-outline: solid var(--outline-width) transparent;
+ --focus-outline-around: solid var(--outline-around-width)
+ var(--outline-around-color);
+ --hover-outline: solid var(--outline-width) var(--hover-outline-color);
+ --hover-outline-around: solid var(--outline-around-width)
+ var(--hover-outline-around-color);
+ --resizer-shift: calc(
+ 0px - (var(--outline-width) + var(--resizer-size)) / 2 -
+ var(--outline-around-width)
+ );
}
-@media screen and (forced-colors: active){
- :root{
- --outline-color:CanvasText;
- --outline-around-color:ButtonFace;
- --resizer-bg-color:ButtonText;
- --hover-outline-color:Highlight;
- --hover-outline-around-color:SelectedItemText;
- }
+.page:has(.annotationEditorLayer.nonEditing)
+ .annotationLayer
+ .editorAnnotation {
+ position: absolute;
+ pointer-events: none;
}
-[data-editor-rotation="90"]{
- transform:rotate(90deg);
+[data-editor-rotation="90"] {
+ transform: rotate(90deg);
}
-[data-editor-rotation="180"]{
- transform:rotate(180deg);
+[data-editor-rotation="180"] {
+ transform: rotate(180deg);
}
-[data-editor-rotation="270"]{
- transform:rotate(270deg);
+[data-editor-rotation="270"] {
+ transform: rotate(270deg);
}
-.annotationEditorLayer{
- background:transparent;
- position:absolute;
- inset:0;
- font-size:calc(100px * var(--total-scale-factor));
- transform-origin:0 0;
- cursor:auto;
+.annotationEditorLayer {
+ background: transparent;
+ position: absolute;
+ inset: 0;
+ font-size: calc(100px * var(--total-scale-factor));
+ transform-origin: 0 0;
+ cursor: auto;
- .selectedEditor{
- z-index:100000 !important;
+ .selectedEditor {
+ z-index: 100000 !important;
}
- &.drawing *{
- pointer-events:none !important;
+ &.drawing * {
+ pointer-events: none !important;
}
- &.getElements{
- pointer-events:auto !important;
- > div{
- pointer-events:auto !important;
+ &.getElements {
+ pointer-events: auto !important;
+ > div {
+ pointer-events: auto !important;
}
}
}
-.annotationEditorLayer.waiting{
- content:"";
- cursor:wait;
- position:absolute;
- inset:0;
- width:100%;
- height:100%;
+.annotationEditorLayer.waiting {
+ content: "";
+ cursor: wait;
+ position: absolute;
+ inset: 0;
+ width: 100%;
+ height: 100%;
}
-.annotationEditorLayer.disabled{
- pointer-events:none;
+.annotationEditorLayer.disabled {
+ pointer-events: none;
&.highlightEditing
:is(
@@ -3492,64 +3457,188 @@
.stampEditor,
.signatureEditor,
.commentPopup
- ){
- pointer-events:auto;
+ ) {
+ pointer-events: auto;
}
}
-.annotationEditorLayer.freetextEditing{
- cursor:var(--editorFreeText-editing-cursor);
+.annotationEditorLayer .draw {
+ box-sizing: border-box;
}
-.annotationEditorLayer.inkEditing{
- cursor:var(--editorInk-editing-cursor);
-}
+.annotationEditorLayer
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .signatureEditor) {
+ position: absolute;
+ background: transparent;
+ z-index: 1;
+ transform-origin: 0 0;
+ cursor: auto;
+ max-width: 100%;
+ max-height: 100%;
+ border: var(--unfocus-outline);
-.annotationEditorLayer .draw{
- box-sizing:border-box;
-}
+ &.draggable.selectedEditor {
+ cursor: move;
+ }
-.annotationEditorLayer
- :is(.freeTextEditor, .inkEditor, .stampEditor, .signatureEditor){
- position:absolute;
- background:transparent;
- z-index:1;
- transform-origin:0 0;
- cursor:auto;
- max-width:100%;
- max-height:100%;
- border:var(--unfocus-outline);
+ &.selectedEditor {
+ border: var(--editor-selection-outline);
+ outline: var(--focus-outline-around);
- &.draggable.selectedEditor{
- cursor:move;
+ &::before {
+ content: "";
+ position: absolute;
+ inset: 0;
+ border: var(--focus-outline-around);
+ pointer-events: none;
+ }
}
- &.selectedEditor{
- border:var(--focus-outline);
- outline:var(--focus-outline-around);
+ &:hover:not(.selectedEditor) {
+ border: var(--hover-outline);
+ outline: var(--hover-outline-around);
- &::before{
- content:"";
- position:absolute;
- inset:0;
- border:var(--focus-outline-around);
- pointer-events:none;
+ &::before {
+ content: "";
+ position: absolute;
+ inset: 0;
+ border: var(--focus-outline-around);
}
}
- &:hover:not(.selectedEditor){
- border:var(--hover-outline);
- outline:var(--hover-outline-around);
+ & > .resizers {
+ position: absolute;
+ inset: 0;
+ z-index: 1;
+
+ &.hidden {
+ display: none;
+ }
+
+ & > .resizer {
+ width: var(--resizer-size);
+ height: var(--resizer-size);
+ background: content-box var(--resizer-bg-color);
+ border: var(--focus-outline-around);
+ border-radius: var(--resizer-border-radius);
+ position: absolute;
+
+ &.topLeft {
+ top: var(--resizer-shift);
+ left: var(--resizer-shift);
+ }
+
+ &.topMiddle {
+ top: var(--resizer-shift);
+ left: calc(50% + var(--resizer-shift));
+ }
+
+ &.topRight {
+ top: var(--resizer-shift);
+ right: var(--resizer-shift);
+ }
+
+ &.middleRight {
+ top: calc(50% + var(--resizer-shift));
+ right: var(--resizer-shift);
+ }
+
+ &.bottomRight {
+ bottom: var(--resizer-shift);
+ right: var(--resizer-shift);
+ }
+
+ &.bottomMiddle {
+ bottom: var(--resizer-shift);
+ left: calc(50% + var(--resizer-shift));
+ }
+
+ &.bottomLeft {
+ bottom: var(--resizer-shift);
+ left: var(--resizer-shift);
+ }
+
+ &.middleLeft {
+ top: calc(50% + var(--resizer-shift));
+ left: var(--resizer-shift);
+ }
+ }
+ }
+}
+
+:root {
+ --editor-toolbar-vert-offset: 6px;
+ --outline-width: 2px;
+ --outline-color: var(--color-blue-60, #0060df);
+ --outline-around-width: 1px;
+ --outline-around-color: var(--color-gray-20, #f0f0f4);
+ --hover-outline-around-color: var(--outline-around-color);
+ --hover-outline-color: var(--color-gray-60, #8f8f9d);
+ --freetext-line-height: 1.35;
+ --freetext-padding: 2px;
+ --resizer-bg-color: var(--outline-color);
+ --resizer-size: 6px;
+ --resizer-border-radius: 2px;
+ --editorFreeText-editing-cursor: text;
+ --editorInk-editing-cursor: url(images/cursor-editorInk.svg) 0 16, pointer;
+ --editorHighlight-editing-cursor:
+ url(images/cursor-editorTextHighlight.svg) 24 24, text;
+ --editorFreeHighlight-editing-cursor:
+ url(images/cursor-editorFreeHighlight.svg) 1 18, pointer;
+
+ --new-alt-text-warning-image: url(images/altText_warning.svg);
+}
+
+.textLayer {
+ &.highlighting {
+ cursor: var(--editorFreeHighlight-editing-cursor);
+
+ &:not(.free) span {
+ cursor: var(--editorHighlight-editing-cursor);
+
+ &[role="img"] {
+ cursor: var(--editorFreeHighlight-editing-cursor);
+ }
+ }
- &::before{
- content:"";
- position:absolute;
- inset:0;
- border:var(--focus-outline-around);
+ &.free span {
+ cursor: var(--editorFreeHighlight-editing-cursor);
}
}
}
+#viewerContainer.pdfPresentationMode:fullscreen,
+.annotationEditorLayer.disabled {
+ .noAltTextBadge {
+ display: none !important;
+ }
+}
+
+@media (min-resolution: 1.1dppx) {
+ :root {
+ --editorFreeText-editing-cursor:
+ url(images/cursor-editorFreeText.svg) 0 16, text;
+ }
+}
+
+@media screen and (forced-colors: active) {
+ :root {
+ --outline-color: CanvasText;
+ --outline-around-color: ButtonFace;
+ --resizer-bg-color: ButtonText;
+ --hover-outline-color: var(--color-accent-primary-hover, Highlight);
+ --hover-outline-around-color: SelectedItemText;
+ }
+}
+
+.annotationEditorLayer.freetextEditing {
+ cursor: var(--editorFreeText-editing-cursor);
+}
+
+.annotationEditorLayer.inkEditing {
+ cursor: var(--editorInk-editing-cursor);
+}
+
.annotationEditorLayer
:is(
.freeTextEditor,
@@ -3558,480 +3647,442 @@
.highlightEditor,
.signatureEditor
),
-.textLayer{
- .editToolbar{
- --editor-toolbar-delete-image:url(images/editor-toolbar-delete.svg);
- --editor-toolbar-bg-color:light-dark(#f0f0f4, #2b2a33);
- --editor-toolbar-highlight-image:url(images/toolbarButton-editorHighlight.svg);
- --editor-toolbar-fg-color:light-dark(#2e2e56, #fbfbfe);
- --editor-toolbar-border-color:#8f8f9d;
- --editor-toolbar-hover-border-color:var(--editor-toolbar-border-color);
- --editor-toolbar-hover-bg-color:light-dark(#e0e0e6, #52525e);
- --editor-toolbar-hover-fg-color:var(--editor-toolbar-fg-color);
- --editor-toolbar-hover-outline:none;
- --editor-toolbar-focus-outline-color:light-dark(#0060df, #0df);
- --editor-toolbar-shadow:0 2px 6px 0 rgb(58 57 68 / 0.2);
- --editor-toolbar-height:28px;
- --editor-toolbar-padding:2px;
- --alt-text-done-color:light-dark(#2ac3a2, #54ffbd);
- --alt-text-warning-color:light-dark(#0090ed, #80ebff);
- --alt-text-hover-done-color:var(--alt-text-done-color);
- --alt-text-hover-warning-color:var(--alt-text-warning-color);
-
- @media screen and (forced-colors: active){
- --editor-toolbar-bg-color:ButtonFace;
- --editor-toolbar-fg-color:ButtonText;
- --editor-toolbar-border-color:ButtonText;
- --editor-toolbar-hover-border-color:AccentColor;
- --editor-toolbar-hover-bg-color:ButtonFace;
- --editor-toolbar-hover-fg-color:AccentColor;
- --editor-toolbar-hover-outline:2px solid var(--editor-toolbar-hover-border-color);
- --editor-toolbar-focus-outline-color:ButtonBorder;
- --editor-toolbar-shadow:none;
- --alt-text-done-color:var(--editor-toolbar-fg-color);
- --alt-text-warning-color:var(--editor-toolbar-fg-color);
- --alt-text-hover-done-color:var(--editor-toolbar-hover-fg-color);
- --alt-text-hover-warning-color:var(--editor-toolbar-hover-fg-color);
- }
-
- display:flex;
- width:-moz-fit-content;
- width:fit-content;
- height:var(--editor-toolbar-height);
- flex-direction:column;
- justify-content:center;
- align-items:center;
- cursor:default;
- pointer-events:auto;
- box-sizing:content-box;
- padding:var(--editor-toolbar-padding);
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
-
- position:absolute;
- inset-inline-end:0;
- inset-block-start:calc(100% + var(--editor-toolbar-vert-offset));
-
- border-radius:6px;
- background-color:var(--editor-toolbar-bg-color);
- border:1px solid var(--editor-toolbar-border-color);
- box-shadow:var(--editor-toolbar-shadow);
-
- &.hidden{
- display:none;
- }
-
- &:has(:focus-visible){
- border-color:transparent;
- }
-
- &:dir(ltr){
- transform-origin:100% 0;
- }
-
- &:dir(rtl){
- transform-origin:0 0;
- }
-
- .buttons{
- display:flex;
- justify-content:center;
- align-items:center;
- gap:0;
- height:100%;
-
- button{
- padding:0;
- }
-
- .divider{
- width:0;
- height:calc(
+.textLayer {
+ .editToolbar {
+ --editor-toolbar-delete-image: url(images/editor-toolbar-delete.svg);
+ --editor-toolbar-bg-color: light-dark(#f0f0f4, #2b2a33);
+ --editor-toolbar-highlight-image: url(images/toolbarButton-editorHighlight.svg);
+ --editor-toolbar-fg-color: light-dark(#2e2e56, #fbfbfe);
+ --editor-toolbar-border-color: var(--border-color-interactive, #8f8f9d);
+ --editor-toolbar-hover-border-color: var(--editor-toolbar-border-color);
+ --editor-toolbar-hover-bg-color: light-dark(#e0e0e6, #52525e);
+ --editor-toolbar-hover-fg-color: var(--editor-toolbar-fg-color);
+ --editor-toolbar-hover-outline: none;
+ --editor-toolbar-focus-outline-color: var(
+ --focus-outline-color,
+ light-dark(#0060df, #0df)
+ );
+ --editor-toolbar-shadow: 0 2px 6px 0 rgb(58 57 68 / 0.2);
+ --editor-toolbar-height: 28px;
+ --editor-toolbar-padding: 2px;
+ --alt-text-done-color: var(
+ --color-accent-attention,
+ light-dark(#2ac3a2, #54ffbd)
+ );
+ --alt-text-warning-color: light-dark(#0090ed, #80ebff);
+ --alt-text-hover-done-color: var(--alt-text-done-color);
+ --alt-text-hover-warning-color: var(--alt-text-warning-color);
+
+ @media screen and (forced-colors: active) {
+ --editor-toolbar-bg-color: var(--button-background-color, ButtonFace);
+ --editor-toolbar-fg-color: var(--button-text-color, ButtonText);
+ --editor-toolbar-border-color: var(--button-border-color, ButtonText);
+ --editor-toolbar-hover-border-color: var(
+ --button-border-color-hover,
+ AccentColor
+ );
+ --editor-toolbar-hover-bg-color: var(
+ --button-background-color-hover,
+ ButtonFace
+ );
+ --editor-toolbar-hover-fg-color: var(
+ --button-text-color-hover,
+ AccentColor
+ );
+ --editor-toolbar-hover-outline: 2px solid
+ var(--editor-toolbar-hover-border-color);
+ --editor-toolbar-focus-outline-color: var(
+ --button-border-color,
+ ButtonBorder
+ );
+ --editor-toolbar-shadow: none;
+ --alt-text-done-color: var(--editor-toolbar-fg-color);
+ --alt-text-warning-color: var(--editor-toolbar-fg-color);
+ --alt-text-hover-done-color: var(--editor-toolbar-hover-fg-color);
+ --alt-text-hover-warning-color: var(--editor-toolbar-hover-fg-color);
+ }
+
+ display: flex;
+ width: -moz-fit-content;
+ width: fit-content;
+ height: var(--editor-toolbar-height);
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ cursor: default;
+ pointer-events: auto;
+ box-sizing: content-box;
+ padding: var(--editor-toolbar-padding);
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+
+ position: absolute;
+ inset-inline-end: 0;
+ inset-block-start: calc(100% + var(--editor-toolbar-vert-offset));
+
+ border-radius: 6px;
+ background-color: var(--editor-toolbar-bg-color);
+ border: 1px solid var(--editor-toolbar-border-color);
+ box-shadow: var(--editor-toolbar-shadow);
+
+ &.hidden {
+ display: none;
+ }
+
+ &:has(:focus-visible) {
+ border-color: transparent;
+ }
+
+ &:dir(ltr) {
+ transform-origin: 100% 0;
+ }
+
+ &:dir(rtl) {
+ transform-origin: 0 0;
+ }
+
+ .buttons {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ gap: 0;
+ height: 100%;
+
+ button {
+ padding: 0;
+ }
+
+ .divider {
+ width: 0;
+ height: calc(
2 * var(--editor-toolbar-padding) + var(--editor-toolbar-height)
);
- border-left:1px solid var(--editor-toolbar-border-color);
- border-right:none;
- display:inline-block;
- margin-inline:2px;
- }
-
- .basic{
- width:var(--editor-toolbar-height);
-
- &::before{
- content:"";
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-position:center;
- mask-position:center;
- display:inline-block;
- background-color:var(--editor-toolbar-fg-color);
- width:100%;
- height:100%;
+ border-left: 1px solid var(--editor-toolbar-border-color);
+ border-right: none;
+ display: inline-block;
+ margin-inline: 2px;
+ }
+
+ .basic {
+ width: var(--editor-toolbar-height);
+
+ &::before {
+ content: "";
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-position: center;
+ mask-position: center;
+ display: inline-block;
+ background-color: var(--editor-toolbar-fg-color);
+ width: 100%;
+ height: 100%;
}
- &:hover::before{
- background-color:var(--editor-toolbar-hover-fg-color);
+ &:hover::before {
+ background-color: var(--editor-toolbar-hover-fg-color);
}
- &.highlightButton::before{
- -webkit-mask-image:var(--editor-toolbar-highlight-image);
- mask-image:var(--editor-toolbar-highlight-image);
+ &.highlightButton::before {
+ -webkit-mask-image: var(--editor-toolbar-highlight-image);
+ mask-image: var(--editor-toolbar-highlight-image);
}
- &.commentButton::before{
- -webkit-mask-image:var(--comment-edit-button-icon);
- mask-image:var(--comment-edit-button-icon);
+ &.commentButton::before {
+ -webkit-mask-image: var(--comment-edit-button-icon);
+ mask-image: var(--comment-edit-button-icon);
}
- &.deleteButton::before{
- -webkit-mask-image:var(--editor-toolbar-delete-image);
- mask-image:var(--editor-toolbar-delete-image);
+ &.deleteButton::before {
+ -webkit-mask-image: var(--editor-toolbar-delete-image);
+ mask-image: var(--editor-toolbar-delete-image);
}
}
- > *{
- height:var(--editor-toolbar-height);
+ > * {
+ height: var(--editor-toolbar-height);
}
- > :not(.divider){
- border:none;
- background-color:transparent;
- cursor:pointer;
+ > :not(.divider) {
+ border: none;
+ background-color: transparent;
+ cursor: pointer;
- &:hover{
- border-radius:2px;
- background-color:var(--editor-toolbar-hover-bg-color);
- color:var(--editor-toolbar-hover-fg-color);
- outline:var(--editor-toolbar-hover-outline);
- outline-offset:1px;
+ &:hover {
+ border-radius: 2px;
+ background-color: var(--editor-toolbar-hover-bg-color);
+ color: var(--editor-toolbar-hover-fg-color);
+ outline: var(--editor-toolbar-hover-outline);
+ outline-offset: 1px;
- &:active{
- outline:none;
+ &:active {
+ outline: none;
}
}
- &:focus-visible{
- border-radius:2px;
- outline:2px solid var(--editor-toolbar-focus-outline-color);
+ &:focus-visible {
+ border-radius: 2px;
+ outline: 2px solid var(--editor-toolbar-focus-outline-color);
}
}
- .altText{
- --alt-text-add-image:url(images/altText_add.svg);
- --alt-text-done-image:url(images/altText_done.svg);
-
- display:flex;
- align-items:center;
- justify-content:center;
- width:-moz-max-content;
- width:max-content;
- padding-inline:8px;
- pointer-events:all;
- font:menu;
- font-weight:590;
- font-size:12px;
- color:var(--editor-toolbar-fg-color);
-
- &:disabled{
- pointer-events:none;
+ .altText {
+ --alt-text-add-image: url(images/altText_add.svg);
+ --alt-text-done-image: url(images/altText_done.svg);
+
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: -moz-max-content;
+ width: max-content;
+ padding-inline: 8px;
+ pointer-events: all;
+ font: menu;
+ font-weight: 590;
+ font-size: 12px;
+ color: var(--editor-toolbar-fg-color);
+
+ &:disabled {
+ pointer-events: none;
}
- &::before{
- content:"";
- -webkit-mask-image:var(--alt-text-add-image);
- mask-image:var(--alt-text-add-image);
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-position:center;
- mask-position:center;
- display:inline-block;
- width:12px;
- height:13px;
- background-color:var(--editor-toolbar-fg-color);
- margin-inline-end:4px;
+ &::before {
+ content: "";
+ -webkit-mask-image: var(--alt-text-add-image);
+ mask-image: var(--alt-text-add-image);
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-position: center;
+ mask-position: center;
+ display: inline-block;
+ width: 12px;
+ height: 13px;
+ background-color: var(--editor-toolbar-fg-color);
+ margin-inline-end: 4px;
}
- &:hover::before{
- background-color:var(--editor-toolbar-hover-fg-color);
+ &:hover::before {
+ background-color: var(--editor-toolbar-hover-fg-color);
}
- &.done::before{
- -webkit-mask-image:var(--alt-text-done-image);
- mask-image:var(--alt-text-done-image);
+ &.done::before {
+ -webkit-mask-image: var(--alt-text-done-image);
+ mask-image: var(--alt-text-done-image);
}
- &.new{
- &::before{
- width:16px;
- height:16px;
- -webkit-mask-image:var(--new-alt-text-warning-image);
- mask-image:var(--new-alt-text-warning-image);
- background-color:var(--alt-text-warning-color);
- -webkit-mask-size:cover;
- mask-size:cover;
+ &.new {
+ &::before {
+ width: 16px;
+ height: 16px;
+ -webkit-mask-image: var(--new-alt-text-warning-image);
+ mask-image: var(--new-alt-text-warning-image);
+ background-color: var(--alt-text-warning-color);
+ -webkit-mask-size: cover;
+ mask-size: cover;
}
- &:hover::before{
- background-color:var(--alt-text-hover-warning-color);
+ &:hover::before {
+ background-color: var(--alt-text-hover-warning-color);
}
- &.done{
- &::before{
- -webkit-mask-image:var(--alt-text-done-image);
- mask-image:var(--alt-text-done-image);
- background-color:var(--alt-text-done-color);
+ &.done {
+ &::before {
+ -webkit-mask-image: var(--alt-text-done-image);
+ mask-image: var(--alt-text-done-image);
+ background-color: var(--alt-text-done-color);
}
- &:hover::before{
- background-color:var(--alt-text-hover-done-color);
+ &:hover::before {
+ background-color: var(--alt-text-hover-done-color);
}
}
}
- .tooltip{
- display:none;
- word-wrap:anywhere;
-
- &.show{
- --alt-text-tooltip-bg:light-dark(#f0f0f4, #1c1b22);
- --alt-text-tooltip-fg:light-dark(#15141a, #fbfbfe);
- --alt-text-tooltip-border:#8f8f9d;
- --alt-text-tooltip-shadow:0 2px 6px 0 light-dark(rgb(58 57 68 / 0.2), #15141a);
-
- @media screen and (forced-colors: active){
- --alt-text-tooltip-bg:Canvas;
- --alt-text-tooltip-fg:CanvasText;
- --alt-text-tooltip-border:CanvasText;
- --alt-text-tooltip-shadow:none;
+ .tooltip {
+ display: none;
+ word-wrap: anywhere;
+
+ &.show {
+ --alt-text-tooltip-bg: light-dark(#f0f0f4, #1c1b22);
+ --alt-text-tooltip-fg: var(
+ --text-color,
+ light-dark(#15141a, #fbfbfe)
+ );
+ --alt-text-tooltip-border: var(--border-color-interactive, #8f8f9d);
+ --alt-text-tooltip-shadow: 0 2px 6px 0
+ light-dark(rgb(58 57 68 / 0.2), #15141a);
+
+ @media screen and (forced-colors: active) {
+ --alt-text-tooltip-bg: Canvas;
+ --alt-text-tooltip-fg: var(--text-color, CanvasText);
+ --alt-text-tooltip-border: var(--border-color, CanvasText);
+ --alt-text-tooltip-shadow: none;
}
- display:inline-flex;
- flex-direction:column;
- align-items:center;
- justify-content:center;
- position:absolute;
- top:calc(100% + 2px);
- inset-inline-start:0;
- padding-block:2px 3px;
- padding-inline:3px;
- max-width:300px;
- width:-moz-max-content;
- width:max-content;
- height:auto;
- font-size:12px;
-
- border:0.5px solid var(--alt-text-tooltip-border);
- background:var(--alt-text-tooltip-bg);
- box-shadow:var(--alt-text-tooltip-shadow);
- color:var(--alt-text-tooltip-fg);
-
- pointer-events:none;
+ display: inline-flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ position: absolute;
+ top: calc(100% + 2px);
+ inset-inline-start: 0;
+ padding-block: 2px 3px;
+ padding-inline: 3px;
+ max-width: 300px;
+ width: -moz-max-content;
+ width: max-content;
+ height: auto;
+ font-size: 12px;
+
+ border: 0.5px solid var(--alt-text-tooltip-border);
+ background: var(--alt-text-tooltip-bg);
+ box-shadow: var(--alt-text-tooltip-shadow);
+ color: var(--alt-text-tooltip-fg);
+
+ pointer-events: none;
}
}
}
- .comment{
- width:var(--editor-toolbar-height);
-
- &::before{
- content:"";
- -webkit-mask-image:var(--comment-edit-button-icon);
- mask-image:var(--comment-edit-button-icon);
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-position:center;
- mask-position:center;
- display:inline-block;
- background-color:var(--editor-toolbar-fg-color);
- width:100%;
- height:100%;
+ .comment {
+ width: var(--editor-toolbar-height);
+
+ &::before {
+ content: "";
+ -webkit-mask-image: var(--comment-edit-button-icon);
+ mask-image: var(--comment-edit-button-icon);
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-position: center;
+ mask-position: center;
+ display: inline-block;
+ background-color: var(--editor-toolbar-fg-color);
+ width: 100%;
+ height: 100%;
}
}
}
}
}
-.annotationEditorLayer .freeTextEditor{
- padding:calc(var(--freetext-padding) * var(--total-scale-factor));
- width:auto;
- height:auto;
- touch-action:none;
+.annotationEditorLayer .freeTextEditor {
+ padding: calc(var(--freetext-padding) * var(--total-scale-factor));
+ width: auto;
+ height: auto;
+ touch-action: none;
}
-.annotationEditorLayer .freeTextEditor .internal{
- background:transparent;
- border:none;
- inset:0;
- overflow:visible;
- white-space:nowrap;
- font:10px sans-serif;
- line-height:var(--freetext-line-height);
- text-align:start;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
+.annotationEditorLayer .freeTextEditor .internal {
+ background: transparent;
+ border: none;
+ inset: 0;
+ overflow: visible;
+ white-space: nowrap;
+ font: 10px sans-serif;
+ line-height: var(--freetext-line-height);
+ text-align: start;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
}
-.annotationEditorLayer .freeTextEditor .overlay{
- position:absolute;
- display:none;
- background:transparent;
- inset:0;
- width:100%;
- height:100%;
+.annotationEditorLayer .freeTextEditor .overlay {
+ position: absolute;
+ display: none;
+ background: transparent;
+ inset: 0;
+ width: 100%;
+ height: 100%;
}
-.annotationEditorLayer freeTextEditor .overlay.enabled{
- display:block;
+.annotationEditorLayer freeTextEditor .overlay.enabled {
+ display: block;
}
-.annotationEditorLayer .freeTextEditor .internal:empty::before{
- content:attr(default-content);
- color:gray;
+.annotationEditorLayer .freeTextEditor .internal:empty::before {
+ content: attr(default-content);
+ color: gray;
}
-.annotationEditorLayer .freeTextEditor .internal:focus{
- outline:none;
- -webkit-user-select:auto;
- -moz-user-select:auto;
- user-select:auto;
+.annotationEditorLayer .freeTextEditor .internal:focus {
+ outline: none;
+ -webkit-user-select: auto;
+ -moz-user-select: auto;
+ user-select: auto;
}
-.annotationEditorLayer .inkEditor{
- width:100%;
- height:100%;
+.annotationEditorLayer .inkEditor {
+ width: 100%;
+ height: 100%;
}
-.annotationEditorLayer .inkEditor.editing{
- cursor:inherit;
+.annotationEditorLayer .inkEditor.editing {
+ cursor: inherit;
}
-.annotationEditorLayer .inkEditor .inkEditorCanvas{
- position:absolute;
- inset:0;
- width:100%;
- height:100%;
- touch-action:none;
+.annotationEditorLayer .inkEditor .inkEditorCanvas {
+ position: absolute;
+ inset: 0;
+ width: 100%;
+ height: 100%;
+ touch-action: none;
}
-.annotationEditorLayer .stampEditor{
- width:auto;
- height:auto;
+.annotationEditorLayer .stampEditor {
+ width: auto;
+ height: auto;
- canvas{
- position:absolute;
- width:100%;
- height:100%;
- margin:0;
- top:0;
- left:0;
+ canvas {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ margin: 0;
+ top: 0;
+ left: 0;
}
- .noAltTextBadge{
- --no-alt-text-badge-border-color:light-dark(#f0f0f4, #52525e);
- --no-alt-text-badge-bg-color:light-dark(#cfcfd8, #fbfbfe);
- --no-alt-text-badge-fg-color:light-dark(#5b5b66, #15141a);
+ .noAltTextBadge {
+ --no-alt-text-badge-border-color: light-dark(#f0f0f4, #52525e);
+ --no-alt-text-badge-bg-color: light-dark(#cfcfd8, #fbfbfe);
+ --no-alt-text-badge-fg-color: light-dark(#5b5b66, #15141a);
- @media screen and (forced-colors: active){
- --no-alt-text-badge-border-color:ButtonText;
- --no-alt-text-badge-bg-color:ButtonFace;
- --no-alt-text-badge-fg-color:ButtonText;
+ @media screen and (forced-colors: active) {
+ --no-alt-text-badge-border-color: ButtonText;
+ --no-alt-text-badge-bg-color: ButtonFace;
+ --no-alt-text-badge-fg-color: ButtonText;
}
- position:absolute;
- inset-inline-end:5px;
- inset-block-end:5px;
- display:inline-flex;
- width:32px;
- height:32px;
- padding:3px;
- justify-content:center;
- align-items:center;
- pointer-events:none;
- z-index:1;
+ position: absolute;
+ inset-inline-end: 5px;
+ inset-block-end: 5px;
+ display: inline-flex;
+ width: 32px;
+ height: 32px;
+ padding: 3px;
+ justify-content: center;
+ align-items: center;
+ pointer-events: none;
+ z-index: 1;
- border-radius:2px;
- border:1px solid var(--no-alt-text-badge-border-color);
- background:var(--no-alt-text-badge-bg-color);
+ border-radius: 2px;
+ border: 1px solid var(--no-alt-text-badge-border-color);
+ background: var(--no-alt-text-badge-bg-color);
- &::before{
- content:"";
- display:inline-block;
- width:16px;
- height:16px;
- -webkit-mask-image:var(--new-alt-text-warning-image);
- mask-image:var(--new-alt-text-warning-image);
- -webkit-mask-size:cover;
- mask-size:cover;
- background-color:var(--no-alt-text-badge-fg-color);
+ &::before {
+ content: "";
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ -webkit-mask-image: var(--new-alt-text-warning-image);
+ mask-image: var(--new-alt-text-warning-image);
+ -webkit-mask-size: cover;
+ mask-size: cover;
+ background-color: var(--no-alt-text-badge-fg-color);
}
}
}
-.annotationEditorLayer{
- :is(.freeTextEditor, .inkEditor, .stampEditor, .signatureEditor){
- & > .resizers{
- position:absolute;
- inset:0;
- z-index:1;
-
- &.hidden{
- display:none;
- }
-
- & > .resizer{
- width:var(--resizer-size);
- height:var(--resizer-size);
- background:content-box var(--resizer-bg-color);
- border:var(--focus-outline-around);
- border-radius:2px;
- position:absolute;
-
- &.topLeft{
- top:var(--resizer-shift);
- left:var(--resizer-shift);
- }
-
- &.topMiddle{
- top:var(--resizer-shift);
- left:calc(50% + var(--resizer-shift));
- }
-
- &.topRight{
- top:var(--resizer-shift);
- right:var(--resizer-shift);
- }
-
- &.middleRight{
- top:calc(50% + var(--resizer-shift));
- right:var(--resizer-shift);
- }
-
- &.bottomRight{
- bottom:var(--resizer-shift);
- right:var(--resizer-shift);
- }
-
- &.bottomMiddle{
- bottom:var(--resizer-shift);
- left:calc(50% + var(--resizer-shift));
- }
-
- &.bottomLeft{
- bottom:var(--resizer-shift);
- left:var(--resizer-shift);
- }
-
- &.middleLeft{
- top:calc(50% + var(--resizer-shift));
- left:var(--resizer-shift);
- }
- }
- }
- }
-
+.annotationEditorLayer {
&[data-main-rotation="0"]
:is([data-editor-rotation="0"], [data-editor-rotation="180"]),
&[data-main-rotation="90"]
@@ -4039,26 +4090,26 @@
&[data-main-rotation="180"]
:is([data-editor-rotation="180"], [data-editor-rotation="0"]),
&[data-main-rotation="270"]
- :is([data-editor-rotation="90"], [data-editor-rotation="270"]){
- & > .resizers > .resizer{
+ :is([data-editor-rotation="90"], [data-editor-rotation="270"]) {
+ & > .resizers > .resizer {
&.topLeft,
- &.bottomRight{
- cursor:nwse-resize;
+ &.bottomRight {
+ cursor: nwse-resize;
}
&.topMiddle,
- &.bottomMiddle{
- cursor:ns-resize;
+ &.bottomMiddle {
+ cursor: ns-resize;
}
&.topRight,
- &.bottomLeft{
- cursor:nesw-resize;
+ &.bottomLeft {
+ cursor: nesw-resize;
}
&.middleRight,
- &.middleLeft{
- cursor:ew-resize;
+ &.middleLeft {
+ cursor: ew-resize;
}
}
}
@@ -4070,26 +4121,26 @@
&[data-main-rotation="180"]
:is([data-editor-rotation="270"], [data-editor-rotation="90"]),
&[data-main-rotation="270"]
- :is([data-editor-rotation="180"], [data-editor-rotation="0"]){
- & > .resizers > .resizer{
+ :is([data-editor-rotation="180"], [data-editor-rotation="0"]) {
+ & > .resizers > .resizer {
&.topLeft,
- &.bottomRight{
- cursor:nesw-resize;
+ &.bottomRight {
+ cursor: nesw-resize;
}
&.topMiddle,
- &.bottomMiddle{
- cursor:ew-resize;
+ &.bottomMiddle {
+ cursor: ew-resize;
}
&.topRight,
- &.bottomLeft{
- cursor:nwse-resize;
+ &.bottomLeft {
+ cursor: nwse-resize;
}
&.middleRight,
- &.middleLeft{
- cursor:ns-resize;
+ &.middleLeft {
+ cursor: ns-resize;
}
}
}
@@ -4100,18 +4151,18 @@
[data-main-rotation="90"] [data-editor-rotation="0"],
[data-main-rotation="180"] [data-editor-rotation="270"],
[data-main-rotation="270"] [data-editor-rotation="180"]
- ){
- .editToolbar{
- rotate:270deg;
+ ) {
+ .editToolbar {
+ rotate: 270deg;
- &:dir(ltr){
- inset-inline-end:calc(0px - var(--editor-toolbar-vert-offset));
- inset-block-start:0;
+ &:dir(ltr) {
+ inset-inline-end: calc(0px - var(--editor-toolbar-vert-offset));
+ inset-block-start: 0;
}
- &:dir(rtl){
- inset-inline-end:calc(100% + var(--editor-toolbar-vert-offset));
- inset-block-start:0;
+ &:dir(rtl) {
+ inset-inline-end: calc(100% + var(--editor-toolbar-vert-offset));
+ inset-block-start: 0;
}
}
}
@@ -4122,11 +4173,11 @@
[data-main-rotation="90"] [data-editor-rotation="90"],
[data-main-rotation="180"] [data-editor-rotation="0"],
[data-main-rotation="270"] [data-editor-rotation="270"]
- ){
- .editToolbar{
- rotate:180deg;
- inset-inline-end:100%;
- inset-block-start:calc(0px - var(--editor-toolbar-vert-offset));
+ ) {
+ .editToolbar {
+ rotate: 180deg;
+ inset-inline-end: 100%;
+ inset-block-start: calc(0px - var(--editor-toolbar-vert-offset));
}
}
@@ -4136,460 +4187,463 @@
[data-main-rotation="90"] [data-editor-rotation="180"],
[data-main-rotation="180"] [data-editor-rotation="90"],
[data-main-rotation="270"] [data-editor-rotation="0"]
- ){
- .editToolbar{
- rotate:90deg;
+ ) {
+ .editToolbar {
+ rotate: 90deg;
- &:dir(ltr){
- inset-inline-end:calc(100% + var(--editor-toolbar-vert-offset));
- inset-block-start:100%;
+ &:dir(ltr) {
+ inset-inline-end: calc(100% + var(--editor-toolbar-vert-offset));
+ inset-block-start: 100%;
}
- &:dir(rtl){
- inset-inline-start:calc(0px - var(--editor-toolbar-vert-offset));
- inset-block-start:0;
+ &:dir(rtl) {
+ inset-inline-start: calc(0px - var(--editor-toolbar-vert-offset));
+ inset-block-start: 0;
}
}
}
}
-.dialog.altText{
- &::backdrop{
- -webkit-mask:url(#alttext-manager-mask);
- mask:url(#alttext-manager-mask);
+.dialog.altText {
+ &::backdrop {
+ -webkit-mask: url(#alttext-manager-mask);
+ mask: url(#alttext-manager-mask);
}
- &.positioned{
- margin:0;
+ &.positioned {
+ margin: 0;
}
- & #altTextContainer{
- width:300px;
- height:-moz-fit-content;
- height:fit-content;
- display:inline-flex;
- flex-direction:column;
- align-items:flex-start;
- gap:16px;
+ & #altTextContainer {
+ width: 300px;
+ height: -moz-fit-content;
+ height: fit-content;
+ display: inline-flex;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: 16px;
- & #overallDescription{
- display:flex;
- flex-direction:column;
- align-items:flex-start;
- gap:4px;
- align-self:stretch;
+ & #overallDescription {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: 4px;
+ align-self: stretch;
- & span{
- align-self:stretch;
+ & span {
+ align-self: stretch;
}
- & .title{
- font-size:13px;
- font-style:normal;
- font-weight:590;
+ & .title {
+ font-size: 13px;
+ font-style: normal;
+ font-weight: 590;
}
}
- & #addDescription{
- display:flex;
- flex-direction:column;
- align-items:stretch;
- gap:8px;
+ & #addDescription {
+ display: flex;
+ flex-direction: column;
+ align-items: stretch;
+ gap: 8px;
- & .descriptionArea{
- flex:1;
- padding-inline:24px 10px;
+ & .descriptionArea {
+ flex: 1;
+ padding-inline: 24px 10px;
- textarea{
- width:100%;
- min-height:75px;
+ textarea {
+ width: 100%;
+ min-height: 75px;
}
}
}
- & #buttons{
- display:flex;
- justify-content:flex-end;
- align-items:flex-start;
- gap:8px;
- align-self:stretch;
+ & #buttons {
+ display: flex;
+ justify-content: flex-end;
+ align-items: flex-start;
+ gap: 8px;
+ align-self: stretch;
}
}
}
-.dialog.newAltText{
- --new-alt-text-ai-disclaimer-icon:url(images/altText_disclaimer.svg);
- --new-alt-text-spinner-icon:url(images/altText_spinner.svg);
- --preview-image-bg-color:light-dark(#f0f0f4, #2b2a33);
- --preview-image-border:none;
+.dialog.newAltText {
+ --new-alt-text-ai-disclaimer-icon: url(images/altText_disclaimer.svg);
+ --new-alt-text-spinner-icon: url(images/altText_spinner.svg);
+ --preview-image-bg-color: light-dark(#f0f0f4, #2b2a33);
+ --preview-image-border: none;
- @media screen and (forced-colors: active){
- --preview-image-bg-color:ButtonFace;
- --preview-image-border:1px solid ButtonText;
+ @media screen and (forced-colors: active) {
+ --preview-image-bg-color: ButtonFace;
+ --preview-image-border: 1px solid ButtonText;
}
- width:80%;
- max-width:570px;
- min-width:300px;
- padding:0;
+ width: 80%;
+ max-width: 570px;
+ min-width: 300px;
+ padding: 0;
- &.noAi{
+ &.noAi {
#newAltTextDisclaimer,
- #newAltTextCreateAutomatically{
- display:none !important;
+ #newAltTextCreateAutomatically {
+ display: none !important;
}
}
- &.aiInstalling{
- #newAltTextCreateAutomatically{
- display:none !important;
+ &.aiInstalling {
+ #newAltTextCreateAutomatically {
+ display: none !important;
}
- #newAltTextDownloadModel{
- display:flex !important;
+ #newAltTextDownloadModel {
+ display: flex !important;
}
}
- &.error{
- #newAltTextNotNow{
- display:none !important;
+ &.error {
+ #newAltTextNotNow {
+ display: none !important;
}
- #newAltTextCancel{
- display:inline-block !important;
+ #newAltTextCancel {
+ display: inline-block !important;
}
}
- &:not(.error) #newAltTextError{
- display:none !important;
+ &:not(.error) #newAltTextError {
+ display: none !important;
}
- #newAltTextContainer{
- display:flex;
- width:auto;
- padding:16px;
- flex-direction:column;
- justify-content:flex-end;
- align-items:flex-start;
- gap:12px;
- flex:0 1 auto;
- line-height:normal;
+ #newAltTextContainer {
+ display: flex;
+ width: auto;
+ padding: 16px;
+ flex-direction: column;
+ justify-content: flex-end;
+ align-items: flex-start;
+ gap: 12px;
+ flex: 0 1 auto;
+ line-height: normal;
- #mainContent{
- display:flex;
- justify-content:flex-end;
- align-items:flex-start;
- gap:12px;
- align-self:stretch;
- flex:1 1 auto;
+ #mainContent {
+ display: flex;
+ justify-content: flex-end;
+ align-items: flex-start;
+ gap: 12px;
+ align-self: stretch;
+ flex: 1 1 auto;
- #descriptionAndSettings{
- display:flex;
- flex-direction:column;
- align-items:flex-start;
- gap:16px;
- flex:1 0 0;
- align-self:stretch;
+ #descriptionAndSettings {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: 16px;
+ flex: 1 0 0;
+ align-self: stretch;
}
- #descriptionInstruction{
- display:flex;
- flex-direction:column;
- align-items:flex-start;
- gap:8px;
- align-self:stretch;
- flex:1 1 auto;
+ #descriptionInstruction {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: 8px;
+ align-self: stretch;
+ flex: 1 1 auto;
- #newAltTextDescriptionContainer{
- width:100%;
- height:70px;
- position:relative;
+ #newAltTextDescriptionContainer {
+ width: 100%;
+ height: 70px;
+ position: relative;
- textarea{
- width:100%;
- height:100%;
- padding:8px;
+ textarea {
+ width: 100%;
+ height: 100%;
+ padding: 8px;
- &::-moz-placeholder{
- color:var(--text-secondary-color);
+ &::-moz-placeholder {
+ color: var(--text-secondary-color);
}
- &::placeholder{
- color:var(--text-secondary-color);
+ &::placeholder {
+ color: var(--text-secondary-color);
}
}
- .altTextSpinner{
- display:none;
- position:absolute;
- width:16px;
- height:16px;
- inset-inline-start:8px;
- inset-block-start:8px;
- -webkit-mask-size:cover;
- mask-size:cover;
- background-color:var(--text-secondary-color);
- pointer-events:none;
+ .altTextSpinner {
+ display: none;
+ position: absolute;
+ width: 16px;
+ height: 16px;
+ inset-inline-start: 8px;
+ inset-block-start: 8px;
+ -webkit-mask-size: cover;
+ mask-size: cover;
+ background-color: var(--text-secondary-color);
+ pointer-events: none;
}
- &.loading{
- textarea::-moz-placeholder{
- color:transparent;
+ &.loading {
+ textarea::-moz-placeholder {
+ color: transparent;
}
- textarea::placeholder{
- color:transparent;
+ textarea::placeholder {
+ color: transparent;
}
- .altTextSpinner{
- display:inline-block;
- -webkit-mask-image:var(--new-alt-text-spinner-icon);
- mask-image:var(--new-alt-text-spinner-icon);
+ .altTextSpinner {
+ display: inline-block;
+ -webkit-mask-image: var(--new-alt-text-spinner-icon);
+ mask-image: var(--new-alt-text-spinner-icon);
}
}
}
- #newAltTextDescription{
- font-size:11px;
+ #newAltTextDescription {
+ font-size: 11px;
}
- #newAltTextDisclaimer{
- display:flex;
- flex-direction:row;
- align-items:flex-start;
- gap:4px;
- font-size:11px;
-
- &::before{
- content:"";
- display:inline-block;
- width:17px;
- height:16px;
- -webkit-mask-image:var(--new-alt-text-ai-disclaimer-icon);
- mask-image:var(--new-alt-text-ai-disclaimer-icon);
- -webkit-mask-size:cover;
- mask-size:cover;
- background-color:var(--text-secondary-color);
- flex:1 0 auto;
+ #newAltTextDisclaimer {
+ display: flex;
+ flex-direction: row;
+ align-items: flex-start;
+ gap: 4px;
+ font-size: 11px;
+
+ &::before {
+ content: "";
+ display: inline-block;
+ width: 17px;
+ height: 16px;
+ -webkit-mask-image: var(--new-alt-text-ai-disclaimer-icon);
+ mask-image: var(--new-alt-text-ai-disclaimer-icon);
+ -webkit-mask-size: cover;
+ mask-size: cover;
+ background-color: var(--text-secondary-color);
+ flex: 1 0 auto;
}
}
}
- #newAltTextDownloadModel{
- display:flex;
- align-items:center;
- gap:4px;
- align-self:stretch;
-
- &::before{
- content:"";
- display:inline-block;
- width:16px;
- height:16px;
- -webkit-mask-image:var(--new-alt-text-spinner-icon);
- mask-image:var(--new-alt-text-spinner-icon);
- -webkit-mask-size:cover;
- mask-size:cover;
- background-color:var(--text-secondary-color);
+ #newAltTextDownloadModel {
+ display: flex;
+ align-items: center;
+ gap: 4px;
+ align-self: stretch;
+
+ &::before {
+ content: "";
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ -webkit-mask-image: var(--new-alt-text-spinner-icon);
+ mask-image: var(--new-alt-text-spinner-icon);
+ -webkit-mask-size: cover;
+ mask-size: cover;
+ background-color: var(--text-secondary-color);
}
}
- #newAltTextImagePreview{
- width:180px;
- aspect-ratio:1;
- display:flex;
- justify-content:center;
- align-items:center;
- flex:0 0 auto;
- background-color:var(--preview-image-bg-color);
- border:var(--preview-image-border);
+ #newAltTextImagePreview {
+ width: 180px;
+ aspect-ratio: 1;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex: 0 0 auto;
+ background-color: var(--preview-image-bg-color);
+ border: var(--preview-image-border);
- > canvas{
- max-width:100%;
- max-height:100%;
+ > canvas {
+ max-width: 100%;
+ max-height: 100%;
}
}
}
}
}
-.colorPicker{
- --hover-outline-color:light-dark(#0250bb, #80ebff);
- --selected-outline-color:light-dark(#0060df, #aaf2ff);
- --swatch-border-color:light-dark(#cfcfd8, #52525e);
+.colorPicker {
+ --hover-outline-color: var(
+ --color-accent-primary-hover,
+ light-dark(#0250bb, #80ebff)
+ );
+ --selected-outline-color: light-dark(#0060df, #aaf2ff);
+ --swatch-border-color: light-dark(#cfcfd8, #52525e);
- @media screen and (forced-colors: active){
- --hover-outline-color:Highlight;
- --selected-outline-color:var(--hover-outline-color);
- --swatch-border-color:ButtonText;
+ @media screen and (forced-colors: active) {
+ --hover-outline-color: Highlight;
+ --selected-outline-color: var(--hover-outline-color);
+ --swatch-border-color: ButtonText;
}
- .swatch{
- width:16px;
- height:16px;
- border:1px solid var(--swatch-border-color);
- border-radius:100%;
- outline-offset:2px;
- box-sizing:border-box;
- forced-color-adjust:none;
+ .swatch {
+ width: 16px;
+ height: 16px;
+ border: 1px solid var(--swatch-border-color);
+ border-radius: 100%;
+ outline-offset: 2px;
+ box-sizing: border-box;
+ forced-color-adjust: none;
}
- button:is(:hover, .selected) > .swatch{
- border:none;
+ button:is(:hover, .selected) > .swatch {
+ border: none;
}
}
-.basicColorPicker{
- width:28px;
+.basicColorPicker {
+ width: 28px;
- &::-moz-color-swatch{
- border-radius:100%;
- margin:0;
+ &::-moz-color-swatch {
+ border-radius: 100%;
+ margin: 0;
}
- &::-webkit-color-swatch{
- border-radius:100%;
- margin:0;
+ &::-webkit-color-swatch {
+ border-radius: 100%;
+ margin: 0;
}
}
-.annotationEditorLayer{
- &[data-main-rotation="0"]{
- .highlightEditor:not(.free) > .editToolbar{
- rotate:0deg;
+.annotationEditorLayer {
+ &[data-main-rotation="0"] {
+ .highlightEditor:not(.free) > .editToolbar {
+ rotate: 0deg;
}
}
- &[data-main-rotation="90"]{
- .highlightEditor:not(.free) > .editToolbar{
- rotate:270deg;
+ &[data-main-rotation="90"] {
+ .highlightEditor:not(.free) > .editToolbar {
+ rotate: 270deg;
}
}
- &[data-main-rotation="180"]{
- .highlightEditor:not(.free) > .editToolbar{
- rotate:180deg;
+ &[data-main-rotation="180"] {
+ .highlightEditor:not(.free) > .editToolbar {
+ rotate: 180deg;
}
}
- &[data-main-rotation="270"]{
- .highlightEditor:not(.free) > .editToolbar{
- rotate:90deg;
+ &[data-main-rotation="270"] {
+ .highlightEditor:not(.free) > .editToolbar {
+ rotate: 90deg;
}
}
- .highlightEditor{
- position:absolute;
- background:transparent;
- z-index:1;
- cursor:auto;
- max-width:100%;
- max-height:100%;
- border:none;
- outline:none;
- pointer-events:none;
- transform-origin:0 0;
+ .highlightEditor {
+ position: absolute;
+ background: transparent;
+ z-index: 1;
+ cursor: auto;
+ max-width: 100%;
+ max-height: 100%;
+ border: none;
+ outline: none;
+ pointer-events: none;
+ transform-origin: 0 0;
- &:not(.free){
- transform:none;
+ &:not(.free) {
+ transform: none;
}
- .internal{
- position:absolute;
- top:0;
- left:0;
- width:100%;
- height:100%;
- pointer-events:auto;
+ .internal {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ pointer-events: auto;
}
- &.disabled .internal{
- pointer-events:none;
+ &.disabled .internal {
+ pointer-events: none;
}
- &.selectedEditor{
- .internal{
- cursor:pointer;
+ &.selectedEditor {
+ .internal {
+ cursor: pointer;
}
}
- .editToolbar{
- --editor-toolbar-colorpicker-arrow-image:url(images/toolbarButton-menuArrow.svg);
+ .editToolbar {
+ --editor-toolbar-colorpicker-arrow-image: url(images/toolbarButton-menuArrow.svg);
- transform-origin:center !important;
+ transform-origin: center !important;
- .buttons{
- .colorPicker{
- position:relative;
- width:auto;
- display:flex;
- justify-content:center;
- align-items:center;
- gap:4px;
- padding:4px;
+ .buttons {
+ .colorPicker {
+ position: relative;
+ width: auto;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ gap: 4px;
+ padding: 4px;
- &::after{
- content:"";
- -webkit-mask-image:var(--editor-toolbar-colorpicker-arrow-image);
- mask-image:var(--editor-toolbar-colorpicker-arrow-image);
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-position:center;
- mask-position:center;
- display:inline-block;
- background-color:var(--editor-toolbar-fg-color);
- width:12px;
- height:12px;
+ &::after {
+ content: "";
+ -webkit-mask-image: var(--editor-toolbar-colorpicker-arrow-image);
+ mask-image: var(--editor-toolbar-colorpicker-arrow-image);
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-position: center;
+ mask-position: center;
+ display: inline-block;
+ background-color: var(--editor-toolbar-fg-color);
+ width: 12px;
+ height: 12px;
}
- &:hover::after{
- background-color:var(--editor-toolbar-hover-fg-color);
+ &:hover::after {
+ background-color: var(--editor-toolbar-hover-fg-color);
}
- &:has(.dropdown:not(.hidden)){
- background-color:var(--editor-toolbar-hover-bg-color);
+ &:has(.dropdown:not(.hidden)) {
+ background-color: var(--editor-toolbar-hover-bg-color);
- &::after{
- scale:-1;
+ &::after {
+ scale: -1;
}
}
- .dropdown{
- position:absolute;
- display:flex;
- justify-content:center;
- align-items:center;
- flex-direction:column;
- gap:11px;
- padding-block:8px;
- border-radius:6px;
- background-color:var(--editor-toolbar-bg-color);
- border:1px solid var(--editor-toolbar-border-color);
- box-shadow:var(--editor-toolbar-shadow);
- inset-block-start:calc(100% + 4px);
- width:calc(100% + 2 * var(--editor-toolbar-padding));
-
- button{
- width:100%;
- height:auto;
- border:none;
- cursor:pointer;
- display:flex;
- justify-content:center;
- align-items:center;
- background:none;
-
- &:is(:active, :focus-visible){
- outline:none;
+ .dropdown {
+ position: absolute;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+ gap: 11px;
+ padding-block: 8px;
+ border-radius: 6px;
+ background-color: var(--editor-toolbar-bg-color);
+ border: 1px solid var(--editor-toolbar-border-color);
+ box-shadow: var(--editor-toolbar-shadow);
+ inset-block-start: calc(100% + 4px);
+ width: calc(100% + 2 * var(--editor-toolbar-padding));
+
+ button {
+ width: 100%;
+ height: auto;
+ border: none;
+ cursor: pointer;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background: none;
+
+ &:is(:active, :focus-visible) {
+ outline: none;
}
- > .swatch{
- outline-offset:2px;
+ > .swatch {
+ outline-offset: 2px;
}
- &[aria-selected="true"] > .swatch{
- outline:2px solid var(--selected-outline-color);
+ &[aria-selected="true"] > .swatch {
+ outline: 2px solid var(--selected-outline-color);
}
- &:is(:hover, :active, :focus-visible) > .swatch{
- outline:2px solid var(--hover-outline-color);
+ &:is(:hover, :active, :focus-visible) > .swatch {
+ outline: 2px solid var(--hover-outline-color);
}
}
}
@@ -4599,1405 +4653,1466 @@
}
}
-.editorParamsToolbar:has(#highlightParamsToolbarContainer){
- padding:unset;
+.editorParamsToolbar:has(#highlightParamsToolbarContainer) {
+ padding: unset;
}
-#highlightParamsToolbarContainer{
- gap:16px;
- padding-inline:10px;
- padding-block-end:12px;
+#highlightParamsToolbarContainer {
+ gap: 16px;
+ padding-inline: 10px;
+ padding-block-end: 12px;
- .colorPicker{
- display:flex;
- flex-direction:column;
- gap:8px;
+ .colorPicker {
+ display: flex;
+ flex-direction: column;
+ gap: 8px;
- .dropdown{
- display:flex;
- justify-content:space-between;
- align-items:center;
- flex-direction:row;
- height:auto;
+ .dropdown {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ flex-direction: row;
+ height: auto;
- button{
- width:auto;
- height:auto;
- border:none;
- cursor:pointer;
- display:flex;
- justify-content:center;
- align-items:center;
- background:none;
- flex:0 0 auto;
- padding:0;
+ button {
+ width: auto;
+ height: auto;
+ border: none;
+ cursor: pointer;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background: none;
+ flex: 0 0 auto;
+ padding: 0;
- .swatch{
- width:24px;
- height:24px;
+ .swatch {
+ width: 24px;
+ height: 24px;
}
- &:is(:active, :focus-visible){
- outline:none;
+ &:is(:active, :focus-visible) {
+ outline: none;
}
- &[aria-selected="true"] > .swatch{
- outline:2px solid var(--selected-outline-color);
+ &[aria-selected="true"] > .swatch {
+ outline: 2px solid var(--selected-outline-color);
}
- &:is(:hover, :active, :focus-visible) > .swatch{
- outline:2px solid var(--hover-outline-color);
+ &:is(:hover, :active, :focus-visible) > .swatch {
+ outline: 2px solid var(--hover-outline-color);
}
}
}
}
- #editorHighlightThickness{
- display:flex;
- flex-direction:column;
- align-items:center;
- gap:4px;
- align-self:stretch;
+ #editorHighlightThickness {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 4px;
+ align-self: stretch;
- .editorParamsLabel{
- height:auto;
- align-self:stretch;
+ .editorParamsLabel {
+ height: auto;
+ align-self: stretch;
}
- .thicknessPicker{
- display:flex;
- justify-content:space-between;
- align-items:center;
- align-self:stretch;
+ .thicknessPicker {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ align-self: stretch;
- --example-color:light-dark(#bfbfc9, #80808e);
+ --example-color: light-dark(#bfbfc9, #80808e);
- @media screen and (forced-colors: active){
- --example-color:CanvasText;
+ @media screen and (forced-colors: active) {
+ --example-color: CanvasText;
}
- :is(& > .editorParamsSlider[disabled]){
- opacity:0.4;
+ :is(& > .editorParamsSlider[disabled]) {
+ opacity: 0.4;
}
&::before,
- &::after{
- content:"";
- width:8px;
- aspect-ratio:1;
- display:block;
- border-radius:100%;
- background-color:var(--example-color);
+ &::after {
+ content: "";
+ width: 8px;
+ aspect-ratio: 1;
+ display: block;
+ border-radius: 100%;
+ background-color: var(--example-color);
}
- &::after{
- width:24px;
+ &::after {
+ width: 24px;
}
- .editorParamsSlider{
- width:unset;
- height:14px;
+ .editorParamsSlider {
+ width: unset;
+ height: 14px;
}
}
}
- #editorHighlightVisibility{
- display:flex;
- flex-direction:column;
- align-items:flex-start;
- gap:8px;
- align-self:stretch;
+ #editorHighlightVisibility {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: 8px;
+ align-self: stretch;
- .divider{
- --divider-color:light-dark(#d7d7db, #8f8f9d);
+ .divider {
+ --divider-color: light-dark(#d7d7db, #8f8f9d);
- @media screen and (forced-colors: active){
- --divider-color:CanvasText;
+ @media screen and (forced-colors: active) {
+ --divider-color: CanvasText;
}
- margin-block:4px;
- width:100%;
- height:1px;
- background-color:var(--divider-color);
+ margin-block: 4px;
+ width: 100%;
+ height: 1px;
+ background-color: var(--divider-color);
}
- .toggler{
- display:flex;
- justify-content:space-between;
- align-items:center;
- align-self:stretch;
+ .toggler {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ align-self: stretch;
}
}
}
-#altTextSettingsDialog{
- padding:16px;
+#altTextSettingsDialog {
+ padding: 16px;
- #altTextSettingsContainer{
- display:flex;
- width:573px;
- flex-direction:column;
- gap:16px;
+ #altTextSettingsContainer {
+ display: flex;
+ width: 573px;
+ flex-direction: column;
+ gap: 16px;
- .mainContainer{
- gap:16px;
+ .mainContainer {
+ gap: 16px;
}
- .description{
- color:var(--text-secondary-color);
+ .description {
+ color: var(--text-secondary-color);
}
- #aiModelSettings{
- display:flex;
- flex-direction:column;
- gap:12px;
+ #aiModelSettings {
+ display: flex;
+ flex-direction: column;
+ gap: 12px;
}
#automaticAltText,
- #altTextEditor{
- display:flex;
- flex-direction:column;
- gap:8px;
+ #altTextEditor {
+ display: flex;
+ flex-direction: column;
+ gap: 8px;
}
#createModelDescription,
#aiModelSettings,
- #showAltTextDialogDescription{
- padding-inline-start:40px;
+ #showAltTextDialogDescription {
+ padding-inline-start: 40px;
}
- #automaticSettings{
- display:flex;
- flex-direction:column;
- gap:16px;
+ #automaticSettings {
+ display: flex;
+ flex-direction: column;
+ gap: 16px;
}
}
}
-button.hasPopupMenu{
- &[aria-expanded="true"] + menu{
- visibility:visible;
+button.hasPopupMenu {
+ &[aria-expanded="true"] + menu {
+ visibility: visible;
}
- &[aria-expanded="false"] + menu{
- visibility:hidden;
+ &[aria-expanded="false"] + menu {
+ visibility: hidden;
}
}
-.popupMenu{
- --menuitem-checkmark-icon:url(images/checkmark.svg);
- --menu-mark-icon-size:0;
- --menu-icon-size:16px;
- --menuitem-gap:5px;
- --menuitem-border-color:transparent;
- --menuitem-active-bg:color-mix(
+.popupMenu {
+ --menuitem-checkmark-icon: url(images/checkmark.svg);
+ --menu-mark-icon-size: 0;
+ --menu-icon-size: 16px;
+ --menuitem-gap: 5px;
+ --menuitem-border-color: transparent;
+ --menuitem-active-bg: color-mix(
in srgb,
var(--menu-text-color),
transparent 79%
);
- --menuitem-text-active-fg:var(--menu-text-color);
- --menuitem-active-border-color:var(--menuitem-border-color);
- --menuitem-focus-bg:color-mix(
+ --menuitem-text-active-fg: var(--menu-text-color);
+ --menuitem-active-border-color: var(--menuitem-border-color);
+ --menuitem-focus-bg: color-mix(
in srgb,
var(--menu-text-color),
transparent 93%
);
- --menuitem-focus-outline-color:light-dark(#0062fa, #00cadb);
- --menuitem-focus-border-color:light-dark(white, black);
-
- --menu-bg:light-dark(white, #23222b);
- --menu-background-blend-mode:normal;
- --menu-box-shadow:0 0.375px 1.5px 0 light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)), 0 3px 12px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
- --menu-border-color:light-dark(rgb(21 20 26 / 0.1), rgb(251 251 254 / 0.1));
- --menuitem-border-radius:8px;
- --menu-backdrop-filter:none;
- --menu-text-color:light-dark(#15141a, #fbfbfe);
- --menu-text-disabled-color:var(--menu-text-color);
- --menuitem-text-hover-fg:var(--menu-text-color);
- --menuitem-hover-bg:color-mix(
+ --menuitem-focus-outline-color: var(
+ --focus-outline-color,
+ light-dark(#0062fa, #00cadb)
+ );
+ --menuitem-focus-border-color: light-dark(white, black);
+
+ --menu-bg: var(--background-color-box, light-dark(white, #23222b));
+ --menu-background-blend-mode: normal;
+ --menu-box-shadow:
+ 0 0.375px 1.5px 0 light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)),
+ 0 3px 12px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
+ --menu-border-color: light-dark(rgb(21 20 26 / 0.1), rgb(251 251 254 / 0.1));
+ --menuitem-border-radius: 8px;
+ --menu-backdrop-filter: none;
+ --menu-text-color: var(--text-color, light-dark(#15141a, #fbfbfe));
+ --menu-text-disabled-color: var(--menu-text-color);
+ --menuitem-text-hover-fg: var(--menu-text-color);
+ --menuitem-hover-bg: color-mix(
in srgb,
var(--menu-text-color),
transparent 86%
);
- --menuitem-hover-background-blend-mode:normal;
- --disabled-opacity:0.62;
-
- @media screen and (forced-colors: active){
- --menu-bg:Canvas;
- --menu-background-blend-mode:normal;
- --menu-box-shadow:none;
- --menu-backdrop-filter:none;
- --menu-text-color:ButtonText;
- --menu-text-disabled-color:GrayText;
- --menu-border-color:CanvasText;
- --menuitem-border-color:none;
- --menuitem-hover-bg:SelectedItemText;
- --menuitem-text-hover-fg:SelectedItem;
- --menuitem-active-bg:SelectedItemText;
- --menuitem-active-border-color:ButtonText;
- --menuitem-text-active-fg:SelectedItem;
- --menuitem-focus-bg:ButtonFace;
- --menuitem-focus-outline-color:CanvasText;
- --menuitem-focus-border-color:none;
- --disabled-opacity:1;
- }
-
- display:flex;
- flex-direction:column;
- width:-moz-max-content;
- width:max-content;
- height:auto;
- position:relative;
- left:0;
- top:1px;
- margin:0;
- padding:5px;
- box-sizing:border-box;
-
- background:var(--menu-bg);
- background-blend-mode:var(--menu-background-blend-mode);
- box-shadow:var(--menu-box-shadow);
- border-radius:6px;
- border:1px solid var(--menu-border-color);
- backdrop-filter:var(--menu-backdrop-filter);
-
- &.withMark{
- --menu-mark-icon-size:16px;
- }
-
- > button{
- display:flex;
- align-items:center;
- position:relative;
- width:100%;
- height:26px;
- padding-inline:calc(var(--menu-mark-icon-size) + var(--menuitem-gap)) var(--menuitem-gap);
- gap:var(--menuitem-gap);
- box-sizing:border-box;
- border-radius:var(--menuitem-border-radius);
- border:1px solid var(--menuitem-border-color);
- background:transparent;
-
- &.selected::after{
- content:"";
- display:inline-block;
- width:11px;
- height:11px;
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-position:center;
- mask-position:center;
- -webkit-mask-image:var(--menuitem-checkmark-icon);
- mask-image:var(--menuitem-checkmark-icon);
- background-color:var(--menu-text-color);
- position:absolute;
- inset-inline-start:var(--menuitem-gap);
- top:50%;
- transform:translateY(-50%);
- }
-
- &:disabled{
- opacity:var(--disabled-opacity);
-
- &.selected::after{
- background-color:var(--menu-text-disabled-color);
- }
-
- &:not(.noIcon)::before{
- background-color:var(--menu-text-disabled-color);
- }
-
- > span{
- color:var(--menu-text-disabled-color);
- }
- }
-
- &:not(:disabled){
- &:hover{
- background:var(--menuitem-hover-bg);
- background-blend-mode:var(--menuitem-hover-background-blend-mode);
-
- &:not(.noIcon)::before{
- background-color:var(--menuitem-text-hover-fg);
+ --menuitem-hover-background-blend-mode: normal;
+ --disabled-opacity: 0.62;
+
+ @media screen and (forced-colors: active) {
+ --menu-bg: var(--background-color-box, Canvas);
+ --menu-background-blend-mode: normal;
+ --menu-box-shadow: none;
+ --menu-backdrop-filter: none;
+ --menu-text-color: var(--text-color, ButtonText);
+ --menu-text-disabled-color: GrayText;
+ --menu-border-color: CanvasText;
+ --menuitem-border-color: none;
+ --menuitem-hover-bg: SelectedItemText;
+ --menuitem-text-hover-fg: SelectedItem;
+ --menuitem-active-bg: SelectedItemText;
+ --menuitem-active-border-color: ButtonText;
+ --menuitem-text-active-fg: SelectedItem;
+ --menuitem-focus-bg: ButtonFace;
+ --menuitem-focus-outline-color: var(--focus-outline-color, CanvasText);
+ --menuitem-focus-border-color: none;
+ --disabled-opacity: 1;
+ }
+
+ display: flex;
+ flex-direction: column;
+ width: -moz-max-content;
+ width: max-content;
+ height: auto;
+ position: relative;
+ left: 0;
+ top: 1px;
+ margin: 0;
+ padding: 5px;
+ box-sizing: border-box;
+
+ background: var(--menu-bg);
+ background-blend-mode: var(--menu-background-blend-mode);
+ box-shadow: var(--menu-box-shadow);
+ border-radius: 6px;
+ border: 1px solid var(--menu-border-color);
+ backdrop-filter: var(--menu-backdrop-filter);
+
+ &.withMark {
+ --menu-mark-icon-size: 16px;
+ }
+
+ > button {
+ display: flex;
+ align-items: center;
+ position: relative;
+ width: 100%;
+ height: 26px;
+ padding-inline: calc(var(--menu-mark-icon-size) + var(--menuitem-gap))
+ var(--menuitem-gap);
+ gap: var(--menuitem-gap);
+ box-sizing: border-box;
+ border-radius: var(--menuitem-border-radius);
+ border: 1px solid var(--menuitem-border-color);
+ background: transparent;
+
+ &.selected::after {
+ content: "";
+ display: inline-block;
+ width: 11px;
+ height: 11px;
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-position: center;
+ mask-position: center;
+ -webkit-mask-image: var(--menuitem-checkmark-icon);
+ mask-image: var(--menuitem-checkmark-icon);
+ background-color: var(--menu-text-color);
+ position: absolute;
+ inset-inline-start: var(--menuitem-gap);
+ top: 50%;
+ transform: translateY(-50%) scaleX(var(--dir-factor));
+ }
+
+ &:disabled {
+ opacity: var(--disabled-opacity);
+
+ &.selected::after {
+ background-color: var(--menu-text-disabled-color);
+ }
+
+ &:not(.noIcon)::before {
+ background-color: var(--menu-text-disabled-color);
+ }
+
+ > span {
+ color: var(--menu-text-disabled-color);
+ }
+ }
+
+ &:not(:disabled) {
+ &:hover {
+ background: var(--menuitem-hover-bg);
+ background-blend-mode: var(--menuitem-hover-background-blend-mode);
+
+ &:not(.noIcon)::before {
+ background-color: var(--menuitem-text-hover-fg);
}
- > span{
- color:var(--menuitem-text-hover-fg);
+ > span {
+ color: var(--menuitem-text-hover-fg);
}
- &.selected::after{
- background-color:var(--menuitem-text-hover-fg);
+ &.selected::after {
+ background-color: var(--menuitem-text-hover-fg);
}
}
- &:active{
- background-color:var(--menuitem-active-bg);
- border-color:var(--menuitem-active-border-color);
+ &:active {
+ background-color: var(--menuitem-active-bg);
+ border-color: var(--menuitem-active-border-color);
- > span{
- color:var(--menuitem-text-active-fg);
+ > span {
+ color: var(--menuitem-text-active-fg);
}
}
- &:focus-visible{
- border-color:var(--menuitem-focus-border-color);
- background-color:var(--menuitem-focus-bg);
- outline:2px solid var(--menuitem-focus-outline-color);
- outline-offset:2px;
+ &:focus-visible {
+ border-color: var(--menuitem-focus-border-color);
+ background-color: var(--menuitem-focus-bg);
+ outline: 2px solid var(--menuitem-focus-outline-color);
+ outline-offset: 2px;
}
}
- &:not(.noIcon)::before{
- display:inline-block;
- width:var(--menu-icon-size);
- height:var(--menu-icon-size);
- content:"";
- -webkit-mask-size:cover;
- mask-size:cover;
- -webkit-mask-position:center;
- mask-position:center;
- background-color:var(--menu-text-color);
+ &:not(.noIcon)::before {
+ display: inline-block;
+ width: var(--menu-icon-size);
+ height: var(--menu-icon-size);
+ content: "";
+ -webkit-mask-size: cover;
+ mask-size: cover;
+ -webkit-mask-position: center;
+ mask-position: center;
+ background-color: var(--menu-text-color);
}
- > span{
- display:flex;
- align-items:center;
- align-self:stretch;
- width:100%;
- min-width:-moz-max-content;
- min-width:max-content;
- text-align:start;
- color:var(--menu-text-color);
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
- padding-inline-start:6px;
+ > span {
+ display: flex;
+ align-items: center;
+ align-self: stretch;
+ width: 100%;
+ min-width: -moz-max-content;
+ min-width: max-content;
+ text-align: start;
+ color: var(--menu-text-color);
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ padding-inline-start: 6px;
- font:menu;
- font-size:13px;
- font-style:normal;
- font-weight:510;
- line-height:normal;
+ font: menu;
+ font-size: 13px;
+ font-style: normal;
+ font-weight: 510;
+ line-height: normal;
}
}
+
}
-.treeView{
- --treeitem-color:light-dark(rgb(0 0 0 / 0.8), rgb(255 255 255 / 0.8));
- --treeitem-bg-color:light-dark(rgb(0 0 0 / 0.15), rgb(255 255 255 / 0.15));
- --treeitem-hover-color:light-dark(rgb(0 0 0 / 0.9), rgb(255 255 255 / 0.9));
- --treeitem-selected-color:light-dark(
+.treeView {
+ --treeitem-color: light-dark(rgb(0 0 0 / 0.8), rgb(255 255 255 / 0.8));
+ --treeitem-bg-color: light-dark(rgb(0 0 0 / 0.15), rgb(255 255 255 / 0.15));
+ --treeitem-hover-color: light-dark(rgb(0 0 0 / 0.9), rgb(255 255 255 / 0.9));
+ --treeitem-selected-color: light-dark(
rgb(0 0 0 / 0.9),
rgb(255 255 255 / 0.9)
);
- --treeitem-selected-bg-color:light-dark(
+ --treeitem-selected-bg-color: light-dark(
rgb(0 0 0 / 0.25),
rgb(255 255 255 / 0.25)
);
- --treeitem-expanded-icon:url(images/treeitem-expanded.svg);
- --treeitem-collapsed-icon:url(images/treeitem-collapsed.svg);
-
- &.withNesting{
- .treeItemToggler{
- &::before{
- position:absolute;
- display:inline-block;
- width:16px;
- height:16px;
- inset-inline-end:4px;
-
- content:"";
- background-color:var(--toolbar-icon-bg-color);
- -webkit-mask-image:var(--treeitem-expanded-icon);
- mask-image:var(--treeitem-expanded-icon);
- -webkit-mask-size:cover;
- mask-size:cover;
- }
-
- position:relative;
- float:inline-start;
- height:0;
- width:0;
- color:rgb(255 255 255 / 0.5);
-
- &.treeItemsHidden{
- &::before{
- -webkit-mask-image:var(--treeitem-collapsed-icon);
- mask-image:var(--treeitem-collapsed-icon);
- transform:scaleX(var(--dir-factor));
+ --treeitem-expanded-icon: url(images/treeitem-expanded.svg);
+ --treeitem-collapsed-icon: url(images/treeitem-collapsed.svg);
+
+ &.withNesting {
+ .treeItemToggler {
+ &::before {
+ position: absolute;
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ inset-inline-end: 4px;
+
+ content: "";
+ background-color: var(--toolbar-icon-bg-color);
+ -webkit-mask-image: var(--treeitem-expanded-icon);
+ mask-image: var(--treeitem-expanded-icon);
+ -webkit-mask-size: cover;
+ mask-size: cover;
+ }
+
+ position: relative;
+ float: inline-start;
+ height: 0;
+ width: 0;
+ color: rgb(255 255 255 / 0.5);
+
+ &.treeItemsHidden {
+ &::before {
+ -webkit-mask-image: var(--treeitem-collapsed-icon);
+ mask-image: var(--treeitem-collapsed-icon);
+ transform: scaleX(var(--dir-factor));
}
- ~ .treeItems{
- display:none;
+ ~ .treeItems {
+ display: none;
}
}
&:hover + a,
- &:hover ~ .treeItems{
- background-color:var(--treeitem-bg-color);
- background-clip:padding-box;
- border-radius:2px;
- color:var(--treeitem-hover-color);
+ &:hover ~ .treeItems {
+ background-color: var(--treeitem-bg-color);
+ background-clip: padding-box;
+ border-radius: 2px;
+ color: var(--treeitem-hover-color);
}
}
> .treeItem,
- .treeItem > .treeItems{
- margin-inline-start:20px;
+ .treeItem > .treeItems {
+ margin-inline-start: 20px;
}
}
- layersView .treeItem > a{
- *{
- cursor:pointer;
+ layersView .treeItem > a {
+ * {
+ cursor: pointer;
}
- > label{
- display:flex;
- align-items:center;
- padding-inline-start:4px;
- > input{
- margin-top:1px;
+ > label {
+ display: flex;
+ align-items: center;
+ padding-inline-start: 4px;
+ > input {
+ margin-top: 1px;
}
}
}
- .treeItem{
- > a{
- text-decoration:none;
- display:inline-block;
- min-width:calc(100% - 4px);
- height:auto;
- margin-bottom:1px;
- padding:2px 0 5px;
- padding-inline-start:4px;
- border-radius:2px;
- color:var(--treeitem-color);
- font-size:13px;
- line-height:15px;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
- white-space:normal;
- cursor:default;
+ .treeItem {
+ > a {
+ text-decoration: none;
+ display: inline-block;
+ min-width: calc(100% - 4px);
+ height: auto;
+ margin-bottom: 1px;
+ padding: 2px 0 5px;
+ padding-inline-start: 4px;
+ border-radius: 2px;
+ color: var(--treeitem-color);
+ font-size: 13px;
+ line-height: 15px;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ white-space: normal;
+ cursor: default;
+
+ &:hover {
+ background-color: var(--treeitem-bg-color);
+ background-clip: padding-box;
+ border-radius: 2px;
+ color: var(--treeitem-hover-color);
- &:hover{
- background-color:var(--treeitem-bg-color);
- background-clip:padding-box;
- border-radius:2px;
- color:var(--treeitem-hover-color);
}
}
- &.selected > a{
- background-color:var(--treeitem-selected-bg-color);
- color:var(--treeitem-selected-color);
+ &.selected > a {
+ background-color: var(--treeitem-selected-bg-color);
+ color: var(--treeitem-selected-color);
}
}
}
-#outerContainer{
- &.viewsManagerMoving{
- #viewsManager{
- visibility:visible;
+#outerContainer {
+ &.viewsManagerMoving {
+ #viewsManager {
+ visibility: visible;
}
}
- &.viewsManagerOpen{
- #viewsManager{
- visibility:visible;
- inset-inline-start:8px;
+ &.viewsManagerOpen {
+ #viewsManager {
+ visibility: visible;
+ inset-inline-start: 8px;
}
- #viewerContainer:not(.pdfPresentationMode){
- inset-inline-start:var(--viewsManager-width, 0);
- transition-property:inset-inline-start;
+ #viewerContainer:not(.pdfPresentationMode) {
+ inset-inline-start: var(--viewsManager-width, 0);
+ transition-property: inset-inline-start;
}
}
- &.viewsManagerResizing :is(#sidebarContainer, #viewerContainer, #loadingBar){
- transition-duration:0s;
+ &.viewsManagerResizing :is(#sidebarContainer, #viewerContainer, #loadingBar) {
+ transition-duration: 0s;
}
}
-#viewsManager{
- --views-manager-button-icon:url(images/pages_viewButton.svg);
- --views-manager-button-arrow-icon:url(images/pages_viewArrow.svg);
- --views-manager-add-file-button-icon:url(images/toolbarButton-zoomIn.svg);
- --current-outline-button-icon:url(images/toolbarButton-currentOutlineItem.svg);
- --menuitem-thumbnailsView-icon:url(images/pages_viewButton.svg);
- --menuitem-outlinesView-icon:url(images/toolbarButton-viewOutline.svg);
- --menuitem-attachmentsView-icon:url(images/toolbarButton-viewAttachments.svg);
- --menuitem-layersView-icon:url(images/toolbarButton-viewLayers.svg);
- --manage-button-icon:url(images/toolbarButton-pageDown.svg);
- --close-button-icon:url(images/pages_closeButton.svg);
- --undo-label-icon:url(images/altText_done.svg);
- --pages-selected-icon:url(images/pages_selected.svg);
- --spinner-icon:url(images/altText_spinner.svg);
+#viewsManager {
+ --views-manager-button-icon: url(images/pages_viewButton.svg);
+ --views-manager-button-arrow-icon: url(images/pages_viewArrow.svg);
+ --views-manager-add-file-button-icon: url(images/toolbarButton-zoomIn.svg);
+ --current-outline-button-icon: url(images/toolbarButton-currentOutlineItem.svg);
+ --menuitem-thumbnailsView-icon: url(images/pages_viewButton.svg);
+ --menuitem-outlinesView-icon: url(images/toolbarButton-viewOutline.svg);
+ --menuitem-attachmentsView-icon: url(images/toolbarButton-viewAttachments.svg);
+ --menuitem-layersView-icon: url(images/toolbarButton-viewLayers.svg);
+ --manage-button-icon: url(images/toolbarButton-pageDown.svg);
+ --close-button-icon: url(images/pages_closeButton.svg);
+ --undo-label-icon: url(images/altText_done.svg);
+ --pages-selected-icon: url(images/pages_selected.svg);
+ --spinner-icon: url(images/altText_spinner.svg);
- --sidebar-bg-color:light-dark(rgb(255 255 255 / 0.92), rgb(66 65 77 / 0.92));
- --sidebar-backdrop-filter:blur(7px);
- --sidebar-width:230px;
- --sidebar-min-width:min-content;
- --sidebar-max-width:50vw;
- --sidebar-block-padding:8px;
+ --sidebar-bg-color: light-dark(rgb(255 255 255 / 0.92), rgb(66 65 77 / 0.92));
+ --sidebar-backdrop-filter: blur(7px);
+ --sidebar-width: 230px;
+ --sidebar-min-width: min-content;
+ --sidebar-max-width: 50vw;
+ --sidebar-block-padding: 8px;
- --text-color:light-dark(#15141a, #fbfbfe);
- --button-fg:var(--text-color);
- --button-no-bg:transparent;
- --button-bg:light-dark(rgb(21 20 26 / 0.07), rgb(251 251 254 / 0.07));
- --button-border-color:transparent;
- --button-hover-bg:light-dark(rgb(21 20 26 / 0.14), rgb(251 251 254 / 0.14));
- --button-hover-fg:var(--text-color);
- --button-hover-border-color:var(--button-border-color);
- --button-active-bg:light-dark(rgb(21 20 26 / 0.21), rgb(251 251 254 / 0.21));
- --button-active-fg:var(--text-color);
- --button-active-border-color:var(--button-border-color);
- --button-focus-no-bg:color-mix(in srgb, var(--text-color), transparent 93%);
- --button-focus-outline-color:light-dark(#0062fa, #00cadb);
- --button-focus-border-color:light-dark(white, black);
- --status-border-color:transparent;
- --status-actions-bg:light-dark(
+ --views-text-color: var(--text-color, light-dark(#15141a, #fbfbfe));
+ --button-fg: var(--views-text-color);
+ --button-no-bg: var(--button-background-color-toolbar, transparent);
+ --button-bg: var(
+ --button-background-color,
+ light-dark(rgb(21 20 26 / 0.07), rgb(251 251 254 / 0.07))
+ );
+ --views-button-border-color: var(--button-border-color, transparent);
+ --button-hover-bg: var(
+ --button-background-color-hover,
+ light-dark(rgb(21 20 26 / 0.14), rgb(251 251 254 / 0.14))
+ );
+ --button-hover-fg: var(--views-text-color);
+ --button-hover-border-color: var(--views-button-border-color);
+ --button-active-bg: var(
+ --button-background-color-active,
+ light-dark(rgb(21 20 26 / 0.21), rgb(251 251 254 / 0.21))
+ );
+ --button-active-fg: var(--views-text-color);
+ --button-active-border-color: var(--views-button-border-color);
+ --button-focus-no-bg: color-mix(
+ in srgb,
+ var(--views-text-color),
+ transparent 93%
+ );
+ --button-focus-outline-color: var(
+ --focus-outline-color,
+ light-dark(#0062fa, #00cadb)
+ );
+ --button-focus-border-color: light-dark(white, black);
+ --status-border-color: transparent;
+ --status-actions-bg: light-dark(
rgb(21 20 26 / 0.03),
rgb(251 251 254 / 0.03)
);
- --status-undo-bg:light-dark(rgb(0 98 250 / 0.08), rgb(0 202 219 / 0.08));
- --status-waiting-bg:var(--status-undo-bg);
- --indicator-color:light-dark(#0062fa, #00cadb);
- --status-warning-bg:light-dark(#ffe8ea, #6e001f);
- --indicator-warning-color:light-dark(#b20037, #ffa0aa);
- --header-shadow:0 0.25px 0.75px -0.75px light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)), 0 2px 6px -6px light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
- --header-bg:light-dark(rgb(255 255 255 / 0.92), #42414e);
- --image-outline:none;
- --image-border-width:6px;
- --image-border-color:light-dark(#cfcfd8, #3a3944);
- --image-hover-border-color:#bfbfc9;
- --image-current-border-color:var(--button-focus-outline-color);
- --image-current-focused-outline-color:var(--image-hover-border-color);
- --image-page-number-bg:light-dark(#f0f0f4, #42414d);
- --image-page-number-fg:var(--text-color);
- --image-page-number-border-color:transparent;
- --image-hover-page-number-bg:var(--image-page-number-bg);
- --image-hover-page-number-fg:var(--image-page-number-fg);
- --image-current-page-number-bg:var(--image-current-border-color);
- --image-current-page-number-fg:light-dark(#fff, #15141a);
- --image-current-hover-page-number-bg:var(--image-current-page-number-bg);
- --image-current-hover-page-number-fg:var(--image-current-page-number-fg);
- --image-shadow:0 0.375px 1.5px 0 light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)), 0 0 0 1px var(--image-border-color), 0 3px 12px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
- --image-hover-shadow:0 0.375px 1.5px 0 light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)), 0 0 0 1px light-dark(rgb(21 20 26 / 0.1), rgb(251 251 254 / 0.1)), 0 0 0 var(--image-border-width) var(--image-hover-border-color), 0 3px 12px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
- --image-current-shadow:0 0.375px 1.5px 0 light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)), 0 0 0 var(--image-border-width) var(--image-current-border-color), 0 3px 12px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
- --image-dragging-placeholder-bg:light-dark(
+ --status-undo-bg: light-dark(rgb(0 98 250 / 0.08), rgb(0 202 219 / 0.08));
+ --status-waiting-bg: var(--status-undo-bg);
+ --indicator-color: var(--color-accent-primary, light-dark(#0062fa, #00cadb));
+ --status-warning-bg: light-dark(#ffe8ea, #6e001f);
+ --indicator-warning-color: light-dark(#b20037, #ffa0aa);
+ --header-shadow:
+ 0 0.25px 0.75px -0.75px light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)),
+ 0 2px 6px -6px light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
+ --header-bg: light-dark(rgb(255 255 255 / 0.92), #42414e);
+ --image-outline: none;
+ --image-border-width: 6px;
+ --image-border-color: light-dark(#cfcfd8, #3a3944);
+ --image-hover-border-color: #bfbfc9;
+ --image-current-border-color: var(--button-focus-outline-color);
+ --image-current-focused-outline-color: var(--image-hover-border-color);
+ --image-page-number-bg: light-dark(#f0f0f4, #42414d);
+ --image-page-number-fg: var(--views-text-color);
+ --image-page-number-border-color: transparent;
+ --image-hover-page-number-bg: var(--image-page-number-bg);
+ --image-hover-page-number-fg: var(--image-page-number-fg);
+ --image-current-page-number-bg: var(--image-current-border-color);
+ --image-current-page-number-fg: light-dark(#fff, #15141a);
+ --image-current-hover-page-number-bg: var(--image-current-page-number-bg);
+ --image-current-hover-page-number-fg: var(--image-current-page-number-fg);
+ --image-shadow:
+ 0 0.375px 1.5px 0 light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)),
+ 0 0 0 1px var(--image-border-color),
+ 0 3px 12px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
+ --image-hover-shadow:
+ 0 0.375px 1.5px 0 light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)),
+ 0 0 0 1px light-dark(rgb(21 20 26 / 0.1), rgb(251 251 254 / 0.1)),
+ 0 0 0 var(--image-border-width) var(--image-hover-border-color),
+ 0 3px 12px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
+ --image-current-shadow:
+ 0 0.375px 1.5px 0 light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)),
+ 0 0 0 var(--image-border-width) var(--image-current-border-color),
+ 0 3px 12px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
+ --image-dragging-placeholder-bg: light-dark(
rgb(0 98 250 / 0.08),
rgb(0 202 219 / 0.08)
);
- --image-dragging-placeholder-border:var(--image-outline);
- --multiple-dragging-bg:white;
- --image-multiple-dragging-shadow:0 0 0 var(--image-border-width) var(--image-current-border-color), var(--image-border-width) var(--image-border-width) 0 calc(var(--image-border-width) / 2) var(--multiple-dragging-bg), var(--image-border-width) var(--image-border-width) 0 calc(3 * var(--image-border-width) / 2) var(--image-current-border-color);
- --image-dragging-shadow:0 0 0 var(--image-border-width) var(--image-current-border-color);
- --multiple-dragging-indicator-bg:var(--indicator-color);
- --multiple-dragging-text-color:light-dark(#fbfbfe, #15141a);
-
- @media screen and (forced-colors: active){
- --text-color:CanvasText;
- --button-fg:ButtonText;
- --button-bg:ButtonFace;
- --button-no-bg:ButtonFace;
- --button-border-color:ButtonText;
- --button-hover-bg:SelectedItemText;
- --button-hover-fg:SelectedItem;
- --button-hover-border-color:SelectedItem;
- --button-active-bg:SelectedItemText;
- --button-active-fg:SelectedItem;
- --button-active-border-color:ButtonText;
- --button-focus-no-bg:ButtonFace;
- --button-focus-outline-color:CanvasText;
- --button-focus-border-color:none;
- --status-border-color:CanvasText;
- --status-undo-bg:none;
- --indicator-color:CanvasText;
- --status-warning-bg:none;
- --indicator-warning-color:CanvasText;
- --header-shadow:none;
- --image-shadow:none;
- --image-outline:1px solid ButtonText;
- --image-focus-outline-color:CanvasText;
- --image-hover-border-color:SelectedItem;
- --image-hover-page-number-bg:SelectedItemText;
- --image-hover-page-number-fg:SelectedItem;
- --image-current-page-number-bg:ButtonText;
- --image-current-page-number-fg:ButtonFace;
- --image-current-border-color:ButtonText;
- --image-current-focused-outline-color:var(--image-hover-border-color);
- --image-current-hover-page-number-bg:SelectedItem;
- --image-current-hover-page-number-fg:SelectedItemText;
- --image-page-number-bg:ButtonFace;
- --image-page-number-fg:ButtonText;
- --image-page-number-border-color:var(--image-page-number-fg);
- --multiple-dragging-bg:Canvas;
- --multiple-dragging-indicator-bg:ButtonBorder;
- --multiple-dragging-text-color:Canvas;
- --image-dragging-placeholder-bg:Canvas;
- --image-dragging-placeholder-border:1px GrayText solid;
- }
-
- display:flex;
- padding-bottom:16px;
- flex-direction:column;
- align-items:flex-start;
- inset-block-start:calc(100% + var(--sidebar-block-padding));
- height:calc(
+ --image-dragging-placeholder-border: var(--image-outline);
+ --multiple-dragging-bg: white;
+ --image-multiple-dragging-shadow:
+ 0 0 0 var(--image-border-width) var(--image-current-border-color),
+ var(--image-border-width) var(--image-border-width) 0
+ calc(var(--image-border-width) / 2) var(--multiple-dragging-bg),
+ var(--image-border-width) var(--image-border-width) 0
+ calc(3 * var(--image-border-width) / 2) var(--image-current-border-color);
+ --image-dragging-shadow: 0 0 0 var(--image-border-width)
+ var(--image-current-border-color);
+ --multiple-dragging-indicator-bg: var(--indicator-color);
+ --multiple-dragging-text-color: light-dark(#fbfbfe, #15141a);
+
+ @media screen and (forced-colors: active) {
+ --views-text-color: var(--text-color, CanvasText);
+ --button-fg: var(--button-text-color, ButtonText);
+ --button-bg: var(--button-background-color, ButtonFace);
+ --button-no-bg: var(--button-background-color, ButtonFace);
+ --views-button-border-color: var(--button-border-color, ButtonText);
+ --button-hover-bg: var(--button-background-color-hover, SelectedItemText);
+ --button-hover-fg: var(--button-text-color-hover, SelectedItem);
+ --button-hover-border-color: var(--button-border-color-hover, SelectedItem);
+ --button-active-bg: var(--button-background-color-active, SelectedItemText);
+ --button-active-fg: var(--button-text-color-active, SelectedItem);
+ --button-active-border-color: var(--button-border-color-active, ButtonText);
+ --button-focus-no-bg: var(--button-background-color, ButtonFace);
+ --button-focus-outline-color: var(--focus-outline-color, CanvasText);
+ --button-focus-border-color: none;
+ --status-border-color: CanvasText;
+ --status-undo-bg: none;
+ --indicator-color: var(--text-color, CanvasText);
+ --status-warning-bg: none;
+ --indicator-warning-color: CanvasText;
+ --header-shadow: none;
+ --image-shadow: none;
+ --image-outline: 1px solid ButtonText;
+ --image-focus-outline-color: CanvasText;
+ --image-hover-border-color: SelectedItem;
+ --image-hover-page-number-bg: SelectedItemText;
+ --image-hover-page-number-fg: SelectedItem;
+ --image-current-page-number-bg: ButtonText;
+ --image-current-page-number-fg: ButtonFace;
+ --image-current-border-color: var(--border-color, ButtonText);
+ --image-current-focused-outline-color: var(--image-hover-border-color);
+ --image-current-hover-page-number-bg: SelectedItem;
+ --image-current-hover-page-number-fg: SelectedItemText;
+ --image-page-number-bg: ButtonFace;
+ --image-page-number-fg: ButtonText;
+ --image-page-number-border-color: var(--image-page-number-fg);
+ --multiple-dragging-bg: Canvas;
+ --multiple-dragging-indicator-bg: var(--text-color, ButtonBorder);
+ --multiple-dragging-text-color: Canvas;
+ --image-dragging-placeholder-bg: Canvas;
+ --image-dragging-placeholder-border: 1px GrayText solid;
+ }
+
+ display: flex;
+ padding-block: 0 16px;
+ flex-direction: column;
+ align-items: flex-start;
+ inset-block-start: calc(100% + var(--sidebar-block-padding));
+ height: calc(
var(--viewer-container-height) - 2 * var(--sidebar-block-padding)
);
- position:absolute;
+ position: absolute;
- inset-inline-start:calc(
+ inset-inline-start: calc(
-1 * var(--viewsManager-width, --sidebar-width) - 1px
);
- transition-property:inset-inline-start;
- transition-duration:var(--sidebar-transition-duration);
- transition-timing-function:var(--sidebar-transition-timing-function);
-
- .sidebarResizer{
- inset-inline-start:calc(100% + 4px);
- }
-
- .viewsManagerButton{
- width:auto;
- color:var(--button-fg);
- border-radius:8px;
- border:1px solid var(--button-border-color);
- background:var(--button-bg);
-
- &:hover{
- background-color:var(--button-hover-bg) !important;
- color:var(--button-hover-fg) !important;
- border-color:var(--button-hover-border-color) !important;
-
- &::before{
- background-color:var(--button-hover-fg) !important;
- }
- }
- &:active{
- background:var(--button-active-bg) !important;
- color:var(--button-active-fg) !important;
- border-color:var(--button-active-border-color) !important;
-
- &::before{
- background-color:var(--button-active-fg) !important;
- }
- }
- &:focus-visible{
- outline:2px solid var(--button-focus-outline-color);
- outline-offset:2px;
- border-color:var(--button-focus-border-color);
- }
-
- &.viewsCloseButton{
- width:26px;
- height:26px;
- padding:4px;
- border-radius:8px;
- background:none;
-
- &::before{
- -webkit-mask-image:var(--close-button-icon);
- mask-image:var(--close-button-icon);
- }
- }
- }
-
- #viewsManagerHeader{
- display:flex;
- flex-direction:column;
- align-items:flex-start;
- align-self:stretch;
- width:100%;
- box-shadow:var(--header-shadow);
- flex:0 0 auto;
- background-color:var(--header-bg);
-
- .viewsManagerLabel{
- flex:1 1 auto;
- color:var(--text-color);
- text-align:center;
- height:-moz-fit-content;
- height:fit-content;
- width:-moz-fit-content;
- width:fit-content;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
-
- font:menu;
- font-size:15px;
- font-style:normal;
- font-weight:400;
- line-height:normal;
- }
-
- #viewsManagerTitle{
- display:flex;
- flex-direction:row;
- align-items:center;
- align-self:stretch;
- justify-content:space-between;
- width:auto;
- padding:12px 16px 12px 8px;
-
- &:not(:has(#viewsManagerHeaderLabel ~ button:not([hidden])))::after{
-
- content:"";
- flex:0 0 auto;
- width:32px;
- height:32px;
- pointer-events:none;
- }
-
- #viewsManagerSelector{
- width:48px;
- height:32px;
- display:block;
-
- > button{
- background:var(--button-no-bg);
- width:100%;
- height:100%;
-
- &:focus-visible{
- background-color:var(--button-focus-no-bg);
+ transition-property: inset-inline-start;
+ transition-duration: var(--sidebar-transition-duration);
+ transition-timing-function: var(--sidebar-transition-timing-function);
+
+ .sidebarResizer {
+ inset-inline-start: calc(100% + 4px);
+ }
+
+ .viewsManagerButton {
+ width: auto;
+ color: var(--button-fg);
+ border-radius: var(--button-border-radius, 8px);
+ border: 1px solid var(--views-button-border-color);
+ background: var(--button-bg);
+
+ &:hover {
+ background-color: var(--button-hover-bg) !important;
+ color: var(--button-hover-fg) !important;
+ border-color: var(--button-hover-border-color) !important;
+
+ &::before {
+ background-color: var(--button-hover-fg) !important;
+ }
+ }
+ &:active {
+ background: var(--button-active-bg) !important;
+ color: var(--button-active-fg) !important;
+ border-color: var(--button-active-border-color) !important;
+
+ &::before {
+ background-color: var(--button-active-fg) !important;
+ }
+ }
+ &:focus-visible {
+ outline: 2px solid var(--button-focus-outline-color);
+ outline-offset: 2px;
+ border-color: var(--button-focus-border-color);
+ }
+
+ &.viewsCloseButton {
+ width: var(--size-item-large, 26px);
+ height: var(--size-item-large, 26px);
+ border-radius: var(--button-border-radius, 8px);
+ background: none;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ &::before {
+ width: 16px;
+ height: 16px;
+ -webkit-mask-image: var(--close-button-icon);
+ mask-image: var(--close-button-icon);
+ }
+ }
+ }
+
+ #viewsManagerHeader {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ align-self: stretch;
+ width: 100%;
+ box-shadow: var(--header-shadow);
+ flex: 0 0 auto;
+ background-color: var(--header-bg);
+ border-start-start-radius: calc(var(--sidebar-border-radius) - 1px);
+ border-start-end-radius: calc(var(--sidebar-border-radius) - 1px);
+
+ .viewsManagerLabel {
+ flex: 1 1 auto;
+ color: var(--views-text-color);
+ text-align: center;
+ height: -moz-fit-content;
+ height: fit-content;
+ width: -moz-fit-content;
+ width: fit-content;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+
+ font: menu;
+ font-size: 15px;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ }
+
+ #viewsManagerTitle {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ align-self: stretch;
+ justify-content: space-between;
+ width: auto;
+ padding-block: 12px;
+ padding-inline: 8px 16px;
+
+ &:not(:has(#viewsManagerHeaderLabel ~ button:not([hidden])))::after {
+
+ content: "";
+ flex: 0 0 auto;
+ width: 32px;
+ height: 32px;
+ pointer-events: none;
+ }
+
+ #viewsManagerSelector {
+ width: 48px;
+ height: 32px;
+ display: block;
+
+ > button {
+ background: var(--button-no-bg);
+ width: 100%;
+ height: 100%;
+
+ &:focus-visible {
+ background-color: var(--button-focus-no-bg);
}
- &::before{
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-image:var(--views-manager-button-icon);
- mask-image:var(--views-manager-button-icon);
- background-color:var(--button-fg);
+ &::before {
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-image: var(--views-manager-button-icon);
+ mask-image: var(--views-manager-button-icon);
+ background-color: var(--button-fg);
}
- &::after{
- content:"";
- display:inline-block;
- width:12px;
- height:12px;
- margin-left:8px;
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-position:center;
- mask-position:center;
- -webkit-mask-image:var(--views-manager-button-arrow-icon);
- mask-image:var(--views-manager-button-arrow-icon);
- background-color:var(--button-fg);
+ &::after {
+ content: "";
+ display: inline-block;
+ width: 12px;
+ height: 12px;
+ margin-inline-start: 8px;
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-position: center;
+ mask-position: center;
+ -webkit-mask-image: var(--views-manager-button-arrow-icon);
+ mask-image: var(--views-manager-button-arrow-icon);
+ background-color: var(--button-fg);
}
- &:hover{
+ &:hover {
&::before,
- &::after{
- background-color:var(--button-hover-fg) !important;
+ &::after {
+ background-color: var(--button-hover-fg) !important;
}
}
- &:active{
+ &:active {
&::before,
- &::after{
- background-color:var(--button-active-fg) !important;
+ &::after {
+ background-color: var(--button-active-fg) !important;
}
}
}
- > .popupMenu{
- min-width:182px;
- z-index:1;
+ > .popupMenu {
+ min-width: 182px;
+ z-index: 1;
- > button{
- thumbnailsViewMenu::before{
- -webkit-mask-image:var(--menuitem-thumbnailsView-icon);
- mask-image:var(--menuitem-thumbnailsView-icon);
+ > button {
+ thumbnailsViewMenu::before {
+ -webkit-mask-image: var(--menuitem-thumbnailsView-icon);
+ mask-image: var(--menuitem-thumbnailsView-icon);
}
- outlinesViewMenu::before{
- -webkit-mask-image:var(--menuitem-outlinesView-icon);
- mask-image:var(--menuitem-outlinesView-icon);
+ outlinesViewMenu::before {
+ -webkit-mask-image: var(--menuitem-outlinesView-icon);
+ mask-image: var(--menuitem-outlinesView-icon);
}
- attachmentsViewMenu::before{
- -webkit-mask-image:var(--menuitem-attachmentsView-icon);
- mask-image:var(--menuitem-attachmentsView-icon);
+ attachmentsViewMenu::before {
+ -webkit-mask-image: var(--menuitem-attachmentsView-icon);
+ mask-image: var(--menuitem-attachmentsView-icon);
}
- layersViewMenu::before{
- -webkit-mask-image:var(--menuitem-layersView-icon);
- mask-image:var(--menuitem-layersView-icon);
+ layersViewMenu::before {
+ -webkit-mask-image: var(--menuitem-layersView-icon);
+ mask-image: var(--menuitem-layersView-icon);
}
}
}
}
- #viewsManagerAddFileButton{
- background:var(--button-no-bg);
- width:32px;
- height:32px;
+ #viewsManagerAddFileButton {
+ background: var(--button-no-bg);
+ width: 32px;
+ height: 32px;
- &:focus-visible{
- background-color:var(--button-focus-no-bg);
+ &:focus-visible {
+ background-color: var(--button-focus-no-bg);
}
- &::before{
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-image:var(--views-manager-add-file-button-icon);
- mask-image:var(--views-manager-add-file-button-icon);
- background-color:var(--button-fg);
+ &::before {
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-image: var(--views-manager-add-file-button-icon);
+ mask-image: var(--views-manager-add-file-button-icon);
+ background-color: var(--button-fg);
}
- > input{
- display:none;
+ > input {
+ display: none;
}
}
- #viewsManagerCurrentOutlineButton{
- background:var(--button-no-bg);
- width:32px;
- height:32px;
+ #viewsManagerCurrentOutlineButton {
+ background: var(--button-no-bg);
+ width: 32px;
+ height: 32px;
- &:focus-visible{
- background-color:var(--button-focus-no-bg);
+ &:focus-visible {
+ background-color: var(--button-focus-no-bg);
}
- &::before{
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-image:var(--current-outline-button-icon);
- mask-image:var(--current-outline-button-icon);
- background-color:var(--button-fg);
+ &::before {
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-image: var(--current-outline-button-icon);
+ mask-image: var(--current-outline-button-icon);
+ background-color: var(--button-fg);
}
}
}
- #viewsManagerStatus{
- display:grid;
- width:100%;
- border:1px solid var(--status-border-color);
+ #viewsManagerStatus {
+ display: grid;
+ width: 100%;
+ border: 1px solid var(--status-border-color);
- > div{
- min-height:64px;
- width:100%;
- padding-inline:16px;
- grid-area:1 / 1;
- box-sizing:border-box;
+ > div {
+ min-height: 64px;
+ width: 100%;
+ padding-inline: 16px;
+ grid-area: 1 / 1;
+ box-sizing: border-box;
- &.hidden{
- visibility:hidden;
- display:unset !important;
+ &.hidden {
+ visibility: hidden;
+ display: unset !important;
}
}
- .viewsManagerStatusLabel{
- display:flex;
- align-items:center;
- gap:8px;
-
- font:menu;
- font-size:13px;
- }
-
- #viewsManagerStatusAction{
- display:flex;
- justify-content:space-between;
- align-items:center;
- align-self:stretch;
- background-color:var(--status-actions-bg);
-
- #viewsManagerStatusActionLabelContainer > button{
- position:relative;
- width:var(--icon-size);
- height:var(--icon-size);
- border:none;
- padding:0;
- flex:0 0 auto;
-
- &::before{
- content:"";
- position:absolute;
- inset:0;
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-position:center;
- mask-position:center;
- background-color:var(--indicator-color);
- -webkit-mask-image:var(--pages-selected-icon);
- mask-image:var(--pages-selected-icon);
+ .viewsManagerStatusLabel {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+
+ font: menu;
+ font-size: 13px;
+ }
+
+ #viewsManagerStatusAction {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ align-self: stretch;
+ background-color: var(--status-actions-bg);
+
+ #viewsManagerStatusActionLabelContainer > button {
+ position: relative;
+ width: var(--icon-size);
+ height: var(--icon-size);
+ border: none;
+ padding: 0;
+ flex: 0 0 auto;
+
+ &::before {
+ content: "";
+ position: absolute;
+ inset: 0;
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-position: center;
+ mask-position: center;
+ background-color: var(--indicator-color);
+ -webkit-mask-image: var(--pages-selected-icon);
+ mask-image: var(--pages-selected-icon);
}
- @media screen and (forced-colors: active){
- border-radius:2px;
- background-color:var(--button-bg);
+ @media screen and (forced-colors: active) {
+ border-radius: 2px;
+ background-color: var(--button-bg);
- &::before{
- background-color:var(--button-fg);
+ &::before {
+ background-color: var(--button-fg);
}
- &:hover{
- background-color:var(--button-hover-bg);
+ &:hover {
+ background-color: var(--button-hover-bg);
- &::before{
- background-color:var(--button-hover-fg);
+ &::before {
+ background-color: var(--button-hover-fg);
}
}
- &:active{
- background-color:var(--button-active-bg);
+ &:active {
+ background-color: var(--button-active-bg);
- &::before{
- background-color:var(--button-active-fg);
+ &::before {
+ background-color: var(--button-active-fg);
}
}
}
- viewsManagerStatusActionDeselectButton:focus-visible{
- outline:2px solid var(--button-focus-outline-color);
- border:1px solid var(--button-focus-border-color);
- border-radius:2px;
- outline-offset:1px;
+ viewsManagerStatusActionDeselectButton:focus-visible {
+ outline: 2px solid var(--button-focus-outline-color);
+ border: 1px solid var(--button-focus-border-color);
+ border-radius: 2px;
+ outline-offset: 1px;
}
}
- #actionSelector{
- height:32px;
- min-width:115px;
- width:auto;
- display:block;
-
- #viewsManagerStatusActionButton{
- display:flex;
- align-items:center;
- justify-content:space-between;
- gap:8px;
- width:100%;
- height:100%;
- padding:4px 16px;
-
- &::after{
- content:"";
- display:inline-block;
- width:var(--icon-size);
- height:var(--icon-size);
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-position:center;
- mask-position:center;
- -webkit-mask-image:var(--manage-button-icon);
- mask-image:var(--manage-button-icon);
- background-color:var(--button-fg);
+ #actionSelector {
+ height: 32px;
+ min-width: 115px;
+ width: auto;
+ display: block;
+
+ #viewsManagerStatusActionButton {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ gap: 8px;
+ width: 100%;
+ height: 100%;
+ padding: 4px 16px;
+
+ &::after {
+ content: "";
+ display: inline-block;
+ width: var(--icon-size);
+ height: var(--icon-size);
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-position: center;
+ mask-position: center;
+ -webkit-mask-image: var(--manage-button-icon);
+ mask-image: var(--manage-button-icon);
+ background-color: var(--button-fg);
}
- &:hover::after{
- background-color:var(--button-hover-fg) !important;
+ &:hover::after {
+ background-color: var(--button-hover-fg) !important;
}
- &:active::after{
- background-color:var(--button-active-fg) !important;
+ &:active::after {
+ background-color: var(--button-active-fg) !important;
}
}
- > .popupMenu{
- width:100%;
- min-width:-moz-fit-content;
- min-width:fit-content;
- z-index:1;
+ > .popupMenu {
+ width: 100%;
+ min-width: -moz-fit-content;
+ min-width: fit-content;
+ z-index: 1;
}
}
}
- #viewsManagerStatusUndo{
- display:flex;
- justify-content:space-between;
- align-items:center;
- align-self:stretch;
- background-color:var(--status-undo-bg);
-
- > span::before{
- content:"";
- display:inline-block;
- width:var(--icon-size);
- height:var(--icon-size);
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-position:center;
- mask-position:center;
- -webkit-mask-image:var(--undo-label-icon);
- mask-image:var(--undo-label-icon);
- background-color:var(--indicator-color);
+ #viewsManagerStatusUndo {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ align-self: stretch;
+ background-color: var(--status-undo-bg);
+
+ > span::before {
+ content: "";
+ display: inline-block;
+ width: var(--icon-size);
+ height: var(--icon-size);
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-position: center;
+ mask-position: center;
+ -webkit-mask-image: var(--undo-label-icon);
+ mask-image: var(--undo-label-icon);
+ background-color: var(--indicator-color);
}
- > div{
- display:flex;
- align-items:center;
- gap:8px;
- width:auto;
+ > div {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ width: auto;
- #viewsManagerStatusUndoButton{
- width:auto;
- min-height:24px;
- padding:4px 8px;
+ #viewsManagerStatusUndoButton {
+ width: auto;
+ min-height: 24px;
+ padding: 4px 8px;
}
}
}
- #viewsManagerStatusWarning{
- display:flex;
- align-items:center;
- justify-content:space-between;
- background-color:var(--status-warning-bg);
-
- > span{
- align-items:flex-start;
-
- &::before{
- content:"";
- display:inline-block;
- width:var(--icon-size);
- height:var(--icon-size);
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-position:center;
- mask-position:center;
- background-color:var(--indicator-warning-color);
- -webkit-mask-image:var(--undo-label-icon);
- mask-image:var(--undo-label-icon);
- flex:0 0 auto;
+ #viewsManagerStatusWarning {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ background-color: var(--status-warning-bg);
+
+ > span {
+ align-items: flex-start;
+
+ &::before {
+ content: "";
+ display: inline-block;
+ width: var(--icon-size);
+ height: var(--icon-size);
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-position: center;
+ mask-position: center;
+ background-color: var(--indicator-warning-color);
+ -webkit-mask-image: var(--undo-label-icon);
+ mask-image: var(--undo-label-icon);
+ flex: 0 0 auto;
}
}
}
- #viewsManagerStatusWaiting{
- display:flex;
- align-items:center;
- justify-content:space-between;
- background-color:var(--status-waiting-bg);
-
- > span::before{
- content:"";
- display:inline-block;
- width:var(--icon-size);
- height:var(--icon-size);
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-position:center;
- mask-position:center;
- background-color:var(--indicator-color);
- -webkit-mask-image:var(--spinner-icon);
- mask-image:var(--spinner-icon);
- flex:0 0 auto;
+ #viewsManagerStatusWaiting {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ background-color: var(--status-waiting-bg);
+
+ > span::before {
+ content: "";
+ display: inline-block;
+ width: var(--icon-size);
+ height: var(--icon-size);
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-position: center;
+ mask-position: center;
+ background-color: var(--indicator-color);
+ -webkit-mask-image: var(--spinner-icon);
+ mask-image: var(--spinner-icon);
+ flex: 0 0 auto;
}
}
}
}
- #viewsManagerContent{
- width:100%;
- flex:1 1 0%;
- overflow:auto;
+ #viewsManagerContent {
+ width: 100%;
+ flex: 1 1 0%;
+ overflow: auto;
- &:has(#thumbnailsView.isDragging){
- overflow-x:hidden;
+ &:has(#thumbnailsView.isDragging) {
+ overflow-x: hidden;
}
- #thumbnailsView{
- --thumbnail-width:126px;
- --gap-between-input-and-thumbnail:16px;
+ #thumbnailsView {
+ --thumbnail-width: 126px;
+ --gap-between-input-and-thumbnail: 16px;
- display:flex;
- flex-flow:row wrap;
- align-items:center;
- justify-content:space-evenly;
- padding:20px 32px;
- gap:44px;
- width:100%;
- box-sizing:border-box;
- position:relative;
+ display: flex;
+ flex-flow: row wrap;
+ align-items: center;
+ justify-content: space-evenly;
+ padding: 20px 32px;
+ gap: 44px;
+ width: 100%;
+ box-sizing: border-box;
+ position: relative;
- &.isDragging{
- cursor:grabbing;
+ &.isDragging {
+ cursor: grabbing;
- > .thumbnail{
- > .thumbnailImageContainer:hover{
- cursor:grabbing;
+ > .thumbnail {
+ > .thumbnailImageContainer:hover {
+ cursor: grabbing;
- &:not([aria-current="page"]){
- box-shadow:var(--image-shadow);
+ &:not([aria-current="page"]) {
+ box-shadow: var(--image-shadow);
}
}
- > input{
- pointer-events:none;
+ > input {
+ pointer-events: none;
}
}
}
&.isDragging > .dragMarker,
- &.isDraggingFile > .dragMarker{
- position:absolute;
- top:0;
- left:0;
- border:2px solid var(--indicator-color);
- contain:strict;
+ &.isDraggingFile > .dragMarker {
+ position: absolute;
+ top: 0;
+ left: 0;
+ border: 2px solid var(--indicator-color);
+ contain: strict;
}
- &.pasteMode{
- gap:var(--gap-between-input-and-thumbnail);
+ &.pasteMode {
+ gap: var(--gap-between-input-and-thumbnail);
- > .thumbnail{
- flex-direction:column;
+ > .thumbnail {
+ flex-direction: column;
- > input{
- display:none;
+ > input {
+ display: none;
}
- > .thumbnailPasteButton{
- display:flex;
- justify-content:center;
- align-items:center;
- border-radius:16px;
- min-height:24px;
- padding:4px 16px;
-
- font:menu;
- font-size:13px;
- font-style:normal;
- font-weight:400;
- line-height:normal;
+ > .thumbnailPasteButton {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ border-radius: 16px;
+ min-height: 24px;
+ padding: 4px 16px;
+
+ font: menu;
+ font-size: 13px;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
}
}
}
- &:not(.pasteMode) > .thumbnail > .thumbnailPasteButton{
- display:none;
+ &:not(.pasteMode) > .thumbnail > .thumbnailPasteButton {
+ display: none;
}
- > .thumbnail{
- --input-dim:16px;
+ > .thumbnail {
+ --input-dim: 16px;
- &:not(&:has(input)){
- --input-dim:0px;
- --gap-between-input-and-thumbnail:0px;
+ &:not(&:has(input)) {
+ --input-dim: 0px;
+ --gap-between-input-and-thumbnail: 0px;
}
- display:inline-flex;
- justify-content:flex-end;
- align-items:center;
- flex-direction:row-reverse;
- gap:var(--gap-between-input-and-thumbnail);
- width:calc(
+ display: inline-flex;
+ justify-content: flex-end;
+ align-items: center;
+ flex-direction: row-reverse;
+ gap: var(--gap-between-input-and-thumbnail);
+ width: calc(
var(--thumbnail-width) + 2 *
(var(--input-dim) + var(--gap-between-input-and-thumbnail))
);
- height:auto;
- position:relative;
- scroll-margin-top:20px;
+ height: auto;
+ position: relative;
+ scroll-margin-top: 20px;
- .thumbnailPasteButton{
- padding:8px 0;
- text-align:center;
+ .thumbnailPasteButton {
+ padding: 8px 0;
+ text-align: center;
}
- &:not(.isDragging) > .thumbnailImageContainer::after{
- content:attr(page-number);
- border-radius:8px;
- border:1px solid var(--image-page-number-border-color);
- background-color:var(--image-page-number-bg);
- color:var(--image-page-number-fg);
- position:absolute;
- bottom:5px;
- inset-inline-end:50%;
- min-width:32px;
- height:16px;
- text-align:center;
- box-sizing:content-box;
- translate:calc(var(--dir-factor) * 50%);
-
- font:menu;
- font-size:12px;
- font-style:normal;
- font-weight:400;
- line-height:normal;
-
- pointer-events:none;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
+ &:not(.isDragging) > .thumbnailImageContainer::after {
+ content: attr(page-number);
+ border-radius: 8px;
+ border: 1px solid var(--image-page-number-border-color);
+ background-color: var(--image-page-number-bg);
+ color: var(--image-page-number-fg);
+ position: absolute;
+ bottom: 5px;
+ inset-inline-end: 50%;
+ min-width: 32px;
+ height: 16px;
+ text-align: center;
+ box-sizing: content-box;
+ translate: calc(var(--dir-factor) * 50%);
+
+ font: menu;
+ font-size: 12px;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+
+ pointer-events: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
}
&:has([aria-current="page"]):not(.isDragging)
- > .thumbnailImageContainer::after{
- background-color:var(--image-current-page-number-bg);
- color:var(--image-current-page-number-fg);
- outline:1px solid var(--image-current-border-color);
+ > .thumbnailImageContainer::after {
+ background-color: var(--image-current-page-number-bg);
+ color: var(--image-current-page-number-fg);
+ outline: 1px solid var(--image-current-border-color);
}
- &.isDragging > input{
- visibility:hidden;
+ &.isDragging > input {
+ visibility: hidden;
}
- > input{
- margin:0;
- width:var(--input-dim);
- height:var(--input-dim);
- accent-color:var(--indicator-color);
+ > input {
+ margin: 0;
+ width: var(--input-dim);
+ height: var(--input-dim);
+ accent-color: var(--indicator-color);
}
- > .thumbnailImageContainer{
- --thumbnail-dragging-scale:1.4;
-
- width:var(--thumbnail-width);
- border:none;
- border-radius:8px;
- box-shadow:var(--image-shadow);
- box-sizing:content-box;
- outline:var(--image-outline);
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
- position:relative;
-
- img{
- width:100%;
- height:100%;
- border:none;
- border-radius:8px;
- outline:none;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
- pointer-events:none;
+ > .thumbnailImageContainer {
+ --thumbnail-dragging-scale: 1.4;
+
+ width: var(--thumbnail-width);
+ border: none;
+ border-radius: 8px;
+ box-shadow: var(--image-shadow);
+ box-sizing: content-box;
+ outline: var(--image-outline);
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ position: relative;
+
+ img {
+ width: 100%;
+ height: 100%;
+ border: none;
+ border-radius: 8px;
+ outline: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ pointer-events: none;
+
}
- &.missingThumbnailImage{
- content-visibility:hidden;
+ &.missingThumbnailImage {
+ content-visibility: hidden;
}
- &:hover{
- cursor:pointer;
- box-shadow:var(--image-hover-shadow);
+ &:hover {
+ cursor: pointer;
+ box-shadow: var(--image-hover-shadow);
- &::after{
- background-color:var(--image-hover-page-number-bg);
- color:var(--image-hover-page-number-fg);
+ &::after {
+ background-color: var(--image-hover-page-number-bg);
+ color: var(--image-hover-page-number-fg);
}
- @media screen and (forced-colors: active){
- box-shadow:none;
- outline:var(--image-border-width) var(--image-hover-border-color) solid;
+ @media screen and (forced-colors: active) {
+ box-shadow: none;
+ outline: var(--image-border-width) var(--image-hover-border-color)
+ solid;
}
}
- &:focus-visible{
- &:not([aria-current="page"]){
- box-shadow:var(--image-hover-shadow);
- outline:none;
+ &:focus-visible {
+ &:not([aria-current="page"]) {
+ box-shadow: var(--image-hover-shadow);
+ outline: none;
- @media screen and (forced-colors: active){
- box-shadow:none;
- outline:var(--image-border-width) var(--image-focus-outline-color) solid;
+ @media screen and (forced-colors: active) {
+ box-shadow: none;
+ outline: var(--image-border-width)
+ var(--image-focus-outline-color) solid;
}
}
- &[aria-current="page"]{
- outline:var(--image-border-width) solid var(--image-current-focused-outline-color);
- outline-offset:var(--image-border-width);
-
- @media screen and (forced-colors: active){
- box-shadow:none;
- outline:var(--image-border-width) var(--image-current-border-color) solid;
- outline-offset:0;
-
- > img{
- outline:var(--image-border-width) var(--image-focus-outline-color) solid;
- outline-offset:var(--image-border-width);
+ &[aria-current="page"] {
+ outline: var(--image-border-width) solid
+ var(--image-current-focused-outline-color);
+ outline-offset: var(--image-border-width);
+
+ @media screen and (forced-colors: active) {
+ box-shadow: none;
+ outline: var(--image-border-width)
+ var(--image-current-border-color) solid;
+ outline-offset: 0;
+
+ > img {
+ outline: var(--image-border-width)
+ var(--image-focus-outline-color) solid;
+ outline-offset: var(--image-border-width);
}
}
}
- @media screen and (forced-colors: active){
- box-shadow:none;
- outline:var(--image-border-width) var(--image-current-border-color) solid;
+ @media screen and (forced-colors: active) {
+ box-shadow: none;
+ outline: var(--image-border-width)
+ var(--image-current-border-color) solid;
- &:hover > img{
- outline:var(--image-border-width) var(--image-hover-border-color) solid;
- outline-offset:var(--image-border-width);
+ &:hover > img {
+ outline: var(--image-border-width)
+ var(--image-hover-border-color) solid;
+ outline-offset: var(--image-border-width);
}
}
}
- &[aria-current="page"]{
- box-shadow:var(--image-current-shadow);
+ &[aria-current="page"] {
+ box-shadow: var(--image-current-shadow);
- &:hover::after{
- background-color:var(--image-current-hover-page-number-bg);
- color:var(--image-current-hover-page-number-fg);
+ &:hover::after {
+ background-color: var(--image-current-hover-page-number-bg);
+ color: var(--image-current-hover-page-number-fg);
}
- @media screen and (forced-colors: active){
- box-shadow:none;
- outline:var(--image-border-width) var(--image-current-border-color) solid;
+ @media screen and (forced-colors: active) {
+ box-shadow: none;
+ outline: var(--image-border-width)
+ var(--image-current-border-color) solid;
- &:hover > img{
- outline:var(--image-border-width) var(--image-hover-border-color) solid;
- outline-offset:var(--image-border-width);
+ &:hover > img {
+ outline: var(--image-border-width)
+ var(--image-hover-border-color) solid;
+ outline-offset: var(--image-border-width);
}
}
}
- &.placeholder{
- background-color:var(--image-dragging-placeholder-bg);
- box-shadow:none !important;
- outline:var(--image-dragging-placeholder-border);
+ &.placeholder {
+ background-color: var(--image-dragging-placeholder-bg);
+ box-shadow: none !important;
+ outline: var(--image-dragging-placeholder-border);
}
- &.draggingThumbnail{
- position:absolute;
- left:0;
- top:0;
- z-index:1;
- transform-origin:0 0 0;
- scale:calc(1 / var(--thumbnail-dragging-scale));
- pointer-events:none;
- box-shadow:var(--image-dragging-shadow);
-
- &.multiple{
- box-shadow:var(--image-multiple-dragging-shadow);
-
- @media screen and (forced-colors: active){
- forced-color-adjust:none;
- box-shadow:var(--image-multiple-dragging-shadow);
+ &.draggingThumbnail {
+ position: absolute;
+ left: 0;
+ top: 0;
+ z-index: 1;
+ transform-origin: 0 0 0;
+ scale: calc(1 / var(--thumbnail-dragging-scale));
+ pointer-events: none;
+ box-shadow: var(--image-dragging-shadow);
+
+ &.multiple {
+ box-shadow: var(--image-multiple-dragging-shadow);
+
+ @media screen and (forced-colors: active) {
+ forced-color-adjust: none;
+ box-shadow: var(--image-multiple-dragging-shadow);
}
- > .thumbnailImageContainer{
- position:absolute;
- top:0;
- left:0;
-
- width:var(--thumbnail-width);
- border:none;
- border-radius:8px;
- box-sizing:content-box;
- outline:none;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
+ > .thumbnailImageContainer {
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ width: var(--thumbnail-width);
+ border: none;
+ border-radius: 8px;
+ box-sizing: content-box;
+ outline: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+
}
- &::after{
- content:attr(data-multiple-count);
- border-radius:calc(8px * var(--thumbnail-dragging-scale));
- background-color:var(--multiple-dragging-indicator-bg);
- color:var(--multiple-dragging-text-color);
- position:absolute;
- inset-block-end:calc(4px * var(--thumbnail-dragging-scale));
- inset-inline-start:calc(4px * var(--thumbnail-dragging-scale));
- min-width:calc(32px * var(--thumbnail-dragging-scale));
- height:calc(16px * var(--thumbnail-dragging-scale));
- text-align:center;
- font:menu;
- font-size:calc(13px * var(--thumbnail-dragging-scale));
- font-style:normal;
- font-weight:400;
- line-height:normal;
- contain:strict;
+ &::after {
+ content: attr(data-multiple-count);
+ border-radius: calc(8px * var(--thumbnail-dragging-scale));
+
+ background-color: var(--multiple-dragging-indicator-bg);
+ color: var(--multiple-dragging-text-color);
+ position: absolute;
+ inset-block-end: calc(4px * var(--thumbnail-dragging-scale));
+ inset-inline-start: calc(4px * var(--thumbnail-dragging-scale));
+ min-width: calc(32px * var(--thumbnail-dragging-scale));
+ height: calc(16px * var(--thumbnail-dragging-scale));
+ text-align: center;
+ font: menu;
+ font-size: calc(13px * var(--thumbnail-dragging-scale));
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ contain: strict;
}
}
}
@@ -6005,44 +6120,44 @@ button.hasPopupMenu{
}
}
- #attachmentsView{
- --attachment-color:light-dark(rgb(0 0 0 / 0.8), rgb(255 255 255 / 0.8));
- --attachment-bg-color:light-dark(
+ #attachmentsView {
+ --attachment-color: light-dark(rgb(0 0 0 / 0.8), rgb(255 255 255 / 0.8));
+ --attachment-bg-color: light-dark(
rgb(0 0 0 / 0.15),
rgb(255 255 255 / 0.15)
);
- --attachment-hover-color:light-dark(
+ --attachment-hover-color: light-dark(
rgb(0 0 0 / 0.9),
rgb(255 255 255 / 0.9)
);
- > ul{
- list-style-type:none;
- padding:0;
-
- > li > a{
- text-decoration:none;
- display:inline-block;
- min-width:calc(100% - 4px);
- height:auto;
- margin-bottom:1px;
- padding:2px 0 5px;
- padding-inline-start:4px;
- border-radius:2px;
- color:var(--attachment-color);
- font-size:13px;
- line-height:15px;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
- white-space:normal;
- cursor:pointer;
-
- &:hover{
- background-color:var(--attachment-bg-color);
- background-clip:padding-box;
- border-radius:2px;
- color:var(--attachment-hover-color);
+ > ul {
+ list-style-type: none;
+ padding: 0;
+
+ > li > a {
+ text-decoration: none;
+ display: inline-block;
+ min-width: calc(100% - 4px);
+ height: auto;
+ margin-bottom: 1px;
+ padding: 2px 0 5px;
+ padding-inline-start: 4px;
+ border-radius: 2px;
+ color: var(--attachment-color);
+ font-size: 13px;
+ line-height: 15px;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ white-space: normal;
+ cursor: pointer;
+
+ &:hover {
+ background-color: var(--attachment-bg-color);
+ background-clip: padding-box;
+ border-radius: 2px;
+ color: var(--attachment-hover-color);
}
}
}
@@ -6050,2068 +6165,2085 @@ button.hasPopupMenu{
}
}
-.sidebar{
- --sidebar-bg-color:light-dark(#fff, #23222b);
- --sidebar-border-color:light-dark(
+.sidebar {
+ --sidebar-bg-color: var(--background-color-box, light-dark(#fff, #23222b));
+ --sidebar-border-color: light-dark(
rgb(21 20 26 / 0.1),
rgb(251 251 254 / 0.1)
);
- --sidebar-box-shadow:0 0.25px 0.75px light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)), 0 2px 6px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
- --sidebar-backdrop-filter:none;
- --sidebar-border-radius:8px;
- --sidebar-padding:5px;
- --sidebar-min-width:180px;
- --sidebar-max-width:632px;
- --sidebar-width:239px;
- --resizer-width:4px;
- --resizer-shift:calc(0px - var(--resizer-width) - 2px);
- --resizer-hover-bg-color:light-dark(#0062fa, #00cadb);
-
- @media screen and (forced-colors: active){
- --sidebar-bg-color:Canvas;
- --sidebar-border-color:CanvasText;
- --sidebar-box-shadow:none;
- --resizer-hover-bg-color:CanvasText;
- }
-
- border-radius:var(--sidebar-border-radius);
- box-shadow:var(--sidebar-box-shadow);
- border:1px solid var(--sidebar-border-color);
- background-color:var(--sidebar-bg-color);
- inset-block-start:calc(100% + var(--doorhanger-height) - 2px);
- padding-block:var(--sidebar-padding);
- width:var(--sidebar-width);
- min-width:var(--sidebar-min-width);
- max-width:var(--sidebar-max-width);
- backdrop-filter:var(--sidebar-backdrop-filter);
- box-sizing:border-box;
- position:relative;
-
- .sidebarResizer{
- width:var(--resizer-width);
- background-color:transparent;
- forced-color-adjust:none;
- cursor:ew-resize;
- position:absolute;
- inset-block:0;
- inset-inline-start:var(--resizer-shift);
- transition:background-color 0.5s ease-in-out, border-color 0.5s ease-in-out;
- box-sizing:border-box;
- border:1px solid transparent;
- border-block-width:0;
- background-clip:content-box;
-
- &:hover{
- background-color:var(--resizer-hover-bg-color);
- border-color:white;
- }
- &:focus-visible{
- background-color:var(--resizer-hover-bg-color);
- outline:none;
- }
- }
-
- &.resizing{
- cursor:ew-resize;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
-
- :not(.sidebarResizer){
- pointer-events:none;
- }
-
- .sidebarResizer{
- background-color:var(--resizer-hover-bg-color);
- }
- }
-}
-
-:root{
- color-scheme:light dark;
-
- --viewer-container-height:0;
- --pdfViewer-padding-bottom:0;
- --page-margin:1px auto -8px;
- --page-border:9px solid transparent;
- --spreadHorizontalWrapped-margin-LR:-3.5px;
- --loading-icon-delay:400ms;
- --focus-ring-color:light-dark(#0060df, #0df);
- --focus-ring-outline:2px solid var(--focus-ring-color);
- --new-badge-bg:light-dark(#070, #37b847);
- --new-badge-color:light-dark(#fff, #15141a);
- --new-badge-border-color:light-dark(#fbfbfe / 40%, #15141a / 40%);
-
- @media screen and (forced-colors: active){
- --pdfViewer-padding-bottom:9px;
- --page-margin:8px auto -1px;
- --page-border:1px solid CanvasText;
- --spreadHorizontalWrapped-margin-LR:3.5px;
- --focus-ring-color:CanvasText;
- --new-badge-bg:AccentColor;
- --new-badge-color:ButtonFace;
- --new-badge-border-color:CanvasText;
- }
-}
-
-.newBadge{
- background-color:var(--new-badge-bg);
- color:var(--new-badge-color);
- border-radius:4px;
- border:1px solid var(--new-badge-border-color);
- padding-inline:4px;
- margin-inline:4px;
- font:menu;
- font-size:12px;
- font-style:normal;
- font-weight:400;
- line-height:normal;
- flex:0 0 fit-content;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
+ --sidebar-box-shadow:
+ 0 0.25px 0.75px light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)),
+ 0 2px 6px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
+ --sidebar-backdrop-filter: none;
+ --sidebar-border-radius: 8px;
+ --sidebar-padding: 5px;
+ --sidebar-min-width: 180px;
+ --sidebar-max-width: 632px;
+ --sidebar-width: 239px;
+ --resizer-width: 4px;
+ --resizer-shift: calc(0px - var(--resizer-width) - 2px);
+ --resizer-hover-bg-color: var(
+ --color-accent-primary,
+ light-dark(#0062fa, #00cadb)
+ );
+
+ @media screen and (forced-colors: active) {
+ --sidebar-bg-color: var(--background-color-box, Canvas);
+ --sidebar-border-color: CanvasText;
+ --sidebar-box-shadow: none;
+ --resizer-hover-bg-color: var(--text-color, CanvasText);
+ }
+
+ border-radius: var(--sidebar-border-radius);
+ box-shadow: var(--sidebar-box-shadow);
+ border: 1px solid var(--sidebar-border-color);
+ background-color: var(--sidebar-bg-color);
+ inset-block-start: calc(100% + var(--doorhanger-height) - 2px);
+ padding-block: var(--sidebar-padding);
+ width: var(--sidebar-width);
+ min-width: var(--sidebar-min-width);
+ max-width: var(--sidebar-max-width);
+ backdrop-filter: var(--sidebar-backdrop-filter);
+ box-sizing: border-box;
+ position: relative;
+
+ .sidebarResizer {
+ width: var(--resizer-width);
+ background-color: transparent;
+ forced-color-adjust: none;
+ cursor: ew-resize;
+ position: absolute;
+ inset-block: 0;
+ inset-inline-start: var(--resizer-shift);
+ transition:
+ background-color 0.5s ease-in-out,
+ border-color 0.5s ease-in-out;
+ box-sizing: border-box;
+ border: 1px solid transparent;
+ border-block-width: 0;
+ background-clip: content-box;
+
+ &:hover {
+ background-color: var(--resizer-hover-bg-color);
+ border-color: white;
+ }
+ &:focus-visible {
+ background-color: var(--resizer-hover-bg-color);
+ outline: none;
+ }
+ }
+
+ &.resizing {
+ cursor: ew-resize;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+
+ :not(.sidebarResizer) {
+ pointer-events: none;
+ }
+
+ .sidebarResizer {
+ background-color: var(--resizer-hover-bg-color);
+ }
+ }
+}
+
+:root {
+ color-scheme: light dark;
+
+ --viewer-container-height: 0;
+ --pdfViewer-padding-bottom: 0;
+ --page-margin: 1px auto -8px;
+ --page-border: 9px solid transparent;
+ --spreadHorizontalWrapped-margin-LR: -3.5px;
+ --loading-icon-delay: 400ms;
+ --focus-ring-color: var(--focus-outline-color, light-dark(#0060df, #0df));
+ --focus-ring-outline: var(--focus-outline-width, 2px) solid
+ var(--focus-ring-color);
+ --text-primary-color: var(--text-color, light-dark(#15141a, #fbfbfe));
+ --link-fg-color: var(--link-color, light-dark(#0060df, #0df));
+ --link-hover-fg-color: var(--link-color-hover, light-dark(#0250bb, #80ebff));
+ --new-badge-bg: light-dark(#070, #37b847);
+ --new-badge-color: light-dark(#fff, #15141a);
+ --new-badge-border-color: light-dark(#fbfbfe / 40%, #15141a / 40%);
+
+ @media screen and (forced-colors: active) {
+ --pdfViewer-padding-bottom: 9px;
+ --page-margin: 8px auto -1px;
+ --page-border: 1px solid CanvasText;
+ --spreadHorizontalWrapped-margin-LR: 3.5px;
+ --focus-ring-color: var(--focus-outline-color, CanvasText);
+ --text-primary-color: var(--text-color, CanvasText);
+ --link-fg-color: var(--link-color, LinkText);
+ --link-hover-fg-color: var(--link-color-hover, LinkText);
+ --new-badge-bg: AccentColor;
+ --new-badge-color: ButtonFace;
+ --new-badge-border-color: CanvasText;
+ }
+}
+
+.newBadge {
+ background-color: var(--new-badge-bg);
+ color: var(--new-badge-color);
+ border-radius: 4px;
+ border: 1px solid var(--new-badge-border-color);
+ padding-inline: 4px;
+
+ margin-inline: 4px;
+ font: menu;
+ font-size: 12px;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ flex: 0 0 fit-content;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
}
-[data-main-rotation="90"]{
- transform:rotate(90deg) translateY(-100%);
+[data-main-rotation="90"] {
+ transform: rotate(90deg) translateY(-100%);
}
-[data-main-rotation="180"]{
- transform:rotate(180deg) translate(-100%, -100%);
+[data-main-rotation="180"] {
+ transform: rotate(180deg) translate(-100%, -100%);
}
-[data-main-rotation="270"]{
- transform:rotate(270deg) translateX(-100%);
+[data-main-rotation="270"] {
+ transform: rotate(270deg) translateX(-100%);
}
-.pdfViewer{
- --scale-factor:1;
- --page-bg-color:unset;
+.pdfViewer {
+ --scale-factor: 1;
+ --page-bg-color: unset;
- padding-bottom:var(--pdfViewer-padding-bottom);
+ padding-bottom: var(--pdfViewer-padding-bottom);
- --hcm-highlight-filter:none;
- --hcm-highlight-selected-filter:none;
+ --hcm-highlight-filter: none;
+ --hcm-highlight-selected-filter: none;
- @media screen and (forced-colors: active){
- --hcm-highlight-filter:invert(100%);
+ @media screen and (forced-colors: active) {
+ --hcm-highlight-filter: invert(100%);
}
- &.copyAll{
- cursor:wait;
+ &.copyAll {
+ cursor: wait;
}
- .canvasWrapper{
- overflow:hidden;
- width:100%;
- height:100%;
+ .canvasWrapper {
+ overflow: hidden;
+ width: 100%;
+ height: 100%;
- canvas{
- position:absolute;
- top:0;
- left:0;
- margin:0;
- display:block;
- width:100%;
- height:100%;
- contain:content;
+ canvas {
+ position: absolute;
+ top: 0;
+ left: 0;
+ margin: 0;
+ display: block;
+ width: 100%;
+ height: 100%;
+ contain: content;
- .structTree{
- contain:strict;
+ .structTree {
+ contain: strict;
}
- &.detailView{
- image-rendering:pixelated;
+ &.detailView {
+ image-rendering: pixelated;
}
}
- .selection{
- position:absolute;
- top:0;
- left:0;
- width:100%;
- height:100%;
- pointer-events:none;
- background:rgb(0 90 255 / 0.22);
+ .selection {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ pointer-events: none;
+ background: rgb(0 90 255 / 0.22);
+ svg {
+ display: block;
+ }
}
}
}
-.pdfViewer .page{
- --user-unit:1;
- --total-scale-factor:calc(var(--scale-factor) * var(--user-unit));
- --scale-round-x:1px;
- --scale-round-y:1px;
+.pdfViewer .page {
+ --user-unit: 1;
+ --total-scale-factor: calc(var(--scale-factor) * var(--user-unit));
+ --scale-round-x: 1px;
+ --scale-round-y: 1px;
- direction:ltr;
- width:816px;
- height:1056px;
- margin:var(--page-margin);
- position:relative;
- overflow:visible;
- border:var(--page-border);
- background-clip:content-box;
- background-color:var(--page-bg-color, rgb(255 255 255));
+ direction: ltr;
+ width: 816px;
+ height: 1056px;
+ margin: var(--page-margin);
+ position: relative;
+ overflow: visible;
+ border: var(--page-border);
+ background-clip: content-box;
+ background-color: var(--page-bg-color, rgb(255 255 255));
+ &:has(> .canvasWrapper > canvas[role="presentation"]) {
+ background-color: transparent;
+ }
}
-.pdfViewer .dummyPage{
- position:relative;
- width:0;
- height:var(--viewer-container-height);
+.pdfViewer .dummyPage {
+ position: relative;
+ width: 0;
+ height: var(--viewer-container-height);
}
-.pdfViewer.noUserSelect{
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
+.pdfViewer.noUserSelect {
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
}
-.pdfViewer.removePageBorders .page{
- margin:0 auto 10px;
- border:none;
+.pdfViewer.removePageBorders .page {
+ margin: 0 auto 10px;
+ border: none;
}
.pdfViewer:is(.scrollHorizontal, .scrollWrapped),
-.spread{
- margin-inline:3.5px;
- text-align:center;
+.spread {
+ margin-inline: 3.5px;
+ text-align: center;
}
.pdfViewer.scrollHorizontal,
-.spread{
- white-space:nowrap;
+.spread {
+ white-space: nowrap;
}
.pdfViewer.removePageBorders,
-.pdfViewer:is(.scrollHorizontal, .scrollWrapped) .spread{
- margin-inline:0;
+.pdfViewer:is(.scrollHorizontal, .scrollWrapped) .spread {
+ margin-inline: 0;
}
.spread :is(.page, .dummyPage),
-.pdfViewer:is(.scrollHorizontal, .scrollWrapped) :is(.page, .spread){
- display:inline-block;
- vertical-align:middle;
+.pdfViewer:is(.scrollHorizontal, .scrollWrapped) :is(.page, .spread) {
+ display: inline-block;
+ vertical-align: middle;
}
.spread .page,
-.pdfViewer:is(.scrollHorizontal, .scrollWrapped) .page{
- margin-inline:var(--spreadHorizontalWrapped-margin-LR);
+.pdfViewer:is(.scrollHorizontal, .scrollWrapped) .page {
+ margin-inline: var(--spreadHorizontalWrapped-margin-LR);
}
.pdfViewer.removePageBorders .spread .page,
-.pdfViewer.removePageBorders:is(.scrollHorizontal, .scrollWrapped) .page{
- margin-inline:5px;
+.pdfViewer.removePageBorders:is(.scrollHorizontal, .scrollWrapped) .page {
+ margin-inline: 5px;
}
-.pdfViewer .page.loadingIcon::after{
- position:absolute;
- top:0;
- left:0;
- content:"";
- width:100%;
- height:100%;
- background:url("images/loading-icon.gif") center no-repeat;
- display:none;
- transition-property:display;
- transition-delay:var(--loading-icon-delay);
- z-index:5;
- contain:strict;
+.pdfViewer .page.loadingIcon::after {
+ position: absolute;
+ top: 0;
+ left: 0;
+ content: "";
+ width: 100%;
+ height: 100%;
+ background: url("images/loading-icon.gif") center no-repeat;
+ display: none;
+ transition-property: display;
+ transition-delay: var(--loading-icon-delay);
+ z-index: 5;
+ contain: strict;
}
-.pdfViewer .page.loading::after{
- display:block;
+.pdfViewer .page.loading::after {
+ display: block;
}
-.pdfViewer .page:not(.loading)::after{
- transition-property:none;
- display:none;
+.pdfViewer .page:not(.loading)::after {
+ transition-property: none;
+ display: none;
}
-.pdfPresentationMode .pdfViewer{
- padding-bottom:0;
+.pdfPresentationMode .pdfViewer {
+ padding-bottom: 0;
}
-.pdfPresentationMode .spread{
- margin:0;
+.pdfPresentationMode .spread {
+ margin: 0;
}
-.pdfPresentationMode .pdfViewer .page{
- margin:0 auto;
- border:2px solid transparent;
+.pdfPresentationMode .pdfViewer .page {
+ margin: 0 auto;
+ border: 2px solid transparent;
}
-:root{
- --sig-card-border:light-dark(rgb(228 228 232), rgb(82 82 86));
- --sig-card-bg:var(--field-bg-color, light-dark(white, rgb(64 64 68)));
- --sig-card-nested-bg:light-dark(rgb(252 252 253), rgb(72 72 76));
- --sig-row-color:light-dark(rgb(58 58 60), rgb(228 228 232));
- --sig-detail-color:light-dark(rgb(96 96 96), rgb(180 180 184));
- --sig-divider-color:light-dark(rgb(228 228 232), rgb(82 82 86));
- --sig-summary-hover-color:light-dark(rgb(28 67 138), rgb(126 169 255));
- --sig-link-color:light-dark(rgb(28 113 216), rgb(126 169 255));
- --sig-link-hover-bg:light-dark(
+:root {
+ --sig-card-border: light-dark(rgb(228 228 232), rgb(82 82 86));
+ --sig-card-bg: var(--field-bg-color, light-dark(white, rgb(64 64 68)));
+ --sig-card-nested-bg: light-dark(rgb(252 252 253), rgb(72 72 76));
+ --sig-row-color: light-dark(rgb(58 58 60), rgb(228 228 232));
+ --sig-detail-color: light-dark(rgb(96 96 96), rgb(180 180 184));
+ --sig-divider-color: light-dark(rgb(228 228 232), rgb(82 82 86));
+ --sig-summary-hover-color: light-dark(rgb(28 67 138), rgb(126 169 255));
+ --sig-link-color: var(
+ --link-color,
+ light-dark(rgb(28 113 216), rgb(126 169 255))
+ );
+ --sig-link-hover-bg: light-dark(
rgb(28 113 216 / 0.1),
rgb(126 169 255 / 0.15)
);
- --sig-banner-verified-bg:light-dark(rgb(228 247 235), rgb(28 84 49));
- --sig-banner-verified-color:light-dark(rgb(16 92 47), rgb(176 232 196));
- --sig-banner-warn-bg:light-dark(rgb(255 247 217), rgb(95 67 9));
- --sig-banner-warn-color:light-dark(rgb(124 84 9), rgb(255 222 153));
- --sig-banner-error-bg:light-dark(rgb(254 226 235), rgb(122 21 51));
- --sig-banner-error-color:light-dark(rgb(167 26 70), rgb(255 188 207));
- --sig-icon-default:light-dark(rgb(150 150 150), rgb(180 180 184));
- --sig-icon-warn:light-dark(rgb(217 142 27), rgb(255 178 77));
- --sig-icon-error:light-dark(rgb(196 31 71), rgb(255 117 145));
- --sig-icon-verified:light-dark(rgb(29 142 61), rgb(106 210 126));
-
- @media screen and (forced-colors: active){
- --sig-card-border:ButtonBorder;
- --sig-card-bg:Canvas;
- --sig-card-nested-bg:ButtonFace;
- --sig-row-color:ButtonText;
- --sig-detail-color:GrayText;
- --sig-divider-color:GrayText;
- --sig-summary-hover-color:AccentColor;
- --sig-link-color:LinkText;
- --sig-link-hover-bg:transparent;
- --sig-banner-verified-bg:ButtonFace;
- --sig-banner-verified-color:ButtonText;
- --sig-banner-warn-bg:ButtonFace;
- --sig-banner-warn-color:ButtonText;
- --sig-banner-error-bg:ButtonFace;
- --sig-banner-error-color:ButtonText;
- --sig-icon-default:GrayText;
- --sig-icon-warn:AccentColor;
- --sig-icon-error:AccentColor;
- --sig-icon-verified:AccentColor;
- }
-}
-
-#signaturePropertiesButton{
- &::before{
- -webkit-mask-image:var(--toolbarButton-editorSignature-icon);
- mask-image:var(--toolbarButton-editorSignature-icon);
- transform:scaleX(var(--dir-factor));
+ --sig-banner-verified-bg: var(
+ --background-color-success,
+ light-dark(rgb(228 247 235), rgb(28 84 49))
+ );
+ --sig-banner-verified-color: light-dark(rgb(16 92 47), rgb(176 232 196));
+ --sig-banner-warn-bg: var(
+ --background-color-warning,
+ light-dark(rgb(255 247 217), rgb(95 67 9))
+ );
+ --sig-banner-warn-color: light-dark(rgb(124 84 9), rgb(255 222 153));
+ --sig-banner-error-bg: var(
+ --background-color-critical,
+ light-dark(rgb(254 226 235), rgb(122 21 51))
+ );
+ --sig-banner-error-color: light-dark(rgb(167 26 70), rgb(255 188 207));
+ --sig-icon-default: light-dark(rgb(150 150 150), rgb(180 180 184));
+ --sig-icon-warn: var(
+ --icon-color-warning,
+ light-dark(rgb(217 142 27), rgb(255 178 77))
+ );
+ --sig-icon-error: var(
+ --icon-color-critical,
+ light-dark(rgb(196 31 71), rgb(255 117 145))
+ );
+ --sig-icon-verified: var(
+ --icon-color-success,
+ light-dark(rgb(29 142 61), rgb(106 210 126))
+ );
+
+ @media screen and (forced-colors: active) {
+ --sig-card-border: ButtonBorder;
+ --sig-card-bg: Canvas;
+ --sig-card-nested-bg: ButtonFace;
+ --sig-row-color: ButtonText;
+ --sig-detail-color: GrayText;
+ --sig-divider-color: GrayText;
+ --sig-summary-hover-color: AccentColor;
+ --sig-link-color: var(--link-color, LinkText);
+ --sig-link-hover-bg: transparent;
+ --sig-banner-verified-bg: var(--background-color-success, ButtonFace);
+ --sig-banner-verified-color: var(--text-color, ButtonText);
+ --sig-banner-warn-bg: var(--background-color-warning, ButtonFace);
+ --sig-banner-warn-color: var(--text-color, ButtonText);
+ --sig-banner-error-bg: var(--background-color-critical, ButtonFace);
+ --sig-banner-error-color: var(--text-color, ButtonText);
+ --sig-icon-default: GrayText;
+ --sig-icon-warn: var(--icon-color-warning, AccentColor);
+ --sig-icon-error: var(--icon-color-critical, AccentColor);
+ --sig-icon-verified: var(--icon-color-success, AccentColor);
+ }
+}
+
+#signaturePropertiesButton {
+ &::before {
+ -webkit-mask-image: var(--toolbarButton-editorSignature-icon);
+ mask-image: var(--toolbarButton-editorSignature-icon);
+ transform: scaleX(var(--dir-factor));
}
&.state-verified::before,
&.state-warn::before,
- &.state-error::before{
- opacity:1;
+ &.state-error::before {
+ opacity: 1;
}
- &.state-verified::before{
- -webkit-mask-image:var(--toolbarButton-signaturePropertiesVerified-icon);
- mask-image:var(--toolbarButton-signaturePropertiesVerified-icon);
- background-color:var(--sig-icon-verified);
+ &.state-verified::before {
+ -webkit-mask-image: var(--toolbarButton-signaturePropertiesVerified-icon);
+ mask-image: var(--toolbarButton-signaturePropertiesVerified-icon);
+ background-color: var(--sig-icon-verified);
}
- &.state-warn::before{
- -webkit-mask-image:var(--toolbarButton-signaturePropertiesError-icon);
- mask-image:var(--toolbarButton-signaturePropertiesError-icon);
- background-color:var(--sig-icon-warn);
+ &.state-warn::before {
+ -webkit-mask-image: var(--toolbarButton-signaturePropertiesError-icon);
+ mask-image: var(--toolbarButton-signaturePropertiesError-icon);
+ background-color: var(--sig-icon-warn);
}
- &.state-error::before{
- -webkit-mask-image:var(--toolbarButton-signaturePropertiesError-icon);
- mask-image:var(--toolbarButton-signaturePropertiesError-icon);
- background-color:var(--sig-icon-error);
+ &.state-error::before {
+ -webkit-mask-image: var(--toolbarButton-signaturePropertiesError-icon);
+ mask-image: var(--toolbarButton-signaturePropertiesError-icon);
+ background-color: var(--sig-icon-error);
}
- &.state-loading{
- &::before{
- display:none;
+ &.state-loading {
+ &::before {
+ display: none;
}
- .loadingDot{
- display:inline-block;
- width:4px;
- height:4px;
- margin:0 1px;
- border-radius:50%;
- background:var(--toolbar-icon-bg-color);
- animation:signaturePropertiesDot 1.2s ease-in-out infinite both;
+ .loadingDot {
+ display: inline-block;
+ width: 4px;
+ height: 4px;
+ margin: 0 1px;
+ border-radius: 50%;
+ background: var(--toolbar-icon-bg-color);
+ animation: signaturePropertiesDot 1.2s ease-in-out infinite both;
- &:nth-child(2){
- animation-delay:0.2s;
+ &:nth-child(2) {
+ animation-delay: 0.2s;
}
- &:nth-child(3){
- animation-delay:0.4s;
+ &:nth-child(3) {
+ animation-delay: 0.4s;
}
}
}
}
-@keyframes signaturePropertiesDot{
+@keyframes signaturePropertiesDot {
0%,
80%,
- 100%{
- opacity:0.3;
- transform:scale(0.85);
- }
- 40%{
- opacity:1;
- transform:scale(1);
- }
-}
-
-#signaturePropertiesPanel{
- width:320px;
- padding:0;
-}
-
-.signaturePropertiesContainer{
- display:flex;
- flex-direction:column;
- max-height:70vh;
- overflow:hidden;
-}
-
-.sigBanner{
- margin:12px 12px 8px;
- padding:10px 12px;
- border-radius:6px;
- display:flex;
- align-items:center;
- gap:10px;
- font-size:12.5px;
- line-height:1.35;
- border-inline-start:3px solid currentcolor;
-
- &.verified{
- background:var(--sig-banner-verified-bg);
- color:var(--sig-banner-verified-color);
- border-inline-start-color:var(--sig-icon-verified);
- }
- &.warn{
- background:var(--sig-banner-warn-bg);
- color:var(--sig-banner-warn-color);
- border-inline-start-color:var(--sig-icon-warn);
- }
- &.error{
- background:var(--sig-banner-error-bg);
- color:var(--sig-banner-error-color);
- border-inline-start-color:var(--sig-icon-error);
- }
-}
-
-.signaturePropertiesList{
- list-style:none;
- margin:0;
- padding:0 12px 12px;
- overflow-y:auto;
- display:flex;
- flex-direction:column;
- gap:6px;
-}
-
-.sigCard{
- border:1px solid var(--sig-card-border);
- border-radius:6px;
- padding:8px 10px;
- display:flex;
- flex-direction:column;
- gap:3px;
- background:var(--sig-card-bg);
-
- .signer{
- font-weight:600;
- font-size:13px;
- letter-spacing:0.1px;
- margin-bottom:1px;
- }
-
- .row{
- display:flex;
- flex-wrap:nowrap;
- gap:2px 6px;
- align-items:flex-start;
- font-size:12px;
- color:var(--sig-row-color);
- min-height:18px;
-
- > span{
- flex:1 1 auto;
- min-width:0;
- overflow-wrap:break-word;
- }
-
- &::before{
- content:"";
- display:inline-block;
- width:14px;
- height:14px;
- flex-shrink:0;
- margin-top:1px;
- -webkit-mask-position:center;
- mask-position:center;
- -webkit-mask-repeat:no-repeat;
- mask-repeat:no-repeat;
- -webkit-mask-size:contain;
- mask-size:contain;
- -webkit-mask-image:var(--signatureProperties-rowCheck-icon);
- mask-image:var(--signatureProperties-rowCheck-icon);
- background-color:var(--sig-icon-default);
- transform:scaleX(var(--dir-factor));
+ 100% {
+ opacity: 0.3;
+ transform: scale(0.85);
+ }
+ 40% {
+ opacity: 1;
+ transform: scale(1);
+ }
+}
+
+#signaturePropertiesPanel {
+ width: 320px;
+ padding: 0;
+}
+
+.signaturePropertiesContainer {
+ display: flex;
+ flex-direction: column;
+ max-height: 70vh;
+ overflow: hidden;
+}
+
+.sigBanner {
+ margin: 12px 12px 8px;
+ padding: 10px 12px;
+ border-radius: 6px;
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ font-size: 12.5px;
+ line-height: 1.35;
+ border-inline-start: 3px solid currentcolor;
+
+ &.verified {
+ background: var(--sig-banner-verified-bg);
+ color: var(--sig-banner-verified-color);
+ border-inline-start-color: var(--sig-icon-verified);
+ }
+ &.warn {
+ background: var(--sig-banner-warn-bg);
+ color: var(--sig-banner-warn-color);
+ border-inline-start-color: var(--sig-icon-warn);
+ }
+ &.error {
+ background: var(--sig-banner-error-bg);
+ color: var(--sig-banner-error-color);
+ border-inline-start-color: var(--sig-icon-error);
+ }
+}
+
+.signaturePropertiesList {
+ list-style: none;
+ margin: 0;
+ padding: 0 12px 12px;
+ overflow-y: auto;
+ display: flex;
+ flex-direction: column;
+ gap: 6px;
+}
+
+.sigCard {
+ border: 1px solid var(--sig-card-border);
+ border-radius: 6px;
+ padding: 8px 10px;
+ display: flex;
+ flex-direction: column;
+ gap: 3px;
+ background: var(--sig-card-bg);
+
+ .signer {
+ font-weight: 600;
+ font-size: 13px;
+ letter-spacing: 0.1px;
+ margin-bottom: 1px;
+ }
+
+ .row {
+ display: flex;
+ flex-wrap: nowrap;
+ gap: 2px 6px;
+ align-items: flex-start;
+ font-size: 12px;
+ color: var(--sig-row-color);
+ min-height: 18px;
+
+ > span {
+ flex: 1 1 auto;
+ min-width: 0;
+ overflow-wrap: break-word;
+ }
+
+ &::before {
+ content: "";
+ display: inline-block;
+ width: 14px;
+ height: 14px;
+ flex-shrink: 0;
+ margin-top: 1px;
+ -webkit-mask-position: center;
+ mask-position: center;
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-size: contain;
+ mask-size: contain;
+ -webkit-mask-image: var(--signatureProperties-rowCheck-icon);
+ mask-image: var(--signatureProperties-rowCheck-icon);
+ background-color: var(--sig-icon-default);
+ transform: scaleX(var(--dir-factor));
}
&.status--verified::before,
&.status--untrusted::before,
&.status--expired::before,
&.status--revoked::before,
- &.cert--trusted::before{
- -webkit-mask-image:var(--signatureProperties-rowCheck-icon);
- mask-image:var(--signatureProperties-rowCheck-icon);
- background-color:var(--sig-icon-default);
+ &.cert--trusted::before {
+ -webkit-mask-image: var(--signatureProperties-rowCheck-icon);
+ mask-image: var(--signatureProperties-rowCheck-icon);
+ background-color: var(--sig-icon-default);
}
&.cert--untrusted::before,
- &.cert--expired::before{
- -webkit-mask-image:var(--toolbarButton-signaturePropertiesError-icon);
- mask-image:var(--toolbarButton-signaturePropertiesError-icon);
- background-color:var(--sig-icon-warn);
+ &.cert--expired::before {
+ -webkit-mask-image: var(--toolbarButton-signaturePropertiesError-icon);
+ mask-image: var(--toolbarButton-signaturePropertiesError-icon);
+ background-color: var(--sig-icon-warn);
}
&.cert--revoked::before,
&.status--invalid::before,
&.status--unknown::before,
- &.cert--unknown::before{
- -webkit-mask-image:var(--toolbarButton-signaturePropertiesError-icon);
- mask-image:var(--toolbarButton-signaturePropertiesError-icon);
- background-color:var(--sig-icon-error);
+ &.cert--unknown::before {
+ -webkit-mask-image: var(--toolbarButton-signaturePropertiesError-icon);
+ mask-image: var(--toolbarButton-signaturePropertiesError-icon);
+ background-color: var(--sig-icon-error);
}
}
&.sigCard--top-allfine > .row.status--verified::before,
- &.sigCard--top-allfine > .row.cert--trusted::before{
- -webkit-mask-image:var(--toolbarButton-signaturePropertiesVerified-icon);
- mask-image:var(--toolbarButton-signaturePropertiesVerified-icon);
- background-color:var(--sig-icon-verified);
+ &.sigCard--top-allfine > .row.cert--trusted::before {
+ -webkit-mask-image: var(--toolbarButton-signaturePropertiesVerified-icon);
+ mask-image: var(--toolbarButton-signaturePropertiesVerified-icon);
+ background-color: var(--sig-icon-verified);
}
- .detail{
- font-size:11.5px;
- color:var(--sig-detail-color);
- margin-inline-start:20px;
- line-height:1.35;
+ .detail {
+ font-size: 11.5px;
+ color: var(--sig-detail-color);
+ margin-inline-start: 20px;
+ line-height: 1.35;
}
- .viewCert{
- align-self:center;
- margin-top:4px;
- color:var(--sig-link-color);
- background:none;
- border:none;
- cursor:pointer;
- font-size:12px;
- padding:2px 4px;
- border-radius:4px;
- white-space:nowrap;
+ .viewCert {
+ align-self: center;
+ margin-top: 4px;
+ color: var(--sig-link-color);
+ background: none;
+ border: none;
+ cursor: pointer;
+ font-size: 12px;
+ padding: 2px 4px;
+ border-radius: 4px;
+ white-space: nowrap;
- &:hover{
- background:var(--sig-link-hover-bg);
- text-decoration:underline;
+ &:hover {
+ background: var(--sig-link-hover-bg);
+ text-decoration: underline;
}
- &:focus-visible{
- outline:2px solid var(--sig-link-color);
- outline-offset:1px;
+ &:focus-visible {
+ outline: 2px solid var(--sig-link-color);
+ outline-offset: 1px;
+
}
}
- .subSignatures{
- margin-top:4px;
- border-top:1px dashed var(--sig-divider-color);
- padding-top:4px;
- font-size:12px;
+ .subSignatures {
+ margin-top: 4px;
+ border-top: 1px dashed var(--sig-divider-color);
+ padding-top: 4px;
+ font-size: 12px;
- > summary{
- cursor:pointer;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
- list-style:none;
- color:var(--sig-detail-color);
- display:flex;
- align-items:center;
- gap:4px;
- padding:2px 0;
+ > summary {
+ cursor: pointer;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ list-style: none;
+ color: var(--sig-detail-color);
+ display: flex;
+ align-items: center;
+ gap: 4px;
+ padding: 2px 0;
- &:hover{
- color:var(--sig-summary-hover-color);
+ &:hover {
+ color: var(--sig-summary-hover-color);
}
- &::-webkit-details-marker{
- display:none;
+ &::-webkit-details-marker {
+ display: none;
}
- &::before{
- content:"";
- display:inline-block;
- width:0;
- height:0;
- border-top:4px solid transparent;
- border-bottom:4px solid transparent;
- border-inline-start:5px solid currentcolor;
- transition:transform 0.15s;
+ &::before {
+ content: "";
+ display: inline-block;
+ width: 0;
+ height: 0;
+ border-top: 4px solid transparent;
+ border-bottom: 4px solid transparent;
+ border-inline-start: 5px solid currentcolor;
+ transition: transform 0.15s;
}
}
- &[open] > summary::before{
- transform:rotate(90deg);
+ &[open] > summary::before {
+ transform: rotate(90deg);
}
}
.nested,
- .subSignatures > .signaturePropertiesList{
- padding:4px 0 2px;
- margin-inline-start:0;
- gap:4px;
+ .subSignatures > .signaturePropertiesList {
+ padding: 4px 0 2px;
+ margin-inline-start: 0;
+ gap: 4px;
}
- .nested{
- margin-top:4px;
+ .nested {
+ margin-top: 4px;
}
.subSignatures .sigCard,
- .nested .sigCard{
- padding:6px 8px;
- background:var(--sig-card-nested-bg);
- gap:2px;
+ .nested .sigCard {
+ padding: 6px 8px;
+ background: var(--sig-card-nested-bg);
+ gap: 2px;
}
.subSignatures .signer,
- .nested .signer{
- font-size:12px;
- font-weight:500;
+ .nested .signer {
+ font-size: 12px;
+ font-weight: 500;
}
}
-:root{
- --dir-factor:1;
+:root {
+ --dir-factor: 1;
- --sidebar-width:200px;
- --sidebar-transition-duration:200ms;
- --sidebar-transition-timing-function:ease;
+ --sidebar-width: 200px;
+ --sidebar-transition-duration: 200ms;
+ --sidebar-transition-timing-function: ease;
- --toolbar-height:32px;
- --toolbar-horizontal-padding:1px;
- --toolbar-vertical-padding:2px;
- --icon-size:16px;
+ --toolbar-height: 32px;
+ --toolbar-horizontal-padding: 1px;
+ --toolbar-vertical-padding: 2px;
+ --icon-size: 16px;
- --toolbar-icon-opacity:0.7;
- --doorhanger-icon-opacity:0.9;
- --doorhanger-height:8px;
+ --toolbar-icon-opacity: 0.7;
+ --doorhanger-icon-opacity: 0.9;
+ --doorhanger-height: 8px;
- --main-color:light-dark(rgb(12 12 13), rgb(249 249 250));
- --body-bg-color:light-dark(rgb(212 212 215), rgb(42 42 46));
- --progressBar-color:light-dark(rgb(10 132 255), rgb(0 96 223));
- --progressBar-bg-color:light-dark(rgb(221 221 222), rgb(40 40 43));
- --progressBar-blend-color:light-dark(rgb(116 177 239), rgb(20 68 133));
- --scrollbar-color:light-dark(auto, rgb(121 121 123));
- --scrollbar-bg-color:light-dark(auto, rgb(35 35 39));
- --toolbar-icon-bg-color:light-dark(rgb(0 0 0), rgb(255 255 255));
- --toolbar-icon-hover-bg-color:light-dark(rgb(0 0 0), rgb(255 255 255));
+ --main-color: light-dark(rgb(12 12 13), rgb(249 249 250));
+ --body-bg-color: light-dark(rgb(212 212 215), rgb(42 42 46));
+ --progressBar-color: light-dark(rgb(10 132 255), rgb(0 96 223));
+ --progressBar-bg-color: light-dark(rgb(221 221 222), rgb(40 40 43));
+ --progressBar-blend-color: light-dark(rgb(116 177 239), rgb(20 68 133));
+ --scrollbar-color: light-dark(auto, rgb(121 121 123));
+ --scrollbar-bg-color: light-dark(auto, rgb(35 35 39));
+ --toolbar-icon-bg-color: light-dark(rgb(0 0 0), rgb(255 255 255));
+ --toolbar-icon-hover-bg-color: light-dark(rgb(0 0 0), rgb(255 255 255));
- --sidebar-narrow-bg-color:light-dark(
+ --sidebar-narrow-bg-color: light-dark(
rgb(212 212 215 / 0.9),
rgb(42 42 46 / 0.9)
);
- --sidebar-toolbar-bg-color:light-dark(rgb(245 246 247), rgb(50 50 52));
- --toolbar-bg-color:light-dark(rgb(249 249 250), rgb(56 56 61));
- --toolbar-border-color:light-dark(rgb(184 184 184), rgb(12 12 13));
- --toolbar-box-shadow:0 1px 0 var(--toolbar-border-color);
- --toolbar-border-bottom:none;
- --toolbarSidebar-box-shadow:inset calc(-1px * var(--dir-factor)) 0 0 rgb(0 0 0 / 0.25), 0 1px 0 rgb(0 0 0 / 0.15), 0 0 1px rgb(0 0 0 / 0.1);
- --toolbarSidebar-border-bottom:none;
- --button-hover-color:color-mix(in srgb, currentColor 17%, transparent);
- --toggled-btn-color:light-dark(rgb(0 0 0), rgb(255 255 255));
- --toggled-btn-bg-color:rgb(0 0 0 / 0.3);
- --toggled-hover-active-btn-color:rgb(0 0 0 / 0.4);
- --toggled-hover-btn-outline:none;
- --dropdown-btn-bg-color:light-dark(rgb(215 215 219), rgb(74 74 79));
- --dropdown-btn-border:none;
- --separator-color:rgb(0 0 0 / 0.3);
- --field-color:light-dark(rgb(6 6 6), rgb(250 250 250));
- --field-bg-color:light-dark(rgb(255 255 255), rgb(64 64 68));
- --field-border-color:light-dark(rgb(187 187 188), rgb(115 115 115));
- --doorhanger-bg-color:light-dark(rgb(255 255 255), #42414d);
- --doorhanger-border-color:light-dark(rgb(12 12 13 / 0.2), rgb(39 39 43));
- --doorhanger-hover-color:light-dark(rgb(12 12 13), rgb(249 249 250));
- --doorhanger-separator-color:light-dark(rgb(222 222 222), rgb(92 92 97));
- --dialog-button-border:none;
- --dialog-button-bg-color:light-dark(rgb(12 12 13 / 0.1), rgb(92 92 97));
- --dialog-button-hover-bg-color:light-dark(
- rgb(12 12 13 / 0.3),
- rgb(115 115 115)
+ --sidebar-toolbar-bg-color: light-dark(rgb(245 246 247), rgb(50 50 52));
+ --toolbar-bg-color: light-dark(rgb(249 249 250), rgb(56 56 61));
+ --toolbar-border-color: light-dark(rgb(184 184 184), rgb(12 12 13));
+ --toolbar-box-shadow: 0 1px 0 var(--toolbar-border-color);
+ --toolbar-border-bottom: none;
+ --toolbarSidebar-box-shadow:
+ inset calc(-1px * var(--dir-factor)) 0 0 rgb(0 0 0 / 0.25),
+ 0 1px 0 rgb(0 0 0 / 0.15), 0 0 1px rgb(0 0 0 / 0.1);
+ --toolbarSidebar-border-bottom: none;
+ --button-hover-color: var(
+ --button-background-color-toolbar-hover,
+ color-mix(in srgb, currentColor 17%, transparent)
);
-
- --loading-icon:url(images/loading.svg);
- --toolbarButton-editorComment-icon:url(images/comment-editButton.svg);
- --toolbarButton-editorFreeText-icon:url(images/toolbarButton-editorFreeText.svg);
- --toolbarButton-editorHighlight-icon:url(images/toolbarButton-editorHighlight.svg);
- --toolbarButton-editorInk-icon:url(images/toolbarButton-editorInk.svg);
- --toolbarButton-editorStamp-icon:url(images/toolbarButton-editorStamp.svg);
- --toolbarButton-editorSignature-icon:url(images/toolbarButton-editorSignature.svg);
- --toolbarButton-signaturePropertiesVerified-icon:url(images/toolbarButton-signaturePropertiesVerified.svg);
- --toolbarButton-signaturePropertiesError-icon:url(images/toolbarButton-signaturePropertiesError.svg);
- --signatureProperties-rowCheck-icon:url(images/signature-properties-row-check.svg);
- --toolbarButton-menuArrow-icon:url(images/toolbarButton-menuArrow.svg);
- --toolbarButton-viewsManagerToggle-icon:url(images/toolbarButton-viewsManagerToggle.svg);
- --toolbarButton-secondaryToolbarToggle-icon:url(images/toolbarButton-secondaryToolbarToggle.svg);
- --toolbarButton-pageUp-icon:url(images/toolbarButton-pageUp.svg);
- --toolbarButton-pageDown-icon:url(images/toolbarButton-pageDown.svg);
- --toolbarButton-zoomOut-icon:url(images/toolbarButton-zoomOut.svg);
- --toolbarButton-zoomIn-icon:url(images/toolbarButton-zoomIn.svg);
- --toolbarButton-presentationMode-icon:url(images/toolbarButton-presentationMode.svg);
- --toolbarButton-print-icon:url(images/toolbarButton-print.svg);
- --toolbarButton-openFile-icon:url(images/toolbarButton-openFile.svg);
- --toolbarButton-download-icon:url(images/toolbarButton-download.svg);
- --toolbarButton-bookmark-icon:url(images/toolbarButton-bookmark.svg);
- --toolbarButton-viewThumbnail-icon:url(images/toolbarButton-viewThumbnail.svg);
- --toolbarButton-viewOutline-icon:url(images/toolbarButton-viewOutline.svg);
- --toolbarButton-viewAttachments-icon:url(images/toolbarButton-viewAttachments.svg);
- --toolbarButton-viewLayers-icon:url(images/toolbarButton-viewLayers.svg);
- --toolbarButton-currentOutlineItem-icon:url(images/toolbarButton-currentOutlineItem.svg);
- --toolbarButton-search-icon:url(images/toolbarButton-search.svg);
- --findbarButton-previous-icon:url(images/findbarButton-previous.svg);
- --findbarButton-next-icon:url(images/findbarButton-next.svg);
- --secondaryToolbarButton-firstPage-icon:url(images/secondaryToolbarButton-firstPage.svg);
- --secondaryToolbarButton-lastPage-icon:url(images/secondaryToolbarButton-lastPage.svg);
- --secondaryToolbarButton-rotateCcw-icon:url(images/secondaryToolbarButton-rotateCcw.svg);
- --secondaryToolbarButton-rotateCw-icon:url(images/secondaryToolbarButton-rotateCw.svg);
- --secondaryToolbarButton-selectTool-icon:url(images/secondaryToolbarButton-selectTool.svg);
- --secondaryToolbarButton-handTool-icon:url(images/secondaryToolbarButton-handTool.svg);
- --secondaryToolbarButton-scrollPage-icon:url(images/secondaryToolbarButton-scrollPage.svg);
- --secondaryToolbarButton-scrollVertical-icon:url(images/secondaryToolbarButton-scrollVertical.svg);
- --secondaryToolbarButton-scrollHorizontal-icon:url(images/secondaryToolbarButton-scrollHorizontal.svg);
- --secondaryToolbarButton-scrollWrapped-icon:url(images/secondaryToolbarButton-scrollWrapped.svg);
- --secondaryToolbarButton-spreadNone-icon:url(images/secondaryToolbarButton-spreadNone.svg);
- --secondaryToolbarButton-spreadOdd-icon:url(images/secondaryToolbarButton-spreadOdd.svg);
- --secondaryToolbarButton-spreadEven-icon:url(images/secondaryToolbarButton-spreadEven.svg);
- --secondaryToolbarButton-imageAltTextSettings-icon:var(
+ --button-hover-text-color: var(--toggled-btn-text-color);
+ --toggled-btn-color: light-dark(rgb(0 0 0), rgb(255 255 255));
+ --toggled-btn-text-color: var(--toggled-btn-color);
+ --toggled-btn-bg-color: rgb(0 0 0 / 0.3);
+ --toggled-hover-active-btn-color: rgb(0 0 0 / 0.4);
+ --toggled-hover-btn-outline: none;
+ --toggled-hover-btn-outline-offset: 0;
+ --dropdown-btn-bg-color: light-dark(rgb(215 215 219), rgb(74 74 79));
+ --dropdown-btn-border: none;
+ --separator-color: rgb(0 0 0 / 0.3);
+ --field-color: light-dark(rgb(6 6 6), rgb(250 250 250));
+ --field-bg-color: light-dark(rgb(255 255 255), rgb(64 64 68));
+ --field-border-color: light-dark(rgb(187 187 188), rgb(115 115 115));
+ --doorhanger-bg-color: light-dark(rgb(255 255 255), #42414d);
+ --doorhanger-border-color: light-dark(rgb(12 12 13 / 0.2), rgb(39 39 43));
+ --doorhanger-hover-color: light-dark(rgb(12 12 13), rgb(249 249 250));
+ --doorhanger-separator-color: light-dark(rgb(222 222 222), rgb(92 92 97));
+
+ --loading-icon: url(images/loading.svg);
+ --toolbarButton-editorComment-icon: url(images/comment-editButton.svg);
+ --toolbarButton-editorFreeText-icon: url(images/toolbarButton-editorFreeText.svg);
+ --toolbarButton-editorHighlight-icon: url(images/toolbarButton-editorHighlight.svg);
+ --toolbarButton-editorInk-icon: url(images/toolbarButton-editorInk.svg);
+ --toolbarButton-editorStamp-icon: url(images/toolbarButton-editorStamp.svg);
+ --toolbarButton-editorSignature-icon: url(images/toolbarButton-editorSignature.svg);
+ --toolbarButton-signaturePropertiesVerified-icon: url(images/toolbarButton-signaturePropertiesVerified.svg);
+ --toolbarButton-signaturePropertiesError-icon: url(images/toolbarButton-signaturePropertiesError.svg);
+ --signatureProperties-rowCheck-icon: url(images/signature-properties-row-check.svg);
+ --toolbarButton-menuArrow-icon: url(images/toolbarButton-menuArrow.svg);
+ --toolbarButton-viewsManagerToggle-icon: url(images/toolbarButton-viewsManagerToggle.svg);
+ --toolbarButton-secondaryToolbarToggle-icon: url(images/toolbarButton-secondaryToolbarToggle.svg);
+ --toolbarButton-pageUp-icon: url(images/toolbarButton-pageUp.svg);
+ --toolbarButton-pageDown-icon: url(images/toolbarButton-pageDown.svg);
+ --toolbarButton-zoomOut-icon: url(images/toolbarButton-zoomOut.svg);
+ --toolbarButton-zoomIn-icon: url(images/toolbarButton-zoomIn.svg);
+ --toolbarButton-presentationMode-icon: url(images/toolbarButton-presentationMode.svg);
+ --toolbarButton-print-icon: url(images/toolbarButton-print.svg);
+ --toolbarButton-openFile-icon: url(images/toolbarButton-openFile.svg);
+ --toolbarButton-download-icon: url(images/toolbarButton-download.svg);
+ --toolbarButton-bookmark-icon: url(images/toolbarButton-bookmark.svg);
+ --toolbarButton-viewThumbnail-icon: url(images/toolbarButton-viewThumbnail.svg);
+ --toolbarButton-viewOutline-icon: url(images/toolbarButton-viewOutline.svg);
+ --toolbarButton-viewAttachments-icon: url(images/toolbarButton-viewAttachments.svg);
+ --toolbarButton-viewLayers-icon: url(images/toolbarButton-viewLayers.svg);
+ --toolbarButton-currentOutlineItem-icon: url(images/toolbarButton-currentOutlineItem.svg);
+ --toolbarButton-search-icon: url(images/toolbarButton-search.svg);
+ --findbarButton-previous-icon: url(images/findbarButton-previous.svg);
+ --findbarButton-next-icon: url(images/findbarButton-next.svg);
+ --secondaryToolbarButton-firstPage-icon: url(images/secondaryToolbarButton-firstPage.svg);
+ --secondaryToolbarButton-lastPage-icon: url(images/secondaryToolbarButton-lastPage.svg);
+ --secondaryToolbarButton-rotateCcw-icon: url(images/secondaryToolbarButton-rotateCcw.svg);
+ --secondaryToolbarButton-rotateCw-icon: url(images/secondaryToolbarButton-rotateCw.svg);
+ --secondaryToolbarButton-selectTool-icon: url(images/secondaryToolbarButton-selectTool.svg);
+ --secondaryToolbarButton-handTool-icon: url(images/secondaryToolbarButton-handTool.svg);
+ --secondaryToolbarButton-scrollPage-icon: url(images/secondaryToolbarButton-scrollPage.svg);
+ --secondaryToolbarButton-scrollVertical-icon: url(images/secondaryToolbarButton-scrollVertical.svg);
+ --secondaryToolbarButton-scrollHorizontal-icon: url(images/secondaryToolbarButton-scrollHorizontal.svg);
+ --secondaryToolbarButton-scrollWrapped-icon: url(images/secondaryToolbarButton-scrollWrapped.svg);
+ --secondaryToolbarButton-spreadNone-icon: url(images/secondaryToolbarButton-spreadNone.svg);
+ --secondaryToolbarButton-spreadOdd-icon: url(images/secondaryToolbarButton-spreadOdd.svg);
+ --secondaryToolbarButton-spreadEven-icon: url(images/secondaryToolbarButton-spreadEven.svg);
+ --secondaryToolbarButton-imageAltTextSettings-icon: var(
--toolbarButton-editorStamp-icon
);
- --secondaryToolbarButton-documentProperties-icon:url(images/secondaryToolbarButton-documentProperties.svg);
- --editorParams-stampAddImage-icon:url(images/toolbarButton-zoomIn.svg);
- --comment-edit-button-icon:url(images/comment-editButton.svg);
+ --secondaryToolbarButton-documentProperties-icon: url(images/secondaryToolbarButton-documentProperties.svg);
+ --editorParams-stampAddImage-icon: url(images/toolbarButton-zoomIn.svg);
+ --comment-edit-button-icon: url(images/comment-editButton.svg);
}
-:root:dir(rtl){
- --dir-factor:-1;
+:root:dir(rtl) {
+ --dir-factor: -1;
}
-@media screen and (forced-colors: active){
- :root{
- --button-hover-color:Highlight;
- --toolbar-icon-opacity:1;
- --toolbar-icon-bg-color:ButtonText;
- --toolbar-icon-hover-bg-color:ButtonFace;
- --toggled-hover-active-btn-color:ButtonText;
- --toggled-hover-btn-outline:2px solid ButtonBorder;
- --toolbar-border-color:CanvasText;
- --toolbar-border-bottom:1px solid var(--toolbar-border-color);
- --toolbar-box-shadow:none;
- --toggled-btn-color:HighlightText;
- --toggled-btn-bg-color:LinkText;
- --doorhanger-hover-color:ButtonFace;
- --doorhanger-border-color-whcm:1px solid ButtonText;
- --doorhanger-triangle-opacity-whcm:0;
- --dialog-button-border:1px solid Highlight;
- --dialog-button-hover-bg-color:Highlight;
- --dialog-button-hover-color:ButtonFace;
- --dropdown-btn-border:1px solid ButtonText;
- --field-border-color:ButtonText;
- --main-color:CanvasText;
- --separator-color:GrayText;
- --doorhanger-separator-color:GrayText;
- --toolbarSidebar-box-shadow:none;
- --toolbarSidebar-border-bottom:1px solid var(--toolbar-border-color);
+@media screen and (forced-colors: active) {
+ :root {
+ --button-hover-color: Highlight;
+ --button-hover-text-color: HighlightText;
+ --toolbar-icon-opacity: 1;
+ --toolbar-icon-bg-color: ButtonText;
+ --toolbar-icon-hover-bg-color: ButtonFace;
+ --toggled-hover-active-btn-color: ButtonText;
+ --toggled-hover-btn-outline: 2px solid ButtonBorder;
+ --toggled-hover-btn-outline-offset: -2px;
+ --toolbar-border-color: CanvasText;
+ --toolbar-border-bottom: 1px solid var(--toolbar-border-color);
+ --toolbar-box-shadow: none;
+ --toggled-btn-color: Canvas;
+ --toggled-btn-text-color: Canvas;
+ --toggled-btn-bg-color: LinkText;
+ --doorhanger-hover-color: ButtonFace;
+ --doorhanger-border-color-whcm: 1px solid ButtonText;
+ --doorhanger-triangle-opacity-whcm: 0;
+ --dropdown-btn-border: 1px solid ButtonText;
+ --field-border-color: ButtonText;
+ --main-color: CanvasText;
+ --separator-color: GrayText;
+ --doorhanger-separator-color: GrayText;
+ --toolbarSidebar-box-shadow: none;
+ --toolbarSidebar-border-bottom: 1px solid var(--toolbar-border-color);
}
}
-@media screen and (prefers-reduced-motion: reduce){
- :root{
- --sidebar-transition-duration:0;
+@media screen and (prefers-reduced-motion: reduce) {
+ :root {
+ --sidebar-transition-duration: 0;
}
}
-@keyframes progressIndeterminate{
- 0%{
- transform:translateX(calc(-142px * var(--dir-factor)));
+@keyframes progressIndeterminate {
+ 0% {
+ transform: translateX(calc(-142px * var(--dir-factor)));
}
- 100%{
- transform:translateX(0);
+ 100% {
+ transform: translateX(0);
}
}
-html{
- &[data-toolbar-density="compact"]{
- --toolbar-height:30px;
+html {
+ &[data-toolbar-density="compact"] {
+ --toolbar-height: 30px;
}
- &[data-toolbar-density="touch"]{
- --toolbar-height:44px;
+ &[data-toolbar-density="touch"] {
+ --toolbar-height: 44px;
}
}
html,
-body{
- height:100%;
- width:100%;
-}
-
-body{
- margin:0;
- background-color:var(--body-bg-color);
- scrollbar-color:var(--scrollbar-color) var(--scrollbar-bg-color);
-
- &.wait::before{
- content:"";
- position:fixed;
- width:100%;
- height:100%;
- z-index:100000;
- cursor:wait;
- }
-}
-.visuallyHidden{
- position:absolute;
- top:0;
- left:0;
- border:0;
- margin:0;
- padding:0;
- width:0;
- height:0;
- overflow:hidden;
- white-space:nowrap;
- font-size:0;
+body {
+ height: 100%;
+ width: 100%;
+}
+
+body {
+ margin: 0;
+ background-color: var(--body-bg-color);
+ scrollbar-color: var(--scrollbar-color) var(--scrollbar-bg-color);
+
+ &.wait::before {
+ content: "";
+ position: fixed;
+ width: 100%;
+ height: 100%;
+ z-index: 100000;
+ cursor: wait;
+ }
+}
+.visuallyHidden {
+ position: absolute;
+ top: 0;
+ left: 0;
+ border: 0;
+ margin: 0;
+ padding: 0;
+ width: 0;
+ height: 0;
+ overflow: hidden;
+ white-space: nowrap;
+ font-size: 0;
}
.hidden,
-[hidden]{
- display:none !important;
+[hidden] {
+ display: none !important;
}
-#viewerContainer.pdfPresentationMode:fullscreen{
- top:0;
- background-color:rgb(0 0 0);
- width:100%;
- height:100%;
- overflow:hidden;
- cursor:none;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
+#viewerContainer.pdfPresentationMode:fullscreen {
+ top: 0;
+ background-color: rgb(0 0 0);
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ cursor: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
}
.pdfPresentationMode:fullscreen
- section:not([data-internal-link], .mediaAnnotation){
- pointer-events:none;
+ section:not([data-internal-link], .mediaAnnotation) {
+ pointer-events: none;
}
-.pdfPresentationMode:fullscreen .textLayer span{
- cursor:none;
+.pdfPresentationMode:fullscreen .textLayer span {
+ cursor: none;
}
.pdfPresentationMode.pdfPresentationModeControls > *,
-.pdfPresentationMode.pdfPresentationModeControls .textLayer span{
- cursor:default;
+.pdfPresentationMode.pdfPresentationModeControls .textLayer span {
+ cursor: default;
}
-#outerContainer{
- width:100%;
- height:100%;
- position:relative;
- margin:0;
+#outerContainer {
+ width: 100%;
+ height: 100%;
+ position: relative;
+ margin: 0;
}
-#mainContainer{
- position:absolute;
- inset:0;
- min-width:350px;
- margin:0;
- display:flex;
- flex-direction:column;
+#mainContainer {
+ position: absolute;
+ inset: 0;
+ min-width: 350px;
+ margin: 0;
+ display: flex;
+ flex-direction: column;
}
-#sidebarContent{
- inset-block:var(--toolbar-height) 0;
- inset-inline-start:0;
- overflow:auto;
- position:absolute;
- width:100%;
- box-shadow:inset calc(-1px * var(--dir-factor)) 0 0 rgb(0 0 0 / 0.25);
+#sidebarContent {
+ inset-block: var(--toolbar-height) 0;
+ inset-inline-start: 0;
+ overflow: auto;
+ position: absolute;
+ width: 100%;
+ box-shadow: inset calc(-1px * var(--dir-factor)) 0 0 rgb(0 0 0 / 0.25);
}
-#viewerContainer{
- overflow:auto;
- position:absolute;
- inset:var(--toolbar-height) 0 0;
- outline:none;
- z-index:0;
+#viewerContainer {
+ overflow: auto;
+ position: absolute;
+ inset: var(--toolbar-height) 0 0;
+ outline: none;
+ z-index: 0;
}
-#viewerContainer:not(.pdfPresentationMode){
- transition-duration:var(--sidebar-transition-duration);
- transition-timing-function:var(--sidebar-transition-timing-function);
+#viewerContainer:not(.pdfPresentationMode) {
+ transition-property: inset-inline-start;
+ transition-duration: var(--sidebar-transition-duration);
+ transition-timing-function: var(--sidebar-transition-timing-function);
}
-#sidebarContainer :is(input, button, select){
- font:message-box;
+#sidebarContainer :is(input, button, select) {
+ font: message-box;
}
-.toolbar{
- z-index:2;
+.toolbar {
+ z-index: 2;
}
-#toolbarSidebar{
- width:100%;
- height:var(--toolbar-height);
- background-color:var(--sidebar-toolbar-bg-color);
- box-shadow:var(--toolbarSidebar-box-shadow);
- border-bottom:var(--toolbarSidebar-border-bottom);
- padding:var(--toolbar-vertical-padding) var(--toolbar-horizontal-padding);
- justify-content:space-between;
+#toolbarSidebar {
+ width: 100%;
+ height: var(--toolbar-height);
+ background-color: var(--sidebar-toolbar-bg-color);
+ box-shadow: var(--toolbarSidebar-box-shadow);
+ border-bottom: var(--toolbarSidebar-border-bottom);
+ padding: var(--toolbar-vertical-padding) var(--toolbar-horizontal-padding);
+ justify-content: space-between;
- #toolbarSidebarLeft{
- width:auto;
- height:100%;
+ #toolbarSidebarLeft {
+ width: auto;
+ height: 100%;
- #viewThumbnail::before{
- -webkit-mask-image:var(--toolbarButton-viewThumbnail-icon);
- mask-image:var(--toolbarButton-viewThumbnail-icon);
+ #viewThumbnail::before {
+ -webkit-mask-image: var(--toolbarButton-viewThumbnail-icon);
+ mask-image: var(--toolbarButton-viewThumbnail-icon);
}
- #viewOutline::before{
- -webkit-mask-image:var(--toolbarButton-viewOutline-icon);
- mask-image:var(--toolbarButton-viewOutline-icon);
- transform:scaleX(var(--dir-factor));
+ #viewOutline::before {
+ -webkit-mask-image: var(--toolbarButton-viewOutline-icon);
+ mask-image: var(--toolbarButton-viewOutline-icon);
+ transform: scaleX(var(--dir-factor));
}
- #viewAttachments::before{
- -webkit-mask-image:var(--toolbarButton-viewAttachments-icon);
- mask-image:var(--toolbarButton-viewAttachments-icon);
+ #viewAttachments::before {
+ -webkit-mask-image: var(--toolbarButton-viewAttachments-icon);
+ mask-image: var(--toolbarButton-viewAttachments-icon);
}
- #viewLayers::before{
- -webkit-mask-image:var(--toolbarButton-viewLayers-icon);
- mask-image:var(--toolbarButton-viewLayers-icon);
+ #viewLayers::before {
+ -webkit-mask-image: var(--toolbarButton-viewLayers-icon);
+ mask-image: var(--toolbarButton-viewLayers-icon);
}
}
- #toolbarSidebarRight{
- width:auto;
- height:100%;
- padding-inline-end:2px;
+ #toolbarSidebarRight {
+ width: auto;
+ height: 100%;
+ padding-inline-end: 2px;
}
}
.doorHanger,
-.doorHangerRight{
- border-radius:2px;
- box-shadow:0 1px 5px var(--doorhanger-border-color), 0 0 0 1px var(--doorhanger-border-color);
- border:var(--doorhanger-border-color-whcm);
- background-color:var(--doorhanger-bg-color);
- inset-block-start:calc(100% + var(--doorhanger-height) - 2px);
+.doorHangerRight {
+ border-radius: 2px;
+ box-shadow:
+ 0 1px 5px var(--doorhanger-border-color),
+ 0 0 0 1px var(--doorhanger-border-color);
+ border: var(--doorhanger-border-color-whcm);
+ background-color: var(--doorhanger-bg-color);
+ inset-block-start: calc(100% + var(--doorhanger-height) - 2px);
&::after,
- &::before{
- bottom:100%;
- border-style:solid;
- border-color:transparent;
- content:"";
- height:0;
- width:0;
- position:absolute;
- pointer-events:none;
- opacity:var(--doorhanger-triangle-opacity-whcm);
+ &::before {
+ bottom: 100%;
+ border-style: solid;
+ border-color: transparent;
+ content: "";
+ height: 0;
+ width: 0;
+ position: absolute;
+ pointer-events: none;
+ opacity: var(--doorhanger-triangle-opacity-whcm);
}
- &::before{
- border-width:calc(var(--doorhanger-height) + 2px);
- border-bottom-color:var(--doorhanger-border-color);
+ &::before {
+ border-width: calc(var(--doorhanger-height) + 2px);
+ border-bottom-color: var(--doorhanger-border-color);
}
- &::after{
- border-width:var(--doorhanger-height);
+ &::after {
+ border-width: var(--doorhanger-height);
}
}
-.doorHangerRight{
- inset-inline-end:calc(50% - var(--doorhanger-height) - 1px);
+.doorHangerRight {
+ inset-inline-end: calc(50% - var(--doorhanger-height) - 1px);
- &::before{
- inset-inline-end:-1px;
+ &::before {
+ inset-inline-end: -1px;
}
- &::after{
- border-bottom-color:var(--doorhanger-bg-color);
- inset-inline-end:1px;
+ &::after {
+ border-bottom-color: var(--doorhanger-bg-color);
+ inset-inline-end: 1px;
}
}
-.doorHanger{
- inset-inline-start:calc(50% - var(--doorhanger-height) - 1px);
+.doorHanger {
+ inset-inline-start: calc(50% - var(--doorhanger-height) - 1px);
- &::before{
- inset-inline-start:-1px;
+ &::before {
+ inset-inline-start: -1px;
}
- &::after{
- border-bottom-color:var(--toolbar-bg-color);
- inset-inline-start:1px;
+ &::after {
+ border-bottom-color: var(--toolbar-bg-color);
+ inset-inline-start: 1px;
}
-}
-
-.dialogButton{
- border:none;
- background:none;
- width:28px;
- height:28px;
- outline:none;
-}
-
-.dialogButton:is(:hover, :focus-visible){
- background-color:var(--dialog-button-hover-bg-color);
-}
-.dialogButton:is(:hover, :focus-visible) > span{
- color:var(--dialog-button-hover-color);
}
-.splitToolbarButtonSeparator{
- float:inline-start;
- width:0;
- height:62%;
- border-left:1px solid var(--separator-color);
- border-right:none;
+.splitToolbarButtonSeparator {
+ float: inline-start;
+ width: 0;
+ height: 62%;
+ border-left: 1px solid var(--separator-color);
+ border-right: none;
}
-.dialogButton{
- min-width:16px;
- margin:2px 1px;
- padding:2px 6px 0;
- border:none;
- border-radius:2px;
- color:var(--main-color);
- font-size:12px;
- line-height:14px;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
- cursor:default;
- box-sizing:border-box;
+#viewsManagerToggleButton::before {
+ -webkit-mask-image: var(--toolbarButton-viewsManagerToggle-icon);
+ mask-image: var(--toolbarButton-viewsManagerToggle-icon);
+ transform: scaleX(var(--dir-factor));
}
-#viewsManagerToggleButton::before{
- -webkit-mask-image:var(--toolbarButton-viewsManagerToggle-icon);
- mask-image:var(--toolbarButton-viewsManagerToggle-icon);
- transform:scaleX(var(--dir-factor));
+#secondaryToolbarToggleButton::before {
+ -webkit-mask-image: var(--toolbarButton-secondaryToolbarToggle-icon);
+ mask-image: var(--toolbarButton-secondaryToolbarToggle-icon);
+ transform: scaleX(var(--dir-factor));
}
-#secondaryToolbarToggleButton::before{
- -webkit-mask-image:var(--toolbarButton-secondaryToolbarToggle-icon);
- mask-image:var(--toolbarButton-secondaryToolbarToggle-icon);
- transform:scaleX(var(--dir-factor));
+#previous::before {
+ -webkit-mask-image: var(--toolbarButton-pageUp-icon);
+ mask-image: var(--toolbarButton-pageUp-icon);
}
-#previous::before{
- -webkit-mask-image:var(--toolbarButton-pageUp-icon);
- mask-image:var(--toolbarButton-pageUp-icon);
+#next::before {
+ -webkit-mask-image: var(--toolbarButton-pageDown-icon);
+ mask-image: var(--toolbarButton-pageDown-icon);
}
-#next::before{
- -webkit-mask-image:var(--toolbarButton-pageDown-icon);
- mask-image:var(--toolbarButton-pageDown-icon);
+#zoomOutButton::before {
+ -webkit-mask-image: var(--toolbarButton-zoomOut-icon);
+ mask-image: var(--toolbarButton-zoomOut-icon);
}
-#zoomOutButton::before{
- -webkit-mask-image:var(--toolbarButton-zoomOut-icon);
- mask-image:var(--toolbarButton-zoomOut-icon);
+#zoomInButton::before {
+ -webkit-mask-image: var(--toolbarButton-zoomIn-icon);
+ mask-image: var(--toolbarButton-zoomIn-icon);
}
-#zoomInButton::before{
- -webkit-mask-image:var(--toolbarButton-zoomIn-icon);
- mask-image:var(--toolbarButton-zoomIn-icon);
+#editorCommentButton::before {
+ -webkit-mask-image: var(--toolbarButton-editorComment-icon);
+ mask-image: var(--toolbarButton-editorComment-icon);
+ transform: scaleX(var(--dir-factor));
}
-#editorCommentButton::before{
- -webkit-mask-image:var(--toolbarButton-editorComment-icon);
- mask-image:var(--toolbarButton-editorComment-icon);
- transform:scaleX(var(--dir-factor));
+#editorFreeTextButton::before {
+ -webkit-mask-image: var(--toolbarButton-editorFreeText-icon);
+ mask-image: var(--toolbarButton-editorFreeText-icon);
}
-#editorFreeTextButton::before{
- -webkit-mask-image:var(--toolbarButton-editorFreeText-icon);
- mask-image:var(--toolbarButton-editorFreeText-icon);
+#editorHighlightButton::before {
+ -webkit-mask-image: var(--toolbarButton-editorHighlight-icon);
+ mask-image: var(--toolbarButton-editorHighlight-icon);
}
-#editorHighlightButton::before{
- -webkit-mask-image:var(--toolbarButton-editorHighlight-icon);
- mask-image:var(--toolbarButton-editorHighlight-icon);
+#editorInkButton::before {
+ -webkit-mask-image: var(--toolbarButton-editorInk-icon);
+ mask-image: var(--toolbarButton-editorInk-icon);
}
-#editorInkButton::before{
- -webkit-mask-image:var(--toolbarButton-editorInk-icon);
- mask-image:var(--toolbarButton-editorInk-icon);
+#editorStampButton::before {
+ -webkit-mask-image: var(--toolbarButton-editorStamp-icon);
+ mask-image: var(--toolbarButton-editorStamp-icon);
}
-#editorStampButton::before{
- -webkit-mask-image:var(--toolbarButton-editorStamp-icon);
- mask-image:var(--toolbarButton-editorStamp-icon);
+#editorSignatureButton::before {
+ -webkit-mask-image: var(--toolbarButton-editorSignature-icon);
+ mask-image: var(--toolbarButton-editorSignature-icon);
}
-#editorSignatureButton::before{
- -webkit-mask-image:var(--toolbarButton-editorSignature-icon);
- mask-image:var(--toolbarButton-editorSignature-icon);
+#printButton::before {
+ -webkit-mask-image: var(--toolbarButton-print-icon);
+ mask-image: var(--toolbarButton-print-icon);
}
-#printButton::before{
- -webkit-mask-image:var(--toolbarButton-print-icon);
- mask-image:var(--toolbarButton-print-icon);
+#downloadButton::before {
+ -webkit-mask-image: var(--toolbarButton-download-icon);
+ mask-image: var(--toolbarButton-download-icon);
}
-#downloadButton::before{
- -webkit-mask-image:var(--toolbarButton-download-icon);
- mask-image:var(--toolbarButton-download-icon);
+#currentOutlineItem::before {
+ -webkit-mask-image: var(--toolbarButton-currentOutlineItem-icon);
+ mask-image: var(--toolbarButton-currentOutlineItem-icon);
+ transform: scaleX(var(--dir-factor));
}
-#currentOutlineItem::before{
- -webkit-mask-image:var(--toolbarButton-currentOutlineItem-icon);
- mask-image:var(--toolbarButton-currentOutlineItem-icon);
- transform:scaleX(var(--dir-factor));
+#viewFindButton::before {
+ -webkit-mask-image: var(--toolbarButton-search-icon);
+ mask-image: var(--toolbarButton-search-icon);
}
-#viewFindButton::before{
- -webkit-mask-image:var(--toolbarButton-search-icon);
- mask-image:var(--toolbarButton-search-icon);
-}
+.pdfSidebarNotification::after {
+ position: absolute;
+ display: inline-block;
+ top: 2px;
+ inset-inline-end: 2px;
+ content: "";
+ background-color: rgb(112 219 85);
+ height: 9px;
+ width: 9px;
+ border-radius: 50%;
-.pdfSidebarNotification::after{
- position:absolute;
- display:inline-block;
- top:2px;
- inset-inline-end:2px;
- content:"";
- background-color:rgb(112 219 85);
- height:9px;
- width:9px;
- border-radius:50%;
}
-.verticalToolbarSeparator{
- display:block;
- margin-inline:2px;
- width:0;
- height:80%;
- border-left:1px solid var(--separator-color);
- border-right:none;
- box-sizing:border-box;
+.verticalToolbarSeparator {
+ display: block;
+ margin-inline: 2px;
+ width: 0;
+ height: 80%;
+ border-left: 1px solid var(--separator-color);
+ border-right: none;
+ box-sizing: border-box;
}
-.horizontalToolbarSeparator{
- display:block;
- margin:6px 0;
- border-top:1px solid var(--doorhanger-separator-color);
- border-bottom:none;
- height:0;
- width:100%;
+.horizontalToolbarSeparator {
+ display: block;
+ margin: 6px 0;
+ border-top: 1px solid var(--doorhanger-separator-color);
+ border-bottom: none;
+ height: 0;
+ width: 100%;
}
-.toggleButton{
- display:inline;
+.toggleButton {
+ display: inline;
- &:has(> input:checked){
- color:var(--toggled-btn-color);
- background-color:var(--toggled-btn-bg-color);
+ &:has(> input:checked) {
+ color: var(--toggled-btn-text-color);
+ background-color: var(--toggled-btn-bg-color);
}
- &:is(:hover, :has(> input:focus-visible)){
- color:var(--toggled-btn-color);
- background-color:var(--button-hover-color);
+ &:is(:hover, :has(> input:focus-visible)) {
+ color: var(--button-hover-text-color);
+ background-color: var(--button-hover-color);
}
- & > input{
- position:absolute;
- top:50%;
- left:50%;
- opacity:0;
- width:0;
- height:0;
+ & > input {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ opacity: 0;
+ width: 0;
+ height: 0;
}
}
-.toolbarField{
- padding:4px 7px;
- margin:3px 0;
- border-radius:2px;
- background-color:var(--field-bg-color);
- background-clip:padding-box;
- border:1px solid var(--field-border-color);
- box-shadow:none;
- color:var(--field-color);
- font-size:12px;
- line-height:16px;
- outline:none;
+.toolbarField {
+ padding: 4px 7px;
+ margin: 3px 0;
+ border-radius: 2px;
+ background-color: var(--field-bg-color);
+ background-clip: padding-box;
+ border: 1px solid var(--field-border-color);
+ box-shadow: none;
+ color: var(--field-color);
+ font-size: 12px;
+ line-height: 16px;
+ outline: none;
- &:focus{
- border-color:#0a84ff;
+ &:focus {
+ border-color: #0a84ff;
}
}
-#pageNumber{
- -moz-appearance:textfield;
- text-align:end;
- width:40px;
- background-size:0 0;
- transition-property:none;
+#pageNumber {
+ -moz-appearance: textfield;
+ text-align: end;
+ width: 40px;
+ background-size: 0 0;
+ transition-property: none;
- &::-webkit-inner-spin-button{
- -webkit-appearance:none;
+ &::-webkit-inner-spin-button {
+ -webkit-appearance: none;
}
- .loadingInput:has(> &.loading)::after{
- display:inline;
- visibility:visible;
+ .loadingInput:has(> &.loading)::after {
+ display: inline;
+ visibility: visible;
- transition-property:visibility;
- transition-delay:var(--loading-icon-delay);
+ transition-property: visibility;
+ transition-delay: var(--loading-icon-delay);
}
}
-.loadingInput{
- position:relative;
+.loadingInput {
+ position: relative;
- &::after{
- position:absolute;
- visibility:hidden;
- display:none;
- width:var(--icon-size);
- height:var(--icon-size);
+ &::after {
+ position: absolute;
+ visibility: hidden;
+ display: none;
+ width: var(--icon-size);
+ height: var(--icon-size);
- content:"";
- background-color:var(--toolbar-icon-bg-color);
- -webkit-mask-size:cover;
- mask-size:cover;
- -webkit-mask-image:var(--loading-icon);
- mask-image:var(--loading-icon);
+ content: "";
+ background-color: var(--toolbar-icon-bg-color);
+ -webkit-mask-size: cover;
+ mask-size: cover;
+ -webkit-mask-image: var(--loading-icon);
+ mask-image: var(--loading-icon);
}
- &.start::after{
- inset-inline-start:4px;
+ &.start::after {
+ inset-inline-start: 4px;
}
- &.end::after{
- inset-inline-end:4px;
+ &.end::after {
+ inset-inline-end: 4px;
}
}
-#outlineOptionsContainer{
- display:none;
+#outlineOptionsContainer {
+ display: none;
- #sidebarContainer:has(#outlineView:not(.hidden)) &{
- display:inline flex;
+ #sidebarContainer:has(#outlineView:not(.hidden)) & {
+ display: inline flex;
}
}
-.dialogButton{
- width:auto;
- margin:3px 4px 2px !important;
- padding:2px 11px;
- color:var(--main-color);
- background-color:var(--dialog-button-bg-color);
- border:var(--dialog-button-border) !important;
-}
-
-dialog{
- margin:auto;
- padding:15px;
- border-spacing:4px;
- color:var(--main-color);
- font:message-box;
- font-size:12px;
- line-height:14px;
- background-color:var(--doorhanger-bg-color);
- border:1px solid rgb(0 0 0 / 0.5);
- border-radius:4px;
- box-shadow:0 1px 4px rgb(0 0 0 / 0.3);
+dialog {
+ margin: auto;
+ padding: 15px;
+ border-spacing: 4px;
+ color: var(--main-color);
+ font: message-box;
+ font-size: 12px;
+ line-height: 14px;
+ background-color: var(--doorhanger-bg-color);
+ border: 1px solid rgb(0 0 0 / 0.5);
+ border-radius: var(--border-radius-medium, 4px);
+ box-shadow: 0 1px 4px rgb(0 0 0 / 0.3);
}
-dialog::backdrop{
- background-color:rgb(0 0 0 / 0.2);
+dialog::backdrop {
+ background-color: rgb(0 0 0 / 0.2);
}
-dialog > .row{
- display:table-row;
+dialog > .row {
+ display: table-row;
}
-dialog > .row > *{
- display:table-cell;
+dialog > .row > * {
+ display: table-cell;
}
-dialog .toolbarField{
- margin:5px 0;
+dialog .toolbarField {
+ margin: 5px 0;
}
-dialog .separator{
- display:block;
- margin:4px 0;
- height:0;
- width:100%;
- border-top:1px solid var(--separator-color);
- border-bottom:none;
+dialog .separator {
+ display: block;
+ margin: 4px 0;
+ height: 0;
+ width: 100%;
+ border-top: 1px solid var(--separator-color);
+ border-bottom: none;
}
-dialog .buttonRow{
- text-align:center;
- vertical-align:middle;
+dialog .buttonRow {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ gap: 8px;
}
-dialog :link{
- color:rgb(255 255 255);
+dialog :link {
+ color: rgb(255 255 255);
}
-#passwordDialog{
- text-align:center;
+#passwordDialog {
+ text-align: center;
}
-#passwordDialog .toolbarField{
- width:200px;
+#passwordDialog .toolbarField {
+ width: 200px;
}
-#documentPropertiesDialog{
- text-align:left;
+#documentPropertiesDialog {
+ text-align: left;
}
-#documentPropertiesDialog .row > *{
- min-width:100px;
- text-align:start;
+#documentPropertiesDialog .row > * {
+ min-width: 100px;
+ text-align: start;
}
-#documentPropertiesDialog .row > span{
- width:125px;
- word-wrap:break-word;
+#documentPropertiesDialog .row > span {
+ width: 125px;
+ word-wrap: break-word;
}
-#documentPropertiesDialog .row > p{
- max-width:225px;
- word-wrap:break-word;
+#documentPropertiesDialog .row > p {
+ max-width: 225px;
+ word-wrap: break-word;
}
-#documentPropertiesDialog .buttonRow{
- margin-top:10px;
+#documentPropertiesDialog .buttonRow {
+ margin-top: 10px;
}
-#printServiceDialog{
- min-width:200px;
+#printServiceDialog {
+ min-width: 200px;
}
-.grab-to-pan-grab{
- cursor:grab !important;
+.grab-to-pan-grab {
+ cursor: grab !important;
}
.grab-to-pan-grab
- *:not(input):not(textarea):not(button):not(select):not(:link){
- cursor:inherit !important;
+ *:not(input):not(textarea):not(button):not(select):not(:link) {
+ cursor: inherit !important;
}
.grab-to-pan-grab:active,
-.grab-to-pan-grabbing{
- cursor:grabbing !important;
+.grab-to-pan-grabbing {
+ cursor: grabbing !important;
}
-.grab-to-pan-grabbing{
- position:fixed;
- background:rgb(0 0 0 / 0);
- display:block;
- inset:0;
- overflow:hidden;
- z-index:50000;
+.grab-to-pan-grabbing {
+ position: fixed;
+ background: rgb(0 0 0 / 0);
+ display: block;
+ inset: 0;
+ overflow: hidden;
+ z-index: 50000;
}
-.toolbarButton{
- height:100%;
- aspect-ratio:1;
- display:flex;
- align-items:center;
- justify-content:center;
- background:none;
- border:none;
- color:var(--main-color);
- outline:none;
- border-radius:2px;
- box-sizing:border-box;
- font:message-box;
- flex:none;
- position:relative;
- padding:0;
+.toolbarButton {
+ height: 100%;
+ aspect-ratio: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background: none;
+ border: none;
+ color: var(--main-color);
+ outline: none;
+ border-radius: 2px;
+ box-sizing: border-box;
+ font: message-box;
+ flex: none;
+ position: relative;
+ padding: 0;
- > span{
- display:inline-block;
- width:0;
- height:0;
- overflow:hidden;
+ > span {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ overflow: hidden;
}
- &::before{
- opacity:var(--toolbar-icon-opacity);
- display:inline-block;
- width:var(--icon-size);
- height:var(--icon-size);
- content:"";
- background-color:var(--toolbar-icon-bg-color);
- -webkit-mask-size:cover;
- mask-size:cover;
- -webkit-mask-position:center;
- mask-position:center;
+ &::before {
+ opacity: var(--toolbar-icon-opacity);
+ display: inline-block;
+ width: var(--icon-size);
+ height: var(--icon-size);
+ content: "";
+ background-color: var(--toolbar-icon-bg-color);
+ -webkit-mask-size: cover;
+ mask-size: cover;
+ -webkit-mask-position: center;
+ mask-position: center;
}
- &.toggled{
- background-color:var(--toggled-btn-bg-color);
- color:var(--toggled-btn-color);
+ &.toggled {
+ background-color: var(--toggled-btn-bg-color);
+ color: var(--toggled-btn-text-color);
- &::before{
- background-color:var(--toggled-btn-color);
+ &::before {
+ background-color: var(--toggled-btn-color);
}
- &:hover{
- outline:var(--toggled-hover-btn-outline) !important;
+ &:hover {
+ outline: var(--toggled-hover-btn-outline) !important;
+ outline-offset: var(--toggled-hover-btn-outline-offset);
- &:active{
- background-color:var(--toggled-hover-active-btn-color);
+ &:active {
+ background-color: var(--toggled-hover-active-btn-color);
}
}
}
- &:is(:hover, :focus-visible){
- background-color:var(--button-hover-color);
+ &:is(:hover, :focus-visible) {
+ background-color: var(--button-hover-color);
- &::before{
- background-color:var(--toolbar-icon-hover-bg-color);
+ &::before {
+ background-color: var(--toolbar-icon-hover-bg-color);
}
}
- &:is([disabled="disabled"], [disabled]){
- opacity:0.5;
- pointer-events:none;
+ &:is([disabled="disabled"], [disabled]) {
+ opacity: 0.5;
+ pointer-events: none;
}
- &.labeled{
- width:100%;
- min-height:var(--menuitem-height);
- justify-content:flex-start;
- gap:8px;
- padding-inline-start:12px;
- aspect-ratio:unset;
- text-align:start;
- white-space:normal;
- cursor:default;
+ &.labeled {
+ width: 100%;
+ min-height: var(--menuitem-height);
+ justify-content: flex-start;
+ gap: 8px;
+ padding-inline-start: 12px;
+ aspect-ratio: unset;
+ text-align: start;
+ white-space: normal;
+ cursor: default;
- &:is(a){
- text-decoration:none;
+ &:is(a) {
+ text-decoration: none;
- &[href="#"]{
- opacity:0.5;
- pointer-events:none;
+ &[href="#"] {
+ opacity: 0.5;
+ pointer-events: none;
}
}
- &::before{
- opacity:var(--doorhanger-icon-opacity);
+ &::before {
+ opacity: var(--doorhanger-icon-opacity);
}
- &:is(:hover, :focus-visible){
- color:var(--doorhanger-hover-color);
+ &:is(:hover, :focus-visible) {
+ color: var(--doorhanger-hover-color);
}
- > span{
- display:inline-block;
- width:-moz-max-content;
- width:max-content;
- height:auto;
+ > span {
+ display: inline-block;
+ width: -moz-max-content;
+ width: max-content;
+ height: auto;
}
}
}
-.toolbarButtonWithContainer{
- height:100%;
- aspect-ratio:1;
- display:inline-block;
- position:relative;
- flex:none;
+.toolbarButtonWithContainer {
+ height: 100%;
+ aspect-ratio: 1;
+ display: inline-block;
+ position: relative;
+ flex: none;
- > .toolbarButton{
- width:100%;
- height:100%;
+ > .toolbarButton {
+ width: 100%;
+ height: 100%;
}
- .menu{
- padding-block:5px;
+ .menu {
+ padding-block: 5px;
}
- .menuContainer{
- height:auto;
- max-height:calc(
- var(--viewer-container-height) - var(--toolbar-height) -
- var(--doorhanger-height)
+ .menuContainer {
+ height: auto;
+ max-height: calc(
+ var(--viewer-container-height) + var(--pfn-bar-height, 0px) -
+ var(--toolbar-height) - var(--doorhanger-height)
);
- display:flex;
- flex-direction:column;
- box-sizing:border-box;
- overflow-y:auto;
- }
-
- .editorParamsToolbar{
- --editor-toolbar-min-width:220px;
-
- height:auto;
- min-width:var(--editor-toolbar-min-width);
- width:-moz-max-content;
- width:max-content;
- position:absolute;
- z-index:30000;
- cursor:default;
-
- :is(#editorStampAddImage, #editorSignatureAddSignature)::before{
- -webkit-mask-image:var(--editorParams-stampAddImage-icon);
- mask-image:var(--editorParams-stampAddImage-icon);
- }
-
- .editorParamsLabel{
- flex:none;
- font:menu;
- font-size:13px;
- font-style:normal;
- font-weight:400;
- line-height:150%;
- width:-moz-fit-content;
- width:fit-content;
- inset-inline-start:0;
- color:var(--main-color);
- }
-
- button:is(:hover, :focus-visible) .editorParamsLabel{
- color:var(--doorhanger-hover-color);
- }
-
- .editorParamsToolbarContainer{
- width:100%;
- height:auto;
- display:flex;
- flex-direction:column;
- box-sizing:border-box;
- padding-inline:10px;
- padding-block:10px;
-
- > .editorParamsSetter{
- min-height:26px;
- display:flex;
- align-items:center;
- justify-content:space-between;
- }
-
- .editorParamsColor{
- width:32px;
- height:32px;
- flex:none;
- padding:0;
- }
-
- .editorParamsSlider{
- background-color:transparent;
- width:90px;
- flex:0 1 0;
- font:message-box;
-
- &::-moz-range-progress{
- background-color:black;
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+ overflow-y: auto;
+ }
+
+ .editorParamsToolbar {
+ --editor-toolbar-min-width: 220px;
+
+ height: auto;
+ min-width: var(--editor-toolbar-min-width);
+ width: -moz-max-content;
+ width: max-content;
+ position: absolute;
+ z-index: 30000;
+ cursor: default;
+
+ :is(#editorStampAddImage, #editorSignatureAddSignature)::before {
+ -webkit-mask-image: var(--editorParams-stampAddImage-icon);
+ mask-image: var(--editorParams-stampAddImage-icon);
+ }
+
+ .editorParamsLabel {
+ flex: none;
+ font: menu;
+ font-size: 13px;
+ font-style: normal;
+ font-weight: 400;
+ line-height: 150%;
+ width: -moz-fit-content;
+ width: fit-content;
+ inset-inline-start: 0;
+ color: var(--main-color);
+ }
+
+ button:is(:hover, :focus-visible) .editorParamsLabel {
+ color: var(--doorhanger-hover-color);
+ }
+
+ .editorParamsToolbarContainer {
+ width: 100%;
+ height: auto;
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+ padding-inline: 10px;
+ padding-block: 10px;
+
+ > .editorParamsSetter {
+ min-height: 26px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ }
+
+ .editorParamsColor {
+ width: 32px;
+ height: 32px;
+ flex: none;
+ padding: 0;
+ }
+
+ .editorParamsSlider {
+ background-color: transparent;
+ width: 90px;
+ flex: 0 1 0;
+ font: message-box;
+
+ &::-moz-range-progress {
+ background-color: black;
}
&::-webkit-slider-runnable-track,
- &::-moz-range-track{
- background-color:black;
+ &::-moz-range-track {
+ background-color: black;
}
&::-webkit-slider-thumb,
- &::-moz-range-thumb{
- background-color:white;
+ &::-moz-range-thumb {
+ background-color: white;
}
}
}
}
}
-#secondaryToolbar{
- height:auto;
- width:220px;
- position:absolute;
- z-index:30000;
- cursor:default;
- min-height:26px;
- max-height:calc(var(--viewer-container-height) - 40px);
+#secondaryToolbar {
+ height: auto;
+ width: 220px;
+ position: absolute;
+ z-index: 30000;
+ cursor: default;
+ min-height: 26px;
+ max-height: calc(
+ var(--viewer-container-height) + var(--pfn-bar-height, 0px) - 40px
+ );
- #secondaryToolbarButtonContainer{
- #secondaryOpenFile::before{
- -webkit-mask-image:var(--toolbarButton-openFile-icon);
- mask-image:var(--toolbarButton-openFile-icon);
+ #secondaryToolbarButtonContainer {
+ #secondaryOpenFile::before {
+ -webkit-mask-image: var(--toolbarButton-openFile-icon);
+ mask-image: var(--toolbarButton-openFile-icon);
}
- #secondaryPrint::before{
- -webkit-mask-image:var(--toolbarButton-print-icon);
- mask-image:var(--toolbarButton-print-icon);
+ #secondaryPrint::before {
+ -webkit-mask-image: var(--toolbarButton-print-icon);
+ mask-image: var(--toolbarButton-print-icon);
}
- #secondaryDownload::before{
- -webkit-mask-image:var(--toolbarButton-download-icon);
- mask-image:var(--toolbarButton-download-icon);
+ #secondaryDownload::before {
+ -webkit-mask-image: var(--toolbarButton-download-icon);
+ mask-image: var(--toolbarButton-download-icon);
}
- #presentationMode::before{
- -webkit-mask-image:var(--toolbarButton-presentationMode-icon);
- mask-image:var(--toolbarButton-presentationMode-icon);
+ #presentationMode::before {
+ -webkit-mask-image: var(--toolbarButton-presentationMode-icon);
+ mask-image: var(--toolbarButton-presentationMode-icon);
}
- #viewBookmark::before{
- -webkit-mask-image:var(--toolbarButton-bookmark-icon);
- mask-image:var(--toolbarButton-bookmark-icon);
+ #viewBookmark::before {
+ -webkit-mask-image: var(--toolbarButton-bookmark-icon);
+ mask-image: var(--toolbarButton-bookmark-icon);
}
- #firstPage::before{
- -webkit-mask-image:var(--secondaryToolbarButton-firstPage-icon);
- mask-image:var(--secondaryToolbarButton-firstPage-icon);
+ #firstPage::before {
+ -webkit-mask-image: var(--secondaryToolbarButton-firstPage-icon);
+ mask-image: var(--secondaryToolbarButton-firstPage-icon);
}
- #lastPage::before{
- -webkit-mask-image:var(--secondaryToolbarButton-lastPage-icon);
- mask-image:var(--secondaryToolbarButton-lastPage-icon);
+ #lastPage::before {
+ -webkit-mask-image: var(--secondaryToolbarButton-lastPage-icon);
+ mask-image: var(--secondaryToolbarButton-lastPage-icon);
}
- #pageRotateCcw::before{
- -webkit-mask-image:var(--secondaryToolbarButton-rotateCcw-icon);
- mask-image:var(--secondaryToolbarButton-rotateCcw-icon);
+ #pageRotateCcw::before {
+ -webkit-mask-image: var(--secondaryToolbarButton-rotateCcw-icon);
+ mask-image: var(--secondaryToolbarButton-rotateCcw-icon);
}
- #pageRotateCw::before{
- -webkit-mask-image:var(--secondaryToolbarButton-rotateCw-icon);
- mask-image:var(--secondaryToolbarButton-rotateCw-icon);
+ #pageRotateCw::before {
+ -webkit-mask-image: var(--secondaryToolbarButton-rotateCw-icon);
+ mask-image: var(--secondaryToolbarButton-rotateCw-icon);
}
- #cursorSelectTool::before{
- -webkit-mask-image:var(--secondaryToolbarButton-selectTool-icon);
- mask-image:var(--secondaryToolbarButton-selectTool-icon);
+ #cursorSelectTool::before {
+ -webkit-mask-image: var(--secondaryToolbarButton-selectTool-icon);
+ mask-image: var(--secondaryToolbarButton-selectTool-icon);
}
- #cursorHandTool::before{
- -webkit-mask-image:var(--secondaryToolbarButton-handTool-icon);
- mask-image:var(--secondaryToolbarButton-handTool-icon);
+ #cursorHandTool::before {
+ -webkit-mask-image: var(--secondaryToolbarButton-handTool-icon);
+ mask-image: var(--secondaryToolbarButton-handTool-icon);
}
- #scrollPage::before{
- -webkit-mask-image:var(--secondaryToolbarButton-scrollPage-icon);
- mask-image:var(--secondaryToolbarButton-scrollPage-icon);
+ #scrollPage::before {
+ -webkit-mask-image: var(--secondaryToolbarButton-scrollPage-icon);
+ mask-image: var(--secondaryToolbarButton-scrollPage-icon);
}
- #scrollVertical::before{
- -webkit-mask-image:var(--secondaryToolbarButton-scrollVertical-icon);
- mask-image:var(--secondaryToolbarButton-scrollVertical-icon);
+ #scrollVertical::before {
+ -webkit-mask-image: var(--secondaryToolbarButton-scrollVertical-icon);
+ mask-image: var(--secondaryToolbarButton-scrollVertical-icon);
}
- #scrollHorizontal::before{
- -webkit-mask-image:var(--secondaryToolbarButton-scrollHorizontal-icon);
- mask-image:var(--secondaryToolbarButton-scrollHorizontal-icon);
+ #scrollHorizontal::before {
+ -webkit-mask-image: var(--secondaryToolbarButton-scrollHorizontal-icon);
+ mask-image: var(--secondaryToolbarButton-scrollHorizontal-icon);
}
- #scrollWrapped::before{
- -webkit-mask-image:var(--secondaryToolbarButton-scrollWrapped-icon);
- mask-image:var(--secondaryToolbarButton-scrollWrapped-icon);
+ #scrollWrapped::before {
+ -webkit-mask-image: var(--secondaryToolbarButton-scrollWrapped-icon);
+ mask-image: var(--secondaryToolbarButton-scrollWrapped-icon);
}
- #spreadNone::before{
- -webkit-mask-image:var(--secondaryToolbarButton-spreadNone-icon);
- mask-image:var(--secondaryToolbarButton-spreadNone-icon);
+ #spreadNone::before {
+ -webkit-mask-image: var(--secondaryToolbarButton-spreadNone-icon);
+ mask-image: var(--secondaryToolbarButton-spreadNone-icon);
}
- #spreadOdd::before{
- -webkit-mask-image:var(--secondaryToolbarButton-spreadOdd-icon);
- mask-image:var(--secondaryToolbarButton-spreadOdd-icon);
+ #spreadOdd::before {
+ -webkit-mask-image: var(--secondaryToolbarButton-spreadOdd-icon);
+ mask-image: var(--secondaryToolbarButton-spreadOdd-icon);
}
- #spreadEven::before{
- -webkit-mask-image:var(--secondaryToolbarButton-spreadEven-icon);
- mask-image:var(--secondaryToolbarButton-spreadEven-icon);
+ #spreadEven::before {
+ -webkit-mask-image: var(--secondaryToolbarButton-spreadEven-icon);
+ mask-image: var(--secondaryToolbarButton-spreadEven-icon);
}
- #imageAltTextSettings::before{
- -webkit-mask-image:var(--secondaryToolbarButton-imageAltTextSettings-icon);
- mask-image:var(--secondaryToolbarButton-imageAltTextSettings-icon);
+ #imageAltTextSettings::before {
+ -webkit-mask-image: var(--secondaryToolbarButton-imageAltTextSettings-icon);
+ mask-image: var(--secondaryToolbarButton-imageAltTextSettings-icon);
}
- #documentProperties::before{
- -webkit-mask-image:var(--secondaryToolbarButton-documentProperties-icon);
- mask-image:var(--secondaryToolbarButton-documentProperties-icon);
+ #documentProperties::before {
+ -webkit-mask-image: var(--secondaryToolbarButton-documentProperties-icon);
+ mask-image: var(--secondaryToolbarButton-documentProperties-icon);
}
}
}
-#findbar{
- --input-horizontal-padding:4px;
- --findbar-padding:2px;
+#findbar {
+ --input-horizontal-padding: 4px;
+ --findbar-padding: 2px;
- width:-moz-max-content;
+ width: -moz-max-content;
- width:max-content;
- max-width:90vw;
- min-height:var(--toolbar-height);
- height:auto;
- position:absolute;
- z-index:30000;
- cursor:default;
- padding:0;
- min-width:300px;
- background-color:var(--toolbar-bg-color);
- box-sizing:border-box;
- flex-wrap:wrap;
- justify-content:flex-start;
+ width: max-content;
+ max-width: 90vw;
+ min-height: var(--toolbar-height);
+ height: auto;
+ position: absolute;
+ z-index: 30000;
+ cursor: default;
+ padding: 0;
+ min-width: 300px;
+ background-color: var(--toolbar-bg-color);
+ box-sizing: border-box;
+ flex-wrap: wrap;
+ justify-content: flex-start;
- > *{
- height:var(--toolbar-height);
- padding:var(--findbar-padding);
+ > * {
+ height: var(--toolbar-height);
+ padding: var(--findbar-padding);
}
- #findInputContainer{
- margin-inline-start:2px;
+ #findInputContainer {
+ margin-inline-start: 2px;
- #findPreviousButton::before{
- -webkit-mask-image:var(--findbarButton-previous-icon);
- mask-image:var(--findbarButton-previous-icon);
+ #findPreviousButton::before {
+ -webkit-mask-image: var(--findbarButton-previous-icon);
+ mask-image: var(--findbarButton-previous-icon);
}
- #findNextButton::before{
- -webkit-mask-image:var(--findbarButton-next-icon);
- mask-image:var(--findbarButton-next-icon);
+ #findNextButton::before {
+ -webkit-mask-image: var(--findbarButton-next-icon);
+ mask-image: var(--findbarButton-next-icon);
}
- #findInput{
- width:200px;
- padding:5px var(--input-horizontal-padding);
- &::-moz-placeholder{
- font-style:normal;
+ #findInput {
+ width: 200px;
+ padding: 5px var(--input-horizontal-padding);
+ &::-moz-placeholder {
+ font-style: normal;
}
- &::placeholder{
- font-style:normal;
+ &::placeholder {
+ font-style: normal;
}
- .loadingInput:has(> &[data-status="pending"])::after{
- display:inline;
- visibility:visible;
- inset-inline-end:calc(var(--input-horizontal-padding) + 1px);
+ .loadingInput:has(> &[data-status="pending"])::after {
+ display: inline;
+ visibility: visible;
+ inset-inline-end: calc(var(--input-horizontal-padding) + 1px);
}
- &[data-status="notFound"]{
- background-color:rgb(255 102 102);
+ &[data-status="notFound"] {
+ background-color: rgb(255 102 102);
+
}
}
}
- #findbarMessageContainer{
- display:none;
- gap:4px;
+ #findbarMessageContainer {
+ display: none;
+ gap: 4px;
- &:has(> :is(#findResultsCount, #findMsg):not(:empty)){
- display:inline flex;
+ &:has(> :is(#findResultsCount, #findMsg):not(:empty)) {
+ display: inline flex;
}
- #findResultsCount{
- background-color:rgb(217 217 217);
- color:rgb(82 82 82);
- padding-block:4px;
+ #findResultsCount {
+ background-color: rgb(217 217 217);
+ color: rgb(82 82 82);
+ padding-block: 4px;
- &:empty{
- display:none;
+ &:empty {
+ display: none;
}
}
- #findMsg{
- &[data-status="notFound"]{
- font-weight:bold;
+ #findMsg {
+ &[data-status="notFound"] {
+ font-weight: bold;
}
- &:empty{
- display:none;
+ &:empty {
+ display: none;
}
}
}
- &.wrapContainers{
- flex-direction:column;
- align-items:flex-start;
- height:-moz-max-content;
- height:max-content;
+ &.wrapContainers {
+ flex-direction: column;
+ align-items: flex-start;
+ height: -moz-max-content;
+ height: max-content;
- .toolbarLabel{
- margin:0 4px;
+ .toolbarLabel {
+ margin: 0 4px;
}
- #findbarMessageContainer{
- flex-wrap:wrap;
- flex-flow:column nowrap;
- align-items:flex-start;
- height:-moz-max-content;
- height:max-content;
+ #findbarMessageContainer {
+ flex-wrap: wrap;
+ flex-flow: column nowrap;
+ align-items: flex-start;
+ height: -moz-max-content;
+ height: max-content;
- #findResultsCount{
- height:calc(var(--toolbar-height) - 2 * var(--findbar-padding));
+ #findResultsCount {
+ height: calc(var(--toolbar-height) - 2 * var(--findbar-padding));
}
- #findMsg{
- min-height:var(--toolbar-height);
+ #findMsg {
+ min-height: var(--toolbar-height);
}
}
}
}
-@page{
- margin:0;
+@page {
+ margin: 0;
}
-#printContainer{
- display:none;
+#printContainer {
+ display: none;
}
-@media print{
- body{
- background:rgb(0 0 0 / 0) none;
+@media print {
+ body {
+ background: rgb(0 0 0 / 0) none;
}
- body[data-pdfjsprinting] #outerContainer{
- display:none;
+ body[data-pdfjsprinting] #outerContainer {
+ display: none;
}
- body[data-pdfjsprinting] #printContainer{
- display:block;
+ body[data-pdfjsprinting] #printContainer {
+ display: block;
}
- #printContainer{
- height:100%;
+ #printContainer {
+ height: 100%;
}
- #printContainer > .printedPage{
- page-break-after:always;
- page-break-inside:avoid;
- height:100%;
- width:100%;
+ #printContainer > .printedPage {
+ page-break-after: always;
+ page-break-inside: avoid;
+ height: 100%;
+ width: 100%;
- display:flex;
- flex-direction:column;
- justify-content:center;
- align-items:center;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
}
- #printContainer > .xfaPrintedPage .xfaPage{
- position:absolute;
+ #printContainer > .xfaPrintedPage .xfaPage {
+ position: absolute;
}
- #printContainer > .xfaPrintedPage{
- page-break-after:always;
- page-break-inside:avoid;
- width:100%;
- height:100%;
- position:relative;
+ #printContainer > .xfaPrintedPage {
+ page-break-after: always;
+ page-break-inside: avoid;
+ width: 100%;
+ height: 100%;
+ position: relative;
}
- #printContainer > .printedPage :is(canvas, img){
- max-width:100%;
- max-height:100%;
+ #printContainer > .printedPage :is(canvas, img) {
+ max-width: 100%;
+ max-height: 100%;
- direction:ltr;
- display:block;
+ direction: ltr;
+ display: block;
}
}
-.visibleMediumView{
- display:none !important;
+.visibleMediumView {
+ display: none !important;
}
-.toolbarLabel{
- width:-moz-max-content;
- width:max-content;
- min-width:16px;
- height:100%;
- padding-inline:4px;
- margin:2px;
- border-radius:2px;
- color:var(--main-color);
- font-size:12px;
- line-height:14px;
- text-align:left;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
- cursor:default;
- box-sizing:border-box;
+.toolbarLabel {
+ width: -moz-max-content;
+ width: max-content;
+ min-width: 16px;
+ height: 100%;
+ padding-inline: 4px;
+ margin: 2px;
+ border-radius: 2px;
+
+ color: var(--main-color);
+ font-size: 12px;
+ line-height: 14px;
+ text-align: left;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ cursor: default;
+ box-sizing: border-box;
- display:inline flex;
- flex-direction:column;
- align-items:center;
- justify-content:center;
+ display: inline flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
- > label{
- width:100%;
+ > label {
+ width: 100%;
}
}
-.toolbarHorizontalGroup{
- height:100%;
- display:inline flex;
- flex-direction:row;
- align-items:center;
- justify-content:space-between;
- gap:1px;
- box-sizing:border-box;
+.toolbarHorizontalGroup {
+ height: 100%;
+ display: inline flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: space-between;
+ gap: 1px;
+ box-sizing: border-box;
+
}
-.dropdownToolbarButton{
- display:inline flex;
- flex-direction:row;
- align-items:center;
- justify-content:center;
- position:relative;
+.dropdownToolbarButton {
+ display: inline flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ position: relative;
- width:-moz-fit-content;
+ width: -moz-fit-content;
- width:fit-content;
- min-width:140px;
- padding:0;
- background-color:var(--dropdown-btn-bg-color);
- border:var(--dropdown-btn-border);
- border-radius:2px;
- color:var(--main-color);
- font-size:12px;
- line-height:14px;
- -webkit-user-select:none;
- -moz-user-select:none;
- user-select:none;
- cursor:default;
- box-sizing:border-box;
- outline:none;
+ width: fit-content;
+ min-width: 140px;
+ padding: 0;
+ background-color: var(--dropdown-btn-bg-color);
+ border: var(--dropdown-btn-border);
+ border-radius: 2px;
+ color: var(--main-color);
+ font-size: 12px;
+ line-height: 14px;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ cursor: default;
+ box-sizing: border-box;
+ outline: none;
- &:hover{
- background-color:var(--button-hover-color);
+ &:hover {
+ background-color: var(--button-hover-color);
}
- > select{
- -webkit-appearance:none;
- -moz-appearance:none;
- appearance:none;
- width:inherit;
- min-width:inherit;
- height:28px;
- font:message-box;
- font-size:12px;
- color:var(--main-color);
- margin:0;
- padding-block:1px 2px;
- padding-inline:6px 38px;
- border:none;
- outline:none;
- background-color:var(--dropdown-btn-bg-color);
-
- > option{
- background:var(--doorhanger-bg-color);
- color:var(--main-color);
- }
-
- &:is(:hover, :focus-visible){
- background-color:var(--button-hover-color);
- color:var(--toggled-btn-color);
- }
- }
-
- &::after{
- position:absolute;
- display:inline;
- width:var(--icon-size);
- height:var(--icon-size);
-
- content:"";
- background-color:var(--toolbar-icon-bg-color);
- -webkit-mask-size:cover;
- mask-size:cover;
-
- inset-inline-end:4px;
- pointer-events:none;
- -webkit-mask-image:var(--toolbarButton-menuArrow-icon);
- mask-image:var(--toolbarButton-menuArrow-icon);
- }
-
- &:is(:hover, :focus-visible, :active)::after{
- background-color:var(--toolbar-icon-hover-bg-color);
- }
-}
-
-#toolbarContainer{
- --menuitem-height:calc(var(--toolbar-height) - 6px);
-
- width:100%;
- height:var(--toolbar-height);
- padding:var(--toolbar-vertical-padding) var(--toolbar-horizontal-padding);
- position:relative;
- box-sizing:border-box;
- font:message-box;
- background-color:var(--toolbar-bg-color);
- box-shadow:var(--toolbar-box-shadow);
- border-bottom:var(--toolbar-border-bottom);
-
- #toolbarViewer{
- width:100%;
- height:100%;
- justify-content:space-between;
-
- > *{
- flex:none;
- }
-
- input{
- font:message-box;
- }
-
- .toolbarButtonSpacer{
- width:30px;
- display:block;
- height:1px;
- }
-
- #toolbarViewerLeft{
- margin-inline-start:8px;
-
- #numPages.toolbarLabel{
- padding-inline-start:3px;
- flex:none;
+ > select {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ width: inherit;
+ min-width: inherit;
+ height: 28px;
+ font: message-box;
+ font-size: 12px;
+ color: var(--main-color);
+ margin: 0;
+ padding-block: 1px 2px;
+ padding-inline: 6px 38px;
+ border: none;
+ outline: none;
+ background-color: var(--dropdown-btn-bg-color);
+
+ > option {
+ background: var(--doorhanger-bg-color);
+ color: var(--main-color);
+ }
+
+ &:is(:hover, :focus-visible) {
+ background-color: var(--button-hover-color);
+ color: var(--button-hover-text-color);
+ }
+ }
+
+ &::after {
+ position: absolute;
+ display: inline;
+ width: var(--icon-size);
+ height: var(--icon-size);
+
+ content: "";
+ background-color: var(--toolbar-icon-bg-color);
+ -webkit-mask-size: cover;
+ mask-size: cover;
+
+ inset-inline-end: 4px;
+ pointer-events: none;
+ -webkit-mask-image: var(--toolbarButton-menuArrow-icon);
+ mask-image: var(--toolbarButton-menuArrow-icon);
+ }
+
+ &:is(:hover, :focus-visible, :active)::after {
+ background-color: var(--toolbar-icon-hover-bg-color);
+ }
+}
+
+#toolbarContainer {
+ --menuitem-height: calc(var(--toolbar-height) - 6px);
+
+ width: 100%;
+ height: var(--toolbar-height);
+ padding: var(--toolbar-vertical-padding) var(--toolbar-horizontal-padding);
+ position: relative;
+ box-sizing: border-box;
+ font: message-box;
+ background-color: var(--toolbar-bg-color);
+ box-shadow: var(--toolbar-box-shadow);
+ border-bottom: var(--toolbar-border-bottom);
+
+ #toolbarViewer {
+ width: 100%;
+ height: 100%;
+ justify-content: space-between;
+
+ > * {
+ flex: none;
+ }
+
+ input {
+ font: message-box;
+ }
+
+ .toolbarButtonSpacer {
+ width: 30px;
+ display: block;
+ height: 1px;
+ }
+
+ #toolbarViewerLeft {
+ margin-inline-start: 8px;
+
+ #numPages.toolbarLabel {
+ padding-inline-start: 3px;
+ flex: none;
}
}
}
- #loadingBar{
- --progressBar-percent:0%;
- --progressBar-end-offset:0;
+ #loadingBar {
+ --progressBar-percent: 0%;
+ --progressBar-end-offset: 0;
- position:absolute;
- top:var(--toolbar-height);
- inset-inline:0 var(--progressBar-end-offset);
- height:4px;
- background-color:var(--progressBar-bg-color);
- border-bottom:1px solid var(--toolbar-border-color);
- transition-property:inset-inline-start;
- transition-duration:var(--sidebar-transition-duration);
- transition-timing-function:var(--sidebar-transition-timing-function);
+ position: absolute;
+ top: var(--toolbar-height);
+ inset-inline: 0 var(--progressBar-end-offset);
+ height: 4px;
+ background-color: var(--progressBar-bg-color);
+ border-bottom: 1px solid var(--toolbar-border-color);
+ transition-property: inset-inline-start;
+ transition-duration: var(--sidebar-transition-duration);
+ transition-timing-function: var(--sidebar-transition-timing-function);
- .progress{
- position:absolute;
- top:0;
- inset-inline-start:0;
- width:100%;
- transform:scaleX(var(--progressBar-percent));
- transform-origin:calc(50% - 50% * var(--dir-factor)) 0;
- height:100%;
- background-color:var(--progressBar-color);
- overflow:hidden;
- transition:transform 200ms;
+ .progress {
+ position: absolute;
+ top: 0;
+ inset-inline-start: 0;
+ width: 100%;
+ transform: scaleX(var(--progressBar-percent));
+ transform-origin: calc(50% - 50% * var(--dir-factor)) 0;
+ height: 100%;
+ background-color: var(--progressBar-color);
+ overflow: hidden;
+ transition: transform 200ms;
}
- &.indeterminate .progress{
- transform:none;
- background-color:var(--progressBar-bg-color);
- transition:none;
+ &.indeterminate .progress {
+ transform: none;
+ background-color: var(--progressBar-bg-color);
+ transition: none;
- .glimmer{
- position:absolute;
- top:0;
- inset-inline-start:0;
- height:100%;
- width:calc(100% + 150px);
- background:repeating-linear-gradient(
+ .glimmer {
+ position: absolute;
+ top: 0;
+ inset-inline-start: 0;
+ height: 100%;
+ width: calc(100% + 150px);
+ background: repeating-linear-gradient(
135deg,
var(--progressBar-blend-color) 0,
var(--progressBar-bg-color) 5px,
@@ -8120,43 +8252,43 @@ dialog :link{
var(--progressBar-color) 95px,
var(--progressBar-blend-color) 100px
);
- animation:progressIndeterminate 1s linear infinite;
+ animation: progressIndeterminate 1s linear infinite;
}
}
}
}
-@media all and (max-width: 840px){
- #sidebarContainer{
- background-color:var(--sidebar-narrow-bg-color);
+@media all and (max-width: 840px) {
+ #sidebarContainer {
+ background-color: var(--sidebar-narrow-bg-color);
}
- #outerContainer.viewsManagerOpen #viewerContainer{
- inset-inline-start:0 !important;
+ #outerContainer.viewsManagerOpen #viewerContainer {
+ inset-inline-start: 0 !important;
}
}
-@media all and (max-width: 750px){
- #outerContainer .hiddenMediumView{
- display:none !important;
+@media all and (max-width: 750px) {
+ #outerContainer .hiddenMediumView {
+ display: none !important;
}
- #outerContainer .visibleMediumView:not(.hidden, [hidden]){
- display:inline-block !important;
+ #outerContainer .visibleMediumView:not(.hidden, [hidden]) {
+ display: contents !important;
}
}
-@media all and (max-width: 690px){
+@media all and (max-width: 690px) {
.hiddenSmallView,
- .hiddenSmallView *{
- display:none !important;
+ .hiddenSmallView * {
+ display: none !important;
}
- #toolbarContainer #toolbarViewer .toolbarButtonSpacer{
- width:0;
+ #toolbarContainer #toolbarViewer .toolbarButtonSpacer {
+ width: 0;
}
}
-@media all and (max-width: 560px){
- #scaleSelectContainer{
- display:none;
+@media all and (max-width: 560px) {
+ #scaleSelectContainer {
+ display: none;
}
}
diff --git a/packages/pdfjs-viewer/viewer/viewer.html b/packages/pdfjs-viewer/viewer/viewer.html
index 986e7dc765f..4615129af0c 100644
--- a/packages/pdfjs-viewer/viewer/viewer.html
+++ b/packages/pdfjs-viewer/viewer/viewer.html
@@ -814,8 +814,8 @@
-
-
+
+
@@ -1220,7 +1222,7 @@
-
+
diff --git a/packages/pdfjs-viewer/viewer/viewer.mjs b/packages/pdfjs-viewer/viewer/viewer.mjs
index 5e5ca5032e4..bd3da9dcb14 100644
--- a/packages/pdfjs-viewer/viewer/viewer.mjs
+++ b/packages/pdfjs-viewer/viewer/viewer.mjs
@@ -15,86 +15,348 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
* @licend The above is the entire license notice for the
* JavaScript code in this page
*/
/**
- * pdfjsVersion = 6.2.108
- * pdfjsBuild = 0365cbde0
+ * pdfjsVersion = 6.5.438
+ * pdfjsBuild = 0a4153349
*/
/******/ var __webpack_modules__ = ({
-/***/ 9306
-(module, __unused_webpack_exports, __webpack_require__) {
-
+/***/ 463
+(module) {
-var isCallable = __webpack_require__(4901);
-var tryToString = __webpack_require__(6823);
var $TypeError = TypeError;
-// `Assert: IsCallable(argument) is true`
module.exports = function (argument) {
- if (isCallable(argument)) return argument;
- throw new $TypeError(tryToString(argument) + ' is not a function');
+ if (typeof argument == 'string') return argument;
+ throw new $TypeError('Argument is not a string');
};
/***/ },
-/***/ 3506
-(module, __unused_webpack_exports, __webpack_require__) {
+/***/ 529
+(module) {
+
+
+// `CreateIterResultObject` abstract operation
+// https://tc39.es/ecma262/#sec-createiterresultobject
+module.exports = function (value, done) {
+ return { value: value, done: done };
+};
-var isPossiblePrototype = __webpack_require__(3925);
+/***/ },
+
+/***/ 837
+(module) {
+
-var $String = String;
var $TypeError = TypeError;
+var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991
-module.exports = function (argument) {
- if (isPossiblePrototype(argument)) return argument;
- throw new $TypeError("Can't set " + $String(argument) + ' as a prototype');
+module.exports = function (it) {
+ if (it > MAX_SAFE_INTEGER) throw new $TypeError('Maximum allowed index exceeded');
+ return it;
};
/***/ },
-/***/ 7080
-(module, __unused_webpack_exports, __webpack_require__) {
+/***/ 767
+(module) {
+
+
+// `GetIteratorDirect(obj)` abstract operation
+// https://tc39.es/ecma262/#sec-getiteratordirect
+module.exports = function (obj) {
+ return {
+ iterator: obj,
+ next: obj.next,
+ done: false
+ };
+};
-var has = (__webpack_require__(4402).has);
+/***/ },
-// Perform ? RequireInternalSlot(M, [[SetData]])
+/***/ 117
+(module) {
+
+
+// we can't use just `it == null` since of `document.all` special case
+// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec
module.exports = function (it) {
- has(it);
- return it;
+ return it === null || it === undefined;
};
/***/ },
-/***/ 3463
+/***/ 859
(module) {
-var $TypeError = TypeError;
+// release references held by exhausted / closed iterator helpers to allow GC of the source chain
+module.exports = function (state) {
+ state.iterator = state.next = state.nextHandler = state.mapper = state.predicate = state.inner =
+ state.iterables = state.iters = state.openIters = state.padding = state.finishResults = state.buffer = null;
+};
-module.exports = function (argument) {
- if (typeof argument == 'string') return argument;
- throw new $TypeError('Argument is not a string');
+
+/***/ },
+
+/***/ 684
+(module) {
+
+
+// Should throw an error on invalid iterator
+// https://issues.chromium.org/issues/336839115
+module.exports = function (methodName, argument) {
+ // eslint-disable-next-line es/no-iterator -- required for testing
+ var method = typeof Iterator == 'function' && Iterator.prototype[methodName];
+ if (method) try {
+ method.call({ next: null }, argument).next();
+ } catch (error) {
+ return true;
+ }
+};
+
+
+/***/ },
+
+/***/ 269
+(module) {
+
+
+module.exports = Object.create ? Object.create(null) : {};
+
+
+/***/ },
+
+/***/ 741
+(module) {
+
+
+var ceil = Math.ceil;
+var floor = Math.floor;
+
+// `Math.trunc` method
+// https://tc39.es/ecma262/#sec-math.trunc
+// eslint-disable-next-line es/no-math-trunc -- safe
+module.exports = Math.trunc || function trunc(x) {
+ var n = +x;
+ return (n > 0 ? floor : ceil)(n);
+};
+
+
+/***/ },
+
+/***/ 717
+(__unused_webpack_module, exports) {
+
+
+// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
+exports.f = Object.getOwnPropertySymbols;
+
+
+/***/ },
+
+/***/ 835
+(module) {
+
+
+// Should get iterator record of a set-like object before cloning this
+// https://bugs.webkit.org/show_bug.cgi?id=289430
+module.exports = function (METHOD_NAME) {
+ try {
+ // eslint-disable-next-line es/no-set -- needed for test
+ var baseSet = new Set();
+ var setLike = {
+ size: 0,
+ has: function () { return true; },
+ keys: function () {
+ // eslint-disable-next-line es/no-object-defineproperty -- needed for test
+ return Object.defineProperty({}, 'next', {
+ get: function () {
+ baseSet.clear();
+ baseSet.add(4);
+ return function () {
+ return { done: true };
+ };
+ }
+ });
+ }
+ };
+ var result = baseSet[METHOD_NAME](setLike);
+
+ return result.size === 1 && result.values().next().value === 4;
+ } catch (error) {
+ return false;
+ }
};
/***/ },
-/***/ 4328
+/***/ 291
(module, __unused_webpack_exports, __webpack_require__) {
-var WeakMapHelpers = __webpack_require__(4995);
+var trunc = __webpack_require__(741);
+
+// `ToIntegerOrInfinity` abstract operation
+// https://tc39.es/ecma262/#sec-tointegerorinfinity
+module.exports = function (argument) {
+ var number = +argument;
+ // eslint-disable-next-line no-self-compare -- NaN check
+ return number !== number || number === 0 ? 0 : trunc(number);
+};
+
+
+/***/ },
+
+/***/ 812
+(module) {
+
+
+var $TypeError = TypeError;
+
+module.exports = function (passed, required) {
+ if (passed < required) throw new $TypeError('Not enough arguments');
+ return passed;
+};
+
+
+/***/ },
+
+/***/ 452
+(module) {
+
+
+// a string of all valid unicode whitespaces
+module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
+ '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
+
+
+/***/ }
+
+/******/ });
+/************************************************************************/
+/******/ // The module cache
+/******/ const __webpack_module_cache__ = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/ // Check if module is in cache
+/******/ const cachedModule = __webpack_module_cache__[moduleId];
+/******/ if (cachedModule !== undefined) {
+/******/ return cachedModule.exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ const module = __webpack_module_cache__[moduleId] = {
+/******/ // no module.id needed
+/******/ // no module.loaded needed
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/************************************************************************/
+/******/ /* webpack/runtime/concatenation wrap */
+/******/ // wrap a concatenated module body as a lazy, memoized accessor; mod is
+/******/ // set before the body runs so re-entrant calls (require cycles) observe
+/******/ // the partial exports like Node.js
+/******/ __webpack_require__.cw = (body) => {
+/******/ var mod;
+/******/ return () => {
+/******/ if (body) {
+/******/ var fn = body;
+/******/ body = 0;
+/******/ mod = { exports: {} };
+/******/ fn.call(mod.exports, mod, mod.exports);
+/******/ }
+/******/ return mod.exports;
+/******/ };
+/******/ };
+/******/
+/******/ /* webpack/runtime/define property getters */
+/******/ // define getter/value functions for harmony exports
+/******/ __webpack_require__.d = (exports, definition) => {
+/******/ for(var key in definition) {
+/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
+/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
+/******/ }
+/******/ }
+/******/ };
+/******/
+/******/ /* webpack/runtime/hasOwnProperty shorthand */
+/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop));
+/******/
+/************************************************************************/
+
+// MODULE: ./node_modules/core-js/internals/a-callable.js
+var a_callable_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
+
+var isCallable = (is_callable_namespaceFn());
+var tryToString = (try_to_string_namespaceFn());
+
+var $TypeError = TypeError;
+
+// `Assert: IsCallable(argument) is true`
+module.exports = function (argument) {
+ if (isCallable(argument)) return argument;
+ throw new $TypeError(tryToString(argument) + ' is not a function');
+};
+
+});
+
+// MODULE: ./node_modules/core-js/internals/a-possible-prototype.js
+var a_possible_prototype_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
+
+var isPossiblePrototype = (is_possible_prototype_namespaceFn());
+
+var $String = String;
+var $TypeError = TypeError;
+
+module.exports = function (argument) {
+ if (isPossiblePrototype(argument)) return argument;
+ throw new $TypeError("Can't set " + $String(argument) + ' as a prototype');
+};
+
+});
+
+// MODULE: ./node_modules/core-js/internals/a-set.js
+var a_set_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
+
+var has = (set_helpers_namespaceFn().has);
+
+// Perform ? RequireInternalSlot(M, [[SetData]])
+module.exports = function (it) {
+ has(it);
+ return it;
+};
+
+});
+
+// EXTERNAL MODULE: ./node_modules/core-js/internals/a-string.js
+var a_string_namespaceFn = () => {
+ return __webpack_require__(463);
+};
+
+// MODULE: ./node_modules/core-js/internals/a-weak-key.js
+var a_weak_key_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
+
+var WeakMapHelpers = (weak_map_helpers_namespaceFn());
var weakmap = new WeakMapHelpers.WeakMap();
var set = WeakMapHelpers.set;
@@ -106,14 +368,12 @@ module.exports = function (key) {
return key;
};
+});
-/***/ },
-
-/***/ 6557
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/a-weak-map.js
+var a_weak_map_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var has = (__webpack_require__(4995).has);
+var has = (weak_map_helpers_namespaceFn().has);
// Perform ? RequireInternalSlot(M, [[WeakMapData]])
module.exports = function (it) {
@@ -121,16 +381,14 @@ module.exports = function (it) {
return it;
};
+});
-/***/ },
-
-/***/ 6469
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/add-to-unscopables.js
+var add_to_unscopables_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var wellKnownSymbol = __webpack_require__(8227);
-var create = __webpack_require__(2360);
-var defineProperty = (__webpack_require__(4913).f);
+var wellKnownSymbol = (well_known_symbol_namespaceFn());
+var create = (object_create_namespaceFn());
+var defineProperty = (object_define_property_namespaceFn().f);
var UNSCOPABLES = wellKnownSymbol('unscopables');
var ArrayPrototype = Array.prototype;
@@ -149,14 +407,12 @@ module.exports = function (key) {
ArrayPrototype[UNSCOPABLES][key] = true;
};
+});
-/***/ },
-
-/***/ 679
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/an-instance.js
+var an_instance_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var isPrototypeOf = __webpack_require__(1625);
+var isPrototypeOf = (object_is_prototype_of_namespaceFn());
var $TypeError = TypeError;
@@ -165,14 +421,12 @@ module.exports = function (it, Prototype) {
throw new $TypeError('Incorrect invocation');
};
+});
-/***/ },
-
-/***/ 8551
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/an-object.js
+var an_object_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var isObject = __webpack_require__(34);
+var isObject = (is_object_namespaceFn());
var $String = String;
var $TypeError = TypeError;
@@ -183,40 +437,36 @@ module.exports = function (argument) {
throw new $TypeError($String(argument) + ' is not an object');
};
+});
-/***/ },
-
-/***/ 7811
-(module) {
-
+// MODULE: ./node_modules/core-js/internals/array-buffer-basic-detection.js
+var array_buffer_basic_detection_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
// eslint-disable-next-line es/no-typed-arrays -- safe
module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';
+});
-/***/ },
-
-/***/ 4644
-(module, __unused_webpack_exports, __webpack_require__) {
-
-
-var NATIVE_ARRAY_BUFFER = __webpack_require__(7811);
-var DESCRIPTORS = __webpack_require__(3724);
-var globalThis = __webpack_require__(4576);
-var isCallable = __webpack_require__(4901);
-var isObject = __webpack_require__(34);
-var hasOwn = __webpack_require__(9297);
-var classof = __webpack_require__(6955);
-var tryToString = __webpack_require__(6823);
-var createNonEnumerableProperty = __webpack_require__(6699);
-var defineBuiltIn = __webpack_require__(6840);
-var defineBuiltInAccessor = __webpack_require__(2106);
-var isPrototypeOf = __webpack_require__(1625);
-var getPrototypeOf = __webpack_require__(2787);
-var setPrototypeOf = __webpack_require__(2967);
-var wellKnownSymbol = __webpack_require__(8227);
-var uid = __webpack_require__(3392);
-var InternalStateModule = __webpack_require__(1181);
+// MODULE: ./node_modules/core-js/internals/array-buffer-view-core.js
+var array_buffer_view_core_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
+
+var NATIVE_ARRAY_BUFFER = (array_buffer_basic_detection_namespaceFn());
+var DESCRIPTORS = (descriptors_namespaceFn());
+var globalThis = (global_this_namespaceFn());
+var isCallable = (is_callable_namespaceFn());
+var isObject = (is_object_namespaceFn());
+var hasOwn = (has_own_property_namespaceFn());
+var classof = (classof_namespaceFn());
+var tryToString = (try_to_string_namespaceFn());
+var createNonEnumerableProperty = (create_non_enumerable_property_namespaceFn());
+var defineBuiltIn = (define_built_in_namespaceFn());
+var defineBuiltInAccessor = (define_built_in_accessor_namespaceFn());
+var isPrototypeOf = (object_is_prototype_of_namespaceFn());
+var getPrototypeOf = (object_get_prototype_of_namespaceFn());
+var setPrototypeOf = (object_set_prototype_of_namespaceFn());
+var wellKnownSymbol = (well_known_symbol_namespaceFn());
+var uid = (uid_namespaceFn());
+var InternalStateModule = (internal_state_namespaceFn());
var enforceInternalState = InternalStateModule.enforce;
var getInternalState = InternalStateModule.get;
@@ -393,16 +643,14 @@ module.exports = {
TypedArrayPrototype: TypedArrayPrototype
};
+});
-/***/ },
-
-/***/ 9617
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/array-includes.js
+var array_includes_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var toIndexedObject = __webpack_require__(5397);
-var toAbsoluteIndex = __webpack_require__(5610);
-var lengthOfArrayLike = __webpack_require__(6198);
+var toIndexedObject = (to_indexed_object_namespaceFn());
+var toAbsoluteIndex = (to_absolute_index_namespaceFn());
+var lengthOfArrayLike = (length_of_array_like_namespaceFn());
// `Array.prototype.{ indexOf, includes }` methods implementation
var createMethod = function (IS_INCLUDES) {
@@ -434,15 +682,13 @@ module.exports = {
indexOf: createMethod(false)
};
+});
-/***/ },
-
-/***/ 4527
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/array-set-length.js
+var array_set_length_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var DESCRIPTORS = __webpack_require__(3724);
-var isArray = __webpack_require__(4376);
+var DESCRIPTORS = (descriptors_namespaceFn());
+var isArray = (is_array_namespaceFn());
var $TypeError = TypeError;
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
@@ -468,26 +714,13 @@ module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {
return O.length = length;
};
+});
-/***/ },
-
-/***/ 7680
-(module, __unused_webpack_exports, __webpack_require__) {
-
-
-var uncurryThis = __webpack_require__(9504);
-
-module.exports = uncurryThis([].slice);
-
-
-/***/ },
-
-/***/ 6319
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/call-with-safe-iteration-closing.js
+var call_with_safe_iteration_closing_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var anObject = __webpack_require__(8551);
-var iteratorClose = __webpack_require__(9539);
+var anObject = (an_object_namespaceFn());
+var iteratorClose = (iterator_close_namespaceFn());
// call something on iterator step with safe closing on error
module.exports = function (iterator, fn, value, ENTRIES) {
@@ -498,14 +731,12 @@ module.exports = function (iterator, fn, value, ENTRIES) {
}
};
+});
-/***/ },
-
-/***/ 2195
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/classof-raw.js
+var classof_raw_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var uncurryThis = __webpack_require__(9504);
+var uncurryThis = (function_uncurry_this_namespaceFn());
var toString = uncurryThis({}.toString);
var stringSlice = uncurryThis(''.slice);
@@ -514,17 +745,15 @@ module.exports = function (it) {
return stringSlice(toString(it), 8, -1);
};
+});
-/***/ },
-
-/***/ 6955
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/classof.js
+var classof_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var TO_STRING_TAG_SUPPORT = __webpack_require__(2140);
-var isCallable = __webpack_require__(4901);
-var classofRaw = __webpack_require__(2195);
-var wellKnownSymbol = __webpack_require__(8227);
+var TO_STRING_TAG_SUPPORT = (to_string_tag_support_namespaceFn());
+var isCallable = (is_callable_namespaceFn());
+var classofRaw = (classof_raw_namespaceFn());
+var wellKnownSymbol = (well_known_symbol_namespaceFn());
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var $Object = Object;
@@ -551,17 +780,15 @@ module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
: (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;
};
+});
-/***/ },
-
-/***/ 7740
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/copy-constructor-properties.js
+var copy_constructor_properties_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var hasOwn = __webpack_require__(9297);
-var ownKeys = __webpack_require__(5031);
-var getOwnPropertyDescriptorModule = __webpack_require__(7347);
-var definePropertyModule = __webpack_require__(4913);
+var hasOwn = (has_own_property_namespaceFn());
+var ownKeys = (own_keys_namespaceFn());
+var getOwnPropertyDescriptorModule = (object_get_own_property_descriptor_namespaceFn());
+var definePropertyModule = (object_define_property_namespaceFn());
module.exports = function (target, source, exceptions) {
var keys = ownKeys(source);
@@ -575,14 +802,12 @@ module.exports = function (target, source, exceptions) {
}
};
+});
-/***/ },
-
-/***/ 2211
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/correct-prototype-getter.js
+var correct_prototype_getter_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var fails = __webpack_require__(9039);
+var fails = (fails_namespaceFn());
module.exports = !fails(function () {
function F() { /* empty */ }
@@ -591,29 +816,19 @@ module.exports = !fails(function () {
return Object.getPrototypeOf(new F()) !== F.prototype;
});
+});
-/***/ },
-
-/***/ 2529
-(module) {
-
-
-// `CreateIterResultObject` abstract operation
-// https://tc39.es/ecma262/#sec-createiterresultobject
-module.exports = function (value, done) {
- return { value: value, done: done };
+// EXTERNAL MODULE: ./node_modules/core-js/internals/create-iter-result-object.js
+var create_iter_result_object_namespaceFn = () => {
+ return __webpack_require__(529);
};
+// MODULE: ./node_modules/core-js/internals/create-non-enumerable-property.js
+var create_non_enumerable_property_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-/***/ },
-
-/***/ 6699
-(module, __unused_webpack_exports, __webpack_require__) {
-
-
-var DESCRIPTORS = __webpack_require__(3724);
-var definePropertyModule = __webpack_require__(4913);
-var createPropertyDescriptor = __webpack_require__(6980);
+var DESCRIPTORS = (descriptors_namespaceFn());
+var definePropertyModule = (object_define_property_namespaceFn());
+var createPropertyDescriptor = (create_property_descriptor_namespaceFn());
module.exports = DESCRIPTORS ? function (object, key, value) {
return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
@@ -622,12 +837,10 @@ module.exports = DESCRIPTORS ? function (object, key, value) {
return object;
};
+});
-/***/ },
-
-/***/ 6980
-(module) {
-
+// MODULE: ./node_modules/core-js/internals/create-property-descriptor.js
+var create_property_descriptor_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
module.exports = function (bitmap, value) {
return {
@@ -638,31 +851,27 @@ module.exports = function (bitmap, value) {
};
};
+});
-/***/ },
-
-/***/ 4659
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/create-property.js
+var create_property_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var DESCRIPTORS = __webpack_require__(3724);
-var definePropertyModule = __webpack_require__(4913);
-var createPropertyDescriptor = __webpack_require__(6980);
+var DESCRIPTORS = (descriptors_namespaceFn());
+var definePropertyModule = (object_define_property_namespaceFn());
+var createPropertyDescriptor = (create_property_descriptor_namespaceFn());
module.exports = function (object, key, value) {
if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));
else object[key] = value;
};
+});
-/***/ },
-
-/***/ 2106
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/define-built-in-accessor.js
+var define_built_in_accessor_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var makeBuiltIn = __webpack_require__(283);
-var defineProperty = __webpack_require__(4913);
+var makeBuiltIn = (make_built_in_namespaceFn());
+var defineProperty = (object_define_property_namespaceFn());
module.exports = function (target, name, descriptor) {
if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });
@@ -670,17 +879,15 @@ module.exports = function (target, name, descriptor) {
return defineProperty.f(target, name, descriptor);
};
+});
-/***/ },
-
-/***/ 6840
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/define-built-in.js
+var define_built_in_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var isCallable = __webpack_require__(4901);
-var definePropertyModule = __webpack_require__(4913);
-var makeBuiltIn = __webpack_require__(283);
-var defineGlobalProperty = __webpack_require__(9433);
+var isCallable = (is_callable_namespaceFn());
+var definePropertyModule = (object_define_property_namespaceFn());
+var makeBuiltIn = (make_built_in_namespaceFn());
+var defineGlobalProperty = (define_global_property_namespaceFn());
module.exports = function (O, key, value, options) {
if (!options) options = {};
@@ -705,28 +912,24 @@ module.exports = function (O, key, value, options) {
} return O;
};
+});
-/***/ },
-
-/***/ 6279
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/define-built-ins.js
+var define_built_ins_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var defineBuiltIn = __webpack_require__(6840);
+var defineBuiltIn = (define_built_in_namespaceFn());
module.exports = function (target, src, options) {
for (var key in src) defineBuiltIn(target, key, src[key], options);
return target;
};
+});
-/***/ },
-
-/***/ 9433
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/define-global-property.js
+var define_global_property_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var globalThis = __webpack_require__(4576);
+var globalThis = (global_this_namespaceFn());
// eslint-disable-next-line es/no-object-defineproperty -- safe
var defineProperty = Object.defineProperty;
@@ -739,14 +942,12 @@ module.exports = function (key, value) {
} return value;
};
+});
-/***/ },
-
-/***/ 3724
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/descriptors.js
+var descriptors_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var fails = __webpack_require__(9039);
+var fails = (fails_namespaceFn());
// Detect IE8's incomplete defineProperty implementation
module.exports = !fails(function () {
@@ -754,15 +955,13 @@ module.exports = !fails(function () {
return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;
});
+});
-/***/ },
-
-/***/ 4055
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/document-create-element.js
+var document_create_element_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var globalThis = __webpack_require__(4576);
-var isObject = __webpack_require__(34);
+var globalThis = (global_this_namespaceFn());
+var isObject = (is_object_namespaceFn());
var document = globalThis.document;
// typeof document.createElement is 'object' in old IE
@@ -772,27 +971,15 @@ module.exports = function (it) {
return EXISTS ? document.createElement(it) : {};
};
+});
-/***/ },
-
-/***/ 6837
-(module) {
-
-
-var $TypeError = TypeError;
-var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991
-
-module.exports = function (it) {
- if (it > MAX_SAFE_INTEGER) throw new $TypeError('Maximum allowed index exceeded');
- return it;
+// EXTERNAL MODULE: ./node_modules/core-js/internals/does-not-exceed-safe-integer.js
+var does_not_exceed_safe_integer_namespaceFn = () => {
+ return __webpack_require__(837);
};
-
-/***/ },
-
-/***/ 8727
-(module) {
-
+// MODULE: ./node_modules/core-js/internals/enum-bug-keys.js
+var enum_bug_keys_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
// IE8- don't enum bug keys
module.exports = [
@@ -805,29 +992,25 @@ module.exports = [
'valueOf'
];
+});
-/***/ },
-
-/***/ 2839
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/environment-user-agent.js
+var environment_user_agent_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var globalThis = __webpack_require__(4576);
+var globalThis = (global_this_namespaceFn());
var navigator = globalThis.navigator;
var userAgent = navigator && navigator.userAgent;
module.exports = userAgent ? String(userAgent) : '';
+});
-/***/ },
-
-/***/ 9519
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/environment-v8-version.js
+var environment_v8_version_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var globalThis = __webpack_require__(4576);
-var userAgent = __webpack_require__(2839);
+var globalThis = (global_this_namespaceFn());
+var userAgent = (environment_user_agent_namespaceFn());
var process = globalThis.process;
var Deno = globalThis.Deno;
@@ -854,20 +1037,18 @@ if (!version && userAgent) {
module.exports = version;
+});
-/***/ },
-
-/***/ 6518
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/export.js
+var export_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var globalThis = __webpack_require__(4576);
-var getOwnPropertyDescriptor = (__webpack_require__(7347).f);
-var createNonEnumerableProperty = __webpack_require__(6699);
-var defineBuiltIn = __webpack_require__(6840);
-var defineGlobalProperty = __webpack_require__(9433);
-var copyConstructorProperties = __webpack_require__(7740);
-var isForced = __webpack_require__(2796);
+var globalThis = (global_this_namespaceFn());
+var getOwnPropertyDescriptor = (object_get_own_property_descriptor_namespaceFn().f);
+var createNonEnumerableProperty = (create_non_enumerable_property_namespaceFn());
+var defineBuiltIn = (define_built_in_namespaceFn());
+var defineGlobalProperty = (define_global_property_namespaceFn());
+var copyConstructorProperties = (copy_constructor_properties_namespaceFn());
+var isForced = (is_forced_namespaceFn());
/*
options.target - name of the target object
@@ -916,12 +1097,10 @@ module.exports = function (options, source) {
}
};
+});
-/***/ },
-
-/***/ 9039
-(module) {
-
+// MODULE: ./node_modules/core-js/internals/fails.js
+var fails_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
module.exports = function (exec) {
try {
@@ -931,34 +1110,14 @@ module.exports = function (exec) {
}
};
-
-/***/ },
-
-/***/ 8745
-(module, __unused_webpack_exports, __webpack_require__) {
-
-
-var NATIVE_BIND = __webpack_require__(616);
-
-var FunctionPrototype = Function.prototype;
-var apply = FunctionPrototype.apply;
-var call = FunctionPrototype.call;
-
-// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe
-module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {
- return call.apply(apply, arguments);
});
+// MODULE: ./node_modules/core-js/internals/function-bind-context.js
+var function_bind_context_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-/***/ },
-
-/***/ 6080
-(module, __unused_webpack_exports, __webpack_require__) {
-
-
-var uncurryThis = __webpack_require__(7476);
-var aCallable = __webpack_require__(9306);
-var NATIVE_BIND = __webpack_require__(616);
+var uncurryThis = (function_uncurry_this_clause_namespaceFn());
+var aCallable = (a_callable_namespaceFn());
+var NATIVE_BIND = (function_bind_native_namespaceFn());
var bind = uncurryThis(uncurryThis.bind);
@@ -970,14 +1129,12 @@ module.exports = function (fn, that) {
};
};
+});
-/***/ },
-
-/***/ 616
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/function-bind-native.js
+var function_bind_native_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var fails = __webpack_require__(9039);
+var fails = (fails_namespaceFn());
module.exports = !fails(function () {
// eslint-disable-next-line es/no-function-prototype-bind -- safe
@@ -986,14 +1143,12 @@ module.exports = !fails(function () {
return typeof test != 'function' || test.hasOwnProperty('prototype');
});
+});
-/***/ },
-
-/***/ 9565
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/function-call.js
+var function_call_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var NATIVE_BIND = __webpack_require__(616);
+var NATIVE_BIND = (function_bind_native_namespaceFn());
var call = Function.prototype.call;
// eslint-disable-next-line es/no-function-prototype-bind -- safe
@@ -1001,15 +1156,13 @@ module.exports = NATIVE_BIND ? call.bind(call) : function () {
return call.apply(call, arguments);
};
+});
-/***/ },
-
-/***/ 350
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/function-name.js
+var function_name_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var DESCRIPTORS = __webpack_require__(3724);
-var hasOwn = __webpack_require__(9297);
+var DESCRIPTORS = (descriptors_namespaceFn());
+var hasOwn = (has_own_property_namespaceFn());
var FunctionPrototype = Function.prototype;
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
@@ -1021,20 +1174,18 @@ var PROPER = EXISTS && function something() { /* empty */ }.name === 'something'
var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));
module.exports = {
- EXISTS: EXISTS,
- PROPER: PROPER,
+ ...(/* unused pure expression */ null && (EXISTS)),
+ ...(/* unused pure expression */ null && (PROPER)),
CONFIGURABLE: CONFIGURABLE
};
+});
-/***/ },
-
-/***/ 6706
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/function-uncurry-this-accessor.js
+var function_uncurry_this_accessor_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var uncurryThis = __webpack_require__(9504);
-var aCallable = __webpack_require__(9306);
+var uncurryThis = (function_uncurry_this_namespaceFn());
+var aCallable = (a_callable_namespaceFn());
module.exports = function (object, key, method) {
try {
@@ -1043,15 +1194,13 @@ module.exports = function (object, key, method) {
} catch (error) { /* empty */ }
};
+});
-/***/ },
-
-/***/ 7476
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/function-uncurry-this-clause.js
+var function_uncurry_this_clause_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var classofRaw = __webpack_require__(2195);
-var uncurryThis = __webpack_require__(9504);
+var classofRaw = (classof_raw_namespaceFn());
+var uncurryThis = (function_uncurry_this_namespaceFn());
module.exports = function (fn) {
// Nashorn bug:
@@ -1060,14 +1209,12 @@ module.exports = function (fn) {
if (classofRaw(fn) === 'Function') return uncurryThis(fn);
};
+});
-/***/ },
-
-/***/ 9504
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/function-uncurry-this.js
+var function_uncurry_this_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var NATIVE_BIND = __webpack_require__(616);
+var NATIVE_BIND = (function_bind_native_namespaceFn());
var FunctionPrototype = Function.prototype;
var call = FunctionPrototype.call;
@@ -1080,15 +1227,13 @@ module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {
};
};
+});
-/***/ },
-
-/***/ 7751
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/get-built-in.js
+var get_built_in_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var globalThis = __webpack_require__(4576);
-var isCallable = __webpack_require__(4901);
+var globalThis = (global_this_namespaceFn());
+var isCallable = (is_callable_namespaceFn());
var aFunction = function (argument) {
return isCallable(argument) ? argument : undefined;
@@ -1098,74 +1243,56 @@ module.exports = function (namespace, method) {
return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method];
};
+});
-/***/ },
-
-/***/ 1767
-(module) {
+// EXTERNAL MODULE: ./node_modules/core-js/internals/get-iterator-direct.js
+var get_iterator_direct_namespaceFn = () => {
+ return __webpack_require__(767);
+};
+// MODULE: ./node_modules/core-js/internals/get-iterator-internal.js
+var get_iterator_internal_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-// `GetIteratorDirect(obj)` abstract operation
-// https://tc39.es/ecma262/#sec-getiteratordirect
-module.exports = function (obj) {
- return {
- iterator: obj,
- next: obj.next,
- done: false
- };
-};
+var call = (function_call_namespaceFn());
+var isCallable = (is_callable_namespaceFn());
+var anObject = (an_object_namespaceFn());
+var tryToString = (try_to_string_namespaceFn());
+var getIteratorMethod = (get_iterator_method_internal_namespaceFn());
+var $TypeError = TypeError;
-/***/ },
+module.exports = function (argument, usingIterator) {
+ var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
+ if (isCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));
+ throw new $TypeError(tryToString(argument) + ' is not iterable');
+};
-/***/ 851
-(module, __unused_webpack_exports, __webpack_require__) {
+});
+// MODULE: ./node_modules/core-js/internals/get-iterator-method-internal.js
+var get_iterator_method_internal_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var classof = __webpack_require__(6955);
-var getMethod = __webpack_require__(5966);
-var isNullOrUndefined = __webpack_require__(4117);
-var Iterators = __webpack_require__(6269);
-var wellKnownSymbol = __webpack_require__(8227);
+var classof = (classof_raw_namespaceFn());
+var isNullOrUndefined = (is_null_or_undefined_namespaceFn());
+var getMethod = (get_method_namespaceFn());
+var wellKnownSymbol = (well_known_symbol_namespaceFn());
var ITERATOR = wellKnownSymbol('iterator');
+var ArrayPrototype = Array.prototype;
module.exports = function (it) {
if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)
|| getMethod(it, '@@iterator')
- || Iterators[classof(it)];
-};
-
-
-/***/ },
-
-/***/ 81
-(module, __unused_webpack_exports, __webpack_require__) {
-
-
-var call = __webpack_require__(9565);
-var aCallable = __webpack_require__(9306);
-var anObject = __webpack_require__(8551);
-var tryToString = __webpack_require__(6823);
-var getIteratorMethod = __webpack_require__(851);
-
-var $TypeError = TypeError;
-
-module.exports = function (argument, usingIterator) {
- var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
- if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));
- throw new $TypeError(tryToString(argument) + ' is not iterable');
+ || (classof(it) === 'Arguments' ? ArrayPrototype[ITERATOR] : undefined);
};
+});
-/***/ },
-
-/***/ 5966
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/get-method.js
+var get_method_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var aCallable = __webpack_require__(9306);
-var isNullOrUndefined = __webpack_require__(4117);
+var aCallable = (a_callable_namespaceFn());
+var isNullOrUndefined = (is_null_or_undefined_namespaceFn());
// `GetMethod` abstract operation
// https://tc39.es/ecma262/#sec-getmethod
@@ -1174,18 +1301,16 @@ module.exports = function (V, P) {
return isNullOrUndefined(func) ? undefined : aCallable(func);
};
+});
-/***/ },
-
-/***/ 3789
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/get-set-record.js
+var get_set_record_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var aCallable = __webpack_require__(9306);
-var anObject = __webpack_require__(8551);
-var call = __webpack_require__(9565);
-var toIntegerOrInfinity = __webpack_require__(1291);
-var getIteratorDirect = __webpack_require__(1767);
+var aCallable = (a_callable_namespaceFn());
+var anObject = (an_object_namespaceFn());
+var call = (function_call_namespaceFn());
+var toIntegerOrInfinity = (to_integer_or_infinity_namespaceFn());
+var getIteratorDirect = (get_iterator_direct_namespaceFn());
var INVALID_SIZE = 'Invalid size';
var $RangeError = RangeError;
@@ -1221,12 +1346,10 @@ module.exports = function (obj) {
return new SetRecord(obj, intSize);
};
+});
-/***/ },
-
-/***/ 4576
-(module) {
-
+// MODULE: ./node_modules/core-js/internals/global-this.js
+var global_this_namespaceFn = /*#__PURE__*/__webpack_require__.cw(function(module) {
var check = function (it) {
return it && it.Math === Math && it;
@@ -1244,15 +1367,13 @@ module.exports =
// eslint-disable-next-line no-new-func -- fallback
(function () { return this; })() || Function('return this')();
+});
-/***/ },
-
-/***/ 9297
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/has-own-property.js
+var has_own_property_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var uncurryThis = __webpack_require__(9504);
-var toObject = __webpack_require__(8981);
+var uncurryThis = (function_uncurry_this_namespaceFn());
+var toObject = (to_object_namespaceFn());
var hasOwnProperty = uncurryThis({}.hasOwnProperty);
@@ -1263,36 +1384,30 @@ module.exports = Object.hasOwn || function hasOwn(it, key) {
return hasOwnProperty(toObject(it), key);
};
+});
-/***/ },
-
-/***/ 421
-(module) {
-
+// MODULE: ./node_modules/core-js/internals/hidden-keys.js
+var hidden_keys_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
module.exports = {};
+});
-/***/ },
-
-/***/ 397
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/html.js
+var html_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var getBuiltIn = __webpack_require__(7751);
+var getBuiltIn = (get_built_in_namespaceFn());
module.exports = getBuiltIn('document', 'documentElement');
+});
-/***/ },
-
-/***/ 5917
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/ie8-dom-define.js
+var ie8_dom_define_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var DESCRIPTORS = __webpack_require__(3724);
-var fails = __webpack_require__(9039);
-var createElement = __webpack_require__(4055);
+var DESCRIPTORS = (descriptors_namespaceFn());
+var fails = (fails_namespaceFn());
+var createElement = (document_create_element_namespaceFn());
// Thanks to IE8 for its funny defineProperty
module.exports = !DESCRIPTORS && !fails(function () {
@@ -1302,16 +1417,14 @@ module.exports = !DESCRIPTORS && !fails(function () {
}).a !== 7;
});
+});
-/***/ },
-
-/***/ 7055
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/indexed-object.js
+var indexed_object_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var uncurryThis = __webpack_require__(9504);
-var fails = __webpack_require__(9039);
-var classof = __webpack_require__(2195);
+var uncurryThis = (function_uncurry_this_namespaceFn());
+var fails = (fails_namespaceFn());
+var classof = (classof_raw_namespaceFn());
var $Object = Object;
var split = uncurryThis(''.split);
@@ -1325,16 +1438,14 @@ module.exports = fails(function () {
return classof(it) === 'String' ? split(it, '') : $Object(it);
} : $Object;
+});
-/***/ },
-
-/***/ 3706
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/inspect-source.js
+var inspect_source_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var uncurryThis = __webpack_require__(9504);
-var isCallable = __webpack_require__(4901);
-var store = __webpack_require__(7629);
+var uncurryThis = (function_uncurry_this_namespaceFn());
+var isCallable = (is_callable_namespaceFn());
+var store = (shared_store_namespaceFn());
var functionToString = uncurryThis(Function.toString);
@@ -1347,21 +1458,19 @@ if (!isCallable(store.inspectSource)) {
module.exports = store.inspectSource;
+});
-/***/ },
-
-/***/ 1181
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/internal-state.js
+var internal_state_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var NATIVE_WEAK_MAP = __webpack_require__(8622);
-var globalThis = __webpack_require__(4576);
-var isObject = __webpack_require__(34);
-var createNonEnumerableProperty = __webpack_require__(6699);
-var hasOwn = __webpack_require__(9297);
-var shared = __webpack_require__(7629);
-var sharedKey = __webpack_require__(6119);
-var hiddenKeys = __webpack_require__(421);
+var NATIVE_WEAK_MAP = (weak_map_basic_detection_namespaceFn());
+var globalThis = (global_this_namespaceFn());
+var isObject = (is_object_namespaceFn());
+var createNonEnumerableProperty = (create_non_enumerable_property_namespaceFn());
+var hasOwn = (has_own_property_namespaceFn());
+var shared = (shared_store_namespaceFn());
+var sharedKey = (shared_key_namespaceFn());
+var hiddenKeys = (hidden_keys_namespaceFn());
var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
var TypeError = globalThis.TypeError;
@@ -1425,15 +1534,13 @@ module.exports = {
getterFor: getterFor
};
+});
-/***/ },
-
-/***/ 4209
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/is-array-iterator-method.js
+var is_array_iterator_method_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var wellKnownSymbol = __webpack_require__(8227);
-var Iterators = __webpack_require__(6269);
+var wellKnownSymbol = (well_known_symbol_namespaceFn());
+var Iterators = (iterators_namespaceFn());
var ITERATOR = wellKnownSymbol('iterator');
var ArrayPrototype = Array.prototype;
@@ -1443,14 +1550,12 @@ module.exports = function (it) {
return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
};
+});
-/***/ },
-
-/***/ 4376
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/is-array.js
+var is_array_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var classof = __webpack_require__(2195);
+var classof = (classof_raw_namespaceFn());
// `IsArray` abstract operation
// https://tc39.es/ecma262/#sec-isarray
@@ -1459,26 +1564,22 @@ module.exports = Array.isArray || function isArray(argument) {
return classof(argument) === 'Array';
};
+});
-/***/ },
-
-/***/ 1108
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/is-big-int-array.js
+var is_big_int_array_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var classof = __webpack_require__(6955);
+var classof = (classof_namespaceFn());
module.exports = function (it) {
var klass = classof(it);
return klass === 'BigInt64Array' || klass === 'BigUint64Array';
};
+});
-/***/ },
-
-/***/ 4901
-(module) {
-
+// MODULE: ./node_modules/core-js/internals/is-callable.js
+var is_callable_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
var documentAll = typeof document == 'object' && document.all;
@@ -1492,15 +1593,13 @@ module.exports = typeof documentAll == 'undefined' && documentAll !== undefined
return typeof argument == 'function';
};
+});
-/***/ },
-
-/***/ 2796
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/is-forced.js
+var is_forced_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var fails = __webpack_require__(9039);
-var isCallable = __webpack_require__(4901);
+var fails = (fails_namespaceFn());
+var isCallable = (is_callable_namespaceFn());
var replacement = /#|\.prototype\./;
@@ -1522,63 +1621,47 @@ var POLYFILL = isForced.POLYFILL = 'P';
module.exports = isForced;
+});
-/***/ },
-
-/***/ 4117
-(module) {
-
-
-// we can't use just `it == null` since of `document.all` special case
-// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec
-module.exports = function (it) {
- return it === null || it === undefined;
+// EXTERNAL MODULE: ./node_modules/core-js/internals/is-null-or-undefined.js
+var is_null_or_undefined_namespaceFn = () => {
+ return __webpack_require__(117);
};
+// MODULE: ./node_modules/core-js/internals/is-object.js
+var is_object_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-/***/ },
-
-/***/ 34
-(module, __unused_webpack_exports, __webpack_require__) {
-
-
-var isCallable = __webpack_require__(4901);
+var isCallable = (is_callable_namespaceFn());
module.exports = function (it) {
return typeof it == 'object' ? it !== null : isCallable(it);
};
+});
-/***/ },
-
-/***/ 3925
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/is-possible-prototype.js
+var is_possible_prototype_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var isObject = __webpack_require__(34);
+var isObject = (is_object_namespaceFn());
module.exports = function (argument) {
return isObject(argument) || argument === null;
};
+});
-/***/ },
-
-/***/ 6395
-(module) {
-
+// MODULE: ./node_modules/core-js/internals/is-pure.js
+var is_pure_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
module.exports = false;
+});
-/***/ },
-
-/***/ 5810
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/is-raw-json.js
+var is_raw_json_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var isObject = __webpack_require__(34);
-var getInternalState = (__webpack_require__(1181).get);
+var isObject = (is_object_namespaceFn());
+var getInternalState = (internal_state_namespaceFn().get);
module.exports = function isRawJSON(O) {
if (!isObject(O)) return false;
@@ -1586,17 +1669,15 @@ module.exports = function isRawJSON(O) {
return !!state && state.type === 'RawJSON';
};
+});
-/***/ },
-
-/***/ 757
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/is-symbol.js
+var is_symbol_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var getBuiltIn = __webpack_require__(7751);
-var isCallable = __webpack_require__(4901);
-var isPrototypeOf = __webpack_require__(1625);
-var USE_SYMBOL_AS_UID = __webpack_require__(7040);
+var getBuiltIn = (get_built_in_namespaceFn());
+var isCallable = (is_callable_namespaceFn());
+var isPrototypeOf = (object_is_prototype_of_namespaceFn());
+var USE_SYMBOL_AS_UID = (use_symbol_as_uid_namespaceFn());
var $Object = Object;
@@ -1607,14 +1688,12 @@ module.exports = USE_SYMBOL_AS_UID ? function (it) {
return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));
};
+});
-/***/ },
-
-/***/ 507
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/iterate-simple.js
+var iterate_simple_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var call = __webpack_require__(9565);
+var call = (function_call_namespaceFn());
module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {
var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator;
@@ -1626,23 +1705,21 @@ module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {
}
};
+});
-/***/ },
-
-/***/ 2652
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/iterate.js
+var iterate_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var bind = __webpack_require__(6080);
-var call = __webpack_require__(9565);
-var anObject = __webpack_require__(8551);
-var tryToString = __webpack_require__(6823);
-var isArrayIteratorMethod = __webpack_require__(4209);
-var lengthOfArrayLike = __webpack_require__(6198);
-var isPrototypeOf = __webpack_require__(1625);
-var getIterator = __webpack_require__(81);
-var getIteratorMethod = __webpack_require__(851);
-var iteratorClose = __webpack_require__(9539);
+var bind = (function_bind_context_namespaceFn());
+var call = (function_call_namespaceFn());
+var anObject = (an_object_namespaceFn());
+var tryToString = (try_to_string_namespaceFn());
+var isArrayIteratorMethod = (is_array_iterator_method_namespaceFn());
+var lengthOfArrayLike = (length_of_array_like_namespaceFn());
+var isPrototypeOf = (object_is_prototype_of_namespaceFn());
+var getIterator = (get_iterator_internal_namespaceFn());
+var getIteratorMethod = (get_iterator_method_internal_namespaceFn());
+var iteratorClose = (iterator_close_namespaceFn());
var $TypeError = TypeError;
@@ -1707,14 +1784,17 @@ module.exports = function (iterable, unboundFunction, options) {
} return new Result(false);
};
+});
-/***/ },
-
-/***/ 1385
-(module, __unused_webpack_exports, __webpack_require__) {
+// EXTERNAL MODULE: ./node_modules/core-js/internals/iterator-cleanup-state.js
+var iterator_cleanup_state_namespaceFn = () => {
+ return __webpack_require__(859);
+};
+// MODULE: ./node_modules/core-js/internals/iterator-close-all.js
+var iterator_close_all_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var iteratorClose = __webpack_require__(9539);
+var iteratorClose = (iterator_close_namespaceFn());
module.exports = function (iters, kind, value) {
for (var i = iters.length - 1; i >= 0; i--) {
@@ -1730,16 +1810,14 @@ module.exports = function (iters, kind, value) {
return value;
};
+});
-/***/ },
-
-/***/ 9539
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/iterator-close.js
+var iterator_close_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var call = __webpack_require__(9565);
-var anObject = __webpack_require__(8551);
-var getMethod = __webpack_require__(5966);
+var call = (function_call_namespaceFn());
+var anObject = (an_object_namespaceFn());
+var getMethod = (get_method_namespaceFn());
module.exports = function (iterator, kind, value) {
var innerResult, innerError;
@@ -1761,24 +1839,23 @@ module.exports = function (iterator, kind, value) {
return value;
};
+});
-/***/ },
-
-/***/ 9462
-(module, __unused_webpack_exports, __webpack_require__) {
-
-
-var call = __webpack_require__(9565);
-var create = __webpack_require__(2360);
-var createNonEnumerableProperty = __webpack_require__(6699);
-var defineBuiltIns = __webpack_require__(6279);
-var wellKnownSymbol = __webpack_require__(8227);
-var InternalStateModule = __webpack_require__(1181);
-var getMethod = __webpack_require__(5966);
-var IteratorPrototype = (__webpack_require__(7657).IteratorPrototype);
-var createIterResultObject = __webpack_require__(2529);
-var iteratorClose = __webpack_require__(9539);
-var iteratorCloseAll = __webpack_require__(1385);
+// MODULE: ./node_modules/core-js/internals/iterator-create-proxy.js
+var iterator_create_proxy_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
+
+var call = (function_call_namespaceFn());
+var create = (object_create_namespaceFn());
+var createNonEnumerableProperty = (create_non_enumerable_property_namespaceFn());
+var defineBuiltIns = (define_built_ins_namespaceFn());
+var wellKnownSymbol = (well_known_symbol_namespaceFn());
+var InternalStateModule = (internal_state_namespaceFn());
+var getMethod = (get_method_namespaceFn());
+var IteratorPrototype = (iterators_core_namespaceFn().IteratorPrototype);
+var createIterResultObject = (create_iter_result_object_namespaceFn());
+var iteratorClose = (iterator_close_namespaceFn());
+var iteratorCloseAll = (iterator_close_all_namespaceFn());
+var cleanupState = (iterator_cleanup_state_namespaceFn());
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var ITERATOR_HELPER = 'IteratorHelper';
@@ -1800,29 +1877,34 @@ var createIteratorProxyPrototype = function (IS_ITERATOR) {
if (state.done) return createIterResultObject(undefined, true);
try {
var result = state.nextHandler();
+ if (state.done) cleanupState(state);
return state.returnHandlerResult ? result : createIterResultObject(result, state.done);
} catch (error) {
state.done = true;
+ cleanupState(state);
throw error;
}
},
'return': function () {
var state = getInternalState(this);
var iterator = state.iterator;
+ var inner = state.inner;
+ var openIters = state.openIters;
var done = state.done;
state.done = true;
if (IS_ITERATOR) {
var returnMethod = getMethod(iterator, 'return');
return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true);
}
+ cleanupState(state);
if (done) return createIterResultObject(undefined, true);
- if (state.inner) try {
- iteratorClose(state.inner.iterator, NORMAL);
+ if (inner) try {
+ iteratorClose(inner.iterator, NORMAL);
} catch (error) {
return iteratorClose(iterator, THROW, error);
}
- if (state.openIters) try {
- iteratorCloseAll(state.openIters, NORMAL);
+ if (openIters) try {
+ iteratorCloseAll(openIters, NORMAL);
} catch (error) {
if (iterator) return iteratorClose(iterator, THROW, error);
throw error;
@@ -1852,38 +1934,22 @@ module.exports = function (nextHandler, IS_ITERATOR, RETURN_HANDLER_RESULT) {
setInternalState(this, state);
};
- IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype;
-
- return IteratorProxy;
-};
-
-
-/***/ },
-
-/***/ 684
-(module) {
-
-
-// Should throw an error on invalid iterator
-// https://issues.chromium.org/issues/336839115
-module.exports = function (methodName, argument) {
- // eslint-disable-next-line es/no-iterator -- required for testing
- var method = typeof Iterator == 'function' && Iterator.prototype[methodName];
- if (method) try {
- method.call({ next: null }, argument).next();
- } catch (error) {
- return true;
- }
-};
+ IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype;
+ return IteratorProxy;
+};
-/***/ },
+});
-/***/ 4549
-(module, __unused_webpack_exports, __webpack_require__) {
+// EXTERNAL MODULE: ./node_modules/core-js/internals/iterator-helper-throws-on-invalid-iterator.js
+var iterator_helper_throws_on_invalid_iterator_namespaceFn = () => {
+ return __webpack_require__(684);
+};
+// MODULE: ./node_modules/core-js/internals/iterator-helper-without-closing-on-early-error.js
+var iterator_helper_without_closing_on_early_error_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var globalThis = __webpack_require__(4576);
+var globalThis = (global_this_namespaceFn());
// https://github.com/tc39/ecma262/pull/3467
module.exports = function (METHOD_NAME, ExpectedError) {
@@ -1906,21 +1972,19 @@ module.exports = function (METHOD_NAME, ExpectedError) {
if (!CLOSED) return method;
};
+});
-/***/ },
-
-/***/ 7657
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/iterators-core.js
+var iterators_core_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var fails = __webpack_require__(9039);
-var isCallable = __webpack_require__(4901);
-var isObject = __webpack_require__(34);
-var create = __webpack_require__(2360);
-var getPrototypeOf = __webpack_require__(2787);
-var defineBuiltIn = __webpack_require__(6840);
-var wellKnownSymbol = __webpack_require__(8227);
-var IS_PURE = __webpack_require__(6395);
+var fails = (fails_namespaceFn());
+var isCallable = (is_callable_namespaceFn());
+var isObject = (is_object_namespaceFn());
+var create = (object_create_namespaceFn());
+var getPrototypeOf = (object_get_prototype_of_namespaceFn());
+var defineBuiltIn = (define_built_in_namespaceFn());
+var wellKnownSymbol = (well_known_symbol_namespaceFn());
+var IS_PURE = (is_pure_namespaceFn());
var ITERATOR = wellKnownSymbol('iterator');
var BUGGY_SAFARI_ITERATORS = false;
@@ -1959,26 +2023,20 @@ if (!isCallable(IteratorPrototype[ITERATOR])) {
module.exports = {
IteratorPrototype: IteratorPrototype,
- BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
+ ...(/* unused pure expression */ null && (BUGGY_SAFARI_ITERATORS))
};
+});
-/***/ },
-
-/***/ 6269
-(module) {
-
-
-module.exports = {};
-
-
-/***/ },
-
-/***/ 6198
-(module, __unused_webpack_exports, __webpack_require__) {
+// EXTERNAL MODULE: ./node_modules/core-js/internals/iterators.js
+var iterators_namespaceFn = () => {
+ return __webpack_require__(269);
+};
+// MODULE: ./node_modules/core-js/internals/length-of-array-like.js
+var length_of_array_like_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var toLength = __webpack_require__(8014);
+var toLength = (to_length_namespaceFn());
// `LengthOfArrayLike` abstract operation
// https://tc39.es/ecma262/#sec-lengthofarraylike
@@ -1986,21 +2044,19 @@ module.exports = function (obj) {
return toLength(obj.length);
};
+});
-/***/ },
-
-/***/ 283
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/make-built-in.js
+var make_built_in_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var uncurryThis = __webpack_require__(9504);
-var fails = __webpack_require__(9039);
-var isCallable = __webpack_require__(4901);
-var hasOwn = __webpack_require__(9297);
-var DESCRIPTORS = __webpack_require__(3724);
-var CONFIGURABLE_FUNCTION_NAME = (__webpack_require__(350).CONFIGURABLE);
-var inspectSource = __webpack_require__(3706);
-var InternalStateModule = __webpack_require__(1181);
+var uncurryThis = (function_uncurry_this_namespaceFn());
+var fails = (fails_namespaceFn());
+var isCallable = (is_callable_namespaceFn());
+var hasOwn = (has_own_property_namespaceFn());
+var DESCRIPTORS = (descriptors_namespaceFn());
+var CONFIGURABLE_FUNCTION_NAME = (function_name_namespaceFn().CONFIGURABLE);
+var inspectSource = (inspect_source_namespaceFn());
+var InternalStateModule = (internal_state_namespaceFn());
var enforceInternalState = InternalStateModule.enforce;
var getInternalState = InternalStateModule.get;
@@ -2048,14 +2104,12 @@ Function.prototype.toString = makeBuiltIn(function toString() {
return isCallable(this) && getInternalState(this).source || inspectSource(this);
}, 'toString');
+});
-/***/ },
-
-/***/ 2248
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/map-helpers.js
+var map_helpers_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var uncurryThis = __webpack_require__(9504);
+var uncurryThis = (function_uncurry_this_namespaceFn());
// eslint-disable-next-line es/no-map -- safe
var MapPrototype = Map.prototype;
@@ -2070,33 +2124,13 @@ module.exports = {
proto: MapPrototype
};
+});
-/***/ },
-
-/***/ 741
-(module) {
-
-
-var ceil = Math.ceil;
-var floor = Math.floor;
-
-// `Math.trunc` method
-// https://tc39.es/ecma262/#sec-math.trunc
-// eslint-disable-next-line es/no-math-trunc -- safe
-module.exports = Math.trunc || function trunc(x) {
- var n = +x;
- return (n > 0 ? floor : ceil)(n);
-};
-
-
-/***/ },
-
-/***/ 7819
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/native-raw-json.js
+var native_raw_json_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
/* eslint-disable es/no-json -- safe */
-var fails = __webpack_require__(9039);
+var fails = (fails_namespaceFn());
module.exports = !fails(function () {
var unsafeInt = '9007199254740993';
@@ -2106,49 +2140,19 @@ module.exports = !fails(function () {
return !JSON.isRawJSON(raw) || JSON.stringify(raw) !== unsafeInt;
});
+});
-/***/ },
-
-/***/ 6043
-(module, __unused_webpack_exports, __webpack_require__) {
-
-
-var aCallable = __webpack_require__(9306);
-
-var $TypeError = TypeError;
-
-var PromiseCapability = function (C) {
- var resolve, reject;
- this.promise = new C(function ($$resolve, $$reject) {
- if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');
- resolve = $$resolve;
- reject = $$reject;
- });
- this.resolve = aCallable(resolve);
- this.reject = aCallable(reject);
-};
-
-// `NewPromiseCapability` abstract operation
-// https://tc39.es/ecma262/#sec-newpromisecapability
-module.exports.f = function (C) {
- return new PromiseCapability(C);
-};
-
-
-/***/ },
-
-/***/ 2360
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/object-create.js
+var object_create_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
/* global ActiveXObject -- old IE, WSH */
-var anObject = __webpack_require__(8551);
-var definePropertiesModule = __webpack_require__(6801);
-var enumBugKeys = __webpack_require__(8727);
-var hiddenKeys = __webpack_require__(421);
-var html = __webpack_require__(397);
-var documentCreateElement = __webpack_require__(4055);
-var sharedKey = __webpack_require__(6119);
+var anObject = (an_object_namespaceFn());
+var definePropertiesModule = (object_define_properties_namespaceFn());
+var enumBugKeys = (enum_bug_keys_namespaceFn());
+var hiddenKeys = (hidden_keys_namespaceFn());
+var html = (html_namespaceFn());
+var documentCreateElement = (document_create_element_namespaceFn());
+var sharedKey = (shared_key_namespaceFn());
var GT = '>';
var LT = '<';
@@ -2226,19 +2230,17 @@ module.exports = Object.create || function create(O, Properties) {
return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
};
+});
-/***/ },
-
-/***/ 6801
-(__unused_webpack_module, exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/object-define-properties.js
+var object_define_properties_namespaceFn = /*#__PURE__*/__webpack_require__.cw((__unused_webpack_module, exports) => {
-var DESCRIPTORS = __webpack_require__(3724);
-var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(8686);
-var definePropertyModule = __webpack_require__(4913);
-var anObject = __webpack_require__(8551);
-var toIndexedObject = __webpack_require__(5397);
-var objectKeys = __webpack_require__(1072);
+var DESCRIPTORS = (descriptors_namespaceFn());
+var V8_PROTOTYPE_DEFINE_BUG = (v8_prototype_define_bug_namespaceFn());
+var definePropertyModule = (object_define_property_namespaceFn());
+var anObject = (an_object_namespaceFn());
+var toIndexedObject = (to_indexed_object_namespaceFn());
+var objectKeys = (object_keys_namespaceFn());
// `Object.defineProperties` method
// https://tc39.es/ecma262/#sec-object.defineproperties
@@ -2254,18 +2256,16 @@ exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties :
return O;
};
+});
-/***/ },
-
-/***/ 4913
-(__unused_webpack_module, exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/object-define-property.js
+var object_define_property_namespaceFn = /*#__PURE__*/__webpack_require__.cw((__unused_webpack_module, exports) => {
-var DESCRIPTORS = __webpack_require__(3724);
-var IE8_DOM_DEFINE = __webpack_require__(5917);
-var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(8686);
-var anObject = __webpack_require__(8551);
-var toPropertyKey = __webpack_require__(6969);
+var DESCRIPTORS = (descriptors_namespaceFn());
+var IE8_DOM_DEFINE = (ie8_dom_define_namespaceFn());
+var V8_PROTOTYPE_DEFINE_BUG = (v8_prototype_define_bug_namespaceFn());
+var anObject = (an_object_namespaceFn());
+var toPropertyKey = (to_property_key_namespaceFn());
var $TypeError = TypeError;
// eslint-disable-next-line es/no-object-defineproperty -- safe
@@ -2305,21 +2305,19 @@ exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P
return O;
};
+});
-/***/ },
-
-/***/ 7347
-(__unused_webpack_module, exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/object-get-own-property-descriptor.js
+var object_get_own_property_descriptor_namespaceFn = /*#__PURE__*/__webpack_require__.cw((__unused_webpack_module, exports) => {
-var DESCRIPTORS = __webpack_require__(3724);
-var call = __webpack_require__(9565);
-var propertyIsEnumerableModule = __webpack_require__(8773);
-var createPropertyDescriptor = __webpack_require__(6980);
-var toIndexedObject = __webpack_require__(5397);
-var toPropertyKey = __webpack_require__(6969);
-var hasOwn = __webpack_require__(9297);
-var IE8_DOM_DEFINE = __webpack_require__(5917);
+var DESCRIPTORS = (descriptors_namespaceFn());
+var call = (function_call_namespaceFn());
+var propertyIsEnumerableModule = (object_property_is_enumerable_namespaceFn());
+var createPropertyDescriptor = (create_property_descriptor_namespaceFn());
+var toIndexedObject = (to_indexed_object_namespaceFn());
+var toPropertyKey = (to_property_key_namespaceFn());
+var hasOwn = (has_own_property_namespaceFn());
+var IE8_DOM_DEFINE = (ie8_dom_define_namespaceFn());
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
@@ -2335,15 +2333,13 @@ exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDes
if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
};
+});
-/***/ },
-
-/***/ 8480
-(__unused_webpack_module, exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/object-get-own-property-names.js
+var object_get_own_property_names_namespaceFn = /*#__PURE__*/__webpack_require__.cw((__unused_webpack_module, exports) => {
-var internalObjectKeys = __webpack_require__(1828);
-var enumBugKeys = __webpack_require__(8727);
+var internalObjectKeys = (object_keys_internal_namespaceFn());
+var enumBugKeys = (enum_bug_keys_namespaceFn());
var hiddenKeys = enumBugKeys.concat('length', 'prototype');
@@ -2354,28 +2350,21 @@ exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
return internalObjectKeys(O, hiddenKeys);
};
+});
-/***/ },
-
-/***/ 3717
-(__unused_webpack_module, exports) {
-
-
-// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
-exports.f = Object.getOwnPropertySymbols;
-
-
-/***/ },
-
-/***/ 2787
-(module, __unused_webpack_exports, __webpack_require__) {
+// EXTERNAL MODULE: ./node_modules/core-js/internals/object-get-own-property-symbols.js
+var object_get_own_property_symbols_namespaceFn = () => {
+ return __webpack_require__(717);
+};
+// MODULE: ./node_modules/core-js/internals/object-get-prototype-of.js
+var object_get_prototype_of_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var hasOwn = __webpack_require__(9297);
-var isCallable = __webpack_require__(4901);
-var toObject = __webpack_require__(8981);
-var sharedKey = __webpack_require__(6119);
-var CORRECT_PROTOTYPE_GETTER = __webpack_require__(2211);
+var hasOwn = (has_own_property_namespaceFn());
+var isCallable = (is_callable_namespaceFn());
+var toObject = (to_object_namespaceFn());
+var sharedKey = (shared_key_namespaceFn());
+var CORRECT_PROTOTYPE_GETTER = (correct_prototype_getter_namespaceFn());
var IE_PROTO = sharedKey('IE_PROTO');
var $Object = Object;
@@ -2393,29 +2382,25 @@ module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O
} return object instanceof $Object ? ObjectPrototype : null;
};
+});
-/***/ },
-
-/***/ 1625
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/object-is-prototype-of.js
+var object_is_prototype_of_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var uncurryThis = __webpack_require__(9504);
+var uncurryThis = (function_uncurry_this_namespaceFn());
module.exports = uncurryThis({}.isPrototypeOf);
+});
-/***/ },
-
-/***/ 1828
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/object-keys-internal.js
+var object_keys_internal_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var uncurryThis = __webpack_require__(9504);
-var hasOwn = __webpack_require__(9297);
-var toIndexedObject = __webpack_require__(5397);
-var indexOf = (__webpack_require__(9617).indexOf);
-var hiddenKeys = __webpack_require__(421);
+var uncurryThis = (function_uncurry_this_namespaceFn());
+var hasOwn = (has_own_property_namespaceFn());
+var toIndexedObject = (to_indexed_object_namespaceFn());
+var indexOf = (array_includes_namespaceFn().indexOf);
+var hiddenKeys = (hidden_keys_namespaceFn());
var push = uncurryThis([].push);
@@ -2432,15 +2417,13 @@ module.exports = function (object, names) {
return result;
};
+});
-/***/ },
-
-/***/ 1072
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/object-keys.js
+var object_keys_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var internalObjectKeys = __webpack_require__(1828);
-var enumBugKeys = __webpack_require__(8727);
+var internalObjectKeys = (object_keys_internal_namespaceFn());
+var enumBugKeys = (enum_bug_keys_namespaceFn());
// `Object.keys` method
// https://tc39.es/ecma262/#sec-object.keys
@@ -2449,12 +2432,10 @@ module.exports = Object.keys || function keys(O) {
return internalObjectKeys(O, enumBugKeys);
};
+});
-/***/ },
-
-/***/ 8773
-(__unused_webpack_module, exports) {
-
+// MODULE: ./node_modules/core-js/internals/object-property-is-enumerable.js
+var object_property_is_enumerable_namespaceFn = /*#__PURE__*/__webpack_require__.cw((__unused_webpack_module, exports) => {
var $propertyIsEnumerable = {}.propertyIsEnumerable;
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
@@ -2470,18 +2451,16 @@ exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
return !!descriptor && descriptor.enumerable;
} : $propertyIsEnumerable;
+});
-/***/ },
-
-/***/ 2967
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/object-set-prototype-of.js
+var object_set_prototype_of_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
/* eslint-disable no-proto -- safe */
-var uncurryThisAccessor = __webpack_require__(6706);
-var isObject = __webpack_require__(34);
-var requireObjectCoercible = __webpack_require__(7750);
-var aPossiblePrototype = __webpack_require__(3506);
+var uncurryThisAccessor = (function_uncurry_this_accessor_namespaceFn());
+var isObject = (is_object_namespaceFn());
+var requireObjectCoercible = (require_object_coercible_namespaceFn());
+var aPossiblePrototype = (a_possible_prototype_namespaceFn());
// `Object.setPrototypeOf` method
// https://tc39.es/ecma262/#sec-object.setprototypeof
@@ -2506,16 +2485,14 @@ module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
};
}() : undefined);
+});
-/***/ },
-
-/***/ 4270
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/ordinary-to-primitive.js
+var ordinary_to_primitive_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var call = __webpack_require__(9565);
-var isCallable = __webpack_require__(4901);
-var isObject = __webpack_require__(34);
+var call = (function_call_namespaceFn());
+var isCallable = (is_callable_namespaceFn());
+var isObject = (is_object_namespaceFn());
var $TypeError = TypeError;
@@ -2529,18 +2506,16 @@ module.exports = function (input, pref) {
throw new $TypeError("Can't convert object to primitive value");
};
+});
-/***/ },
-
-/***/ 5031
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/own-keys.js
+var own_keys_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var getBuiltIn = __webpack_require__(7751);
-var uncurryThis = __webpack_require__(9504);
-var getOwnPropertyNamesModule = __webpack_require__(8480);
-var getOwnPropertySymbolsModule = __webpack_require__(3717);
-var anObject = __webpack_require__(8551);
+var getBuiltIn = (get_built_in_namespaceFn());
+var uncurryThis = (function_uncurry_this_namespaceFn());
+var getOwnPropertyNamesModule = (object_get_own_property_names_namespaceFn());
+var getOwnPropertySymbolsModule = (object_get_own_property_symbols_namespaceFn());
+var anObject = (an_object_namespaceFn());
var concat = uncurryThis([].concat);
@@ -2551,15 +2526,13 @@ module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
};
+});
-/***/ },
-
-/***/ 8235
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/parse-json-string.js
+var parse_json_string_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var uncurryThis = __webpack_require__(9504);
-var hasOwn = __webpack_require__(9297);
+var uncurryThis = (function_uncurry_this_namespaceFn());
+var hasOwn = (has_own_property_namespaceFn());
var $SyntaxError = SyntaxError;
var $parseInt = parseInt;
@@ -2614,14 +2587,12 @@ module.exports = function (source, i) {
return { value: value, end: i };
};
+});
-/***/ },
-
-/***/ 7750
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/require-object-coercible.js
+var require_object_coercible_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var isNullOrUndefined = __webpack_require__(4117);
+var isNullOrUndefined = (is_null_or_undefined_namespaceFn());
var $TypeError = TypeError;
@@ -2632,15 +2603,13 @@ module.exports = function (it) {
return it;
};
+});
-/***/ },
-
-/***/ 9286
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/set-clone.js
+var set_clone_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var SetHelpers = __webpack_require__(4402);
-var iterate = __webpack_require__(8469);
+var SetHelpers = (set_helpers_namespaceFn());
+var iterate = (set_iterate_namespaceFn());
var Set = SetHelpers.Set;
var add = SetHelpers.add;
@@ -2653,20 +2622,18 @@ module.exports = function (set) {
return result;
};
+});
-/***/ },
-
-/***/ 3440
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/set-difference.js
+var set_difference_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var aSet = __webpack_require__(7080);
-var SetHelpers = __webpack_require__(4402);
-var clone = __webpack_require__(9286);
-var size = __webpack_require__(5170);
-var getSetRecord = __webpack_require__(3789);
-var iterateSet = __webpack_require__(8469);
-var iterateSimple = __webpack_require__(507);
+var aSet = (a_set_namespaceFn());
+var SetHelpers = (set_helpers_namespaceFn());
+var clone = (set_clone_namespaceFn());
+var size = (set_size_namespaceFn());
+var getSetRecord = (get_set_record_namespaceFn());
+var iterateSet = (set_iterate_namespaceFn());
+var iterateSimple = (iterate_simple_namespaceFn());
var has = SetHelpers.has;
var remove = SetHelpers.remove;
@@ -2686,14 +2653,12 @@ module.exports = function difference(other) {
return result;
};
+});
-/***/ },
-
-/***/ 4402
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/set-helpers.js
+var set_helpers_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var uncurryThis = __webpack_require__(9504);
+var uncurryThis = (function_uncurry_this_namespaceFn());
// eslint-disable-next-line es/no-set -- safe
var SetPrototype = Set.prototype;
@@ -2707,19 +2672,17 @@ module.exports = {
proto: SetPrototype
};
+});
-/***/ },
-
-/***/ 8750
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/set-intersection.js
+var set_intersection_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var aSet = __webpack_require__(7080);
-var SetHelpers = __webpack_require__(4402);
-var size = __webpack_require__(5170);
-var getSetRecord = __webpack_require__(3789);
-var iterateSet = __webpack_require__(8469);
-var iterateSimple = __webpack_require__(507);
+var aSet = (a_set_namespaceFn());
+var SetHelpers = (set_helpers_namespaceFn());
+var size = (set_size_namespaceFn());
+var getSetRecord = (get_set_record_namespaceFn());
+var iterateSet = (set_iterate_namespaceFn());
+var iterateSimple = (iterate_simple_namespaceFn());
var Set = SetHelpers.Set;
var add = SetHelpers.add;
@@ -2745,20 +2708,18 @@ module.exports = function intersection(other) {
return result;
};
+});
-/***/ },
-
-/***/ 4449
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/set-is-disjoint-from.js
+var set_is_disjoint_from_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var aSet = __webpack_require__(7080);
-var has = (__webpack_require__(4402).has);
-var size = __webpack_require__(5170);
-var getSetRecord = __webpack_require__(3789);
-var iterateSet = __webpack_require__(8469);
-var iterateSimple = __webpack_require__(507);
-var iteratorClose = __webpack_require__(9539);
+var aSet = (a_set_namespaceFn());
+var has = (set_helpers_namespaceFn().has);
+var size = (set_size_namespaceFn());
+var getSetRecord = (get_set_record_namespaceFn());
+var iterateSet = (set_iterate_namespaceFn());
+var iterateSimple = (iterate_simple_namespaceFn());
+var iteratorClose = (iterator_close_namespaceFn());
// `Set.prototype.isDisjointFrom` method
// https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom
@@ -2774,17 +2735,15 @@ module.exports = function isDisjointFrom(other) {
}) !== false;
};
+});
-/***/ },
-
-/***/ 3838
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/set-is-subset-of.js
+var set_is_subset_of_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var aSet = __webpack_require__(7080);
-var size = __webpack_require__(5170);
-var iterate = __webpack_require__(8469);
-var getSetRecord = __webpack_require__(3789);
+var aSet = (a_set_namespaceFn());
+var size = (set_size_namespaceFn());
+var iterate = (set_iterate_namespaceFn());
+var getSetRecord = (get_set_record_namespaceFn());
// `Set.prototype.isSubsetOf` method
// https://tc39.es/ecma262/#sec-set.prototype.issubsetof
@@ -2797,19 +2756,17 @@ module.exports = function isSubsetOf(other) {
}, true) !== false;
};
+});
-/***/ },
-
-/***/ 8527
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/set-is-superset-of.js
+var set_is_superset_of_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var aSet = __webpack_require__(7080);
-var has = (__webpack_require__(4402).has);
-var size = __webpack_require__(5170);
-var getSetRecord = __webpack_require__(3789);
-var iterateSimple = __webpack_require__(507);
-var iteratorClose = __webpack_require__(9539);
+var aSet = (a_set_namespaceFn());
+var has = (set_helpers_namespaceFn().has);
+var size = (set_size_namespaceFn());
+var getSetRecord = (get_set_record_namespaceFn());
+var iterateSimple = (iterate_simple_namespaceFn());
+var iteratorClose = (iterator_close_namespaceFn());
// `Set.prototype.isSupersetOf` method
// https://tc39.es/ecma262/#sec-set.prototype.issupersetof
@@ -2823,16 +2780,14 @@ module.exports = function isSupersetOf(other) {
}) !== false;
};
+});
-/***/ },
-
-/***/ 8469
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/set-iterate.js
+var set_iterate_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var uncurryThis = __webpack_require__(9504);
-var iterateSimple = __webpack_require__(507);
-var SetHelpers = __webpack_require__(4402);
+var uncurryThis = (function_uncurry_this_namespaceFn());
+var iterateSimple = (iterate_simple_namespaceFn());
+var SetHelpers = (set_helpers_namespaceFn());
var Set = SetHelpers.Set;
var SetPrototype = SetHelpers.proto;
@@ -2844,14 +2799,12 @@ module.exports = function (set, fn, interruptible) {
return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn);
};
+});
-/***/ },
-
-/***/ 4916
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/set-method-accept-set-like.js
+var set_method_accept_set_like_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var getBuiltIn = __webpack_require__(7751);
+var getBuiltIn = (get_built_in_namespaceFn());
var createSetLike = function (size) {
return {
@@ -2879,99 +2832,63 @@ var createSetLikeWithInfinitySize = function (size) {
throw new Error('e');
}
};
-};
-
-module.exports = function (name, callback) {
- var Set = getBuiltIn('Set');
- try {
- new Set()[name](createSetLike(0));
- try {
- // late spec change, early WebKit ~ Safari 17 implementation does not pass it
- // https://github.com/tc39/proposal-set-methods/pull/88
- // also covered engines with
- // https://bugs.webkit.org/show_bug.cgi?id=272679
- new Set()[name](createSetLike(-1));
- return false;
- } catch (error2) {
- if (!callback) return true;
- // early V8 implementation bug
- // https://issues.chromium.org/issues/351332634
- try {
- new Set()[name](createSetLikeWithInfinitySize(-Infinity));
- return false;
- } catch (error) {
- var set = new Set([1, 2]);
- return callback(set[name](createSetLikeWithInfinitySize(Infinity)));
- }
- }
- } catch (error) {
- return false;
- }
-};
-
-
-/***/ },
-
-/***/ 9835
-(module) {
-
-
-// Should get iterator record of a set-like object before cloning this
-// https://bugs.webkit.org/show_bug.cgi?id=289430
-module.exports = function (METHOD_NAME) {
- try {
- // eslint-disable-next-line es/no-set -- needed for test
- var baseSet = new Set();
- var setLike = {
- size: 0,
- has: function () { return true; },
- keys: function () {
- // eslint-disable-next-line es/no-object-defineproperty -- needed for test
- return Object.defineProperty({}, 'next', {
- get: function () {
- baseSet.clear();
- baseSet.add(4);
- return function () {
- return { done: true };
- };
- }
- });
- }
- };
- var result = baseSet[METHOD_NAME](setLike);
+};
- return result.size === 1 && result.values().next().value === 4;
+module.exports = function (name, callback) {
+ var Set = getBuiltIn('Set');
+ try {
+ new Set()[name](createSetLike(0));
+ try {
+ // late spec change, early WebKit ~ Safari 17 implementation does not pass it
+ // https://github.com/tc39/proposal-set-methods/pull/88
+ // also covered engines with
+ // https://bugs.webkit.org/show_bug.cgi?id=272679
+ new Set()[name](createSetLike(-1));
+ return false;
+ } catch (error2) {
+ if (!callback) return true;
+ // early V8 implementation bug
+ // https://issues.chromium.org/issues/351332634
+ try {
+ new Set()[name](createSetLikeWithInfinitySize(-Infinity));
+ return false;
+ } catch (error) {
+ var set = new Set([1, 2]);
+ return callback(set[name](createSetLikeWithInfinitySize(Infinity)));
+ }
+ }
} catch (error) {
return false;
}
};
+});
-/***/ },
-
-/***/ 5170
-(module, __unused_webpack_exports, __webpack_require__) {
+// EXTERNAL MODULE: ./node_modules/core-js/internals/set-method-get-keys-before-cloning-detection.js
+var set_method_get_keys_before_cloning_detection_namespaceFn = () => {
+ return __webpack_require__(835);
+};
+// MODULE: ./node_modules/core-js/internals/set-size.js
+var set_size_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var uncurryThisAccessor = __webpack_require__(6706);
-var SetHelpers = __webpack_require__(4402);
+var uncurryThisAccessor = (function_uncurry_this_accessor_namespaceFn());
+var SetHelpers = (set_helpers_namespaceFn());
module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) {
return set.size;
};
+});
-/***/ },
-
-/***/ 3650
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/set-symmetric-difference.js
+var set_symmetric_difference_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var aSet = __webpack_require__(7080);
-var SetHelpers = __webpack_require__(4402);
-var clone = __webpack_require__(9286);
-var getSetRecord = __webpack_require__(3789);
-var iterateSimple = __webpack_require__(507);
+var aSet = (a_set_namespaceFn());
+var SetHelpers = (set_helpers_namespaceFn());
+var clone = (set_clone_namespaceFn());
+var getSetRecord = (get_set_record_namespaceFn());
+var iterateSimple = (iterate_simple_namespaceFn());
var add = SetHelpers.add;
var has = SetHelpers.has;
@@ -2990,18 +2907,16 @@ module.exports = function symmetricDifference(other) {
return result;
};
+});
-/***/ },
-
-/***/ 4204
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/set-union.js
+var set_union_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var aSet = __webpack_require__(7080);
-var add = (__webpack_require__(4402).add);
-var clone = __webpack_require__(9286);
-var getSetRecord = __webpack_require__(3789);
-var iterateSimple = __webpack_require__(507);
+var aSet = (a_set_namespaceFn());
+var add = (set_helpers_namespaceFn().add);
+var clone = (set_clone_namespaceFn());
+var getSetRecord = (get_set_record_namespaceFn());
+var iterateSimple = (iterate_simple_namespaceFn());
// `Set.prototype.union` method
// https://tc39.es/ecma262/#sec-set.prototype.union
@@ -3015,15 +2930,13 @@ module.exports = function union(other) {
return result;
};
+});
-/***/ },
-
-/***/ 6119
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/shared-key.js
+var shared_key_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var shared = __webpack_require__(5745);
-var uid = __webpack_require__(3392);
+var shared = (shared_namespaceFn());
+var uid = (uid_namespaceFn());
var keys = shared('keys');
@@ -3031,53 +2944,49 @@ module.exports = function (key) {
return keys[key] || (keys[key] = uid(key));
};
+});
-/***/ },
-
-/***/ 7629
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/shared-store.js
+var shared_store_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var IS_PURE = __webpack_require__(6395);
-var globalThis = __webpack_require__(4576);
-var defineGlobalProperty = __webpack_require__(9433);
+var IS_PURE = (is_pure_namespaceFn());
+var globalThis = (global_this_namespaceFn());
+var defineGlobalProperty = (define_global_property_namespaceFn());
var SHARED = '__core-js_shared__';
var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
(store.versions || (store.versions = [])).push({
- version: '3.49.0',
+ version: '3.51.0',
mode: IS_PURE ? 'pure' : 'global',
copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',
- license: 'https://github.com/zloirock/core-js/blob/v3.49.0/LICENSE',
+ license: 'https://github.com/zloirock/core-js/blob/v3.51.0/LICENSE',
source: 'https://github.com/zloirock/core-js'
});
+});
-/***/ },
-
-/***/ 5745
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/shared.js
+var shared_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var store = __webpack_require__(7629);
+var store = (shared_store_namespaceFn());
+// eslint-disable-next-line es/no-object-create -- safe
+var create = Object.create || Object;
module.exports = function (key, value) {
- return store[key] || (store[key] = value || {});
+ return store[key] || (store[key] = value || create(null));
};
+});
-/***/ },
-
-/***/ 533
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/string-pad.js
+var string_pad_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var uncurryThis = __webpack_require__(9504);
-var toLength = __webpack_require__(8014);
-var toString = __webpack_require__(655);
-var $repeat = __webpack_require__(2333);
-var requireObjectCoercible = __webpack_require__(7750);
+var uncurryThis = (function_uncurry_this_namespaceFn());
+var toLength = (to_length_namespaceFn());
+var toString = (to_string_namespaceFn());
+var $repeat = (string_repeat_namespaceFn());
+var requireObjectCoercible = (require_object_coercible_namespaceFn());
var repeat = uncurryThis($repeat);
var stringSlice = uncurryThis(''.slice);
@@ -3106,19 +3015,17 @@ module.exports = {
start: createMethod(false),
// `String.prototype.padEnd` method
// https://tc39.es/ecma262/#sec-string.prototype.padend
- end: createMethod(true)
+ ...void (createMethod(true))
};
+});
-/***/ },
-
-/***/ 2333
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/string-repeat.js
+var string_repeat_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var toIntegerOrInfinity = __webpack_require__(1291);
-var toString = __webpack_require__(655);
-var requireObjectCoercible = __webpack_require__(7750);
+var toIntegerOrInfinity = (to_integer_or_infinity_namespaceFn());
+var toString = (to_string_namespaceFn());
+var requireObjectCoercible = (require_object_coercible_namespaceFn());
var $RangeError = RangeError;
var floor = Math.floor;
@@ -3134,17 +3041,15 @@ module.exports = function repeat(count) {
return result;
};
+});
-/***/ },
-
-/***/ 4495
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/symbol-constructor-detection.js
+var symbol_constructor_detection_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
/* eslint-disable es/no-symbol -- required for testing */
-var V8_VERSION = __webpack_require__(9519);
-var fails = __webpack_require__(9039);
-var globalThis = __webpack_require__(4576);
+var V8_VERSION = (environment_v8_version_namespaceFn());
+var fails = (fails_namespaceFn());
+var globalThis = (global_this_namespaceFn());
var $String = globalThis.String;
@@ -3160,14 +3065,23 @@ module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
!Symbol.sham && V8_VERSION && V8_VERSION < 41;
});
+});
+
+// MODULE: ./node_modules/core-js/internals/this-number-value.js
+var this_number_value_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-/***/ },
+var uncurryThis = (function_uncurry_this_namespaceFn());
-/***/ 5610
-(module, __unused_webpack_exports, __webpack_require__) {
+// `thisNumberValue` abstract operation
+// https://tc39.es/ecma262/#sec-thisnumbervalue
+module.exports = uncurryThis(1.1.valueOf);
+
+});
+// MODULE: ./node_modules/core-js/internals/to-absolute-index.js
+var to_absolute_index_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var toIntegerOrInfinity = __webpack_require__(1291);
+var toIntegerOrInfinity = (to_integer_or_infinity_namespaceFn());
var max = Math.max;
var min = Math.min;
@@ -3180,14 +3094,12 @@ module.exports = function (index, length) {
return integer < 0 ? max(integer + length, 0) : min(integer, length);
};
+});
-/***/ },
-
-/***/ 5854
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/to-big-int.js
+var to_big_int_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var toPrimitive = __webpack_require__(2777);
+var toPrimitive = (to_primitive_namespaceFn());
var $TypeError = TypeError;
@@ -3200,46 +3112,30 @@ module.exports = function (argument) {
return BigInt(prim);
};
+});
-/***/ },
-
-/***/ 5397
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/to-indexed-object.js
+var to_indexed_object_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
// toObject with fallback for non-array-like ES3 strings
-var IndexedObject = __webpack_require__(7055);
-var requireObjectCoercible = __webpack_require__(7750);
+var IndexedObject = (indexed_object_namespaceFn());
+var requireObjectCoercible = (require_object_coercible_namespaceFn());
module.exports = function (it) {
return IndexedObject(requireObjectCoercible(it));
};
+});
-/***/ },
-
-/***/ 1291
-(module, __unused_webpack_exports, __webpack_require__) {
-
-
-var trunc = __webpack_require__(741);
-
-// `ToIntegerOrInfinity` abstract operation
-// https://tc39.es/ecma262/#sec-tointegerorinfinity
-module.exports = function (argument) {
- var number = +argument;
- // eslint-disable-next-line no-self-compare -- NaN check
- return number !== number || number === 0 ? 0 : trunc(number);
+// EXTERNAL MODULE: ./node_modules/core-js/internals/to-integer-or-infinity.js
+var to_integer_or_infinity_namespaceFn = () => {
+ return __webpack_require__(291);
};
+// MODULE: ./node_modules/core-js/internals/to-length.js
+var to_length_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-/***/ },
-
-/***/ 8014
-(module, __unused_webpack_exports, __webpack_require__) {
-
-
-var toIntegerOrInfinity = __webpack_require__(1291);
+var toIntegerOrInfinity = (to_integer_or_infinity_namespaceFn());
var min = Math.min;
@@ -3250,14 +3146,12 @@ module.exports = function (argument) {
return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
};
+});
-/***/ },
-
-/***/ 8981
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/to-object.js
+var to_object_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var requireObjectCoercible = __webpack_require__(7750);
+var requireObjectCoercible = (require_object_coercible_namespaceFn());
var $Object = Object;
@@ -3267,19 +3161,17 @@ module.exports = function (argument) {
return $Object(requireObjectCoercible(argument));
};
+});
-/***/ },
-
-/***/ 2777
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/to-primitive.js
+var to_primitive_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var call = __webpack_require__(9565);
-var isObject = __webpack_require__(34);
-var isSymbol = __webpack_require__(757);
-var getMethod = __webpack_require__(5966);
-var ordinaryToPrimitive = __webpack_require__(4270);
-var wellKnownSymbol = __webpack_require__(8227);
+var call = (function_call_namespaceFn());
+var isObject = (is_object_namespaceFn());
+var isSymbol = (is_symbol_namespaceFn());
+var getMethod = (get_method_namespaceFn());
+var ordinaryToPrimitive = (ordinary_to_primitive_namespaceFn());
+var wellKnownSymbol = (well_known_symbol_namespaceFn());
var $TypeError = TypeError;
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
@@ -3300,15 +3192,13 @@ module.exports = function (input, pref) {
return ordinaryToPrimitive(input, pref);
};
+});
-/***/ },
-
-/***/ 6969
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/to-property-key.js
+var to_property_key_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var toPrimitive = __webpack_require__(2777);
-var isSymbol = __webpack_require__(757);
+var toPrimitive = (to_primitive_namespaceFn());
+var isSymbol = (is_symbol_namespaceFn());
// `ToPropertyKey` abstract operation
// https://tc39.es/ecma262/#sec-topropertykey
@@ -3317,14 +3207,12 @@ module.exports = function (argument) {
return isSymbol(key) ? key : key + '';
};
+});
-/***/ },
-
-/***/ 2140
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/to-string-tag-support.js
+var to_string_tag_support_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var wellKnownSymbol = __webpack_require__(8227);
+var wellKnownSymbol = (well_known_symbol_namespaceFn());
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var test = {};
@@ -3333,14 +3221,12 @@ test[TO_STRING_TAG] = 'z';
module.exports = String(test) === '[object z]';
+});
-/***/ },
-
-/***/ 655
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/to-string.js
+var to_string_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var classof = __webpack_require__(6955);
+var classof = (classof_namespaceFn());
var $String = String;
@@ -3349,12 +3235,10 @@ module.exports = function (argument) {
return $String(argument);
};
+});
-/***/ },
-
-/***/ 6823
-(module) {
-
+// MODULE: ./node_modules/core-js/internals/try-to-string.js
+var try_to_string_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
var $String = String;
@@ -3366,14 +3250,12 @@ module.exports = function (argument) {
}
};
+});
-/***/ },
-
-/***/ 3392
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/uid.js
+var uid_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var uncurryThis = __webpack_require__(9504);
+var uncurryThis = (function_uncurry_this_namespaceFn());
var id = 0;
var postfix = Math.random();
@@ -3383,17 +3265,15 @@ module.exports = function (key) {
return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
};
+});
-/***/ },
-
-/***/ 7416
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/url-constructor-detection.js
+var url_constructor_detection_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var fails = __webpack_require__(9039);
-var wellKnownSymbol = __webpack_require__(8227);
-var DESCRIPTORS = __webpack_require__(3724);
-var IS_PURE = __webpack_require__(6395);
+var fails = (fails_namespaceFn());
+var wellKnownSymbol = (well_known_symbol_namespaceFn());
+var DESCRIPTORS = (descriptors_namespaceFn());
+var IS_PURE = (is_pure_namespaceFn());
var ITERATOR = wellKnownSymbol('iterator');
@@ -3432,29 +3312,25 @@ module.exports = !fails(function () {
|| new URL('https://x', undefined).host !== 'x';
});
+});
-/***/ },
-
-/***/ 7040
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/use-symbol-as-uid.js
+var use_symbol_as_uid_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
/* eslint-disable es/no-symbol -- required for testing */
-var NATIVE_SYMBOL = __webpack_require__(4495);
+var NATIVE_SYMBOL = (symbol_constructor_detection_namespaceFn());
module.exports = NATIVE_SYMBOL &&
!Symbol.sham &&
typeof Symbol.iterator == 'symbol';
+});
-/***/ },
-
-/***/ 8686
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/v8-prototype-define-bug.js
+var v8_prototype_define_bug_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var DESCRIPTORS = __webpack_require__(3724);
-var fails = __webpack_require__(9039);
+var DESCRIPTORS = (descriptors_namespaceFn());
+var fails = (fails_namespaceFn());
// V8 ~ Chrome 36-
// https://bugs.chromium.org/p/v8/issues/detail?id=3334
@@ -3466,42 +3342,29 @@ module.exports = DESCRIPTORS && fails(function () {
}).prototype !== 42;
});
+});
-/***/ },
-
-/***/ 2812
-(module) {
-
-
-var $TypeError = TypeError;
-
-module.exports = function (passed, required) {
- if (passed < required) throw new $TypeError('Not enough arguments');
- return passed;
+// EXTERNAL MODULE: ./node_modules/core-js/internals/validate-arguments-length.js
+var validate_arguments_length_namespaceFn = () => {
+ return __webpack_require__(812);
};
+// MODULE: ./node_modules/core-js/internals/weak-map-basic-detection.js
+var weak_map_basic_detection_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-/***/ },
-
-/***/ 8622
-(module, __unused_webpack_exports, __webpack_require__) {
-
-
-var globalThis = __webpack_require__(4576);
-var isCallable = __webpack_require__(4901);
+var globalThis = (global_this_namespaceFn());
+var isCallable = (is_callable_namespaceFn());
var WeakMap = globalThis.WeakMap;
module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));
+});
-/***/ },
-
-/***/ 4995
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/weak-map-helpers.js
+var weak_map_helpers_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var uncurryThis = __webpack_require__(9504);
+var uncurryThis = (function_uncurry_this_namespaceFn());
// eslint-disable-next-line es/no-weak-map -- safe
var WeakMapPrototype = WeakMap.prototype;
@@ -3515,19 +3378,17 @@ module.exports = {
remove: uncurryThis(WeakMapPrototype['delete'])
};
+});
-/***/ },
-
-/***/ 8227
-(module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/internals/well-known-symbol.js
+var well_known_symbol_namespaceFn = /*#__PURE__*/__webpack_require__.cw((module) => {
-var globalThis = __webpack_require__(4576);
-var shared = __webpack_require__(5745);
-var hasOwn = __webpack_require__(9297);
-var uid = __webpack_require__(3392);
-var NATIVE_SYMBOL = __webpack_require__(4495);
-var USE_SYMBOL_AS_UID = __webpack_require__(7040);
+var globalThis = (global_this_namespaceFn());
+var shared = (shared_namespaceFn());
+var hasOwn = (has_own_property_namespaceFn());
+var uid = (uid_namespaceFn());
+var NATIVE_SYMBOL = (symbol_constructor_detection_namespaceFn());
+var USE_SYMBOL_AS_UID = (use_symbol_as_uid_namespaceFn());
var Symbol = globalThis.Symbol;
var WellKnownSymbolsStore = shared('wks');
@@ -3541,28 +3402,20 @@ module.exports = function (name) {
} return WellKnownSymbolsStore[name];
};
+});
-/***/ },
-
-/***/ 7452
-(module) {
-
-
-// a string of all valid unicode whitespaces
-module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
- '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
-
-
-/***/ },
-
-/***/ 4423
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
+// EXTERNAL MODULE: ./node_modules/core-js/internals/whitespaces.js
+var whitespaces_namespaceFn = () => {
+ return __webpack_require__(452);
+};
+// MODULE: ./node_modules/core-js/modules/es.array.includes.js
+var es_array_includes_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var $ = __webpack_require__(6518);
-var $includes = (__webpack_require__(9617).includes);
-var fails = __webpack_require__(9039);
-var addToUnscopables = __webpack_require__(6469);
+var $ = (export_namespaceFn());
+var $includes = (array_includes_namespaceFn().includes);
+var fails = (fails_namespaceFn());
+var addToUnscopables = (add_to_unscopables_namespaceFn());
// FF99+ bug
var BROKEN_ON_SPARSE = fails(function () {
@@ -3587,19 +3440,17 @@ $({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE || BROKEN_ON_SPARSE_W
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
addToUnscopables('includes');
+});
-/***/ },
-
-/***/ 4114
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/modules/es.array.push.js
+var es_array_push_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var $ = __webpack_require__(6518);
-var toObject = __webpack_require__(8981);
-var lengthOfArrayLike = __webpack_require__(6198);
-var setArrayLength = __webpack_require__(4527);
-var doesNotExceedSafeInteger = __webpack_require__(6837);
-var fails = __webpack_require__(9039);
+var $ = (export_namespaceFn());
+var toObject = (to_object_namespaceFn());
+var lengthOfArrayLike = (length_of_array_like_namespaceFn());
+var setArrayLength = (array_set_length_namespaceFn());
+var doesNotExceedSafeInteger = (does_not_exceed_safe_integer_namespaceFn());
+var fails = (fails_namespaceFn());
var INCORRECT_TO_LENGTH = fails(function () {
return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;
@@ -3636,27 +3487,25 @@ $({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {
}
});
+});
-/***/ },
-
-/***/ 8111
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
-
-var $ = __webpack_require__(6518);
-var globalThis = __webpack_require__(4576);
-var anInstance = __webpack_require__(679);
-var anObject = __webpack_require__(8551);
-var isCallable = __webpack_require__(4901);
-var getPrototypeOf = __webpack_require__(2787);
-var defineBuiltInAccessor = __webpack_require__(2106);
-var createProperty = __webpack_require__(4659);
-var fails = __webpack_require__(9039);
-var hasOwn = __webpack_require__(9297);
-var wellKnownSymbol = __webpack_require__(8227);
-var IteratorPrototype = (__webpack_require__(7657).IteratorPrototype);
-var DESCRIPTORS = __webpack_require__(3724);
-var IS_PURE = __webpack_require__(6395);
+// MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
+var es_iterator_constructor_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
+
+var $ = (export_namespaceFn());
+var globalThis = (global_this_namespaceFn());
+var anInstance = (an_instance_namespaceFn());
+var anObject = (an_object_namespaceFn());
+var isCallable = (is_callable_namespaceFn());
+var getPrototypeOf = (object_get_prototype_of_namespaceFn());
+var defineBuiltInAccessor = (define_built_in_accessor_namespaceFn());
+var createProperty = (create_property_namespaceFn());
+var fails = (fails_namespaceFn());
+var hasOwn = (has_own_property_namespaceFn());
+var wellKnownSymbol = (well_known_symbol_namespaceFn());
+var IteratorPrototype = (iterators_core_namespaceFn().IteratorPrototype);
+var DESCRIPTORS = (descriptors_namespaceFn());
+var IS_PURE = (is_pure_namespaceFn());
var CONSTRUCTOR = 'constructor';
var ITERATOR = 'Iterator';
@@ -3708,21 +3557,19 @@ $({ global: true, constructor: true, forced: FORCED }, {
Iterator: IteratorConstructor
});
+});
-/***/ },
-
-/***/ 1148
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/modules/es.iterator.every.js
+var es_iterator_every_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var $ = __webpack_require__(6518);
-var call = __webpack_require__(9565);
-var iterate = __webpack_require__(2652);
-var aCallable = __webpack_require__(9306);
-var anObject = __webpack_require__(8551);
-var getIteratorDirect = __webpack_require__(1767);
-var iteratorClose = __webpack_require__(9539);
-var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(4549);
+var $ = (export_namespaceFn());
+var call = (function_call_namespaceFn());
+var iterate = (iterate_namespaceFn());
+var aCallable = (a_callable_namespaceFn());
+var anObject = (an_object_namespaceFn());
+var getIteratorDirect = (get_iterator_direct_namespaceFn());
+var iteratorClose = (iterator_close_namespaceFn());
+var iteratorHelperWithoutClosingOnEarlyError = (iterator_helper_without_closing_on_early_error_namespaceFn());
var everyWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('every', TypeError);
@@ -3747,24 +3594,22 @@ $({ target: 'Iterator', proto: true, real: true, forced: everyWithoutClosingOnEa
}
});
+});
-/***/ },
-
-/***/ 2489
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
-
-var $ = __webpack_require__(6518);
-var call = __webpack_require__(9565);
-var aCallable = __webpack_require__(9306);
-var anObject = __webpack_require__(8551);
-var getIteratorDirect = __webpack_require__(1767);
-var createIteratorProxy = __webpack_require__(9462);
-var callWithSafeIterationClosing = __webpack_require__(6319);
-var IS_PURE = __webpack_require__(6395);
-var iteratorClose = __webpack_require__(9539);
-var iteratorHelperThrowsOnInvalidIterator = __webpack_require__(684);
-var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(4549);
+// MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
+var es_iterator_filter_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
+
+var $ = (export_namespaceFn());
+var call = (function_call_namespaceFn());
+var aCallable = (a_callable_namespaceFn());
+var anObject = (an_object_namespaceFn());
+var getIteratorDirect = (get_iterator_direct_namespaceFn());
+var createIteratorProxy = (iterator_create_proxy_namespaceFn());
+var callWithSafeIterationClosing = (call_with_safe_iteration_closing_namespaceFn());
+var IS_PURE = (is_pure_namespaceFn());
+var iteratorClose = (iterator_close_namespaceFn());
+var iteratorHelperThrowsOnInvalidIterator = (iterator_helper_throws_on_invalid_iterator_namespaceFn());
+var iteratorHelperWithoutClosingOnEarlyError = (iterator_helper_without_closing_on_early_error_namespaceFn());
var FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator('filter', function () { /* empty */ });
var filterWithoutClosingOnEarlyError = !IS_PURE && !FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR
@@ -3805,21 +3650,19 @@ $({ target: 'Iterator', proto: true, real: true, forced: FORCED }, {
}
});
+});
-/***/ },
-
-/***/ 116
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/modules/es.iterator.find.js
+var es_iterator_find_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var $ = __webpack_require__(6518);
-var call = __webpack_require__(9565);
-var iterate = __webpack_require__(2652);
-var aCallable = __webpack_require__(9306);
-var anObject = __webpack_require__(8551);
-var getIteratorDirect = __webpack_require__(1767);
-var iteratorClose = __webpack_require__(9539);
-var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(4549);
+var $ = (export_namespaceFn());
+var call = (function_call_namespaceFn());
+var iterate = (iterate_namespaceFn());
+var aCallable = (a_callable_namespaceFn());
+var anObject = (an_object_namespaceFn());
+var getIteratorDirect = (get_iterator_direct_namespaceFn());
+var iteratorClose = (iterator_close_namespaceFn());
+var iteratorHelperWithoutClosingOnEarlyError = (iterator_helper_without_closing_on_early_error_namespaceFn());
var findWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('find', TypeError);
@@ -3844,21 +3687,19 @@ $({ target: 'Iterator', proto: true, real: true, forced: findWithoutClosingOnEar
}
});
+});
-/***/ },
-
-/***/ 7588
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
+var es_iterator_for_each_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var $ = __webpack_require__(6518);
-var call = __webpack_require__(9565);
-var iterate = __webpack_require__(2652);
-var aCallable = __webpack_require__(9306);
-var anObject = __webpack_require__(8551);
-var getIteratorDirect = __webpack_require__(1767);
-var iteratorClose = __webpack_require__(9539);
-var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(4549);
+var $ = (export_namespaceFn());
+var call = (function_call_namespaceFn());
+var iterate = (iterate_namespaceFn());
+var aCallable = (a_callable_namespaceFn());
+var anObject = (an_object_namespaceFn());
+var getIteratorDirect = (get_iterator_direct_namespaceFn());
+var iteratorClose = (iterator_close_namespaceFn());
+var iteratorHelperWithoutClosingOnEarlyError = (iterator_helper_without_closing_on_early_error_namespaceFn());
var forEachWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('forEach', TypeError);
@@ -3883,24 +3724,22 @@ $({ target: 'Iterator', proto: true, real: true, forced: forEachWithoutClosingOn
}
});
+});
-/***/ },
-
-/***/ 1701
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
-
-var $ = __webpack_require__(6518);
-var call = __webpack_require__(9565);
-var aCallable = __webpack_require__(9306);
-var anObject = __webpack_require__(8551);
-var getIteratorDirect = __webpack_require__(1767);
-var createIteratorProxy = __webpack_require__(9462);
-var callWithSafeIterationClosing = __webpack_require__(6319);
-var iteratorClose = __webpack_require__(9539);
-var iteratorHelperThrowsOnInvalidIterator = __webpack_require__(684);
-var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(4549);
-var IS_PURE = __webpack_require__(6395);
+// MODULE: ./node_modules/core-js/modules/es.iterator.map.js
+var es_iterator_map_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
+
+var $ = (export_namespaceFn());
+var call = (function_call_namespaceFn());
+var aCallable = (a_callable_namespaceFn());
+var anObject = (an_object_namespaceFn());
+var getIteratorDirect = (get_iterator_direct_namespaceFn());
+var createIteratorProxy = (iterator_create_proxy_namespaceFn());
+var callWithSafeIterationClosing = (call_with_safe_iteration_closing_namespaceFn());
+var iteratorClose = (iterator_close_namespaceFn());
+var iteratorHelperThrowsOnInvalidIterator = (iterator_helper_throws_on_invalid_iterator_namespaceFn());
+var iteratorHelperWithoutClosingOnEarlyError = (iterator_helper_without_closing_on_early_error_namespaceFn());
+var IS_PURE = (is_pure_namespaceFn());
var MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator('map', function () { /* empty */ });
var mapWithoutClosingOnEarlyError = !IS_PURE && !MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR
@@ -3934,21 +3773,19 @@ $({ target: 'Iterator', proto: true, real: true, forced: FORCED }, {
}
});
+});
-/***/ },
-
-/***/ 3579
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/modules/es.iterator.some.js
+var es_iterator_some_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var $ = __webpack_require__(6518);
-var call = __webpack_require__(9565);
-var iterate = __webpack_require__(2652);
-var aCallable = __webpack_require__(9306);
-var anObject = __webpack_require__(8551);
-var getIteratorDirect = __webpack_require__(1767);
-var iteratorClose = __webpack_require__(9539);
-var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(4549);
+var $ = (export_namespaceFn());
+var call = (function_call_namespaceFn());
+var iterate = (iterate_namespaceFn());
+var aCallable = (a_callable_namespaceFn());
+var anObject = (an_object_namespaceFn());
+var getIteratorDirect = (get_iterator_direct_namespaceFn());
+var iteratorClose = (iterator_close_namespaceFn());
+var iteratorHelperWithoutClosingOnEarlyError = (iterator_helper_without_closing_on_early_error_namespaceFn());
var someWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('some', TypeError);
@@ -3973,29 +3810,27 @@ $({ target: 'Iterator', proto: true, real: true, forced: someWithoutClosingOnEar
}
});
+});
-/***/ },
-
-/***/ 9112
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
-
-var $ = __webpack_require__(6518);
-var DESCRIPTORS = __webpack_require__(3724);
-var globalThis = __webpack_require__(4576);
-var getBuiltIn = __webpack_require__(7751);
-var uncurryThis = __webpack_require__(9504);
-var call = __webpack_require__(9565);
-var isCallable = __webpack_require__(4901);
-var isObject = __webpack_require__(34);
-var isArray = __webpack_require__(4376);
-var hasOwn = __webpack_require__(9297);
-var toString = __webpack_require__(655);
-var lengthOfArrayLike = __webpack_require__(6198);
-var createProperty = __webpack_require__(4659);
-var fails = __webpack_require__(9039);
-var parseJSONString = __webpack_require__(8235);
-var NATIVE_SYMBOL = __webpack_require__(4495);
+// MODULE: ./node_modules/core-js/modules/es.json.parse.js
+var es_json_parse_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
+
+var $ = (export_namespaceFn());
+var DESCRIPTORS = (descriptors_namespaceFn());
+var globalThis = (global_this_namespaceFn());
+var getBuiltIn = (get_built_in_namespaceFn());
+var uncurryThis = (function_uncurry_this_namespaceFn());
+var call = (function_call_namespaceFn());
+var isCallable = (is_callable_namespaceFn());
+var isObject = (is_object_namespaceFn());
+var isArray = (is_array_namespaceFn());
+var hasOwn = (has_own_property_namespaceFn());
+var toString = (to_string_namespaceFn());
+var lengthOfArrayLike = (length_of_array_like_namespaceFn());
+var createProperty = (create_property_namespaceFn());
+var fails = (fails_namespaceFn());
+var parseJSONString = (parse_json_string_namespaceFn());
+var NATIVE_SYMBOL = (symbol_constructor_detection_namespaceFn());
var JSON = globalThis.JSON;
var Number = globalThis.Number;
@@ -4019,7 +3854,7 @@ var OBJECT = 1;
var $parse = function (source, reviver) {
source = toString(source);
- var context = new Context(source, 0, '');
+ var context = new Context(source, 0);
var root = context.parse();
var value = root.value;
var endIndex = context.skip(IS_WHITESPACE, root.end);
@@ -4243,47 +4078,61 @@ $({ target: 'JSON', stat: true, forced: NO_SOURCE_SUPPORT }, {
}
});
+});
-/***/ },
-
-/***/ 3110
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
-
-var $ = __webpack_require__(6518);
-var getBuiltIn = __webpack_require__(7751);
-var apply = __webpack_require__(8745);
-var call = __webpack_require__(9565);
-var uncurryThis = __webpack_require__(9504);
-var fails = __webpack_require__(9039);
-var isArray = __webpack_require__(4376);
-var isCallable = __webpack_require__(4901);
-var isRawJSON = __webpack_require__(5810);
-var isSymbol = __webpack_require__(757);
-var classof = __webpack_require__(2195);
-var toString = __webpack_require__(655);
-var arraySlice = __webpack_require__(7680);
-var parseJSONString = __webpack_require__(8235);
-var uid = __webpack_require__(3392);
-var NATIVE_SYMBOL = __webpack_require__(4495);
-var NATIVE_RAW_JSON = __webpack_require__(7819);
+// MODULE: ./node_modules/core-js/modules/es.json.stringify.js
+var es_json_stringify_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
+
+var $ = (export_namespaceFn());
+var getBuiltIn = (get_built_in_namespaceFn());
+var call = (function_call_namespaceFn());
+var uncurryThis = (function_uncurry_this_namespaceFn());
+var fails = (fails_namespaceFn());
+var isArray = (is_array_namespaceFn());
+var isCallable = (is_callable_namespaceFn());
+var isObject = (is_object_namespaceFn());
+var create = (object_create_namespaceFn());
+var isRawJSON = (is_raw_json_namespaceFn());
+var isSymbol = (is_symbol_namespaceFn());
+var classof = (classof_raw_namespaceFn());
+var thisNumberValue = (this_number_value_namespaceFn());
+var includes = (array_includes_namespaceFn().includes);
+var hasOwn = (has_own_property_namespaceFn());
+var toString = (to_string_namespaceFn());
+var parseJSONString = (parse_json_string_namespaceFn());
+var uid = (uid_namespaceFn());
+var NATIVE_SYMBOL = (symbol_constructor_detection_namespaceFn());
+var NATIVE_RAW_JSON = (native_raw_json_namespaceFn());
var $String = String;
+var $TypeError = TypeError;
var $stringify = getBuiltIn('JSON', 'stringify');
+var $BigInt = getBuiltIn('BigInt');
+var stringValueOf = uncurryThis(''.valueOf);
+var booleanValueOf = uncurryThis(true.valueOf);
+var bigIntValueOf = $BigInt && uncurryThis($BigInt.prototype.valueOf);
var exec = uncurryThis(/./.exec);
var charAt = uncurryThis(''.charAt);
var charCodeAt = uncurryThis(''.charCodeAt);
var replace = uncurryThis(''.replace);
var slice = uncurryThis(''.slice);
var push = uncurryThis([].push);
+var pop = uncurryThis([].pop);
var numberToString = uncurryThis(1.1.toString);
var surrogates = /[\uD800-\uDFFF]/g;
var leadingSurrogates = /^[\uD800-\uDBFF]$/;
var trailingSurrogates = /^[\uDC00-\uDFFF]$/;
+var digits = /^\d+$/;
-var MARK = uid();
-var MARK_LENGTH = MARK.length;
+// a placeholder of a raw JSON value
+var RAW_MARK = uid();
+// a prefix of keys of a reordered object, see `createOrderedObject`
+var KEY_MARK = uid();
+// the last key of a reordered object, marks the end of its serialization
+var END_MARK = uid();
+var RAW_MARK_LENGTH = RAW_MARK.length;
+var KEY_MARK_LENGTH = KEY_MARK.length;
var WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {
var symbol = getBuiltIn('Symbol')('stringify detection');
@@ -4301,16 +4150,13 @@ var ILL_FORMED_UNICODE = fails(function () {
|| $stringify('\uDEAD') !== '"\\udead"';
});
-var stringifyWithProperSymbolsConversion = WRONG_SYMBOLS_CONVERSION ? function (it, replacer) {
- var args = arraySlice(arguments);
- var $replacer = getReplacerFunction(replacer);
- if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined
- args[1] = function (key, value) {
- // some old implementations (like WebKit) could pass numbers as keys
- if (isCallable($replacer)) value = call($replacer, this, $String(key), value);
- if (!isSymbol(value)) return value;
- };
- return apply($stringify, null, args);
+var isRawJSONValue = NATIVE_RAW_JSON ? getBuiltIn('JSON', 'isRawJSON') : isRawJSON;
+
+var stringifyWithProperSymbolsConversion = WRONG_SYMBOLS_CONVERSION ? function (it, replacer, space) {
+ return $stringify(it, function (key, value) {
+ var replaced = call(replacer, this, key, value);
+ if (!isSymbol(replaced)) return replaced;
+ }, space);
} : $stringify;
var fixIllFormedJSON = function (match, offset, string) {
@@ -4324,47 +4170,150 @@ var fixIllFormedJSON = function (match, offset, string) {
} return match;
};
-var getReplacerFunction = function (replacer) {
- if (isCallable(replacer)) return replacer;
+// `PropertyList` of `JSON.stringify`
+// https://tc39.es/ecma262/#sec-json.stringify
+var getPropertyList = function (replacer) {
if (!isArray(replacer)) return;
var rawLength = replacer.length;
- var keys = [];
+ var propertyList = [];
+ // a null prototype object is used as a set of already added keys to keep the deduplication linear
+ var addedKeys = create(null);
for (var i = 0; i < rawLength; i++) {
var element = replacer[i];
- if (typeof element == 'string') push(keys, element);
- else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));
+ var key;
+ if (typeof element == 'string') key = element;
+ else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') key = toString(element);
+ else continue;
+ if (!hasOwn(addedKeys, key)) {
+ addedKeys[key] = true;
+ push(propertyList, key);
+ }
}
- var keysLength = keys.length;
- var root = true;
- return function (key, value) {
- if (root) {
- root = false;
- return value;
+ return propertyList;
+};
+
+// values with such an internal slot are unwrapped by `SerializeJSONProperty` instead of being serialized as objects
+var hasInternalSlot = function (valueOf, it) {
+ try {
+ valueOf(it);
+ return true;
+ } catch (error) {
+ return false;
+ }
+};
+
+// the slot check is expensive, so it's performed only for the kind reported by the value itself -
+// a value lying about its kind via `Symbol.toStringTag` is serialized as an ordinary object
+var isBoxedPrimitive = function (it) {
+ var kind = classof(it);
+ return (kind === 'Number' && hasInternalSlot(thisNumberValue, it))
+ || (kind === 'String' && hasInternalSlot(stringValueOf, it))
+ || (kind === 'Boolean' && hasInternalSlot(booleanValueOf, it))
+ || (!!bigIntValueOf && kind === 'BigInt' && hasInternalSlot(bigIntValueOf, it));
+};
+
+// only objects serialized by `SerializeJSONObject` are affected by the property list
+var isSerializedAsObject = function (it) {
+ if (!isObject(it) || isCallable(it) || isArray(it)) return false;
+ try {
+ return !isBoxedPrimitive(it);
+ // `classof` reads `Symbol.toStringTag`, so a proxy could throw - it has no internal slots anyway
+ } catch (error) {
+ return true;
+ }
+};
+
+// the engine unwraps it in the same order as it would read the original property,
+// so the property is read lazily and `toJSON` is called once and with the original key
+var createElementHolder = function (holder, key) {
+ return {
+ toJSON: function () {
+ var element = holder[key];
+ if (isObject(element) || typeof element == 'bigint') {
+ var elementToJSON = element.toJSON;
+ if (isCallable(elementToJSON)) element = call(elementToJSON, element, key);
+ } return element;
}
- if (isArray(this)) return value;
- for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;
};
};
+// own keys of objects are sorted - integer-like keys are moved to the beginning,
+// so such keys should be marked and restored in the serialized string
+var getKeyPrefix = function (propertyList) {
+ for (var i = 0, length = propertyList.length; i < length; i++) {
+ if (exec(digits, propertyList[i])) return KEY_MARK;
+ } return '';
+};
+
+// `SerializeJSONObject` iterates the property list, so the value is replaced with an object with keys in this order
+var createOrderedObject = function (value, propertyList, keyPrefix) {
+ // keys are not marked if the property list has no integer-like keys, so `Object.prototype`
+ // with a setter, a non-writable property or `__proto__` should not intercept the assignment
+ var ordered = create(null);
+ for (var i = 0, length = propertyList.length; i < length; i++) {
+ var key = propertyList[i];
+ ordered[keyPrefix + key] = createElementHolder(value, key);
+ }
+ ordered[END_MARK] = null;
+ return ordered;
+};
+
// `JSON.stringify` method
// https://tc39.es/ecma262/#sec-json.stringify
// https://github.com/tc39/proposal-json-parse-with-source
if ($stringify) $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE || !NATIVE_RAW_JSON }, {
stringify: function stringify(text, replacer, space) {
- var replacerFunction = getReplacerFunction(replacer);
+ var replacerFunction = isCallable(replacer) ? replacer : undefined;
+ var propertyList = replacerFunction ? undefined : getPropertyList(replacer);
+ var keyPrefix = propertyList && getKeyPrefix(propertyList);
var rawStrings = [];
+ var openObjects = [];
+ var parentOrdered = [];
+ var currentOrdered;
+ var marked = false;
+ var root = true;
var json = stringifyWithProperSymbolsConversion(text, function (key, value) {
// some old implementations (like WebKit) could pass numbers as keys
- var v = isCallable(replacerFunction) ? call(replacerFunction, this, $String(key), value) : value;
- return !NATIVE_RAW_JSON && isRawJSON(v) ? MARK + (push(rawStrings, v.rawJSON) - 1) : v;
+ key = $String(key);
+
+ if (propertyList) {
+ if (key === END_MARK) {
+ pop(openObjects);
+ currentOrdered = pop(parentOrdered);
+ return;
+ }
+ if (root) root = false;
+ // the innermost reordered object already contains only keys of the property list and arrays are not
+ // affected by it, the rest of objects (like objects with a fake `Symbol.toStringTag`) are filtered here
+ else if (this !== currentOrdered && !isArray(this) && !includes(propertyList, key)) return;
+ } else if (replacerFunction) value = call(replacerFunction, this, key, value);
+
+ if (isRawJSONValue(value)) {
+ if (NATIVE_RAW_JSON) return value;
+ marked = true;
+ return RAW_MARK + (push(rawStrings, value.rawJSON) - 1);
+ }
+
+ if (propertyList && isSerializedAsObject(value)) {
+ // reordered objects are new each time, so cycles should be detected before the engine does it
+ if (includes(openObjects, value)) throw new $TypeError('Converting circular structure to JSON');
+ var ordered = createOrderedObject(value, propertyList, keyPrefix);
+ push(openObjects, value);
+ push(parentOrdered, currentOrdered);
+ currentOrdered = ordered;
+ if (keyPrefix) marked = true;
+ return ordered;
+ }
+
+ return value;
}, space);
if (typeof json != 'string') return json;
if (ILL_FORMED_UNICODE) json = replace(json, surrogates, fixIllFormedJSON);
- if (NATIVE_RAW_JSON) return json;
+ if (!marked) return json;
var result = '';
var length = json.length;
@@ -4374,9 +4323,9 @@ if ($stringify) $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_
if (chr === '"') {
var end = parseJSONString(json, ++i).end - 1;
var string = slice(json, i, end);
- result += slice(string, 0, MARK_LENGTH) === MARK
- ? rawStrings[slice(string, MARK_LENGTH)]
- : '"' + string + '"';
+ if (slice(string, 0, RAW_MARK_LENGTH) === RAW_MARK) result += rawStrings[slice(string, RAW_MARK_LENGTH)];
+ else if (slice(string, 0, KEY_MARK_LENGTH) === KEY_MARK) result += '"' + slice(string, KEY_MARK_LENGTH) + '"';
+ else result += '"' + string + '"';
i = end;
} else result += chr;
}
@@ -4385,17 +4334,15 @@ if ($stringify) $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_
}
});
+});
-/***/ },
-
-/***/ 2731
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/modules/es.map.get-or-insert-computed.js
+var es_map_get_or_insert_computed_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var $ = __webpack_require__(6518);
-var aCallable = __webpack_require__(9306);
-var MapHelpers = __webpack_require__(2248);
-var IS_PURE = __webpack_require__(6395);
+var $ = (export_namespaceFn());
+var aCallable = (a_callable_namespaceFn());
+var MapHelpers = (map_helpers_namespaceFn());
+var IS_PURE = (is_pure_namespaceFn());
var get = MapHelpers.get;
var has = MapHelpers.has;
@@ -4416,16 +4363,14 @@ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
}
});
+});
-/***/ },
-
-/***/ 5367
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/modules/es.map.get-or-insert.js
+var es_map_get_or_insert_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var $ = __webpack_require__(6518);
-var MapHelpers = __webpack_require__(2248);
-var IS_PURE = __webpack_require__(6395);
+var $ = (export_namespaceFn());
+var MapHelpers = (map_helpers_namespaceFn());
+var IS_PURE = (is_pure_namespaceFn());
var get = MapHelpers.get;
var has = MapHelpers.has;
@@ -4441,42 +4386,17 @@ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
}
});
-
-/***/ },
-
-/***/ 4628
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
-
-var $ = __webpack_require__(6518);
-var newPromiseCapabilityModule = __webpack_require__(6043);
-
-// `Promise.withResolvers` method
-// https://tc39.es/ecma262/#sec-promise.withResolvers
-$({ target: 'Promise', stat: true }, {
- withResolvers: function withResolvers() {
- var promiseCapability = newPromiseCapabilityModule.f(this);
- return {
- promise: promiseCapability.promise,
- resolve: promiseCapability.resolve,
- reject: promiseCapability.reject
- };
- }
});
+// MODULE: ./node_modules/core-js/modules/es.regexp.escape.js
+var es_regexp_escape_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-/***/ },
-
-/***/ 6069
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
-
-var $ = __webpack_require__(6518);
-var uncurryThis = __webpack_require__(9504);
-var aString = __webpack_require__(3463);
-var hasOwn = __webpack_require__(9297);
-var padStart = (__webpack_require__(533).start);
-var WHITESPACES = __webpack_require__(7452);
+var $ = (export_namespaceFn());
+var uncurryThis = (function_uncurry_this_namespaceFn());
+var aString = (a_string_namespaceFn());
+var hasOwn = (has_own_property_namespaceFn());
+var padStart = (string_pad_namespaceFn().start);
+var WHITESPACES = (whitespaces_namespaceFn());
var $Array = Array;
var $escape = RegExp.escape;
@@ -4503,7 +4423,8 @@ var escapeChar = function (chr) {
};
// Avoiding the use of polyfills of the previous iteration of this proposal
-var FORCED = !$escape || $escape('ab') !== '\\x61b';
+// and implementations with the WebKit bug https://bugs.webkit.org/show_bug.cgi?id=323642
+var FORCED = !$escape || $escape('ab\uD840\uDC2A') !== '\\x61b\uD840\uDC2A';
// `RegExp.escape` method
// https://tc39.es/ecma262/#sec-regexp.escape
@@ -4541,17 +4462,15 @@ $({ target: 'RegExp', stat: true, forced: FORCED }, {
}
});
+});
-/***/ },
-
-/***/ 7642
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/modules/es.set.difference.v2.js
+var es_set_difference_v2_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var $ = __webpack_require__(6518);
-var difference = __webpack_require__(3440);
-var fails = __webpack_require__(9039);
-var setMethodAcceptSetLike = __webpack_require__(4916);
+var $ = (export_namespaceFn());
+var difference = (set_difference_namespaceFn());
+var fails = (fails_namespaceFn());
+var setMethodAcceptSetLike = (set_method_accept_set_like_namespaceFn());
var SET_LIKE_INCORRECT_BEHAVIOR = !setMethodAcceptSetLike('difference', function (result) {
return result.size === 0;
@@ -4585,17 +4504,15 @@ $({ target: 'Set', proto: true, real: true, forced: FORCED }, {
difference: difference
});
+});
-/***/ },
-
-/***/ 8004
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/modules/es.set.intersection.v2.js
+var es_set_intersection_v2_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var $ = __webpack_require__(6518);
-var fails = __webpack_require__(9039);
-var intersection = __webpack_require__(8750);
-var setMethodAcceptSetLike = __webpack_require__(4916);
+var $ = (export_namespaceFn());
+var fails = (fails_namespaceFn());
+var intersection = (set_intersection_namespaceFn());
+var setMethodAcceptSetLike = (set_method_accept_set_like_namespaceFn());
var INCORRECT = !setMethodAcceptSetLike('intersection', function (result) {
return result.size === 2 && result.has(1) && result.has(2);
@@ -4610,16 +4527,14 @@ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
intersection: intersection
});
+});
-/***/ },
-
-/***/ 3853
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/modules/es.set.is-disjoint-from.v2.js
+var es_set_is_disjoint_from_v2_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var $ = __webpack_require__(6518);
-var isDisjointFrom = __webpack_require__(4449);
-var setMethodAcceptSetLike = __webpack_require__(4916);
+var $ = (export_namespaceFn());
+var isDisjointFrom = (set_is_disjoint_from_namespaceFn());
+var setMethodAcceptSetLike = (set_method_accept_set_like_namespaceFn());
var INCORRECT = !setMethodAcceptSetLike('isDisjointFrom', function (result) {
return !result;
@@ -4631,16 +4546,14 @@ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
isDisjointFrom: isDisjointFrom
});
+});
-/***/ },
-
-/***/ 5876
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/modules/es.set.is-subset-of.v2.js
+var es_set_is_subset_of_v2_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var $ = __webpack_require__(6518);
-var isSubsetOf = __webpack_require__(3838);
-var setMethodAcceptSetLike = __webpack_require__(4916);
+var $ = (export_namespaceFn());
+var isSubsetOf = (set_is_subset_of_namespaceFn());
+var setMethodAcceptSetLike = (set_method_accept_set_like_namespaceFn());
var INCORRECT = !setMethodAcceptSetLike('isSubsetOf', function (result) {
return result;
@@ -4652,16 +4565,14 @@ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
isSubsetOf: isSubsetOf
});
+});
-/***/ },
-
-/***/ 2475
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/modules/es.set.is-superset-of.v2.js
+var es_set_is_superset_of_v2_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var $ = __webpack_require__(6518);
-var isSupersetOf = __webpack_require__(8527);
-var setMethodAcceptSetLike = __webpack_require__(4916);
+var $ = (export_namespaceFn());
+var isSupersetOf = (set_is_superset_of_namespaceFn());
+var setMethodAcceptSetLike = (set_method_accept_set_like_namespaceFn());
var INCORRECT = !setMethodAcceptSetLike('isSupersetOf', function (result) {
return !result;
@@ -4673,17 +4584,15 @@ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
isSupersetOf: isSupersetOf
});
+});
-/***/ },
-
-/***/ 5024
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/modules/es.set.symmetric-difference.v2.js
+var es_set_symmetric_difference_v2_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var $ = __webpack_require__(6518);
-var symmetricDifference = __webpack_require__(3650);
-var setMethodGetKeysBeforeCloning = __webpack_require__(9835);
-var setMethodAcceptSetLike = __webpack_require__(4916);
+var $ = (export_namespaceFn());
+var symmetricDifference = (set_symmetric_difference_namespaceFn());
+var setMethodGetKeysBeforeCloning = (set_method_get_keys_before_cloning_detection_namespaceFn());
+var setMethodAcceptSetLike = (set_method_accept_set_like_namespaceFn());
var FORCED = !setMethodAcceptSetLike('symmetricDifference') || !setMethodGetKeysBeforeCloning('symmetricDifference');
@@ -4693,17 +4602,15 @@ $({ target: 'Set', proto: true, real: true, forced: FORCED }, {
symmetricDifference: symmetricDifference
});
+});
-/***/ },
-
-/***/ 1698
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/modules/es.set.union.v2.js
+var es_set_union_v2_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var $ = __webpack_require__(6518);
-var union = __webpack_require__(4204);
-var setMethodGetKeysBeforeCloning = __webpack_require__(9835);
-var setMethodAcceptSetLike = __webpack_require__(4916);
+var $ = (export_namespaceFn());
+var union = (set_union_namespaceFn());
+var setMethodGetKeysBeforeCloning = (set_method_get_keys_before_cloning_detection_namespaceFn());
+var setMethodAcceptSetLike = (set_method_accept_set_like_namespaceFn());
var FORCED = !setMethodAcceptSetLike('union') || !setMethodGetKeysBeforeCloning('union');
@@ -4713,18 +4620,16 @@ $({ target: 'Set', proto: true, real: true, forced: FORCED }, {
union: union
});
+});
-/***/ },
-
-/***/ 9577
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/modules/es.typed-array.with.js
+var es_typed_array_with_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var ArrayBufferViewCore = __webpack_require__(4644);
-var isBigIntArray = __webpack_require__(1108);
-var lengthOfArrayLike = __webpack_require__(6198);
-var toIntegerOrInfinity = __webpack_require__(1291);
-var toBigInt = __webpack_require__(5854);
+var ArrayBufferViewCore = (array_buffer_view_core_namespaceFn());
+var isBigIntArray = (is_big_int_array_namespaceFn());
+var lengthOfArrayLike = (length_of_array_like_namespaceFn());
+var toIntegerOrInfinity = (to_integer_or_infinity_namespaceFn());
+var toBigInt = (to_big_int_namespaceFn());
var aTypedArray = ArrayBufferViewCore.aTypedArray;
var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;
@@ -4768,19 +4673,17 @@ exportTypedArrayMethod('with', { 'with': function (index, value) {
return A;
} }['with'], !PROPER_ORDER || THROW_ON_NEGATIVE_FRACTIONAL_INDEX);
+});
-/***/ },
-
-/***/ 9452
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/modules/es.weak-map.get-or-insert-computed.js
+var es_weak_map_get_or_insert_computed_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var $ = __webpack_require__(6518);
-var aCallable = __webpack_require__(9306);
-var aWeakMap = __webpack_require__(6557);
-var aWeakKey = __webpack_require__(4328);
-var WeakMapHelpers = __webpack_require__(4995);
-var IS_PURE = __webpack_require__(6395);
+var $ = (export_namespaceFn());
+var aCallable = (a_callable_namespaceFn());
+var aWeakMap = (a_weak_map_namespaceFn());
+var aWeakKey = (a_weak_key_namespaceFn());
+var WeakMapHelpers = (weak_map_helpers_namespaceFn());
+var IS_PURE = (is_pure_namespaceFn());
var get = WeakMapHelpers.get;
var has = WeakMapHelpers.has;
@@ -4811,16 +4714,14 @@ $({ target: 'WeakMap', proto: true, real: true, forced: FORCED }, {
}
});
+});
-/***/ },
-
-/***/ 8454
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/modules/es.weak-map.get-or-insert.js
+var es_weak_map_get_or_insert_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var $ = __webpack_require__(6518);
-var WeakMapHelpers = __webpack_require__(4995);
-var IS_PURE = __webpack_require__(6395);
+var $ = (export_namespaceFn());
+var WeakMapHelpers = (weak_map_helpers_namespaceFn());
+var IS_PURE = (is_pure_namespaceFn());
var get = WeakMapHelpers.get;
var has = WeakMapHelpers.has;
@@ -4836,18 +4737,16 @@ $({ target: 'WeakMap', proto: true, real: true, forced: IS_PURE }, {
}
});
+});
-/***/ },
-
-/***/ 5781
-(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
-
+// MODULE: ./node_modules/core-js/modules/web.url.parse.js
+var web_url_parse_namespaceFn = /*#__PURE__*/__webpack_require__.cw(() => {
-var $ = __webpack_require__(6518);
-var getBuiltIn = __webpack_require__(7751);
-var validateArgumentsLength = __webpack_require__(2812);
-var toString = __webpack_require__(655);
-var USE_NATIVE_URL = __webpack_require__(7416);
+var $ = (export_namespaceFn());
+var getBuiltIn = (get_built_in_namespaceFn());
+var validateArgumentsLength = (validate_arguments_length_namespaceFn());
+var toString = (to_string_namespaceFn());
+var USE_NATIVE_URL = (url_constructor_detection_namespaceFn());
var URL = getBuiltIn('URL');
@@ -4866,92 +4765,41 @@ $({ target: 'URL', stat: true, forced: !USE_NATIVE_URL }, {
}
});
+});
-/***/ }
+;// ./node_modules/core-js/modules/es.array.includes.js
+es_array_includes_namespaceFn();
-/******/ });
-/************************************************************************/
-/******/ // The module cache
-/******/ const __webpack_module_cache__ = {};
-/******/
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-/******/ // Check if module is in cache
-/******/ const cachedModule = __webpack_module_cache__[moduleId];
-/******/ if (cachedModule !== undefined) {
-/******/ return cachedModule.exports;
-/******/ }
-/******/ // Create a new module (and put it into the cache)
-/******/ const module = __webpack_module_cache__[moduleId] = {
-/******/ // no module.id needed
-/******/ // no module.loaded needed
-/******/ exports: {}
-/******/ };
-/******/
-/******/ // Execute the module function
-/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-/******/
-/************************************************************************/
-/******/ /* webpack/runtime/define property getters */
-/******/ (() => {
-/******/ // define getter/value functions for harmony exports
-/******/ __webpack_require__.d = (exports, definition) => {
-/******/ if(Array.isArray(definition)) {
-/******/ var i = 0;
-/******/ while(i < definition.length) {
-/******/ var key = definition[i++];
-/******/ var binding = definition[i++];
-/******/ if(!__webpack_require__.o(exports, key)) {
-/******/ if(binding === 0) {
-/******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
-/******/ } else {
-/******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
-/******/ }
-/******/ } else if(binding === 0) { i++; }
-/******/ }
-/******/ } else {
-/******/ for(var key in definition) {
-/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
-/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
-/******/ }
-/******/ }
-/******/ }
-/******/ };
-/******/ })();
-/******/
-/******/ /* webpack/runtime/hasOwnProperty shorthand */
-/******/ (() => {
-/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
-/******/ })();
-/******/
-/************************************************************************/
+;// ./node_modules/core-js/modules/es.array.push.js
+es_array_push_namespaceFn();
+
+;// ./node_modules/core-js/modules/es.map.get-or-insert.js
+es_map_get_or_insert_namespaceFn();
+
+;// ./node_modules/core-js/modules/es.map.get-or-insert-computed.js
+es_map_get_or_insert_computed_namespaceFn();
+
+;// ./node_modules/core-js/modules/es.set.difference.v2.js
+es_set_difference_v2_namespaceFn();
+
+;// ./node_modules/core-js/modules/es.set.intersection.v2.js
+es_set_intersection_v2_namespaceFn();
+
+;// ./node_modules/core-js/modules/es.set.is-disjoint-from.v2.js
+es_set_is_disjoint_from_v2_namespaceFn();
+
+;// ./node_modules/core-js/modules/es.set.is-subset-of.v2.js
+es_set_is_subset_of_v2_namespaceFn();
+
+;// ./node_modules/core-js/modules/es.set.is-superset-of.v2.js
+es_set_is_superset_of_v2_namespaceFn();
+
+;// ./node_modules/core-js/modules/es.set.symmetric-difference.v2.js
+es_set_symmetric_difference_v2_namespaceFn();
+
+;// ./node_modules/core-js/modules/es.set.union.v2.js
+es_set_union_v2_namespaceFn();
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.includes.js
-var es_array_includes = __webpack_require__(4423);
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
-var es_array_push = __webpack_require__(4114);
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.map.get-or-insert.js
-var es_map_get_or_insert = __webpack_require__(5367);
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.map.get-or-insert-computed.js
-var es_map_get_or_insert_computed = __webpack_require__(2731);
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.difference.v2.js
-var es_set_difference_v2 = __webpack_require__(7642);
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.intersection.v2.js
-var es_set_intersection_v2 = __webpack_require__(8004);
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.is-disjoint-from.v2.js
-var es_set_is_disjoint_from_v2 = __webpack_require__(3853);
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.is-subset-of.v2.js
-var es_set_is_subset_of_v2 = __webpack_require__(5876);
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.is-superset-of.v2.js
-var es_set_is_superset_of_v2 = __webpack_require__(2475);
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.symmetric-difference.v2.js
-var es_set_symmetric_difference_v2 = __webpack_require__(5024);
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.union.v2.js
-var es_set_union_v2 = __webpack_require__(1698);
;// ./web/ui_utils.js
@@ -5039,36 +4887,32 @@ function scrollIntoView(element, spot) {
parent.scrollTop = offsetY;
}
function watchScroll(viewAreaElement, callback, abortSignal = undefined) {
- const debounceScroll = function (evt) {
- if (rAF) {
- return;
- }
- rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {
- rAF = null;
- const currentX = viewAreaElement.scrollLeft;
- const lastX = state.lastX;
- if (currentX !== lastX) {
- state.right = currentX > lastX;
- }
- state.lastX = currentX;
- const currentY = viewAreaElement.scrollTop;
- const lastY = state.lastY;
- if (currentY !== lastY) {
- state.down = currentY > lastY;
- }
- state.lastY = currentY;
- callback(state);
- });
- };
+ function onRAF() {
+ rAF = null;
+ const currentX = viewAreaElement.scrollLeft;
+ const lastX = state.lastX;
+ if (currentX !== lastX) {
+ state.right = currentX > lastX;
+ }
+ state.lastX = currentX;
+ const currentY = viewAreaElement.scrollTop;
+ const lastY = state.lastY;
+ if (currentY !== lastY) {
+ state.down = currentY > lastY;
+ }
+ state.lastY = currentY;
+ callback(state);
+ }
const state = {
right: true,
down: true,
lastX: viewAreaElement.scrollLeft,
- lastY: viewAreaElement.scrollTop,
- _eventHandler: debounceScroll
+ lastY: viewAreaElement.scrollTop
};
let rAF = null;
- viewAreaElement.addEventListener("scroll", debounceScroll, {
+ viewAreaElement.addEventListener("scroll", () => {
+ rAF ??= window.requestAnimationFrame(onRAF);
+ }, {
useCapture: true,
signal: abortSignal
});
@@ -5089,10 +4933,7 @@ function removeNullCharacters(str, replaceInvisible = false) {
if (!InvisibleCharsRegExp.test(str)) {
return str;
}
- if (replaceInvisible) {
- return str.replaceAll(InvisibleCharsRegExp, m => m === "\x00" ? "" : " ");
- }
- return str.replaceAll("\x00", "");
+ return replaceInvisible ? str.replaceAll(InvisibleCharsRegExp, m => m === "\x00" ? "" : " ") : str.replaceAll("\x00", "");
}
function binarySearchFirstItem(items, condition, start = 0) {
let minIndex = start;
@@ -5185,6 +5026,10 @@ function backtrackBeforeAllVisibleElements(index, views, top) {
}
return index;
}
+function visibleSort(a, b) {
+ const pc = a.percent - b.percent;
+ return Math.abs(pc) > 0.001 ? -pc : a.id - b.id;
+}
function getVisibleElements({
scrollEl,
views,
@@ -5260,13 +5105,7 @@ function getVisibleElements({
const first = visible[0],
last = visible.at(-1);
if (sortByVisibility) {
- visible.sort(function (a, b) {
- const pc = a.percent - b.percent;
- if (Math.abs(pc) > 0.001) {
- return -pc;
- }
- return a.id - b.id;
- });
+ visible.sort(visibleSort);
}
return {
first,
@@ -5441,9 +5280,17 @@ const calcRound = function () {
return e.style.width === "calc(1320px)" ? Math.fround : x => x;
}();
+;// ./node_modules/core-js/modules/es.iterator.constructor.js
+es_iterator_constructor_namespaceFn();
+
+;// ./node_modules/core-js/modules/es.iterator.for-each.js
+es_iterator_for_each_namespaceFn();
+
;// ./web/app_options.js
+
+
{
var compatParams = new Map();
const {
@@ -5468,7 +5315,7 @@ const OptionKind = {
EVENT_DISPATCH: 0x10,
PREFERENCE: 0x80
};
-const Type = {
+const app_options_Type = {
BOOLEAN: 0x01,
NUMBER: 0x02,
OBJECT: 0x04,
@@ -5591,6 +5438,9 @@ const defaultOptions = new Map([["allowedGlobalEvents", {
}], ["enableNewBadge", {
value: false,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
+}], ["enableNova", {
+ value: true,
+ kind: OptionKind.VIEWER + OptionKind.PREFERENCE
}], ["enableOptimizedPartialRendering", {
value: false,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
@@ -5663,7 +5513,7 @@ const defaultOptions = new Map([["allowedGlobalEvents", {
}], ["printResolution", {
value: 150,
kind: OptionKind.VIEWER
-}], ...[["sandboxBundleSrc", {
+}], ...[], ...[["sandboxBundleSrc", {
value: "../build/pdf.sandbox.mjs",
kind: OptionKind.VIEWER
}]], ["sidebarViewOnLoad", {
@@ -5702,6 +5552,9 @@ const defaultOptions = new Map([["allowedGlobalEvents", {
}], ["disableStream", {
value: false,
kind: OptionKind.API + OptionKind.PREFERENCE
+}], ["disableWorkerRendering", {
+ value: true,
+ kind: OptionKind.API + OptionKind.PREFERENCE
}], ["docBaseUrl", {
value: "",
kind: OptionKind.API
@@ -5735,13 +5588,19 @@ const defaultOptions = new Map([["allowedGlobalEvents", {
}], ["useSystemFonts", {
value: undefined,
kind: OptionKind.API,
- type: Type.BOOLEAN + Type.UNDEFINED
+ type: app_options_Type.BOOLEAN + app_options_Type.UNDEFINED
}], ["verbosity", {
value: 1,
kind: OptionKind.API
}], ["wasmUrl", {
value: "../web/wasm/",
kind: OptionKind.API
+}], ["rendererPorts", {
+ value: [],
+ kind: OptionKind.WORKER
+}], ["rendererSrc", {
+ value: "../build/pdf.renderer.mjs",
+ kind: OptionKind.WORKER
}], ["workerPort", {
value: null,
kind: OptionKind.WORKER
@@ -5794,7 +5653,7 @@ class AppOptions {
for (const name in options) {
const defaultOpt = defaultOptions.get(name),
userOpt = options[name];
- if (!defaultOpt || !(typeof userOpt === typeof defaultOpt.value || Type[(typeof userOpt).toUpperCase()] & defaultOpt.type)) {
+ if (!defaultOpt || !(typeof userOpt === typeof defaultOpt.value || app_options_Type[(typeof userOpt).toUpperCase()] & defaultOpt.type)) {
continue;
}
const {
@@ -5804,27 +5663,28 @@ class AppOptions {
continue;
}
if (this.eventBus && kind & OptionKind.EVENT_DISPATCH) {
- (events ||= new Map()).set(name, userOpt);
+ (events ??= new Map()).set(name, userOpt);
}
this.#opts.set(name, userOpt);
}
- if (events) {
- for (const [name, value] of events) {
- this.eventBus.dispatch(name.toLowerCase(), {
- source: this,
- value
- });
- }
- }
+ events?.forEach((value, name) => {
+ this.eventBus.dispatch(name.toLowerCase(), {
+ source: this,
+ value
+ });
+ });
}
}
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.json.parse.js
-var es_json_parse = __webpack_require__(9112);
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.json.stringify.js
-var es_json_stringify = __webpack_require__(3110);
-// EXTERNAL MODULE: ./node_modules/core-js/modules/web.url.parse.js
-var web_url_parse = __webpack_require__(5781);
+;// ./node_modules/core-js/modules/es.json.parse.js
+es_json_parse_namespaceFn();
+
+;// ./node_modules/core-js/modules/es.json.stringify.js
+es_json_stringify_namespaceFn();
+
+;// ./node_modules/core-js/modules/web.url.parse.js
+web_url_parse_namespaceFn();
+
;// ./web/pdfjs.js
const {
AbortException,
@@ -5877,7 +5737,7 @@ const {
renderRichText,
ResponseException,
setLayerDimensions,
- shadow,
+ shadow: pdfjs_shadow,
SignatureExtractor,
stopEvent,
SupportedImageMimeTypes,
@@ -5887,12 +5747,12 @@ const {
updateUrlHash,
Util,
VerbosityLevel,
- version,
+ version: pdfjs_version,
XfaLayer
} = globalThis.pdfjsLib;
;// ./web/internal_evt.js
-const INTERNAL_EVT = "83527da5-0ab7-47fb-903f-3d4b1cc75646";
+const INTERNAL_EVT = "da0de832-0602-4da0-9ece-da36fcb1e1e0";
const internalOpt = Object.freeze({
internal: INTERNAL_EVT
});
@@ -6241,16 +6101,27 @@ class SimpleLinkService extends PDFLinkService {
setDocument(pdfDocument, baseUrl = null) {}
}
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
-var es_iterator_constructor = __webpack_require__(8111);
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.some.js
-var es_iterator_some = __webpack_require__(3579);
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.with-resolvers.js
-var es_promise_with_resolvers = __webpack_require__(4628);
+;// ./node_modules/core-js/modules/es.iterator.some.js
+es_iterator_some_namespaceFn();
+
+;// ./node_modules/core-js/modules/es.iterator.find.js
+es_iterator_find_namespaceFn();
+
;// ./web/event_utils.js
+
+
+
+
+
+
+
+
+
+
+
const WaitOnType = {
EVENT: "event",
TIMEOUT: "timeout"
@@ -6285,7 +6156,7 @@ async function waitOnEventOrTimeout({
return promise;
}
class EventBus {
- #listeners = Object.create(null);
+ #listeners = new Map();
constructor() {
Object.seal(this);
}
@@ -6303,8 +6174,7 @@ class EventBus {
rmAbort = () => signal.removeEventListener("abort", onAbort);
signal.addEventListener("abort", onAbort);
}
- const eventListeners = this.#listeners[eventName] ??= [];
- eventListeners.push({
+ this.#listeners.getOrInsertComputed(eventName, makeSet).add({
listener,
internal: options?.internal === INTERNAL_EVT,
once: options?.once === true,
@@ -6312,22 +6182,16 @@ class EventBus {
});
}
off(eventName, listener, options = null) {
- const eventListeners = this.#listeners[eventName];
- if (!eventListeners) {
- return;
- }
- for (let i = 0, ii = eventListeners.length; i < ii; i++) {
- const evt = eventListeners[i];
- if (evt.listener === listener) {
- evt.rmAbort?.();
- eventListeners.splice(i, 1);
- return;
- }
+ const eventListeners = this.#listeners.get(eventName);
+ const evt = eventListeners?.keys().find(e => e.listener === listener);
+ if (evt) {
+ evt.rmAbort?.();
+ eventListeners.delete(evt);
}
}
dispatch(eventName, data) {
- const eventListeners = this.#listeners[eventName];
- if (!eventListeners?.length) {
+ const eventListeners = this.#listeners.get(eventName);
+ if (!eventListeners?.size) {
return;
}
let extListeners;
@@ -6335,7 +6199,7 @@ class EventBus {
listener,
internal,
once
- } of eventListeners.slice(0)) {
+ } of new Set(eventListeners)) {
if (once) {
this.off(eventName, listener);
}
@@ -6386,6 +6250,7 @@ class BaseExternalServices {
createSignatureVerifier() {
return null;
}
+ printToPDF = null;
updateEditorStates(data) {
throw new Error("Not implemented: updateEditorStates");
}
@@ -6543,7 +6408,7 @@ class FluentDateTime extends FluentType {
const MAX_PLACEABLES = 100;
const FSI = "\u2068";
const PDI = "\u2069";
-function match(scope, selector, key) {
+function resolver_match(scope, selector, key) {
if (key === selector) {
return true;
}
@@ -6717,7 +6582,7 @@ function resolveSelectExpression(scope, {
}
for (const variant of variants) {
const key = resolveExpression(scope, variant.key);
- if (match(scope, sel, key)) {
+ if (resolver_match(scope, sel, key)) {
return resolvePattern(scope, variant.value);
}
}
@@ -6792,7 +6657,7 @@ class Scope {
;// ./node_modules/@fluent/bundle/esm/builtins.js
-function values(opts, allowed) {
+function builtins_values(opts, allowed) {
const unwrapped = Object.create(null);
for (const [name, opt] of Object.entries(opts)) {
if (allowed.includes(name)) {
@@ -6810,12 +6675,12 @@ function NUMBER(args, opts) {
if (arg instanceof FluentNumber) {
return new FluentNumber(arg.valueOf(), {
...arg.opts,
- ...values(opts, NUMBER_ALLOWED)
+ ...builtins_values(opts, NUMBER_ALLOWED)
});
}
if (arg instanceof FluentDateTime) {
return new FluentNumber(arg.toNumber(), {
- ...values(opts, NUMBER_ALLOWED)
+ ...builtins_values(opts, NUMBER_ALLOWED)
});
}
throw new TypeError("Invalid argument to NUMBER");
@@ -6827,7 +6692,7 @@ function DATETIME(args, opts) {
return new FluentNone(`DATETIME(${arg.valueOf()})`);
}
if (arg instanceof FluentDateTime || arg instanceof FluentNumber) {
- return new FluentDateTime(arg, values(opts, DATETIME_ALLOWED));
+ return new FluentDateTime(arg, builtins_values(opts, DATETIME_ALLOWED));
}
throw new TypeError("Invalid argument to DATETIME");
}
@@ -7300,8 +7165,9 @@ class Indent {
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.map.js
-var es_iterator_map = __webpack_require__(1701);
+;// ./node_modules/core-js/modules/es.iterator.map.js
+es_iterator_map_namespaceFn();
+
;// ./node_modules/@fluent/dom/esm/overlay.js
@@ -7456,10 +7322,9 @@ function shallowPopulateUsing(fromElement, toElement) {
overlayAttributes(fromElement, toElement);
return toElement;
}
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
-var es_iterator_filter = __webpack_require__(2489);
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
-var es_iterator_for_each = __webpack_require__(7588);
+;// ./node_modules/core-js/modules/es.iterator.filter.js
+es_iterator_filter_namespaceFn();
+
;// ./node_modules/cached-iterable/src/cached_iterable.mjs
class CachedIterable extends Array {
static from(iterable) {
@@ -7885,7 +7750,7 @@ class L10n {
getDirection() {
return this.#dir;
}
- async get(ids, args = null, fallback) {
+ async get(ids, args = null) {
if (Array.isArray(ids)) {
ids = ids.map(id => ({
id
@@ -7897,7 +7762,7 @@ class L10n {
id: ids,
args
}]);
- return messages[0]?.value || fallback;
+ return messages[0]?.value;
}
async translate(element) {
(this.#elements ||= new Set()).add(element);
@@ -7978,10 +7843,7 @@ function PLATFORM() {
if (isMac) {
return "macos";
}
- if (isAndroid) {
- return "android";
- }
- return "other";
+ return isAndroid ? "android" : "other";
}
function createBundle(lang, text) {
const resource = new FluentResource(text);
@@ -8056,7 +7918,7 @@ class genericl10n_GenericL10n extends L10n {
yield this.#createBundleFallback(lang);
}
static async #createBundleFallback(lang) {
- const text = "pdfjs-previous-button =\n .title = Previous Page\npdfjs-previous-button-label = Previous\npdfjs-next-button =\n .title = Next Page\npdfjs-next-button-label = Next\npdfjs-page-input =\n .title = Page\npdfjs-of-pages = of { $pagesCount }\npdfjs-page-of-pages = ({ $pageNumber } of { $pagesCount })\npdfjs-zoom-out-button =\n .title = Zoom Out\npdfjs-zoom-out-button-label = Zoom Out\npdfjs-zoom-in-button =\n .title = Zoom In\npdfjs-zoom-in-button-label = Zoom In\npdfjs-zoom-select =\n .title = Zoom\npdfjs-presentation-mode-button =\n .title = Switch to Presentation Mode\npdfjs-presentation-mode-button-label = Presentation Mode\npdfjs-open-file-button =\n .title = Open File\npdfjs-open-file-button-label = Open\npdfjs-print-button =\n .title = Print\npdfjs-print-button-label = Print\npdfjs-save-button =\n .title = Save\npdfjs-save-button-label = Save\npdfjs-download-button =\n .title = Download\npdfjs-download-button-label = Download\npdfjs-bookmark-button =\n .title = Current Page (View URL from Current Page)\npdfjs-bookmark-button-label = Current Page\npdfjs-tools-button =\n .title = Tools\npdfjs-tools-button-label = Tools\npdfjs-first-page-button =\n .title = Go to First Page\npdfjs-first-page-button-label = Go to First Page\npdfjs-last-page-button =\n .title = Go to Last Page\npdfjs-last-page-button-label = Go to Last Page\npdfjs-page-rotate-cw-button =\n .title = Rotate Clockwise\npdfjs-page-rotate-cw-button-label = Rotate Clockwise\npdfjs-page-rotate-ccw-button =\n .title = Rotate Counterclockwise\npdfjs-page-rotate-ccw-button-label = Rotate Counterclockwise\npdfjs-cursor-text-select-tool-button =\n .title = Enable Text Selection Tool\npdfjs-cursor-text-select-tool-button-label = Text Selection Tool\npdfjs-cursor-hand-tool-button =\n .title = Enable Hand Tool\npdfjs-cursor-hand-tool-button-label = Hand Tool\npdfjs-scroll-page-button =\n .title = Use Page Scrolling\npdfjs-scroll-page-button-label = Page Scrolling\npdfjs-scroll-vertical-button =\n .title = Use Vertical Scrolling\npdfjs-scroll-vertical-button-label = Vertical Scrolling\npdfjs-scroll-horizontal-button =\n .title = Use Horizontal Scrolling\npdfjs-scroll-horizontal-button-label = Horizontal Scrolling\npdfjs-scroll-wrapped-button =\n .title = Use Wrapped Scrolling\npdfjs-scroll-wrapped-button-label = Wrapped Scrolling\npdfjs-spread-none-button =\n .title = Do not join page spreads\npdfjs-spread-none-button-label = No Spreads\npdfjs-spread-odd-button =\n .title = Join page spreads starting with odd-numbered pages\npdfjs-spread-odd-button-label = Odd Spreads\npdfjs-spread-even-button =\n .title = Join page spreads starting with even-numbered pages\npdfjs-spread-even-button-label = Even Spreads\npdfjs-document-properties-button =\n .title = Document Properties…\npdfjs-document-properties-button-label = Document Properties…\npdfjs-document-properties-file-name = File name:\npdfjs-document-properties-file-size = File size:\npdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) } KB ({ $b } bytes)\npdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)\npdfjs-document-properties-title = Title:\npdfjs-document-properties-author = Author:\npdfjs-document-properties-subject = Subject:\npdfjs-document-properties-keywords = Keywords:\npdfjs-document-properties-creation-date = Creation Date:\npdfjs-document-properties-modification-date = Modification Date:\npdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: \"short\", timeStyle: \"medium\") }\npdfjs-document-properties-creator = Creator:\npdfjs-document-properties-producer = PDF Producer:\npdfjs-document-properties-version = PDF Version:\npdfjs-document-properties-page-count = Page Count:\npdfjs-document-properties-page-size = Page Size:\npdfjs-document-properties-page-size-unit-inches = in\npdfjs-document-properties-page-size-unit-millimeters = mm\npdfjs-document-properties-page-size-orientation-portrait = portrait\npdfjs-document-properties-page-size-orientation-landscape = landscape\npdfjs-document-properties-page-size-name-a-three = A3\npdfjs-document-properties-page-size-name-a-four = A4\npdfjs-document-properties-page-size-name-letter = Letter\npdfjs-document-properties-page-size-name-legal = Legal\npdfjs-document-properties-page-size-dimension-string = { $width } × { $height } { $unit } ({ $orientation })\npdfjs-document-properties-page-size-dimension-name-string = { $width } × { $height } { $unit } ({ $name }, { $orientation })\npdfjs-document-properties-linearized = Fast Web View:\npdfjs-document-properties-linearized-yes = Yes\npdfjs-document-properties-linearized-no = No\npdfjs-document-properties-close-button = Close\npdfjs-print-progress-message = Preparing document for printing…\npdfjs-print-progress-percent = { $progress }%\npdfjs-print-progress-close-button = Cancel\npdfjs-printing-not-supported = Warning: Printing is not fully supported by this browser.\npdfjs-printing-not-ready = Warning: The PDF is not fully loaded for printing.\npdfjs-current-outline-item-button =\n .title = Find Current Outline Item\npdfjs-current-outline-item-button-label = Current Outline Item\npdfjs-findbar-button =\n .title = Find in Document\npdfjs-findbar-button-label = Find\npdfjs-additional-layers = Additional Layers\npdfjs-thumb-page-title1 =\n .title = Page { $page } of { $total }\npdfjs-thumb-page-canvas =\n .aria-label = Thumbnail of Page { $page }\npdfjs-thumb-page-checkbox1 =\n .title = Select page { $page }\npdfjs-find-input =\n .title = Find\n .placeholder = Find in document…\npdfjs-find-previous-button =\n .title = Find the previous occurrence of the phrase\npdfjs-find-previous-button-label = Previous\npdfjs-find-next-button =\n .title = Find the next occurrence of the phrase\npdfjs-find-next-button-label = Next\npdfjs-find-highlight-checkbox = Highlight All\npdfjs-find-match-case-checkbox-label = Match Case\npdfjs-find-match-diacritics-checkbox-label = Match Diacritics\npdfjs-find-entire-word-checkbox-label = Whole Words\npdfjs-find-reached-top = Reached top of document, continued from bottom\npdfjs-find-reached-bottom = Reached end of document, continued from top\npdfjs-find-match-count =\n { $total ->\n [one] { $current } of { $total } match\n *[other] { $current } of { $total } matches\n }\npdfjs-find-match-count-limit =\n { $limit ->\n [one] More than { $limit } match\n *[other] More than { $limit } matches\n }\npdfjs-find-not-found = Phrase not found\npdfjs-page-scale-width = Page Width\npdfjs-page-scale-fit = Page Fit\npdfjs-page-scale-auto = Automatic Zoom\npdfjs-page-scale-actual = Actual Size\npdfjs-page-scale-percent = { $scale }%\npdfjs-page-landmark =\n .aria-label = Page { $page }\npdfjs-loading-error = An error occurred while loading the PDF.\npdfjs-invalid-file-error = Invalid or corrupted PDF file.\npdfjs-missing-file-error = Missing PDF file.\npdfjs-unexpected-response-error = Unexpected server response.\npdfjs-rendering-error = An error occurred while rendering the page.\npdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: \"short\", timeStyle: \"medium\") }\npdfjs-text-annotation-type =\n .alt = [{ $type } Annotation]\npdfjs-password-label = Enter the password to open this PDF file.\npdfjs-password-invalid = Invalid password. Please try again.\npdfjs-password-ok-button = OK\npdfjs-password-cancel-button = Cancel\npdfjs-web-fonts-disabled = Web fonts are disabled: unable to use embedded PDF fonts.\npdfjs-editor-free-text-button =\n .title = Text\npdfjs-editor-color-picker-free-text-input =\n .title = Change text color\npdfjs-editor-free-text-button-label = Text\npdfjs-editor-ink-button =\n .title = Draw\npdfjs-editor-color-picker-ink-input =\n .title = Change drawing color\npdfjs-editor-ink-button-label = Draw\npdfjs-editor-stamp-button =\n .title = Add or edit images\npdfjs-editor-stamp-button-label = Add or edit images\npdfjs-editor-highlight-button =\n .title = Highlight\npdfjs-editor-highlight-button-label = Highlight\npdfjs-highlight-floating-button1 =\n .title = Highlight\n .aria-label = Highlight\npdfjs-highlight-floating-button-label = Highlight\npdfjs-comment-floating-button =\n .title = Comment\n .aria-label = Comment\npdfjs-comment-floating-button-label = Comment\npdfjs-editor-comment-button =\n .title = Comment\n .aria-label = Comment\npdfjs-editor-comment-button-label = Comment\npdfjs-editor-signature-button =\n .title = Add signature\npdfjs-editor-signature-button-label = Add signature\npdfjs-editor-highlight-editor =\n .aria-label = Highlight editor\npdfjs-editor-ink-editor =\n .aria-label = Drawing editor\npdfjs-editor-signature-editor1 =\n .aria-description = Signature editor: { $description }\npdfjs-editor-stamp-editor =\n .aria-label = Image editor\npdfjs-editor-remove-ink-button =\n .title = Remove drawing\npdfjs-editor-remove-freetext-button =\n .title = Remove text\npdfjs-editor-remove-stamp-button =\n .title = Remove image\npdfjs-editor-remove-highlight-button =\n .title = Remove highlight\npdfjs-editor-remove-signature-button =\n .title = Remove signature\npdfjs-editor-free-text-color-input = Color\npdfjs-editor-free-text-size-input = Size\npdfjs-editor-ink-color-input = Color\npdfjs-editor-ink-thickness-input = Thickness\npdfjs-editor-ink-opacity-input = Opacity\npdfjs-editor-stamp-add-image-button =\n .title = Add image\npdfjs-editor-stamp-add-image-button-label = Add image\npdfjs-editor-free-highlight-thickness-input = Thickness\npdfjs-editor-free-highlight-thickness-title =\n .title = Change thickness when highlighting items other than text\npdfjs-editor-add-signature-container =\n .aria-label = Signature controls and saved signatures\npdfjs-editor-signature-add-signature-button =\n .title = Add new signature\npdfjs-editor-signature-add-signature-button-label = Add new signature\npdfjs-editor-add-saved-signature-button =\n .title = Saved signature: { $description }\npdfjs-free-text2 =\n .aria-label = Text Editor\n .default-content = Start typing…\npdfjs-editor-comments-sidebar-title =\n { $count ->\n [one] Comment\n *[other] Comments\n }\npdfjs-editor-comments-sidebar-close-button =\n .title = Close the sidebar\n .aria-label = Close the sidebar\npdfjs-editor-comments-sidebar-close-button-label = Close the sidebar\npdfjs-editor-comments-sidebar-no-comments1 = See something noteworthy? Highlight it and leave a comment.\npdfjs-editor-comments-sidebar-no-comments-link = Learn more\npdfjs-editor-alt-text-button =\n .aria-label = Alt text\npdfjs-editor-alt-text-button-label = Alt text\npdfjs-editor-alt-text-edit-button =\n .aria-label = Edit alt text\npdfjs-editor-alt-text-dialog-label = Choose an option\npdfjs-editor-alt-text-dialog-description = Alt text (alternative text) helps when people can’t see the image or when it doesn’t load.\npdfjs-editor-alt-text-add-description-label = Add a description\npdfjs-editor-alt-text-add-description-description = Aim for 1-2 sentences that describe the subject, setting, or actions.\npdfjs-editor-alt-text-mark-decorative-label = Mark as decorative\npdfjs-editor-alt-text-mark-decorative-description = This is used for ornamental images, like borders or watermarks.\npdfjs-editor-alt-text-cancel-button = Cancel\npdfjs-editor-alt-text-save-button = Save\npdfjs-editor-alt-text-decorative-tooltip = Marked as decorative\npdfjs-editor-alt-text-textarea =\n .placeholder = For example, “A young man sits down at a table to eat a meal”\npdfjs-editor-resizer-top-left =\n .aria-label = Top left corner — resize\npdfjs-editor-resizer-top-middle =\n .aria-label = Top middle — resize\npdfjs-editor-resizer-top-right =\n .aria-label = Top right corner — resize\npdfjs-editor-resizer-middle-right =\n .aria-label = Middle right — resize\npdfjs-editor-resizer-bottom-right =\n .aria-label = Bottom right corner — resize\npdfjs-editor-resizer-bottom-middle =\n .aria-label = Bottom middle — resize\npdfjs-editor-resizer-bottom-left =\n .aria-label = Bottom left corner — resize\npdfjs-editor-resizer-middle-left =\n .aria-label = Middle left — resize\npdfjs-editor-highlight-colorpicker-label = Highlight color\npdfjs-editor-colorpicker-button =\n .title = Change color\npdfjs-editor-colorpicker-dropdown =\n .aria-label = Color choices\npdfjs-editor-colorpicker-yellow =\n .title = Yellow\npdfjs-editor-colorpicker-green =\n .title = Green\npdfjs-editor-colorpicker-blue =\n .title = Blue\npdfjs-editor-colorpicker-pink =\n .title = Pink\npdfjs-editor-colorpicker-red =\n .title = Red\npdfjs-editor-highlight-show-all-button-label = Show all\npdfjs-editor-highlight-show-all-button =\n .title = Show all\npdfjs-editor-new-alt-text-dialog-edit-label = Edit alt text (image description)\npdfjs-editor-new-alt-text-dialog-add-label = Add alt text (image description)\npdfjs-editor-new-alt-text-textarea =\n .placeholder = Write your description here…\npdfjs-editor-new-alt-text-description = Short description for people who can’t see the image or when the image doesn’t load.\npdfjs-editor-new-alt-text-disclaimer1 = This alt text was created automatically and may be inaccurate.\npdfjs-editor-new-alt-text-disclaimer-learn-more-url = Learn more\npdfjs-editor-new-alt-text-create-automatically-button-label = Create alt text automatically\npdfjs-editor-new-alt-text-not-now-button = Not now\npdfjs-editor-new-alt-text-error-title = Couldn’t create alt text automatically\npdfjs-editor-new-alt-text-error-description = Please write your own alt text or try again later.\npdfjs-editor-new-alt-text-error-close-button = Close\npdfjs-editor-new-alt-text-ai-model-downloading-progress = Downloading alt text AI model ({ $downloadedSize } of { $totalSize } MB)\n .aria-valuetext = Downloading alt text AI model ({ $downloadedSize } of { $totalSize } MB)\npdfjs-editor-new-alt-text-added-button =\n .aria-label = Alt text added\npdfjs-editor-new-alt-text-added-button-label = Alt text added\npdfjs-editor-new-alt-text-missing-button =\n .aria-label = Missing alt text\npdfjs-editor-new-alt-text-missing-button-label = Missing alt text\npdfjs-editor-new-alt-text-to-review-button =\n .aria-label = Review alt text\npdfjs-editor-new-alt-text-to-review-button-label = Review alt text\npdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer = Created automatically: { $generatedAltText }\npdfjs-image-alt-text-settings-button =\n .title = Image alt text settings\npdfjs-image-alt-text-settings-button-label = Image alt text settings\npdfjs-editor-alt-text-settings-dialog-label = Image alt text settings\npdfjs-editor-alt-text-settings-automatic-title = Automatic alt text\npdfjs-editor-alt-text-settings-create-model-button-label = Create alt text automatically\npdfjs-editor-alt-text-settings-create-model-description = Suggests descriptions to help people who can’t see the image or when the image doesn’t load.\npdfjs-editor-alt-text-settings-editor-title = Alt text editor\npdfjs-editor-alt-text-settings-show-dialog-button-label = Show alt text editor right away when adding an image\npdfjs-editor-alt-text-settings-show-dialog-description = Helps you make sure all your images have alt text.\npdfjs-editor-alt-text-settings-close-button = Close\npdfjs-editor-highlight-added-alert = Highlight added\npdfjs-editor-freetext-added-alert = Text added\npdfjs-editor-ink-added-alert = Drawing added\npdfjs-editor-stamp-added-alert = Image added\npdfjs-editor-signature-added-alert = Signature added\npdfjs-editor-undo-bar-message-highlight = Highlight removed\npdfjs-editor-undo-bar-message-freetext = Text removed\npdfjs-editor-undo-bar-message-ink = Drawing removed\npdfjs-editor-undo-bar-message-stamp = Image removed\npdfjs-editor-undo-bar-message-signature = Signature removed\npdfjs-editor-undo-bar-message-comment = Comment removed\npdfjs-editor-undo-bar-message-multiple =\n { $count ->\n [one] { $count } annotation removed\n *[other] { $count } annotations removed\n }\npdfjs-editor-undo-bar-undo-button =\n .title = Undo\npdfjs-editor-undo-bar-undo-button-label = Undo\npdfjs-editor-undo-bar-close-button =\n .title = Close\npdfjs-editor-undo-bar-close-button-label = Close\npdfjs-editor-add-signature-dialog-label = This modal allows the user to create a signature to add to a PDF document. The user can edit the name (which also serves as the alt text), and optionally save the signature for repeated use.\npdfjs-editor-add-signature-dialog-title = Add a signature\npdfjs-editor-add-signature-type-button = Type\n .title = Type\npdfjs-editor-add-signature-draw-button = Draw\n .title = Draw\npdfjs-editor-add-signature-image-button = Image\n .title = Image\npdfjs-editor-add-signature-type-input =\n .aria-label = Type your signature\n .placeholder = Type your signature\npdfjs-editor-add-signature-draw-placeholder = Draw your signature\npdfjs-editor-add-signature-draw-thickness-range-label = Thickness\npdfjs-editor-add-signature-draw-thickness-range =\n .title = Drawing thickness: { $thickness }\npdfjs-editor-add-signature-image-placeholder = Drag a file here to upload\npdfjs-editor-add-signature-image-browse-link =\n { PLATFORM() ->\n [macos] Or choose image files\n *[other] Or browse image files\n }\npdfjs-editor-add-signature-description-label = Description (alt text)\npdfjs-editor-add-signature-description-input =\n .title = Description (alt text)\npdfjs-editor-add-signature-description-default-when-drawing = Signature\npdfjs-editor-add-signature-clear-button-label = Clear signature\npdfjs-editor-add-signature-clear-button =\n .title = Clear signature\npdfjs-editor-add-signature-save-checkbox = Save signature\npdfjs-editor-add-signature-save-warning-message = You’ve reached the limit of 5 saved signatures. Remove one to save more.\npdfjs-editor-add-signature-image-upload-error-title = Couldn’t upload image\npdfjs-editor-add-signature-image-upload-error-description = Check your network connection or try another image.\npdfjs-editor-add-signature-image-no-data-error-title = Can’t convert this image into a signature\npdfjs-editor-add-signature-image-no-data-error-description = Please try uploading a different image.\npdfjs-editor-add-signature-error-close-button = Close\npdfjs-editor-add-signature-cancel-button = Cancel\npdfjs-editor-add-signature-add-button = Add\npdfjs-editor-delete-signature-button1 =\n .title = Remove saved signature\npdfjs-editor-delete-signature-button-label1 = Remove saved signature\npdfjs-editor-add-signature-edit-button-label = Edit description\npdfjs-editor-edit-signature-dialog-title = Edit description\npdfjs-editor-edit-signature-update-button = Update\npdfjs-show-comment-button =\n .title = Show comment\npdfjs-editor-edit-comment-popup-button-label = Edit comment\npdfjs-editor-edit-comment-popup-button =\n .title = Edit comment\npdfjs-editor-delete-comment-popup-button-label = Remove comment\npdfjs-editor-delete-comment-popup-button =\n .title = Remove comment\npdfjs-editor-edit-comment-dialog-title-when-editing = Edit comment\npdfjs-editor-edit-comment-dialog-save-button-when-editing = Update\npdfjs-editor-edit-comment-dialog-title-when-adding = Add comment\npdfjs-editor-edit-comment-dialog-save-button-when-adding = Add\npdfjs-editor-edit-comment-dialog-text-input =\n .placeholder = Start typing…\npdfjs-editor-edit-comment-dialog-cancel-button = Cancel\npdfjs-editor-add-comment-button =\n .title = Add comment\npdfjs-toggle-views-manager-button1 =\n .title = Manage pages\npdfjs-toggle-views-manager-notification-button =\n .title = Toggle Sidebar (document contains thumbnails/outline/attachments/layers)\npdfjs-toggle-views-manager-button1-label = Manage pages\npdfjs-views-manager-sidebar =\n .aria-label = Sidebar\npdfjs-views-manager-sidebar-resizer =\n .aria-label = Sidebar resizer\npdfjs-views-manager-view-selector-button =\n .title = Views\npdfjs-views-manager-view-selector-button-label = Views\npdfjs-views-manager-pages-title = Pages\npdfjs-views-manager-outlines-title1 = Document outline\n .title = Document outline (double-click to expand/collapse all items)\npdfjs-views-manager-attachments-title = Attachments\npdfjs-views-manager-layers-title1 = Layers\n .title = Layers (double-click to reset all layers to the default state)\npdfjs-views-manager-pages-option-label = Pages\npdfjs-views-manager-outlines-option-label = Document outline\npdfjs-views-manager-attachments-option-label = Attachments\npdfjs-views-manager-layers-option-label = Layers\npdfjs-views-manager-add-file-button =\n .title = Add file\npdfjs-views-manager-add-file-button-label = Add file\npdfjs-views-manager-pages-status-action-label =\n { $count ->\n [one] { $count } selected\n *[other] { $count } selected\n }\npdfjs-views-manager-pages-status-none-action-label = Select pages\npdfjs-views-manager-pages-status-action-button-label = Manage\npdfjs-views-manager-pages-status-copy-button-label = Copy\npdfjs-views-manager-pages-status-cut-button-label = Cut\npdfjs-views-manager-pages-status-delete-button-label = Delete\npdfjs-views-manager-pages-status-export-selected-button-label = Export selected…\npdfjs-views-manager-status-undo-cut-label =\n { $count ->\n [one] 1 page cut\n *[other] { $count } pages cut\n }\npdfjs-views-manager-pages-status-undo-copy-label =\n { $count ->\n [one] 1 page copied\n *[other] { $count } pages copied\n }\npdfjs-views-manager-pages-status-undo-delete-label =\n { $count ->\n [one] 1 page deleted\n *[other] { $count } pages deleted\n }\npdfjs-views-manager-pages-status-waiting-ready-label = Getting your file ready…\npdfjs-views-manager-pages-status-waiting-uploading-label = Uploading file…\npdfjs-views-manager-status-warning-cut-label = Couldn’t cut. Refresh page and try again.\npdfjs-views-manager-status-warning-copy-label = Couldn’t copy. Refresh page and try again.\npdfjs-views-manager-status-warning-delete-label = Couldn’t delete. Refresh page and try again.\npdfjs-views-manager-status-warning-save-label = Couldn’t save. Refresh page and try again.\npdfjs-views-manager-status-undo-button-label = Undo\npdfjs-views-manager-status-done-button-label = Done\npdfjs-views-manager-status-close-button =\n .title = Close\npdfjs-views-manager-status-close-button-label = Close\npdfjs-views-manager-paste-button-label = Paste\npdfjs-views-manager-paste-button-before =\n .title = Paste before the first page\npdfjs-views-manager-paste-button-after =\n .title = Paste after page { $page }\npdfjs-new-badge-content = NEW\npdfjs-views-manager-waiting-for-file = Uploading file…\npdfjs-digital-signature-properties-button =\n .title = Digital signature properties\n .aria-label = Digital signature properties\npdfjs-digital-signature-properties-button-label = Digital signature properties\npdfjs-digital-signature-properties-banner-verified = Document was signed with a valid digital signature\npdfjs-digital-signature-properties-banner-unknown =\n { $count ->\n [one] Document signed but { $count } digital signature could not be verified\n *[other] Document signed but { $count } digital signatures could not be verified\n }\npdfjs-digital-signature-properties-banner-untrusted =\n { $count ->\n [one] Document signed with { $count } certificate that is not trusted\n *[other] Document signed with { $count } certificates that are not trusted\n }\npdfjs-digital-signature-properties-banner-expired =\n { $count ->\n [one] Document signed with { $count } expired certificate\n *[other] Document signed with { $count } expired certificates\n }\npdfjs-digital-signature-properties-banner-invalid =\n { $count ->\n [one] Document has { $count } invalid digital signature\n *[other] Document has { $count } invalid digital signatures\n }\npdfjs-digital-signature-properties-banner-revoked =\n { $count ->\n [one] Document signed with { $count } revoked certificate\n *[other] Document signed with { $count } revoked certificates\n }\npdfjs-digital-signature-properties-status-verified = Status: Signature verified\npdfjs-digital-signature-properties-status-invalid = Status: Signature invalid\npdfjs-digital-signature-properties-status-unknown = Status: Unable to verify (unsupported)\npdfjs-digital-signature-properties-certificate-trusted = Certificate: Trusted ({ $issuer })\npdfjs-digital-signature-properties-certificate-unknown = Certificate: Unavailable\npdfjs-digital-signature-properties-certificate-untrusted = Certificate: Untrusted\npdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Certificate: Unknown issuer ({ $issuer })\npdfjs-digital-signature-properties-certificate-untrusted-self-signed = Certificate: Self-signed ({ $issuer })\npdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Certificate: Untrusted issuer ({ $issuer })\npdfjs-digital-signature-properties-certificate-expired = Certificate: Expired\npdfjs-digital-signature-properties-certificate-expired-with-date = Certificate: Expired ({ DATETIME($dateObj, dateStyle: \"medium\") })\npdfjs-digital-signature-properties-certificate-revoked = Certificate: Revoked\npdfjs-digital-signature-properties-view-certificate = View certificate\npdfjs-digital-signature-properties-reason = Reason: { $reason }\npdfjs-digital-signature-properties-timestamp = Timestamp: { DATETIME($dateObj, dateStyle: \"short\", timeStyle: \"medium\") }\npdfjs-digital-signature-properties-sub-signatures =\n { $count ->\n [one] Sub-signature ({ $count })\n *[other] Sub-signatures ({ $count })\n }";
+ const text = "pdfjs-previous-button =\n .title = Previous Page\npdfjs-previous-button-label = Previous\npdfjs-next-button =\n .title = Next Page\npdfjs-next-button-label = Next\npdfjs-page-input =\n .title = Page\npdfjs-of-pages = of { $pagesCount }\npdfjs-page-of-pages = ({ $pageNumber } of { $pagesCount })\npdfjs-zoom-out-button =\n .title = Zoom Out\npdfjs-zoom-out-button-label = Zoom Out\npdfjs-zoom-in-button =\n .title = Zoom In\npdfjs-zoom-in-button-label = Zoom In\npdfjs-zoom-select =\n .title = Zoom\npdfjs-presentation-mode-button =\n .title = Switch to Presentation Mode\npdfjs-presentation-mode-button-label = Presentation Mode\npdfjs-open-file-button =\n .title = Open File\npdfjs-open-file-button-label = Open\npdfjs-print-button =\n .title = Print\npdfjs-print-button-label = Print\npdfjs-save-button =\n .title = Save\npdfjs-save-button-label = Save\npdfjs-download-button =\n .title = Download\npdfjs-download-button-label = Download\npdfjs-bookmark-button =\n .title = Current Page (View URL from Current Page)\npdfjs-bookmark-button-label = Current Page\npdfjs-tools-button =\n .title = Tools\npdfjs-tools-button-label = Tools\npdfjs-first-page-button =\n .title = Go to First Page\npdfjs-first-page-button-label = Go to First Page\npdfjs-last-page-button =\n .title = Go to Last Page\npdfjs-last-page-button-label = Go to Last Page\npdfjs-page-rotate-cw-button =\n .title = Rotate Clockwise\npdfjs-page-rotate-cw-button-label = Rotate Clockwise\npdfjs-page-rotate-ccw-button =\n .title = Rotate Counterclockwise\npdfjs-page-rotate-ccw-button-label = Rotate Counterclockwise\npdfjs-cursor-text-select-tool-button =\n .title = Enable Text Selection Tool\npdfjs-cursor-text-select-tool-button-label = Text Selection Tool\npdfjs-cursor-hand-tool-button =\n .title = Enable Hand Tool\npdfjs-cursor-hand-tool-button-label = Hand Tool\npdfjs-scroll-page-button =\n .title = Use Page Scrolling\npdfjs-scroll-page-button-label = Page Scrolling\npdfjs-scroll-vertical-button =\n .title = Use Vertical Scrolling\npdfjs-scroll-vertical-button-label = Vertical Scrolling\npdfjs-scroll-horizontal-button =\n .title = Use Horizontal Scrolling\npdfjs-scroll-horizontal-button-label = Horizontal Scrolling\npdfjs-scroll-wrapped-button =\n .title = Use Wrapped Scrolling\npdfjs-scroll-wrapped-button-label = Wrapped Scrolling\npdfjs-spread-none-button =\n .title = Do not join page spreads\npdfjs-spread-none-button-label = No Spreads\npdfjs-spread-odd-button =\n .title = Join page spreads starting with odd-numbered pages\npdfjs-spread-odd-button-label = Odd Spreads\npdfjs-spread-even-button =\n .title = Join page spreads starting with even-numbered pages\npdfjs-spread-even-button-label = Even Spreads\npdfjs-document-properties-button =\n .title = Document Properties…\npdfjs-document-properties-button-label = Document Properties…\npdfjs-document-properties-file-name = File name:\npdfjs-document-properties-file-size = File size:\npdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) } KB ({ $b } bytes)\npdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)\npdfjs-document-properties-title = Title:\npdfjs-document-properties-author = Author:\npdfjs-document-properties-subject = Subject:\npdfjs-document-properties-keywords = Keywords:\npdfjs-document-properties-creation-date = Creation Date:\npdfjs-document-properties-modification-date = Modification Date:\npdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: \"short\", timeStyle: \"medium\") }\npdfjs-document-properties-creator = Creator:\npdfjs-document-properties-producer = PDF Producer:\npdfjs-document-properties-version = PDF Version:\npdfjs-document-properties-page-count = Page Count:\npdfjs-document-properties-page-size = Page Size:\npdfjs-document-properties-page-size-unit-inches = in\npdfjs-document-properties-page-size-unit-millimeters = mm\npdfjs-document-properties-page-size-orientation-portrait = portrait\npdfjs-document-properties-page-size-orientation-landscape = landscape\npdfjs-document-properties-page-size-name-a-three = A3\npdfjs-document-properties-page-size-name-a-four = A4\npdfjs-document-properties-page-size-name-letter = Letter\npdfjs-document-properties-page-size-name-legal = Legal\npdfjs-document-properties-page-size-dimension-string = { $width } × { $height } { $unit } ({ $orientation })\npdfjs-document-properties-page-size-dimension-name-string = { $width } × { $height } { $unit } ({ $name }, { $orientation })\npdfjs-document-properties-linearized = Fast Web View:\npdfjs-document-properties-linearized-yes = Yes\npdfjs-document-properties-linearized-no = No\npdfjs-document-properties-close-button = Close\npdfjs-print-progress-message = Preparing document for printing…\npdfjs-print-progress-percent = { $progress }%\npdfjs-print-progress-close-button = Cancel\npdfjs-printing-not-supported = Warning: Printing is not fully supported by this browser.\npdfjs-printing-not-ready = Warning: The PDF is not fully loaded for printing.\npdfjs-current-outline-item-button =\n .title = Find Current Outline Item\npdfjs-current-outline-item-button-label = Current Outline Item\npdfjs-findbar-button =\n .title = Find in Document\npdfjs-findbar-button-label = Find\npdfjs-additional-layers = Additional Layers\npdfjs-thumb-page-title1 =\n .title = Page { $page } of { $total }\npdfjs-thumb-page-canvas =\n .aria-label = Thumbnail of Page { $page }\npdfjs-thumb-page-checkbox1 =\n .title = Select page { $page }\npdfjs-find-input =\n .title = Find\n .placeholder = Find in document…\npdfjs-find-previous-button =\n .title = Find the previous occurrence of the phrase\npdfjs-find-previous-button-label = Previous\npdfjs-find-next-button =\n .title = Find the next occurrence of the phrase\npdfjs-find-next-button-label = Next\npdfjs-find-highlight-checkbox = Highlight All\npdfjs-find-match-case-checkbox-label = Match Case\npdfjs-find-match-diacritics-checkbox-label = Match Diacritics\npdfjs-find-entire-word-checkbox-label = Whole Words\npdfjs-find-reached-top = Reached top of document, continued from bottom\npdfjs-find-reached-bottom = Reached end of document, continued from top\npdfjs-find-match-count =\n { $total ->\n [one] { $current } of { $total } match\n *[other] { $current } of { $total } matches\n }\npdfjs-find-match-count-limit =\n { $limit ->\n [one] More than { $limit } match\n *[other] More than { $limit } matches\n }\npdfjs-find-not-found = Phrase not found\npdfjs-page-scale-width = Page Width\npdfjs-page-scale-fit = Page Fit\npdfjs-page-scale-auto = Automatic Zoom\npdfjs-page-scale-actual = Actual Size\npdfjs-page-scale-percent = { $scale }%\npdfjs-page-landmark =\n .aria-label = Page { $page }\npdfjs-loading-error = An error occurred while loading the PDF.\npdfjs-invalid-file-error = Invalid or corrupted PDF file.\npdfjs-missing-file-error = Missing PDF file.\npdfjs-unexpected-response-error = Unexpected server response.\npdfjs-rendering-error = An error occurred while rendering the page.\npdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: \"short\", timeStyle: \"medium\") }\npdfjs-text-annotation-type =\n .alt = [{ $type } Annotation]\npdfjs-password-label = Enter the password to open this PDF file.\npdfjs-password-invalid = Invalid password. Please try again.\npdfjs-password-ok-button = OK\npdfjs-password-cancel-button = Cancel\npdfjs-web-fonts-disabled = Web fonts are disabled: unable to use embedded PDF fonts.\npdfjs-editor-free-text-button =\n .title = Text\npdfjs-editor-color-picker-free-text-input =\n .title = Change text color\npdfjs-editor-free-text-button-label = Text\npdfjs-editor-ink-button =\n .title = Draw\npdfjs-editor-color-picker-ink-input =\n .title = Change drawing color\npdfjs-editor-ink-button-label = Draw\npdfjs-editor-stamp-button =\n .title = Add or edit images\npdfjs-editor-stamp-button-label = Add or edit images\npdfjs-editor-highlight-button =\n .title = Highlight\npdfjs-editor-highlight-button-label = Highlight\npdfjs-highlight-floating-button1 =\n .title = Highlight\n .aria-label = Highlight\npdfjs-highlight-floating-button-label = Highlight\npdfjs-comment-floating-button =\n .title = Comment\n .aria-label = Comment\npdfjs-comment-floating-button-label = Comment\npdfjs-editor-comment-button =\n .title = Comment\n .aria-label = Comment\npdfjs-editor-comment-button-label = Comment\npdfjs-editor-signature-button =\n .title = Add signature\npdfjs-editor-signature-button-label = Add signature\npdfjs-editor-highlight-editor =\n .aria-label = Highlight editor\npdfjs-editor-ink-editor =\n .aria-label = Drawing editor\npdfjs-editor-signature-editor1 =\n .aria-description = Signature editor: { $description }\npdfjs-editor-stamp-editor =\n .aria-label = Image editor\npdfjs-editor-remove-ink-button =\n .title = Remove drawing\npdfjs-editor-remove-freetext-button =\n .title = Remove text\npdfjs-editor-remove-stamp-button =\n .title = Remove image\npdfjs-editor-remove-highlight-button =\n .title = Remove highlight\npdfjs-editor-remove-signature-button =\n .title = Remove signature\npdfjs-editor-free-text-color-input = Color\npdfjs-editor-free-text-size-input = Size\npdfjs-editor-ink-color-input = Color\npdfjs-editor-ink-thickness-input = Thickness\npdfjs-editor-ink-opacity-input = Opacity\npdfjs-editor-stamp-add-image-button =\n .title = Add image\npdfjs-editor-stamp-add-image-button-label = Add image\npdfjs-editor-free-highlight-thickness-input = Thickness\npdfjs-editor-free-highlight-thickness-title =\n .title = Change thickness when highlighting items other than text\npdfjs-editor-add-signature-container =\n .aria-label = Signature controls and saved signatures\npdfjs-editor-signature-add-signature-button =\n .title = Add new signature\npdfjs-editor-signature-add-signature-button-label = Add new signature\npdfjs-editor-add-saved-signature-button =\n .title = Saved signature: { $description }\npdfjs-free-text2 =\n .aria-label = Text Editor\n .default-content = Start typing…\npdfjs-editor-comments-sidebar-title =\n { $count ->\n [one] Comment\n *[other] Comments\n }\npdfjs-editor-comments-sidebar-close-button =\n .title = Close the sidebar\n .aria-label = Close the sidebar\npdfjs-editor-comments-sidebar-close-button-label = Close the sidebar\npdfjs-editor-comments-sidebar-no-comments1 = See something noteworthy? Highlight it and leave a comment.\npdfjs-editor-comments-sidebar-no-comments-link = Learn more\npdfjs-editor-alt-text-button =\n .aria-label = Alt text\npdfjs-editor-alt-text-button-label = Alt text\npdfjs-editor-alt-text-edit-button =\n .aria-label = Edit alt text\npdfjs-editor-alt-text-dialog-label = Choose an option\npdfjs-editor-alt-text-dialog-description = Alt text (alternative text) helps when people can’t see the image or when it doesn’t load.\npdfjs-editor-alt-text-add-description-label = Add a description\npdfjs-editor-alt-text-add-description-description = Aim for 1-2 sentences that describe the subject, setting, or actions.\npdfjs-editor-alt-text-mark-decorative-label = Mark as decorative\npdfjs-editor-alt-text-mark-decorative-description = This is used for ornamental images, like borders or watermarks.\npdfjs-editor-alt-text-cancel-button = Cancel\npdfjs-editor-alt-text-save-button = Save\npdfjs-editor-alt-text-decorative-tooltip = Marked as decorative\npdfjs-editor-alt-text-textarea =\n .placeholder = For example, “A young man sits down at a table to eat a meal”\npdfjs-editor-resizer-top-left =\n .aria-label = Top left corner — resize\npdfjs-editor-resizer-top-middle =\n .aria-label = Top middle — resize\npdfjs-editor-resizer-top-right =\n .aria-label = Top right corner — resize\npdfjs-editor-resizer-middle-right =\n .aria-label = Middle right — resize\npdfjs-editor-resizer-bottom-right =\n .aria-label = Bottom right corner — resize\npdfjs-editor-resizer-bottom-middle =\n .aria-label = Bottom middle — resize\npdfjs-editor-resizer-bottom-left =\n .aria-label = Bottom left corner — resize\npdfjs-editor-resizer-middle-left =\n .aria-label = Middle left — resize\npdfjs-editor-highlight-colorpicker-label = Highlight color\npdfjs-editor-colorpicker-button =\n .title = Change color\npdfjs-editor-colorpicker-dropdown =\n .aria-label = Color choices\npdfjs-editor-colorpicker-yellow =\n .title = Yellow\npdfjs-editor-colorpicker-green =\n .title = Green\npdfjs-editor-colorpicker-blue =\n .title = Blue\npdfjs-editor-colorpicker-pink =\n .title = Pink\npdfjs-editor-colorpicker-red =\n .title = Red\npdfjs-editor-highlight-show-all-button-label = Show all\npdfjs-editor-highlight-show-all-button =\n .title = Show all\npdfjs-editor-new-alt-text-dialog-edit-label = Edit alt text (image description)\npdfjs-editor-new-alt-text-dialog-add-label = Add alt text (image description)\npdfjs-editor-new-alt-text-textarea =\n .placeholder = Write your description here…\npdfjs-editor-new-alt-text-description = Short description for people who can’t see the image or when the image doesn’t load.\npdfjs-editor-new-alt-text-disclaimer1 = This alt text was created automatically and may be inaccurate.\npdfjs-editor-new-alt-text-disclaimer-learn-more-url = Learn more\npdfjs-editor-new-alt-text-create-automatically-button-label = Create alt text automatically\npdfjs-editor-new-alt-text-not-now-button = Not now\npdfjs-editor-new-alt-text-error-title = Couldn’t create alt text automatically\npdfjs-editor-new-alt-text-error-description = Please write your own alt text or try again later.\npdfjs-editor-new-alt-text-error-close-button = Close\npdfjs-editor-new-alt-text-ai-model-downloading-progress = Downloading alt text AI model ({ $downloadedSize } of { $totalSize } MB)\n .aria-valuetext = Downloading alt text AI model ({ $downloadedSize } of { $totalSize } MB)\npdfjs-editor-new-alt-text-added-button =\n .aria-label = Alt text added\npdfjs-editor-new-alt-text-added-button-label = Alt text added\npdfjs-editor-new-alt-text-missing-button =\n .aria-label = Missing alt text\npdfjs-editor-new-alt-text-missing-button-label = Missing alt text\npdfjs-editor-new-alt-text-to-review-button =\n .aria-label = Review alt text\npdfjs-editor-new-alt-text-to-review-button-label = Review alt text\npdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer = Created automatically: { $generatedAltText }\npdfjs-image-alt-text-settings-button =\n .title = Image alt text settings\npdfjs-image-alt-text-settings-button-label = Image alt text settings\npdfjs-editor-alt-text-settings-dialog-label = Image alt text settings\npdfjs-editor-alt-text-settings-automatic-title = Automatic alt text\npdfjs-editor-alt-text-settings-create-model-button-label = Create alt text automatically\npdfjs-editor-alt-text-settings-create-model-description = Suggests descriptions to help people who can’t see the image or when the image doesn’t load.\npdfjs-editor-alt-text-settings-editor-title = Alt text editor\npdfjs-editor-alt-text-settings-show-dialog-button-label = Show alt text editor right away when adding an image\npdfjs-editor-alt-text-settings-show-dialog-description = Helps you make sure all your images have alt text.\npdfjs-editor-alt-text-settings-close-button = Close\npdfjs-editor-highlight-added-alert = Highlight added\npdfjs-editor-freetext-added-alert = Text added\npdfjs-editor-ink-added-alert = Drawing added\npdfjs-editor-stamp-added-alert = Image added\npdfjs-editor-signature-added-alert = Signature added\npdfjs-editor-undo-bar-message-highlight = Highlight removed\npdfjs-editor-undo-bar-message-freetext = Text removed\npdfjs-editor-undo-bar-message-ink = Drawing removed\npdfjs-editor-undo-bar-message-stamp = Image removed\npdfjs-editor-undo-bar-message-signature = Signature removed\npdfjs-editor-undo-bar-message-comment = Comment removed\npdfjs-editor-undo-bar-message-multiple =\n { $count ->\n [one] { $count } annotation removed\n *[other] { $count } annotations removed\n }\npdfjs-editor-undo-bar-undo-button =\n .title = Undo\npdfjs-editor-undo-bar-undo-button-label = Undo\npdfjs-editor-undo-bar-close-button =\n .title = Close\npdfjs-editor-undo-bar-close-button-label = Close\npdfjs-editor-add-signature-dialog-label = This modal allows the user to create a signature to add to a PDF document. The user can edit the name (which also serves as the alt text), and optionally save the signature for repeated use.\npdfjs-editor-add-signature-dialog-title = Add a signature\npdfjs-editor-add-signature-type-button = Type\n .title = Type\npdfjs-editor-add-signature-draw-button = Draw\n .title = Draw\npdfjs-editor-add-signature-image-button = Image\n .title = Image\npdfjs-editor-add-signature-type-input =\n .aria-label = Type your signature\n .placeholder = Type your signature\npdfjs-editor-add-signature-draw-placeholder = Draw your signature\npdfjs-editor-add-signature-draw-thickness-range-label = Thickness\npdfjs-editor-add-signature-draw-thickness-range =\n .title = Drawing thickness: { $thickness }\npdfjs-editor-add-signature-image-placeholder = Drag a file here to upload\npdfjs-editor-add-signature-image-browse-link =\n { PLATFORM() ->\n [macos] Or choose image files\n *[other] Or browse image files\n }\npdfjs-editor-add-signature-description-label = Description (alt text)\npdfjs-editor-add-signature-description-input =\n .title = Description (alt text)\npdfjs-editor-add-signature-description-default-when-drawing = Signature\npdfjs-editor-add-signature-clear-button-label = Clear signature\npdfjs-editor-add-signature-clear-button =\n .title = Clear signature\npdfjs-editor-add-signature-save-checkbox = Save signature\npdfjs-editor-add-signature-save-warning-message = You’ve reached the limit of 5 saved signatures. Remove one to save more.\npdfjs-editor-add-signature-image-upload-error-title = Couldn’t upload image\npdfjs-editor-add-signature-image-upload-error-description = Check your network connection or try another image.\npdfjs-editor-add-signature-image-no-data-error-title = Can’t convert this image into a signature\npdfjs-editor-add-signature-image-no-data-error-description = Please try uploading a different image.\npdfjs-editor-add-signature-error-close-button = Close\npdfjs-editor-add-signature-cancel-button = Cancel\npdfjs-editor-add-signature-add-button = Add\npdfjs-editor-delete-signature-button1 =\n .title = Remove saved signature\npdfjs-editor-delete-signature-button-label1 = Remove saved signature\npdfjs-editor-add-signature-edit-button-label = Edit description\npdfjs-editor-edit-signature-dialog-title = Edit description\npdfjs-editor-edit-signature-update-button = Update\npdfjs-show-comment-button =\n .title = Show comment\npdfjs-editor-edit-comment-popup-button-label = Edit comment\npdfjs-editor-edit-comment-popup-button =\n .title = Edit comment\npdfjs-editor-delete-comment-popup-button-label = Remove comment\npdfjs-editor-delete-comment-popup-button =\n .title = Remove comment\npdfjs-editor-edit-comment-dialog-title-when-editing = Edit comment\npdfjs-editor-edit-comment-dialog-save-button-when-editing = Update\npdfjs-editor-edit-comment-dialog-title-when-adding = Add comment\npdfjs-editor-edit-comment-dialog-save-button-when-adding = Add\npdfjs-editor-edit-comment-dialog-text-input =\n .placeholder = Start typing…\npdfjs-editor-edit-comment-dialog-cancel-button = Cancel\npdfjs-editor-add-comment-button =\n .title = Add comment\npdfjs-toggle-views-manager-button1 =\n .title = Manage pages\npdfjs-toggle-views-manager-notification-button =\n .title = Toggle Sidebar (document contains thumbnails/outline/attachments/layers)\npdfjs-toggle-views-manager-button1-label = Manage pages\npdfjs-views-manager-sidebar =\n .aria-label = Sidebar\npdfjs-views-manager-sidebar-resizer =\n .aria-label = Sidebar resizer\npdfjs-views-manager-view-selector-button =\n .title = Views\npdfjs-views-manager-view-selector-button-label = Views\npdfjs-views-manager-pages-title = Pages\npdfjs-views-manager-outlines-title1 = Document outline\n .title = Document outline (double-click to expand/collapse all items)\npdfjs-views-manager-attachments-title = Attachments\npdfjs-views-manager-layers-title1 = Layers\n .title = Layers (double-click to reset all layers to the default state)\npdfjs-views-manager-pages-option-label = Pages\npdfjs-views-manager-outlines-option-label = Document outline\npdfjs-views-manager-attachments-option-label = Attachments\npdfjs-views-manager-layers-option-label = Layers\npdfjs-views-manager-add-file-button =\n .title = Add file\npdfjs-views-manager-add-file-button-label = Add file\npdfjs-views-manager-pages-status-action-label =\n { $count ->\n [one] { $count } selected\n *[other] { $count } selected\n }\npdfjs-views-manager-pages-status-none-action-label = Select pages\npdfjs-views-manager-pages-status-action-button-label = Manage\npdfjs-views-manager-pages-status-copy-button-label = Copy\npdfjs-views-manager-pages-status-cut-button-label = Cut\npdfjs-views-manager-pages-status-delete-button-label = Delete\npdfjs-views-manager-pages-status-export-selected-button-label = Export selected…\npdfjs-views-manager-status-undo-cut-label =\n { $count ->\n [one] 1 page cut\n *[other] { $count } pages cut\n }\npdfjs-views-manager-pages-status-undo-copy-label =\n { $count ->\n [one] 1 page copied\n *[other] { $count } pages copied\n }\npdfjs-views-manager-pages-status-undo-delete-label =\n { $count ->\n [one] 1 page deleted\n *[other] { $count } pages deleted\n }\npdfjs-views-manager-status-undo-button-label = Undo\npdfjs-views-manager-status-done-button-label = Done\npdfjs-views-manager-status-close-button =\n .title = Close\npdfjs-views-manager-status-close-button-label = Close\npdfjs-views-manager-paste-button-label = Paste\npdfjs-views-manager-paste-button-before =\n .title = Paste before the first page\npdfjs-views-manager-paste-button-after =\n .title = Paste after page { $page }\npdfjs-new-badge-content = NEW\npdfjs-views-manager-waiting-for-file = Uploading file…\npdfjs-digital-signature-properties-button =\n .title = Digital signature properties\n .aria-label = Digital signature properties\npdfjs-digital-signature-properties-button-label = Digital signature properties\npdfjs-digital-signature-properties-banner-verified = Document was signed with a valid digital signature\npdfjs-digital-signature-properties-banner-unknown =\n { $count ->\n [one] Document signed but { $count } digital signature could not be verified\n *[other] Document signed but { $count } digital signatures could not be verified\n }\npdfjs-digital-signature-properties-banner-untrusted =\n { $count ->\n [one] Document signed with { $count } certificate that is not trusted\n *[other] Document signed with { $count } certificates that are not trusted\n }\npdfjs-digital-signature-properties-banner-expired =\n { $count ->\n [one] Document signed with { $count } expired certificate\n *[other] Document signed with { $count } expired certificates\n }\npdfjs-digital-signature-properties-banner-invalid =\n { $count ->\n [one] Document has { $count } invalid digital signature\n *[other] Document has { $count } invalid digital signatures\n }\npdfjs-digital-signature-properties-banner-revoked =\n { $count ->\n [one] Document signed with { $count } revoked certificate\n *[other] Document signed with { $count } revoked certificates\n }\npdfjs-digital-signature-properties-status-verified = Status: Signature verified\npdfjs-digital-signature-properties-status-invalid = Status: Signature invalid\npdfjs-digital-signature-properties-status-unknown = Status: Unable to verify (unsupported)\npdfjs-digital-signature-properties-certificate-trusted = Certificate: Trusted ({ $issuer })\npdfjs-digital-signature-properties-certificate-unknown = Certificate: Unavailable\npdfjs-digital-signature-properties-certificate-untrusted = Certificate: Untrusted\npdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Certificate: Unknown issuer ({ $issuer })\npdfjs-digital-signature-properties-certificate-untrusted-self-signed = Certificate: Self-signed ({ $issuer })\npdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Certificate: Untrusted issuer ({ $issuer })\npdfjs-digital-signature-properties-certificate-expired = Certificate: Expired\npdfjs-digital-signature-properties-certificate-expired-with-date = Certificate: Expired ({ DATETIME($dateObj, dateStyle: \"medium\") })\npdfjs-digital-signature-properties-certificate-revoked = Certificate: Revoked\npdfjs-digital-signature-properties-view-certificate = View certificate\npdfjs-digital-signature-properties-reason = Reason: { $reason }\npdfjs-digital-signature-properties-timestamp = Timestamp: { DATETIME($dateObj, dateStyle: \"short\", timeStyle: \"medium\") }\npdfjs-digital-signature-properties-sub-signatures =\n { $count ->\n [one] Sub-signature ({ $count })\n *[other] Sub-signatures ({ $count })\n }";
return createBundle(lang, text);
}
}
@@ -8190,7 +8052,6 @@ class SignatureStorage {
-
function initCom(app) {}
class Preferences extends BasePreferences {
async _writeToStorage(prefObj) {
@@ -8620,7 +8481,7 @@ class NewAltTextManager {
this.#uiManager = null;
}
#extractWords(text) {
- return new Set(text.toLowerCase().split(/[^\p{L}\p{N}]+/gu).filter(x => !!x));
+ return new Set(text.toLowerCase().split(/[^\p{L}\p{N}]+/gu).filter(Boolean));
}
#save() {
const altText = this.#textarea.value.trim();
@@ -9410,10 +9271,12 @@ class CaretBrowsingMode {
}
}
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.weak-map.get-or-insert.js
-var es_weak_map_get_or_insert = __webpack_require__(8454);
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.weak-map.get-or-insert-computed.js
-var es_weak_map_get_or_insert_computed = __webpack_require__(9452);
+;// ./node_modules/core-js/modules/es.weak-map.get-or-insert.js
+es_weak_map_get_or_insert_namespaceFn();
+
+;// ./node_modules/core-js/modules/es.weak-map.get-or-insert-computed.js
+es_weak_map_get_or_insert_computed_namespaceFn();
+
;// ./web/sidebar.js
const RESIZE_TIMEOUT = 400;
@@ -9741,7 +9604,7 @@ class CommentSidebar extends Sidebar {
if (ids.length === 0 || !this.#idsToElements) {
return;
}
- if (new Set(this.#idsToElements.keys()).difference(new Set(ids)).size === 0) {
+ if (new Set(this.#idsToElements.keys()).isSubsetOf(new Set(ids))) {
this.#removeAll();
return;
}
@@ -10008,10 +9871,7 @@ class CommentSidebar extends Sidebar {
if (a.rect[1] !== b.rect[1]) {
return b.rect[1] - a.rect[1];
}
- if (a.rect[2] !== b.rect[2]) {
- return a.rect[2] - b.rect[2];
- }
- return a.id.localeCompare(b.id);
+ return a.rect[2] !== b.rect[2] ? a.rect[2] - b.rect[2] : a.id.localeCompare(b.id);
}
}
class CommentDialog {
@@ -10023,6 +9883,7 @@ class CommentDialog {
#textInput;
#title;
#saveButton;
+ #saveButtonLabel;
#uiManager;
#prevDragX = 0;
#prevDragY = 0;
@@ -10043,6 +9904,7 @@ class CommentDialog {
this.#overlayManager = overlayManager;
this.#eventBus = eventBus;
this.#saveButton = saveButton;
+ this.#saveButtonLabel = saveButton.firstElementChild;
this.#title = title;
this.#isLTR = ltr;
const finishBound = this.#finish.bind(this);
@@ -10144,10 +10006,10 @@ class CommentDialog {
textInput.value = this.#previousText = this.#commentText;
if (str) {
this.#title.setAttribute("data-l10n-id", "pdfjs-editor-edit-comment-dialog-title-when-editing");
- this.#saveButton.setAttribute("data-l10n-id", "pdfjs-editor-edit-comment-dialog-save-button-when-editing");
+ this.#saveButtonLabel.setAttribute("data-l10n-id", "pdfjs-editor-edit-comment-dialog-save-button-when-editing");
} else {
this.#title.setAttribute("data-l10n-id", "pdfjs-editor-edit-comment-dialog-title-when-adding");
- this.#saveButton.setAttribute("data-l10n-id", "pdfjs-editor-edit-comment-dialog-save-button-when-adding");
+ this.#saveButtonLabel.setAttribute("data-l10n-id", "pdfjs-editor-edit-comment-dialog-save-button-when-adding");
}
if (options?.height) {
textInput.style.height = `${options.height}px`;
@@ -10207,7 +10069,7 @@ class CommentDialog {
height
} = dialog.getBoundingClientRect();
style.opacity = style.display = "";
- return shadow(this, "_dialogDimensions", {
+ return pdfjs_shadow(this, "_dialogDimensions", {
dialogWidth: width,
dialogHeight: height
});
@@ -10284,7 +10146,7 @@ class CommentPopup {
const width = container.getBoundingClientRect().width;
container.remove();
style.opacity = style.display = "";
- return shadow(this, "_popupWidth", width);
+ return pdfjs_shadow(this, "_popupWidth", width);
}
#createPopup() {
if (this.#container) {
@@ -10556,7 +10418,7 @@ class CommentPopup {
class BaseDownloadManager {
#openBlobUrls = new WeakMap();
- _triggerDownload(blobUrl, originalUrl, filename, isAttachment = false) {
+ _triggerDownload(blobUrl, originalUrl, filename, isAttachment = false, isModified = false) {
throw new Error("Not implemented: _triggerDownload");
}
_getOpenDataUrl(blobUrl, filename, dest = null) {
@@ -10588,11 +10450,11 @@ class BaseDownloadManager {
this.downloadData(data, filename, contentType);
return false;
}
- download(data, url, filename) {
+ download(data, url, filename, isModified = false) {
const blobUrl = data ? URL.createObjectURL(new Blob([data], {
type: "application/pdf"
})) : null;
- this._triggerDownload(blobUrl, url, filename);
+ this._triggerDownload(blobUrl, url, filename, false, isModified);
}
}
@@ -10783,7 +10645,6 @@ class OverlayManager {
;// ./web/password_prompt.js
-
class PasswordPrompt {
#activeCapability = null;
#updateCallback = null;
@@ -10966,7 +10827,6 @@ class BaseTreeViewer {
-
class PDFAttachmentViewer extends BaseTreeViewer {
constructor(options) {
super(options);
@@ -11284,7 +11144,7 @@ class PDFCursorTools {
}, internalOpt);
}
get _handTool() {
- return shadow(this, "_handTool", new GrabToPan({
+ return pdfjs_shadow(this, "_handTool", new GrabToPan({
element: this.container
}));
}
@@ -11296,6 +11156,7 @@ class PDFCursorTools {
+
const NON_METRIC_LOCALES = ["en-us", "en-lr", "my"];
const US_PAGE_NAMES = {
"8.5x11": "pdfjs-document-properties-page-size-name-letter",
@@ -11345,26 +11206,25 @@ class PDFDocumentProperties {
info,
metadata,
contentLength
- }, pdfPage] = await Promise.all([this.pdfDocument.getMetadata(), this.pdfDocument.getPage(currentPageNumber).catch(reason => {
+ }, pageSize] = await Promise.all([this.pdfDocument.getMetadata(), this.pdfDocument.getPage(currentPageNumber).then(pdfPage => this.#parsePageSize(pdfPage, pagesRotation), reason => {
console.error(`PDFDocumentProperties - unable to get page ${currentPageNumber}.`, reason);
- return null;
+ return undefined;
})]);
- const [fileName, fileSize, title, creationDate, modificationDate, pageSize, isLinearized] = await Promise.all([this._fileNameLookup(), this.#parseFileSize(contentLength), this._titleLookup(), this.#parseDate(metadata?.get("xmp:createdate"), info.CreationDate), this.#parseDate(metadata?.get("xmp:modifydate"), info.ModDate), this.#parsePageSize(pdfPage, pagesRotation), this.#parseLinearization(info.IsLinearized)]);
this.#fieldData = Object.freeze({
- fileName,
- fileSize,
- title,
+ fileName: this._fileNameLookup(),
+ fileSize: this.#parseFileSize(contentLength),
+ title: this._titleLookup(),
author: metadata?.get("dc:creator")?.join("\n") || info.Author,
subject: metadata?.get("dc:subject")?.join("\n") || info.Subject,
keywords: metadata?.get("pdf:keywords") || info.Keywords,
- creationDate,
- modificationDate,
+ creationDate: this.#parseDate(metadata?.get("xmp:createdate"), info.CreationDate),
+ modificationDate: this.#parseDate(metadata?.get("xmp:modifydate"), info.ModDate),
creator: metadata?.get("xmp:creatortool") || info.Creator,
producer: metadata?.get("pdf:producer") || info.Producer,
version: info.PDFFormatVersion,
pageCount: this.pdfDocument.numPages,
pageSize,
- linearized: isLinearized,
+ linearized: this.#parseLinearization(info.IsLinearized),
_currentPageNumber: currentPageNumber,
_pagesRotation: pagesRotation
});
@@ -11376,7 +11236,7 @@ class PDFDocumentProperties {
return;
}
const data = Object.assign(Object.create(null), this.#fieldData);
- data.fileSize = await this.#parseFileSize(length);
+ data.fileSize = this.#parseFileSize(length);
this.#fieldData = Object.freeze(data);
this.#updateUI();
}
@@ -11406,23 +11266,33 @@ class PDFDocumentProperties {
return;
}
for (const id in this.fields) {
- const content = this.#fieldData?.[id];
- this.fields[id].textContent = content || content === 0 ? content : "-";
+ const field = this.fields[id],
+ data = this.#fieldData?.[id];
+ if (data?.id) {
+ field.setAttribute("data-l10n-id", data.id);
+ if (data.args) {
+ field.setAttribute("data-l10n-args", JSON.stringify(data.args));
+ }
+ } else {
+ field.removeAttribute("data-l10n-id");
+ field.removeAttribute("data-l10n-args");
+ field.textContent = data || data === 0 ? data : "-";
+ }
}
}
- async #parseFileSize(b = 0) {
+ #parseFileSize(b = 0) {
const kb = b / 1024,
mb = kb / 1024;
- return kb ? this.l10n.get(mb >= 1 ? "pdfjs-document-properties-size-mb" : "pdfjs-document-properties-size-kb", {
- mb,
- kb,
- b
- }) : undefined;
+ return kb ? {
+ id: mb >= 1 ? "pdfjs-document-properties-size-mb" : "pdfjs-document-properties-size-kb",
+ args: {
+ mb,
+ kb,
+ b
+ }
+ } : undefined;
}
async #parsePageSize(pdfPage, pagesRotation) {
- if (!pdfPage) {
- return undefined;
- }
let pageSizeInches = getPageSizeInches(pdfPage);
if (pagesRotation % 180 !== 0) {
pageSizeInches = {
@@ -11461,33 +11331,48 @@ class PDFDocumentProperties {
}
}
}
- const [{
+ const {
width,
height
- }, unit, name, orientation] = await Promise.all([nonMetric ? sizeInches : sizeMillimeters, this.l10n.get(nonMetric ? "pdfjs-document-properties-page-size-unit-inches" : "pdfjs-document-properties-page-size-unit-millimeters"), nameId && this.l10n.get(nameId), this.l10n.get(isPortrait ? "pdfjs-document-properties-page-size-orientation-portrait" : "pdfjs-document-properties-page-size-orientation-landscape")]);
- return this.l10n.get(name ? "pdfjs-document-properties-page-size-dimension-name-string" : "pdfjs-document-properties-page-size-dimension-string", {
- width,
- height,
- unit,
- name,
- orientation
- });
+ } = nonMetric ? sizeInches : sizeMillimeters;
+ const ids = [nonMetric ? "pdfjs-document-properties-page-size-unit-inches" : "pdfjs-document-properties-page-size-unit-millimeters", isPortrait ? "pdfjs-document-properties-page-size-orientation-portrait" : "pdfjs-document-properties-page-size-orientation-landscape"];
+ if (nameId) {
+ ids.push(nameId);
+ }
+ const [unit, orientation, name] = await this.l10n.get(ids);
+ return {
+ id: name ? "pdfjs-document-properties-page-size-dimension-name-string" : "pdfjs-document-properties-page-size-dimension-string",
+ args: {
+ width,
+ height,
+ unit,
+ name,
+ orientation
+ }
+ };
}
- async #parseDate(metadataDate, infoDate) {
+ #parseDate(metadataDate, infoDate) {
const dateObj = Date.parse(metadataDate) || PDFDateString.toDateObject(infoDate);
- return dateObj ? this.l10n.get("pdfjs-document-properties-date-time-string", {
- dateObj: dateObj.valueOf()
- }) : undefined;
+ return dateObj ? {
+ id: "pdfjs-document-properties-date-time-string",
+ args: {
+ dateObj: dateObj.valueOf()
+ }
+ } : undefined;
}
#parseLinearization(isLinearized) {
- return this.l10n.get(isLinearized ? "pdfjs-document-properties-linearized-yes" : "pdfjs-document-properties-linearized-no");
+ return {
+ id: isLinearized ? "pdfjs-document-properties-linearized-yes" : "pdfjs-document-properties-linearized-no"
+ };
}
}
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.escape.js
-var es_regexp_escape = __webpack_require__(6069);
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.with.js
-var es_typed_array_with = __webpack_require__(9577);
+;// ./node_modules/core-js/modules/es.regexp.escape.js
+es_regexp_escape_namespaceFn();
+
+;// ./node_modules/core-js/modules/es.typed-array.with.js
+es_typed_array_with_namespaceFn();
+
;// ./web/pdf_find_utils.js
@@ -11517,6 +11402,14 @@ function getNormalizeWithNFKC() {
if (!NormalizeWithNFKC) {
const ranges = [];
const range = [];
+ const flushRange = () => {
+ if (range.length !== 2) {
+ return;
+ }
+ const [start, end] = range;
+ const first = String.fromCharCode(start);
+ ranges.push(start === end ? first : `${first}-${String.fromCharCode(end)}`);
+ };
const diacriticsRegex = /^\p{M}$/u;
for (let i = 0; i < 65536; i++) {
if (i >= 0xd800 && i <= 0xdfff) {
@@ -11524,22 +11417,15 @@ function getNormalizeWithNFKC() {
}
const c = String.fromCharCode(i);
if (c.normalize("NFKC") !== c && !diacriticsRegex.test(c)) {
- if (range.length !== 2) {
- range[0] = range[1] = i;
- continue;
- }
- if (range[1] + 1 !== i) {
- if (range[0] === range[1]) {
- ranges.push(String.fromCharCode(range[0]));
- } else {
- ranges.push(`${String.fromCharCode(range[0])}-${String.fromCharCode(range[1])}`);
- }
- range[0] = range[1] = i;
- } else {
+ if (range.length === 2 && range[1] + 1 === i) {
range[1] = i;
+ } else {
+ flushRange();
+ range[0] = range[1] = i;
}
}
}
+ flushRange();
const rangesStr = ranges.join("");
if (!NormalizeWithNFKC) {
NormalizeWithNFKC = rangesStr;
@@ -11576,7 +11462,6 @@ function getNormalizeWithNFKC() {
-
const FindState = {
FOUND: 0,
@@ -11595,7 +11480,7 @@ const FIRST_CHAR_SYLLABLES_REG_EXP = "[\\u1100-\\u1112\\ud7a4-\\ud7af\\ud84a\\ud
const NFKC_CHARS_TO_NORMALIZE = new Map();
let noSyllablesRegExp = null;
let withSyllablesRegExp = null;
-function normalize(text, options = {}) {
+function pdf_find_controller_normalize(text, options = {}) {
const syllablePositions = [];
let m;
while ((m = SYLLABLES_REG_EXP.exec(text)) !== null) {
@@ -11928,11 +11813,11 @@ class PDFFindController {
if (typeof query === "string") {
if (query !== this._rawQuery) {
this._rawQuery = query;
- [this._normalizedQuery] = normalize(query);
+ [this._normalizedQuery] = pdf_find_controller_normalize(query);
}
return this._normalizedQuery;
}
- return (query || []).filter(q => !!q).map(q => normalize(q)[0]);
+ return (query || []).filter(Boolean).map(q => pdf_find_controller_normalize(q)[0]);
}
#shouldDirtyMatch(state) {
const newQuery = state.query,
@@ -11971,10 +11856,7 @@ class PDFFindController {
if (query.startsWith(original)) {
return `${fixed}[ ]*`;
}
- if (query.endsWith(original)) {
- return `[ ]*${fixed}`;
- }
- return `[ ]*${fixed}[ ]*`;
+ return query.endsWith(original) ? `[ ]*${fixed}` : `[ ]*${fixed}[ ]*`;
};
query = query.replaceAll(SPECIAL_CHARS_REG_EXP, (match, p1, p2, p3, p4, p5) => {
if (p1) {
@@ -11998,10 +11880,17 @@ class PDFFindController {
}
return p5;
});
+ if (!query) {
+ return [false, ""];
+ }
const trailingSpaces = "[ ]*";
if (query.endsWith(trailingSpaces)) {
query = query.slice(0, query.length - trailingSpaces.length);
}
+ query = query.replaceAll(/(?:\[ \][*+]){2,}/g, spaces => `[ ]{${spaces.split("+").length - 1},}`);
+ if (query.startsWith("[ ]")) {
+ query = `(?:(? {
const [isUnicodePart, queryPart] = this.#convertToRegExpString(q, hasDiacritics);
isUnicode ||= isUnicodePart;
- return `(${queryPart})`;
- }).join("|");
+ return queryPart && `(${queryPart})`;
+ }).filter(Boolean).join("|");
}
if (!query) {
return undefined;
@@ -12119,7 +12008,7 @@ class PDFFindController {
strBuf.push("\n");
}
}
- [this._pageContents[i], this._pageDiffs[i], this._hasDiacritics[i]] = normalize(strBuf.join(""));
+ [this._pageContents[i], this._pageDiffs[i], this._hasDiacritics[i]] = pdf_find_controller_normalize(strBuf.join(""));
} catch (ex) {
if (pdfDoc !== this._pdfDocument) {
resolve();
@@ -12859,10 +12748,7 @@ class PDFHistory {
return false;
}
}
- if (!Number.isInteger(state.uid) || state.uid < 0) {
- return false;
- }
- if (state.destination === null || typeof state.destination !== "object") {
+ if (!Number.isInteger(state.uid) || state.uid < 0 || state.destination === null || typeof state.destination !== "object") {
return false;
}
return true;
@@ -13016,10 +12902,7 @@ function isDestHashesEqual(destHash, pushHash) {
}
function isDestArraysEqual(firstDest, secondDest) {
function isEntryEqual(first, second) {
- if (typeof first !== typeof second) {
- return false;
- }
- if (Array.isArray(first) || Array.isArray(second)) {
+ if (typeof first !== typeof second || Array.isArray(first) || Array.isArray(second)) {
return false;
}
if (first !== null && typeof first === "object" && second !== null) {
@@ -13232,7 +13115,6 @@ class PDFLayerViewer extends BaseTreeViewer {
-
class PDFOutlineViewer extends BaseTreeViewer {
constructor(options) {
super(options);
@@ -13569,10 +13451,7 @@ class PDFPresentationMode {
return this.#state === PresentationModeState.CHANGING || this.#state === PresentationModeState.FULLSCREEN;
}
#mouseWheel(evt) {
- if (!this.active) {
- return;
- }
- if (evt.target.closest?.(".mediaAnnotation")) {
+ if (!this.active || evt.target.closest?.(".mediaAnnotation")) {
return;
}
evt.preventDefault();
@@ -13805,8 +13684,9 @@ class PDFPresentationMode {
}
}
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.every.js
-var es_iterator_every = __webpack_require__(1148);
+;// ./node_modules/core-js/modules/es.iterator.every.js
+es_iterator_every_namespaceFn();
+
;// ./web/xfa_layer_builder.js
class XfaLayerBuilder {
@@ -13908,7 +13788,6 @@ function getXfaHtmlForPrinting(printContainer, pdfDocument) {
-
let activeService = null;
let dialog = null;
let overlayManager = null;
@@ -14159,7 +14038,7 @@ class PDFPrintServiceFactory extends BasePrintServiceFactory {
viewerApp = app;
}
static get supportsPrinting() {
- return shadow(this, "supportsPrinting", true);
+ return pdfjs_shadow(this, "supportsPrinting", true);
}
static createPrintService(params) {
if (activeService) {
@@ -14342,8 +14221,9 @@ class PDFScriptingManager {
#pdfDocument = null;
#pdfViewer = null;
#ready = false;
+ #sandboxCreated = false;
#scripting = null;
- #willPrintCapability = null;
+ #pendingDocEvents = new Map();
constructor({
eventBus,
externalServices = null,
@@ -14374,7 +14254,7 @@ class PDFScriptingManager {
}
if (objects) {
this.#objectIds = new Set();
- for (const fields of Object.values(objects)) {
+ for (const fields of objects.values()) {
for (const {
id
} of fields) {
@@ -14449,6 +14329,9 @@ class PDFScriptingManager {
actions: docActions
}
});
+ if (pdfDocument === this.#pdfDocument) {
+ this.#sandboxCreated = true;
+ }
eventBus.dispatch("sandboxcreated", {
source: this
});
@@ -14469,10 +14352,7 @@ class PDFScriptingManager {
});
}
async dispatchWillSave() {
- return this.#scripting?.dispatchEventInSandbox({
- id: "doc",
- name: "WillSave"
- });
+ return this.#dispatchDocEventAndWait("WillSave");
}
async dispatchDidSave() {
return this.#scripting?.dispatchEventInSandbox({
@@ -14481,22 +14361,28 @@ class PDFScriptingManager {
});
}
async dispatchWillPrint() {
- if (!this.#scripting) {
+ return this.#dispatchDocEventAndWait("WillPrint");
+ }
+ async #dispatchDocEventAndWait(name) {
+ if (!this.#scripting || !this.#sandboxCreated) {
return;
}
- await this.#willPrintCapability?.promise;
- this.#willPrintCapability = Promise.withResolvers();
+ const capability = Promise.withResolvers();
+ const pendingEvents = this.#pendingDocEvents.getOrInsertComputed(name, makeArr);
+ pendingEvents.push(capability);
try {
await this.#scripting.dispatchEventInSandbox({
id: "doc",
- name: "WillPrint"
+ name
});
} catch (ex) {
- this.#willPrintCapability.resolve();
- this.#willPrintCapability = null;
+ const index = pendingEvents.indexOf(capability);
+ if (index >= 0) {
+ pendingEvents.splice(index, 1);
+ }
throw ex;
}
- await this.#willPrintCapability.promise;
+ await capability.promise;
}
async dispatchDidPrint() {
return this.#scripting?.dispatchEventInSandbox({
@@ -14511,10 +14397,10 @@ class PDFScriptingManager {
return this.#ready;
}
get _pageOpenPending() {
- return shadow(this, "_pageOpenPending", new Set());
+ return pdfjs_shadow(this, "_pageOpenPending", new Set());
}
get _visitedPages() {
- return shadow(this, "_visitedPages", new Map());
+ return pdfjs_shadow(this, "_visitedPages", new Map());
}
async #updateFromSandbox(detail) {
const pdfViewer = this.#pdfViewer;
@@ -14584,9 +14470,12 @@ class PDFScriptingManager {
}
break;
case "WillPrintFinished":
- this.#willPrintCapability?.resolve();
- this.#willPrintCapability = null;
- break;
+ case "WillSaveFinished":
+ {
+ const name = command.slice(0, -"Finished".length);
+ this.#pendingDocEvents.get(name)?.shift()?.resolve();
+ break;
+ }
}
return;
}
@@ -14672,6 +14561,7 @@ class PDFScriptingManager {
}
async #destroyScripting() {
this.#objectIds = null;
+ this.#sandboxCreated = false;
if (!this.#scripting) {
this.#pdfDocument = null;
this.#destroyCapability?.resolve();
@@ -14687,8 +14577,12 @@ class PDFScriptingManager {
try {
await this.#scripting.destroySandbox();
} catch {}
- this.#willPrintCapability?.reject(new Error("Scripting destroyed."));
- this.#willPrintCapability = null;
+ for (const pendingEvents of this.#pendingDocEvents.values()) {
+ for (const capability of pendingEvents) {
+ capability.reject(new Error("Scripting destroyed."));
+ }
+ }
+ this.#pendingDocEvents.clear();
this.#eventAC?.abort();
this.#eventAC = null;
this._pageOpenPending.clear();
@@ -14702,7 +14596,6 @@ class PDFScriptingManager {
;// ./web/pdf_text_extractor.js
/* unused harmony import specifier */ var pdf_text_extractor_internalOpt;
-
class PdfTextExtractor {
#externalServices;
#textPromise;
@@ -14741,13 +14634,8 @@ class PdfTextExtractor {
}
}
-// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.find.js
-var es_iterator_find = __webpack_require__(116);
;// ./web/menu.js
-
-
-
class Menu {
#triggeringButton;
#menu;
@@ -14759,14 +14647,7 @@ class Menu {
constructor(menuContainer, triggeringButton, menuItems) {
this.#menu = menuContainer;
this.#triggeringButton = triggeringButton;
- if (Array.isArray(menuItems)) {
- this.#menuItems = menuItems;
- } else {
- this.#menuItems = [];
- for (const button of this.#menu.querySelectorAll("button")) {
- this.#menuItems.push(button);
- }
- }
+ this.#menuItems = Array.isArray(menuItems) ? menuItems : [...this.#menu.querySelectorAll("button")];
this.#setUpMenu();
}
#closeMenu() {
@@ -14845,11 +14726,11 @@ class Menu {
stopEvent(e);
break;
case "Home":
- this.#menuItems.find(item => !item.disabled && !item.classList.contains("hidden"))?.focus();
+ this.#goToFirstLast(false);
stopEvent(e);
break;
case "End":
- this.#menuItems.findLast(item => !item.disabled && !item.classList.contains("hidden"))?.focus();
+ this.#goToFirstLast(true);
stopEvent(e);
break;
default:
@@ -14885,7 +14766,7 @@ class Menu {
if (!this.#openMenuAC) {
this.#openMenu();
}
- this.#menuItems.find(item => !item.disabled && !item.classList.contains("hidden"))?.focus();
+ this.#goToFirstLast(false);
break;
case "ArrowUp":
case "End":
@@ -14893,7 +14774,7 @@ class Menu {
if (!this.#openMenuAC) {
this.#openMenu();
}
- this.#menuItems.findLast(item => !item.disabled && !item.classList.contains("hidden"))?.focus();
+ this.#goToFirstLast(true);
break;
case "Escape":
this.#closeMenu();
@@ -14917,6 +14798,13 @@ class Menu {
}
}
}
+ #goToFirstLast(last = false) {
+ const i = this.#menuItems[last ? "findLastIndex" : "findIndex"](item => !item.disabled && !item.classList.contains("hidden"));
+ if (i >= 0) {
+ this.#menuItems[i].focus();
+ this.#lastIndex = i;
+ }
+ }
destroy() {
this.#closeMenu();
this.#menuAC?.abort();
@@ -14929,7 +14817,6 @@ class Menu {
-
const DRAW_UPSCALE_FACTOR = 2;
const MAX_NUM_SCALING_STEPS = 3;
const THUMBNAIL_WIDTH = 126;
@@ -15398,11 +15285,14 @@ class PDFThumbnailViewer {
#isInPasteMode = false;
#hasUndoBarVisible = false;
#newBadge = null;
+ #l10n = null;
+ #toggleBarId = 0;
constructor({
container,
eventBus,
linkService,
renderingQueue,
+ l10n,
maxCanvasPixels,
maxCanvasDim,
pageColors,
@@ -15421,6 +15311,7 @@ class PDFThumbnailViewer {
this.eventBus = eventBus;
this.linkService = linkService;
this.renderingQueue = renderingQueue;
+ this.#l10n = l10n;
this.maxCanvasPixels = maxCanvasPixels;
this.maxCanvasDim = maxCanvasDim;
this.pageColors = pageColors || null;
@@ -15570,10 +15461,13 @@ class PDFThumbnailViewer {
return;
}
const pagesCount = this.#pagesMapper.pagesNumber;
- const data = this.hasStructuralChanges() ? this.getStructuralChanges() : [{
- document: null
- }];
- data.push(...entries);
+ const data = this.hasStructuralChanges() ? this.getStructuralChanges() : {
+ pageInfos: [{
+ document: null
+ }],
+ copyLevels: null
+ };
+ data.pageInfos.push(...entries);
this.eventBus.on("pagesloaded", () => {
this.#selectedPages = null;
this.#updateMenuEntries();
@@ -16079,9 +15973,7 @@ class PDFThumbnailViewer {
return size > 0 && size < this._thumbnails.length;
}
#toggleBar(type, message, args) {
- this.#statusBar.classList.toggle("hidden", type !== "status");
- this.#waitingBar.container.classList.toggle("hidden", type !== "waiting");
- this.#undoBar.classList.toggle("hidden", type !== "undo");
+ const id = ++this.#toggleBarId;
this.#hasUndoBarVisible = type === "undo";
switch (type) {
case "waiting":
@@ -16094,14 +15986,36 @@ class PDFThumbnailViewer {
}
break;
case "status":
- if (args) {
- this.#statusLabel.setAttribute("data-l10n-args", JSON.stringify(args));
- } else {
- this.#statusLabel.removeAttribute("data-l10n-args");
+ {
+ const label = this.#statusLabel;
+ message ||= label.getAttribute("data-l10n-id");
+ this.#l10n.get(message, args).then(text => {
+ if (id !== this.#toggleBarId) {
+ return;
+ }
+ this.#l10n.pause();
+ label.setAttribute("data-l10n-id", message);
+ if (args) {
+ label.setAttribute("data-l10n-args", JSON.stringify(args));
+ } else {
+ label.removeAttribute("data-l10n-args");
+ }
+ label.textContent = text;
+ this.#l10n.resume();
+ this.#showBar(type, !!args);
+ });
+ return;
}
- this.#newBadge?.classList.toggle("hidden", !!args);
- this.#deselectButton.classList.toggle("hidden", !args);
- break;
+ }
+ this.#showBar(type);
+ }
+ #showBar(type, hasSelection = false) {
+ this.#statusBar.classList.toggle("hidden", type !== "status");
+ this.#waitingBar.container.classList.toggle("hidden", type !== "waiting");
+ this.#undoBar.classList.toggle("hidden", type !== "undo");
+ if (type === "status") {
+ this.#newBadge?.classList.toggle("hidden", hasSelection);
+ this.#deselectButton.classList.toggle("hidden", !hasSelection);
}
}
#togglePasteMode(enable) {
@@ -16239,8 +16153,7 @@ class PDFThumbnailViewer {
}
const count = this.#selectedPages?.size || 0;
if (type === "select") {
- this.#statusLabel.setAttribute("data-l10n-id", count ? "pdfjs-views-manager-pages-status-action-label" : "pdfjs-views-manager-pages-status-none-action-label");
- this.#toggleBar("status", "", count ? {
+ this.#toggleBar("status", count ? "pdfjs-views-manager-pages-status-action-label" : "pdfjs-views-manager-pages-status-none-action-label", count ? {
count
} : null);
return;
@@ -16853,10 +16766,7 @@ class AnnotationEditorLayerBuilder {
viewport,
intent = "display"
}) {
- if (intent !== "display") {
- return;
- }
- if (this._cancelled) {
+ if (intent !== "display" || this._cancelled) {
return;
}
const clonedViewport = viewport.clone({
@@ -16895,6 +16805,15 @@ class AnnotationEditorLayerBuilder {
await this.annotationEditorLayer.render(parameters);
this.show();
}
+ update(viewport) {
+ if (this.div) {
+ this.annotationEditorLayer.update({
+ viewport: viewport.clone({
+ dontFlip: true
+ })
+ });
+ }
+ }
cancel() {
this._cancelled = true;
if (!this.div) {
@@ -16996,7 +16915,20 @@ class AnnotationLayerBuilder {
const div = this.div = document.createElement("div");
div.className = "annotationLayer";
this.#onAppend?.(div);
- this.#initAnnotationLayer(viewport, structTreeLayer);
+ this.annotationLayer = new AnnotationLayer({
+ div,
+ accessibilityManager: this._accessibilityManager,
+ annotationCanvasMap: this._annotationCanvasMap,
+ annotationEditorUIManager: this._annotationEditorUIManager,
+ annotationStorage: this.annotationStorage,
+ page: this.pdfPage,
+ viewport: viewport.clone({
+ dontFlip: true
+ }),
+ structTreeLayer,
+ commentManager: this.#commentManager,
+ linkService: this.linkService
+ });
if (annotations.length === 0) {
this.#annotations = annotations;
setLayerDimensions(this.div, viewport);
@@ -17008,6 +16940,7 @@ class AnnotationLayerBuilder {
renderForms: this.renderForms,
downloadManager: this.downloadManager,
enableComment: this.enableComment,
+ enableAnnotationEditing: true,
enableScripting: this.enableScripting,
hasJSActions,
fieldObjects,
@@ -17027,22 +16960,6 @@ class AnnotationLayerBuilder {
});
}
}
- #initAnnotationLayer(viewport, structTreeLayer) {
- this.annotationLayer = new AnnotationLayer({
- div: this.div,
- accessibilityManager: this._accessibilityManager,
- annotationCanvasMap: this._annotationCanvasMap,
- annotationEditorUIManager: this._annotationEditorUIManager,
- annotationStorage: this.annotationStorage,
- page: this.pdfPage,
- viewport: viewport.clone({
- dontFlip: true
- }),
- structTreeLayer,
- commentManager: this.#commentManager,
- linkService: this.linkService
- });
- }
cancel() {
this._cancelled = true;
this.#eventAC?.abort();
@@ -17069,12 +16986,23 @@ class AnnotationLayerBuilder {
return;
}
this.#linksInjected = true;
- const newLinks = this.#annotations.length ? this.#checkInferredLinks(inferredLinks) : inferredLinks;
- if (!newLinks.length) {
+ if (!inferredLinks.length) {
return;
}
+ let newLinks;
+ if (this.#annotations.length) {
+ newLinks = this.#checkInferredLinks(inferredLinks);
+ if (!newLinks.length) {
+ return;
+ }
+ } else {
+ newLinks = inferredLinks;
+ }
await this.annotationLayer.addLinkAnnotations(newLinks);
}
+ get linksInjected() {
+ return this.#linksInjected;
+ }
#updatePresentationModeState(state) {
if (!this.div) {
return;
@@ -17222,36 +17150,13 @@ function textPosition(container, offset) {
} while (currentContainer !== container);
throw new Error("Offset is bigger than container's contents length.");
}
-function createLinkAnnotation({
- url,
- index,
- length
-}, pdfPageView, id) {
- const highlighter = pdfPageView._textHighlighter;
- const [{
- begin,
- end
- }] = highlighter._convertMatches([index], [length]);
- const range = new Range();
- range.setStart(...textPosition(highlighter.textDivs[begin.divIdx], begin.offset));
- range.setEnd(...textPosition(highlighter.textDivs[end.divIdx], end.offset));
- return {
- id: `inferred_link_${id}`,
- unsafeUrl: url,
- url,
- annotationType: AnnotationType.LINK,
- rotation: 0,
- ...calculateLinkPosition(range, pdfPageView),
- borderStyle: null
- };
-}
class Autolinker {
static #index = 0;
static #regex;
static #numericTLDRegex;
static findLinks(text) {
- this.#regex ??= /\b(?:https?:\/\/|mailto:|www\.)(?:[\S--[\p{P}<>]]|\/|[\S--[\[\]]]+[\S--[\p{P}<>]])+|(?=\p{L})[\S--[@\p{Ps}\p{Pe}<>]]+@([\S--[[\p{P}--\-]<>]]+(?:\.[\S--[[\p{P}--\-]<>]]+)+)/gv;
- const [normalizedText, diffs] = normalize(text, {
+ this.#regex ??= /\b(?:https?:\/\/|mailto:|www\.)(?:[\S--[\p{P}<>]]|\/|[\S--[\[\]]]+[\S--[\p{P}<>]])+|(?=\p{L})[\S--[@\p{Ps}\p{Pe}<>]]{1,64}@([\S--[[\p{P}--\-]<>]]{1,63}(?:\.[\S--[[\p{P}--\-]<>]]{1,63})+)/gv;
+ const [normalizedText, diffs] = pdf_find_controller_normalize(text, {
ignoreDashEOL: true
});
const matches = normalizedText.matchAll(this.#regex);
@@ -17287,7 +17192,43 @@ class Autolinker {
return links;
}
static processLinks(pdfPageView) {
- return this.findLinks(pdfPageView._textHighlighter.textContentItemsStr.join("\n")).map(link => createLinkAnnotation(link, pdfPageView, this.#index++));
+ const highlighter = pdfPageView._textHighlighter;
+ const textContent = highlighter.textContentItemsStr.join("\n");
+ if (!textContent) {
+ return [];
+ }
+ const links = this.findLinks(textContent);
+ if (!links.length) {
+ return [];
+ }
+ const matches = highlighter._convertMatches(links.map(({
+ index
+ }) => index), links.map(({
+ length
+ }) => length));
+ const {
+ textDivs
+ } = highlighter;
+ const range = new Range();
+ return links.map(({
+ url
+ }, i) => {
+ const {
+ begin,
+ end
+ } = matches[i];
+ range.setStart(...textPosition(textDivs[begin.divIdx], begin.offset));
+ range.setEnd(...textPosition(textDivs[end.divIdx], end.offset));
+ return {
+ id: `inferred_link_${this.#index++}`,
+ unsafeUrl: url,
+ url,
+ annotationType: AnnotationType.LINK,
+ rotation: 0,
+ ...calculateLinkPosition(range, pdfPageView),
+ borderStyle: null
+ };
+ });
}
}
@@ -17339,7 +17280,9 @@ class BasePDFPageView extends RenderableView {
case RenderingStates.PAUSED:
this.div.classList.remove("loading");
this.#startTime = 0;
- this.#showCanvas?.(false);
+ if (!this.renderTask?.isWorkerRendering) {
+ this.#showCanvas?.(false);
+ }
break;
case RenderingStates.RUNNING:
this.div.classList.add("loadingIcon");
@@ -17367,7 +17310,7 @@ class BasePDFPageView extends RenderableView {
this.#showCanvas = isLastShow => {
if (updateOnFirstShow) {
let tempCanvas = this.#tempCanvas;
- if (!isLastShow && this.minDurationToUpdateCanvas > 0) {
+ if (!isLastShow && this.minDurationToUpdateCanvas > 0 && !this.renderTask?.isWorkerRendering) {
if (Date.now() - this.#startTime < this.minDurationToUpdateCanvas) {
return;
}
@@ -17409,7 +17352,9 @@ class BasePDFPageView extends RenderableView {
};
}
#renderContinueCallback = cont => {
- this.#showCanvas?.(false);
+ if (!this.renderTask?.isWorkerRendering) {
+ this.#showCanvas?.(false);
+ }
if (this.renderingQueue && !this.renderingQueue.isHighestPriority(this)) {
this.renderingState = RenderingStates.PAUSED;
this.resume = () => {
@@ -17441,6 +17386,7 @@ class BasePDFPageView extends RenderableView {
async _drawCanvas(options, onCancel, onFinish) {
const renderTask = this.renderTask = this.pdfPage.render(options);
renderTask.onContinue = this.#renderContinueCallback;
+ renderTask.onFrame = () => this.#showCanvas?.(false);
renderTask.onError = error => {
if (error instanceof RenderingCancelledException) {
onCancel();
@@ -17737,7 +17683,7 @@ class PDFPageDetailView extends BasePDFPageView {
style.top = `${area.minY * 100 / height}%`;
style.left = `${area.minX * 100 / width}%`;
const renderingPromise = this._drawCanvas(this._getRenderingContext(canvas, transform), () => {
- this.canvas?.remove();
+ this._resetCanvas();
this.canvas = prevCanvas;
}, () => {
this.pageView._refreshAnnotationLayer();
@@ -17763,23 +17709,28 @@ class PDFPageDetailView extends BasePDFPageView {
+
const PDF_ROLE_TO_HTML_ROLE = {
Document: null,
DocumentFragment: null,
Part: "group",
+ Art: "article",
Sect: "group",
Div: "group",
+ BlockQuote: "blockquote",
Aside: "note",
NonStruct: "none",
- P: null,
+ P: "paragraph",
H: "heading",
Title: null,
FENote: "note",
Sub: "group",
Lbl: null,
Span: null,
- Em: null,
- Strong: null,
+ Em: "emphasis",
+ Strong: "strong",
+ Note: "note",
+ Code: "code",
Link: "link",
Annot: "note",
Form: "form",
@@ -17799,17 +17750,18 @@ const PDF_ROLE_TO_HTML_ROLE = {
TD: "cell",
THead: "rowgroup",
TBody: "rowgroup",
- TFoot: null,
- Caption: null,
+ TFoot: "rowgroup",
+ Caption: "caption",
Figure: "figure",
Formula: null,
Artifact: null
};
+const ARIA_ROLES_WITH_PROHIBITED_NAMES = new Set(["caption", "code", "emphasis", "generic", "none", "paragraph", "strong"]);
const MathMLElements = new Set(["math", "merror", "mfrac", "mi", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mprescripts", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msubsup", "msup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover", "semantics"]);
const MathMLNamespace = "http://www.w3.org/1998/Math/MathML";
class MathMLSanitizer {
static get sanitizer() {
- return shadow(this, "sanitizer", FeatureTest.isSanitizerSupported ? new Sanitizer({
+ return pdfjs_shadow(this, "sanitizer", FeatureTest.isSanitizerSupported ? new Sanitizer({
elements: Array.from(MathMLElements.keys(), name => ({
name,
namespace: MathMLNamespace
@@ -17828,7 +17780,13 @@ class StructTreeLayerBuilder {
#promise;
#treeDom = null;
#treePromise;
+ #annotationIds = new Set();
#elementAttributes = new Map();
+ #pendingLinkOwnership = new Map();
+ #linkTextId = 0;
+ #structElementIdPrefix = `pdfjs_internal_struct_${getUuid()}_`;
+ #structElementIds = new Map();
+ #structElements = new Map();
#rawDims;
#elementsToAddToTextLayer = null;
#elementsToHideInTextLayer = null;
@@ -17848,7 +17806,10 @@ class StructTreeLayerBuilder {
} = Promise.withResolvers();
this.#treePromise = promise;
try {
- this.#treeDom = this.#walk(await this.#promise);
+ const tree = await this.#promise;
+ this.#collectStructElements(tree);
+ this.#collectAnnotations(tree);
+ this.#treeDom = this.#walk(tree);
} catch (ex) {
reject(ex);
}
@@ -17857,13 +17818,34 @@ class StructTreeLayerBuilder {
resolve(this.#treeDom);
return promise;
}
- async getAriaAttributes(annotationId) {
+ async getAriaAttributes(annotationId, {
+ enableLinkOwnership = false
+ } = {}) {
try {
await this.render();
+ const ownership = this.#pendingLinkOwnership.get(annotationId);
+ if (ownership && enableLinkOwnership) {
+ const {
+ element,
+ ids
+ } = ownership;
+ element.removeAttribute("role");
+ if (ids.length > 0) {
+ this.#elementAttributes.getOrInsertComputed(annotationId, makeMap).set("aria-owns", ids.join(" "));
+ }
+ this.#pendingLinkOwnership.delete(annotationId);
+ }
return this.#elementAttributes.get(annotationId);
} catch {}
return null;
}
+ async getAnnotationIds() {
+ try {
+ await this.render();
+ return this.#annotationIds;
+ } catch {}
+ return null;
+ }
hide() {
if (this.#treeDom && !this.#treeDom.hidden) {
this.#treeDom.hidden = true;
@@ -17874,11 +17856,66 @@ class StructTreeLayerBuilder {
this.#treeDom.hidden = false;
}
}
+ #collectStructElements(node) {
+ if (!node) {
+ return;
+ }
+ if (node.structId) {
+ this.#structElements.getOrInsert(node.structId, node);
+ }
+ for (const child of node.children || []) {
+ this.#collectStructElements(child);
+ }
+ }
+ #collectAnnotations(node) {
+ if (!node) {
+ return;
+ }
+ if (node.type === "annotation") {
+ this.#annotationIds.add(node.id);
+ return;
+ }
+ for (const child of node.children || []) {
+ this.#collectAnnotations(child);
+ }
+ }
+ #getStructElementId(structId) {
+ return this.#structElementIds.getOrInsertComputed(structId, () => `${this.#structElementIdPrefix}${this.#structElementIds.size}`);
+ }
+ #getHeaderIds(headers) {
+ const result = [],
+ visited = new Set(),
+ pending = headers.toReversed();
+ while (pending.length > 0) {
+ const structId = pending.pop();
+ if (visited.has(structId)) {
+ continue;
+ }
+ visited.add(structId);
+ const header = this.#structElements.get(structId);
+ if (header?.role !== "TH") {
+ continue;
+ }
+ result.push(this.#getStructElementId(structId));
+ if (header.headers) {
+ for (let i = header.headers.length - 1; i >= 0; i--) {
+ pending.push(header.headers[i]);
+ }
+ }
+ }
+ return result;
+ }
#setAttributes(structElement, htmlElement) {
const {
alt,
+ colSpan,
+ headers,
id,
- lang
+ lang,
+ rowSpan,
+ short,
+ structId,
+ summary
} = structElement;
if (alt !== undefined) {
let added = false;
@@ -17889,16 +17926,44 @@ class StructTreeLayerBuilder {
added = true;
}
}
- if (!added) {
- htmlElement.setAttribute("aria-label", label);
+ const role = htmlElement.getAttribute("role") || (htmlElement.localName === "span" ? "generic" : null);
+ if (!added && role !== "none") {
+ htmlElement.setAttribute(ARIA_ROLES_WITH_PROHIBITED_NAMES.has(role) ? "aria-description" : "aria-label", label);
}
}
if (id !== undefined) {
htmlElement.setAttribute("aria-owns", id);
}
+ if (structId !== undefined && this.#structElements.get(structId) === structElement) {
+ const elementId = this.#getStructElementId(structId);
+ if (short !== undefined) {
+ const abbreviation = document.createElement("span");
+ abbreviation.setAttribute("id", elementId);
+ abbreviation.setAttribute("aria-hidden", "true");
+ abbreviation.textContent = removeNullCharacters(short);
+ htmlElement.append(abbreviation);
+ } else {
+ htmlElement.setAttribute("id", elementId);
+ }
+ }
if (lang !== undefined) {
htmlElement.setAttribute("lang", removeNullCharacters(lang, true));
}
+ if (rowSpan !== undefined) {
+ htmlElement.setAttribute("aria-rowspan", rowSpan);
+ }
+ if (colSpan !== undefined) {
+ htmlElement.setAttribute("aria-colspan", colSpan);
+ }
+ if (headers?.length > 0) {
+ const headerIds = this.#getHeaderIds(headers);
+ if (headerIds.length > 0) {
+ htmlElement.setAttribute("aria-describedby", headerIds.join(" "));
+ }
+ }
+ if (summary !== undefined) {
+ htmlElement.setAttribute("aria-description", removeNullCharacters(summary));
+ }
}
#addImageInTextLayer(node, element) {
const {
@@ -18015,7 +18080,24 @@ class StructTreeLayerBuilder {
element.setAttribute("role", "heading");
element.setAttribute("aria-level", match[1]);
} else if (PDF_ROLE_TO_HTML_ROLE[role]) {
- element.setAttribute("role", role === "TH" && parentNodes.at(-1)?.role === "TR" && parentNodes.at(-2)?.role === "TBody" ? "rowheader" : PDF_ROLE_TO_HTML_ROLE[role]);
+ let htmlRole = PDF_ROLE_TO_HTML_ROLE[role];
+ if (role === "TH") {
+ if (node.scope === "Row") {
+ htmlRole = "rowheader";
+ } else if (node.scope === "Column") {
+ htmlRole = "columnheader";
+ } else if (parentNodes.at(-1)?.role === "TR" && parentNodes.at(-2)?.role === "TBody") {
+ htmlRole = "rowheader";
+ }
+ } else if (role === "Caption") {
+ const parentRole = parentNodes.at(-1)?.role;
+ if (parentRole !== "Table" && parentRole !== "Figure") {
+ htmlRole = null;
+ }
+ }
+ if (htmlRole) {
+ element.setAttribute("role", htmlRole);
+ }
}
if (role === "Figure" && this.#addImageInTextLayer(node, element)) {
return element;
@@ -18038,7 +18120,7 @@ class StructTreeLayerBuilder {
element ||= document.createElement("span");
this.#setAttributes(node, element);
if (node.children) {
- if (node.children.length === 1 && "id" in node.children[0]) {
+ if (node.children.length === 1 && !("role" in node.children[0]) && "id" in node.children[0] && element.getAttribute("role") !== "none") {
this.#setAttributes(node.children[0], element);
} else if (visitChildren) {
parentNodes.push(node);
@@ -18048,6 +18130,24 @@ class StructTreeLayerBuilder {
parentNodes.pop();
}
}
+ if (node.role === "Link") {
+ const annotations = node.children?.filter(child => child.type === "annotation");
+ if (annotations?.length === 1) {
+ const annotation = annotations[0];
+ const ids = [];
+ for (const child of element.children) {
+ if (child.getAttribute("aria-owns") === annotation.id) {
+ continue;
+ }
+ child.id ||= `${this.#structElementIdPrefix}link_${this.#linkTextId++}`;
+ ids.push(child.id);
+ }
+ this.#pendingLinkOwnership.set(annotation.id, {
+ element,
+ ids
+ });
+ }
+ }
return element;
}
}
@@ -18341,10 +18441,7 @@ class TextHighlighter {
span.className = `${className} appended`;
span.append(node);
div.append(span);
- if (className.includes("selected")) {
- return span;
- }
- return null;
+ return className.includes("selected") ? span : null;
}
div.append(node);
return 0;
@@ -18482,8 +18579,7 @@ class TextLayerBuilder {
}) {
if (this.#renderingDone && this.#textLayer) {
this.#textLayer.update({
- viewport,
- onBefore: this.hide.bind(this)
+ viewport
});
this.show();
return;
@@ -18610,6 +18706,9 @@ class TextLayerBuilder {
const activeTextLayers = new Set();
for (let i = 0; i < selection.rangeCount; i++) {
const range = selection.getRangeAt(i);
+ if (range.collapsed && !isPointerDown) {
+ continue;
+ }
for (const textLayerDiv of this.#textLayers.keys()) {
if (!activeTextLayers.has(textLayerDiv) && range.intersectsNode(textLayerDiv)) {
activeTextLayers.add(textLayerDiv);
@@ -18899,7 +18998,7 @@ class PDFPageView extends BasePDFPageView {
return !!this.annotationLayer?.hasEditableAnnotations();
}
get _textHighlighter() {
- return shadow(this, "_textHighlighter", new TextHighlighter({
+ return pdfjs_shadow(this, "_textHighlighter", new TextHighlighter({
pageIndex: this.id - 1,
eventBus: this.eventBus,
findController: this.#layerProperties.findController
@@ -18931,7 +19030,7 @@ class PDFPageView extends BasePDFPageView {
} finally {
this.#dispatchLayerRendered("annotationlayerrendered", error);
}
- if (this.#enableAutoLinking && textLayerPromise) {
+ if (this.#enableAutoLinking && textLayerPromise && !annotationLayer.linksInjected) {
this.#injectLinkAnnotations(textLayerPromise, annotationLayer, textLayer);
}
}
@@ -18994,13 +19093,14 @@ class PDFPageView extends BasePDFPageView {
});
} catch (ex) {
if (ex instanceof AbortException) {
- return;
+ return true;
}
console.error("#renderTextLayer:", ex);
error = ex;
}
this.#dispatchLayerRendered("textlayerrendered", error);
this.#renderStructTreeLayer();
+ return false;
}
async #renderStructTreeLayer() {
const treeDom = await this.structTreeLayer?.render();
@@ -19026,8 +19126,8 @@ class PDFPageView extends BasePDFPageView {
async #injectLinkAnnotations(textLayerPromise, annotationLayer, textLayer) {
let error = null;
try {
- await textLayerPromise;
- if (annotationLayer !== this.annotationLayer || textLayer !== this.textLayer) {
+ const textLayerAborted = await textLayerPromise;
+ if (textLayerAborted || annotationLayer !== this.annotationLayer || textLayer !== this.textLayer || annotationLayer.linksInjected) {
return;
}
await annotationLayer.injectLinkAnnotations(Autolinker.processLinks(this));
@@ -19202,6 +19302,7 @@ class PDFPageView extends BasePDFPageView {
}
}
this.cssTransform({});
+ this.annotationEditorLayer?.update(this.viewport);
this.reset({
keepAnnotationLayer: true,
keepAnnotationEditorLayer: true,
@@ -19256,7 +19357,7 @@ class PDFPageView extends BasePDFPageView {
if (this.structTreeLayer && !this.textLayer) {
this.structTreeLayer = null;
}
- if (this.annotationEditorLayer && (!keepAnnotationEditorLayer || !this.annotationEditorLayer.div)) {
+ if (this.annotationEditorLayer && (!keepAnnotationEditorLayer || !this.annotationEditorLayer.div || !this.textLayer)) {
if (this.drawLayer) {
this.drawLayer.cancel();
this.drawLayer = null;
@@ -19264,6 +19365,10 @@ class PDFPageView extends BasePDFPageView {
this.annotationEditorLayer.cancel();
this.annotationEditorLayer = null;
}
+ if (this.drawLayer && !this.textLayer) {
+ this.drawLayer.cancel();
+ this.drawLayer = null;
+ }
if (this.xfaLayer && (!keepXfaLayer || !this.xfaLayer.div)) {
this.xfaLayer.cancel();
this.xfaLayer = null;
@@ -19348,7 +19453,8 @@ class PDFPageView extends BasePDFPageView {
pageColors: this.pageColors,
isEditing: this.#isEditing,
recordOperations,
- recordImages
+ recordImages,
+ partialFrames: true
};
}
async draw() {
@@ -19457,7 +19563,10 @@ class PDFPageView extends BasePDFPageView {
const recordImages = this.imagesRightClickMinSize !== -1 && !this.imageCoordinates;
const transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null;
const resultPromise = this._drawCanvas(this._getRenderingContext(canvas, transform, recordBBoxes, recordImages), () => {
- prevCanvas?.remove();
+ if (prevCanvas) {
+ prevCanvas.remove();
+ prevCanvas.width = prevCanvas.height = 0;
+ }
this._resetCanvas();
}, renderTask => {
this.#useThumbnailCanvas.regularAnnotations = !renderTask.separateAnnots;
@@ -19563,7 +19672,6 @@ class PDFPageView extends BasePDFPageView {
-
const DEFAULT_CACHE_SIZE = 10;
@@ -19642,8 +19750,10 @@ class PDFViewer {
#eventAC = null;
#minDurationToUpdateCanvas = 0;
#mlManager = null;
+ #panPosition = [NaN, NaN];
#printingAllowed = true;
#scrollTimeoutId = null;
+ #staleLocation = false;
#switchAnnotationEditorModeAC = null;
#switchAnnotationEditorModeTimeoutId = null;
#copyAllInProgress = false;
@@ -19660,9 +19770,9 @@ class PDFViewer {
#savedPageViews = null;
#deletedPageNumbers = null;
constructor(options) {
- const viewerVersion = "6.2.108";
- if (version !== viewerVersion) {
- throw new Error(`The API version "${version}" does not match the Viewer version "${viewerVersion}".`);
+ const viewerVersion = "6.5.438";
+ if (pdfjs_version !== viewerVersion) {
+ throw new Error(`The API version "${pdfjs_version}" does not match the Viewer version "${viewerVersion}".`);
}
this.container = options.container;
this.viewer = options.viewer || options.container.firstElementChild;
@@ -19916,7 +20026,7 @@ class PDFViewer {
}
get _layerProperties() {
const self = this;
- return shadow(this, "_layerProperties", {
+ return pdfjs_shadow(this, "_layerProperties", {
get annotationEditorUIManager() {
return self.#annotationEditorUIManager;
},
@@ -19963,14 +20073,14 @@ class PDFViewer {
this.#setPrintingAllowed(true);
return params;
}
- this.#setPrintingAllowed(permissions.includes(PermissionFlag.PRINT_HIGH_QUALITY) || permissions.includes(PermissionFlag.PRINT));
- if (!permissions.includes(PermissionFlag.COPY) && this.#textLayerMode === TextLayerMode.ENABLE) {
+ this.#setPrintingAllowed(permissions.has(PermissionFlag.PRINT_HIGH_QUALITY) || permissions.has(PermissionFlag.PRINT));
+ if (!permissions.has(PermissionFlag.COPY) && this.#textLayerMode === TextLayerMode.ENABLE) {
params.textLayerMode = TextLayerMode.ENABLE_PERMISSIONS;
}
- if (!permissions.includes(PermissionFlag.MODIFY_CONTENTS)) {
+ if (!permissions.has(PermissionFlag.MODIFY_CONTENTS)) {
params.annotationEditorMode = AnnotationEditorType.DISABLE;
}
- if (!permissions.includes(PermissionFlag.MODIFY_ANNOTATIONS) && !permissions.includes(PermissionFlag.FILL_INTERACTIVE_FORMS) && this.#annotationMode === AnnotationMode.ENABLE_FORMS) {
+ if (!permissions.has(PermissionFlag.MODIFY_ANNOTATIONS) && !permissions.has(PermissionFlag.FILL_INTERACTIVE_FORMS) && this.#annotationMode === AnnotationMode.ENABLE_FORMS) {
params.annotationMode = AnnotationMode.ENABLE;
}
return params;
@@ -20065,7 +20175,9 @@ class PDFViewer {
this._scriptingManager?.setDocument(null);
this.#annotationEditorUIManager?.destroy();
this.#annotationEditorUIManager = null;
- this.#annotationEditorMode = AnnotationEditorType.NONE;
+ if (this.#annotationEditorMode !== AnnotationEditorType.DISABLE) {
+ this.#annotationEditorMode = AnnotationEditorType.NONE;
+ }
this.#printingAllowed = true;
}
this.pdfDocument = pdfDocument;
@@ -20077,7 +20189,9 @@ class PDFViewer {
const optionalContentConfigPromise = pdfDocument.getOptionalContentConfig({
intent: "display"
});
- const permissionsPromise = this.#enablePermissions ? pdfDocument.getPermissions() : Promise.resolve();
+ const permissionsPromise = this.#enablePermissions ? pdfDocument.getPermissions().catch(reason => {
+ console.error("getPermissions", reason);
+ }) : Promise.resolve();
const {
eventBus,
pageColors,
@@ -20145,7 +20259,7 @@ class PDFViewer {
if (pdfDocument.isPureXfa) {
console.warn("Warning: XFA-editing is not implemented.");
} else if (isValidAnnotationEditorMode(mode)) {
- this.#annotationEditorUIManager = new AnnotationEditorUIManager(this.container, viewer, this.#viewerAlert, this.#altTextManager, this.#commentManager, this.#signatureManager, eventBus, pdfDocument, pageColors, this.#annotationEditorHighlightColors, this.#enableHighlightFloatingButton, this.#enableUpdatedAddImage, this.#enableNewAltTextWhenAddingImage, this.#mlManager, this.#editorUndoBar, this.#supportsPinchToZoom);
+ this.#annotationEditorUIManager = new AnnotationEditorUIManager(this.container, viewer, this.#viewerAlert, this.#altTextManager, this.#commentManager, this.#signatureManager, eventBus, pdfDocument, pageColors, this.#annotationEditorHighlightColors, this.#enableHighlightFloatingButton, this.#enableUpdatedAddImage, this.#enableNewAltTextWhenAddingImage, this.#mlManager, this.#editorUndoBar, this.#supportsPinchToZoom, false);
eventBus.dispatch("annotationeditoruimanager", {
source: this,
uiManager: this.#annotationEditorUIManager
@@ -20427,6 +20541,7 @@ class PDFViewer {
const pageNumber = this._currentPageNumber,
state = this.#scrollModePageState,
viewer = this.viewer;
+ this.l10n.pause();
viewer.textContent = "";
state.pages.length = 0;
if (this._spreadMode === SpreadMode.NONE && !this.isInPresentationMode) {
@@ -20462,6 +20577,7 @@ class PDFViewer {
}
viewer.append(spread);
}
+ this.l10n.resume();
state.scrollDown = pageNumber >= state.previousPageNumber;
state.previousPageNumber = pageNumber;
}
@@ -20512,15 +20628,46 @@ class PDFViewer {
#isSameScale(newScale) {
return newScale === this._currentScale || Math.abs(newScale - this._currentScale) < 1e-15;
}
+ panBy(dx, dy) {
+ const {
+ container
+ } = this;
+ const position = this.#panPosition;
+ const {
+ scrollLeft,
+ scrollTop
+ } = container;
+ const left = (Math.abs(scrollLeft - position[0]) < 1 ? position[0] : scrollLeft) - dx;
+ const top = (Math.abs(scrollTop - position[1]) < 1 ? position[1] : scrollTop) - dy;
+ position[0] = left;
+ position[1] = top;
+ container.scrollLeft = left;
+ container.scrollTop = top;
+ this.#staleLocation = true;
+ }
+ #refreshLocation() {
+ if (!this.#staleLocation) {
+ return;
+ }
+ const {
+ first
+ } = this._getVisiblePages();
+ if (first) {
+ this._updateLocation(first);
+ }
+ }
#setScaleUpdatePages(newScale, newValue, {
noScroll = false,
preset = false,
drawingDelay = -1,
- origin = null
+ origin = null,
+ pan = null
}) {
- this.clearSelection();
this._currentScaleValue = newValue.toString();
if (this.#isSameScale(newScale)) {
+ if (pan && !noScroll) {
+ this.panBy(pan[0], pan[1]);
+ }
if (preset) {
this.eventBus.dispatch("scalechanging", {
source: this,
@@ -20530,6 +20677,7 @@ class PDFViewer {
}
return;
}
+ this.clearSelection();
this.viewer.style.setProperty("--scale-factor", newScale * PixelsPerInch.PDF_TO_CSS_UNITS);
const postponeDrawing = drawingDelay >= 0 && drawingDelay < 1000;
this.refresh(true, {
@@ -20545,6 +20693,7 @@ class PDFViewer {
const previousScale = this._currentScale;
this._currentScale = newScale;
if (!noScroll) {
+ this.#refreshLocation();
let page = this._currentPageNumber,
dest;
if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {
@@ -20558,11 +20707,16 @@ class PDFViewer {
destArray: dest,
allowNegativeOffset: true
});
+ let dx = pan?.[0] ?? 0,
+ dy = pan?.[1] ?? 0;
if (Array.isArray(origin)) {
const scaleDiff = newScale / previousScale - 1;
const [top, left] = this.containerTopLeft;
- this.container.scrollLeft += (origin[0] - left) * scaleDiff;
- this.container.scrollTop += (origin[1] - top) * scaleDiff;
+ dx -= (origin[0] - left) * scaleDiff;
+ dy -= (origin[1] - top) * scaleDiff;
+ }
+ if (dx || dy) {
+ this.panBy(dx, dy);
}
}
this.eventBus.dispatch("scalechanging", {
@@ -20575,10 +20729,7 @@ class PDFViewer {
}
}
get #pageWidthScaleFactor() {
- if (this._spreadMode !== SpreadMode.NONE && this._scrollMode !== ScrollMode.HORIZONTAL) {
- return 2;
- }
- return 1;
+ return this._spreadMode !== SpreadMode.NONE && this._scrollMode !== ScrollMode.HORIZONTAL ? 2 : 1;
}
#setScale(value, options) {
let scale = parseFloat(value);
@@ -20643,10 +20794,7 @@ class PDFViewer {
return null;
}
const i = this._pageLabels.indexOf(label);
- if (i < 0) {
- return null;
- }
- return i + 1;
+ return i < 0 ? null : i + 1;
}
scrollPageIntoView({
pageNumber,
@@ -20756,6 +20904,7 @@ class PDFViewer {
});
}
_updateLocation(firstPage) {
+ this.#staleLocation = false;
const currentScale = this._currentScale;
const currentScaleValue = this._currentScaleValue;
const normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;
@@ -20763,17 +20912,16 @@ class PDFViewer {
const currentPageView = this._pages[pageNumber - 1];
const container = this.container;
const topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);
- const intLeft = Math.round(topLeft[0]);
- const intTop = Math.round(topLeft[1]);
+ const [left, top] = topLeft;
let pdfOpenParams = `#page=${pageNumber}`;
if (!this.isInPresentationMode) {
- pdfOpenParams += `&zoom=${normalizedScaleValue},${intLeft},${intTop}`;
+ pdfOpenParams += `&zoom=${normalizedScaleValue},` + `${Math.round(left)},${Math.round(top)}`;
}
this._location = {
pageNumber,
scale: normalizedScaleValue,
- top: intTop,
- left: intLeft,
+ top,
+ left,
rotation: this._pagesRotation,
pdfOpenParams
};
@@ -20862,10 +21010,10 @@ class PDFViewer {
return this.presentationModeState === PresentationModeState.CHANGING;
}
get isHorizontalScrollbarEnabled() {
- return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;
+ return !this.isInPresentationMode && this.container.scrollWidth > this.container.clientWidth;
}
get isVerticalScrollbarEnabled() {
- return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;
+ return !this.isInPresentationMode && this.container.scrollHeight > this.container.clientHeight;
}
_getVisiblePages() {
const views = this._scrollMode === ScrollMode.PAGE ? this.#scrollModePageState.pages : this._pages,
@@ -21068,6 +21216,7 @@ class PDFViewer {
if (this._scrollMode === ScrollMode.PAGE) {
this.#ensurePageViewVisible();
} else {
+ this.l10n.pause();
viewer.textContent = "";
if (this._spreadMode === SpreadMode.NONE) {
for (const pageView of this._pages) {
@@ -21088,6 +21237,7 @@ class PDFViewer {
spread.append(pages[i].div);
}
}
+ this.l10n.resume();
}
if (!pageNumber) {
return;
@@ -21137,7 +21287,7 @@ class PDFViewer {
}
}
} else {
- for (let i = currentIndex + 1, ii = numPages; i < ii; i++) {
+ for (let i = currentIndex + 1; i < numPages; i++) {
const currentId = yArray[i],
expectedId = yArray[i - 1] + 1;
if (currentId > expectedId) {
@@ -21221,7 +21371,8 @@ class PDFViewer {
drawingDelay,
scaleFactor = null,
steps = null,
- origin
+ origin,
+ pan = null
}) {
if (steps === null && scaleFactor === null) {
throw new Error("Invalid updateScale options: either `steps` or `scaleFactor` must be provided.");
@@ -21244,7 +21395,8 @@ class PDFViewer {
this.#setScale(newScale, {
noScroll: false,
drawingDelay,
- origin
+ origin,
+ pan
});
}
increaseScale(options = {}) {
@@ -21679,7 +21831,6 @@ class SecondaryToolbar {
-
const DEFAULT_HEIGHT_IN_PAGE = 40;
class SignatureManager {
#addButton;
@@ -21821,7 +21972,7 @@ class SignatureManager {
passive: true
});
this.#initTabButtons(typeButton, drawButton, imageButton, panels);
- imagePicker.accept = SupportedImageMimeTypes.join(",");
+ imagePicker.accept = SupportedImageMimeTypes.keys().join(",");
eventBus.on("storedsignatureschanged", this.#signaturesChanged.bind(this), internalOpt);
overlayManager.register(dialog);
}
@@ -22109,7 +22260,7 @@ class SignatureManager {
}, passiveOptions);
this.#imagePicker.addEventListener("change", async () => {
const file = this.#imagePicker.files?.[0];
- if (!file || !SupportedImageMimeTypes.includes(file.type)) {
+ if (!file || !SupportedImageMimeTypes.has(file.type)) {
this.#showError("Upload");
this.#dialog.classList.toggle("waiting", false);
return;
@@ -22126,7 +22277,7 @@ class SignatureManager {
for (const {
type
} of dataTransfer.items) {
- if (!SupportedImageMimeTypes.includes(type)) {
+ if (!SupportedImageMimeTypes.has(type)) {
continue;
}
dataTransfer.dropEffect = dataTransfer.effectAllowed === "copy" ? "copy" : "move";
@@ -22145,7 +22296,7 @@ class SignatureManager {
return;
}
for (const file of files) {
- if (SupportedImageMimeTypes.includes(file.type)) {
+ if (SupportedImageMimeTypes.has(file.type)) {
this.#extractSignature(file);
break;
}
@@ -23342,7 +23493,7 @@ class Toolbar {
eventBus.on("mainhighlightcolorpickerupdatecolor", ({
value
}) => {
- this.#colorPicker?.updateColor(value);
+ this.#colorPicker?.update(value);
}, internalOpt);
}
}
@@ -23436,28 +23587,20 @@ class Toolbar {
const DEFAULT_VIEW_HISTORY_CACHE_SIZE = 20;
class ViewHistory {
constructor(fingerprint, cacheSize = DEFAULT_VIEW_HISTORY_CACHE_SIZE) {
- this.fingerprint = fingerprint;
- this.cacheSize = cacheSize;
this._initializedPromise = this._readFromStorage().then(databaseStr => {
const database = JSON.parse(databaseStr || "{}");
let index = -1;
if (!Array.isArray(database.files)) {
database.files = [];
} else {
- while (database.files.length >= this.cacheSize) {
+ while (database.files.length >= cacheSize) {
database.files.shift();
}
- for (let i = 0, ii = database.files.length; i < ii; i++) {
- const branch = database.files[i];
- if (branch.fingerprint === this.fingerprint) {
- index = i;
- break;
- }
- }
+ index = database.files.findIndex(branch => branch.fingerprint === fingerprint);
}
if (index === -1) {
index = database.files.push({
- fingerprint: this.fingerprint
+ fingerprint
}) - 1;
}
this.file = database.files[index];
@@ -23471,11 +23614,6 @@ class ViewHistory {
async _readFromStorage() {
return localStorage.getItem("pdfjs.history");
}
- async set(name, val) {
- await this._initializedPromise;
- this.file[name] = val;
- return this._writeToStorage();
- }
async setMultiple(properties) {
await this._initializedPromise;
for (const name in properties) {
@@ -23483,11 +23621,6 @@ class ViewHistory {
}
return this._writeToStorage();
}
- async get(name, defaultValue) {
- await this._initializedPromise;
- const val = this.file[name];
- return val !== undefined ? val : defaultValue;
- }
async getMultiple(properties) {
await this._initializedPromise;
const values = Object.create(null);
@@ -23881,7 +24014,6 @@ class ViewsManager extends Sidebar {
-
const FORCE_PAGES_LOADED_TIMEOUT = 10000;
@@ -23931,6 +24063,7 @@ const PDFViewerApplication = {
baseUrl: "",
mlManager: null,
_downloadUrl: "",
+ _isMergedDocument: false,
_eventBusAC: null,
_windowAC: null,
_globalAbortController: new AbortController(),
@@ -24134,7 +24267,12 @@ const PDFViewerApplication = {
if (appConfig.editorUndoBar) {
this.editorUndoBar = new EditorUndoBar(appConfig.editorUndoBar, eventBus);
}
- const signatureManager = AppOptions.get("enableSignatureEditor") && appConfig.addSignatureDialog ? new SignatureManager(appConfig.addSignatureDialog, appConfig.editSignatureDialog, appConfig.annotationEditorParams?.editorSignatureAddSignature || null, overlayManager, l10n, externalServices.createSignatureStorage(eventBus, abortSignal), eventBus) : null;
+ let signatureManager = null;
+ if (AppOptions.get("enableSignatureEditor")) {
+ if (appConfig.addSignatureDialog) {
+ signatureManager = new SignatureManager(appConfig.addSignatureDialog, appConfig.editSignatureDialog, appConfig.annotationEditorParams?.editorSignatureAddSignature || null, overlayManager, l10n, externalServices.createSignatureStorage(eventBus, abortSignal), eventBus);
+ }
+ }
const commentManager = AppOptions.get("enableComment") && appConfig.editCommentDialog ? new CommentManager(appConfig.editCommentDialog, {
learnMoreUrl: AppOptions.get("commentLearnMoreUrl"),
sidebar: appConfig.annotationEditorParams?.editorCommentsSidebar || null,
@@ -24199,6 +24337,7 @@ const PDFViewerApplication = {
eventBus,
renderingQueue,
linkService,
+ l10n,
maxCanvasPixels,
maxCanvasDim,
pageColors,
@@ -24258,7 +24397,7 @@ const PDFViewerApplication = {
this.toolbar = new Toolbar(appConfig.toolbar, eventBus, AppOptions.get("toolbarDensity"));
}
if (appConfig.secondaryToolbar) {
- if (AppOptions.get("enableAltText")) {
+ if (AppOptions.get("enableAltText") && this.imageAltTextSettings) {
appConfig.secondaryToolbar.imageAltTextSettingsButton?.classList.remove("hidden");
appConfig.secondaryToolbar.imageAltTextSettingsSeparator?.classList.remove("hidden");
}
@@ -24329,11 +24468,7 @@ const PDFViewerApplication = {
const queryString = document.location.search.substring(1);
const params = parseQueryString(queryString);
file = params.get("file") ?? AppOptions.get("defaultUrl");
- try {
- file = new URL(file).href;
- } catch {
- file = encodeURIComponent(file).replaceAll("%2F", "/");
- }
+ file = URL.parse(file)?.href ?? file.replaceAll("#", "%23");
validateFileURL(file);
const fileInput = this._openFileInput = document.createElement("input");
fileInput.id = "fileInput";
@@ -24404,7 +24539,7 @@ const PDFViewerApplication = {
}
},
get externalServices() {
- return shadow(this, "externalServices", new ExternalServices());
+ return pdfjs_shadow(this, "externalServices", new ExternalServices());
},
get initialized() {
return this._initializedCapability.settled;
@@ -24412,7 +24547,7 @@ const PDFViewerApplication = {
get initializedPromise() {
return this._initializedCapability.promise;
},
- updateZoom(steps, scaleFactor, origin) {
+ updateZoom(steps, scaleFactor, origin, pan = null) {
if (this.pdfViewer.isInPresentationMode) {
return;
}
@@ -24420,7 +24555,8 @@ const PDFViewerApplication = {
drawingDelay: AppOptions.get("defaultZoomDelay"),
steps,
scaleFactor,
- origin
+ origin,
+ pan
});
},
zoomIn() {
@@ -24435,15 +24571,25 @@ const PDFViewerApplication = {
}
this.pdfViewer.currentScaleValue = (/* inlined export .DEFAULT_SCALE_VALUE */"auto");
},
- touchPinchCallback(origin, prevDistance, distance) {
+ touchPinchCallback(origin, prevDistance, distance, panX, panY) {
+ const pan = [panX, panY];
if (this.supportsPinchToZoom) {
const newScaleFactor = this._accumulateFactor(this.pdfViewer.currentScale, distance / prevDistance, "_touchUnusedFactor");
- this.updateZoom(null, newScaleFactor, origin);
+ this.updateZoom(null, newScaleFactor, origin, pan);
} else {
const PIXELS_PER_LINE_SCALE = 30;
const ticks = this._accumulateTicks((distance - prevDistance) / PIXELS_PER_LINE_SCALE, "_touchUnusedTicks");
- this.updateZoom(ticks, null, origin);
+ this.updateZoom(ticks, null, origin, pan);
+ }
+ },
+ touchPanCallback(dx, dy) {
+ const {
+ pdfViewer
+ } = this;
+ if (!this.pdfDocument || pdfViewer.isInPresentationMode) {
+ return;
}
+ pdfViewer.panBy(dx, dy);
},
touchPinchEndCallback() {
this._touchUnusedTicks = 0;
@@ -24459,27 +24605,27 @@ const PDFViewerApplication = {
this.pdfViewer.currentPageNumber = val;
},
get supportsPrinting() {
- return shadow(this, "supportsPrinting", AppOptions.get("supportsPrinting") && PDFPrintServiceFactory.supportsPrinting);
+ return pdfjs_shadow(this, "supportsPrinting", AppOptions.get("supportsPrinting") && PDFPrintServiceFactory.supportsPrinting);
},
get supportsFullscreen() {
- return shadow(this, "supportsFullscreen", document.fullscreenEnabled);
+ return pdfjs_shadow(this, "supportsFullscreen", document.fullscreenEnabled);
},
get supportsPinchToZoom() {
- return shadow(this, "supportsPinchToZoom", AppOptions.get("supportsPinchToZoom"));
+ return pdfjs_shadow(this, "supportsPinchToZoom", AppOptions.get("supportsPinchToZoom"));
},
get supportsIntegratedFind() {
- return shadow(this, "supportsIntegratedFind", AppOptions.get("supportsIntegratedFind"));
+ return pdfjs_shadow(this, "supportsIntegratedFind", AppOptions.get("supportsIntegratedFind"));
},
get loadingBar() {
const barElement = document.getElementById("loadingBar");
const bar = barElement ? new ProgressBar(barElement) : null;
- return shadow(this, "loadingBar", bar);
+ return pdfjs_shadow(this, "loadingBar", bar);
},
get supportsMouseWheelZoomCtrlKey() {
- return shadow(this, "supportsMouseWheelZoomCtrlKey", AppOptions.get("supportsMouseWheelZoomCtrlKey"));
+ return pdfjs_shadow(this, "supportsMouseWheelZoomCtrlKey", AppOptions.get("supportsMouseWheelZoomCtrlKey"));
},
get supportsMouseWheelZoomMetaKey() {
- return shadow(this, "supportsMouseWheelZoomMetaKey", AppOptions.get("supportsMouseWheelZoomMetaKey"));
+ return pdfjs_shadow(this, "supportsMouseWheelZoomMetaKey", AppOptions.get("supportsMouseWheelZoomMetaKey"));
},
get supportsCaretBrowsingMode() {
return AppOptions.get("supportsCaretBrowsingMode");
@@ -24566,6 +24712,7 @@ const PDFViewerApplication = {
this.url = "";
this.baseUrl = "";
this._downloadUrl = "";
+ this._isMergedDocument = false;
this.documentInfo = null;
this.metadata = null;
this._contentDispositionFilename = null;
@@ -24641,7 +24788,7 @@ const PDFViewerApplication = {
try {
data = await (this.pdfDocument ? this.pdfDocument.getData() : this.pdfLoadingTask.getData());
} catch {}
- this.downloadManager.download(data, this._downloadUrl, this._docFilename);
+ this.downloadManager.download(data, this._downloadUrl, this._docFilename, this._isMergedDocument);
},
async save() {
if (!this.downloadManager) {
@@ -24651,16 +24798,26 @@ const PDFViewerApplication = {
return;
}
this._saveInProgress = true;
- await this.pdfScriptingManager.dispatchWillSave();
+ const {
+ pdfDocument
+ } = this;
try {
- const data = await this.pdfDocument.saveDocument();
- this.downloadManager.download(data, this._downloadUrl, this._docFilename);
+ await this.pdfScriptingManager.dispatchWillSave();
+ const data = await pdfDocument.saveDocument(this.externalServices.printToPDF);
+ this.downloadManager.download(data, this._downloadUrl, this._docFilename, true);
} catch (reason) {
console.error(`Error when saving the document:`, reason);
- await this.download();
+ if (pdfDocument === this.pdfDocument) {
+ await this.download();
+ }
} finally {
- await this.pdfScriptingManager.dispatchDidSave();
- this._saveInProgress = false;
+ try {
+ if (pdfDocument === this.pdfDocument) {
+ await this.pdfScriptingManager.dispatchDidSave();
+ }
+ } finally {
+ this._saveInProgress = false;
+ }
}
const editorStats = this.pdfDocument?.annotationStorage.editorStats;
if (editorStats) {
@@ -24682,22 +24839,25 @@ const PDFViewerApplication = {
classList
} = this.appConfig.appContainer;
classList.add("wait");
- if (this.pdfThumbnailViewer?.hasStructuralChanges()) {
- this.externalServices.reportTelemetry({
- type: "pageOrganization",
- data: {
- action: "save"
- }
- });
- await this.onSavePages({
- data: this.pdfThumbnailViewer.getStructuralChanges()
- });
- } else {
- await (this.pdfDocument?.annotationStorage.size > 0 ? this.save() : this.download());
+ try {
+ if (this.pdfThumbnailViewer?.hasStructuralChanges()) {
+ this.externalServices.reportTelemetry({
+ type: "pageOrganization",
+ data: {
+ action: "save"
+ }
+ });
+ await this.onSavePages({
+ data: this.pdfThumbnailViewer.getStructuralChanges()
+ });
+ } else {
+ await (this.pdfDocument?.annotationStorage.size > 0 ? this.save() : this.download());
+ }
+ delete this._mergedDocumentNeedsSaving;
+ } finally {
+ this.setTitle();
+ classList.remove("wait");
}
- delete this._mergedDocumentNeedsSaving;
- this.setTitle();
- classList.remove("wait");
},
async _documentError(key, moreInfo = null) {
this._unblockDocumentLoadEvent();
@@ -24710,7 +24870,7 @@ const PDFViewerApplication = {
},
async _otherError(key, moreInfo = null) {
const message = await this.l10n.get(key);
- const moreInfoText = [`PDF.js v${version || "?"} (build: ${build || "?"})`];
+ const moreInfoText = [`PDF.js v${pdfjs_version || "?"} (build: ${build || "?"})`];
if (moreInfo) {
moreInfoText.push(`Message: ${moreInfo.message}`);
if (moreInfo.stack) {
@@ -24870,6 +25030,15 @@ const PDFViewerApplication = {
outline,
pdfDocument
});
+ }, reason => {
+ if (pdfDocument !== this.pdfDocument) {
+ return;
+ }
+ console.error("getOutline", reason);
+ this.pdfOutlineViewer.render({
+ outline: null,
+ pdfDocument
+ });
});
}
if (this.pdfAttachmentViewer) {
@@ -24880,6 +25049,14 @@ const PDFViewerApplication = {
this.pdfAttachmentViewer.render({
attachments
});
+ }, reason => {
+ if (pdfDocument !== this.pdfDocument) {
+ return;
+ }
+ console.error("getAttachments", reason);
+ this.pdfAttachmentViewer.render({
+ attachments: null
+ });
});
}
if (this.pdfLayerViewer) {
@@ -24939,7 +25116,7 @@ const PDFViewerApplication = {
let triggerAutoPrint = openAction?.get("action") === "Print";
if (jsActions) {
console.warn("Warning: JavaScript support is not enabled");
- for (const name in jsActions) {
+ for (const [name, actions] of jsActions) {
if (triggerAutoPrint) {
break;
}
@@ -24951,7 +25128,7 @@ const PDFViewerApplication = {
case "DidPrint":
continue;
}
- triggerAutoPrint = jsActions[name].some(js => AutoPrintRegExp.test(js));
+ triggerAutoPrint = actions.some(js => AutoPrintRegExp.test(js));
}
}
if (triggerAutoPrint) {
@@ -24977,7 +25154,7 @@ const PDFViewerApplication = {
this.metadata = metadata;
this._contentDispositionFilename ??= contentDispositionFilename;
this._contentLength ??= contentLength;
- console.log(`PDF ${pdfDocument.fingerprints[0]} [${info.PDFFormatVersion} ` + `${(metadata?.get("pdf:producer") || info.Producer || "-").trim()} / ` + `${(metadata?.get("xmp:creatortool") || info.Creator || "-").trim()}` + `] (PDF.js: ${version || "?"} [${build || "?"}])`);
+ console.log(`PDF ${pdfDocument.fingerprints[0]} [${info.PDFFormatVersion} ` + `${(metadata?.get("pdf:producer") || info.Producer || "-").trim()} / ` + `${(metadata?.get("xmp:creatortool") || info.Creator || "-").trim()}` + `] (PDF.js: ${pdfjs_version || "?"} [${build || "?"}])`);
const pdfTitle = this._docTitle;
if (pdfTitle) {
this.setTitle(`${pdfTitle} - ${this._contentDispositionFilename || this._title}`);
@@ -25293,6 +25470,7 @@ const PDFViewerApplication = {
isPinchingStopped: () => this.overlayManager?.active,
onPinching: this.touchPinchCallback.bind(this),
onPinchEnd: this.touchPinchEndCallback.bind(this),
+ onPanning: this.touchPanCallback.bind(this),
signal
});
function addWindowResolutionChange(evt = null) {
@@ -25420,37 +25598,43 @@ const PDFViewerApplication = {
this.pdfViewer.onPagesEdited(data);
},
async onSavePages({
- data: extractParams
- }) {
- if (!this.downloadManager) {
- return;
+ data: {
+ pageInfos,
+ copyLevels
}
- if (!this.pdfDocument) {
+ }) {
+ if (!this.downloadManager || !this.pdfDocument) {
return;
}
- const modifiedPdfBytes = await this.pdfDocument.extractPages(extractParams);
+ const modifiedPdfBytes = await this.pdfDocument.extractPages(pageInfos, copyLevels);
if (!modifiedPdfBytes) {
console.error("Something wrong happened when saving the edited PDF.\nPlease file a bug.");
return;
}
- this.downloadManager.download(modifiedPdfBytes, this._downloadUrl, this._docFilename);
+ this.downloadManager.download(modifiedPdfBytes, this._downloadUrl, this._docFilename, true);
},
async onSaveAndLoad({
- data: extractParams
+ data: {
+ pageInfos,
+ copyLevels
+ }
}) {
if (!this.pdfDocument) {
return;
}
- const modifiedPdfBytes = await this.pdfDocument.extractPages(extractParams);
+ const modifiedPdfBytes = await this.pdfDocument.extractPages(pageInfos, copyLevels);
if (!modifiedPdfBytes) {
console.error("Something wrong happened when saving the edited PDF.\nPlease file a bug.");
return;
}
this._mergedDocumentNeedsSaving = true;
- this.open({
+ const downloadUrl = this._downloadUrl;
+ await this.open({
data: modifiedPdfBytes,
filename: this._docFilename
});
+ this._downloadUrl = downloadUrl;
+ this._isMergedDocument = true;
},
_accumulateTicks(ticks, prop) {
if (this[prop] > 0 && ticks < 0 || this[prop] < 0 && ticks > 0) {
@@ -25465,12 +25649,10 @@ const PDFViewerApplication = {
if (factor === 1) {
return 1;
}
- if (this[prop] > 1 && factor < 1 || this[prop] < 1 && factor > 1) {
- this[prop] = 1;
- }
- const newFactor = Math.floor(previousScale * factor * this[prop] * 100) / (100 * previousScale);
- this[prop] = factor / newFactor;
- return newFactor;
+ const target = MathClamp(previousScale * factor * this[prop], (/* inlined export .MIN_SCALE */0.1), (/* inlined export .MAX_SCALE */25));
+ const newScale = Math.round(target * 100) / 100;
+ this[prop] = target / newScale;
+ return newScale / previousScale;
},
_unblockDocumentLoadEvent() {
document.blockUnblockOnload?.(false);
@@ -25592,7 +25774,9 @@ function onSidebarViewChanged({
}) {
this.pdfRenderingQueue.isThumbnailViewEnabled = view === SidebarView.THUMBS;
if (this.isInitialViewSet) {
- this.store?.set("sidebarView", view).catch(() => {});
+ this.store?.setMultiple({
+ sidebarView: view
+ }).catch(() => {});
}
}
function onUpdateViewarea({
@@ -25613,7 +25797,9 @@ function onUpdateViewarea({
}
function onViewerModesChanged(name, evt) {
if (this.isInitialViewSet && !this.pdfViewer.isInPresentationMode) {
- this.store?.set(name, evt.mode).catch(() => {});
+ this.store?.setMultiple({
+ [name]: evt.mode
+ }).catch(() => {});
}
}
function onResize() {
diff --git a/packages/pdfjs-viewer/viewer/viewer.mjs.map b/packages/pdfjs-viewer/viewer/viewer.mjs.map
index ddacdeefc38..18d3952d42b 100644
--- a/packages/pdfjs-viewer/viewer/viewer.mjs.map
+++ b/packages/pdfjs-viewer/viewer/viewer.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"viewer.mjs","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAa;AACb,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,kBAAkB,mBAAO,CAAC,IAA4B;;AAEtD;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVa;AACb,0BAA0B,mBAAO,CAAC,IAAoC;;AAEtE;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACTa;AACb,UAAU,+BAAuC;;AAEjD;AACA;AACA;AACA;AACA;;;;;;;;ACPa;AACb;;AAEA;AACA;AACA;AACA;;;;;;;;ACNa;AACb,qBAAqB,mBAAO,CAAC,IAA+B;;AAE5D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACXa;AACb,UAAU,+BAA4C;;AAEtD;AACA;AACA;AACA;AACA;;;;;;;;ACPa;AACb,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,aAAa,mBAAO,CAAC,IAA4B;AACjD,qBAAqB,6BAAgD;;AAErE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;ACpBa;AACb,oBAAoB,mBAAO,CAAC,IAAqC;;AAEjE;;AAEA;AACA;AACA;AACA;;;;;;;;ACRa;AACb,eAAe,mBAAO,CAAC,EAAwB;;AAE/C;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVa;AACb;AACA;;;;;;;;ACFa;AACb,0BAA0B,mBAAO,CAAC,IAA2C;AAC7E,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,eAAe,mBAAO,CAAC,EAAwB;AAC/C,aAAa,mBAAO,CAAC,IAA+B;AACpD,cAAc,mBAAO,CAAC,IAAsB;AAC5C,kBAAkB,mBAAO,CAAC,IAA4B;AACtD,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,oBAAoB,mBAAO,CAAC,IAA8B;AAC1D,4BAA4B,mBAAO,CAAC,IAAuC;AAC3E,oBAAoB,mBAAO,CAAC,IAAqC;AACjE,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,UAAU,mBAAO,CAAC,IAAkB;AACpC,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChMa;AACb,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,wBAAwB,mBAAO,CAAC,IAAmC;;AAEnE,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,WAAW,gBAAgB;AACjC;AACA,MAAM;AACN;AACA;;AAEA;AACA;AAC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AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;;;;;;ACxFa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B,IAAI;AACJ;AACA;AACA;;;;;;;;ACXa;AACb,iBAAiB,mBAAO,CAAC,IAA0B;;AAEnD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,0BAA0B,SAAS,eAAe;AAClD,8BAA8B;AAC9B,KAAK;AACL,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;;;;;;;ACtBa;AACb,YAAY,mBAAO,CAAC,IAAoB;AACxC,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,eAAe,mBAAO,CAAC,EAAwB;AAC/C,aAAa,mBAAO,CAAC,IAA4B;AACjD,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,oBAAoB,mBAAO,CAAC,IAA8B;AAC1D,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,cAAc,mBAAO,CAAC,IAAsB;;AAE5C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;AChDa;AACb;;;;;;;;ACDa;AACb,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;;;;;;;;ACPa;AACb,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,YAAY,mBAAO,CAAC,IAAoB;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ACA;;AAEA;AACA,yCAAyC,iCAAiC;AAC1E;;;;;;;;ACba;AACb,iBAAiB,mBAAO,CAAC,IAA2B;;AAEpD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;ACzDa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;AC7Ba;AACb,0BAA0B,mBAAO,CAAC,IAA6C;AAC/E,iBAAiB,mBAAO,CAAC,IAA0B;;AAEnD;AACA;AACA;;;;;;;;ACNa;AACb,WAAW,mBAAO,CAAC,IAAoB;AACvC,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,YAAY,mBAAO,CAAC,IAAwB;AAC5C,mBAAmB,mBAAO,CAAC,IAA6B;AACxD,oBAAoB,mBAAO,CAAC,GAA6B;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;ACtBa;AACb,WAAW,mBAAO,CAAC,IAAoB;AACvC,UAAU,+BAAuC;AACjD,YAAY,mBAAO,CAAC,IAAwB;AAC5C,mBAAmB,mBAAO,CAAC,IAA6B;AACxD,oBAAoB,mBAAO,CAAC,GAA6B;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;ACjBa;AACb,aAAa,mBAAO,CAAC,IAAqB;AAC1C,UAAU,mBAAO,CAAC,IAAkB;;AAEpC;;AAEA;AACA;AACA;;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iB,mBAAO,CAAC,IAA0B;AACnD,eAAe,mBAAO,CAAC,EAAwB;AAC/C,cAAc,mBAAO,CAAC,IAAuB;AAC7C,aAAa,mBAAO,CAAC,IAA+B;AACpD,eAAe,mBAAO,CAAC,GAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAmC;AACnE,qBAAqB,mBAAO,CAAC,IAA8B;AAC3D,YAAY,mBAAO,CAAC,IAAoB;AACxC,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,oBAAoB,mBAAO,CAAC,IAA2C;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;;AAEA;AACA;AACA;AACA,iEAAiE,sBAAsB;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA,MAAM;AACN;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,QAAQ,mBAAmB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA,GAAG;AACH;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,IAAI,uDAAuD;AAC3D;AACA;AACA;AACA,CAAC;;;;;;;;ACtQY;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,iBAAiB,mBAAO,CAAC,IAA2B;AACpD,YAAY,mBAAO,CAAC,IAA6B;AACjD,WAAW,mBAAO,CAAC,IAA4B;AAC/C,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,YAAY,mBAAO,CAAC,IAAoB;AACxC,cAAc,mBAAO,CAAC,IAAuB;AAC7C,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,gBAAgB,mBAAO,CAAC,IAA0B;AAClD,eAAe,mBAAO,CAAC,GAAwB;AAC/C,cAAc,mBAAO,CAAC,IAA0B;AAChD,eAAe,mBAAO,CAAC,GAAwB;AAC/C,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,UAAU,mBAAO,CAAC,IAAkB;AACpC,oBAAoB,mBAAO,CAAC,IAA2C;AACvE,sBAAsB,mBAAO,CAAC,IAA8B;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB,WAAW,SAAS;AACxC;AACA,yCAAyC;AACzC,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,4EAA4E;AAC5E;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","sources":["webpack://pdf.js/./node_modules/core-js/internals/a-callable.js","webpack://pdf.js/./node_modules/core-js/internals/a-possible-prototype.js","webpack://pdf.js/./node_modules/core-js/internals/a-set.js","webpack://pdf.js/./node_modules/core-js/internals/a-string.js","webpack://pdf.js/./node_modules/core-js/internals/a-weak-key.js","webpack://pdf.js/./node_modules/core-js/internals/a-weak-map.js","webpack://pdf.js/./node_modules/core-js/internals/add-to-unscopables.js","webpack://pdf.js/./node_modules/core-js/internals/an-instance.js","webpack://pdf.js/./node_modules/core-js/internals/an-object.js","webpack://pdf.js/./node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://pdf.js/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://pdf.js/./node_modules/core-js/internals/array-includes.js","webpack://pdf.js/./node_modules/core-js/internals/array-set-length.js","webpack://pdf.js/./node_modules/core-js/internals/array-slice.js","webpack://pdf.js/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://pdf.js/./node_modules/core-js/internals/classof-raw.js","webpack://pdf.js/./node_modules/core-js/internals/classof.js","webpack://pdf.js/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://pdf.js/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://pdf.js/./node_modules/core-js/internals/create-iter-result-object.js","webpack://pdf.js/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://pdf.js/./node_modules/core-js/internals/create-property-descriptor.js","webpack://pdf.js/./node_modules/core-js/internals/create-property.js","webpack://pdf.js/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://pdf.js/./node_modules/core-js/internals/define-built-in.js","webpack://pdf.js/./node_modules/core-js/internals/define-built-ins.js","webpack://pdf.js/./node_modules/core-js/internals/define-global-property.js","webpack://pdf.js/./node_modules/core-js/internals/descriptors.js","webpack://pdf.js/./node_modules/core-js/internals/document-create-element.js","webpack://pdf.js/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://pdf.js/./node_modules/core-js/internals/enum-bug-keys.js","webpack://pdf.js/./node_modules/core-js/internals/environment-user-agent.js","webpack://pdf.js/./node_modules/core-js/internals/environment-v8-version.js","webpack://pdf.js/./node_modules/core-js/internals/export.js","webpack://pdf.js/./node_modules/core-js/internals/fails.js","webpack://pdf.js/./node_modules/core-js/internals/function-apply.js","webpack://pdf.js/./node_modules/core-js/internals/function-bind-context.js","webpack://pdf.js/./node_modules/core-js/internals/function-bind-native.js","webpack://pdf.js/./node_modules/core-js/internals/function-call.js","webpack://pdf.js/./node_modules/core-js/internals/function-name.js","webpack://pdf.js/./node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://pdf.js/./node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://pdf.js/./node_modules/core-js/internals/function-uncurry-this.js","webpack://pdf.js/./node_modules/core-js/internals/get-built-in.js","webpack://pdf.js/./node_modules/core-js/internals/get-iterator-direct.js","webpack://pdf.js/./node_modules/core-js/internals/get-iterator-method.js","webpack://pdf.js/./node_modules/core-js/internals/get-iterator.js","webpack://pdf.js/./node_modules/core-js/internals/get-method.js","webpack://pdf.js/./node_modules/core-js/internals/get-set-record.js","webpack://pdf.js/./node_modules/core-js/internals/global-this.js","webpack://pdf.js/./node_modules/core-js/internals/has-own-property.js","webpack://pdf.js/./node_modules/core-js/internals/hidden-keys.js","webpack://pdf.js/./node_modules/core-js/internals/html.js","webpack://pdf.js/./node_modules/core-js/internals/ie8-dom-define.js","webpack://pdf.js/./node_modules/core-js/internals/indexed-object.js","webpack://pdf.js/./node_modules/core-js/internals/inspect-source.js","webpack://pdf.js/./node_modules/core-js/internals/internal-state.js","webpack://pdf.js/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://pdf.js/./node_modules/core-js/internals/is-array.js","webpack://pdf.js/./node_modules/core-js/internals/is-big-int-array.js","webpack://pdf.js/./node_modules/core-js/internals/is-callable.js","webpack://pdf.js/./node_modules/core-js/internals/is-forced.js","webpack://pdf.js/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://pdf.js/./node_modules/core-js/internals/is-object.js","webpack://pdf.js/./node_modules/core-js/internals/is-possible-prototype.js","webpack://pdf.js/./node_modules/core-js/internals/is-pure.js","webpack://pdf.js/./node_modules/core-js/internals/is-raw-json.js","webpack://pdf.js/./node_modules/core-js/internals/is-symbol.js","webpack://pdf.js/./node_modules/core-js/internals/iterate-simple.js","webpack://pdf.js/./node_modules/core-js/internals/iterate.js","webpack://pdf.js/./node_modules/core-js/internals/iterator-close-all.js","webpack://pdf.js/./node_modules/core-js/internals/iterator-close.js","webpack://pdf.js/./node_modules/core-js/internals/iterator-create-proxy.js","webpack://pdf.js/./node_modules/core-js/internals/iterator-helper-throws-on-invalid-iterator.js","webpack://pdf.js/./node_modules/core-js/internals/iterator-helper-without-closing-on-early-error.js","webpack://pdf.js/./node_modules/core-js/internals/iterators-core.js","webpack://pdf.js/./node_modules/core-js/internals/iterators.js","webpack://pdf.js/./node_modules/core-js/internals/length-of-array-like.js","webpack://pdf.js/./node_modules/core-js/internals/make-built-in.js","webpack://pdf.js/./node_modules/core-js/internals/map-helpers.js","webpack://pdf.js/./node_modules/core-js/internals/math-trunc.js","webpack://pdf.js/./node_modules/core-js/internals/native-raw-json.js","webpack://pdf.js/./node_modules/core-js/internals/new-promise-capability.js","webpack://pdf.js/./node_modules/core-js/internals/object-create.js","webpack://pdf.js/./node_modules/core-js/internals/object-define-properties.js","webpack://pdf.js/./node_modules/core-js/internals/object-define-property.js","webpack://pdf.js/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://pdf.js/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://pdf.js/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://pdf.js/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://pdf.js/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://pdf.js/./node_modules/core-js/internals/object-keys-internal.js","webpack://pdf.js/./node_modules/core-js/internals/object-keys.js","webpack://pdf.js/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://pdf.js/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://pdf.js/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://pdf.js/./node_modules/core-js/internals/own-keys.js","webpack://pdf.js/./node_modules/core-js/internals/parse-json-string.js","webpack://pdf.js/./node_modules/core-js/internals/require-object-coercible.js","webpack://pdf.js/./node_modules/core-js/internals/set-clone.js","webpack://pdf.js/./node_modules/core-js/internals/set-difference.js","webpack://pdf.js/./node_modules/core-js/internals/set-helpers.js","webpack://pdf.js/./node_modules/core-js/internals/set-intersection.js","webpack://pdf.js/./node_modules/core-js/internals/set-is-disjoint-from.js","webpack://pdf.js/./node_modules/core-js/internals/set-is-subset-of.js","webpack://pdf.js/./node_modules/core-js/internals/set-is-superset-of.js","webpack://pdf.js/./node_modules/core-js/internals/set-iterate.js","webpack://pdf.js/./node_modules/core-js/internals/set-method-accept-set-like.js","webpack://pdf.js/./node_modules/core-js/internals/set-method-get-keys-before-cloning-detection.js","webpack://pdf.js/./node_modules/core-js/internals/set-size.js","webpack://pdf.js/./node_modules/core-js/internals/set-symmetric-difference.js","webpack://pdf.js/./node_modules/core-js/internals/set-union.js","webpack://pdf.js/./node_modules/core-js/internals/shared-key.js","webpack://pdf.js/./node_modules/core-js/internals/shared-store.js","webpack://pdf.js/./node_modules/core-js/internals/shared.js","webpack://pdf.js/./node_modules/core-js/internals/string-pad.js","webpack://pdf.js/./node_modules/core-js/internals/string-repeat.js","webpack://pdf.js/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://pdf.js/./node_modules/core-js/internals/to-absolute-index.js","webpack://pdf.js/./node_modules/core-js/internals/to-big-int.js","webpack://pdf.js/./node_modules/core-js/internals/to-indexed-object.js","webpack://pdf.js/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://pdf.js/./node_modules/core-js/internals/to-length.js","webpack://pdf.js/./node_modules/core-js/internals/to-object.js","webpack://pdf.js/./node_modules/core-js/internals/to-primitive.js","webpack://pdf.js/./node_modules/core-js/internals/to-property-key.js","webpack://pdf.js/./node_modules/core-js/internals/to-string-tag-support.js","webpack://pdf.js/./node_modules/core-js/internals/to-string.js","webpack://pdf.js/./node_modules/core-js/internals/try-to-string.js","webpack://pdf.js/./node_modules/core-js/internals/uid.js","webpack://pdf.js/./node_modules/core-js/internals/url-constructor-detection.js","webpack://pdf.js/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://pdf.js/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://pdf.js/./node_modules/core-js/internals/validate-arguments-length.js","webpack://pdf.js/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://pdf.js/./node_modules/core-js/internals/weak-map-helpers.js","webpack://pdf.js/./node_modules/core-js/internals/well-known-symbol.js","webpack://pdf.js/./node_modules/core-js/internals/whitespaces.js","webpack://pdf.js/./node_modules/core-js/modules/es.array.includes.js","webpack://pdf.js/./node_modules/core-js/modules/es.array.push.js","webpack://pdf.js/./node_modules/core-js/modules/es.iterator.constructor.js","webpack://pdf.js/./node_modules/core-js/modules/es.iterator.every.js","webpack://pdf.js/./node_modules/core-js/modules/es.iterator.filter.js","webpack://pdf.js/./node_modules/core-js/modules/es.iterator.find.js","webpack://pdf.js/./node_modules/core-js/modules/es.iterator.for-each.js","webpack://pdf.js/./node_modules/core-js/modules/es.iterator.map.js","webpack://pdf.js/./node_modules/core-js/modules/es.iterator.some.js","webpack://pdf.js/./node_modules/core-js/modules/es.json.parse.js","webpack://pdf.js/./node_modules/core-js/modules/es.json.stringify.js","webpack://pdf.js/./node_modules/core-js/modules/es.map.get-or-insert-computed.js","webpack://pdf.js/./node_modules/core-js/modules/es.map.get-or-insert.js","webpack://pdf.js/./node_modules/core-js/modules/es.promise.with-resolvers.js","webpack://pdf.js/./node_modules/core-js/modules/es.regexp.escape.js","webpack://pdf.js/./node_modules/core-js/modules/es.set.difference.v2.js","webpack://pdf.js/./node_modules/core-js/modules/es.set.intersection.v2.js","webpack://pdf.js/./node_modules/core-js/modules/es.set.is-disjoint-from.v2.js","webpack://pdf.js/./node_modules/core-js/modules/es.set.is-subset-of.v2.js","webpack://pdf.js/./node_modules/core-js/modules/es.set.is-superset-of.v2.js","webpack://pdf.js/./node_modules/core-js/modules/es.set.symmetric-difference.v2.js","webpack://pdf.js/./node_modules/core-js/modules/es.set.union.v2.js","webpack://pdf.js/./node_modules/core-js/modules/es.typed-array.with.js","webpack://pdf.js/./node_modules/core-js/modules/es.weak-map.get-or-insert-computed.js","webpack://pdf.js/./node_modules/core-js/modules/es.weak-map.get-or-insert.js","webpack://pdf.js/./node_modules/core-js/modules/web.url.parse.js","webpack://pdf.js/webpack/bootstrap","webpack://pdf.js/webpack/runtime/define property getters","webpack://pdf.js/webpack/runtime/hasOwnProperty shorthand","webpack://pdf.js/./web/ui_utils.js","webpack://pdf.js/./web/app_options.js","webpack://pdf.js/./web/pdfjs.js","webpack://pdf.js/./web/internal_evt.js","webpack://pdf.js/./web/pdf_link_service.js","webpack://pdf.js/./web/event_utils.js","webpack://pdf.js/./web/external_services.js","webpack://pdf.js/./web/preferences.js","webpack://pdf.js/./node_modules/@fluent/bundle/esm/types.js","webpack://pdf.js/./node_modules/@fluent/bundle/esm/resolver.js","webpack://pdf.js/./node_modules/@fluent/bundle/esm/scope.js","webpack://pdf.js/./node_modules/@fluent/bundle/esm/builtins.js","webpack://pdf.js/./node_modules/@fluent/bundle/esm/memoizer.js","webpack://pdf.js/./node_modules/@fluent/bundle/esm/bundle.js","webpack://pdf.js/./node_modules/@fluent/bundle/esm/resource.js","webpack://pdf.js/./node_modules/@fluent/bundle/esm/index.js","webpack://pdf.js/./node_modules/@fluent/dom/esm/overlay.js","webpack://pdf.js/./node_modules/cached-iterable/src/cached_iterable.mjs","webpack://pdf.js/./node_modules/cached-iterable/src/cached_sync_iterable.mjs","webpack://pdf.js/./node_modules/cached-iterable/src/cached_async_iterable.mjs","webpack://pdf.js/./node_modules/cached-iterable/src/index.mjs","webpack://pdf.js/./node_modules/@fluent/dom/esm/localization.js","webpack://pdf.js/./node_modules/@fluent/dom/esm/dom_localization.js","webpack://pdf.js/./node_modules/@fluent/dom/esm/index.js","webpack://pdf.js/./web/l10n.js","webpack://pdf.js/./web/genericl10n.js","webpack://pdf.js/./web/generic_scripting.js","webpack://pdf.js/./web/generic_signature_storage.js","webpack://pdf.js/./web/genericcom.js","webpack://pdf.js/./web/new_alt_text_manager.js","webpack://pdf.js/./web/alt_text_manager.js","webpack://pdf.js/./web/annotation_editor_params.js","webpack://pdf.js/./web/caret_browsing.js","webpack://pdf.js/./web/sidebar.js","webpack://pdf.js/./web/comment_manager.js","webpack://pdf.js/./web/base_download_manager.js","webpack://pdf.js/./web/download_manager.js","webpack://pdf.js/./web/editor_undo_bar.js","webpack://pdf.js/./web/overlay_manager.js","webpack://pdf.js/./web/password_prompt.js","webpack://pdf.js/./web/base_tree_viewer.js","webpack://pdf.js/./web/pdf_attachment_viewer.js","webpack://pdf.js/./web/grab_to_pan.js","webpack://pdf.js/./web/pdf_cursor_tools.js","webpack://pdf.js/./web/pdf_document_properties.js","webpack://pdf.js/./web/pdf_find_utils.js","webpack://pdf.js/./web/pdf_find_controller.js","webpack://pdf.js/./web/pdf_find_bar.js","webpack://pdf.js/./web/pdf_history.js","webpack://pdf.js/./web/pdf_layer_viewer.js","webpack://pdf.js/./web/pdf_outline_viewer.js","webpack://pdf.js/./web/pdf_presentation_mode.js","webpack://pdf.js/./web/xfa_layer_builder.js","webpack://pdf.js/./web/print_utils.js","webpack://pdf.js/./web/pdf_print_service.js","webpack://pdf.js/./web/renderable_view.js","webpack://pdf.js/./web/pdf_rendering_queue.js","webpack://pdf.js/./web/pdf_scripting_manager.js","webpack://pdf.js/./web/pdf_text_extractor.js","webpack://pdf.js/./web/menu.js","webpack://pdf.js/./web/pdf_thumbnail_view.js","webpack://pdf.js/./web/pdf_thumbnail_viewer.js","webpack://pdf.js/./web/annotation_editor_layer_builder.js","webpack://pdf.js/./web/annotation_layer_builder.js","webpack://pdf.js/./web/autolinker.js","webpack://pdf.js/./web/base_pdf_page_view.js","webpack://pdf.js/./web/draw_layer_builder.js","webpack://pdf.js/./web/pdf_page_detail_view.js","webpack://pdf.js/./web/struct_tree_layer_builder.js","webpack://pdf.js/./web/text_accessibility.js","webpack://pdf.js/./web/text_highlighter.js","webpack://pdf.js/./web/text_layer_builder.js","webpack://pdf.js/./web/pdf_page_view.js","webpack://pdf.js/./web/pdf_viewer.js","webpack://pdf.js/./web/secondary_toolbar.js","webpack://pdf.js/./web/signature_manager.js","webpack://pdf.js/./web/digital_signature_properties_manager.js","webpack://pdf.js/./web/toolbar.js","webpack://pdf.js/./web/view_history.js","webpack://pdf.js/./web/views_manager.js","webpack://pdf.js/./web/app.js","webpack://pdf.js/./web/viewer.js"],"sourcesContent":["'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar has = require('../internals/set-helpers').has;\n\n// Perform ? RequireInternalSlot(M, [[SetData]])\nmodule.exports = function (it) {\n has(it);\n return it;\n};\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'string') return argument;\n throw new $TypeError('Argument is not a string');\n};\n","'use strict';\nvar WeakMapHelpers = require('../internals/weak-map-helpers');\n\nvar weakmap = new WeakMapHelpers.WeakMap();\nvar set = WeakMapHelpers.set;\nvar remove = WeakMapHelpers.remove;\n\nmodule.exports = function (key) {\n set(weakmap, key, 1);\n remove(weakmap, key);\n return key;\n};\n","'use strict';\nvar has = require('../internals/weak-map-helpers').has;\n\n// Perform ? RequireInternalSlot(M, [[WeakMapData]])\nmodule.exports = function (it) {\n has(it);\n return it;\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\n// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = globalThis.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = globalThis.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = globalThis.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(globalThis.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw new TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw new TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = globalThis[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = globalThis[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw new TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (globalThis[NAME]) setPrototypeOf(globalThis[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (globalThis[NAME]) setPrototypeOf(globalThis[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (globalThis[NAME]) {\n createNonEnumerableProperty(globalThis[NAME].prototype, TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw new $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n else object[key] = value;\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw new $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = globalThis;\n } else if (STATIC) {\n target = globalThis[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = globalThis[TARGET] && globalThis[TARGET].prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = function () { /* empty */ }.bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && function something() { /* empty */ }.name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\n// `GetIteratorDirect(obj)` abstract operation\n// https://tc39.es/ecma262/#sec-getiteratordirect\nmodule.exports = function (obj) {\n return {\n iterator: obj,\n next: obj.next,\n done: false\n };\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar call = require('../internals/function-call');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\nvar INVALID_SIZE = 'Invalid size';\nvar $RangeError = RangeError;\nvar $TypeError = TypeError;\nvar max = Math.max;\n\nvar SetRecord = function (set, intSize) {\n this.set = set;\n this.size = max(intSize, 0);\n this.has = aCallable(set.has);\n this.keys = aCallable(set.keys);\n};\n\nSetRecord.prototype = {\n getIterator: function () {\n return getIteratorDirect(anObject(call(this.keys, this.set)));\n },\n includes: function (it) {\n return call(this.has, this.set, it);\n }\n};\n\n// `GetSetRecord` abstract operation\n// https://tc39.es/proposal-set-methods/#sec-getsetrecord\nmodule.exports = function (obj) {\n anObject(obj);\n var numSize = +obj.size;\n // NOTE: If size is undefined, then numSize will be NaN\n // eslint-disable-next-line no-self-compare -- NaN check\n if (numSize !== numSize) throw new $TypeError(INVALID_SIZE);\n var intSize = toIntegerOrInfinity(numSize);\n if (intSize < 0) throw new $RangeError(INVALID_SIZE);\n return new SetRecord(obj, intSize);\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nmodule.exports = function (it) {\n var klass = classof(it);\n return klass === 'BigInt64Array' || klass === 'BigUint64Array';\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar getInternalState = require('../internals/internal-state').get;\n\nmodule.exports = function isRawJSON(O) {\n if (!isObject(O)) return false;\n var state = getInternalState(O);\n return !!state && state.type === 'RawJSON';\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar call = require('../internals/function-call');\n\nmodule.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {\n var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator;\n var next = record.next;\n var step, result;\n while (!(step = call(next, iterator)).done) {\n result = fn(step.value);\n if (result !== undefined) return result;\n }\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n var $iterator = iterator;\n iterator = undefined;\n if ($iterator) iteratorClose($iterator, 'normal');\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n // `IteratorValue` errors should propagate without closing the iterator\n var value = step.value;\n try {\n result = callFn(value);\n } catch (error) {\n if (iterator) iteratorClose(iterator, 'throw', error);\n else throw error;\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar iteratorClose = require('../internals/iterator-close');\n\nmodule.exports = function (iters, kind, value) {\n for (var i = iters.length - 1; i >= 0; i--) {\n if (iters[i] === undefined) continue;\n try {\n value = iteratorClose(iters[i].iterator, kind, value);\n } catch (error) {\n kind = 'throw';\n value = error;\n }\n }\n if (kind === 'throw') throw value;\n return value;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar InternalStateModule = require('../internals/internal-state');\nvar getMethod = require('../internals/get-method');\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorCloseAll = require('../internals/iterator-close-all');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ITERATOR_HELPER = 'IteratorHelper';\nvar WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator';\nvar NORMAL = 'normal';\nvar THROW = 'throw';\nvar setInternalState = InternalStateModule.set;\n\nvar createIteratorProxyPrototype = function (IS_ITERATOR) {\n var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER);\n\n return defineBuiltIns(create(IteratorPrototype), {\n next: function next() {\n var state = getInternalState(this);\n // for simplification:\n // for `%WrapForValidIteratorPrototype%.next` or with `state.returnHandlerResult` our `nextHandler` returns `IterResultObject`\n // for `%IteratorHelperPrototype%.next` - just a value\n if (IS_ITERATOR) return state.nextHandler();\n if (state.done) return createIterResultObject(undefined, true);\n try {\n var result = state.nextHandler();\n return state.returnHandlerResult ? result : createIterResultObject(result, state.done);\n } catch (error) {\n state.done = true;\n throw error;\n }\n },\n 'return': function () {\n var state = getInternalState(this);\n var iterator = state.iterator;\n var done = state.done;\n state.done = true;\n if (IS_ITERATOR) {\n var returnMethod = getMethod(iterator, 'return');\n return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true);\n }\n if (done) return createIterResultObject(undefined, true);\n if (state.inner) try {\n iteratorClose(state.inner.iterator, NORMAL);\n } catch (error) {\n return iteratorClose(iterator, THROW, error);\n }\n if (state.openIters) try {\n iteratorCloseAll(state.openIters, NORMAL);\n } catch (error) {\n if (iterator) return iteratorClose(iterator, THROW, error);\n throw error;\n }\n if (iterator) iteratorClose(iterator, NORMAL);\n return createIterResultObject(undefined, true);\n }\n });\n};\n\nvar WrapForValidIteratorPrototype = createIteratorProxyPrototype(true);\nvar IteratorHelperPrototype = createIteratorProxyPrototype(false);\n\ncreateNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, 'Iterator Helper');\n\nmodule.exports = function (nextHandler, IS_ITERATOR, RETURN_HANDLER_RESULT) {\n var IteratorProxy = function Iterator(record, state) {\n if (state) {\n state.iterator = record.iterator;\n state.next = record.next;\n } else state = record;\n state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER;\n state.returnHandlerResult = !!RETURN_HANDLER_RESULT;\n state.nextHandler = nextHandler;\n state.counter = 0;\n state.done = false;\n setInternalState(this, state);\n };\n\n IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype;\n\n return IteratorProxy;\n};\n","'use strict';\n// Should throw an error on invalid iterator\n// https://issues.chromium.org/issues/336839115\nmodule.exports = function (methodName, argument) {\n // eslint-disable-next-line es/no-iterator -- required for testing\n var method = typeof Iterator == 'function' && Iterator.prototype[methodName];\n if (method) try {\n method.call({ next: null }, argument).next();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// https://github.com/tc39/ecma262/pull/3467\nmodule.exports = function (METHOD_NAME, ExpectedError) {\n var Iterator = globalThis.Iterator;\n var IteratorPrototype = Iterator && Iterator.prototype;\n var method = IteratorPrototype && IteratorPrototype[METHOD_NAME];\n\n var CLOSED = false;\n\n if (method) try {\n method.call({\n next: function () { return { done: true }; },\n 'return': function () { CLOSED = true; }\n }, -1);\n } catch (error) {\n // https://bugs.webkit.org/show_bug.cgi?id=291195\n if (!(error instanceof ExpectedError)) CLOSED = false;\n }\n\n if (!CLOSED) return method;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\n// eslint-disable-next-line es/no-map -- safe\nvar MapPrototype = Map.prototype;\n\nmodule.exports = {\n // eslint-disable-next-line es/no-map -- safe\n Map: Map,\n set: uncurryThis(MapPrototype.set),\n get: uncurryThis(MapPrototype.get),\n has: uncurryThis(MapPrototype.has),\n remove: uncurryThis(MapPrototype['delete']),\n proto: MapPrototype\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\n/* eslint-disable es/no-json -- safe */\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n var unsafeInt = '9007199254740993';\n // eslint-disable-next-line es/no-json-rawjson -- feature detection\n var raw = JSON.rawJSON(unsafeInt);\n // eslint-disable-next-line es/no-json-israwjson -- feature detection\n return !JSON.isRawJSON(raw) || JSON.stringify(raw) !== unsafeInt;\n});\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n activeXDocument = null;\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\n\nvar $SyntaxError = SyntaxError;\nvar $parseInt = parseInt;\nvar fromCharCode = String.fromCharCode;\nvar at = uncurryThis(''.charAt);\nvar slice = uncurryThis(''.slice);\nvar exec = uncurryThis(/./.exec);\n\nvar codePoints = {\n '\\\\\"': '\"',\n '\\\\\\\\': '\\\\',\n '\\\\/': '/',\n '\\\\b': '\\b',\n '\\\\f': '\\f',\n '\\\\n': '\\n',\n '\\\\r': '\\r',\n '\\\\t': '\\t'\n};\n\nvar IS_4_HEX_DIGITS = /^[\\da-f]{4}$/i;\n// eslint-disable-next-line regexp/no-control-character -- safe\nvar IS_C0_CONTROL_CODE = /^[\\u0000-\\u001F]$/;\n\nmodule.exports = function (source, i) {\n var unterminated = true;\n var value = '';\n while (i < source.length) {\n var chr = at(source, i);\n if (chr === '\\\\') {\n var twoChars = slice(source, i, i + 2);\n if (hasOwn(codePoints, twoChars)) {\n value += codePoints[twoChars];\n i += 2;\n } else if (twoChars === '\\\\u') {\n i += 2;\n var fourHexDigits = slice(source, i, i + 4);\n if (!exec(IS_4_HEX_DIGITS, fourHexDigits)) throw new $SyntaxError('Bad Unicode escape at: ' + i);\n value += fromCharCode($parseInt(fourHexDigits, 16));\n i += 4;\n } else throw new $SyntaxError('Unknown escape sequence: \"' + twoChars + '\"');\n } else if (chr === '\"') {\n unterminated = false;\n i++;\n break;\n } else {\n if (exec(IS_C0_CONTROL_CODE, chr)) throw new $SyntaxError('Bad control character in string literal at: ' + i);\n value += chr;\n i++;\n }\n }\n if (unterminated) throw new $SyntaxError('Unterminated string at: ' + i);\n return { value: value, end: i };\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar SetHelpers = require('../internals/set-helpers');\nvar iterate = require('../internals/set-iterate');\n\nvar Set = SetHelpers.Set;\nvar add = SetHelpers.add;\n\nmodule.exports = function (set) {\n var result = new Set();\n iterate(set, function (it) {\n add(result, it);\n });\n return result;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar clone = require('../internals/set-clone');\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar has = SetHelpers.has;\nvar remove = SetHelpers.remove;\n\n// `Set.prototype.difference` method\n// https://tc39.es/ecma262/#sec-set.prototype.difference\nmodule.exports = function difference(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n var result = clone(O);\n if (size(result) <= otherRec.size) iterateSet(result, function (e) {\n if (otherRec.includes(e)) remove(result, e);\n });\n else iterateSimple(otherRec.getIterator(), function (e) {\n if (has(result, e)) remove(result, e);\n });\n return result;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\n// eslint-disable-next-line es/no-set -- safe\nvar SetPrototype = Set.prototype;\n\nmodule.exports = {\n // eslint-disable-next-line es/no-set -- safe\n Set: Set,\n add: uncurryThis(SetPrototype.add),\n has: uncurryThis(SetPrototype.has),\n remove: uncurryThis(SetPrototype['delete']),\n proto: SetPrototype\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar Set = SetHelpers.Set;\nvar add = SetHelpers.add;\nvar has = SetHelpers.has;\n\n// `Set.prototype.intersection` method\n// https://tc39.es/ecma262/#sec-set.prototype.intersection\nmodule.exports = function intersection(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n var result = new Set();\n\n if (size(O) > otherRec.size) {\n iterateSimple(otherRec.getIterator(), function (e) {\n if (has(O, e)) add(result, e);\n });\n } else {\n iterateSet(O, function (e) {\n if (otherRec.includes(e)) add(result, e);\n });\n }\n\n return result;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar has = require('../internals/set-helpers').has;\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\nvar iteratorClose = require('../internals/iterator-close');\n\n// `Set.prototype.isDisjointFrom` method\n// https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom\nmodule.exports = function isDisjointFrom(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) <= otherRec.size) return iterateSet(O, function (e) {\n if (otherRec.includes(e)) return false;\n }, true) !== false;\n var iterator = otherRec.getIterator();\n return iterateSimple(iterator, function (e) {\n if (has(O, e)) return iteratorClose(iterator.iterator, 'normal', false);\n }) !== false;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar size = require('../internals/set-size');\nvar iterate = require('../internals/set-iterate');\nvar getSetRecord = require('../internals/get-set-record');\n\n// `Set.prototype.isSubsetOf` method\n// https://tc39.es/ecma262/#sec-set.prototype.issubsetof\nmodule.exports = function isSubsetOf(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) > otherRec.size) return false;\n return iterate(O, function (e) {\n if (!otherRec.includes(e)) return false;\n }, true) !== false;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar has = require('../internals/set-helpers').has;\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\nvar iteratorClose = require('../internals/iterator-close');\n\n// `Set.prototype.isSupersetOf` method\n// https://tc39.es/ecma262/#sec-set.prototype.issupersetof\nmodule.exports = function isSupersetOf(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) < otherRec.size) return false;\n var iterator = otherRec.getIterator();\n return iterateSimple(iterator, function (e) {\n if (!has(O, e)) return iteratorClose(iterator.iterator, 'normal', false);\n }) !== false;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar iterateSimple = require('../internals/iterate-simple');\nvar SetHelpers = require('../internals/set-helpers');\n\nvar Set = SetHelpers.Set;\nvar SetPrototype = SetHelpers.proto;\nvar forEach = uncurryThis(SetPrototype.forEach);\nvar keys = uncurryThis(SetPrototype.keys);\nvar next = keys(new Set()).next;\n\nmodule.exports = function (set, fn, interruptible) {\n return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nvar createSetLike = function (size) {\n return {\n size: size,\n has: function () {\n return false;\n },\n keys: function () {\n return {\n next: function () {\n return { done: true };\n }\n };\n }\n };\n};\n\nvar createSetLikeWithInfinitySize = function (size) {\n return {\n size: size,\n has: function () {\n return true;\n },\n keys: function () {\n throw new Error('e');\n }\n };\n};\n\nmodule.exports = function (name, callback) {\n var Set = getBuiltIn('Set');\n try {\n new Set()[name](createSetLike(0));\n try {\n // late spec change, early WebKit ~ Safari 17 implementation does not pass it\n // https://github.com/tc39/proposal-set-methods/pull/88\n // also covered engines with\n // https://bugs.webkit.org/show_bug.cgi?id=272679\n new Set()[name](createSetLike(-1));\n return false;\n } catch (error2) {\n if (!callback) return true;\n // early V8 implementation bug\n // https://issues.chromium.org/issues/351332634\n try {\n new Set()[name](createSetLikeWithInfinitySize(-Infinity));\n return false;\n } catch (error) {\n var set = new Set([1, 2]);\n return callback(set[name](createSetLikeWithInfinitySize(Infinity)));\n }\n }\n } catch (error) {\n return false;\n }\n};\n","'use strict';\n// Should get iterator record of a set-like object before cloning this\n// https://bugs.webkit.org/show_bug.cgi?id=289430\nmodule.exports = function (METHOD_NAME) {\n try {\n // eslint-disable-next-line es/no-set -- needed for test\n var baseSet = new Set();\n var setLike = {\n size: 0,\n has: function () { return true; },\n keys: function () {\n // eslint-disable-next-line es/no-object-defineproperty -- needed for test\n return Object.defineProperty({}, 'next', {\n get: function () {\n baseSet.clear();\n baseSet.add(4);\n return function () {\n return { done: true };\n };\n }\n });\n }\n };\n var result = baseSet[METHOD_NAME](setLike);\n\n return result.size === 1 && result.values().next().value === 4;\n } catch (error) {\n return false;\n }\n};\n","'use strict';\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar SetHelpers = require('../internals/set-helpers');\n\nmodule.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) {\n return set.size;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar clone = require('../internals/set-clone');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar add = SetHelpers.add;\nvar has = SetHelpers.has;\nvar remove = SetHelpers.remove;\n\n// `Set.prototype.symmetricDifference` method\n// https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference\nmodule.exports = function symmetricDifference(other) {\n var O = aSet(this);\n var keysIter = getSetRecord(other).getIterator();\n var result = clone(O);\n iterateSimple(keysIter, function (e) {\n if (has(O, e)) remove(result, e);\n else add(result, e);\n });\n return result;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar add = require('../internals/set-helpers').add;\nvar clone = require('../internals/set-clone');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\n\n// `Set.prototype.union` method\n// https://tc39.es/ecma262/#sec-set.prototype.union\nmodule.exports = function union(other) {\n var O = aSet(this);\n var keysIter = getSetRecord(other).getIterator();\n var result = clone(O);\n iterateSimple(keysIter, function (it) {\n add(result, it);\n });\n return result;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.49.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',\n license: 'https://github.com/zloirock/core-js/blob/v3.49.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar $repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = toString(requireObjectCoercible($this));\n var intMaxLength = toLength(maxLength);\n var stringLength = S.length;\n if (intMaxLength <= stringLength) return S;\n var fillStr = fillString === undefined ? ' ' : toString(fillString);\n var fillLen, stringFiller;\n if (fillStr === '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.es/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.es/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $RangeError = RangeError;\nvar floor = Math.floor;\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = toString(requireObjectCoercible(this));\n var result = '';\n var n = toIntegerOrInfinity(count);\n if (n < 0 || n === Infinity) throw new $RangeError('Wrong number of repetitions');\n for (;n > 0; (n = floor(n / 2)) && (str += str)) if (n % 2) result += str;\n return result;\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\n\nvar $TypeError = TypeError;\n\n// `ToBigInt` abstract operation\n// https://tc39.es/ecma262/#sec-tobigint\nmodule.exports = function (argument) {\n var prim = toPrimitive(argument, 'number');\n if (typeof prim == 'number') throw new $TypeError(\"Can't convert number to bigint\");\n // eslint-disable-next-line es/no-bigint -- safe\n return BigInt(prim);\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n// eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.1.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line unicorn/relative-url-style -- required for testing\n var url = new URL('b?a=1&b=2&c=3', 'https://a');\n var params = url.searchParams;\n var params2 = new URLSearchParams('a=1&a=2&b=3');\n var result = '';\n url.pathname = 'c%20d';\n params.forEach(function (value, key) {\n params['delete']('b');\n result += key + value;\n });\n params2['delete']('a', 2);\n // `undefined` case is a Chromium 117 bug\n // https://bugs.chromium.org/p/v8/issues/detail?id=14222\n params2['delete']('b', undefined);\n return (IS_PURE && (!url.toJSON || !params2.has('a', 1) || params2.has('a', 2) || !params2.has('a', undefined) || params2.has('b')))\n || (!params.size && (IS_PURE || !DESCRIPTORS))\n || !params.sort\n || url.href !== 'https://a/c%20d?a=1&c=3'\n || params.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !params[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('https://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('https://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('https://x', undefined).host !== 'x';\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n !Symbol.sham &&\n typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\n// eslint-disable-next-line es/no-weak-map -- safe\nvar WeakMapPrototype = WeakMap.prototype;\n\nmodule.exports = {\n // eslint-disable-next-line es/no-weak-map -- safe\n WeakMap: WeakMap,\n set: uncurryThis(WeakMapPrototype.set),\n get: uncurryThis(WeakMapPrototype.get),\n has: uncurryThis(WeakMapPrototype.has),\n remove: uncurryThis(WeakMapPrototype['delete'])\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n // eslint-disable-next-line es/no-array-prototype-includes -- detection\n return !Array(1).includes();\n});\n\n// Safari 26.4- bug\nvar BROKEN_ON_SPARSE_WITH_FROM_INDEX = fails(function () {\n // eslint-disable-next-line no-sparse-arrays, es/no-array-prototype-includes -- detection\n return [, 1].includes(undefined, 1);\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE || BROKEN_ON_SPARSE_WITH_FROM_INDEX }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar createProperty = require('../internals/create-property');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar CONSTRUCTOR = 'constructor';\nvar ITERATOR = 'Iterator';\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nvar $TypeError = TypeError;\nvar NativeIterator = globalThis[ITERATOR];\n\n// FF56- have non-standard global helper `Iterator`\nvar FORCED = IS_PURE\n || !isCallable(NativeIterator)\n || NativeIterator.prototype !== IteratorPrototype\n // FF44- non-standard `Iterator` passes previous tests\n || !fails(function () { NativeIterator({}); });\n\nvar IteratorConstructor = function Iterator() {\n anInstance(this, IteratorPrototype);\n if (getPrototypeOf(this) === IteratorPrototype) throw new $TypeError('Abstract class Iterator not directly constructable');\n};\n\nvar defineIteratorPrototypeAccessor = function (key, value) {\n if (DESCRIPTORS) {\n defineBuiltInAccessor(IteratorPrototype, key, {\n configurable: true,\n get: function () {\n return value;\n },\n set: function (replacement) {\n anObject(this);\n if (this === IteratorPrototype) throw new $TypeError(\"You can't redefine this property\");\n if (hasOwn(this, key)) this[key] = replacement;\n else createProperty(this, key, replacement);\n }\n });\n } else IteratorPrototype[key] = value;\n};\n\nif (!hasOwn(IteratorPrototype, TO_STRING_TAG)) defineIteratorPrototypeAccessor(TO_STRING_TAG, ITERATOR);\n\nif (FORCED || !hasOwn(IteratorPrototype, CONSTRUCTOR) || IteratorPrototype[CONSTRUCTOR] === Object) {\n defineIteratorPrototypeAccessor(CONSTRUCTOR, IteratorConstructor);\n}\n\nIteratorConstructor.prototype = IteratorPrototype;\n\n// `Iterator` constructor\n// https://tc39.es/ecma262/#sec-iterator\n$({ global: true, constructor: true, forced: FORCED }, {\n Iterator: IteratorConstructor\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\n\nvar everyWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('every', TypeError);\n\n// `Iterator.prototype.every` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.every\n$({ target: 'Iterator', proto: true, real: true, forced: everyWithoutClosingOnEarlyError }, {\n every: function every(predicate) {\n anObject(this);\n try {\n aCallable(predicate);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n if (everyWithoutClosingOnEarlyError) return call(everyWithoutClosingOnEarlyError, this, predicate);\n\n var record = getIteratorDirect(this);\n var counter = 0;\n return !iterate(record, function (value, stop) {\n if (!predicate(value, counter++)) return stop();\n }, { IS_RECORD: true, INTERRUPTED: true }).stopped;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar IS_PURE = require('../internals/is-pure');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperThrowsOnInvalidIterator = require('../internals/iterator-helper-throws-on-invalid-iterator');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\n\nvar FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator('filter', function () { /* empty */ });\nvar filterWithoutClosingOnEarlyError = !IS_PURE && !FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR\n && iteratorHelperWithoutClosingOnEarlyError('filter', TypeError);\n\nvar FORCED = IS_PURE || FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR || filterWithoutClosingOnEarlyError;\n\nvar IteratorProxy = createIteratorProxy(function () {\n var iterator = this.iterator;\n var predicate = this.predicate;\n var next = this.next;\n var result, done, value;\n while (true) {\n result = anObject(call(next, iterator));\n done = this.done = !!result.done;\n if (done) return;\n value = result.value;\n if (callWithSafeIterationClosing(iterator, predicate, [value, this.counter++], true)) return value;\n }\n});\n\n// `Iterator.prototype.filter` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.filter\n$({ target: 'Iterator', proto: true, real: true, forced: FORCED }, {\n filter: function filter(predicate) {\n anObject(this);\n try {\n aCallable(predicate);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n if (filterWithoutClosingOnEarlyError) return call(filterWithoutClosingOnEarlyError, this, predicate);\n\n return new IteratorProxy(getIteratorDirect(this), {\n predicate: predicate\n });\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\n\nvar findWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('find', TypeError);\n\n// `Iterator.prototype.find` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.find\n$({ target: 'Iterator', proto: true, real: true, forced: findWithoutClosingOnEarlyError }, {\n find: function find(predicate) {\n anObject(this);\n try {\n aCallable(predicate);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n if (findWithoutClosingOnEarlyError) return call(findWithoutClosingOnEarlyError, this, predicate);\n\n var record = getIteratorDirect(this);\n var counter = 0;\n return iterate(record, function (value, stop) {\n if (predicate(value, counter++)) return stop(value);\n }, { IS_RECORD: true, INTERRUPTED: true }).result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\n\nvar forEachWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('forEach', TypeError);\n\n// `Iterator.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.foreach\n$({ target: 'Iterator', proto: true, real: true, forced: forEachWithoutClosingOnEarlyError }, {\n forEach: function forEach(fn) {\n anObject(this);\n try {\n aCallable(fn);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n if (forEachWithoutClosingOnEarlyError) return call(forEachWithoutClosingOnEarlyError, this, fn);\n\n var record = getIteratorDirect(this);\n var counter = 0;\n iterate(record, function (value) {\n fn(value, counter++);\n }, { IS_RECORD: true });\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperThrowsOnInvalidIterator = require('../internals/iterator-helper-throws-on-invalid-iterator');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\nvar IS_PURE = require('../internals/is-pure');\n\nvar MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator('map', function () { /* empty */ });\nvar mapWithoutClosingOnEarlyError = !IS_PURE && !MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR\n && iteratorHelperWithoutClosingOnEarlyError('map', TypeError);\n\nvar FORCED = IS_PURE || MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR || mapWithoutClosingOnEarlyError;\n\nvar IteratorProxy = createIteratorProxy(function () {\n var iterator = this.iterator;\n var result = anObject(call(this.next, iterator));\n var done = this.done = !!result.done;\n if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true);\n});\n\n// `Iterator.prototype.map` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.map\n$({ target: 'Iterator', proto: true, real: true, forced: FORCED }, {\n map: function map(mapper) {\n anObject(this);\n try {\n aCallable(mapper);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n if (mapWithoutClosingOnEarlyError) return call(mapWithoutClosingOnEarlyError, this, mapper);\n\n return new IteratorProxy(getIteratorDirect(this), {\n mapper: mapper\n });\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\n\nvar someWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('some', TypeError);\n\n// `Iterator.prototype.some` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.some\n$({ target: 'Iterator', proto: true, real: true, forced: someWithoutClosingOnEarlyError }, {\n some: function some(predicate) {\n anObject(this);\n try {\n aCallable(predicate);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n if (someWithoutClosingOnEarlyError) return call(someWithoutClosingOnEarlyError, this, predicate);\n\n var record = getIteratorDirect(this);\n var counter = 0;\n return iterate(record, function (value, stop) {\n if (predicate(value, counter++)) return stop();\n }, { IS_RECORD: true, INTERRUPTED: true }).stopped;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar fails = require('../internals/fails');\nvar parseJSONString = require('../internals/parse-json-string');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar JSON = globalThis.JSON;\nvar Number = globalThis.Number;\nvar SyntaxError = globalThis.SyntaxError;\nvar nativeParse = JSON && JSON.parse;\nvar enumerableOwnProperties = getBuiltIn('Object', 'keys');\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar at = uncurryThis(''.charAt);\nvar slice = uncurryThis(''.slice);\nvar exec = uncurryThis(/./.exec);\nvar push = uncurryThis([].push);\n\nvar IS_DIGIT = /^\\d$/;\nvar IS_NON_ZERO_DIGIT = /^[1-9]$/;\nvar IS_NUMBER_START = /^[\\d-]$/;\nvar IS_WHITESPACE = /^[\\t\\n\\r ]$/;\n\nvar PRIMITIVE = 0;\nvar OBJECT = 1;\n\nvar $parse = function (source, reviver) {\n source = toString(source);\n var context = new Context(source, 0, '');\n var root = context.parse();\n var value = root.value;\n var endIndex = context.skip(IS_WHITESPACE, root.end);\n if (endIndex < source.length) {\n throw new SyntaxError('Unexpected extra character: \"' + at(source, endIndex) + '\" after the parsed data at: ' + endIndex);\n }\n return isCallable(reviver) ? internalize({ '': value }, '', reviver, root) : value;\n};\n\nvar internalize = function (holder, name, reviver, node) {\n var val = holder[name];\n var unmodified = node && val === node.value;\n var context = unmodified && typeof node.source == 'string' ? { source: node.source } : {};\n var elementRecordsLen, keys, len, i, P;\n if (isObject(val)) {\n var nodeIsArray = isArray(val);\n var nodes = unmodified ? node.nodes : nodeIsArray ? [] : {};\n if (nodeIsArray) {\n elementRecordsLen = nodes.length;\n len = lengthOfArrayLike(val);\n for (i = 0; i < len; i++) {\n internalizeProperty(val, i, internalize(val, '' + i, reviver, i < elementRecordsLen ? nodes[i] : undefined));\n }\n } else {\n keys = enumerableOwnProperties(val);\n len = lengthOfArrayLike(keys);\n for (i = 0; i < len; i++) {\n P = keys[i];\n internalizeProperty(val, P, internalize(val, P, reviver, hasOwn(nodes, P) ? nodes[P] : undefined));\n }\n }\n }\n return call(reviver, holder, name, val, context);\n};\n\nvar internalizeProperty = function (object, key, value) {\n if (DESCRIPTORS) {\n var descriptor = getOwnPropertyDescriptor(object, key);\n if (descriptor && !descriptor.configurable) return;\n }\n if (value === undefined) delete object[key];\n else createProperty(object, key, value);\n};\n\nvar Node = function (value, end, source, nodes) {\n this.value = value;\n this.end = end;\n this.source = source;\n this.nodes = nodes;\n};\n\nvar Context = function (source, index) {\n this.source = source;\n this.index = index;\n};\n\n// https://www.json.org/json-en.html\nContext.prototype = {\n fork: function (nextIndex) {\n return new Context(this.source, nextIndex);\n },\n parse: function () {\n var source = this.source;\n var i = this.skip(IS_WHITESPACE, this.index);\n var fork = this.fork(i);\n var chr = at(source, i);\n if (exec(IS_NUMBER_START, chr)) return fork.number();\n switch (chr) {\n case '{':\n return fork.object();\n case '[':\n return fork.array();\n case '\"':\n return fork.string();\n case 't':\n return fork.keyword(true);\n case 'f':\n return fork.keyword(false);\n case 'n':\n return fork.keyword(null);\n } throw new SyntaxError('Unexpected character: \"' + chr + '\" at: ' + i);\n },\n node: function (type, value, start, end, nodes) {\n return new Node(value, end, type ? null : slice(this.source, start, end), nodes);\n },\n object: function () {\n var source = this.source;\n var i = this.index + 1;\n var expectKeypair = false;\n var object = {};\n var nodes = {};\n var closed = false;\n while (i < source.length) {\n i = this.until(['\"', '}'], i);\n if (at(source, i) === '}' && !expectKeypair) {\n i++;\n closed = true;\n break;\n }\n // Parsing the key\n var result = this.fork(i).string();\n var key = result.value;\n i = result.end;\n i = this.until([':'], i) + 1;\n // Parsing value\n i = this.skip(IS_WHITESPACE, i);\n result = this.fork(i).parse();\n createProperty(nodes, key, result);\n createProperty(object, key, result.value);\n i = this.until([',', '}'], result.end);\n var chr = at(source, i);\n if (chr === ',') {\n expectKeypair = true;\n i++;\n } else if (chr === '}') {\n i++;\n closed = true;\n break;\n }\n }\n if (!closed) throw new SyntaxError('Unterminated object at: ' + i);\n return this.node(OBJECT, object, this.index, i, nodes);\n },\n array: function () {\n var source = this.source;\n var i = this.index + 1;\n var expectElement = false;\n var array = [];\n var nodes = [];\n var closed = false;\n while (i < source.length) {\n i = this.skip(IS_WHITESPACE, i);\n if (at(source, i) === ']' && !expectElement) {\n i++;\n closed = true;\n break;\n }\n var result = this.fork(i).parse();\n push(nodes, result);\n push(array, result.value);\n i = this.until([',', ']'], result.end);\n if (at(source, i) === ',') {\n expectElement = true;\n i++;\n } else if (at(source, i) === ']') {\n i++;\n closed = true;\n break;\n }\n }\n if (!closed) throw new SyntaxError('Unterminated array at: ' + i);\n return this.node(OBJECT, array, this.index, i, nodes);\n },\n string: function () {\n var index = this.index;\n var parsed = parseJSONString(this.source, this.index + 1);\n return this.node(PRIMITIVE, parsed.value, index, parsed.end);\n },\n number: function () {\n var source = this.source;\n var startIndex = this.index;\n var i = startIndex;\n if (at(source, i) === '-') i++;\n if (at(source, i) === '0') i++;\n else if (exec(IS_NON_ZERO_DIGIT, at(source, i))) i = this.skip(IS_DIGIT, i + 1);\n else throw new SyntaxError('Failed to parse number at: ' + i);\n if (at(source, i) === '.') {\n var fractionStartIndex = i + 1;\n i = this.skip(IS_DIGIT, fractionStartIndex);\n if (fractionStartIndex === i) throw new SyntaxError(\"Failed to parse number's fraction at: \" + i);\n }\n if (at(source, i) === 'e' || at(source, i) === 'E') {\n i++;\n if (at(source, i) === '+' || at(source, i) === '-') i++;\n var exponentStartIndex = i;\n i = this.skip(IS_DIGIT, i);\n if (exponentStartIndex === i) throw new SyntaxError(\"Failed to parse number's exponent value at: \" + i);\n }\n return this.node(PRIMITIVE, Number(slice(source, startIndex, i)), startIndex, i);\n },\n keyword: function (value) {\n var keyword = '' + value;\n var index = this.index;\n var endIndex = index + keyword.length;\n if (slice(this.source, index, endIndex) !== keyword) throw new SyntaxError('Failed to parse value at: ' + index);\n return this.node(PRIMITIVE, value, index, endIndex);\n },\n skip: function (regex, i) {\n var source = this.source;\n for (; i < source.length; i++) if (!exec(regex, at(source, i))) break;\n return i;\n },\n until: function (array, i) {\n i = this.skip(IS_WHITESPACE, i);\n var chr = at(this.source, i);\n for (var j = 0; j < array.length; j++) if (array[j] === chr) return i;\n throw new SyntaxError('Unexpected character: \"' + chr + '\" at: ' + i);\n }\n};\n\nvar NO_SOURCE_SUPPORT = fails(function () {\n var unsafeInt = '9007199254740993';\n var source;\n nativeParse(unsafeInt, function (key, value, context) {\n source = context.source;\n });\n return source !== unsafeInt;\n});\n\nvar PROPER_BASE_PARSE = NATIVE_SYMBOL && !fails(function () {\n // Safari 9 bug\n return 1 / nativeParse('-0 \\t') !== -Infinity;\n});\n\n// `JSON.parse` method\n// https://tc39.es/ecma262/#sec-json.parse\n// https://github.com/tc39/proposal-json-parse-with-source\n$({ target: 'JSON', stat: true, forced: NO_SOURCE_SUPPORT }, {\n parse: function parse(text, reviver) {\n return PROPER_BASE_PARSE && !isCallable(reviver) ? nativeParse(text) : $parse(text, reviver);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar isRawJSON = require('../internals/is-raw-json');\nvar isSymbol = require('../internals/is-symbol');\nvar classof = require('../internals/classof-raw');\nvar toString = require('../internals/to-string');\nvar arraySlice = require('../internals/array-slice');\nvar parseJSONString = require('../internals/parse-json-string');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar NATIVE_RAW_JSON = require('../internals/native-raw-json');\n\nvar $String = String;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar slice = uncurryThis(''.slice);\nvar push = uncurryThis([].push);\nvar numberToString = uncurryThis(1.1.toString);\n\nvar surrogates = /[\\uD800-\\uDFFF]/g;\nvar leadingSurrogates = /^[\\uD800-\\uDBFF]$/;\nvar trailingSurrogates = /^[\\uDC00-\\uDFFF]$/;\n\nvar MARK = uid();\nvar MARK_LENGTH = MARK.length;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')('stringify detection');\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) !== '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) !== '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) !== '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithProperSymbolsConversion = WRONG_SYMBOLS_CONVERSION ? function (it, replacer) {\n var args = arraySlice(arguments);\n var $replacer = getReplacerFunction(replacer);\n if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined\n args[1] = function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n if (isCallable($replacer)) value = call($replacer, this, $String(key), value);\n if (!isSymbol(value)) return value;\n };\n return apply($stringify, null, args);\n} : $stringify;\n\nvar fixIllFormedJSON = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if (\n (exec(leadingSurrogates, match) && !exec(trailingSurrogates, next)) ||\n (exec(trailingSurrogates, match) && !exec(leadingSurrogates, prev))\n ) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nvar getReplacerFunction = function (replacer) {\n if (isCallable(replacer)) return replacer;\n if (!isArray(replacer)) return;\n var rawLength = replacer.length;\n var keys = [];\n for (var i = 0; i < rawLength; i++) {\n var element = replacer[i];\n if (typeof element == 'string') push(keys, element);\n else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));\n }\n var keysLength = keys.length;\n var root = true;\n return function (key, value) {\n if (root) {\n root = false;\n return value;\n }\n if (isArray(this)) return value;\n for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;\n };\n};\n\n// `JSON.stringify` method\n// https://tc39.es/ecma262/#sec-json.stringify\n// https://github.com/tc39/proposal-json-parse-with-source\nif ($stringify) $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE || !NATIVE_RAW_JSON }, {\n stringify: function stringify(text, replacer, space) {\n var replacerFunction = getReplacerFunction(replacer);\n var rawStrings = [];\n\n var json = stringifyWithProperSymbolsConversion(text, function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n var v = isCallable(replacerFunction) ? call(replacerFunction, this, $String(key), value) : value;\n return !NATIVE_RAW_JSON && isRawJSON(v) ? MARK + (push(rawStrings, v.rawJSON) - 1) : v;\n }, space);\n\n if (typeof json != 'string') return json;\n\n if (ILL_FORMED_UNICODE) json = replace(json, surrogates, fixIllFormedJSON);\n\n if (NATIVE_RAW_JSON) return json;\n\n var result = '';\n var length = json.length;\n\n for (var i = 0; i < length; i++) {\n var chr = charAt(json, i);\n if (chr === '\"') {\n var end = parseJSONString(json, ++i).end - 1;\n var string = slice(json, i, end);\n result += slice(string, 0, MARK_LENGTH) === MARK\n ? rawStrings[slice(string, MARK_LENGTH)]\n : '\"' + string + '\"';\n i = end;\n } else result += chr;\n }\n\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aCallable = require('../internals/a-callable');\nvar MapHelpers = require('../internals/map-helpers');\nvar IS_PURE = require('../internals/is-pure');\n\nvar get = MapHelpers.get;\nvar has = MapHelpers.has;\nvar set = MapHelpers.set;\n\n// `Map.prototype.getOrInsertComputed` method\n// https://tc39.es/ecma262/#sec-map.prototype.getorinsertcomputed\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n getOrInsertComputed: function getOrInsertComputed(key, callbackfn) {\n var hasKey = has(this, key);\n aCallable(callbackfn);\n if (hasKey) return get(this, key);\n // CanonicalizeKeyedCollectionKey\n if (key === 0 && 1 / key === -Infinity) key = 0;\n var value = callbackfn(key);\n set(this, key, value);\n return value;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar MapHelpers = require('../internals/map-helpers');\nvar IS_PURE = require('../internals/is-pure');\n\nvar get = MapHelpers.get;\nvar has = MapHelpers.has;\nvar set = MapHelpers.set;\n\n// `Map.prototype.getOrInsert` method\n// https://tc39.es/ecma262/#sec-map.prototype.getorinsert\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n getOrInsert: function getOrInsert(key, value) {\n if (has(this, key)) return get(this, key);\n set(this, key, value);\n return value;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\n// `Promise.withResolvers` method\n// https://tc39.es/ecma262/#sec-promise.withResolvers\n$({ target: 'Promise', stat: true }, {\n withResolvers: function withResolvers() {\n var promiseCapability = newPromiseCapabilityModule.f(this);\n return {\n promise: promiseCapability.promise,\n resolve: promiseCapability.resolve,\n reject: promiseCapability.reject\n };\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aString = require('../internals/a-string');\nvar hasOwn = require('../internals/has-own-property');\nvar padStart = require('../internals/string-pad').start;\nvar WHITESPACES = require('../internals/whitespaces');\n\nvar $Array = Array;\nvar $escape = RegExp.escape;\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar numberToString = uncurryThis(1.1.toString);\nvar join = uncurryThis([].join);\nvar FIRST_DIGIT_OR_ASCII = /^[0-9a-z]/i;\nvar SYNTAX_SOLIDUS = /^[$()*+./?[\\\\\\]^{|}]/;\nvar OTHER_PUNCTUATORS_AND_WHITESPACES = RegExp('^[!\"#%&\\',\\\\-:;<=>@`~' + WHITESPACES + ']');\nvar exec = uncurryThis(FIRST_DIGIT_OR_ASCII.exec);\n\nvar ControlEscape = {\n '\\u0009': 't',\n '\\u000A': 'n',\n '\\u000B': 'v',\n '\\u000C': 'f',\n '\\u000D': 'r'\n};\n\nvar escapeChar = function (chr) {\n var hex = numberToString(charCodeAt(chr, 0), 16);\n return hex.length < 3 ? '\\\\x' + padStart(hex, 2, '0') : '\\\\u' + padStart(hex, 4, '0');\n};\n\n// Avoiding the use of polyfills of the previous iteration of this proposal\nvar FORCED = !$escape || $escape('ab') !== '\\\\x61b';\n\n// `RegExp.escape` method\n// https://tc39.es/ecma262/#sec-regexp.escape\n$({ target: 'RegExp', stat: true, forced: FORCED }, {\n escape: function escape(S) {\n aString(S);\n var length = S.length;\n var result = $Array(length);\n\n for (var i = 0; i < length; i++) {\n var chr = charAt(S, i);\n if (i === 0 && exec(FIRST_DIGIT_OR_ASCII, chr)) {\n result[i] = escapeChar(chr);\n } else if (hasOwn(ControlEscape, chr)) {\n result[i] = '\\\\' + ControlEscape[chr];\n } else if (exec(SYNTAX_SOLIDUS, chr)) {\n result[i] = '\\\\' + chr;\n } else if (exec(OTHER_PUNCTUATORS_AND_WHITESPACES, chr)) {\n result[i] = escapeChar(chr);\n } else {\n var charCode = charCodeAt(chr, 0);\n // single UTF-16 code unit\n if ((charCode & 0xF800) !== 0xD800) result[i] = chr;\n // unpaired surrogate\n else if (charCode >= 0xDC00 || i + 1 >= length || (charCodeAt(S, i + 1) & 0xFC00) !== 0xDC00) result[i] = escapeChar(chr);\n // surrogate pair\n else {\n result[i] = chr;\n result[++i] = charAt(S, i);\n }\n }\n }\n\n return join(result, '');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar difference = require('../internals/set-difference');\nvar fails = require('../internals/fails');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar SET_LIKE_INCORRECT_BEHAVIOR = !setMethodAcceptSetLike('difference', function (result) {\n return result.size === 0;\n});\n\nvar FORCED = SET_LIKE_INCORRECT_BEHAVIOR || fails(function () {\n // https://bugs.webkit.org/show_bug.cgi?id=288595\n var setLike = {\n size: 1,\n has: function () { return true; },\n keys: function () {\n var index = 0;\n return {\n next: function () {\n var done = index++ > 1;\n if (baseSet.has(1)) baseSet.clear();\n return { done: done, value: 2 };\n }\n };\n }\n };\n // eslint-disable-next-line es/no-set -- testing\n var baseSet = new Set([1, 2, 3, 4]);\n // eslint-disable-next-line es/no-set-prototype-difference -- testing\n return baseSet.difference(setLike).size !== 3;\n});\n\n// `Set.prototype.difference` method\n// https://tc39.es/ecma262/#sec-set.prototype.difference\n$({ target: 'Set', proto: true, real: true, forced: FORCED }, {\n difference: difference\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar intersection = require('../internals/set-intersection');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar INCORRECT = !setMethodAcceptSetLike('intersection', function (result) {\n return result.size === 2 && result.has(1) && result.has(2);\n}) || fails(function () {\n // eslint-disable-next-line es/no-array-from, es/no-set, es/no-set-prototype-intersection -- testing\n return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2';\n});\n\n// `Set.prototype.intersection` method\n// https://tc39.es/ecma262/#sec-set.prototype.intersection\n$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {\n intersection: intersection\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isDisjointFrom = require('../internals/set-is-disjoint-from');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar INCORRECT = !setMethodAcceptSetLike('isDisjointFrom', function (result) {\n return !result;\n});\n\n// `Set.prototype.isDisjointFrom` method\n// https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom\n$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {\n isDisjointFrom: isDisjointFrom\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isSubsetOf = require('../internals/set-is-subset-of');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar INCORRECT = !setMethodAcceptSetLike('isSubsetOf', function (result) {\n return result;\n});\n\n// `Set.prototype.isSubsetOf` method\n// https://tc39.es/ecma262/#sec-set.prototype.issubsetof\n$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {\n isSubsetOf: isSubsetOf\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isSupersetOf = require('../internals/set-is-superset-of');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar INCORRECT = !setMethodAcceptSetLike('isSupersetOf', function (result) {\n return !result;\n});\n\n// `Set.prototype.isSupersetOf` method\n// https://tc39.es/ecma262/#sec-set.prototype.issupersetof\n$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {\n isSupersetOf: isSupersetOf\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar symmetricDifference = require('../internals/set-symmetric-difference');\nvar setMethodGetKeysBeforeCloning = require('../internals/set-method-get-keys-before-cloning-detection');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar FORCED = !setMethodAcceptSetLike('symmetricDifference') || !setMethodGetKeysBeforeCloning('symmetricDifference');\n\n// `Set.prototype.symmetricDifference` method\n// https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference\n$({ target: 'Set', proto: true, real: true, forced: FORCED }, {\n symmetricDifference: symmetricDifference\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar union = require('../internals/set-union');\nvar setMethodGetKeysBeforeCloning = require('../internals/set-method-get-keys-before-cloning-detection');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar FORCED = !setMethodAcceptSetLike('union') || !setMethodGetKeysBeforeCloning('union');\n\n// `Set.prototype.union` method\n// https://tc39.es/ecma262/#sec-set.prototype.union\n$({ target: 'Set', proto: true, real: true, forced: FORCED }, {\n union: union\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toBigInt = require('../internals/to-big-int');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar $RangeError = RangeError;\n\nvar PROPER_ORDER = function () {\n try {\n // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing\n new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } });\n } catch (error) {\n // some early implementations, like WebKit, does not follow the final semantic\n // https://github.com/tc39/proposal-change-array-by-copy/pull/86\n return error === 8;\n }\n}();\n\n// Bug in WebKit. It should truncate a negative fractional index to zero, but instead throws an error\nvar THROW_ON_NEGATIVE_FRACTIONAL_INDEX = PROPER_ORDER && function () {\n try {\n // eslint-disable-next-line es/no-typed-arrays, es/no-array-prototype-with -- required for testing\n new Int8Array(1)['with'](-0.5, 1);\n } catch (error) {\n return true;\n }\n}();\n\n// `%TypedArray%.prototype.with` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with\nexportTypedArrayMethod('with', { 'with': function (index, value) {\n var O = aTypedArray(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;\n var numericValue = isBigIntArray(O) ? toBigInt(value) : +value;\n if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index');\n var A = new (getTypedArrayConstructor(O))(len);\n var k = 0;\n for (; k < len; k++) A[k] = k === actualIndex ? numericValue : O[k];\n return A;\n} }['with'], !PROPER_ORDER || THROW_ON_NEGATIVE_FRACTIONAL_INDEX);\n","'use strict';\nvar $ = require('../internals/export');\nvar aCallable = require('../internals/a-callable');\nvar aWeakMap = require('../internals/a-weak-map');\nvar aWeakKey = require('../internals/a-weak-key');\nvar WeakMapHelpers = require('../internals/weak-map-helpers');\nvar IS_PURE = require('../internals/is-pure');\n\nvar get = WeakMapHelpers.get;\nvar has = WeakMapHelpers.has;\nvar set = WeakMapHelpers.set;\n\nvar FORCED = IS_PURE || !function () {\n try {\n // eslint-disable-next-line es/no-weak-map, no-throw-literal -- testing\n if (WeakMap.prototype.getOrInsertComputed) new WeakMap().getOrInsertComputed(1, function () { throw 1; });\n } catch (error) {\n // FF144 Nightly - Beta 3 bug\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1988369\n return error instanceof TypeError;\n }\n}();\n\n// `WeakMap.prototype.getOrInsertComputed` method\n// https://tc39.es/ecma262/#sec-weakmap.prototype.getorinsertcomputed\n$({ target: 'WeakMap', proto: true, real: true, forced: FORCED }, {\n getOrInsertComputed: function getOrInsertComputed(key, callbackfn) {\n if (!IS_PURE) aWeakMap(this);\n aWeakKey(key);\n aCallable(callbackfn);\n if (has(this, key)) return get(this, key);\n var value = callbackfn(key);\n set(this, key, value);\n return value;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar WeakMapHelpers = require('../internals/weak-map-helpers');\nvar IS_PURE = require('../internals/is-pure');\n\nvar get = WeakMapHelpers.get;\nvar has = WeakMapHelpers.has;\nvar set = WeakMapHelpers.set;\n\n// `WeakMap.prototype.getOrInsert` method\n// https://tc39.es/ecma262/#sec-weakmap.prototype.getorinsert\n$({ target: 'WeakMap', proto: true, real: true, forced: IS_PURE }, {\n getOrInsert: function getOrInsert(key, value) {\n if (has(this, key)) return get(this, key);\n set(this, key, value);\n return value;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar toString = require('../internals/to-string');\nvar USE_NATIVE_URL = require('../internals/url-constructor-detection');\n\nvar URL = getBuiltIn('URL');\n\n// `URL.parse` method\n// https://url.spec.whatwg.org/#dom-url-parse\n$({ target: 'URL', stat: true, forced: !USE_NATIVE_URL }, {\n parse: function parse(url) {\n var length = validateArgumentsLength(arguments.length, 1);\n var urlString = toString(url);\n var base = length < 2 || arguments[1] === undefined ? undefined : toString(arguments[1]);\n try {\n return new URL(urlString, base);\n } catch (error) {\n return null;\n }\n }\n});\n","// The module cache\nconst __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tconst cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tconst module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter/value functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tif(Array.isArray(definition)) {\n\t\tvar i = 0;\n\t\twhile(i < definition.length) {\n\t\t\tvar key = definition[i++];\n\t\t\tvar binding = definition[i++];\n\t\t\tif(!__webpack_require__.o(exports, key)) {\n\t\t\t\tif(binding === 0) {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, value: definition[i++] });\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: binding });\n\t\t\t\t}\n\t\t\t} else if(binding === 0) { i++; }\n\t\t}\n\t} else {\n\t\tfor(var key in definition) {\n\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t\t}\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst DEFAULT_SCALE_VALUE = \"auto\";\nconst DEFAULT_SCALE = 1.0;\nconst DEFAULT_SCALE_DELTA = 1.1;\nconst MIN_SCALE = 0.1;\nconst MAX_SCALE = 25.0;\nconst UNKNOWN_SCALE = 0;\nconst MAX_AUTO_SCALE = 1.25;\nconst SCROLLBAR_PADDING = 40;\nconst VERTICAL_PADDING = 5;\n\nconst PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3,\n};\n\nconst SidebarView = {\n UNKNOWN: -1,\n NONE: 0,\n THUMBS: 1, // Default value.\n OUTLINE: 2,\n ATTACHMENTS: 3,\n LAYERS: 4,\n};\n\nconst TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_PERMISSIONS: 2,\n};\n\nconst ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0, // Default value.\n HORIZONTAL: 1,\n WRAPPED: 2,\n PAGE: 3,\n};\n\nconst SpreadMode = {\n UNKNOWN: -1,\n NONE: 0, // Default value.\n ODD: 1,\n EVEN: 2,\n};\n\nconst CursorTool = {\n SELECT: 0, // The default value.\n HAND: 1,\n ZOOM: 2,\n};\n\n// Used by `PDFViewerApplication`, and by the API unit-tests.\nconst AutoPrintRegExp = /\\bprint\\s*\\(/;\n\n/**\n * Scrolls specified element into view of its parent.\n * @param {HTMLElement} element - The element to be visible.\n * @param {Object} [spot] - An object with optional top and left properties,\n * specifying the offset from the top left edge.\n * @param {number} [spot.left]\n * @param {number} [spot.top]\n */\nfunction scrollIntoView(element, spot) {\n // Assuming offsetParent is available (it's not available when viewer is in\n // hidden iframe or object). We have to scroll: if the offsetParent is not set\n // producing the error. See also animationStarted.\n let parent = element.offsetParent;\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n let offsetY = element.offsetTop + element.clientTop;\n let offsetX = element.offsetLeft + element.clientLeft;\n while (\n parent.clientHeight === parent.scrollHeight &&\n parent.clientWidth === parent.scrollWidth\n ) {\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n\n parent = parent.offsetParent;\n if (!parent) {\n return; // no need to scroll\n }\n }\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n parent.scrollTop = offsetY;\n}\n\n/**\n * Helper function to start monitoring the scroll event and converting them into\n * PDF.js friendly one: with scroll debounce and scroll direction.\n */\nfunction watchScroll(viewAreaElement, callback, abortSignal = undefined) {\n const debounceScroll = function (evt) {\n if (rAF) {\n return;\n }\n // schedule an invocation of scroll for next animation frame.\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n\n const currentX = viewAreaElement.scrollLeft;\n const lastX = state.lastX;\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n state.lastX = currentX;\n const currentY = viewAreaElement.scrollTop;\n const lastY = state.lastY;\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n state.lastY = currentY;\n callback(state);\n });\n };\n\n const state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll,\n };\n\n let rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, {\n useCapture: true,\n signal: abortSignal,\n });\n abortSignal?.addEventListener(\n \"abort\",\n () => window.cancelAnimationFrame(rAF),\n { once: true }\n );\n return state;\n}\n\n/**\n * Helper function to parse query string (e.g. ?param1=value¶m2=...).\n * @param {string} query\n * @returns {Map}\n */\nfunction parseQueryString(query) {\n const params = new Map();\n for (const [key, value] of new URLSearchParams(query)) {\n params.set(key.toLowerCase(), value);\n }\n return params;\n}\n\n// eslint-disable-next-line no-control-regex\nconst InvisibleCharsRegExp = /[\\x00-\\x1F]/g;\n\n/**\n * @param {string} str\n * @param {boolean} [replaceInvisible]\n */\nfunction removeNullCharacters(str, replaceInvisible = false) {\n if (!InvisibleCharsRegExp.test(str)) {\n return str;\n }\n if (replaceInvisible) {\n return str.replaceAll(InvisibleCharsRegExp, m => (m === \"\\x00\" ? \"\" : \" \"));\n }\n return str.replaceAll(\"\\x00\", \"\");\n}\n\n/**\n * Use binary search to find the index of the first item in a given array which\n * passes a given condition. The items are expected to be sorted in the sense\n * that if the condition is true for one item in the array, then it is also true\n * for all following items.\n *\n * @returns {number} Index of the first array element to pass the test,\n * or |items.length| if no such element exists.\n */\nfunction binarySearchFirstItem(items, condition, start = 0) {\n let minIndex = start;\n let maxIndex = items.length - 1;\n\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n if (condition(items[minIndex])) {\n return minIndex;\n }\n\n while (minIndex < maxIndex) {\n const currentIndex = (minIndex + maxIndex) >> 1;\n const currentItem = items[currentIndex];\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n return minIndex; /* === maxIndex */\n}\n\n/**\n * Approximates float number as a fraction using Farey sequence (max order\n * of 8).\n * @param {number} x - Positive float number.\n * @returns {Array} Estimated fraction: the first array item is a numerator,\n * the second one is a denominator.\n * They are both natural numbers.\n */\nfunction approximateFraction(x) {\n // Fast paths for int numbers or their inversions.\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n const xinv = 1 / x;\n const limit = 8;\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n\n const x_ = x > 1 ? xinv : x;\n // a/b and c/d are neighbours in Farey sequence.\n let a = 0,\n b = 1,\n c = 1,\n d = 1;\n // Limiting search to order 8.\n while (true) {\n // Generating next term in sequence (order of q).\n const p = a + c,\n q = b + d;\n if (q > limit) {\n break;\n }\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n // Select closest of the neighbours to x.\n if (x_ - a / b < c / d - x_) {\n return x_ === x ? [a, b] : [b, a];\n }\n return x_ === x ? [c, d] : [d, c];\n}\n\n/**\n * @param {number} x - A positive number to round to a multiple of `div`.\n * @param {number} div - A natural number.\n */\nfunction floorToDivide(x, div) {\n return x - (x % div);\n}\n\n/**\n * @typedef {Object} GetPageSizeInchesParameters\n * @property {number[]} view\n * @property {number} userUnit\n * @property {number} rotate\n */\n\n/**\n * @typedef {Object} PageSize\n * @property {number} width - In inches.\n * @property {number} height - In inches.\n */\n\n/**\n * Gets the size of the specified page, converted from PDF units to inches.\n * @param {GetPageSizeInchesParameters} params\n * @returns {PageSize}\n */\nfunction getPageSizeInches({ view, userUnit, rotate }) {\n const [x1, y1, x2, y2] = view;\n // We need to take the page rotation into account as well.\n const changeOrientation = rotate % 180 !== 0;\n\n const width = ((x2 - x1) / 72) * userUnit;\n const height = ((y2 - y1) / 72) * userUnit;\n\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height,\n };\n}\n\n/**\n * Helper function for getVisibleElements.\n *\n * @param {number} index - initial guess at the first visible element\n * @param {Array} views - array of pages, into which `index` is an index\n * @param {number} top - the top of the scroll pane\n * @returns {number} less than or equal to `index` that is definitely at or\n * before the first visible element in `views`, but not by too much. (Usually,\n * this will be the first element in the first partially visible row in\n * `views`, although sometimes it goes back one row further.)\n */\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n // binarySearchFirstItem's assumption is that the input is ordered, with only\n // one index where the conditions flips from false to true: [false ...,\n // true...]. With vertical scrolling and spreads, it is possible to have\n // [false ..., true, false, true ...]. With wrapped scrolling we can have a\n // similar sequence, with many more mixed true and false in the middle.\n //\n // So there is no guarantee that the binary search yields the index of the\n // first visible element. It could have been any of the other visible elements\n // that were preceded by a hidden element.\n\n // Of course, if either this element or the previous (hidden) element is also\n // the first element, there's nothing to worry about.\n if (index < 2) {\n return index;\n }\n\n // That aside, the possible cases are represented below.\n //\n // **** = fully hidden\n // A*B* = mix of partially visible and/or hidden pages\n // CDEF = fully visible\n //\n // (1) Binary search could have returned A, in which case we can stop.\n // (2) Binary search could also have returned B, in which case we need to\n // check the whole row.\n // (3) Binary search could also have returned C, in which case we need to\n // check the whole previous row.\n //\n // There's one other possibility:\n //\n // **** = fully hidden\n // ABCD = mix of fully and/or partially visible pages\n //\n // (4) Binary search could only have returned A.\n\n // Initially assume that we need to find the beginning of the current row\n // (case 1, 2, or 4), which means finding a page that is above the current\n // page's top. If the found page is partially visible, we're definitely not in\n // case 3, and this assumption is correct.\n let elt = views[index].div;\n let pageTop = elt.offsetTop + elt.clientTop;\n\n if (pageTop >= top) {\n // The found page is fully visible, so we're actually either in case 3 or 4,\n // and unfortunately we can't tell the difference between them without\n // scanning the entire previous row, so we just conservatively assume that\n // we do need to backtrack to that row. In both cases, the previous page is\n // in the previous row, so use its top instead.\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n\n // Now we backtrack to the first page that still has its bottom below\n // `pageTop`, which is the top of a page in the first visible row (unless\n // we're in case 4, in which case it's the row before that).\n // `index` is found by binary search, so the page at `index - 1` is\n // invisible and we can start looking for potentially visible pages from\n // `index - 2`. (However, if this loop terminates on its first iteration,\n // which is the case when pages are stacked vertically, `index` should remain\n // unchanged, so we use a distinct loop variable.)\n for (let i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n // We have reached the previous row, so stop now.\n // This loop is expected to terminate relatively quickly because the\n // number of pages per row is expected to be small.\n break;\n }\n index = i;\n }\n return index;\n}\n\n/**\n * @typedef {Object} GetVisibleElementsParameters\n * @property {HTMLElement} scrollEl - A container that can possibly scroll.\n * @property {Array} views - Objects with a `div` property that contains an\n * HTMLElement, which should all be descendants of `scrollEl` satisfying the\n * relevant layout assumptions.\n * @property {boolean} sortByVisibility - If `true`, the returned elements are\n * sorted in descending order of the percent of their padding box that is\n * visible. The default value is `false`.\n * @property {boolean} horizontal - If `true`, the elements are assumed to be\n * laid out horizontally instead of vertically. The default value is `false`.\n * @property {boolean} rtl - If `true`, the `scrollEl` container is assumed to\n * be in right-to-left mode. The default value is `false`.\n */\n\n/**\n * Generic helper to find out what elements are visible within a scroll pane.\n *\n * Well, pretty generic. There are some assumptions placed on the elements\n * referenced by `views`:\n * - If `horizontal`, no left of any earlier element is to the right of the\n * left of any later element.\n * - Otherwise, `views` can be split into contiguous rows where, within a row,\n * no top of any element is below the bottom of any other element, and\n * between rows, no bottom of any element in an earlier row is below the\n * top of any element in a later row.\n *\n * (Here, top, left, etc. all refer to the padding edge of the element in\n * question. For pages, that ends up being equivalent to the bounding box of the\n * rendering canvas. Earlier and later refer to index in `views`, not page\n * layout.)\n *\n * @param {GetVisibleElementsParameters} params\n * @returns {Object} `{ first, last, views: [{ id, x, y, view, percent }] }`\n */\nfunction getVisibleElements({\n scrollEl,\n views,\n sortByVisibility = false,\n horizontal = false,\n rtl = false,\n}) {\n const top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n const left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n // Throughout this \"generic\" function, comments will assume we're working with\n // PDF document pages, which is the most important and complex case. In this\n // case, the visible elements we're actually interested is the page canvas,\n // which is contained in a wrapper which adds no padding/border/margin, which\n // is itself contained in `view.div` which adds no padding (but does add a\n // border). So, as specified in this function's doc comment, this function\n // does all of its work on the padding edge of the provided views, starting at\n // offsetLeft/Top (which includes margin) and adding clientLeft/Top (which is\n // the border). Adding clientWidth/Height gets us the bottom-right corner of\n // the padding edge.\n function isElementBottomAfterViewTop(view) {\n const element = view.div;\n const elementBottom =\n element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n function isElementNextAfterViewHorizontally(view) {\n const element = view.div;\n const elementLeft = element.offsetLeft + element.clientLeft;\n const elementRight = elementLeft + element.clientWidth;\n return rtl ? elementLeft < right : elementRight > left;\n }\n\n const visible = [],\n ids = new Set(),\n numViews = views.length;\n let firstVisibleElementInd = binarySearchFirstItem(\n views,\n horizontal\n ? isElementNextAfterViewHorizontally\n : isElementBottomAfterViewTop\n );\n\n // Please note the return value of the `binarySearchFirstItem` function when\n // no valid element is found (hence the `firstVisibleElementInd` check below).\n if (\n firstVisibleElementInd > 0 &&\n firstVisibleElementInd < numViews &&\n !horizontal\n ) {\n // In wrapped scrolling (or vertical scrolling with spreads), with some page\n // sizes, isElementBottomAfterViewTop doesn't satisfy the binary search\n // condition: there can be pages with bottoms above the view top between\n // pages with bottoms below. This function detects and corrects that error;\n // see it for more comments.\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(\n firstVisibleElementInd,\n views,\n top\n );\n }\n\n // lastEdge acts as a cutoff for us to stop looping, because we know all\n // subsequent pages will be hidden.\n //\n // When using wrapped scrolling or vertical scrolling with spreads, we can't\n // simply stop the first time we reach a page below the bottom of the view;\n // the tops of subsequent pages on the same row could still be visible. In\n // horizontal scrolling, we don't have that issue, so we can stop as soon as\n // we pass `right`, without needing the code below that handles the -1 case.\n let lastEdge = horizontal ? right : -1;\n\n for (let i = firstVisibleElementInd; i < numViews; i++) {\n const view = views[i],\n element = view.div;\n const currentWidth = element.offsetLeft + element.clientLeft;\n const currentHeight = element.offsetTop + element.clientTop;\n const viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n const viewRight = currentWidth + viewWidth;\n const viewBottom = currentHeight + viewHeight;\n\n if (lastEdge === -1) {\n // As commented above, this is only needed in non-horizontal cases.\n // Setting lastEdge to the bottom of the first page that is partially\n // visible ensures that the next page fully below lastEdge is on the\n // next row, which has to be fully hidden along with all subsequent rows.\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n\n if (\n viewBottom <= top ||\n currentHeight >= bottom ||\n viewRight <= left ||\n currentWidth >= right\n ) {\n continue;\n }\n\n const minY = Math.max(0, top - currentHeight);\n const minX = Math.max(0, left - currentWidth);\n\n const hiddenHeight = minY + Math.max(0, viewBottom - bottom);\n const hiddenWidth = minX + Math.max(0, viewRight - right);\n\n const fractionHeight = (viewHeight - hiddenHeight) / viewHeight,\n fractionWidth = (viewWidth - hiddenWidth) / viewWidth;\n const percent = (fractionHeight * fractionWidth * 100) | 0;\n\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n visibleArea:\n // We only specify which part of the page is visible when it's not\n // the full page, as there is no point in handling a partial page\n // rendering otherwise.\n percent === 100\n ? null\n : {\n minX,\n minY,\n maxX: Math.min(viewRight, right) - currentWidth,\n maxY: Math.min(viewBottom, bottom) - currentHeight,\n },\n view,\n percent,\n widthPercent: (fractionWidth * 100) | 0,\n });\n ids.add(view.id);\n }\n\n const first = visible[0],\n last = visible.at(-1);\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n const pc = a.percent - b.percent;\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n return a.id - b.id; // ensure stability\n });\n }\n return { first, last, views: visible, ids };\n}\n\nfunction normalizeWheelEventDirection(evt) {\n let delta = Math.hypot(evt.deltaX, evt.deltaY);\n const angle = Math.atan2(evt.deltaY, evt.deltaX);\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n // All that is left-up oriented has to change the sign.\n delta = -delta;\n }\n return delta;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n const deltaMode = evt.deltaMode; // Avoid being affected by bug 1392460.\n let delta = normalizeWheelEventDirection(evt);\n\n const MOUSE_PIXELS_PER_LINE = 30;\n const MOUSE_LINES_PER_PAGE = 30;\n\n // Converts delta to per-page units\n if (deltaMode === WheelEvent.DOM_DELTA_PIXEL) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (deltaMode === WheelEvent.DOM_DELTA_LINE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n return delta;\n}\n\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n return (\n Number.isInteger(mode) &&\n Object.values(ScrollMode).includes(mode) &&\n mode !== ScrollMode.UNKNOWN\n );\n}\n\nfunction isValidSpreadMode(mode) {\n return (\n Number.isInteger(mode) &&\n Object.values(SpreadMode).includes(mode) &&\n mode !== SpreadMode.UNKNOWN\n );\n}\n\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\n\n/**\n * Promise that is resolved when DOM window becomes visible.\n */\nconst animationStarted = new Promise(function (resolve) {\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"LIB\") &&\n typeof window === \"undefined\"\n ) {\n // Prevent \"ReferenceError: window is not defined\" errors when running the\n // unit-tests in Node.js environments.\n setTimeout(resolve, 20);\n return;\n }\n window.requestAnimationFrame(resolve);\n});\n\nconst docStyle =\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"LIB\") &&\n typeof document === \"undefined\"\n ? null\n : document.documentElement.style;\n\nclass ProgressBar {\n #classList = null;\n\n #disableAutoFetchTimeout = null;\n\n #percent = 0;\n\n #style = null;\n\n #visible = true;\n\n constructor(bar) {\n this.#classList = bar.classList;\n this.#style = bar.style;\n }\n\n get percent() {\n return this.#percent;\n }\n\n set percent(val) {\n this.#percent = val;\n\n if (isNaN(val)) {\n this.#classList.add(\"indeterminate\");\n return;\n }\n this.#classList.remove(\"indeterminate\");\n\n this.#style.setProperty(\"--progressBar-percent\", `${this.#percent}%`);\n }\n\n setWidth(viewer) {\n if (!viewer) {\n return;\n }\n const container = viewer.parentNode;\n const scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n if (scrollbarWidth > 0) {\n this.#style.setProperty(\n \"--progressBar-end-offset\",\n `${scrollbarWidth}px`\n );\n }\n }\n\n setDisableAutoFetch(delay = /* ms = */ 5000) {\n if (this.#percent === 100 || isNaN(this.#percent)) {\n return;\n }\n if (this.#disableAutoFetchTimeout) {\n clearTimeout(this.#disableAutoFetchTimeout);\n }\n this.show();\n\n this.#disableAutoFetchTimeout = setTimeout(() => {\n this.#disableAutoFetchTimeout = null;\n this.hide();\n }, delay);\n }\n\n hide() {\n if (!this.#visible) {\n return;\n }\n this.#visible = false;\n this.#classList.add(\"hidden\");\n }\n\n show() {\n if (this.#visible) {\n return;\n }\n this.#visible = true;\n this.#classList.remove(\"hidden\");\n }\n}\n\n/**\n * Get the active or focused element in current DOM.\n *\n * Recursively search for the truly active or focused element in case there are\n * shadow DOMs.\n *\n * @returns {Element} the truly active or focused element.\n */\nfunction getActiveOrFocusedElement() {\n let curRoot = document;\n let curActiveOrFocused =\n curRoot.activeElement || curRoot.querySelector(\":focus\");\n\n while (curActiveOrFocused?.shadowRoot) {\n curRoot = curActiveOrFocused.shadowRoot;\n curActiveOrFocused =\n curRoot.activeElement || curRoot.querySelector(\":focus\");\n }\n\n return curActiveOrFocused;\n}\n\n/**\n * Converts API PageLayout values to the format used by `BaseViewer`.\n * @param {string} layout - The API PageLayout value.\n * @returns {Object}\n */\nfunction apiPageLayoutToViewerModes(layout) {\n let scrollMode = ScrollMode.VERTICAL,\n spreadMode = SpreadMode.NONE;\n\n switch (layout) {\n case \"SinglePage\":\n scrollMode = ScrollMode.PAGE;\n break;\n case \"OneColumn\":\n break;\n case \"TwoPageLeft\":\n scrollMode = ScrollMode.PAGE;\n /* falls through */\n case \"TwoColumnLeft\":\n spreadMode = SpreadMode.ODD;\n break;\n case \"TwoPageRight\":\n scrollMode = ScrollMode.PAGE;\n /* falls through */\n case \"TwoColumnRight\":\n spreadMode = SpreadMode.EVEN;\n break;\n }\n return { scrollMode, spreadMode };\n}\n\n/**\n * Converts API PageMode values to the format used by `PDFSidebar`.\n * NOTE: There's also a \"FullScreen\" parameter which is not possible to support,\n * since the Fullscreen API used in browsers requires that entering\n * fullscreen mode only occurs as a result of a user-initiated event.\n * @param {string} mode - The API PageMode value.\n * @returns {number} A value from {SidebarView}.\n */\nfunction apiPageModeToSidebarView(mode) {\n switch (mode) {\n case \"UseNone\":\n return SidebarView.NONE;\n case \"UseThumbs\":\n return SidebarView.THUMBS;\n case \"UseOutlines\":\n return SidebarView.OUTLINE;\n case \"UseAttachments\":\n return SidebarView.ATTACHMENTS;\n case \"UseOC\":\n return SidebarView.LAYERS;\n }\n return SidebarView.NONE; // Default value.\n}\n\nfunction toggleCheckedBtn(button, toggle, view = null) {\n button.classList.toggle(\"toggled\", toggle);\n button.setAttribute(\"aria-checked\", toggle);\n\n view?.classList.toggle(\"hidden\", !toggle);\n}\n\nfunction toggleSelectedBtn(button, toggle, view = null) {\n button.classList.toggle(\"selected\", toggle);\n button.setAttribute(\"aria-selected\", toggle);\n\n view?.classList.toggle(\"hidden\", !toggle);\n}\n\nfunction toggleExpandedBtn(button, toggle, view = null) {\n button.classList.toggle(\"toggled\", toggle);\n button.setAttribute(\"aria-expanded\", toggle);\n\n view?.classList.toggle(\"hidden\", !toggle);\n}\n\n// In Firefox, the css calc function uses f32 precision but the Chrome or Safari\n// are using f64 one. So in order to have the same rendering in all browsers, we\n// need to use the right precision in order to have correct dimensions.\nconst calcRound =\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")\n ? Math.fround\n : (function () {\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"LIB\") &&\n typeof document === \"undefined\"\n ) {\n return x => x;\n }\n const e = document.createElement(\"div\");\n e.style.width = \"round(down, calc(1.6666666666666665 * 792px), 1px)\";\n return e.style.width === \"calc(1320px)\" ? Math.fround : x => x;\n })();\n\nexport {\n animationStarted,\n apiPageLayoutToViewerModes,\n apiPageModeToSidebarView,\n approximateFraction,\n AutoPrintRegExp,\n backtrackBeforeAllVisibleElements, // only exported for testing\n binarySearchFirstItem,\n calcRound,\n CursorTool,\n DEFAULT_SCALE,\n DEFAULT_SCALE_DELTA,\n DEFAULT_SCALE_VALUE,\n docStyle,\n floorToDivide,\n getActiveOrFocusedElement,\n getPageSizeInches,\n getVisibleElements,\n isPortraitOrientation,\n isValidRotation,\n isValidScrollMode,\n isValidSpreadMode,\n MAX_AUTO_SCALE,\n MAX_SCALE,\n MIN_SCALE,\n normalizeWheelEventDelta,\n normalizeWheelEventDirection,\n parseQueryString,\n PresentationModeState,\n ProgressBar,\n removeNullCharacters,\n SCROLLBAR_PADDING,\n scrollIntoView,\n ScrollMode,\n SidebarView,\n SpreadMode,\n TextLayerMode,\n toggleCheckedBtn,\n toggleExpandedBtn,\n toggleSelectedBtn,\n UNKNOWN_SCALE,\n VERTICAL_PADDING,\n watchScroll,\n};\n","/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n var compatParams = new Map(); // eslint-disable-line no-var\n const { maxTouchPoints, platform, userAgent } = navigator;\n\n const isAndroid = /Android/.test(userAgent);\n const isIOS =\n /\\b(?:iPad|iPhone|iPod)(?=;)/.test(userAgent) ||\n (platform === \"MacIntel\" && maxTouchPoints > 1);\n\n // Limit canvas size to 5 mega-pixels on mobile.\n // Support: Android, iOS\n if (isIOS || isAndroid) {\n compatParams.set(\"maxCanvasPixels\", 5242880);\n }\n\n // Don't use system fonts on Android (issue 18210).\n // Support: Android\n if (isAndroid) {\n compatParams.set(\"useSystemFonts\", false);\n }\n}\n\nconst OptionKind = {\n BROWSER: 0x01,\n VIEWER: 0x02,\n API: 0x04,\n WORKER: 0x08,\n EVENT_DISPATCH: 0x10,\n PREFERENCE: 0x80,\n};\n\n// Should only be used with options that allow multiple types.\nconst Type = {\n BOOLEAN: 0x01,\n NUMBER: 0x02,\n OBJECT: 0x04,\n STRING: 0x08,\n UNDEFINED: 0x10,\n};\n\n/**\n * NOTE: These options are used to generate the `default_preferences.json` file,\n * see `OptionKind.PREFERENCE`, hence the values below must use only\n * primitive types and cannot rely on any imported types.\n */\nconst defaultOptions = new Map([\n // Begin OptionKind.BROWSER\n [\n \"allowedGlobalEvents\",\n {\n /** @type {Object} */\n value: null,\n kind: OptionKind.BROWSER,\n },\n ],\n [\n \"canvasMaxAreaInBytes\",\n {\n /** @type {number} */\n value: -1,\n kind: OptionKind.BROWSER + OptionKind.API,\n },\n ],\n [\n \"isInAutomation\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.BROWSER,\n },\n ],\n [\n \"localeProperties\",\n {\n /** @type {Object} */\n value:\n typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")\n ? { lang: navigator.language || \"en-US\" }\n : null,\n kind: OptionKind.BROWSER,\n },\n ],\n [\n \"maxCanvasDim\",\n {\n /** @type {number} */\n value: 32767,\n kind: OptionKind.BROWSER + OptionKind.VIEWER,\n },\n ],\n [\n \"nimbusDataStr\",\n {\n /** @type {string} */\n value: \"\",\n kind: OptionKind.BROWSER,\n },\n ],\n [\n \"supportsCaretBrowsingMode\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.BROWSER,\n },\n ],\n [\n \"supportsDocumentFonts\",\n {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.BROWSER,\n },\n ],\n [\n \"supportsDownloading\",\n {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.BROWSER,\n },\n ],\n [\n \"supportsIntegratedFind\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.BROWSER,\n },\n ],\n [\n \"supportsMouseWheelZoomCtrlKey\",\n {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.BROWSER,\n },\n ],\n [\n \"supportsMouseWheelZoomMetaKey\",\n {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.BROWSER,\n },\n ],\n [\n \"supportsPinchToZoom\",\n {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.BROWSER,\n },\n ],\n [\n \"supportsPrinting\",\n {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.BROWSER,\n },\n ],\n [\n \"toolbarDensity\",\n {\n /** @type {number} */\n value: 0, // 0 = \"normal\", 1 = \"compact\", 2 = \"touch\"\n kind: OptionKind.BROWSER + OptionKind.EVENT_DISPATCH,\n },\n ],\n // End OptionKind.BROWSER\n\n // Begin OptionKind.VIEWER\n [\n \"altTextLearnMoreUrl\",\n {\n /** @type {string} */\n value:\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")\n ? \"https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/pdf-alt-text\"\n : \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"annotationEditorMode\",\n {\n /** @type {number} */\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"annotationMode\",\n {\n /** @type {number} */\n value: 2,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"capCanvasAreaFactor\",\n {\n /** @type {number} */\n value: 200,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"commentLearnMoreUrl\",\n {\n /** @type {string} */\n value:\n typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"MOZCENTRAL\")\n ? \"https://support.mozilla.org/%LOCALE%/kb/view-pdf-files-firefox-or-choose-another-viewer#w_add-a-comment-to-a-pdf\"\n : \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"cursorToolOnLoad\",\n {\n /** @type {number} */\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"debuggerSrc\",\n {\n /** @type {string} */\n value: \"./debugger.mjs\",\n kind: OptionKind.VIEWER,\n },\n ],\n ...(typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")\n ? [\n [\n \"defaultUrl\",\n {\n /** @type {string} */\n value:\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"CHROME\")\n ? \"\"\n : \"compressed.tracemonkey-pldi-09.pdf\",\n kind: OptionKind.VIEWER,\n },\n ],\n ]\n : []),\n [\n \"defaultZoomDelay\",\n {\n /** @type {number} */\n value: 400,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"defaultZoomValue\",\n {\n /** @type {string} */\n value: \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"disableHistory\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER,\n },\n ],\n [\n \"disablePageLabels\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n ...(typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")\n ? [\n [\n \"disablePreferences\",\n {\n /** @type {boolean} */\n value: typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"TESTING\"),\n kind: OptionKind.VIEWER,\n },\n ],\n ]\n : []),\n ...(typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"CHROME\")\n ? [\n [\n \"disableTelemetry\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n ]\n : []),\n [\n \"enableAltText\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"enableAltTextModelDownload\",\n {\n /** @type {boolean} */\n value: true,\n kind:\n OptionKind.VIEWER + OptionKind.PREFERENCE + OptionKind.EVENT_DISPATCH,\n },\n ],\n [\n \"enableAutoLinking\",\n {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"enableComment\",\n {\n /** @type {boolean} */\n value: typeof PDFJSDev === \"undefined\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"enableDetailCanvas\",\n {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.VIEWER,\n },\n ],\n ...(typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")\n ? [\n [\n \"enableFakeMLManager\",\n {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.VIEWER,\n },\n ],\n ]\n : []),\n [\n \"enableGuessAltText\",\n {\n /** @type {boolean} */\n value: true,\n kind:\n OptionKind.VIEWER + OptionKind.PREFERENCE + OptionKind.EVENT_DISPATCH,\n },\n ],\n [\n \"enableHighlightFloatingButton\",\n {\n // We'll probably want to make some experiments before enabling this\n // in Firefox release, but it has to be temporary.\n // TODO: remove it when unnecessary.\n /** @type {boolean} */\n value: typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\"),\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"enableMerge\",\n {\n /** @type {boolean} */\n value: typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\"),\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"enableNewAltTextWhenAddingImage\",\n {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"enableNewBadge\",\n {\n /** @type {boolean} */\n value: typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"MOZCENTRAL\"),\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"enableOptimizedPartialRendering\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"enablePermissions\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"enablePrintAutoRotate\",\n {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"enableScripting\",\n {\n /** @type {boolean} */\n value: typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"CHROME\"),\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"enableSelectionRendering\",\n {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"enableSignatureEditor\",\n {\n /** @type {boolean} */\n value: typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\"),\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"enableSignatureVerification\",\n {\n // On in MOZCENTRAL (NSS provides the verification path) and in\n // local dev builds; off in shipping GENERIC builds, where no\n // verifier is wired up by default.\n /** @type {boolean} */\n value:\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"TESTING || MOZCENTRAL\"),\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"enableSplitMerge\",\n {\n /** @type {boolean} */\n value: typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\"),\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"enableUpdatedAddImage\",\n {\n // We'll probably want to make some experiments before enabling this\n // in Firefox release, but it has to be temporary.\n // TODO: remove it when unnecessary.\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"externalLinkRel\",\n {\n /** @type {string} */\n value: \"noopener noreferrer nofollow\",\n kind: OptionKind.VIEWER,\n },\n ],\n [\n \"externalLinkTarget\",\n {\n /** @type {number} */\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n ...(typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"MOZCENTRAL && !GECKOVIEW\")\n ? [\n [\n \"featuresNotificationDismissed\",\n {\n /** @type {boolean} */\n value: false,\n kind:\n OptionKind.VIEWER +\n OptionKind.PREFERENCE +\n OptionKind.EVENT_DISPATCH,\n },\n ],\n ]\n : []),\n [\n \"highlightEditorColors\",\n {\n /** @type {string} */\n value:\n \"yellow=#FFFF98,green=#53FFBC,blue=#80EBFF,pink=#FFCBE6,red=#FF4F5F,\" +\n \"yellow_HCM=#FFFFCC,green_HCM=#53FFBC,blue_HCM=#80EBFF,pink_HCM=#F6B8FF,red_HCM=#C50043\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"historyUpdateUrl\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"ignoreDestinationZoom\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"imageResourcesPath\",\n {\n /** @type {string} */\n value:\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")\n ? \"resource://pdf.js/web/images/\"\n : \"./images/\",\n kind: OptionKind.VIEWER,\n },\n ],\n [\n \"imagesRightClickMinSize\",\n {\n /** @type {number} */\n value:\n typeof PDFJSDev === \"undefined\" ||\n // Firefox mobile does not support right-clicking on images,\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=2014081.\n // This option is disabled by default outside of MOZCENTRAL\n // because it degrades the text selection experience in Chrome\n // and Safari.\n PDFJSDev.test(\"MOZCENTRAL && !GECKOVIEW\")\n ? 16\n : -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"maxCanvasPixels\",\n {\n /** @type {number} */\n value: 2 ** 25,\n kind: OptionKind.VIEWER,\n },\n ],\n [\n \"minDurationToUpdateCanvas\",\n {\n /** @type {number} */\n value: 500, // ms\n kind: OptionKind.VIEWER,\n },\n ],\n [\n \"forcePageColors\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"pageColorsBackground\",\n {\n /** @type {string} */\n value: \"Canvas\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"pageColorsForeground\",\n {\n /** @type {string} */\n value: \"CanvasText\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"pdfBugEnabled\",\n {\n /** @type {boolean} */\n value: typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\"),\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"postMessageAfterPrintCallback\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"printResolution\",\n {\n /** @type {number} */\n value: 150,\n kind: OptionKind.VIEWER,\n },\n ],\n ...(typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")\n ? [\n [\n \"sandboxBundleSrc\",\n {\n /** @type {string} */\n value:\n typeof PDFJSDev === \"undefined\"\n ? \"../build/dev-sandbox/pdf.sandbox.mjs\"\n : \"../build/pdf.sandbox.mjs\",\n kind: OptionKind.VIEWER,\n },\n ],\n ]\n : []),\n [\n \"sidebarViewOnLoad\",\n {\n /** @type {number} */\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"scrollModeOnLoad\",\n {\n /** @type {number} */\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"spreadModeOnLoad\",\n {\n /** @type {number} */\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"textLayerMode\",\n {\n /** @type {number} */\n value: 1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"viewerCssTheme\",\n {\n /** @type {number} */\n value: typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"CHROME\") ? 2 : 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n [\n \"viewOnLoad\",\n {\n /** @type {boolean} */\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ],\n // End OptionKind.VIEWER\n\n // Begin OptionKind.API\n [\n \"cMapPacked\",\n {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.API,\n },\n ],\n [\n \"cMapUrl\",\n {\n /** @type {string} */\n value:\n // eslint-disable-next-line no-nested-ternary\n typeof PDFJSDev === \"undefined\"\n ? \"../external/bcmaps/\"\n : PDFJSDev.test(\"MOZCENTRAL\")\n ? \"resource://pdf.js/web/cmaps/\"\n : \"../web/cmaps/\",\n kind: OptionKind.API,\n },\n ],\n [\n \"disableAutoFetch\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n ],\n [\n \"disableFontFace\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n ],\n [\n \"disableRange\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n ],\n [\n \"disableStream\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n ],\n [\n \"docBaseUrl\",\n {\n /** @type {string} */\n value:\n typeof PDFJSDev === \"undefined\"\n ? // NOTE: We cannot use the `updateUrlHash` function here, because of\n // the default preferences generation (see `gulpfile.mjs`).\n // However, the following line is *only* used in development mode.\n document.URL.split(\"#\", 1)[0]\n : \"\",\n kind: OptionKind.API,\n },\n ],\n [\n \"enableHWA\",\n {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n ],\n [\n \"enableWebGPU\",\n {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n ],\n [\n \"enableXfa\",\n {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n ],\n [\n \"fontExtraProperties\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API,\n },\n ],\n [\n \"iccUrl\",\n {\n /** @type {string} */\n value:\n // eslint-disable-next-line no-nested-ternary\n typeof PDFJSDev === \"undefined\"\n ? \"../external/iccs/\"\n : PDFJSDev.test(\"MOZCENTRAL\")\n ? \"resource://pdf.js/web/iccs/\"\n : \"../web/iccs/\",\n kind: OptionKind.API,\n },\n ],\n [\n \"isOffscreenCanvasSupported\",\n {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.API,\n },\n ],\n [\n \"maxImageSize\",\n {\n /** @type {number} */\n value: -1,\n kind: OptionKind.API,\n },\n ],\n [\n \"pdfBug\",\n {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API,\n },\n ],\n [\n \"standardFontDataUrl\",\n {\n /** @type {string} */\n value:\n // eslint-disable-next-line no-nested-ternary\n typeof PDFJSDev === \"undefined\"\n ? \"../external/standard_fonts/\"\n : PDFJSDev.test(\"MOZCENTRAL\")\n ? \"resource://pdf.js/web/standard_fonts/\"\n : \"../web/standard_fonts/\",\n kind: OptionKind.API,\n },\n ],\n [\n \"useSystemFonts\",\n {\n // On Android, there is almost no chance to have the font we want so we\n // don't use the system fonts in this case (bug 1882613).\n /** @type {boolean|undefined} */\n value: (\n typeof PDFJSDev === \"undefined\"\n ? window.isGECKOVIEW\n : PDFJSDev.test(\"GECKOVIEW\")\n )\n ? false\n : undefined,\n kind: OptionKind.API,\n type: Type.BOOLEAN + Type.UNDEFINED,\n },\n ],\n [\n \"verbosity\",\n {\n /** @type {number} */\n value: 1,\n kind: OptionKind.API,\n },\n ],\n [\n \"wasmUrl\",\n {\n /** @type {string} */\n value:\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")\n ? \"resource://pdf.js/web/wasm/\"\n : \"../web/wasm/\",\n kind: OptionKind.API,\n },\n ],\n // End OptionKind.API\n\n // Begin OptionKind.WORKER\n [\n \"workerPort\",\n {\n /** @type {Object} */\n value:\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")\n ? globalThis.pdfjsPreloadedWorker || null\n : null,\n kind: OptionKind.WORKER,\n },\n ],\n [\n \"workerSrc\",\n {\n /** @type {string} */\n value:\n // eslint-disable-next-line no-nested-ternary\n typeof PDFJSDev === \"undefined\"\n ? \"../src/pdf.worker.js\"\n : PDFJSDev.test(\"MOZCENTRAL\")\n ? \"resource://pdf.js/build/pdf.worker.mjs\"\n : \"../build/pdf.worker.mjs\",\n kind: OptionKind.WORKER,\n },\n ],\n // End OptionKind.WORKER\n]);\n\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n // Ensure that the `defaultOptions` are correctly specified.\n for (const [name, { value, kind, type }] of defaultOptions) {\n if (kind & OptionKind.PREFERENCE) {\n if (kind === OptionKind.PREFERENCE) {\n throw new Error(`Cannot use only \"PREFERENCE\" kind: ${name}`);\n }\n if (kind & OptionKind.BROWSER) {\n throw new Error(`Cannot mix \"PREFERENCE\" and \"BROWSER\" kind: ${name}`);\n }\n if (type !== undefined) {\n throw new Error(\n `Cannot have \\`type\\`-field for \"PREFERENCE\" kind: ${name}`\n );\n }\n if (typeof compatParams === \"object\" && compatParams.has(name)) {\n throw new Error(\n `Should not have compatibility-value for \"PREFERENCE\" kind: ${name}`\n );\n }\n // Only \"simple\" preference-values are allowed.\n if (\n typeof value !== \"boolean\" &&\n typeof value !== \"string\" &&\n !Number.isInteger(value)\n ) {\n throw new Error(`Invalid value for \"PREFERENCE\" kind: ${name}`);\n }\n } else if (kind & OptionKind.BROWSER) {\n if (type !== undefined) {\n throw new Error(\n `Cannot have \\`type\\`-field for \"BROWSER\" kind: ${name}`\n );\n }\n if (typeof compatParams === \"object\" && compatParams.has(name)) {\n throw new Error(\n `Should not have compatibility-value for \"BROWSER\" kind: ${name}`\n );\n }\n if (value === undefined) {\n throw new Error(`Invalid value for \"BROWSER\" kind: ${name}`);\n }\n }\n }\n}\n\nclass AppOptions {\n static eventBus;\n\n static #opts = new Map();\n\n static {\n // Initialize all the user-options.\n for (const [name, defaultOpt] of defaultOptions) {\n this.#opts.set(name, defaultOpt.value);\n }\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n // Apply any compatibility-values to the user-options.\n for (const [name, value] of compatParams) {\n this.#opts.set(name, value);\n }\n this._hasInvokedSet = false;\n\n this._checkDisablePreferences = () => {\n if (this.get(\"disablePreferences\")) {\n // Give custom implementations of the default viewer a simpler way to\n // opt-out of having the `Preferences` override existing `AppOptions`.\n return true;\n }\n if (this._hasInvokedSet) {\n console.warn(\n \"The Preferences may override manually set AppOptions; \" +\n 'please use the \"disablePreferences\"-option to prevent that.'\n );\n }\n return false;\n };\n }\n }\n\n constructor() {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n throw new Error(\"Cannot initialize AppOptions.\");\n }\n }\n\n static get(name) {\n return this.#opts.get(name);\n }\n\n static getAll(kind = null, defaultOnly = false) {\n const options = Object.create(null);\n for (const [name, defaultOpt] of defaultOptions) {\n if (kind && !(kind & defaultOpt.kind)) {\n continue;\n }\n options[name] = !defaultOnly ? this.#opts.get(name) : defaultOpt.value;\n }\n return options;\n }\n\n static set(name, value) {\n this.setAll({ [name]: value });\n }\n\n static setAll(options, prefs = false) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n this._hasInvokedSet ||= true;\n }\n let events;\n\n for (const name in options) {\n const defaultOpt = defaultOptions.get(name),\n userOpt = options[name];\n\n if (\n !defaultOpt ||\n !(\n typeof userOpt === typeof defaultOpt.value ||\n Type[(typeof userOpt).toUpperCase()] & defaultOpt.type\n )\n ) {\n continue;\n }\n const { kind } = defaultOpt;\n\n if (\n prefs &&\n !(kind & OptionKind.BROWSER || kind & OptionKind.PREFERENCE)\n ) {\n continue;\n }\n if (this.eventBus && kind & OptionKind.EVENT_DISPATCH) {\n (events ||= new Map()).set(name, userOpt);\n }\n this.#opts.set(name, userOpt);\n }\n\n if (events) {\n for (const [name, value] of events) {\n this.eventBus.dispatch(name.toLowerCase(), { source: this, value });\n }\n }\n }\n}\n\nexport { AppOptions, OptionKind };\n","/* Copyright 2016 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst {\n AbortException,\n AnnotationEditorLayer,\n AnnotationEditorParamsType,\n AnnotationEditorType,\n AnnotationEditorUIManager,\n AnnotationLayer,\n AnnotationMode,\n AnnotationType,\n applyOpacity,\n build,\n ColorPicker,\n createValidAbsoluteUrl,\n CSSConstants,\n DOMSVGFactory,\n DrawLayer,\n FeatureTest,\n fetchData,\n findContrastColor,\n getDocument,\n getFilenameFromUrl,\n getPdfFilenameFromUrl,\n getRGB,\n getRGBA,\n getUuid,\n GlobalWorkerOptions,\n ImageKind,\n InvalidPDFException,\n isDataScheme,\n isPdfFile,\n isValidExplicitDest,\n makeArr,\n makeMap,\n makeObj,\n makeSet,\n MathClamp,\n noContextMenu,\n normalizeUnicode,\n OPS,\n OutputScale,\n PasswordException,\n PasswordResponses,\n PDFDataRangeTransport,\n PDFDateString,\n PDFWorker,\n PermissionFlag,\n PixelsPerInch,\n RenderingCancelledException,\n renderRichText,\n ResponseException,\n setLayerDimensions,\n shadow,\n SignatureExtractor,\n stopEvent,\n SupportedImageMimeTypes,\n TextLayer,\n TextLayerImages,\n TouchManager,\n updateUrlHash,\n Util,\n VerbosityLevel,\n version,\n XfaLayer,\n} = globalThis.pdfjsLib;\n\nexport {\n AbortException,\n AnnotationEditorLayer,\n AnnotationEditorParamsType,\n AnnotationEditorType,\n AnnotationEditorUIManager,\n AnnotationLayer,\n AnnotationMode,\n AnnotationType,\n applyOpacity,\n build,\n ColorPicker,\n createValidAbsoluteUrl,\n CSSConstants,\n DOMSVGFactory,\n DrawLayer,\n FeatureTest,\n fetchData,\n findContrastColor,\n getDocument,\n getFilenameFromUrl,\n getPdfFilenameFromUrl,\n getRGB,\n getRGBA,\n getUuid,\n GlobalWorkerOptions,\n ImageKind,\n InvalidPDFException,\n isDataScheme,\n isPdfFile,\n isValidExplicitDest,\n makeArr,\n makeMap,\n makeObj,\n makeSet,\n MathClamp,\n noContextMenu,\n normalizeUnicode,\n OPS,\n OutputScale,\n PasswordException,\n PasswordResponses,\n PDFDataRangeTransport,\n PDFDateString,\n PDFWorker,\n PermissionFlag,\n PixelsPerInch,\n RenderingCancelledException,\n renderRichText,\n ResponseException,\n setLayerDimensions,\n shadow,\n SignatureExtractor,\n stopEvent,\n SupportedImageMimeTypes,\n TextLayer,\n TextLayerImages,\n TouchManager,\n updateUrlHash,\n Util,\n VerbosityLevel,\n version,\n XfaLayer,\n};\n","/* Copyright 2026 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Keep this file in sync with `src/shared/internal_evt.js`.\n */\n\nconst INTERNAL_EVT =\n typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"TESTING\")\n ? PDFJSDev.eval(\"INTERNAL_EVT\")\n : \"internalEvent\";\n\nconst internalOpt = Object.freeze({ internal: INTERNAL_EVT });\n\nexport { INTERNAL_EVT, internalOpt };\n","/* Copyright 2015 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @typedef {import(\"./event_utils\").EventBus} EventBus */\n\n/**\n * @import { CatalogAttachmentContent } from \"../src/core/catalog.js\";\n */\n\nimport { isValidExplicitDest, PasswordException } from \"pdfjs-lib\";\nimport { internalOpt } from \"./internal_evt.js\";\nimport { parseQueryString } from \"./ui_utils.js\";\n\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\n\nconst LinkTarget = {\n NONE: 0, // Default value.\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4,\n};\n\n/**\n * @typedef {Object} PDFLinkServiceOptions\n * @property {EventBus} eventBus - The application event bus.\n * @property {number} [externalLinkTarget] - Specifies the `target` attribute\n * for external links. Must use one of the values from {LinkTarget}.\n * Defaults to using no target.\n * @property {string} [externalLinkRel] - Specifies the `rel` attribute for\n * external links. Defaults to stripping the referrer.\n * @property {boolean} [ignoreDestinationZoom] - Ignores the zoom argument,\n * thus preserving the current zoom level in the viewer, when navigating\n * to internal destinations. The default value is `false`.\n */\n\n/**\n * Performs navigation functions inside PDF, such as opening specified page,\n * or destination.\n */\nclass PDFLinkService {\n externalLinkEnabled = true;\n\n /**\n * @param {PDFLinkServiceOptions} options\n */\n constructor({\n eventBus,\n externalLinkTarget = null,\n externalLinkRel = null,\n ignoreDestinationZoom = false,\n } = {}) {\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n }\n\n setDocument(pdfDocument, baseUrl = null) {\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n }\n\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n\n setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n\n /**\n * @type {number}\n */\n get pagesCount() {\n return this.pdfDocument?.pagesMapper.pagesNumber || 0;\n }\n\n /**\n * @type {number}\n */\n get page() {\n return this.pdfDocument ? this.pdfViewer.currentPageNumber : 1;\n }\n\n /**\n * @param {number} value\n */\n set page(value) {\n if (this.pdfDocument) {\n this.pdfViewer.currentPageNumber = value;\n }\n }\n\n /**\n * @type {number}\n */\n get rotation() {\n return this.pdfDocument ? this.pdfViewer.pagesRotation : 0;\n }\n\n /**\n * @param {number} value\n */\n set rotation(value) {\n if (this.pdfDocument) {\n this.pdfViewer.pagesRotation = value;\n }\n }\n\n /**\n * @type {boolean}\n */\n get isInPresentationMode() {\n return this.pdfDocument ? this.pdfViewer.isInPresentationMode : false;\n }\n\n /**\n * This method will, when available, also update the browser history.\n *\n * @param {string|Array} dest - The named, or explicit, PDF destination.\n */\n async goToDestination(dest) {\n if (!this.pdfDocument) {\n return;\n }\n let namedDest, explicitDest, pageNumber;\n if (typeof dest === \"string\") {\n namedDest = dest;\n explicitDest = await this.pdfDocument.getDestination(dest);\n } else {\n namedDest = null;\n explicitDest = await dest;\n }\n if (!Array.isArray(explicitDest)) {\n console.error(\n `goToDestination: \"${explicitDest}\" is not a valid destination array, for dest=\"${dest}\".`\n );\n return;\n }\n // Dest array looks like that: \n const [destRef] = explicitDest;\n\n if (destRef && typeof destRef === \"object\") {\n pageNumber = this.pdfDocument.cachedPageNumber(destRef);\n\n if (!pageNumber) {\n // Fetch the page reference if it's not yet available. This could\n // only occur during loading, before all pages have been resolved.\n try {\n pageNumber = (await this.pdfDocument.getPageIndex(destRef)) + 1;\n } catch {\n console.error(\n `goToDestination: \"${destRef}\" is not a valid page reference, for dest=\"${dest}\".`\n );\n return;\n }\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n }\n if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(\n `goToDestination: \"${pageNumber}\" is not a valid page number, for dest=\"${dest}\".`\n );\n return;\n }\n\n if (this.pdfHistory) {\n // Update the browser history before scrolling the new destination into\n // view, to be able to accurately capture the current document position.\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.push({ namedDest, explicitDest, pageNumber });\n }\n\n this.pdfViewer.scrollPageIntoView({\n pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: this._ignoreDestinationZoom,\n });\n\n const ac = new AbortController();\n this.eventBus.on(\n \"textlayerrendered\",\n evt => {\n if (evt.pageNumber === pageNumber) {\n evt.source.textLayer.div.focus();\n ac.abort();\n }\n },\n { signal: ac.signal, ...internalOpt }\n );\n }\n\n /**\n * This method will, when available, also update the browser history.\n *\n * @param {number|string} val - The page number, or page label.\n */\n goToPage(val) {\n if (!this.pdfDocument) {\n return;\n }\n const pageNumber =\n (typeof val === \"string\" && this.pdfViewer.pageLabelToPageNumber(val)) ||\n val | 0;\n if (!(\n Number.isInteger(pageNumber) &&\n pageNumber > 0 &&\n pageNumber <= this.pagesCount\n )) {\n console.error(`PDFLinkService.goToPage: \"${val}\" is not a valid page.`);\n return;\n }\n\n if (this.pdfHistory) {\n // Update the browser history before scrolling the new page into view,\n // to be able to accurately capture the current document position.\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.pushPage(pageNumber);\n }\n\n this.pdfViewer.scrollPageIntoView({ pageNumber });\n }\n\n /**\n * Scrolls to a specific location in the PDF document.\n * @param {number} pageNumber - The page number to scroll to.\n * @param {number} x - The x-coordinate to scroll to in page coordinates.\n * @param {number} y - The y-coordinate to scroll to in page coordinates.\n * @param {Object} [options]\n */\n goToXY(pageNumber, x, y, options = {}) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber,\n destArray: [null, { name: \"XYZ\" }, x, y],\n ignoreDestinationZoom: true,\n ...options,\n });\n }\n\n /**\n * @param {string} id\n * Unique attachment identifier (required).\n * @returns {Promise}\n * Content.\n */\n async getAttachmentContent(id) {\n try {\n return await this.pdfDocument?.getAttachmentContent(id);\n } catch (error) {\n if (!(error instanceof PasswordException)) {\n console.warn(`Unable to load attachment content: ${error}`);\n }\n }\n return null;\n }\n\n /**\n * Adds various attributes (href, title, target, rel) to hyperlinks.\n * @param {HTMLAnchorElement} link\n * @param {string} url\n * @param {boolean} [newWindow]\n */\n addLinkAttributes(link, url, newWindow = false) {\n if (!url || typeof url !== \"string\") {\n throw new Error('A valid \"url\" parameter must provided.');\n }\n const target = newWindow ? LinkTarget.BLANK : this.externalLinkTarget,\n rel = this.externalLinkRel;\n\n // Strip userinfo (user:password@) from URLs used for display, to prevent\n // phishing via hostname-spoofing (e.g. https://trusted.example@attacker.example/).\n let displayUrl = url;\n const parsedUrl = URL.parse(url);\n if (parsedUrl?.username || parsedUrl?.password) {\n parsedUrl.username = parsedUrl.password = \"\";\n displayUrl = parsedUrl.href;\n }\n\n if (this.externalLinkEnabled) {\n link.href = url;\n link.title = displayUrl;\n } else {\n link.href = \"\";\n link.title = `Disabled: ${displayUrl}`;\n link.onclick = () => false;\n }\n\n let targetStr = \"\"; // LinkTarget.NONE\n switch (target) {\n case LinkTarget.NONE:\n break;\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n link.target = targetStr;\n\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n }\n\n /**\n * @param {string|Array} dest - The PDF destination object.\n * @returns {string} The hyperlink to the PDF object.\n */\n getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n if (dest.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n } else if (Array.isArray(dest)) {\n const str = JSON.stringify(dest);\n if (str.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n }\n return this.getAnchorUrl(\"\");\n }\n\n /**\n * Prefix the full url on anchor links to make sure that links are resolved\n * relative to the current URL instead of the one defined in .\n * @param {string} anchor - The anchor hash, including the #.\n * @returns {string} The hyperlink to the PDF object.\n */\n getAnchorUrl(anchor) {\n return this.baseUrl ? this.baseUrl + anchor : anchor;\n }\n\n /**\n * @param {string} hash\n */\n setHash(hash) {\n if (!this.pdfDocument) {\n return;\n }\n let pageNumber, dest;\n if (hash.includes(\"=\")) {\n const params = parseQueryString(hash);\n if (params.has(\"search\")) {\n const query = params.get(\"search\").replaceAll('\"', \"\"),\n phrase = params.get(\"phrase\") === \"true\";\n\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: phrase ? query : query.match(/\\S+/g),\n });\n }\n // borrowing syntax from \"Parameters for Opening PDF Files\"\n if (params.has(\"page\")) {\n pageNumber = params.get(\"page\") | 0 || 1;\n }\n if (params.has(\"zoom\")) {\n // Build the destination array.\n const zoomArgs = params.get(\"zoom\").split(\",\"); // scale,left,top\n const zoomArg = zoomArgs[0];\n const zoomArgNumber = parseFloat(zoomArg);\n\n if (!zoomArg.includes(\"Fit\")) {\n // If the zoomArg is a number, it has to get divided by 100. If it's\n // a string, it should stay as it is.\n dest = [\n null,\n { name: \"XYZ\" },\n zoomArgs.length > 1 ? zoomArgs[1] | 0 : null,\n zoomArgs.length > 2 ? zoomArgs[2] | 0 : null,\n zoomArgNumber ? zoomArgNumber / 100 : zoomArg,\n ];\n } else if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, { name: zoomArg }];\n } else if (\n zoomArg === \"FitH\" ||\n zoomArg === \"FitBH\" ||\n zoomArg === \"FitV\" ||\n zoomArg === \"FitBV\"\n ) {\n dest = [\n null,\n { name: zoomArg },\n zoomArgs.length > 1 ? zoomArgs[1] | 0 : null,\n ];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error(\n 'PDFLinkService.setHash: Not enough parameters for \"FitR\".'\n );\n } else {\n dest = [\n null,\n { name: zoomArg },\n zoomArgs[1] | 0,\n zoomArgs[2] | 0,\n zoomArgs[3] | 0,\n zoomArgs[4] | 0,\n ];\n }\n } else {\n console.error(\n `PDFLinkService.setHash: \"${zoomArg}\" is not a valid zoom value.`\n );\n }\n }\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true,\n });\n } else if (pageNumber) {\n this.page = pageNumber; // simple page\n }\n if (params.has(\"pagemode\")) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.get(\"pagemode\"),\n });\n }\n // Ensure that this parameter is *always* handled last, in order to\n // guarantee that it won't be overridden (e.g. by the \"page\" parameter).\n if (params.has(\"nameddest\")) {\n this.goToDestination(params.get(\"nameddest\"));\n }\n\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n return;\n }\n // Support opening of PDF attachments in the Firefox PDF Viewer,\n // which uses a couple of non-standard hash parameters; refer to\n // `DownloadManager._getOpenDataUrl` in the firefoxcom.js file.\n if (!params.has(\"filename\") || !params.has(\"filedest\")) {\n return;\n }\n hash = params.get(\"filedest\");\n }\n\n // Named (or explicit) destination.\n dest = unescape(hash);\n try {\n dest = JSON.parse(dest);\n\n if (!Array.isArray(dest)) {\n // Avoid incorrectly rejecting a valid named destination, such as\n // e.g. \"4.3\" or \"true\", because `JSON.parse` converted its type.\n dest = dest.toString();\n }\n } catch {}\n\n if (typeof dest === \"string\" || isValidExplicitDest(dest)) {\n this.goToDestination(dest);\n return;\n }\n console.error(\n `PDFLinkService.setHash: \"${unescape(hash)}\" is not a valid destination.`\n );\n }\n\n /**\n * @param {string} action\n */\n executeNamedAction(action) {\n if (!this.pdfDocument) {\n return;\n }\n // See PDF reference, table 8.45 - Named action\n switch (action) {\n case \"GoBack\":\n this.pdfHistory?.back();\n break;\n\n case \"GoForward\":\n this.pdfHistory?.forward();\n break;\n\n case \"NextPage\":\n this.pdfViewer.nextPage();\n break;\n\n case \"PrevPage\":\n this.pdfViewer.previousPage();\n break;\n\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n\n case \"FirstPage\":\n this.page = 1;\n break;\n\n default:\n break; // No action according to spec\n }\n\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action,\n });\n }\n\n /**\n * @param {Object} action\n */\n async executeSetOCGState(action) {\n if (!this.pdfDocument) {\n return;\n }\n const pdfDocument = this.pdfDocument,\n optionalContentConfig = await this.pdfViewer.optionalContentConfigPromise;\n\n if (pdfDocument !== this.pdfDocument) {\n return; // The document was closed while the optional content resolved.\n }\n optionalContentConfig.setOCGState(action);\n\n this.pdfViewer.optionalContentConfigPromise = Promise.resolve(\n optionalContentConfig\n );\n }\n}\n\nclass SimpleLinkService extends PDFLinkService {\n setDocument(pdfDocument, baseUrl = null) {}\n}\n\nexport { LinkTarget, PDFLinkService, SimpleLinkService };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { INTERNAL_EVT, internalOpt } from \"./internal_evt.js\";\n\nconst WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\",\n};\n\n/**\n * @typedef {Object} WaitOnEventOrTimeoutParameters\n * @property {Object} target - The event target, can for example be:\n * `window`, `document`, a DOM element, or an {EventBus} instance.\n * @property {string} name - The name of the event.\n * @property {number} delay - The delay, in milliseconds, after which the\n * timeout occurs (if the event wasn't already dispatched).\n */\n\n/**\n * Allows waiting for an event or a timeout, whichever occurs first.\n * Can be used to ensure that an action always occurs, even when an event\n * arrives late or not at all.\n *\n * @param {WaitOnEventOrTimeoutParameters}\n * @returns {Promise} A promise that is resolved with a {WaitOnType} value.\n */\nasync function waitOnEventOrTimeout({ target, name, delay = 0 }) {\n if (\n typeof target !== \"object\" ||\n !(name && typeof name === \"string\") ||\n !(Number.isInteger(delay) && delay >= 0)\n ) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n const { promise, resolve } = Promise.withResolvers();\n const ac = new AbortController();\n\n function handler(type) {\n ac.abort(); // Remove event listener.\n clearTimeout(timeout);\n\n resolve(type);\n }\n\n const evtMethod = target instanceof EventBus ? \"on\" : \"addEventListener\";\n const evtOpts =\n target instanceof EventBus\n ? { signal: ac.signal, ...internalOpt }\n : { signal: ac.signal };\n target[evtMethod](name, handler.bind(null, WaitOnType.EVENT), evtOpts);\n\n const timeout = setTimeout(handler.bind(null, WaitOnType.TIMEOUT), delay);\n\n return promise;\n}\n\n/**\n * Simple event bus for an application. Listeners are attached using the `on`\n * and `off` methods. To raise an event, the `dispatch` method shall be used.\n */\nclass EventBus {\n #listeners = Object.create(null);\n\n constructor() {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n // Prevent the class methods from being overridden by third-party users,\n // to ensure that `INTERNAL_EVT` cannot be accessed from the outside.\n Object.seal(this);\n }\n }\n\n /**\n * @param {string} eventName\n * @param {function} listener\n * @param {Object} [options]\n */\n on(eventName, listener, options = null) {\n let rmAbort = null;\n if (options?.signal instanceof AbortSignal) {\n const { signal } = options;\n if (signal.aborted) {\n console.error(\"Cannot use an `aborted` signal.\");\n return;\n }\n const onAbort = () => this.off(eventName, listener);\n rmAbort = () => signal.removeEventListener(\"abort\", onAbort);\n\n signal.addEventListener(\"abort\", onAbort);\n }\n\n const eventListeners = (this.#listeners[eventName] ??= []);\n eventListeners.push({\n listener,\n internal: options?.internal === INTERNAL_EVT,\n once: options?.once === true,\n rmAbort,\n });\n }\n\n /**\n * @param {string} eventName\n * @param {function} listener\n * @param {Object} [options]\n */\n off(eventName, listener, options = null) {\n const eventListeners = this.#listeners[eventName];\n if (!eventListeners) {\n return;\n }\n for (let i = 0, ii = eventListeners.length; i < ii; i++) {\n const evt = eventListeners[i];\n if (evt.listener === listener) {\n evt.rmAbort?.(); // Ensure that the `AbortSignal` listener is removed.\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n\n /**\n * @param {string} eventName\n * @param {Object} data\n */\n dispatch(eventName, data) {\n const eventListeners = this.#listeners[eventName];\n if (!eventListeners?.length) {\n return;\n }\n let extListeners;\n // Making copy of the listeners array in case if it will be modified\n // during dispatch.\n for (const { listener, internal, once } of eventListeners.slice(0)) {\n if (once) {\n this.off(eventName, listener);\n }\n if (!internal) {\n (extListeners ??= []).push(listener);\n continue;\n }\n listener(data);\n }\n // Dispatch any \"external\" listeners *after* the internal ones, to give the\n // viewer components time to handle events and update their state first.\n if (extListeners) {\n for (const listener of extListeners) {\n listener(data);\n }\n }\n }\n}\n\n/**\n * NOTE: Only used in the Firefox built-in pdf viewer.\n */\nclass FirefoxEventBus extends EventBus {\n #externalServices;\n\n #globalEventNames;\n\n #isInAutomation;\n\n constructor(globalEventNames, externalServices, isInAutomation) {\n super();\n this.#globalEventNames = globalEventNames;\n this.#externalServices = externalServices;\n this.#isInAutomation = isInAutomation;\n }\n\n dispatch(eventName, data) {\n if (typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\"Not implemented: FirefoxEventBus.dispatch\");\n }\n super.dispatch(eventName, data);\n\n if (this.#isInAutomation) {\n const detail = Object.create(null);\n if (data) {\n for (const key in data) {\n const value = data[key];\n if (key === \"source\") {\n if (value === window || value === document) {\n return; // No need to re-dispatch (already) global events.\n }\n continue; // Ignore the `source` property.\n }\n detail[key] = value;\n }\n }\n const event = new CustomEvent(eventName, {\n bubbles: true,\n cancelable: true,\n detail,\n });\n document.dispatchEvent(event);\n }\n\n if (this.#globalEventNames?.has(eventName)) {\n this.#externalServices.dispatchGlobalEvent({\n eventName,\n detail: data,\n });\n }\n }\n}\n\nexport { EventBus, FirefoxEventBus, waitOnEventOrTimeout, WaitOnType };\n","/* Copyright 2024 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nclass BaseExternalServices {\n constructor() {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) &&\n this.constructor === BaseExternalServices\n ) {\n throw new Error(\"Cannot initialize BaseExternalServices.\");\n }\n }\n\n updateFindControlState(data) {}\n\n updateFindMatchesCount(data) {}\n\n initPassiveLoading() {}\n\n reportTelemetry(data) {}\n\n reportText(data) {}\n\n /**\n * @returns {Promise}\n */\n async createL10n() {\n throw new Error(\"Not implemented: createL10n\");\n }\n\n createScripting() {\n throw new Error(\"Not implemented: createScripting\");\n }\n\n createSignatureStorage() {\n throw new Error(\"Not implemented: createSignatureStorage\");\n }\n\n /**\n * Build a signature verifier for the Digital signature properties panel.\n *\n * The MOZCENTRAL build returns a verifier that calls into NSS via\n * the chrome bridge. The default GENERIC implementation returns\n * `null` — there is no portable cryptographic verification path\n * outside Firefox, so the toolbar button stays hidden and the\n * worker is never asked for `getSignatures()`.\n *\n * Downstream consumers of `pdfjs-dist` that want the Signature\n * Properties UI should subclass `BaseExternalServices` and return\n * an object exposing `verify(signature)` (and optionally\n * `viewCertificate(certificate)`) that resolves to a\n * `VerificationResult` — see `web/firefoxcom.js` for the exact shape.\n *\n * @returns {Object|null}\n */\n createSignatureVerifier() {\n return null;\n }\n\n updateEditorStates(data) {\n throw new Error(\"Not implemented: updateEditorStates\");\n }\n\n dispatchGlobalEvent(_event) {}\n}\n\nexport { BaseExternalServices };\n","/* Copyright 2013 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { AppOptions, OptionKind } from \"./app_options.js\";\n\n/**\n * BasePreferences - Abstract base class for storing persistent settings.\n * Used for settings that should be applied to all opened documents,\n * or every time the viewer is loaded.\n */\nclass BasePreferences {\n #defaults = Object.freeze(\n AppOptions.getAll(OptionKind.PREFERENCE, /* defaultOnly = */ true)\n );\n\n #initializedPromise = null;\n\n constructor() {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) &&\n this.constructor === BasePreferences\n ) {\n throw new Error(\"Cannot initialize BasePreferences.\");\n }\n\n this.#initializedPromise = this._readFromStorage(this.#defaults).then(\n ({ browserPrefs, prefs }) => {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n AppOptions._checkDisablePreferences()\n ) {\n return;\n }\n AppOptions.setAll({ ...browserPrefs, ...prefs }, /* prefs = */ true);\n }\n );\n\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n window.addEventListener(\n \"updatedPreference\",\n async ({ detail: { name, value } }) => {\n await this.#initializedPromise;\n AppOptions.setAll({ [name]: value }, /* prefs = */ true);\n }\n );\n }\n }\n\n /**\n * Stub function for writing preferences to storage.\n * @param {Object} prefObj The preferences that should be written to storage.\n * @returns {Promise} A promise that is resolved when the preference values\n * have been written.\n */\n async _writeToStorage(prefObj) {\n throw new Error(\"Not implemented: _writeToStorage\");\n }\n\n /**\n * Stub function for reading preferences from storage.\n * @param {Object} prefObj The preferences that should be read from storage.\n * @returns {Promise} A promise that is resolved with an {Object} containing\n * the preferences that have been read.\n */\n async _readFromStorage(prefObj) {\n throw new Error(\"Not implemented: _readFromStorage\");\n }\n\n /**\n * Reset the preferences to their default values and update storage.\n * @returns {Promise} A promise that is resolved when the preference values\n * have been reset.\n */\n async reset() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\"Please use `about:config` to change preferences.\");\n }\n await this.#initializedPromise;\n AppOptions.setAll(this.#defaults, /* prefs = */ true);\n\n await this._writeToStorage(this.#defaults);\n }\n\n /**\n * Set the value of a preference.\n * @param {string} name The name of the preference that should be changed.\n * @param {boolean|number|string} value The new value of the preference.\n * @returns {Promise} A promise that is resolved when the value has been set,\n * provided that the preference exists and the types match.\n */\n async set(name, value) {\n await this.#initializedPromise;\n AppOptions.setAll({ [name]: value }, /* prefs = */ true);\n\n await this._writeToStorage(\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")\n ? { [name]: AppOptions.get(name) }\n : AppOptions.getAll(OptionKind.PREFERENCE)\n );\n }\n\n /**\n * Get the value of a preference.\n * @param {string} name The name of the preference whose value is requested.\n * @returns {Promise} A promise resolved with a {boolean|number|string}\n * containing the value of the preference.\n */\n async get(name) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\"Not implemented: get\");\n }\n await this.#initializedPromise;\n return AppOptions.get(name);\n }\n\n get defaults() {\n return this.#defaults;\n }\n\n get initializedPromise() {\n return this.#initializedPromise;\n }\n}\n\nexport { BasePreferences };\n","/**\n * The `FluentType` class is the base of Fluent's type system.\n *\n * Fluent types wrap JavaScript values and store additional configuration for\n * them, which can then be used in the `toString` method together with a proper\n * `Intl` formatter.\n */\nexport class FluentType {\n /**\n * Create a `FluentType` instance.\n *\n * @param value The JavaScript value to wrap.\n */\n constructor(value) {\n this.value = value;\n }\n /**\n * Unwrap the raw value stored by this `FluentType`.\n */\n valueOf() {\n return this.value;\n }\n}\n/**\n * A {@link FluentType} representing no correct value.\n */\nexport class FluentNone extends FluentType {\n /**\n * Create an instance of `FluentNone` with an optional fallback value.\n * @param value The fallback value of this `FluentNone`.\n */\n constructor(value = \"???\") {\n super(value);\n }\n /**\n * Format this `FluentNone` to the fallback string.\n */\n toString(scope) {\n return `{${this.value}}`;\n }\n}\n/**\n * A {@link FluentType} representing a number.\n *\n * A `FluentNumber` instance stores the number value of the number it\n * represents. It may also store an option bag of options which will be passed\n * to `Intl.NumerFormat` when the `FluentNumber` is formatted to a string.\n */\nexport class FluentNumber extends FluentType {\n /**\n * Create an instance of `FluentNumber` with options to the\n * `Intl.NumberFormat` constructor.\n *\n * @param value The number value of this `FluentNumber`.\n * @param opts Options which will be passed to `Intl.NumberFormat`.\n */\n constructor(value, opts = {}) {\n super(value);\n this.opts = opts;\n }\n /**\n * Format this `FluentNumber` to a string.\n */\n toString(scope) {\n if (scope) {\n try {\n const nf = scope.memoizeIntlObject(Intl.NumberFormat, this.opts);\n return nf.format(this.value);\n }\n catch (err) {\n scope.reportError(err);\n }\n }\n return this.value.toString(10);\n }\n}\n/**\n * A {@link FluentType} representing a date and time.\n *\n * A `FluentDateTime` instance stores a Date object, Temporal object, or a number\n * as a numerical timestamp in milliseconds. It may also store an\n * option bag of options which will be passed to `Intl.DateTimeFormat` when the\n * `FluentDateTime` is formatted to a string.\n */\nexport class FluentDateTime extends FluentType {\n static supportsValue(value) {\n if (typeof value === \"number\")\n return true;\n if (value instanceof Date)\n return true;\n if (value instanceof FluentType)\n return FluentDateTime.supportsValue(value.valueOf());\n // Temporary workaround to support environments without Temporal\n if (\"Temporal\" in globalThis) {\n // for TypeScript, which doesn't know about Temporal yet\n const _Temporal = globalThis.Temporal;\n if (value instanceof _Temporal.Instant ||\n value instanceof _Temporal.PlainDateTime ||\n value instanceof _Temporal.PlainDate ||\n value instanceof _Temporal.PlainMonthDay ||\n value instanceof _Temporal.PlainTime ||\n value instanceof _Temporal.PlainYearMonth) {\n return true;\n }\n }\n return false;\n }\n /**\n * Create an instance of `FluentDateTime` with options to the\n * `Intl.DateTimeFormat` constructor.\n *\n * @param value The number value of this `FluentDateTime`, in milliseconds.\n * @param opts Options which will be passed to `Intl.DateTimeFormat`.\n */\n constructor(value, opts = {}) {\n // unwrap any FluentType value, but only retain the opts from FluentDateTime\n if (value instanceof FluentDateTime) {\n opts = { ...value.opts, ...opts };\n value = value.value;\n }\n else if (value instanceof FluentType) {\n value = value.valueOf();\n }\n // Intl.DateTimeFormat defaults to gregorian calendar, but Temporal defaults to iso8601\n if (typeof value === \"object\" &&\n \"calendarId\" in value &&\n opts.calendar === undefined) {\n opts = { ...opts, calendar: value.calendarId };\n }\n super(value);\n this.opts = opts;\n }\n [Symbol.toPrimitive](hint) {\n return hint === \"string\" ? this.toString() : this.toNumber();\n }\n /**\n * Convert this `FluentDateTime` to a number.\n * Note that this isn't always possible due to the nature of Temporal objects.\n * In such cases, a TypeError will be thrown.\n */\n toNumber() {\n const value = this.value;\n if (typeof value === \"number\")\n return value;\n if (value instanceof Date)\n return value.getTime();\n if (\"epochMilliseconds\" in value) {\n return value.epochMilliseconds;\n }\n if (\"toZonedDateTime\" in value) {\n return value.toZonedDateTime(\"UTC\").epochMilliseconds;\n }\n throw new TypeError(\"Unwrapping a non-number value as a number\");\n }\n /**\n * Format this `FluentDateTime` to a string.\n */\n toString(scope) {\n if (scope) {\n try {\n const dtf = scope.memoizeIntlObject(Intl.DateTimeFormat, this.opts);\n return dtf.format(this.value);\n }\n catch (err) {\n scope.reportError(err);\n }\n }\n if (typeof this.value === \"number\" || this.value instanceof Date) {\n return new Date(this.value).toISOString();\n }\n return this.value.toString();\n }\n}\n","/**\n * The role of the Fluent resolver is to format a `Pattern` to an instance of\n * `FluentValue`. For performance reasons, primitive strings are considered\n * such instances, too.\n *\n * Translations can contain references to other messages or variables,\n * conditional logic in form of select expressions, traits which describe their\n * grammatical features, and can use Fluent builtins which make use of the\n * `Intl` formatters to format numbers and dates into the bundle's languages.\n * See the documentation of the Fluent syntax for more information.\n *\n * In case of errors the resolver will try to salvage as much of the\n * translation as possible. In rare situations where the resolver didn't know\n * how to recover from an error it will return an instance of `FluentNone`.\n *\n * All expressions resolve to an instance of `FluentValue`. The caller should\n * use the `toString` method to convert the instance to a native value.\n *\n * Functions in this file pass around an instance of the `Scope` class, which\n * stores the data required for successful resolution and error recovery.\n */\nimport { FluentType, FluentNone, FluentNumber, FluentDateTime, } from \"./types.js\";\n/**\n * The maximum number of placeables which can be expanded in a single call to\n * `formatPattern`. The limit protects against the Billion Laughs and Quadratic\n * Blowup attacks. See https://msdn.microsoft.com/en-us/magazine/ee335713.aspx.\n */\nconst MAX_PLACEABLES = 100;\n/** Unicode bidi isolation characters. */\nconst FSI = \"\\u2068\";\nconst PDI = \"\\u2069\";\n/** Helper: match a variant key to the given selector. */\nfunction match(scope, selector, key) {\n if (key === selector) {\n // Both are strings.\n return true;\n }\n // XXX Consider comparing options too, e.g. minimumFractionDigits.\n if (key instanceof FluentNumber &&\n selector instanceof FluentNumber &&\n key.value === selector.value) {\n return true;\n }\n if (selector instanceof FluentNumber && typeof key === \"string\") {\n let category = scope\n .memoizeIntlObject(Intl.PluralRules, selector.opts)\n .select(selector.value);\n if (key === category) {\n return true;\n }\n }\n return false;\n}\n/** Helper: resolve the default variant from a list of variants. */\nfunction getDefault(scope, variants, star) {\n if (variants[star]) {\n return resolvePattern(scope, variants[star].value);\n }\n scope.reportError(new RangeError(\"No default\"));\n return new FluentNone();\n}\n/** Helper: resolve arguments to a call expression. */\nfunction getArguments(scope, args) {\n const positional = [];\n const named = Object.create(null);\n for (const arg of args) {\n if (arg.type === \"narg\") {\n named[arg.name] = resolveExpression(scope, arg.value);\n }\n else {\n positional.push(resolveExpression(scope, arg));\n }\n }\n return { positional, named };\n}\n/** Resolve an expression to a Fluent type. */\nfunction resolveExpression(scope, expr) {\n switch (expr.type) {\n case \"str\":\n return expr.value;\n case \"num\":\n return new FluentNumber(expr.value, {\n minimumFractionDigits: expr.precision,\n });\n case \"var\":\n return resolveVariableReference(scope, expr);\n case \"mesg\":\n return resolveMessageReference(scope, expr);\n case \"term\":\n return resolveTermReference(scope, expr);\n case \"func\":\n return resolveFunctionReference(scope, expr);\n case \"select\":\n return resolveSelectExpression(scope, expr);\n default:\n return new FluentNone();\n }\n}\n/** Resolve a reference to a variable. */\nfunction resolveVariableReference(scope, { name }) {\n let arg;\n if (scope.params) {\n // We're inside a TermReference. It's OK to reference undefined parameters.\n if (Object.prototype.hasOwnProperty.call(scope.params, name)) {\n arg = scope.params[name];\n }\n else {\n return new FluentNone(`$${name}`);\n }\n }\n else if (scope.args &&\n Object.prototype.hasOwnProperty.call(scope.args, name)) {\n // We're in the top-level Pattern or inside a MessageReference. Missing\n // variables references produce ReferenceErrors.\n arg = scope.args[name];\n }\n else {\n scope.reportError(new ReferenceError(`Unknown variable: $${name}`));\n return new FluentNone(`$${name}`);\n }\n // Return early if the argument already is an instance of FluentType.\n if (arg instanceof FluentType) {\n return arg;\n }\n // Convert the argument to a Fluent type.\n switch (typeof arg) {\n case \"string\":\n return arg;\n case \"number\":\n return new FluentNumber(arg);\n case \"object\":\n if (FluentDateTime.supportsValue(arg)) {\n return new FluentDateTime(arg);\n }\n // eslint-disable-next-line no-fallthrough\n default:\n scope.reportError(new TypeError(`Variable type not supported: $${name}, ${typeof arg}`));\n return new FluentNone(`$${name}`);\n }\n}\n/** Resolve a reference to another message. */\nfunction resolveMessageReference(scope, { name, attr }) {\n const message = scope.bundle._messages.get(name);\n if (!message) {\n scope.reportError(new ReferenceError(`Unknown message: ${name}`));\n return new FluentNone(name);\n }\n if (attr) {\n const attribute = message.attributes[attr];\n if (attribute) {\n return resolvePattern(scope, attribute);\n }\n scope.reportError(new ReferenceError(`Unknown attribute: ${attr}`));\n return new FluentNone(`${name}.${attr}`);\n }\n if (message.value) {\n return resolvePattern(scope, message.value);\n }\n scope.reportError(new ReferenceError(`No value: ${name}`));\n return new FluentNone(name);\n}\n/** Resolve a call to a Term with key-value arguments. */\nfunction resolveTermReference(scope, { name, attr, args }) {\n const id = `-${name}`;\n const term = scope.bundle._terms.get(id);\n if (!term) {\n scope.reportError(new ReferenceError(`Unknown term: ${id}`));\n return new FluentNone(id);\n }\n if (attr) {\n const attribute = term.attributes[attr];\n if (attribute) {\n // Every TermReference has its own variables.\n scope.params = getArguments(scope, args).named;\n const resolved = resolvePattern(scope, attribute);\n scope.params = null;\n return resolved;\n }\n scope.reportError(new ReferenceError(`Unknown attribute: ${attr}`));\n return new FluentNone(`${id}.${attr}`);\n }\n scope.params = getArguments(scope, args).named;\n const resolved = resolvePattern(scope, term.value);\n scope.params = null;\n return resolved;\n}\n/** Resolve a call to a Function with positional and key-value arguments. */\nfunction resolveFunctionReference(scope, { name, args }) {\n // Some functions are built-in. Others may be provided by the runtime via\n // the `FluentBundle` constructor.\n let func = scope.bundle._functions[name];\n if (!func) {\n scope.reportError(new ReferenceError(`Unknown function: ${name}()`));\n return new FluentNone(`${name}()`);\n }\n if (typeof func !== \"function\") {\n scope.reportError(new TypeError(`Function ${name}() is not callable`));\n return new FluentNone(`${name}()`);\n }\n try {\n let resolved = getArguments(scope, args);\n return func(resolved.positional, resolved.named);\n }\n catch (err) {\n scope.reportError(err);\n return new FluentNone(`${name}()`);\n }\n}\n/** Resolve a select expression to the member object. */\nfunction resolveSelectExpression(scope, { selector, variants, star }) {\n let sel = resolveExpression(scope, selector);\n if (sel instanceof FluentNone) {\n return getDefault(scope, variants, star);\n }\n // Match the selector against keys of each variant, in order.\n for (const variant of variants) {\n const key = resolveExpression(scope, variant.key);\n if (match(scope, sel, key)) {\n return resolvePattern(scope, variant.value);\n }\n }\n return getDefault(scope, variants, star);\n}\n/** Resolve a pattern (a complex string with placeables). */\nexport function resolveComplexPattern(scope, ptn) {\n if (scope.dirty.has(ptn)) {\n scope.reportError(new RangeError(\"Cyclic reference\"));\n return new FluentNone();\n }\n // Tag the pattern as dirty for the purpose of the current resolution.\n scope.dirty.add(ptn);\n const result = [];\n // Wrap interpolations with Directional Isolate Formatting characters\n // only when the pattern has more than one element.\n const useIsolating = scope.bundle._useIsolating && ptn.length > 1;\n for (const elem of ptn) {\n if (typeof elem === \"string\") {\n result.push(scope.bundle._transform(elem));\n continue;\n }\n scope.placeables++;\n if (scope.placeables > MAX_PLACEABLES) {\n scope.dirty.delete(ptn);\n // This is a fatal error which causes the resolver to instantly bail out\n // on this pattern. The length check protects against excessive memory\n // usage, and throwing protects against eating up the CPU when long\n // placeables are deeply nested.\n throw new RangeError(`Too many placeables expanded: ${scope.placeables}, ` +\n `max allowed is ${MAX_PLACEABLES}`);\n }\n if (useIsolating) {\n result.push(FSI);\n }\n result.push(resolveExpression(scope, elem).toString(scope));\n if (useIsolating) {\n result.push(PDI);\n }\n }\n scope.dirty.delete(ptn);\n return result.join(\"\");\n}\n/**\n * Resolve a simple or a complex Pattern to a FluentString\n * (which is really the string primitive).\n */\nfunction resolvePattern(scope, value) {\n // Resolve a simple pattern.\n if (typeof value === \"string\") {\n return scope.bundle._transform(value);\n }\n return resolveComplexPattern(scope, value);\n}\n","export class Scope {\n constructor(bundle, errors, args) {\n /**\n * The Set of patterns already encountered during this resolution.\n * Used to detect and prevent cyclic resolutions.\n * @ignore\n */\n this.dirty = new WeakSet();\n /** A dict of parameters passed to a TermReference. */\n this.params = null;\n /**\n * The running count of placeables resolved so far.\n * Used to detect the Billion Laughs and Quadratic Blowup attacks.\n * @ignore\n */\n this.placeables = 0;\n this.bundle = bundle;\n this.errors = errors;\n this.args = args;\n }\n reportError(error) {\n if (!this.errors || !(error instanceof Error)) {\n throw error;\n }\n this.errors.push(error);\n }\n memoizeIntlObject(ctor, opts) {\n let cache = this.bundle._intls.get(ctor);\n if (!cache) {\n cache = {};\n this.bundle._intls.set(ctor, cache);\n }\n let id = JSON.stringify(opts);\n if (!cache[id]) {\n // @ts-expect-error This is fine.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n cache[id] = new ctor(this.bundle.locales, opts);\n }\n return cache[id];\n }\n}\n","/**\n * @overview\n *\n * The FTL resolver ships with a number of functions built-in.\n *\n * Each function take two arguments:\n * - args - an array of positional args\n * - opts - an object of key-value args\n *\n * Arguments to functions are guaranteed to already be instances of\n * `FluentValue`. Functions must return `FluentValues` as well.\n */\nimport { FluentNone, FluentNumber, FluentDateTime, } from \"./types.js\";\nfunction values(opts, allowed) {\n const unwrapped = Object.create(null);\n for (const [name, opt] of Object.entries(opts)) {\n if (allowed.includes(name)) {\n unwrapped[name] = opt.valueOf();\n }\n }\n return unwrapped;\n}\nconst NUMBER_ALLOWED = [\n \"unitDisplay\",\n \"currencyDisplay\",\n \"useGrouping\",\n \"minimumIntegerDigits\",\n \"minimumFractionDigits\",\n \"maximumFractionDigits\",\n \"minimumSignificantDigits\",\n \"maximumSignificantDigits\",\n];\n/**\n * The implementation of the `NUMBER()` builtin available to translations.\n *\n * Translations may call the `NUMBER()` builtin in order to specify formatting\n * options of a number. For example:\n *\n * pi = The value of π is {NUMBER($pi, maximumFractionDigits: 2)}.\n *\n * The implementation expects an array of {@link FluentValue | FluentValues} representing the\n * positional arguments, and an object of named {@link FluentValue | FluentValues} representing the\n * named parameters.\n *\n * The following options are recognized:\n *\n * unitDisplay\n * currencyDisplay\n * useGrouping\n * minimumIntegerDigits\n * minimumFractionDigits\n * maximumFractionDigits\n * minimumSignificantDigits\n * maximumSignificantDigits\n *\n * Other options are ignored.\n *\n * @param args The positional arguments passed to this `NUMBER()`.\n * @param opts The named argments passed to this `NUMBER()`.\n */\nexport function NUMBER(args, opts) {\n let arg = args[0];\n if (arg instanceof FluentNone) {\n return new FluentNone(`NUMBER(${arg.valueOf()})`);\n }\n if (arg instanceof FluentNumber) {\n return new FluentNumber(arg.valueOf(), {\n ...arg.opts,\n ...values(opts, NUMBER_ALLOWED),\n });\n }\n if (arg instanceof FluentDateTime) {\n return new FluentNumber(arg.toNumber(), {\n ...values(opts, NUMBER_ALLOWED),\n });\n }\n throw new TypeError(\"Invalid argument to NUMBER\");\n}\nconst DATETIME_ALLOWED = [\n \"dateStyle\",\n \"timeStyle\",\n \"fractionalSecondDigits\",\n \"dayPeriod\",\n \"hour12\",\n \"weekday\",\n \"era\",\n \"year\",\n \"month\",\n \"day\",\n \"hour\",\n \"minute\",\n \"second\",\n \"timeZoneName\",\n];\n/**\n * The implementation of the `DATETIME()` builtin available to translations.\n *\n * Translations may call the `DATETIME()` builtin in order to specify\n * formatting options of a number. For example:\n *\n * now = It's {DATETIME($today, month: \"long\")}.\n *\n * The implementation expects an array of {@link FluentValue | FluentValues} representing the\n * positional arguments, and an object of named {@link FluentValue | FluentValues} representing the\n * named parameters.\n *\n * The following options are recognized:\n *\n * dateStyle\n * timeStyle\n * fractionalSecondDigits\n * dayPeriod\n * hour12\n * weekday\n * era\n * year\n * month\n * day\n * hour\n * minute\n * second\n * timeZoneName\n *\n * Other options are ignored.\n *\n * @param args The positional arguments passed to this `DATETIME()`.\n * @param opts The named argments passed to this `DATETIME()`.\n */\nexport function DATETIME(args, opts) {\n let arg = args[0];\n if (arg instanceof FluentNone) {\n return new FluentNone(`DATETIME(${arg.valueOf()})`);\n }\n if (arg instanceof FluentDateTime || arg instanceof FluentNumber) {\n return new FluentDateTime(arg, values(opts, DATETIME_ALLOWED));\n }\n throw new TypeError(\"Invalid argument to DATETIME\");\n}\n","const cache = new Map();\nexport function getMemoizerForLocale(locales) {\n const stringLocale = Array.isArray(locales) ? locales.join(\" \") : locales;\n let memoizer = cache.get(stringLocale);\n if (memoizer === undefined) {\n memoizer = new Map();\n cache.set(stringLocale, memoizer);\n }\n return memoizer;\n}\n","import { resolveComplexPattern } from \"./resolver.js\";\nimport { Scope } from \"./scope.js\";\nimport { FluentNone } from \"./types.js\";\nimport { NUMBER, DATETIME } from \"./builtins.js\";\nimport { getMemoizerForLocale } from \"./memoizer.js\";\n/**\n * Message bundles are single-language stores of translation resources. They are\n * responsible for formatting message values and attributes to strings.\n */\nexport class FluentBundle {\n /**\n * Create an instance of `FluentBundle`.\n *\n * @example\n * ```js\n * let bundle = new FluentBundle([\"en-US\", \"en\"]);\n *\n * let bundle = new FluentBundle(locales, {useIsolating: false});\n *\n * let bundle = new FluentBundle(locales, {\n * useIsolating: true,\n * functions: {\n * NODE_ENV: () => process.env.NODE_ENV\n * }\n * });\n * ```\n *\n * @param locales - Used to instantiate `Intl` formatters used by translations.\n * @param options - Optional configuration for the bundle.\n */\n constructor(locales, { functions, useIsolating = true, transform = (v) => v, } = {}) {\n /** @ignore */\n this._terms = new Map();\n /** @ignore */\n this._messages = new Map();\n this.locales = Array.isArray(locales) ? locales : [locales];\n this._functions = {\n NUMBER,\n DATETIME,\n ...functions,\n };\n this._useIsolating = useIsolating;\n this._transform = transform;\n this._intls = getMemoizerForLocale(locales);\n }\n /**\n * Check if a message is present in the bundle.\n *\n * @param id - The identifier of the message to check.\n */\n hasMessage(id) {\n return this._messages.has(id);\n }\n /**\n * Return a raw unformatted message object from the bundle.\n *\n * Raw messages are `{value, attributes}` shapes containing translation units\n * called `Patterns`. `Patterns` are implementation-specific; they should be\n * treated as black boxes and formatted with `FluentBundle.formatPattern`.\n *\n * @param id - The identifier of the message to check.\n */\n getMessage(id) {\n return this._messages.get(id);\n }\n /**\n * Add a translation resource to the bundle.\n *\n * @example\n * ```js\n * let res = new FluentResource(\"foo = Foo\");\n * bundle.addResource(res);\n * bundle.getMessage(\"foo\");\n * // → {value: .., attributes: {..}}\n * ```\n *\n * @param res\n * @param options\n */\n addResource(res, { allowOverrides = false, } = {}) {\n const errors = [];\n for (let i = 0; i < res.body.length; i++) {\n let entry = res.body[i];\n if (entry.id.startsWith(\"-\")) {\n // Identifiers starting with a dash (-) define terms. Terms are private\n // and cannot be retrieved from FluentBundle.\n if (allowOverrides === false && this._terms.has(entry.id)) {\n errors.push(new Error(`Attempt to override an existing term: \"${entry.id}\"`));\n continue;\n }\n this._terms.set(entry.id, entry);\n }\n else {\n if (allowOverrides === false && this._messages.has(entry.id)) {\n errors.push(new Error(`Attempt to override an existing message: \"${entry.id}\"`));\n continue;\n }\n this._messages.set(entry.id, entry);\n }\n }\n return errors;\n }\n /**\n * Format a `Pattern` to a string.\n *\n * Format a raw `Pattern` into a string. `args` will be used to resolve\n * references to variables passed as arguments to the translation.\n *\n * In case of errors `formatPattern` will try to salvage as much of the\n * translation as possible and will still return a string. For performance\n * reasons, the encountered errors are not returned but instead are appended\n * to the `errors` array passed as the third argument.\n *\n * If `errors` is omitted, the first encountered error will be thrown.\n *\n * @example\n * ```js\n * let errors = [];\n * bundle.addResource(\n * new FluentResource(\"hello = Hello, {$name}!\"));\n *\n * let hello = bundle.getMessage(\"hello\");\n * if (hello.value) {\n * bundle.formatPattern(hello.value, {name: \"Jane\"}, errors);\n * // Returns \"Hello, Jane!\" and `errors` is empty.\n *\n * bundle.formatPattern(hello.value, undefined, errors);\n * // Returns \"Hello, {$name}!\" and `errors` is now:\n * // []\n * }\n * ```\n */\n formatPattern(pattern, args = null, errors = null) {\n // Resolve a simple pattern without creating a scope. No error handling is\n // required; by definition simple patterns don't have placeables.\n if (typeof pattern === \"string\") {\n return this._transform(pattern);\n }\n // Resolve a complex pattern.\n let scope = new Scope(this, errors, args);\n try {\n let value = resolveComplexPattern(scope, pattern);\n return value.toString(scope);\n }\n catch (err) {\n if (scope.errors && err instanceof Error) {\n scope.errors.push(err);\n return new FluentNone().toString(scope);\n }\n throw err;\n }\n }\n}\n","// This regex is used to iterate through the beginnings of messages and terms.\n// With the /m flag, the ^ matches at the beginning of every line.\nconst RE_MESSAGE_START = /^(-?[a-zA-Z][\\w-]*) *= */gm;\n// Both Attributes and Variants are parsed in while loops. These regexes are\n// used to break out of them.\nconst RE_ATTRIBUTE_START = /\\.([a-zA-Z][\\w-]*) *= */y;\nconst RE_VARIANT_START = /\\*?\\[/y;\nconst RE_NUMBER_LITERAL = /(-?[0-9]+(?:\\.([0-9]+))?)/y;\nconst RE_IDENTIFIER = /([a-zA-Z][\\w-]*)/y;\nconst RE_REFERENCE = /([$-])?([a-zA-Z][\\w-]*)(?:\\.([a-zA-Z][\\w-]*))?/y;\nconst RE_FUNCTION_NAME = /^[A-Z][A-Z0-9_-]*$/;\n// A \"run\" is a sequence of text or string literal characters which don't\n// require any special handling. For TextElements such special characters are: {\n// (starts a placeable), and line breaks which require additional logic to check\n// if the next line is indented. For StringLiterals they are: \\ (starts an\n// escape sequence), \" (ends the literal), and line breaks which are not allowed\n// in StringLiterals. Note that string runs may be empty; text runs may not.\nconst RE_TEXT_RUN = /([^{}\\n\\r]+)/y;\nconst RE_STRING_RUN = /([^\\\\\"\\n\\r]*)/y;\n// Escape sequences.\nconst RE_STRING_ESCAPE = /\\\\([\\\\\"])/y;\nconst RE_UNICODE_ESCAPE = /\\\\u([a-fA-F0-9]{4})|\\\\U([a-fA-F0-9]{6})/y;\n// Used for trimming TextElements and indents.\nconst RE_LEADING_NEWLINES = /^\\n+/;\nconst RE_TRAILING_SPACES = / +$/;\n// Used in makeIndent to strip spaces from blank lines and normalize CRLF to LF.\nconst RE_BLANK_LINES = / *\\r?\\n/g;\n// Used in makeIndent to measure the indentation.\nconst RE_INDENT = /( *)$/;\n// Common tokens.\nconst TOKEN_BRACE_OPEN = /{\\s*/y;\nconst TOKEN_BRACE_CLOSE = /\\s*}/y;\nconst TOKEN_BRACKET_OPEN = /\\[\\s*/y;\nconst TOKEN_BRACKET_CLOSE = /\\s*] */y;\nconst TOKEN_PAREN_OPEN = /\\s*\\(\\s*/y;\nconst TOKEN_ARROW = /\\s*->\\s*/y;\nconst TOKEN_COLON = /\\s*:\\s*/y;\n// Note the optional comma. As a deviation from the Fluent EBNF, the parser\n// doesn't enforce commas between call arguments.\nconst TOKEN_COMMA = /\\s*,?\\s*/y;\nconst TOKEN_BLANK = /\\s+/y;\n/**\n * Fluent Resource is a structure storing parsed localization entries.\n */\nexport class FluentResource {\n constructor(source) {\n this.body = [];\n RE_MESSAGE_START.lastIndex = 0;\n let cursor = 0;\n // Iterate over the beginnings of messages and terms to efficiently skip\n // comments and recover from errors.\n while (true) {\n let next = RE_MESSAGE_START.exec(source);\n if (next === null) {\n break;\n }\n cursor = RE_MESSAGE_START.lastIndex;\n try {\n this.body.push(parseMessage(next[1]));\n }\n catch (err) {\n if (err instanceof SyntaxError) {\n // Don't report any Fluent syntax errors. Skip directly to the\n // beginning of the next message or term.\n continue;\n }\n throw err;\n }\n }\n // The parser implementation is inlined below for performance reasons,\n // as well as for convenience of accessing `source` and `cursor`.\n // The parser focuses on minimizing the number of false negatives at the\n // expense of increasing the risk of false positives. In other words, it\n // aims at parsing valid Fluent messages with a success rate of 100%, but it\n // may also parse a few invalid messages which the reference parser would\n // reject. The parser doesn't perform any validation and may produce entries\n // which wouldn't make sense in the real world. For best results users are\n // advised to validate translations with the fluent-syntax parser\n // pre-runtime.\n // The parser makes an extensive use of sticky regexes which can be anchored\n // to any offset of the source string without slicing it. Errors are thrown\n // to bail out of parsing of ill-formed messages.\n function test(re) {\n re.lastIndex = cursor;\n return re.test(source);\n }\n // Advance the cursor by the char if it matches. May be used as a predicate\n // (was the match found?) or, if errorClass is passed, as an assertion.\n function consumeChar(char, errorClass) {\n if (source[cursor] === char) {\n cursor++;\n return true;\n }\n if (errorClass) {\n throw new errorClass(`Expected ${char}`);\n }\n return false;\n }\n // Advance the cursor by the token if it matches. May be used as a predicate\n // (was the match found?) or, if errorClass is passed, as an assertion.\n function consumeToken(re, errorClass) {\n if (test(re)) {\n cursor = re.lastIndex;\n return true;\n }\n if (errorClass) {\n throw new errorClass(`Expected ${re.toString()}`);\n }\n return false;\n }\n // Execute a regex, advance the cursor, and return all capture groups.\n function match(re) {\n re.lastIndex = cursor;\n let result = re.exec(source);\n if (result === null) {\n throw new SyntaxError(`Expected ${re.toString()}`);\n }\n cursor = re.lastIndex;\n return result;\n }\n // Execute a regex, advance the cursor, and return the capture group.\n function match1(re) {\n return match(re)[1];\n }\n function parseMessage(id) {\n let value = parsePattern();\n let attributes = parseAttributes();\n if (value === null && Object.keys(attributes).length === 0) {\n throw new SyntaxError(\"Expected message value or attributes\");\n }\n return { id, value, attributes };\n }\n function parseAttributes() {\n let attrs = Object.create(null);\n while (test(RE_ATTRIBUTE_START)) {\n let name = match1(RE_ATTRIBUTE_START);\n let value = parsePattern();\n if (value === null) {\n throw new SyntaxError(\"Expected attribute value\");\n }\n attrs[name] = value;\n }\n return attrs;\n }\n function parsePattern() {\n let first;\n // First try to parse any simple text on the same line as the id.\n if (test(RE_TEXT_RUN)) {\n first = match1(RE_TEXT_RUN);\n }\n // If there's a placeable on the first line, parse a complex pattern.\n if (source[cursor] === \"{\" || source[cursor] === \"}\") {\n // Re-use the text parsed above, if possible.\n return parsePatternElements(first ? [first] : [], Infinity);\n }\n // RE_TEXT_VALUE stops at newlines. Only continue parsing the pattern if\n // what comes after the newline is indented.\n let indent = parseIndent();\n if (indent) {\n if (first) {\n // If there's text on the first line, the blank block is part of the\n // translation content in its entirety.\n return parsePatternElements([first, indent], indent.length);\n }\n // Otherwise, we're dealing with a block pattern, i.e. a pattern which\n // starts on a new line. Discrad the leading newlines but keep the\n // inline indent; it will be used by the dedentation logic.\n indent.value = trim(indent.value, RE_LEADING_NEWLINES);\n return parsePatternElements([indent], indent.length);\n }\n if (first) {\n // It was just a simple inline text after all.\n return trim(first, RE_TRAILING_SPACES);\n }\n return null;\n }\n // Parse a complex pattern as an array of elements.\n function parsePatternElements(elements = [], commonIndent) {\n while (true) {\n if (test(RE_TEXT_RUN)) {\n elements.push(match1(RE_TEXT_RUN));\n continue;\n }\n if (source[cursor] === \"{\") {\n elements.push(parsePlaceable());\n continue;\n }\n if (source[cursor] === \"}\") {\n throw new SyntaxError(\"Unbalanced closing brace\");\n }\n let indent = parseIndent();\n if (indent) {\n elements.push(indent);\n commonIndent = Math.min(commonIndent, indent.length);\n continue;\n }\n break;\n }\n let lastIndex = elements.length - 1;\n let lastElement = elements[lastIndex];\n // Trim the trailing spaces in the last element if it's a TextElement.\n if (typeof lastElement === \"string\") {\n elements[lastIndex] = trim(lastElement, RE_TRAILING_SPACES);\n }\n let baked = [];\n for (let element of elements) {\n if (element instanceof Indent) {\n // Dedent indented lines by the maximum common indent.\n element = element.value.slice(0, element.value.length - commonIndent);\n }\n if (element) {\n baked.push(element);\n }\n }\n return baked;\n }\n function parsePlaceable() {\n consumeToken(TOKEN_BRACE_OPEN, SyntaxError);\n let selector = parseInlineExpression();\n if (consumeToken(TOKEN_BRACE_CLOSE)) {\n return selector;\n }\n if (consumeToken(TOKEN_ARROW)) {\n let variants = parseVariants();\n consumeToken(TOKEN_BRACE_CLOSE, SyntaxError);\n return {\n type: \"select\",\n selector,\n ...variants,\n };\n }\n throw new SyntaxError(\"Unclosed placeable\");\n }\n function parseInlineExpression() {\n if (source[cursor] === \"{\") {\n // It's a nested placeable.\n return parsePlaceable();\n }\n if (test(RE_REFERENCE)) {\n let [, sigil, name, attr = null] = match(RE_REFERENCE);\n if (sigil === \"$\") {\n return { type: \"var\", name };\n }\n if (consumeToken(TOKEN_PAREN_OPEN)) {\n let args = parseArguments();\n if (sigil === \"-\") {\n // A parameterized term: -term(...).\n return { type: \"term\", name, attr, args };\n }\n if (RE_FUNCTION_NAME.test(name)) {\n return { type: \"func\", name, args };\n }\n throw new SyntaxError(\"Function names must be all upper-case\");\n }\n if (sigil === \"-\") {\n // A non-parameterized term: -term.\n return {\n type: \"term\",\n name,\n attr,\n args: [],\n };\n }\n return { type: \"mesg\", name, attr };\n }\n return parseLiteral();\n }\n function parseArguments() {\n let args = [];\n while (true) {\n switch (source[cursor]) {\n case \")\": // End of the argument list.\n cursor++;\n return args;\n case undefined: // EOF\n throw new SyntaxError(\"Unclosed argument list\");\n }\n args.push(parseArgument());\n // Commas between arguments are treated as whitespace.\n consumeToken(TOKEN_COMMA);\n }\n }\n function parseArgument() {\n let expr = parseInlineExpression();\n if (expr.type !== \"mesg\") {\n return expr;\n }\n if (consumeToken(TOKEN_COLON)) {\n // The reference is the beginning of a named argument.\n return {\n type: \"narg\",\n name: expr.name,\n value: parseLiteral(),\n };\n }\n // It's a regular message reference.\n return expr;\n }\n function parseVariants() {\n let variants = [];\n let count = 0;\n let star;\n while (test(RE_VARIANT_START)) {\n if (consumeChar(\"*\")) {\n star = count;\n }\n let key = parseVariantKey();\n let value = parsePattern();\n if (value === null) {\n throw new SyntaxError(\"Expected variant value\");\n }\n variants[count++] = { key, value };\n }\n if (count === 0) {\n return null;\n }\n if (star === undefined) {\n throw new SyntaxError(\"Expected default variant\");\n }\n return { variants, star };\n }\n function parseVariantKey() {\n consumeToken(TOKEN_BRACKET_OPEN, SyntaxError);\n let key;\n if (test(RE_NUMBER_LITERAL)) {\n key = parseNumberLiteral();\n }\n else {\n key = {\n type: \"str\",\n value: match1(RE_IDENTIFIER),\n };\n }\n consumeToken(TOKEN_BRACKET_CLOSE, SyntaxError);\n return key;\n }\n function parseLiteral() {\n if (test(RE_NUMBER_LITERAL)) {\n return parseNumberLiteral();\n }\n if (source[cursor] === '\"') {\n return parseStringLiteral();\n }\n throw new SyntaxError(\"Invalid expression\");\n }\n function parseNumberLiteral() {\n let [, value, fraction = \"\"] = match(RE_NUMBER_LITERAL);\n let precision = fraction.length;\n return {\n type: \"num\",\n value: parseFloat(value),\n precision,\n };\n }\n function parseStringLiteral() {\n consumeChar('\"', SyntaxError);\n let value = \"\";\n while (true) {\n value += match1(RE_STRING_RUN);\n if (source[cursor] === \"\\\\\") {\n value += parseEscapeSequence();\n continue;\n }\n if (consumeChar('\"')) {\n return { type: \"str\", value };\n }\n // We've reached an EOL of EOF.\n throw new SyntaxError(\"Unclosed string literal\");\n }\n }\n // Unescape known escape sequences.\n function parseEscapeSequence() {\n if (test(RE_STRING_ESCAPE)) {\n return match1(RE_STRING_ESCAPE);\n }\n if (test(RE_UNICODE_ESCAPE)) {\n let [, codepoint4, codepoint6] = match(RE_UNICODE_ESCAPE);\n let codepoint = parseInt(codepoint4 || codepoint6, 16);\n return codepoint <= 0xd7ff || 0xe000 <= codepoint\n ? // It's a Unicode scalar value.\n String.fromCodePoint(codepoint)\n : // Lonely surrogates can cause trouble when the parsing result is\n // saved using UTF-8. Use U+FFFD REPLACEMENT CHARACTER instead.\n \"�\";\n }\n throw new SyntaxError(\"Unknown escape sequence\");\n }\n // Parse blank space. Return it if it looks like indent before a pattern\n // line. Skip it othwerwise.\n function parseIndent() {\n let start = cursor;\n consumeToken(TOKEN_BLANK);\n // Check the first non-blank character after the indent.\n switch (source[cursor]) {\n case \".\":\n case \"[\":\n case \"*\":\n case \"}\":\n case undefined: // EOF\n // A special character. End the Pattern.\n return false;\n case \"{\":\n // Placeables don't require indentation (in EBNF: block-placeable).\n // Continue the Pattern.\n return makeIndent(source.slice(start, cursor));\n }\n // If the first character on the line is not one of the special characters\n // listed above, it's a regular text character. Check if there's at least\n // one space of indent before it.\n if (source[cursor - 1] === \" \") {\n // It's an indented text character (in EBNF: indented-char). Continue\n // the Pattern.\n return makeIndent(source.slice(start, cursor));\n }\n // A not-indented text character is likely the identifier of the next\n // message. End the Pattern.\n return false;\n }\n // Trim blanks in text according to the given regex.\n function trim(text, re) {\n return text.replace(re, \"\");\n }\n // Normalize a blank block and extract the indent details.\n function makeIndent(blank) {\n let value = blank.replace(RE_BLANK_LINES, \"\\n\");\n let length = RE_INDENT.exec(blank)[1].length;\n return new Indent(value, length);\n }\n }\n}\nclass Indent {\n constructor(value, length) {\n this.value = value;\n this.length = length;\n }\n}\n","/**\n * A JavaScript implementation of Project Fluent, a localization\n * framework designed to unleash the expressive power of the natural language.\n *\n * @module\n */\nexport { FluentBundle } from \"./bundle.js\";\nexport { FluentResource } from \"./resource.js\";\nexport { FluentType, FluentNone, FluentNumber, FluentDateTime, } from \"./types.js\";\n","/* eslint no-console: [\"error\", {allow: [\"warn\"]}] */\n/* global console */\n// Match the opening angle bracket (<) in HTML tags, and HTML entities like\n// &, &, &.\nconst reOverlay = /<|?\\w+;/;\n/**\n * Elements allowed in translations even if they are not present in the source\n * HTML. They are text-level elements as defined by the HTML5 spec:\n * https://www.w3.org/TR/html5/text-level-semantics.html with the exception of:\n *\n * - a - because we don't allow href on it anyways,\n * - ruby, rt, rp - because we don't allow nested elements to be inserted.\n */\nconst TEXT_LEVEL_ELEMENTS = {\n \"http://www.w3.org/1999/xhtml\": [\n \"em\",\n \"strong\",\n \"small\",\n \"s\",\n \"cite\",\n \"q\",\n \"dfn\",\n \"abbr\",\n \"data\",\n \"time\",\n \"code\",\n \"var\",\n \"samp\",\n \"kbd\",\n \"sub\",\n \"sup\",\n \"i\",\n \"b\",\n \"u\",\n \"mark\",\n \"bdi\",\n \"bdo\",\n \"span\",\n \"br\",\n \"wbr\",\n ],\n};\nconst LOCALIZABLE_ATTRIBUTES = {\n \"http://www.w3.org/1999/xhtml\": {\n global: [\"title\", \"aria-description\", \"aria-label\", \"aria-valuetext\"],\n a: [\"download\"],\n area: [\"download\", \"alt\"],\n // value is special-cased in isAttrNameLocalizable\n input: [\"alt\", \"placeholder\"],\n menuitem: [\"label\"],\n menu: [\"label\"],\n optgroup: [\"label\"],\n option: [\"label\"],\n track: [\"label\"],\n img: [\"alt\"],\n textarea: [\"placeholder\"],\n th: [\"abbr\"],\n },\n \"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\": {\n global: [\n \"accesskey\",\n \"aria-label\",\n \"aria-valuetext\",\n \"label\",\n \"title\",\n \"tooltiptext\",\n ],\n description: [\"value\"],\n key: [\"key\", \"keycode\"],\n label: [\"value\"],\n textbox: [\"placeholder\", \"value\"],\n },\n};\n/**\n * Translate an element.\n *\n * Translate the element's text content and attributes. Some HTML markup is\n * allowed in the translation. The element's children with the data-l10n-name\n * attribute will be treated as arguments to the translation. If the\n * translation defines the same children, their attributes and text contents\n * will be used for translating the matching source child.\n *\n * @param {Element} element\n * @param {Object} translation\n * @private\n */\nexport default function translateElement(element, translation) {\n const { value } = translation;\n if (typeof value === \"string\") {\n if (element.localName === \"title\" &&\n element.namespaceURI === \"http://www.w3.org/1999/xhtml\") {\n // A special case for the HTML title element whose content must be text.\n element.textContent = value;\n }\n else if (!reOverlay.test(value)) {\n // If the translation doesn't contain any markup skip the overlay logic.\n element.textContent = value;\n }\n else {\n // Else parse the translation's HTML using an inert template element,\n // sanitize it and replace the element's content.\n const templateElement = element.ownerDocument.createElementNS(\"http://www.w3.org/1999/xhtml\", \"template\");\n templateElement.innerHTML = value;\n overlayChildNodes(templateElement.content, element);\n }\n }\n // Even if the translation doesn't define any localizable attributes, run\n // overlayAttributes to remove any localizable attributes set by previous\n // translations.\n overlayAttributes(translation, element);\n}\n/**\n * Replace child nodes of an element with child nodes of another element.\n *\n * The contents of the target element will be cleared and fully replaced with\n * sanitized contents of the source element.\n *\n * @param {DocumentFragment} fromFragment - The source of children to overlay.\n * @param {Element} toElement - The target of the overlay.\n * @private\n */\nfunction overlayChildNodes(fromFragment, toElement) {\n for (const childNode of fromFragment.childNodes) {\n if (childNode.nodeType === childNode.TEXT_NODE) {\n // Keep the translated text node.\n continue;\n }\n if (childNode.hasAttribute(\"data-l10n-name\")) {\n const sanitized = getNodeForNamedElement(toElement, childNode);\n fromFragment.replaceChild(sanitized, childNode);\n continue;\n }\n if (isElementAllowed(childNode)) {\n const sanitized = createSanitizedElement(childNode);\n fromFragment.replaceChild(sanitized, childNode);\n continue;\n }\n console.warn(`An element of forbidden type \"${childNode.localName}\" was found in ` +\n \"the translation. Only safe text-level elements and elements with \" +\n \"data-l10n-name are allowed.\");\n // If all else fails, replace the element with its text content.\n fromFragment.replaceChild(createTextNodeFromTextContent(childNode), childNode);\n }\n toElement.textContent = \"\";\n toElement.appendChild(fromFragment);\n}\nfunction hasAttribute(attributes, name) {\n if (!attributes) {\n return false;\n }\n for (let attr of attributes) {\n if (attr.name === name) {\n return true;\n }\n }\n return false;\n}\n/**\n * Transplant localizable attributes of an element to another element.\n *\n * Any localizable attributes already set on the target element will be\n * cleared.\n *\n * @param {Element|Object} fromElement - The source of child nodes to overlay.\n * @param {Element} toElement - The target of the overlay.\n * @private\n */\nfunction overlayAttributes(fromElement, toElement) {\n const explicitlyAllowed = toElement.hasAttribute(\"data-l10n-attrs\")\n ? toElement\n .getAttribute(\"data-l10n-attrs\")\n .split(\",\")\n .map(i => i.trim())\n : null;\n // Remove existing localizable attributes if they\n // will not be used in the new translation.\n for (const attr of Array.from(toElement.attributes)) {\n if (isAttrNameLocalizable(attr.name, toElement, explicitlyAllowed) &&\n !hasAttribute(fromElement.attributes, attr.name)) {\n toElement.removeAttribute(attr.name);\n }\n }\n // fromElement might be a {value, attributes} object as returned by\n // Localization.messageFromBundle. In which case attributes may be null to\n // save GC cycles.\n if (!fromElement.attributes) {\n return;\n }\n // Set localizable attributes.\n for (const attr of Array.from(fromElement.attributes)) {\n if (isAttrNameLocalizable(attr.name, toElement, explicitlyAllowed) &&\n toElement.getAttribute(attr.name) !== attr.value) {\n toElement.setAttribute(attr.name, attr.value);\n }\n }\n}\n/**\n * Sanitize a child element created by the translation.\n *\n * Try to find a corresponding child in sourceElement and use it as the base\n * for the sanitization. This will preserve functional attribtues defined on\n * the child element in the source HTML.\n *\n * @param {Element} sourceElement - The source for data-l10n-name lookups.\n * @param {Element} translatedChild - The translated child to be sanitized.\n * @returns {Element}\n * @private\n */\nfunction getNodeForNamedElement(sourceElement, translatedChild) {\n const childName = translatedChild.getAttribute(\"data-l10n-name\");\n const sourceChild = sourceElement.querySelector(`[data-l10n-name=\"${childName}\"]`);\n if (!sourceChild) {\n console.warn(`An element named \"${childName}\" wasn't found in the source.`);\n return createTextNodeFromTextContent(translatedChild);\n }\n if (sourceChild.localName !== translatedChild.localName) {\n console.warn(`An element named \"${childName}\" was found in the translation ` +\n `but its type ${translatedChild.localName} didn't match the ` +\n `element found in the source (${sourceChild.localName}).`);\n return createTextNodeFromTextContent(translatedChild);\n }\n // Remove it from sourceElement so that the translation cannot use\n // the same reference name again.\n sourceElement.removeChild(sourceChild);\n // We can't currently guarantee that a translation won't remove\n // sourceChild from the element completely, which could break the app if\n // it relies on an event handler attached to the sourceChild. Let's make\n // this limitation explicit for now by breaking the identitiy of the\n // sourceChild by cloning it. This will destroy all event handlers\n // attached to sourceChild via addEventListener and via on\n // properties.\n const clone = sourceChild.cloneNode(false);\n return shallowPopulateUsing(translatedChild, clone);\n}\n/**\n * Sanitize an allowed element.\n *\n * Text-level elements allowed in translations may only use safe attributes\n * and will have any nested markup stripped to text content.\n *\n * @param {Element} element - The element to be sanitized.\n * @returns {Element}\n * @private\n */\nfunction createSanitizedElement(element) {\n // Start with an empty element of the same type to remove nested children\n // and non-localizable attributes defined by the translation.\n const clone = element.ownerDocument.createElement(element.localName);\n return shallowPopulateUsing(element, clone);\n}\n/**\n * Convert an element to a text node.\n *\n * @param {Element} element - The element to be sanitized.\n * @returns {Node}\n * @private\n */\nfunction createTextNodeFromTextContent(element) {\n return element.ownerDocument.createTextNode(element.textContent);\n}\n/**\n * Check if element is allowed in the translation.\n *\n * This method is used by the sanitizer when the translation markup contains\n * an element which is not present in the source code.\n *\n * @param {Element} element\n * @returns {boolean}\n * @private\n */\nfunction isElementAllowed(element) {\n const allowed = TEXT_LEVEL_ELEMENTS[element.namespaceURI];\n return allowed && allowed.includes(element.localName);\n}\n/**\n * Check if attribute is allowed for the given element.\n *\n * This method is used by the sanitizer when the translation markup contains\n * DOM attributes, or when the translation has traits which map to DOM\n * attributes.\n *\n * `explicitlyAllowed` can be passed as a list of attributes explicitly\n * allowed on this element.\n *\n * @param {string} name\n * @param {Element} element\n * @param {Array} explicitlyAllowed\n * @returns {boolean}\n * @private\n */\nfunction isAttrNameLocalizable(name, element, explicitlyAllowed = null) {\n if (explicitlyAllowed && explicitlyAllowed.includes(name)) {\n return true;\n }\n const allowed = LOCALIZABLE_ATTRIBUTES[element.namespaceURI];\n if (!allowed) {\n return false;\n }\n const attrName = name.toLowerCase();\n const elemName = element.localName;\n // Is it a globally safe attribute?\n if (allowed.global.includes(attrName)) {\n return true;\n }\n // Are there no allowed attributes for this element?\n if (!allowed[elemName]) {\n return false;\n }\n // Is it allowed on this element?\n if (allowed[elemName].includes(attrName)) {\n return true;\n }\n // Special case for value on HTML inputs with type button, reset, submit\n if (element.namespaceURI === \"http://www.w3.org/1999/xhtml\" &&\n elemName === \"input\" &&\n attrName === \"value\") {\n const type = element.type.toLowerCase();\n if (type === \"submit\" || type === \"button\" || type === \"reset\") {\n return true;\n }\n }\n return false;\n}\n/**\n * Helper to set textContent and localizable attributes on an element.\n *\n * @param {Element} fromElement\n * @param {Element} toElement\n * @returns {Element}\n * @private\n */\nfunction shallowPopulateUsing(fromElement, toElement) {\n toElement.textContent = fromElement.textContent;\n overlayAttributes(fromElement, toElement);\n return toElement;\n}\n","/*\n * Base CachedIterable class.\n */\nexport default class CachedIterable extends Array {\n /**\n * Create a `CachedIterable` instance from an iterable or, if another\n * instance of `CachedIterable` is passed, return it without any\n * modifications.\n *\n * @param {Iterable} iterable\n * @returns {CachedIterable}\n */\n static from(iterable) {\n if (iterable instanceof this) {\n return iterable;\n }\n\n return new this(iterable);\n }\n}\n","import CachedIterable from \"./cached_iterable.mjs\";\n\n/*\n * CachedSyncIterable caches the elements yielded by an iterable.\n *\n * It can be used to iterate over an iterable many times without depleting the\n * iterable.\n */\nexport default class CachedSyncIterable extends CachedIterable {\n /**\n * Create an `CachedSyncIterable` instance.\n *\n * @param {Iterable} iterable\n * @returns {CachedSyncIterable}\n */\n constructor(iterable) {\n super();\n\n if (Symbol.iterator in Object(iterable)) {\n this.iterator = iterable[Symbol.iterator]();\n } else {\n throw new TypeError(\"Argument must implement the iteration protocol.\");\n }\n }\n\n [Symbol.iterator]() {\n const cached = this;\n let cur = 0;\n\n return {\n next() {\n if (cached.length <= cur) {\n cached.push(cached.iterator.next());\n }\n return cached[cur++];\n }\n };\n }\n\n /**\n * This method allows user to consume the next element from the iterator\n * into the cache.\n *\n * @param {number} count - number of elements to consume\n */\n touchNext(count = 1) {\n let idx = 0;\n while (idx++ < count) {\n const last = this[this.length - 1];\n if (last && last.done) {\n break;\n }\n this.push(this.iterator.next());\n }\n // Return the last cached {value, done} object to allow the calling\n // code to decide if it needs to call touchNext again.\n return this[this.length - 1];\n }\n}\n","import CachedIterable from \"./cached_iterable.mjs\";\n\n/*\n * CachedAsyncIterable caches the elements yielded by an async iterable.\n *\n * It can be used to iterate over an iterable many times without depleting the\n * iterable.\n */\nexport default class CachedAsyncIterable extends CachedIterable {\n /**\n * Create an `CachedAsyncIterable` instance.\n *\n * @param {Iterable} iterable\n * @returns {CachedAsyncIterable}\n */\n constructor(iterable) {\n super();\n\n if (Symbol.asyncIterator in Object(iterable)) {\n this.iterator = iterable[Symbol.asyncIterator]();\n } else if (Symbol.iterator in Object(iterable)) {\n this.iterator = iterable[Symbol.iterator]();\n } else {\n throw new TypeError(\"Argument must implement the iteration protocol.\");\n }\n }\n\n /**\n * Asynchronous iterator caching the yielded elements.\n *\n * Elements yielded by the original iterable will be cached and available\n * synchronously. Returns an async generator object implementing the\n * iterator protocol over the elements of the original (async or sync)\n * iterable.\n */\n [Symbol.asyncIterator]() {\n const cached = this;\n let cur = 0;\n\n return {\n async next() {\n if (cached.length <= cur) {\n cached.push(cached.iterator.next());\n }\n return cached[cur++];\n }\n };\n }\n\n /**\n * This method allows user to consume the next element from the iterator\n * into the cache.\n *\n * @param {number} count - number of elements to consume\n */\n async touchNext(count = 1) {\n let idx = 0;\n while (idx++ < count) {\n const last = this[this.length - 1];\n if (last && (await last).done) {\n break;\n }\n this.push(this.iterator.next());\n }\n // Return the last cached {value, done} object to allow the calling\n // code to decide if it needs to call touchNext again.\n return this[this.length - 1];\n }\n}\n","export {default as CachedSyncIterable} from \"./cached_sync_iterable.mjs\";\nexport {default as CachedAsyncIterable} from \"./cached_async_iterable.mjs\";\n","/* eslint no-console: [\"error\", { allow: [\"warn\", \"error\"] }] */\n/* global console */\nimport { CachedAsyncIterable } from \"cached-iterable\";\n/**\n * The `Localization` class is a central high-level API for vanilla\n * JavaScript use of Fluent.\n * It combines language negotiation, FluentBundle and I/O to\n * provide a scriptable API to format translations.\n */\nexport default class Localization {\n /**\n * @param {Array} resourceIds - List of resource IDs\n * @param {Function} generateBundles - Function that returns a\n * generator over FluentBundles\n *\n * @returns {Localization}\n */\n constructor(resourceIds = [], generateBundles) {\n this.resourceIds = resourceIds;\n this.generateBundles = generateBundles;\n this.onChange(true);\n }\n addResourceIds(resourceIds, eager = false) {\n this.resourceIds.push(...resourceIds);\n this.onChange(eager);\n return this.resourceIds.length;\n }\n removeResourceIds(resourceIds) {\n this.resourceIds = this.resourceIds.filter(r => !resourceIds.includes(r));\n this.onChange();\n return this.resourceIds.length;\n }\n /**\n * Format translations and handle fallback if needed.\n *\n * Format translations for `keys` from `FluentBundle` instances on this\n * DOMLocalization. In case of errors, fetch the next context in the\n * fallback chain.\n *\n * @param {Array