accessify-widget 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -3
- package/dist/accessify.min.js +1 -1
- package/dist/accessify.min.js.map +1 -1
- package/dist/accessify.mjs +1 -1
- package/dist/{alt-text-CLxbmwG6.js → alt-text-CrPRUX83.js} +2 -2
- package/dist/{alt-text-CLxbmwG6.js.map → alt-text-CrPRUX83.js.map} +1 -1
- package/dist/contrast-CqsICAkU.js +139 -0
- package/dist/contrast-CqsICAkU.js.map +1 -0
- package/dist/{index-CUQfpnwR.js → index-B6b-ij4T.js} +1815 -732
- package/dist/index-B6b-ij4T.js.map +1 -0
- package/dist/{keyboard-nav-BdPyLaZt.js → keyboard-nav-YtijlLYi.js} +16 -12
- package/dist/keyboard-nav-YtijlLYi.js.map +1 -0
- package/dist/{page-structure-2X8mOSpC.js → page-structure-WFqy5QjQ.js} +11 -7
- package/dist/page-structure-WFqy5QjQ.js.map +1 -0
- package/dist/text-size-C6OFhCGi.js +186 -0
- package/dist/text-size-C6OFhCGi.js.map +1 -0
- package/dist/widget.js +1 -1
- package/dist/widget.js.map +1 -1
- package/package.json +10 -10
- package/LICENSE +0 -21
- package/dist/color-blind-0LFng55r.js +0 -108
- package/dist/color-blind-0LFng55r.js.map +0 -1
- package/dist/contrast-DCkE0NXZ.js +0 -64
- package/dist/contrast-DCkE0NXZ.js.map +0 -1
- package/dist/dyslexia-font-wONgIy2T.js +0 -77
- package/dist/dyslexia-font-wONgIy2T.js.map +0 -1
- package/dist/index-CUQfpnwR.js.map +0 -1
- package/dist/keyboard-nav-BdPyLaZt.js.map +0 -1
- package/dist/line-height-BT98qgEF.js +0 -54
- package/dist/line-height-BT98qgEF.js.map +0 -1
- package/dist/page-structure-2X8mOSpC.js.map +0 -1
- package/dist/saturation-D8ZXpWAN.js +0 -59
- package/dist/saturation-D8ZXpWAN.js.map +0 -1
- package/dist/spacing-DENai3JU.js +0 -106
- package/dist/spacing-DENai3JU.js.map +0 -1
- package/dist/text-align-BDRPqPvl.js +0 -51
- package/dist/text-align-BDRPqPvl.js.map +0 -1
- package/dist/text-size-B-uv436p.js +0 -69
- package/dist/text-size-B-uv436p.js.map +0 -1
|
@@ -279,6 +279,15 @@ https://svelte.dev/e/lifecycle_double_unmount`, bold, normal);
|
|
|
279
279
|
console.warn(`https://svelte.dev/e/lifecycle_double_unmount`);
|
|
280
280
|
}
|
|
281
281
|
}
|
|
282
|
+
function select_multiple_invalid_value() {
|
|
283
|
+
if (DEV) {
|
|
284
|
+
console.warn(`%c[svelte] select_multiple_invalid_value
|
|
285
|
+
%cThe \`value\` property of a \`<select multiple>\` element should be an array, but it received a non-array value. The selection will be kept as is.
|
|
286
|
+
https://svelte.dev/e/select_multiple_invalid_value`, bold, normal);
|
|
287
|
+
} else {
|
|
288
|
+
console.warn(`https://svelte.dev/e/select_multiple_invalid_value`);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
282
291
|
function state_proxy_equality_mismatch(operator) {
|
|
283
292
|
if (DEV) {
|
|
284
293
|
console.warn(`%c[svelte] state_proxy_equality_mismatch
|
|
@@ -2310,6 +2319,9 @@ function get_proxied_value(value) {
|
|
|
2310
2319
|
}
|
|
2311
2320
|
return value;
|
|
2312
2321
|
}
|
|
2322
|
+
function is(a, b) {
|
|
2323
|
+
return Object.is(get_proxied_value(a), get_proxied_value(b));
|
|
2324
|
+
}
|
|
2313
2325
|
const ARRAY_MUTATING_METHODS = /* @__PURE__ */ new Set([
|
|
2314
2326
|
"copyWithin",
|
|
2315
2327
|
"fill",
|
|
@@ -2464,7 +2476,7 @@ function clear_text_content(node) {
|
|
|
2464
2476
|
function should_defer_append() {
|
|
2465
2477
|
return false;
|
|
2466
2478
|
}
|
|
2467
|
-
function create_element(tag2, namespace,
|
|
2479
|
+
function create_element(tag2, namespace, is2) {
|
|
2468
2480
|
let options = void 0;
|
|
2469
2481
|
return (
|
|
2470
2482
|
/** @type {T extends keyof HTMLElementTagNameMap ? HTMLElementTagNameMap[T] : Element} */
|
|
@@ -4233,6 +4245,56 @@ function html(node, get_value, is_controlled = false, svg = false, mathml = fals
|
|
|
4233
4245
|
}
|
|
4234
4246
|
});
|
|
4235
4247
|
}
|
|
4248
|
+
function select_option(select, value, mounting = false) {
|
|
4249
|
+
if (select.multiple) {
|
|
4250
|
+
if (value == void 0) {
|
|
4251
|
+
return;
|
|
4252
|
+
}
|
|
4253
|
+
if (!is_array(value)) {
|
|
4254
|
+
return select_multiple_invalid_value();
|
|
4255
|
+
}
|
|
4256
|
+
for (var option of select.options) {
|
|
4257
|
+
option.selected = value.includes(get_option_value(option));
|
|
4258
|
+
}
|
|
4259
|
+
return;
|
|
4260
|
+
}
|
|
4261
|
+
for (option of select.options) {
|
|
4262
|
+
var option_value = get_option_value(option);
|
|
4263
|
+
if (is(option_value, value)) {
|
|
4264
|
+
option.selected = true;
|
|
4265
|
+
return;
|
|
4266
|
+
}
|
|
4267
|
+
}
|
|
4268
|
+
if (!mounting || value !== void 0) {
|
|
4269
|
+
select.selectedIndex = -1;
|
|
4270
|
+
}
|
|
4271
|
+
}
|
|
4272
|
+
function init_select(select) {
|
|
4273
|
+
var observer = new MutationObserver(() => {
|
|
4274
|
+
select_option(select, select.__value);
|
|
4275
|
+
});
|
|
4276
|
+
observer.observe(select, {
|
|
4277
|
+
// Listen to option element changes
|
|
4278
|
+
childList: true,
|
|
4279
|
+
subtree: true,
|
|
4280
|
+
// because of <optgroup>
|
|
4281
|
+
// Listen to option element value attribute changes
|
|
4282
|
+
// (doesn't get notified of select value changes,
|
|
4283
|
+
// because that property is not reflected as an attribute)
|
|
4284
|
+
attributes: true,
|
|
4285
|
+
attributeFilter: ["value"]
|
|
4286
|
+
});
|
|
4287
|
+
teardown(() => {
|
|
4288
|
+
observer.disconnect();
|
|
4289
|
+
});
|
|
4290
|
+
}
|
|
4291
|
+
function get_option_value(option) {
|
|
4292
|
+
if ("__value" in option) {
|
|
4293
|
+
return option.__value;
|
|
4294
|
+
} else {
|
|
4295
|
+
return option.value;
|
|
4296
|
+
}
|
|
4297
|
+
}
|
|
4236
4298
|
const IS_CUSTOM_ELEMENT = Symbol("is custom element");
|
|
4237
4299
|
const IS_HTML = Symbol("is html");
|
|
4238
4300
|
function set_attribute(element, attribute, value, skip_warning) {
|
|
@@ -4671,7 +4733,7 @@ const icons = {
|
|
|
4671
4733
|
globe: iconGlobe,
|
|
4672
4734
|
profile: iconProfile
|
|
4673
4735
|
};
|
|
4674
|
-
const
|
|
4736
|
+
const deJson = {
|
|
4675
4737
|
"widget.title": "Barrierefreiheit",
|
|
4676
4738
|
"widget.open": "Barrierefreiheit-Einstellungen öffnen",
|
|
4677
4739
|
"widget.close": "Schließen",
|
|
@@ -4760,7 +4822,7 @@ const de = {
|
|
|
4760
4822
|
"footer.github": "GitHub",
|
|
4761
4823
|
"bfsg.notice": "Hinweis: Dieses Overlay-Tool allein erfüllt nicht die Anforderungen des BFSG. Professionelle Barrierefreiheit erfordert strukturelle Änderungen am Quellcode."
|
|
4762
4824
|
};
|
|
4763
|
-
const
|
|
4825
|
+
const enJson = {
|
|
4764
4826
|
"widget.title": "Accessibility",
|
|
4765
4827
|
"widget.open": "Open accessibility settings",
|
|
4766
4828
|
"widget.close": "Close",
|
|
@@ -4849,15 +4911,874 @@ const en = {
|
|
|
4849
4911
|
"footer.github": "GitHub",
|
|
4850
4912
|
"bfsg.notice": "Note: This overlay tool alone does not meet BFSG requirements. Full accessibility requires structural changes to the source code."
|
|
4851
4913
|
};
|
|
4852
|
-
const
|
|
4914
|
+
const EN_BASE = {
|
|
4915
|
+
...enJson,
|
|
4916
|
+
"widget.subtitle": "Adjust contrast, text and navigation on this page",
|
|
4917
|
+
"widget.language": "Language",
|
|
4918
|
+
"widget.poweredBy": "Powered by Accessify-Widget",
|
|
4919
|
+
"section.essentials": "Most used",
|
|
4920
|
+
"section.essentials.desc": "Start with contrast, text size and keyboard support.",
|
|
4921
|
+
"section.support": "Reading and navigation",
|
|
4922
|
+
"section.support.desc": "Tools for focus, reduced motion and page structure.",
|
|
4923
|
+
"section.ai": "AI assistance",
|
|
4924
|
+
"section.ai.desc": "Simplify content, generate alt text and scan the current page.",
|
|
4925
|
+
"control.mostUsed": "Most used",
|
|
4926
|
+
"control.chooseMode": "Choose a mode",
|
|
4927
|
+
"control.default": "Default",
|
|
4928
|
+
"contrast.mode.light": "Light contrast",
|
|
4929
|
+
"contrast.mode.dark": "Dark contrast",
|
|
4930
|
+
"contrast.mode.high": "High contrast",
|
|
4931
|
+
"keyboard.shortcuts": "Keyboard shortcuts",
|
|
4932
|
+
"keyboard.shortcut": "Shortcut",
|
|
4933
|
+
"keyboard.action": "Action",
|
|
4934
|
+
"keyboard.nextHeading": "Go to the next heading",
|
|
4935
|
+
"keyboard.nextLandmark": "Go to the next landmark",
|
|
4936
|
+
"keyboard.toggleHelp": "Open or close this help overlay",
|
|
4937
|
+
"keyboard.nextFocusable": "Move to the next focusable element",
|
|
4938
|
+
"keyboard.closeOverlay": "Close this overlay",
|
|
4939
|
+
"keyboard.skipToContent": "Skip to main content",
|
|
4940
|
+
"pageStructure.title": "Page structure",
|
|
4941
|
+
"pageStructure.headings": "Headings",
|
|
4942
|
+
"pageStructure.landmarks": "Landmarks",
|
|
4943
|
+
"pageStructure.empty": "No headings or landmarks found on this page."
|
|
4944
|
+
};
|
|
4945
|
+
const DE_BASE = {
|
|
4946
|
+
...deJson,
|
|
4947
|
+
"widget.subtitle": "Passe Kontrast, Text und Navigation auf dieser Seite an",
|
|
4948
|
+
"widget.language": "Sprache",
|
|
4949
|
+
"widget.poweredBy": "Bereitgestellt von Accessify-Widget",
|
|
4950
|
+
"section.essentials": "Am haeufigsten genutzt",
|
|
4951
|
+
"section.essentials.desc": "Starte mit Kontrast, Textgroesse und Tastaturhilfe.",
|
|
4952
|
+
"section.support": "Lesen und Navigation",
|
|
4953
|
+
"section.support.desc": "Hilfen fuer Fokus, reduzierte Bewegung und Seitenstruktur.",
|
|
4954
|
+
"section.ai": "KI-Unterstuetzung",
|
|
4955
|
+
"section.ai.desc": "Inhalte vereinfachen, Alt-Texte erzeugen und die Seite pruefen.",
|
|
4956
|
+
"control.mostUsed": "Meistgenutzt",
|
|
4957
|
+
"control.chooseMode": "Modus waehlen",
|
|
4958
|
+
"control.default": "Standard",
|
|
4959
|
+
"contrast.mode.light": "Heller Kontrast",
|
|
4960
|
+
"contrast.mode.dark": "Dunkler Kontrast",
|
|
4961
|
+
"contrast.mode.high": "Hoher Kontrast",
|
|
4962
|
+
"keyboard.shortcuts": "Tastaturhilfe",
|
|
4963
|
+
"keyboard.shortcut": "Tastaturkuerzel",
|
|
4964
|
+
"keyboard.action": "Aktion",
|
|
4965
|
+
"keyboard.nextHeading": "Zur naechsten Ueberschrift springen",
|
|
4966
|
+
"keyboard.nextLandmark": "Zur naechsten Landmarke springen",
|
|
4967
|
+
"keyboard.toggleHelp": "Diese Hilfe ein- oder ausblenden",
|
|
4968
|
+
"keyboard.nextFocusable": "Zum naechsten fokussierbaren Element wechseln",
|
|
4969
|
+
"keyboard.closeOverlay": "Diese Hilfe schliessen",
|
|
4970
|
+
"keyboard.skipToContent": "Zum Hauptinhalt springen",
|
|
4971
|
+
"pageStructure.title": "Seitenstruktur",
|
|
4972
|
+
"pageStructure.headings": "Ueberschriften",
|
|
4973
|
+
"pageStructure.landmarks": "Landmarken",
|
|
4974
|
+
"pageStructure.empty": "Auf dieser Seite wurden keine Ueberschriften oder Landmarken gefunden."
|
|
4975
|
+
};
|
|
4976
|
+
function withEnglish(overrides) {
|
|
4977
|
+
return { ...EN_BASE, ...overrides };
|
|
4978
|
+
}
|
|
4979
|
+
const locales = {
|
|
4980
|
+
en: EN_BASE,
|
|
4981
|
+
de: DE_BASE,
|
|
4982
|
+
zh: withEnglish({
|
|
4983
|
+
"widget.title": "无障碍",
|
|
4984
|
+
"widget.subtitle": "调整此页面的对比度、文字和导航",
|
|
4985
|
+
"widget.open": "打开无障碍设置",
|
|
4986
|
+
"widget.close": "关闭",
|
|
4987
|
+
"widget.reset": "全部重置",
|
|
4988
|
+
"widget.resetConfirm": "已重置所有调整",
|
|
4989
|
+
"widget.poweredBy": "由 Accessify-Widget 提供支持",
|
|
4990
|
+
"widget.statement": "无障碍声明",
|
|
4991
|
+
"widget.language": "语言",
|
|
4992
|
+
"status.active": "已启用 {count} 项",
|
|
4993
|
+
"status.noActive": "当前未启用调整",
|
|
4994
|
+
"status.activated": "已启用",
|
|
4995
|
+
"status.deactivated": "已关闭",
|
|
4996
|
+
"section.essentials": "最常用",
|
|
4997
|
+
"section.essentials.desc": "先从对比度、文字大小和键盘支持开始。",
|
|
4998
|
+
"section.support": "阅读与导航",
|
|
4999
|
+
"section.support.desc": "用于聚焦、减少动画和查看页面结构的工具。",
|
|
5000
|
+
"section.ai": "AI 辅助",
|
|
5001
|
+
"section.ai.desc": "简化内容、生成替代文本并扫描当前页面。",
|
|
5002
|
+
"control.mostUsed": "最常用",
|
|
5003
|
+
"control.chooseMode": "选择模式",
|
|
5004
|
+
"control.default": "默认",
|
|
5005
|
+
"contrast.mode.light": "浅色高对比",
|
|
5006
|
+
"contrast.mode.dark": "深色高对比",
|
|
5007
|
+
"contrast.mode.high": "高对比",
|
|
5008
|
+
"feature.contrast": "对比度",
|
|
5009
|
+
"feature.textSize": "更大文字",
|
|
5010
|
+
"feature.keyboardNav": "键盘导航",
|
|
5011
|
+
"feature.focusHighlight": "焦点高亮",
|
|
5012
|
+
"feature.linkHighlight": "突出链接",
|
|
5013
|
+
"feature.animationStop": "停止动画",
|
|
5014
|
+
"feature.readingGuide": "阅读指引线",
|
|
5015
|
+
"feature.readingMask": "阅读遮罩",
|
|
5016
|
+
"feature.hideImages": "隐藏图片",
|
|
5017
|
+
"feature.bigCursor": "大号光标",
|
|
5018
|
+
"feature.pageStructure": "页面结构",
|
|
5019
|
+
"feature.tts": "朗读",
|
|
5020
|
+
"feature.textSimplify": "简化文本",
|
|
5021
|
+
"feature.altText": "生成替代文本",
|
|
5022
|
+
"feature.autoScan": "WCAG 扫描"
|
|
5023
|
+
}),
|
|
5024
|
+
hi: withEnglish({
|
|
5025
|
+
"widget.title": "सुलभता",
|
|
5026
|
+
"widget.subtitle": "इस पेज पर कंट्रास्ट, टेक्स्ट और नेविगेशन समायोजित करें",
|
|
5027
|
+
"widget.open": "सुलभता सेटिंग खोलें",
|
|
5028
|
+
"widget.close": "बंद करें",
|
|
5029
|
+
"widget.reset": "सब रीसेट करें",
|
|
5030
|
+
"widget.resetConfirm": "सभी बदलाव रीसेट हो गए",
|
|
5031
|
+
"widget.poweredBy": "Accessify-Widget द्वारा संचालित",
|
|
5032
|
+
"widget.statement": "एक्सेसिबिलिटी स्टेटमेंट",
|
|
5033
|
+
"widget.language": "भाषा",
|
|
5034
|
+
"status.active": "{count} सक्रिय",
|
|
5035
|
+
"status.noActive": "कोई बदलाव सक्रिय नहीं",
|
|
5036
|
+
"status.activated": "सक्रिय",
|
|
5037
|
+
"status.deactivated": "निष्क्रिय",
|
|
5038
|
+
"section.essentials": "सबसे ज्यादा उपयोग",
|
|
5039
|
+
"section.essentials.desc": "कंट्रास्ट, टेक्स्ट साइज और कीबोर्ड सहायता से शुरू करें।",
|
|
5040
|
+
"section.support": "पढ़ना और नेविगेशन",
|
|
5041
|
+
"section.support.desc": "फोकस, कम मोशन और पेज स्ट्रक्चर के लिए टूल।",
|
|
5042
|
+
"section.ai": "AI सहायता",
|
|
5043
|
+
"section.ai.desc": "कंटेंट सरल करें, ऑल्ट टेक्स्ट बनाएं और मौजूदा पेज स्कैन करें।",
|
|
5044
|
+
"control.mostUsed": "सबसे उपयोगी",
|
|
5045
|
+
"control.chooseMode": "मोड चुनें",
|
|
5046
|
+
"control.default": "डिफ़ॉल्ट",
|
|
5047
|
+
"contrast.mode.light": "लाइट कंट्रास्ट",
|
|
5048
|
+
"contrast.mode.dark": "डार्क कंट्रास्ट",
|
|
5049
|
+
"contrast.mode.high": "हाई कंट्रास्ट",
|
|
5050
|
+
"feature.contrast": "कंट्रास्ट",
|
|
5051
|
+
"feature.textSize": "बड़ा टेक्स्ट",
|
|
5052
|
+
"feature.keyboardNav": "कीबोर्ड नेविगेशन",
|
|
5053
|
+
"feature.focusHighlight": "फोकस हाइलाइट",
|
|
5054
|
+
"feature.linkHighlight": "लिंक हाइलाइट",
|
|
5055
|
+
"feature.animationStop": "एनिमेशन रोकें",
|
|
5056
|
+
"feature.readingGuide": "रीडिंग गाइड",
|
|
5057
|
+
"feature.readingMask": "रीडिंग मास्क",
|
|
5058
|
+
"feature.hideImages": "तस्वीरें छिपाएँ",
|
|
5059
|
+
"feature.bigCursor": "बड़ा कर्सर",
|
|
5060
|
+
"feature.pageStructure": "पेज संरचना",
|
|
5061
|
+
"feature.tts": "जोर से पढ़ें",
|
|
5062
|
+
"feature.textSimplify": "टेक्स्ट सरल करें",
|
|
5063
|
+
"feature.altText": "ऑल्ट-टेक्स्ट बनाएँ",
|
|
5064
|
+
"feature.autoScan": "WCAG स्कैन"
|
|
5065
|
+
}),
|
|
5066
|
+
es: withEnglish({
|
|
5067
|
+
"widget.title": "Accesibilidad",
|
|
5068
|
+
"widget.subtitle": "Ajusta contraste, texto y navegacion en esta pagina",
|
|
5069
|
+
"widget.open": "Abrir ajustes de accesibilidad",
|
|
5070
|
+
"widget.close": "Cerrar",
|
|
5071
|
+
"widget.reset": "Restablecer todo",
|
|
5072
|
+
"widget.resetConfirm": "Se restablecieron todos los ajustes",
|
|
5073
|
+
"widget.poweredBy": "Impulsado por Accessify-Widget",
|
|
5074
|
+
"widget.statement": "Declaracion de accesibilidad",
|
|
5075
|
+
"widget.language": "Idioma",
|
|
5076
|
+
"status.active": "{count} activas",
|
|
5077
|
+
"status.noActive": "No hay ajustes activos",
|
|
5078
|
+
"status.activated": "activado",
|
|
5079
|
+
"status.deactivated": "desactivado",
|
|
5080
|
+
"section.essentials": "Lo mas usado",
|
|
5081
|
+
"section.essentials.desc": "Empieza con contraste, tamano de texto y apoyo para teclado.",
|
|
5082
|
+
"section.support": "Lectura y navegacion",
|
|
5083
|
+
"section.support.desc": "Herramientas para foco, menos movimiento y estructura de pagina.",
|
|
5084
|
+
"section.ai": "Asistencia de IA",
|
|
5085
|
+
"section.ai.desc": "Simplifica contenido, genera texto alternativo y analiza la pagina actual.",
|
|
5086
|
+
"control.mostUsed": "Mas usado",
|
|
5087
|
+
"control.chooseMode": "Elegir modo",
|
|
5088
|
+
"control.default": "Predeterminado",
|
|
5089
|
+
"contrast.mode.light": "Contraste claro",
|
|
5090
|
+
"contrast.mode.dark": "Contraste oscuro",
|
|
5091
|
+
"contrast.mode.high": "Alto contraste",
|
|
5092
|
+
"feature.contrast": "Contraste",
|
|
5093
|
+
"feature.textSize": "Texto mas grande",
|
|
5094
|
+
"feature.keyboardNav": "Navegacion por teclado",
|
|
5095
|
+
"feature.focusHighlight": "Resaltar foco",
|
|
5096
|
+
"feature.linkHighlight": "Resaltar enlaces",
|
|
5097
|
+
"feature.animationStop": "Detener animaciones",
|
|
5098
|
+
"feature.readingGuide": "Guia de lectura",
|
|
5099
|
+
"feature.readingMask": "Mascara de lectura",
|
|
5100
|
+
"feature.hideImages": "Ocultar imagenes",
|
|
5101
|
+
"feature.bigCursor": "Cursor grande",
|
|
5102
|
+
"feature.pageStructure": "Estructura de pagina",
|
|
5103
|
+
"feature.tts": "Lectura en voz alta",
|
|
5104
|
+
"feature.textSimplify": "Simplificar texto",
|
|
5105
|
+
"feature.altText": "Generar texto alternativo",
|
|
5106
|
+
"feature.autoScan": "Escaneo WCAG"
|
|
5107
|
+
}),
|
|
5108
|
+
fr: withEnglish({
|
|
5109
|
+
"widget.title": "Accessibilite",
|
|
5110
|
+
"widget.subtitle": "Ajustez le contraste, le texte et la navigation sur cette page",
|
|
5111
|
+
"widget.open": "Ouvrir les reglages d'accessibilite",
|
|
5112
|
+
"widget.close": "Fermer",
|
|
5113
|
+
"widget.reset": "Tout reinitialiser",
|
|
5114
|
+
"widget.resetConfirm": "Tous les ajustements ont ete reinitialises",
|
|
5115
|
+
"widget.poweredBy": "Propulse par Accessify-Widget",
|
|
5116
|
+
"widget.statement": "Declaration d'accessibilite",
|
|
5117
|
+
"widget.language": "Langue",
|
|
5118
|
+
"status.active": "{count} actives",
|
|
5119
|
+
"status.noActive": "Aucun ajustement actif",
|
|
5120
|
+
"status.activated": "active",
|
|
5121
|
+
"status.deactivated": "desactive",
|
|
5122
|
+
"section.essentials": "Les plus utilises",
|
|
5123
|
+
"section.essentials.desc": "Commencez par le contraste, la taille du texte et le clavier.",
|
|
5124
|
+
"section.support": "Lecture et navigation",
|
|
5125
|
+
"section.support.desc": "Outils pour la mise au point, moins de mouvement et la structure de page.",
|
|
5126
|
+
"section.ai": "Assistance IA",
|
|
5127
|
+
"section.ai.desc": "Simplifiez le contenu, generez un texte alternatif et analysez la page.",
|
|
5128
|
+
"control.mostUsed": "Les plus utilises",
|
|
5129
|
+
"control.chooseMode": "Choisir un mode",
|
|
5130
|
+
"control.default": "Par defaut",
|
|
5131
|
+
"contrast.mode.light": "Contraste clair",
|
|
5132
|
+
"contrast.mode.dark": "Contraste sombre",
|
|
5133
|
+
"contrast.mode.high": "Contraste eleve",
|
|
5134
|
+
"feature.contrast": "Contraste",
|
|
5135
|
+
"feature.textSize": "Texte plus grand",
|
|
5136
|
+
"feature.keyboardNav": "Navigation clavier",
|
|
5137
|
+
"feature.focusHighlight": "Mise en evidence du focus",
|
|
5138
|
+
"feature.linkHighlight": "Mettre les liens en evidence",
|
|
5139
|
+
"feature.animationStop": "Arreter les animations",
|
|
5140
|
+
"feature.readingGuide": "Guide de lecture",
|
|
5141
|
+
"feature.readingMask": "Masque de lecture",
|
|
5142
|
+
"feature.hideImages": "Masquer les images",
|
|
5143
|
+
"feature.bigCursor": "Grand curseur",
|
|
5144
|
+
"feature.pageStructure": "Structure de page",
|
|
5145
|
+
"feature.tts": "Lecture audio",
|
|
5146
|
+
"feature.textSimplify": "Simplifier le texte",
|
|
5147
|
+
"feature.altText": "Generer un texte alternatif",
|
|
5148
|
+
"feature.autoScan": "Analyse WCAG"
|
|
5149
|
+
}),
|
|
5150
|
+
ar: withEnglish({
|
|
5151
|
+
"widget.title": "إمكانية الوصول",
|
|
5152
|
+
"widget.subtitle": "اضبط التباين والنص والتنقل في هذه الصفحة",
|
|
5153
|
+
"widget.open": "افتح إعدادات إمكانية الوصول",
|
|
5154
|
+
"widget.close": "إغلاق",
|
|
5155
|
+
"widget.reset": "إعادة ضبط الكل",
|
|
5156
|
+
"widget.resetConfirm": "تمت إعادة ضبط جميع التعديلات",
|
|
5157
|
+
"widget.poweredBy": "مدعوم بواسطة Accessify-Widget",
|
|
5158
|
+
"widget.statement": "بيان إمكانية الوصول",
|
|
5159
|
+
"widget.language": "اللغة",
|
|
5160
|
+
"status.active": "{count} عناصر نشطة",
|
|
5161
|
+
"status.noActive": "لا توجد تعديلات نشطة",
|
|
5162
|
+
"status.activated": "مفعل",
|
|
5163
|
+
"status.deactivated": "معطل",
|
|
5164
|
+
"section.essentials": "الأكثر استخدامًا",
|
|
5165
|
+
"section.essentials.desc": "ابدأ بالتباين وحجم النص ودعم لوحة المفاتيح.",
|
|
5166
|
+
"section.support": "القراءة والتنقل",
|
|
5167
|
+
"section.support.desc": "أدوات للتركيز وتقليل الحركة وبنية الصفحة.",
|
|
5168
|
+
"section.ai": "مساعدة الذكاء الاصطناعي",
|
|
5169
|
+
"section.ai.desc": "بسّط المحتوى وأنشئ نصًا بديلاً وافحص الصفحة الحالية.",
|
|
5170
|
+
"control.mostUsed": "الأكثر استخدامًا",
|
|
5171
|
+
"control.chooseMode": "اختر وضعًا",
|
|
5172
|
+
"control.default": "افتراضي",
|
|
5173
|
+
"contrast.mode.light": "تباين فاتح",
|
|
5174
|
+
"contrast.mode.dark": "تباين داكن",
|
|
5175
|
+
"contrast.mode.high": "تباين عالٍ",
|
|
5176
|
+
"feature.contrast": "التباين",
|
|
5177
|
+
"feature.textSize": "نص أكبر",
|
|
5178
|
+
"feature.keyboardNav": "تنقل بلوحة المفاتيح",
|
|
5179
|
+
"feature.focusHighlight": "إبراز التركيز",
|
|
5180
|
+
"feature.linkHighlight": "إبراز الروابط",
|
|
5181
|
+
"feature.animationStop": "إيقاف الرسوم المتحركة",
|
|
5182
|
+
"feature.readingGuide": "دليل القراءة",
|
|
5183
|
+
"feature.readingMask": "قناع القراءة",
|
|
5184
|
+
"feature.hideImages": "إخفاء الصور",
|
|
5185
|
+
"feature.bigCursor": "مؤشر كبير",
|
|
5186
|
+
"feature.pageStructure": "بنية الصفحة",
|
|
5187
|
+
"feature.tts": "القراءة بصوت عالٍ",
|
|
5188
|
+
"feature.textSimplify": "تبسيط النص",
|
|
5189
|
+
"feature.altText": "إنشاء نص بديل",
|
|
5190
|
+
"feature.autoScan": "فحص WCAG"
|
|
5191
|
+
}),
|
|
5192
|
+
bn: withEnglish({
|
|
5193
|
+
"widget.title": "অ্যাক্সেসিবিলিটি",
|
|
5194
|
+
"widget.subtitle": "এই পাতায় কনট্রাস্ট, টেক্সট এবং নেভিগেশন ঠিক করুন",
|
|
5195
|
+
"widget.open": "অ্যাক্সেসিবিলিটি সেটিংস খুলুন",
|
|
5196
|
+
"widget.close": "বন্ধ করুন",
|
|
5197
|
+
"widget.reset": "সব রিসেট করুন",
|
|
5198
|
+
"widget.resetConfirm": "সব পরিবর্তন রিসেট হয়েছে",
|
|
5199
|
+
"widget.poweredBy": "Accessify-Widget দ্বারা চালিত",
|
|
5200
|
+
"widget.statement": "অ্যাক্সেসিবিলিটি বিবৃতি",
|
|
5201
|
+
"widget.language": "ভাষা",
|
|
5202
|
+
"status.active": "{count} টি সক্রিয়",
|
|
5203
|
+
"status.noActive": "কোনও সমন্বয় সক্রিয় নেই",
|
|
5204
|
+
"status.activated": "সক্রিয়",
|
|
5205
|
+
"status.deactivated": "নিষ্ক্রিয়",
|
|
5206
|
+
"section.essentials": "সবচেয়ে ব্যবহৃত",
|
|
5207
|
+
"section.essentials.desc": "কনট্রাস্ট, টেক্সট সাইজ এবং কিবোর্ড সহায়তা দিয়ে শুরু করুন।",
|
|
5208
|
+
"section.support": "পড়া ও নেভিগেশন",
|
|
5209
|
+
"section.support.desc": "ফোকাস, কম মুভমেন্ট এবং পেজ স্ট্রাকচারের টুল।",
|
|
5210
|
+
"section.ai": "AI সহায়তা",
|
|
5211
|
+
"section.ai.desc": "কনটেন্ট সহজ করুন, অল্ট টেক্সট তৈরি করুন এবং পেজ স্ক্যান করুন।",
|
|
5212
|
+
"control.mostUsed": "সবচেয়ে ব্যবহৃত",
|
|
5213
|
+
"control.chooseMode": "মোড বেছে নিন",
|
|
5214
|
+
"control.default": "ডিফল্ট",
|
|
5215
|
+
"contrast.mode.light": "লাইট কনট্রাস্ট",
|
|
5216
|
+
"contrast.mode.dark": "ডার্ক কনট্রাস্ট",
|
|
5217
|
+
"contrast.mode.high": "হাই কনট্রাস্ট",
|
|
5218
|
+
"feature.contrast": "কনট্রাস্ট",
|
|
5219
|
+
"feature.textSize": "বড় টেক্সট",
|
|
5220
|
+
"feature.keyboardNav": "কিবোর্ড নেভিগেশন",
|
|
5221
|
+
"feature.focusHighlight": "ফোকাস হাইলাইট",
|
|
5222
|
+
"feature.linkHighlight": "লিংক হাইলাইট",
|
|
5223
|
+
"feature.animationStop": "অ্যানিমেশন বন্ধ",
|
|
5224
|
+
"feature.readingGuide": "রিডিং গাইড",
|
|
5225
|
+
"feature.readingMask": "রিডিং মাস্ক",
|
|
5226
|
+
"feature.hideImages": "ছবি লুকান",
|
|
5227
|
+
"feature.bigCursor": "বড় কার্সর",
|
|
5228
|
+
"feature.pageStructure": "পেজ স্ট্রাকচার",
|
|
5229
|
+
"feature.tts": "জোরে পড়া",
|
|
5230
|
+
"feature.textSimplify": "টেক্সট সহজ করুন",
|
|
5231
|
+
"feature.altText": "অল্ট-টেক্সট তৈরি",
|
|
5232
|
+
"feature.autoScan": "WCAG স্ক্যান"
|
|
5233
|
+
}),
|
|
5234
|
+
pt: withEnglish({
|
|
5235
|
+
"widget.title": "Acessibilidade",
|
|
5236
|
+
"widget.subtitle": "Ajuste contraste, texto e navegacao nesta pagina",
|
|
5237
|
+
"widget.open": "Abrir configuracoes de acessibilidade",
|
|
5238
|
+
"widget.close": "Fechar",
|
|
5239
|
+
"widget.reset": "Redefinir tudo",
|
|
5240
|
+
"widget.resetConfirm": "Todos os ajustes foram redefinidos",
|
|
5241
|
+
"widget.poweredBy": "Desenvolvido por Accessify-Widget",
|
|
5242
|
+
"widget.statement": "Declaracao de acessibilidade",
|
|
5243
|
+
"widget.language": "Idioma",
|
|
5244
|
+
"status.active": "{count} ativas",
|
|
5245
|
+
"status.noActive": "Nenhum ajuste ativo",
|
|
5246
|
+
"status.activated": "ativado",
|
|
5247
|
+
"status.deactivated": "desativado",
|
|
5248
|
+
"section.essentials": "Mais usados",
|
|
5249
|
+
"section.essentials.desc": "Comece com contraste, tamanho do texto e apoio ao teclado.",
|
|
5250
|
+
"section.support": "Leitura e navegacao",
|
|
5251
|
+
"section.support.desc": "Ferramentas para foco, menos movimento e estrutura da pagina.",
|
|
5252
|
+
"section.ai": "Assistencia de IA",
|
|
5253
|
+
"section.ai.desc": "Simplifique conteudo, gere texto alternativo e analise a pagina atual.",
|
|
5254
|
+
"control.mostUsed": "Mais usados",
|
|
5255
|
+
"control.chooseMode": "Escolher modo",
|
|
5256
|
+
"control.default": "Padrao",
|
|
5257
|
+
"contrast.mode.light": "Contraste claro",
|
|
5258
|
+
"contrast.mode.dark": "Contraste escuro",
|
|
5259
|
+
"contrast.mode.high": "Alto contraste",
|
|
5260
|
+
"feature.contrast": "Contraste",
|
|
5261
|
+
"feature.textSize": "Texto maior",
|
|
5262
|
+
"feature.keyboardNav": "Navegacao por teclado",
|
|
5263
|
+
"feature.focusHighlight": "Destaque de foco",
|
|
5264
|
+
"feature.linkHighlight": "Destacar links",
|
|
5265
|
+
"feature.animationStop": "Parar animacoes",
|
|
5266
|
+
"feature.readingGuide": "Guia de leitura",
|
|
5267
|
+
"feature.readingMask": "Mascara de leitura",
|
|
5268
|
+
"feature.hideImages": "Ocultar imagens",
|
|
5269
|
+
"feature.bigCursor": "Cursor grande",
|
|
5270
|
+
"feature.pageStructure": "Estrutura da pagina",
|
|
5271
|
+
"feature.tts": "Leitura em voz alta",
|
|
5272
|
+
"feature.textSimplify": "Simplificar texto",
|
|
5273
|
+
"feature.altText": "Gerar texto alternativo",
|
|
5274
|
+
"feature.autoScan": "Varredura WCAG"
|
|
5275
|
+
}),
|
|
5276
|
+
ru: withEnglish({
|
|
5277
|
+
"widget.title": "Доступность",
|
|
5278
|
+
"widget.subtitle": "Настройте контраст, текст и навигацию на этой странице",
|
|
5279
|
+
"widget.open": "Открыть настройки доступности",
|
|
5280
|
+
"widget.close": "Закрыть",
|
|
5281
|
+
"widget.reset": "Сбросить все",
|
|
5282
|
+
"widget.resetConfirm": "Все настройки сброшены",
|
|
5283
|
+
"widget.poweredBy": "Работает на Accessify-Widget",
|
|
5284
|
+
"widget.statement": "Заявление о доступности",
|
|
5285
|
+
"widget.language": "Язык",
|
|
5286
|
+
"status.active": "Активно: {count}",
|
|
5287
|
+
"status.noActive": "Нет активных настроек",
|
|
5288
|
+
"status.activated": "включено",
|
|
5289
|
+
"status.deactivated": "выключено",
|
|
5290
|
+
"section.essentials": "Самое используемое",
|
|
5291
|
+
"section.essentials.desc": "Начните с контраста, размера текста и поддержки клавиатуры.",
|
|
5292
|
+
"section.support": "Чтение и навигация",
|
|
5293
|
+
"section.support.desc": "Инструменты для фокуса, уменьшения движения и структуры страницы.",
|
|
5294
|
+
"section.ai": "Помощь ИИ",
|
|
5295
|
+
"section.ai.desc": "Упрощайте текст, создавайте alt-текст и проверяйте текущую страницу.",
|
|
5296
|
+
"control.mostUsed": "Популярное",
|
|
5297
|
+
"control.chooseMode": "Выберите режим",
|
|
5298
|
+
"control.default": "По умолчанию",
|
|
5299
|
+
"contrast.mode.light": "Светлый контраст",
|
|
5300
|
+
"contrast.mode.dark": "Темный контраст",
|
|
5301
|
+
"contrast.mode.high": "Высокий контраст",
|
|
5302
|
+
"feature.contrast": "Контраст",
|
|
5303
|
+
"feature.textSize": "Крупный текст",
|
|
5304
|
+
"feature.keyboardNav": "Навигация с клавиатуры",
|
|
5305
|
+
"feature.focusHighlight": "Подсветка фокуса",
|
|
5306
|
+
"feature.linkHighlight": "Выделить ссылки",
|
|
5307
|
+
"feature.animationStop": "Остановить анимацию",
|
|
5308
|
+
"feature.readingGuide": "Линейка для чтения",
|
|
5309
|
+
"feature.readingMask": "Маска чтения",
|
|
5310
|
+
"feature.hideImages": "Скрыть изображения",
|
|
5311
|
+
"feature.bigCursor": "Большой курсор",
|
|
5312
|
+
"feature.pageStructure": "Структура страницы",
|
|
5313
|
+
"feature.tts": "Озвучивание",
|
|
5314
|
+
"feature.textSimplify": "Упростить текст",
|
|
5315
|
+
"feature.altText": "Создать alt-текст",
|
|
5316
|
+
"feature.autoScan": "Проверка WCAG"
|
|
5317
|
+
}),
|
|
5318
|
+
ur: withEnglish({
|
|
5319
|
+
"widget.title": "رسائی",
|
|
5320
|
+
"widget.subtitle": "اس صفحے پر کنٹراسٹ، متن اور نیویگیشن کو ایڈجسٹ کریں",
|
|
5321
|
+
"widget.open": "رسائی کی ترتیبات کھولیں",
|
|
5322
|
+
"widget.close": "بند کریں",
|
|
5323
|
+
"widget.reset": "سب ری سیٹ کریں",
|
|
5324
|
+
"widget.resetConfirm": "تمام تبدیلیاں ری سیٹ ہو گئیں",
|
|
5325
|
+
"widget.poweredBy": "Accessify-Widget کے ذریعے",
|
|
5326
|
+
"widget.statement": "رسائی کا بیان",
|
|
5327
|
+
"widget.language": "زبان",
|
|
5328
|
+
"status.active": "{count} فعال",
|
|
5329
|
+
"status.noActive": "کوئی تبدیلی فعال نہیں",
|
|
5330
|
+
"status.activated": "فعال",
|
|
5331
|
+
"status.deactivated": "غیر فعال",
|
|
5332
|
+
"section.essentials": "سب سے زیادہ استعمال",
|
|
5333
|
+
"section.essentials.desc": "کنٹراسٹ، متن کے سائز اور کی بورڈ مدد سے شروع کریں۔",
|
|
5334
|
+
"section.support": "مطالعہ اور نیویگیشن",
|
|
5335
|
+
"section.support.desc": "فوکس، کم حرکت اور صفحہ ساخت کے لیے ٹولز۔",
|
|
5336
|
+
"section.ai": "AI مدد",
|
|
5337
|
+
"section.ai.desc": "مواد آسان کریں، آلٹ ٹیکسٹ بنائیں اور موجودہ صفحہ اسکین کریں۔",
|
|
5338
|
+
"control.mostUsed": "زیادہ استعمال",
|
|
5339
|
+
"control.chooseMode": "موڈ منتخب کریں",
|
|
5340
|
+
"control.default": "ڈیفالٹ",
|
|
5341
|
+
"contrast.mode.light": "لائٹ کنٹراسٹ",
|
|
5342
|
+
"contrast.mode.dark": "ڈارک کنٹراسٹ",
|
|
5343
|
+
"contrast.mode.high": "ہائی کنٹراسٹ",
|
|
5344
|
+
"feature.contrast": "کنٹراسٹ",
|
|
5345
|
+
"feature.textSize": "بڑا متن",
|
|
5346
|
+
"feature.keyboardNav": "کی بورڈ نیویگیشن",
|
|
5347
|
+
"feature.focusHighlight": "فوکس ہائی لائٹ",
|
|
5348
|
+
"feature.linkHighlight": "لنکس نمایاں کریں",
|
|
5349
|
+
"feature.animationStop": "اینیمیشن روکیں",
|
|
5350
|
+
"feature.readingGuide": "مطالعہ گائیڈ",
|
|
5351
|
+
"feature.readingMask": "مطالعہ ماسک",
|
|
5352
|
+
"feature.hideImages": "تصاویر چھپائیں",
|
|
5353
|
+
"feature.bigCursor": "بڑا کرسر",
|
|
5354
|
+
"feature.pageStructure": "صفحہ ساخت",
|
|
5355
|
+
"feature.tts": "بلند آواز میں پڑھیں",
|
|
5356
|
+
"feature.textSimplify": "متن آسان کریں",
|
|
5357
|
+
"feature.altText": "آلٹ ٹیکسٹ بنائیں",
|
|
5358
|
+
"feature.autoScan": "WCAG اسکین"
|
|
5359
|
+
}),
|
|
5360
|
+
id: withEnglish({
|
|
5361
|
+
"widget.title": "Aksesibilitas",
|
|
5362
|
+
"widget.subtitle": "Atur kontras, teks, dan navigasi di halaman ini",
|
|
5363
|
+
"widget.open": "Buka pengaturan aksesibilitas",
|
|
5364
|
+
"widget.close": "Tutup",
|
|
5365
|
+
"widget.reset": "Reset semua",
|
|
5366
|
+
"widget.resetConfirm": "Semua penyesuaian telah direset",
|
|
5367
|
+
"widget.poweredBy": "Didukung oleh Accessify-Widget",
|
|
5368
|
+
"widget.statement": "Pernyataan aksesibilitas",
|
|
5369
|
+
"widget.language": "Bahasa",
|
|
5370
|
+
"status.active": "{count} aktif",
|
|
5371
|
+
"status.noActive": "Tidak ada penyesuaian aktif",
|
|
5372
|
+
"status.activated": "aktif",
|
|
5373
|
+
"status.deactivated": "nonaktif",
|
|
5374
|
+
"section.essentials": "Paling sering dipakai",
|
|
5375
|
+
"section.essentials.desc": "Mulai dari kontras, ukuran teks, dan dukungan keyboard.",
|
|
5376
|
+
"section.support": "Membaca dan navigasi",
|
|
5377
|
+
"section.support.desc": "Alat untuk fokus, gerakan rendah, dan struktur halaman.",
|
|
5378
|
+
"section.ai": "Bantuan AI",
|
|
5379
|
+
"section.ai.desc": "Sederhanakan konten, buat alt text, dan pindai halaman saat ini.",
|
|
5380
|
+
"control.mostUsed": "Paling sering",
|
|
5381
|
+
"control.chooseMode": "Pilih mode",
|
|
5382
|
+
"control.default": "Default",
|
|
5383
|
+
"contrast.mode.light": "Kontras terang",
|
|
5384
|
+
"contrast.mode.dark": "Kontras gelap",
|
|
5385
|
+
"contrast.mode.high": "Kontras tinggi",
|
|
5386
|
+
"feature.contrast": "Kontras",
|
|
5387
|
+
"feature.textSize": "Teks lebih besar",
|
|
5388
|
+
"feature.keyboardNav": "Navigasi keyboard",
|
|
5389
|
+
"feature.focusHighlight": "Sorot fokus",
|
|
5390
|
+
"feature.linkHighlight": "Sorot tautan",
|
|
5391
|
+
"feature.animationStop": "Hentikan animasi",
|
|
5392
|
+
"feature.readingGuide": "Panduan baca",
|
|
5393
|
+
"feature.readingMask": "Masker baca",
|
|
5394
|
+
"feature.hideImages": "Sembunyikan gambar",
|
|
5395
|
+
"feature.bigCursor": "Kursor besar",
|
|
5396
|
+
"feature.pageStructure": "Struktur halaman",
|
|
5397
|
+
"feature.tts": "Bacakan",
|
|
5398
|
+
"feature.textSimplify": "Sederhanakan teks",
|
|
5399
|
+
"feature.altText": "Buat alt-text",
|
|
5400
|
+
"feature.autoScan": "Pindai WCAG"
|
|
5401
|
+
}),
|
|
5402
|
+
ja: withEnglish({
|
|
5403
|
+
"widget.title": "アクセシビリティ",
|
|
5404
|
+
"widget.subtitle": "このページのコントラスト、文字、ナビゲーションを調整します",
|
|
5405
|
+
"widget.open": "アクセシビリティ設定を開く",
|
|
5406
|
+
"widget.close": "閉じる",
|
|
5407
|
+
"widget.reset": "すべてリセット",
|
|
5408
|
+
"widget.resetConfirm": "すべての調整をリセットしました",
|
|
5409
|
+
"widget.poweredBy": "Accessify-Widget 提供",
|
|
5410
|
+
"widget.statement": "アクセシビリティ宣言",
|
|
5411
|
+
"widget.language": "言語",
|
|
5412
|
+
"status.active": "{count} 件が有効",
|
|
5413
|
+
"status.noActive": "有効な調整はありません",
|
|
5414
|
+
"status.activated": "有効",
|
|
5415
|
+
"status.deactivated": "無効",
|
|
5416
|
+
"section.essentials": "よく使う設定",
|
|
5417
|
+
"section.essentials.desc": "まずはコントラスト、文字サイズ、キーボード支援から始めてください。",
|
|
5418
|
+
"section.support": "読みやすさとナビゲーション",
|
|
5419
|
+
"section.support.desc": "フォーカス、動きの抑制、ページ構造のためのツールです。",
|
|
5420
|
+
"section.ai": "AI 支援",
|
|
5421
|
+
"section.ai.desc": "文章を簡単にし、代替テキストを生成し、現在のページを確認します。",
|
|
5422
|
+
"control.mostUsed": "よく使う",
|
|
5423
|
+
"control.chooseMode": "モードを選択",
|
|
5424
|
+
"control.default": "標準",
|
|
5425
|
+
"contrast.mode.light": "ライトコントラスト",
|
|
5426
|
+
"contrast.mode.dark": "ダークコントラスト",
|
|
5427
|
+
"contrast.mode.high": "ハイコントラスト",
|
|
5428
|
+
"feature.contrast": "コントラスト",
|
|
5429
|
+
"feature.textSize": "大きな文字",
|
|
5430
|
+
"feature.keyboardNav": "キーボード操作",
|
|
5431
|
+
"feature.focusHighlight": "フォーカス強調",
|
|
5432
|
+
"feature.linkHighlight": "リンク強調",
|
|
5433
|
+
"feature.animationStop": "アニメーション停止",
|
|
5434
|
+
"feature.readingGuide": "読書ガイド",
|
|
5435
|
+
"feature.readingMask": "読書マスク",
|
|
5436
|
+
"feature.hideImages": "画像を隠す",
|
|
5437
|
+
"feature.bigCursor": "大きいカーソル",
|
|
5438
|
+
"feature.pageStructure": "ページ構造",
|
|
5439
|
+
"feature.tts": "読み上げ",
|
|
5440
|
+
"feature.textSimplify": "文章を簡単にする",
|
|
5441
|
+
"feature.altText": "代替テキスト生成",
|
|
5442
|
+
"feature.autoScan": "WCAG スキャン"
|
|
5443
|
+
}),
|
|
5444
|
+
pcm: withEnglish({
|
|
5445
|
+
"widget.title": "Accessibility",
|
|
5446
|
+
"widget.subtitle": "Adjust contrast, text and navigation for dis page",
|
|
5447
|
+
"widget.open": "Open accessibility settings",
|
|
5448
|
+
"widget.close": "Close",
|
|
5449
|
+
"widget.reset": "Reset all",
|
|
5450
|
+
"widget.resetConfirm": "All adjustments don reset",
|
|
5451
|
+
"widget.poweredBy": "Powered by Accessify-Widget",
|
|
5452
|
+
"widget.statement": "Accessibility statement",
|
|
5453
|
+
"widget.language": "Language",
|
|
5454
|
+
"status.active": "{count} active",
|
|
5455
|
+
"status.noActive": "No adjustment dey active",
|
|
5456
|
+
"status.activated": "activated",
|
|
5457
|
+
"status.deactivated": "deactivated",
|
|
5458
|
+
"section.essentials": "Wetin people use pass",
|
|
5459
|
+
"section.essentials.desc": "Start with contrast, text size and keyboard support.",
|
|
5460
|
+
"section.support": "Reading and navigation",
|
|
5461
|
+
"section.support.desc": "Tools for focus, reduced motion and page structure.",
|
|
5462
|
+
"section.ai": "AI help",
|
|
5463
|
+
"section.ai.desc": "Simplify content, generate alt text and scan dis page.",
|
|
5464
|
+
"control.mostUsed": "Most used",
|
|
5465
|
+
"control.chooseMode": "Choose mode",
|
|
5466
|
+
"control.default": "Default",
|
|
5467
|
+
"contrast.mode.light": "Light contrast",
|
|
5468
|
+
"contrast.mode.dark": "Dark contrast",
|
|
5469
|
+
"contrast.mode.high": "High contrast",
|
|
5470
|
+
"feature.contrast": "Contrast",
|
|
5471
|
+
"feature.textSize": "Bigger text",
|
|
5472
|
+
"feature.keyboardNav": "Keyboard navigation",
|
|
5473
|
+
"feature.focusHighlight": "Focus highlight",
|
|
5474
|
+
"feature.linkHighlight": "Highlight links",
|
|
5475
|
+
"feature.animationStop": "Stop animations",
|
|
5476
|
+
"feature.readingGuide": "Reading guide",
|
|
5477
|
+
"feature.readingMask": "Reading mask",
|
|
5478
|
+
"feature.hideImages": "Hide images",
|
|
5479
|
+
"feature.bigCursor": "Big cursor",
|
|
5480
|
+
"feature.pageStructure": "Page structure",
|
|
5481
|
+
"feature.tts": "Read aloud",
|
|
5482
|
+
"feature.textSimplify": "Simplify text",
|
|
5483
|
+
"feature.altText": "Generate alt-text",
|
|
5484
|
+
"feature.autoScan": "WCAG scan"
|
|
5485
|
+
}),
|
|
5486
|
+
mr: withEnglish({
|
|
5487
|
+
"widget.title": "प्रवेशयोग्यता",
|
|
5488
|
+
"widget.subtitle": "या पानावर कॉन्ट्रास्ट, मजकूर आणि नेव्हिगेशन समायोजित करा",
|
|
5489
|
+
"widget.open": "प्रवेशयोग्यता सेटिंग्ज उघडा",
|
|
5490
|
+
"widget.close": "बंद करा",
|
|
5491
|
+
"widget.reset": "सर्व रीसेट करा",
|
|
5492
|
+
"widget.resetConfirm": "सर्व बदल रीसेट झाले",
|
|
5493
|
+
"widget.poweredBy": "Accessify-Widget द्वारे समर्थित",
|
|
5494
|
+
"widget.statement": "प्रवेशयोग्यता निवेदन",
|
|
5495
|
+
"widget.language": "भाषा",
|
|
5496
|
+
"status.active": "{count} सक्रिय",
|
|
5497
|
+
"status.noActive": "कोणतेही बदल सक्रिय नाहीत",
|
|
5498
|
+
"status.activated": "सक्रिय",
|
|
5499
|
+
"status.deactivated": "निष्क्रिय",
|
|
5500
|
+
"section.essentials": "सर्वात जास्त वापरलेले",
|
|
5501
|
+
"section.essentials.desc": "कॉन्ट्रास्ट, मजकूर आकार आणि कीबोर्ड सहाय्यापासून सुरुवात करा.",
|
|
5502
|
+
"section.support": "वाचन आणि नेव्हिगेशन",
|
|
5503
|
+
"section.support.desc": "फोकस, कमी हालचाल आणि पृष्ठरचना यासाठी साधने.",
|
|
5504
|
+
"section.ai": "AI मदत",
|
|
5505
|
+
"section.ai.desc": "मजकूर सोपा करा, alt-text तयार करा आणि हे पान स्कॅन करा.",
|
|
5506
|
+
"control.mostUsed": "सर्वाधिक वापरलेले",
|
|
5507
|
+
"control.chooseMode": "मोड निवडा",
|
|
5508
|
+
"control.default": "डीफॉल्ट",
|
|
5509
|
+
"contrast.mode.light": "लाईट कॉन्ट्रास्ट",
|
|
5510
|
+
"contrast.mode.dark": "डार्क कॉन्ट्रास्ट",
|
|
5511
|
+
"contrast.mode.high": "हाय कॉन्ट्रास्ट",
|
|
5512
|
+
"feature.contrast": "कॉन्ट्रास्ट",
|
|
5513
|
+
"feature.textSize": "मोठा मजकूर",
|
|
5514
|
+
"feature.keyboardNav": "कीबोर्ड नेव्हिगेशन",
|
|
5515
|
+
"feature.focusHighlight": "फोकस हायलाइट",
|
|
5516
|
+
"feature.linkHighlight": "लिंक हायलाइट",
|
|
5517
|
+
"feature.animationStop": "अॅनिमेशन थांबवा",
|
|
5518
|
+
"feature.readingGuide": "वाचन मार्गदर्शक",
|
|
5519
|
+
"feature.readingMask": "वाचन मास्क",
|
|
5520
|
+
"feature.hideImages": "प्रतिमा लपवा",
|
|
5521
|
+
"feature.bigCursor": "मोठा कर्सर",
|
|
5522
|
+
"feature.pageStructure": "पृष्ठरचना",
|
|
5523
|
+
"feature.tts": "मोठ्याने वाचा",
|
|
5524
|
+
"feature.textSimplify": "मजकूर सोपा करा",
|
|
5525
|
+
"feature.altText": "alt-text तयार करा",
|
|
5526
|
+
"feature.autoScan": "WCAG स्कॅन"
|
|
5527
|
+
}),
|
|
5528
|
+
te: withEnglish({
|
|
5529
|
+
"widget.title": "అందుబాటు",
|
|
5530
|
+
"widget.subtitle": "ఈ పేజీలో కాంట్రాస్ట్, టెక్స్ట్ మరియు నావిగేషన్ను సర్దుబాటు చేయండి",
|
|
5531
|
+
"widget.open": "అందుబాటు సెట్టింగ్స్ తెరువు",
|
|
5532
|
+
"widget.close": "మూసివేయి",
|
|
5533
|
+
"widget.reset": "అన్నీ రీసెట్ చేయి",
|
|
5534
|
+
"widget.resetConfirm": "అన్ని మార్పులు రీసెట్ అయ్యాయి",
|
|
5535
|
+
"widget.poweredBy": "Accessify-Widget ద్వారా",
|
|
5536
|
+
"widget.statement": "అందుబాటు ప్రకటన",
|
|
5537
|
+
"widget.language": "భాష",
|
|
5538
|
+
"status.active": "{count} సక్రియం",
|
|
5539
|
+
"status.noActive": "ఏ మార్పూ సక్రియంగా లేదు",
|
|
5540
|
+
"status.activated": "సక్రియం",
|
|
5541
|
+
"status.deactivated": "నిష్క్రియం",
|
|
5542
|
+
"section.essentials": "ఎక్కువగా ఉపయోగించేవి",
|
|
5543
|
+
"section.essentials.desc": "కాంట్రాస్ట్, టెక్స్ట్ సైజు మరియు కీబోర్డ్ సహాయంతో మొదలుపెట్టండి.",
|
|
5544
|
+
"section.support": "చదువు మరియు నావిగేషన్",
|
|
5545
|
+
"section.support.desc": "ఫోకస్, తక్కువ మోషన్ మరియు పేజీ నిర్మాణానికి టూల్స్.",
|
|
5546
|
+
"section.ai": "AI సహాయం",
|
|
5547
|
+
"section.ai.desc": "కంటెంట్ను సులభతరం చేయండి, alt-text తయారు చేయండి, ఈ పేజీని స్కాన్ చేయండి.",
|
|
5548
|
+
"control.mostUsed": "ఎక్కువ ఉపయోగం",
|
|
5549
|
+
"control.chooseMode": "మోడ్ ఎంచుకోండి",
|
|
5550
|
+
"control.default": "డిఫాల్ట్",
|
|
5551
|
+
"contrast.mode.light": "లైట్ కాంట్రాస్ట్",
|
|
5552
|
+
"contrast.mode.dark": "డార్క్ కాంట్రాస్ట్",
|
|
5553
|
+
"contrast.mode.high": "హై కాంట్రాస్ట్",
|
|
5554
|
+
"feature.contrast": "కాంట్రాస్ట్",
|
|
5555
|
+
"feature.textSize": "పెద్ద టెక్స్ట్",
|
|
5556
|
+
"feature.keyboardNav": "కీబోర్డ్ నావిగేషన్",
|
|
5557
|
+
"feature.focusHighlight": "ఫోకస్ హైలైట్",
|
|
5558
|
+
"feature.linkHighlight": "లింక్ హైలైట్",
|
|
5559
|
+
"feature.animationStop": "యానిమేషన్స్ ఆపండి",
|
|
5560
|
+
"feature.readingGuide": "రీడింగ్ గైడ్",
|
|
5561
|
+
"feature.readingMask": "రీడింగ్ మాస్క్",
|
|
5562
|
+
"feature.hideImages": "చిత్రాలు దాచు",
|
|
5563
|
+
"feature.bigCursor": "పెద్ద కర్సర్",
|
|
5564
|
+
"feature.pageStructure": "పేజీ నిర్మాణం",
|
|
5565
|
+
"feature.tts": "గట్టిగా చదవండి",
|
|
5566
|
+
"feature.textSimplify": "టెక్స్ట్ సులభతరం చేయి",
|
|
5567
|
+
"feature.altText": "alt-text రూపొందించు",
|
|
5568
|
+
"feature.autoScan": "WCAG స్కాన్"
|
|
5569
|
+
}),
|
|
5570
|
+
tr: withEnglish({
|
|
5571
|
+
"widget.title": "Erisilebilirlik",
|
|
5572
|
+
"widget.subtitle": "Bu sayfada kontrast, metin ve gezinmeyi ayarlayin",
|
|
5573
|
+
"widget.open": "Erisilebilirlik ayarlarini ac",
|
|
5574
|
+
"widget.close": "Kapat",
|
|
5575
|
+
"widget.reset": "Tumunu sifirla",
|
|
5576
|
+
"widget.resetConfirm": "Tum ayarlar sifirlandi",
|
|
5577
|
+
"widget.poweredBy": "Accessify-Widget ile calisir",
|
|
5578
|
+
"widget.statement": "Erisilebilirlik bildirimi",
|
|
5579
|
+
"widget.language": "Dil",
|
|
5580
|
+
"status.active": "{count} etkin",
|
|
5581
|
+
"status.noActive": "Etkin ayar yok",
|
|
5582
|
+
"status.activated": "etkin",
|
|
5583
|
+
"status.deactivated": "devre disi",
|
|
5584
|
+
"section.essentials": "En cok kullanilanlar",
|
|
5585
|
+
"section.essentials.desc": "Kontrast, yazi boyutu ve klavye destegi ile baslayin.",
|
|
5586
|
+
"section.support": "Okuma ve gezinme",
|
|
5587
|
+
"section.support.desc": "Odak, azaltulmis hareket ve sayfa yapisi icin araclar.",
|
|
5588
|
+
"section.ai": "YZ yardimi",
|
|
5589
|
+
"section.ai.desc": "Icerigi sadeletir, alt metin olusturur ve mevcut sayfayi tarar.",
|
|
5590
|
+
"control.mostUsed": "En cok kullanilan",
|
|
5591
|
+
"control.chooseMode": "Mod sec",
|
|
5592
|
+
"control.default": "Varsayilan",
|
|
5593
|
+
"contrast.mode.light": "Acik kontrast",
|
|
5594
|
+
"contrast.mode.dark": "Koyu kontrast",
|
|
5595
|
+
"contrast.mode.high": "Yuksek kontrast",
|
|
5596
|
+
"feature.contrast": "Kontrast",
|
|
5597
|
+
"feature.textSize": "Buyuk metin",
|
|
5598
|
+
"feature.keyboardNav": "Klavye gezintisi",
|
|
5599
|
+
"feature.focusHighlight": "Odak vurgusu",
|
|
5600
|
+
"feature.linkHighlight": "Baglantilari vurgula",
|
|
5601
|
+
"feature.animationStop": "Animasyonlari durdur",
|
|
5602
|
+
"feature.readingGuide": "Okuma kilavuzu",
|
|
5603
|
+
"feature.readingMask": "Okuma maskesi",
|
|
5604
|
+
"feature.hideImages": "Gorselleri gizle",
|
|
5605
|
+
"feature.bigCursor": "Buyuk imlec",
|
|
5606
|
+
"feature.pageStructure": "Sayfa yapisi",
|
|
5607
|
+
"feature.tts": "Sesli oku",
|
|
5608
|
+
"feature.textSimplify": "Metni sadeletir",
|
|
5609
|
+
"feature.altText": "Alt metin olustur",
|
|
5610
|
+
"feature.autoScan": "WCAG taramasi"
|
|
5611
|
+
}),
|
|
5612
|
+
ta: withEnglish({
|
|
5613
|
+
"widget.title": "அணுகல்திறன்",
|
|
5614
|
+
"widget.subtitle": "இந்த பக்கத்தில் எதிரொலி, உரை மற்றும் வழிசெலுத்தலை மாற்றுங்கள்",
|
|
5615
|
+
"widget.open": "அணுகல்திறன் அமைப்புகளை திறக்கவும்",
|
|
5616
|
+
"widget.close": "மூடு",
|
|
5617
|
+
"widget.reset": "அனைத்தையும் மீட்டமை",
|
|
5618
|
+
"widget.resetConfirm": "அனைத்து மாற்றங்களும் மீட்டமைக்கப்பட்டன",
|
|
5619
|
+
"widget.poweredBy": "Accessify-Widget மூலம்",
|
|
5620
|
+
"widget.statement": "அணுகல்திறன் அறிக்கை",
|
|
5621
|
+
"widget.language": "மொழி",
|
|
5622
|
+
"status.active": "{count} செயலில்",
|
|
5623
|
+
"status.noActive": "செயலில் மாற்றங்கள் இல்லை",
|
|
5624
|
+
"status.activated": "செயலில்",
|
|
5625
|
+
"status.deactivated": "செயலற்றது",
|
|
5626
|
+
"section.essentials": "அதிகம் பயன்படுத்தப்படும்",
|
|
5627
|
+
"section.essentials.desc": "எதிரொலி, எழுத்து அளவு மற்றும் விசைப்பலகை உதவியுடன் தொடங்குங்கள்.",
|
|
5628
|
+
"section.support": "வாசிப்பு மற்றும் வழிசெலுத்தல்",
|
|
5629
|
+
"section.support.desc": "கவனம், குறைந்த இயக்கம் மற்றும் பக்க அமைப்புக்கான கருவிகள்.",
|
|
5630
|
+
"section.ai": "AI உதவி",
|
|
5631
|
+
"section.ai.desc": "உள்ளடக்கத்தை எளிமைப்படுத்தி, alt-text உருவாக்கி, இந்த பக்கத்தை ஸ்கேன் செய்யுங்கள்.",
|
|
5632
|
+
"control.mostUsed": "அதிகம் பயன்படுத்தப்படும்",
|
|
5633
|
+
"control.chooseMode": "முறையை தேர்வு செய்",
|
|
5634
|
+
"control.default": "இயல்புநிலை",
|
|
5635
|
+
"contrast.mode.light": "ஒளி எதிரொலி",
|
|
5636
|
+
"contrast.mode.dark": "இருண்ட எதிரொலி",
|
|
5637
|
+
"contrast.mode.high": "உயர் எதிரொலி",
|
|
5638
|
+
"feature.contrast": "எதிரொலி",
|
|
5639
|
+
"feature.textSize": "பெரிய எழுத்து",
|
|
5640
|
+
"feature.keyboardNav": "விசைப்பலகை வழிசெலுத்தல்",
|
|
5641
|
+
"feature.focusHighlight": "கவனத்தை வெளிப்படுத்து",
|
|
5642
|
+
"feature.linkHighlight": "இணைப்புகளை வெளிப்படுத்து",
|
|
5643
|
+
"feature.animationStop": "அனிமேஷனை நிறுத்து",
|
|
5644
|
+
"feature.readingGuide": "வாசிப்பு வழிகாட்டி",
|
|
5645
|
+
"feature.readingMask": "வாசிப்பு மறைப்பு",
|
|
5646
|
+
"feature.hideImages": "படங்களை மறை",
|
|
5647
|
+
"feature.bigCursor": "பெரிய கர்சர்",
|
|
5648
|
+
"feature.pageStructure": "பக்க அமைப்பு",
|
|
5649
|
+
"feature.tts": "சத்தமாக வாசி",
|
|
5650
|
+
"feature.textSimplify": "உரையை எளிமைப்படுத்து",
|
|
5651
|
+
"feature.altText": "alt-text உருவாக்கு",
|
|
5652
|
+
"feature.autoScan": "WCAG ஸ்கேன்"
|
|
5653
|
+
}),
|
|
5654
|
+
vi: withEnglish({
|
|
5655
|
+
"widget.title": "Tro nang truy cap",
|
|
5656
|
+
"widget.subtitle": "Dieu chinh tuong phan, van ban va dieu huong tren trang nay",
|
|
5657
|
+
"widget.open": "Mo cai dat tro nang truy cap",
|
|
5658
|
+
"widget.close": "Dong",
|
|
5659
|
+
"widget.reset": "Dat lai tat ca",
|
|
5660
|
+
"widget.resetConfirm": "Da dat lai moi dieu chinh",
|
|
5661
|
+
"widget.poweredBy": "Van hanh boi Accessify-Widget",
|
|
5662
|
+
"widget.statement": "Tuyen bo tro nang truy cap",
|
|
5663
|
+
"widget.language": "Ngon ngu",
|
|
5664
|
+
"status.active": "{count} muc dang bat",
|
|
5665
|
+
"status.noActive": "Khong co dieu chinh nao dang bat",
|
|
5666
|
+
"status.activated": "da bat",
|
|
5667
|
+
"status.deactivated": "da tat",
|
|
5668
|
+
"section.essentials": "Dung nhieu nhat",
|
|
5669
|
+
"section.essentials.desc": "Bat dau voi tuong phan, co chu va ho tro ban phim.",
|
|
5670
|
+
"section.support": "Doc va dieu huong",
|
|
5671
|
+
"section.support.desc": "Cong cu cho tap trung, giam chuyen dong va cau truc trang.",
|
|
5672
|
+
"section.ai": "Ho tro AI",
|
|
5673
|
+
"section.ai.desc": "Don gian hoa noi dung, tao alt-text va quet trang hien tai.",
|
|
5674
|
+
"control.mostUsed": "Pho bien",
|
|
5675
|
+
"control.chooseMode": "Chon che do",
|
|
5676
|
+
"control.default": "Mac dinh",
|
|
5677
|
+
"contrast.mode.light": "Tuong phan sang",
|
|
5678
|
+
"contrast.mode.dark": "Tuong phan toi",
|
|
5679
|
+
"contrast.mode.high": "Tuong phan cao",
|
|
5680
|
+
"feature.contrast": "Tuong phan",
|
|
5681
|
+
"feature.textSize": "Chu lon hon",
|
|
5682
|
+
"feature.keyboardNav": "Dieu huong ban phim",
|
|
5683
|
+
"feature.focusHighlight": "Noi bat tieu diem",
|
|
5684
|
+
"feature.linkHighlight": "Noi bat lien ket",
|
|
5685
|
+
"feature.animationStop": "Dung hieu ung",
|
|
5686
|
+
"feature.readingGuide": "Thuoc doc",
|
|
5687
|
+
"feature.readingMask": "Mat na doc",
|
|
5688
|
+
"feature.hideImages": "An hinh anh",
|
|
5689
|
+
"feature.bigCursor": "Con tro lon",
|
|
5690
|
+
"feature.pageStructure": "Cau truc trang",
|
|
5691
|
+
"feature.tts": "Doc thanh tieng",
|
|
5692
|
+
"feature.textSimplify": "Don gian hoa van ban",
|
|
5693
|
+
"feature.altText": "Tao alt-text",
|
|
5694
|
+
"feature.autoScan": "Quet WCAG"
|
|
5695
|
+
}),
|
|
5696
|
+
ko: withEnglish({
|
|
5697
|
+
"widget.title": "접근성",
|
|
5698
|
+
"widget.subtitle": "이 페이지의 대비, 텍스트, 내비게이션을 조정하세요",
|
|
5699
|
+
"widget.open": "접근성 설정 열기",
|
|
5700
|
+
"widget.close": "닫기",
|
|
5701
|
+
"widget.reset": "모두 재설정",
|
|
5702
|
+
"widget.resetConfirm": "모든 조정이 재설정되었습니다",
|
|
5703
|
+
"widget.poweredBy": "Accessify-Widget 제공",
|
|
5704
|
+
"widget.statement": "접근성 안내문",
|
|
5705
|
+
"widget.language": "언어",
|
|
5706
|
+
"status.active": "{count}개 활성",
|
|
5707
|
+
"status.noActive": "활성화된 조정이 없습니다",
|
|
5708
|
+
"status.activated": "활성화됨",
|
|
5709
|
+
"status.deactivated": "비활성화됨",
|
|
5710
|
+
"section.essentials": "가장 많이 사용됨",
|
|
5711
|
+
"section.essentials.desc": "대비, 글자 크기, 키보드 지원부터 시작하세요.",
|
|
5712
|
+
"section.support": "읽기 및 내비게이션",
|
|
5713
|
+
"section.support.desc": "초점, 움직임 감소, 페이지 구조를 위한 도구입니다.",
|
|
5714
|
+
"section.ai": "AI 지원",
|
|
5715
|
+
"section.ai.desc": "콘텐츠를 쉽게 만들고 대체 텍스트를 생성하며 현재 페이지를 검사합니다.",
|
|
5716
|
+
"control.mostUsed": "가장 많이 사용됨",
|
|
5717
|
+
"control.chooseMode": "모드 선택",
|
|
5718
|
+
"control.default": "기본값",
|
|
5719
|
+
"contrast.mode.light": "라이트 대비",
|
|
5720
|
+
"contrast.mode.dark": "다크 대비",
|
|
5721
|
+
"contrast.mode.high": "고대비",
|
|
5722
|
+
"feature.contrast": "대비",
|
|
5723
|
+
"feature.textSize": "큰 글자",
|
|
5724
|
+
"feature.keyboardNav": "키보드 내비게이션",
|
|
5725
|
+
"feature.focusHighlight": "포커스 강조",
|
|
5726
|
+
"feature.linkHighlight": "링크 강조",
|
|
5727
|
+
"feature.animationStop": "애니메이션 중지",
|
|
5728
|
+
"feature.readingGuide": "읽기 가이드",
|
|
5729
|
+
"feature.readingMask": "읽기 마스크",
|
|
5730
|
+
"feature.hideImages": "이미지 숨기기",
|
|
5731
|
+
"feature.bigCursor": "큰 커서",
|
|
5732
|
+
"feature.pageStructure": "페이지 구조",
|
|
5733
|
+
"feature.tts": "소리 내어 읽기",
|
|
5734
|
+
"feature.textSimplify": "텍스트 단순화",
|
|
5735
|
+
"feature.altText": "대체 텍스트 생성",
|
|
5736
|
+
"feature.autoScan": "WCAG 검사"
|
|
5737
|
+
})
|
|
5738
|
+
};
|
|
5739
|
+
const LANGUAGE_OPTIONS = [
|
|
5740
|
+
{ code: "en", label: "English" },
|
|
5741
|
+
{ code: "zh", label: "中文" },
|
|
5742
|
+
{ code: "hi", label: "हिन्दी" },
|
|
5743
|
+
{ code: "es", label: "Español" },
|
|
5744
|
+
{ code: "fr", label: "Français" },
|
|
5745
|
+
{ code: "ar", label: "العربية" },
|
|
5746
|
+
{ code: "bn", label: "বাংলা" },
|
|
5747
|
+
{ code: "pt", label: "Português" },
|
|
5748
|
+
{ code: "ru", label: "Русский" },
|
|
5749
|
+
{ code: "ur", label: "اردو" },
|
|
5750
|
+
{ code: "id", label: "Bahasa Indonesia" },
|
|
5751
|
+
{ code: "de", label: "Deutsch" },
|
|
5752
|
+
{ code: "ja", label: "日本語" },
|
|
5753
|
+
{ code: "pcm", label: "Naijá" },
|
|
5754
|
+
{ code: "mr", label: "मराठी" },
|
|
5755
|
+
{ code: "te", label: "తెలుగు" },
|
|
5756
|
+
{ code: "tr", label: "Türkçe" },
|
|
5757
|
+
{ code: "ta", label: "தமிழ்" },
|
|
5758
|
+
{ code: "vi", label: "Tiếng Việt" },
|
|
5759
|
+
{ code: "ko", label: "한국어" }
|
|
5760
|
+
];
|
|
5761
|
+
const RTL_LANGS = /* @__PURE__ */ new Set(["ar", "ur"]);
|
|
5762
|
+
let currentWidgetLang = "en";
|
|
4853
5763
|
function getSupportedLang(lang) {
|
|
4854
5764
|
if (!lang) return "en";
|
|
4855
|
-
const normalized = lang.toLowerCase()
|
|
4856
|
-
|
|
5765
|
+
const normalized = lang.toLowerCase();
|
|
5766
|
+
if (locales[normalized]) return normalized;
|
|
5767
|
+
const base = normalized.split("-")[0];
|
|
5768
|
+
return locales[base] ? base : "en";
|
|
5769
|
+
}
|
|
5770
|
+
function setCurrentWidgetLang(lang) {
|
|
5771
|
+
currentWidgetLang = getSupportedLang(lang);
|
|
5772
|
+
}
|
|
5773
|
+
function getCurrentWidgetLang() {
|
|
5774
|
+
return currentWidgetLang;
|
|
5775
|
+
}
|
|
5776
|
+
function isRtlLang(lang) {
|
|
5777
|
+
return RTL_LANGS.has(getSupportedLang(lang));
|
|
4857
5778
|
}
|
|
4858
5779
|
function t(key, lang = "en") {
|
|
4859
5780
|
const resolved = getSupportedLang(lang);
|
|
4860
|
-
return locales[resolved]?.[key] ||
|
|
5781
|
+
return locales[resolved]?.[key] || EN_BASE[key] || key;
|
|
4861
5782
|
}
|
|
4862
5783
|
var root$5 = /* @__PURE__ */ from_html(`<button class="accessify-trigger"></button>`);
|
|
4863
5784
|
function TriggerButton($$anchor, $$props) {
|
|
@@ -4882,72 +5803,105 @@ function TriggerButton($$anchor, $$props) {
|
|
|
4882
5803
|
pop();
|
|
4883
5804
|
}
|
|
4884
5805
|
delegate(["click"]);
|
|
4885
|
-
var
|
|
4886
|
-
var
|
|
5806
|
+
var root_2$1 = /* @__PURE__ */ from_html(`<option> </option>`);
|
|
5807
|
+
var root_1$3 = /* @__PURE__ */ from_html(`<label class="accessify-language-picker"><span class="sr-only"> </span> <span class="accessify-language-icon" aria-hidden="true"></span> <select class="accessify-language-select"></select></label>`);
|
|
5808
|
+
var root$4 = /* @__PURE__ */ from_html(`<div class="accessify-header"><div class="accessify-header-copy"><span class="accessify-header-kicker"> </span> <div class="accessify-header-title"><h2> </h2> <p> </p></div></div> <div class="accessify-header-toolbar"><!> <div class="accessify-header-actions"><button class="accessify-header-btn"><!> <span> </span></button> <button class="accessify-header-btn accessify-header-btn--icon"></button></div></div></div>`);
|
|
4887
5809
|
function PanelHeader($$anchor, $$props) {
|
|
4888
5810
|
push($$props, true);
|
|
4889
5811
|
let lang = prop($$props, "lang", 3, "en");
|
|
4890
|
-
function
|
|
4891
|
-
const
|
|
4892
|
-
$$props.onlangchange?.(
|
|
5812
|
+
function handleLanguageChange(event2) {
|
|
5813
|
+
const target = event2.currentTarget;
|
|
5814
|
+
$$props.onlangchange?.(target.value);
|
|
4893
5815
|
}
|
|
4894
5816
|
var div = root$4();
|
|
4895
|
-
var
|
|
4896
|
-
var
|
|
4897
|
-
var
|
|
4898
|
-
var
|
|
5817
|
+
var div_1 = child(div);
|
|
5818
|
+
var span = child(div_1);
|
|
5819
|
+
var text = child(span);
|
|
5820
|
+
var div_2 = sibling(span, 2);
|
|
5821
|
+
var h2 = child(div_2);
|
|
5822
|
+
var text_1 = child(h2);
|
|
5823
|
+
var p = sibling(h2, 2);
|
|
5824
|
+
var text_2 = child(p);
|
|
5825
|
+
var div_3 = sibling(div_1, 2);
|
|
5826
|
+
var node = child(div_3);
|
|
4899
5827
|
{
|
|
4900
5828
|
var consequent = ($$anchor2) => {
|
|
4901
|
-
var
|
|
4902
|
-
var
|
|
5829
|
+
var label = root_1$3();
|
|
5830
|
+
var span_1 = child(label);
|
|
5831
|
+
var text_3 = child(span_1);
|
|
5832
|
+
var span_2 = sibling(span_1, 2);
|
|
5833
|
+
html(span_2, iconGlobe, true);
|
|
5834
|
+
var select = sibling(span_2, 2);
|
|
5835
|
+
each(select, 21, () => LANGUAGE_OPTIONS, index, ($$anchor3, option) => {
|
|
5836
|
+
var option_1 = root_2$1();
|
|
5837
|
+
var text_4 = child(option_1);
|
|
5838
|
+
var option_1_value = {};
|
|
5839
|
+
template_effect(() => {
|
|
5840
|
+
set_text(text_4, get(option).label);
|
|
5841
|
+
if (option_1_value !== (option_1_value = get(option).code)) {
|
|
5842
|
+
option_1.value = (option_1.__value = get(option).code) ?? "";
|
|
5843
|
+
}
|
|
5844
|
+
});
|
|
5845
|
+
append($$anchor3, option_1);
|
|
5846
|
+
});
|
|
5847
|
+
var select_value;
|
|
5848
|
+
init_select(select);
|
|
4903
5849
|
template_effect(
|
|
4904
5850
|
($0, $1) => {
|
|
4905
|
-
|
|
4906
|
-
|
|
5851
|
+
set_text(text_3, $0);
|
|
5852
|
+
set_attribute(select, "aria-label", $1);
|
|
5853
|
+
if (select_value !== (select_value = lang())) {
|
|
5854
|
+
select.value = (select.__value = lang()) ?? "", select_option(select, lang());
|
|
5855
|
+
}
|
|
4907
5856
|
},
|
|
4908
5857
|
[
|
|
4909
|
-
() =>
|
|
4910
|
-
() =>
|
|
5858
|
+
() => t("widget.language", lang()),
|
|
5859
|
+
() => t("widget.language", lang())
|
|
4911
5860
|
]
|
|
4912
5861
|
);
|
|
4913
|
-
delegated("
|
|
4914
|
-
append($$anchor2,
|
|
5862
|
+
delegated("change", select, handleLanguageChange);
|
|
5863
|
+
append($$anchor2, label);
|
|
4915
5864
|
};
|
|
4916
5865
|
if_block(node, ($$render) => {
|
|
4917
5866
|
if ($$props.onlangchange) $$render(consequent);
|
|
4918
5867
|
});
|
|
4919
5868
|
}
|
|
4920
|
-
var
|
|
4921
|
-
var
|
|
5869
|
+
var div_4 = sibling(node, 2);
|
|
5870
|
+
var button = child(div_4);
|
|
5871
|
+
var node_1 = child(button);
|
|
4922
5872
|
html(node_1, iconReset);
|
|
4923
|
-
var
|
|
4924
|
-
var
|
|
4925
|
-
var
|
|
4926
|
-
html(
|
|
5873
|
+
var span_3 = sibling(node_1, 2);
|
|
5874
|
+
var text_5 = child(span_3);
|
|
5875
|
+
var button_1 = sibling(button, 2);
|
|
5876
|
+
html(button_1, iconClose, true);
|
|
4927
5877
|
template_effect(
|
|
4928
|
-
($0, $1, $2, $3) => {
|
|
5878
|
+
($0, $1, $2, $3, $4, $5) => {
|
|
4929
5879
|
set_text(text, $0);
|
|
4930
|
-
|
|
5880
|
+
set_text(text_1, $1);
|
|
4931
5881
|
set_text(text_2, $2);
|
|
4932
|
-
set_attribute(
|
|
5882
|
+
set_attribute(button, "aria-label", $3);
|
|
5883
|
+
set_text(text_5, $4);
|
|
5884
|
+
set_attribute(button_1, "aria-label", $5);
|
|
4933
5885
|
},
|
|
4934
5886
|
[
|
|
5887
|
+
() => t("control.mostUsed", lang()),
|
|
4935
5888
|
() => t("widget.title", lang()),
|
|
5889
|
+
() => t("widget.subtitle", lang()),
|
|
4936
5890
|
() => t("widget.reset", lang()),
|
|
4937
5891
|
() => t("widget.reset", lang()),
|
|
4938
5892
|
() => t("widget.close", lang())
|
|
4939
5893
|
]
|
|
4940
5894
|
);
|
|
4941
|
-
delegated("click",
|
|
5895
|
+
delegated("click", button, function(...$$args) {
|
|
4942
5896
|
$$props.onreset?.apply(this, $$args);
|
|
4943
5897
|
});
|
|
4944
|
-
delegated("click",
|
|
5898
|
+
delegated("click", button_1, function(...$$args) {
|
|
4945
5899
|
$$props.onclose?.apply(this, $$args);
|
|
4946
5900
|
});
|
|
4947
5901
|
append($$anchor, div);
|
|
4948
5902
|
pop();
|
|
4949
5903
|
}
|
|
4950
|
-
delegate(["click"]);
|
|
5904
|
+
delegate(["change", "click"]);
|
|
4951
5905
|
var root_1$2 = /* @__PURE__ */ from_html(`<button class="accessify-status-reset"> </button>`);
|
|
4952
5906
|
var root$3 = /* @__PURE__ */ from_html(`<div class="accessify-status" role="status" aria-live="polite"><span class="accessify-status-count"> </span> <!></div>`);
|
|
4953
5907
|
function StatusBar($$anchor, $$props) {
|
|
@@ -4980,111 +5934,6 @@ function StatusBar($$anchor, $$props) {
|
|
|
4980
5934
|
pop();
|
|
4981
5935
|
}
|
|
4982
5936
|
delegate(["click"]);
|
|
4983
|
-
const PROFILES = [
|
|
4984
|
-
{
|
|
4985
|
-
id: "vision-impaired",
|
|
4986
|
-
nameKey: "profile.visionImpaired",
|
|
4987
|
-
descKey: "profile.visionImpaired.desc",
|
|
4988
|
-
iconId: "eye",
|
|
4989
|
-
features: ["contrast", "text-size", "big-cursor", "focus-highlight", "link-highlight"],
|
|
4990
|
-
featureSettings: { "text-size": 150, contrast: "high" }
|
|
4991
|
-
},
|
|
4992
|
-
{
|
|
4993
|
-
id: "motor-impaired",
|
|
4994
|
-
nameKey: "profile.motorImpaired",
|
|
4995
|
-
descKey: "profile.motorImpaired.desc",
|
|
4996
|
-
iconId: "keyboard",
|
|
4997
|
-
features: ["keyboard-nav", "focus-highlight", "big-cursor"]
|
|
4998
|
-
},
|
|
4999
|
-
{
|
|
5000
|
-
id: "cognitive",
|
|
5001
|
-
nameKey: "profile.cognitive",
|
|
5002
|
-
descKey: "profile.cognitive.desc",
|
|
5003
|
-
iconId: "brain",
|
|
5004
|
-
features: ["reading-guide", "text-size", "spacing", "dyslexia-font", "animation-stop"],
|
|
5005
|
-
featureSettings: { "text-size": 130 }
|
|
5006
|
-
},
|
|
5007
|
-
{
|
|
5008
|
-
id: "seizure-safe",
|
|
5009
|
-
nameKey: "profile.seizureSafe",
|
|
5010
|
-
descKey: "profile.seizureSafe.desc",
|
|
5011
|
-
iconId: "shield",
|
|
5012
|
-
features: ["animation-stop", "saturation"],
|
|
5013
|
-
featureSettings: { saturation: "low" }
|
|
5014
|
-
},
|
|
5015
|
-
{
|
|
5016
|
-
id: "adhd-friendly",
|
|
5017
|
-
nameKey: "profile.adhdFriendly",
|
|
5018
|
-
descKey: "profile.adhdFriendly.desc",
|
|
5019
|
-
iconId: "focus",
|
|
5020
|
-
features: ["animation-stop", "reading-mask", "focus-highlight", "hide-images"]
|
|
5021
|
-
}
|
|
5022
|
-
];
|
|
5023
|
-
var root_1$1 = /* @__PURE__ */ from_html(`<button class="accessify-profile-card"><span aria-hidden="true"></span> <span> </span></button>`);
|
|
5024
|
-
var root$2 = /* @__PURE__ */ from_html(`<div class="accessify-profiles"><div class="accessify-section-title"> </div> <div class="accessify-profile-grid" role="group"></div></div>`);
|
|
5025
|
-
function ProfileSection($$anchor, $$props) {
|
|
5026
|
-
push($$props, true);
|
|
5027
|
-
let lang = prop($$props, "lang", 3, "en"), activeProfileId = prop($$props, "activeProfileId", 3, null);
|
|
5028
|
-
function getIcon(iconId) {
|
|
5029
|
-
const iconFn = icons[iconId];
|
|
5030
|
-
return iconFn ? iconFn() : "";
|
|
5031
|
-
}
|
|
5032
|
-
var div = root$2();
|
|
5033
|
-
var div_1 = child(div);
|
|
5034
|
-
var text = child(div_1);
|
|
5035
|
-
var div_2 = sibling(div_1, 2);
|
|
5036
|
-
each(div_2, 21, () => PROFILES, (profile) => profile.id, ($$anchor2, profile) => {
|
|
5037
|
-
var button = root_1$1();
|
|
5038
|
-
var span = child(button);
|
|
5039
|
-
html(span, () => getIcon(get(profile).iconId), true);
|
|
5040
|
-
var span_1 = sibling(span, 2);
|
|
5041
|
-
var text_1 = child(span_1);
|
|
5042
|
-
template_effect(
|
|
5043
|
-
($0, $1, $2) => {
|
|
5044
|
-
set_attribute(button, "aria-pressed", activeProfileId() === get(profile).id);
|
|
5045
|
-
set_attribute(button, "aria-label", $0);
|
|
5046
|
-
set_attribute(button, "title", $1);
|
|
5047
|
-
set_text(text_1, $2);
|
|
5048
|
-
},
|
|
5049
|
-
[
|
|
5050
|
-
() => t(get(profile).nameKey, lang()),
|
|
5051
|
-
() => t(get(profile).descKey, lang()),
|
|
5052
|
-
() => t(get(profile).nameKey, lang())
|
|
5053
|
-
]
|
|
5054
|
-
);
|
|
5055
|
-
delegated("click", button, () => $$props.onactivate(get(profile)));
|
|
5056
|
-
append($$anchor2, button);
|
|
5057
|
-
});
|
|
5058
|
-
template_effect(
|
|
5059
|
-
($0, $1) => {
|
|
5060
|
-
set_text(text, $0);
|
|
5061
|
-
set_attribute(div_2, "aria-label", $1);
|
|
5062
|
-
},
|
|
5063
|
-
[
|
|
5064
|
-
() => t("section.profiles", lang()),
|
|
5065
|
-
() => t("section.profiles", lang())
|
|
5066
|
-
]
|
|
5067
|
-
);
|
|
5068
|
-
append($$anchor, div);
|
|
5069
|
-
pop();
|
|
5070
|
-
}
|
|
5071
|
-
delegate(["click"]);
|
|
5072
|
-
const __variableDynamicImportRuntimeHelper = (glob, path, segs) => {
|
|
5073
|
-
const v = glob[path];
|
|
5074
|
-
if (v) {
|
|
5075
|
-
return typeof v === "function" ? v() : Promise.resolve(v);
|
|
5076
|
-
}
|
|
5077
|
-
return new Promise((_, reject) => {
|
|
5078
|
-
(typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(
|
|
5079
|
-
reject.bind(
|
|
5080
|
-
null,
|
|
5081
|
-
new Error(
|
|
5082
|
-
"Unknown variable dynamic import: " + path + (path.split("/").length !== segs ? ". Note that variables only represent file names one level deep." : "")
|
|
5083
|
-
)
|
|
5084
|
-
)
|
|
5085
|
-
);
|
|
5086
|
-
});
|
|
5087
|
-
};
|
|
5088
5937
|
const DEFAULT_PROXY = "https://accessify-api.accessify.workers.dev";
|
|
5089
5938
|
const OPENROUTER_BASE = "https://openrouter.ai/api/v1";
|
|
5090
5939
|
const DEFAULTS = {
|
|
@@ -5233,175 +6082,168 @@ function getEnglishSimplificationPrompt() {
|
|
|
5233
6082
|
|
|
5234
6083
|
Return ONLY the simplified text.`;
|
|
5235
6084
|
}
|
|
5236
|
-
var root_3 = /* @__PURE__ */ from_html(`<button class="accessify-
|
|
5237
|
-
var root_2 = /* @__PURE__ */ from_html(`<
|
|
6085
|
+
var root_3 = /* @__PURE__ */ from_html(`<button class="accessify-chip"> </button>`);
|
|
6086
|
+
var root_2 = /* @__PURE__ */ from_html(`<article class="accessify-control-card accessify-control-card--contrast"><div class="accessify-control-copy"><span class="accessify-card-icon" aria-hidden="true"></span> <div><h4> </h4> <p> </p></div></div> <div class="accessify-chip-group" role="group"></div></article>`);
|
|
6087
|
+
var root_5 = /* @__PURE__ */ from_html(`<button class="accessify-chip"> </button>`);
|
|
6088
|
+
var root_4 = /* @__PURE__ */ from_html(`<article class="accessify-control-card accessify-control-card--text-size"><div class="accessify-control-copy"><span class="accessify-card-icon" aria-hidden="true"></span> <div><h4> </h4> <p> </p></div></div> <div class="accessify-chip-group accessify-chip-group--sizes" role="group"></div></article>`);
|
|
6089
|
+
var root_7 = /* @__PURE__ */ from_html(`<button class="accessify-card" role="switch"><div class="accessify-card-top"><span class="accessify-card-icon" aria-hidden="true"></span></div> <span class="accessify-card-label"> </span> <span class="accessify-card-desc"> </span></button>`);
|
|
6090
|
+
var root_6 = /* @__PURE__ */ from_html(`<div class="accessify-features"></div>`);
|
|
6091
|
+
var root_1$1 = /* @__PURE__ */ from_html(`<section class="accessify-section accessify-section--spotlight"><div class="accessify-section-head"><div><span class="accessify-section-kicker"> </span> <h3> </h3> <p> </p></div></div> <div class="accessify-control-grid"><!> <!></div> <!></section>`);
|
|
6092
|
+
var root_10 = /* @__PURE__ */ from_html(`<button class="accessify-card" role="switch"><div class="accessify-card-top"><span class="accessify-card-icon" aria-hidden="true"></span></div> <span class="accessify-card-label"> </span> <span class="accessify-card-desc"> </span></button>`);
|
|
6093
|
+
var root_9 = /* @__PURE__ */ from_html(`<section class="accessify-section"><div class="accessify-section-head"><div><h3> </h3> <p> </p></div></div> <div class="accessify-features"></div></section>`);
|
|
6094
|
+
var root$2 = /* @__PURE__ */ from_html(`<div class="accessify-body"><!> <!></div>`);
|
|
5238
6095
|
function FeatureGrid($$anchor, $$props) {
|
|
5239
6096
|
push($$props, true);
|
|
5240
6097
|
const FEATURE_REGISTRY = {
|
|
5241
|
-
|
|
5242
|
-
id: "
|
|
5243
|
-
nameKey: "feature.
|
|
5244
|
-
descKey: "feature.
|
|
5245
|
-
iconId: "
|
|
5246
|
-
category: "visual"
|
|
5247
|
-
},
|
|
5248
|
-
"text-size": {
|
|
5249
|
-
id: "text-size",
|
|
5250
|
-
nameKey: "feature.textSize",
|
|
5251
|
-
descKey: "feature.textSize.desc",
|
|
5252
|
-
iconId: "text-size",
|
|
5253
|
-
category: "visual"
|
|
5254
|
-
},
|
|
5255
|
-
spacing: {
|
|
5256
|
-
id: "spacing",
|
|
5257
|
-
nameKey: "feature.spacing",
|
|
5258
|
-
descKey: "feature.spacing.desc",
|
|
5259
|
-
iconId: "spacing",
|
|
5260
|
-
category: "visual"
|
|
5261
|
-
},
|
|
5262
|
-
"dyslexia-font": {
|
|
5263
|
-
id: "dyslexia-font",
|
|
5264
|
-
nameKey: "feature.dyslexiaFont",
|
|
5265
|
-
descKey: "feature.dyslexiaFont.desc",
|
|
5266
|
-
iconId: "font",
|
|
5267
|
-
category: "visual"
|
|
6098
|
+
"keyboard-nav": {
|
|
6099
|
+
id: "keyboard-nav",
|
|
6100
|
+
nameKey: "feature.keyboardNav",
|
|
6101
|
+
descKey: "feature.keyboardNav.desc",
|
|
6102
|
+
iconId: "keyboard"
|
|
5268
6103
|
},
|
|
5269
|
-
"
|
|
5270
|
-
id: "
|
|
5271
|
-
nameKey: "feature.
|
|
5272
|
-
descKey: "feature.
|
|
5273
|
-
iconId: "
|
|
5274
|
-
category: "visual"
|
|
6104
|
+
"focus-highlight": {
|
|
6105
|
+
id: "focus-highlight",
|
|
6106
|
+
nameKey: "feature.focusHighlight",
|
|
6107
|
+
descKey: "feature.focusHighlight.desc",
|
|
6108
|
+
iconId: "focus"
|
|
5275
6109
|
},
|
|
5276
6110
|
"link-highlight": {
|
|
5277
6111
|
id: "link-highlight",
|
|
5278
6112
|
nameKey: "feature.linkHighlight",
|
|
5279
6113
|
descKey: "feature.linkHighlight.desc",
|
|
5280
|
-
iconId: "link-highlight"
|
|
5281
|
-
category: "visual"
|
|
5282
|
-
},
|
|
5283
|
-
saturation: {
|
|
5284
|
-
id: "saturation",
|
|
5285
|
-
nameKey: "feature.saturation",
|
|
5286
|
-
descKey: "feature.saturation.desc",
|
|
5287
|
-
iconId: "saturation",
|
|
5288
|
-
category: "visual"
|
|
5289
|
-
},
|
|
5290
|
-
"hide-images": {
|
|
5291
|
-
id: "hide-images",
|
|
5292
|
-
nameKey: "feature.hideImages",
|
|
5293
|
-
descKey: "feature.hideImages.desc",
|
|
5294
|
-
iconId: "hide-images",
|
|
5295
|
-
category: "visual"
|
|
5296
|
-
},
|
|
5297
|
-
"text-align": {
|
|
5298
|
-
id: "text-align",
|
|
5299
|
-
nameKey: "feature.textAlign",
|
|
5300
|
-
descKey: "feature.textAlign.desc",
|
|
5301
|
-
iconId: "text-align",
|
|
5302
|
-
category: "visual"
|
|
5303
|
-
},
|
|
5304
|
-
"line-height": {
|
|
5305
|
-
id: "line-height",
|
|
5306
|
-
nameKey: "feature.lineHeight",
|
|
5307
|
-
descKey: "feature.lineHeight.desc",
|
|
5308
|
-
iconId: "line-height",
|
|
5309
|
-
category: "visual"
|
|
6114
|
+
iconId: "link-highlight"
|
|
5310
6115
|
},
|
|
5311
6116
|
"reading-guide": {
|
|
5312
6117
|
id: "reading-guide",
|
|
5313
6118
|
nameKey: "feature.readingGuide",
|
|
5314
6119
|
descKey: "feature.readingGuide.desc",
|
|
5315
|
-
iconId: "reading-guide"
|
|
5316
|
-
category: "motor"
|
|
6120
|
+
iconId: "reading-guide"
|
|
5317
6121
|
},
|
|
5318
6122
|
"reading-mask": {
|
|
5319
6123
|
id: "reading-mask",
|
|
5320
6124
|
nameKey: "feature.readingMask",
|
|
5321
6125
|
descKey: "feature.readingMask.desc",
|
|
5322
|
-
iconId: "reading-mask"
|
|
5323
|
-
category: "motor"
|
|
6126
|
+
iconId: "reading-mask"
|
|
5324
6127
|
},
|
|
5325
|
-
"
|
|
5326
|
-
id: "
|
|
5327
|
-
nameKey: "feature.
|
|
5328
|
-
descKey: "feature.
|
|
5329
|
-
iconId: "
|
|
5330
|
-
|
|
6128
|
+
"animation-stop": {
|
|
6129
|
+
id: "animation-stop",
|
|
6130
|
+
nameKey: "feature.animationStop",
|
|
6131
|
+
descKey: "feature.animationStop.desc",
|
|
6132
|
+
iconId: "animation-pause"
|
|
6133
|
+
},
|
|
6134
|
+
"hide-images": {
|
|
6135
|
+
id: "hide-images",
|
|
6136
|
+
nameKey: "feature.hideImages",
|
|
6137
|
+
descKey: "feature.hideImages.desc",
|
|
6138
|
+
iconId: "hide-images"
|
|
5331
6139
|
},
|
|
5332
6140
|
"big-cursor": {
|
|
5333
6141
|
id: "big-cursor",
|
|
5334
6142
|
nameKey: "feature.bigCursor",
|
|
5335
6143
|
descKey: "feature.bigCursor.desc",
|
|
5336
|
-
iconId: "cursor"
|
|
5337
|
-
category: "motor"
|
|
5338
|
-
},
|
|
5339
|
-
"keyboard-nav": {
|
|
5340
|
-
id: "keyboard-nav",
|
|
5341
|
-
nameKey: "feature.keyboardNav",
|
|
5342
|
-
descKey: "feature.keyboardNav.desc",
|
|
5343
|
-
iconId: "keyboard",
|
|
5344
|
-
category: "motor"
|
|
6144
|
+
iconId: "cursor"
|
|
5345
6145
|
},
|
|
5346
6146
|
"page-structure": {
|
|
5347
6147
|
id: "page-structure",
|
|
5348
6148
|
nameKey: "feature.pageStructure",
|
|
5349
6149
|
descKey: "feature.pageStructure.desc",
|
|
5350
|
-
iconId: "page-structure"
|
|
5351
|
-
category: "motor"
|
|
5352
|
-
},
|
|
5353
|
-
"animation-stop": {
|
|
5354
|
-
id: "animation-stop",
|
|
5355
|
-
nameKey: "feature.animationStop",
|
|
5356
|
-
descKey: "feature.animationStop.desc",
|
|
5357
|
-
iconId: "animation-pause",
|
|
5358
|
-
category: "cognitive"
|
|
6150
|
+
iconId: "page-structure"
|
|
5359
6151
|
},
|
|
5360
6152
|
tts: {
|
|
5361
6153
|
id: "tts",
|
|
5362
6154
|
nameKey: "feature.tts",
|
|
5363
6155
|
descKey: "feature.tts.desc",
|
|
5364
|
-
iconId: "tts"
|
|
5365
|
-
category: "cognitive"
|
|
6156
|
+
iconId: "tts"
|
|
5366
6157
|
},
|
|
5367
6158
|
"text-simplify": {
|
|
5368
6159
|
id: "text-simplify",
|
|
5369
6160
|
nameKey: "feature.textSimplify",
|
|
5370
6161
|
descKey: "feature.textSimplify.desc",
|
|
5371
|
-
iconId: "simplify-text"
|
|
5372
|
-
category: "ai"
|
|
6162
|
+
iconId: "simplify-text"
|
|
5373
6163
|
},
|
|
5374
6164
|
"alt-text": {
|
|
5375
6165
|
id: "alt-text",
|
|
5376
6166
|
nameKey: "feature.altText",
|
|
5377
6167
|
descKey: "feature.altText.desc",
|
|
5378
|
-
iconId: "alt-text"
|
|
5379
|
-
category: "ai"
|
|
6168
|
+
iconId: "alt-text"
|
|
5380
6169
|
},
|
|
5381
6170
|
"auto-scan": {
|
|
5382
6171
|
id: "auto-scan",
|
|
5383
6172
|
nameKey: "feature.autoScan",
|
|
5384
6173
|
descKey: "feature.autoScan.desc",
|
|
5385
|
-
iconId: "scan"
|
|
5386
|
-
category: "ai"
|
|
6174
|
+
iconId: "scan"
|
|
5387
6175
|
}
|
|
5388
6176
|
};
|
|
5389
|
-
const
|
|
5390
|
-
{
|
|
5391
|
-
|
|
5392
|
-
|
|
5393
|
-
|
|
6177
|
+
const SECTIONS = [
|
|
6178
|
+
{
|
|
6179
|
+
id: "essentials",
|
|
6180
|
+
labelKey: "section.essentials",
|
|
6181
|
+
descKey: "section.essentials.desc",
|
|
6182
|
+
featureIds: ["keyboard-nav", "focus-highlight", "link-highlight"]
|
|
6183
|
+
},
|
|
6184
|
+
{
|
|
6185
|
+
id: "support",
|
|
6186
|
+
labelKey: "section.support",
|
|
6187
|
+
descKey: "section.support.desc",
|
|
6188
|
+
featureIds: [
|
|
6189
|
+
"reading-guide",
|
|
6190
|
+
"reading-mask",
|
|
6191
|
+
"animation-stop",
|
|
6192
|
+
"hide-images",
|
|
6193
|
+
"page-structure",
|
|
6194
|
+
"big-cursor",
|
|
6195
|
+
"tts"
|
|
6196
|
+
]
|
|
6197
|
+
},
|
|
6198
|
+
{
|
|
6199
|
+
id: "ai",
|
|
6200
|
+
labelKey: "section.ai",
|
|
6201
|
+
descKey: "section.ai.desc",
|
|
6202
|
+
featureIds: ["text-simplify", "alt-text", "auto-scan"]
|
|
6203
|
+
}
|
|
5394
6204
|
];
|
|
5395
|
-
|
|
5396
|
-
|
|
5397
|
-
|
|
5398
|
-
|
|
5399
|
-
|
|
5400
|
-
|
|
5401
|
-
|
|
5402
|
-
|
|
5403
|
-
|
|
6205
|
+
const CONTRAST_MODES = [
|
|
6206
|
+
{ id: "off", labelKey: "control.default" },
|
|
6207
|
+
{ id: "light", labelKey: "contrast.mode.light" },
|
|
6208
|
+
{ id: "dark", labelKey: "contrast.mode.dark" },
|
|
6209
|
+
{ id: "high", labelKey: "contrast.mode.high" }
|
|
6210
|
+
];
|
|
6211
|
+
const TEXT_SIZE_PRESETS = [100, 120, 140, 160, 180];
|
|
6212
|
+
const AI_FEATURES = /* @__PURE__ */ new Set(["text-simplify", "alt-text"]);
|
|
6213
|
+
const loadedModules = /* @__PURE__ */ new Map();
|
|
6214
|
+
const FEATURE_LOADERS = {
|
|
6215
|
+
contrast: () => import("./contrast-CqsICAkU.js"),
|
|
6216
|
+
"text-size": () => import("./text-size-C6OFhCGi.js"),
|
|
6217
|
+
"keyboard-nav": () => import("./keyboard-nav-YtijlLYi.js"),
|
|
6218
|
+
"focus-highlight": () => import("./focus-highlight-CjERyyUF.js"),
|
|
6219
|
+
"link-highlight": () => import("./link-highlight-DBGm067Y.js"),
|
|
6220
|
+
"reading-guide": () => import("./reading-guide-VT8NciIL.js"),
|
|
6221
|
+
"reading-mask": () => import("./reading-mask-BABChuCz.js"),
|
|
6222
|
+
"animation-stop": () => import("./animation-stop-DXebPS8D.js"),
|
|
6223
|
+
"hide-images": () => import("./hide-images-DJwmsV2C.js"),
|
|
6224
|
+
"big-cursor": () => import("./big-cursor-B2UKu9dQ.js"),
|
|
6225
|
+
"page-structure": () => import("./page-structure-WFqy5QjQ.js"),
|
|
6226
|
+
tts: () => import("./tts-02b9iV0h.js"),
|
|
6227
|
+
"text-simplify": () => import("./text-simplify-CELklw5A.js"),
|
|
6228
|
+
"alt-text": () => import("./alt-text-CrPRUX83.js"),
|
|
6229
|
+
"auto-scan": () => import("./auto-scan-pg-09o7A.js")
|
|
6230
|
+
};
|
|
6231
|
+
let contrastMode = /* @__PURE__ */ state(proxy(readStoredContrastMode()));
|
|
6232
|
+
let textSize = /* @__PURE__ */ state(proxy(readStoredTextSize()));
|
|
6233
|
+
let visibleFeatureIds = /* @__PURE__ */ user_derived(() => new Set($$props.config.features));
|
|
6234
|
+
let essentialFeatures = /* @__PURE__ */ user_derived(() => getFeatureDefs(SECTIONS[0].featureIds));
|
|
6235
|
+
let activeSignature = /* @__PURE__ */ user_derived(() => Array.from($$props.activeFeatures.entries()).sort(([left], [right]) => left.localeCompare(right)).map(([id, enabled]) => `${id}:${enabled}`).join("|"));
|
|
5404
6236
|
let aiService;
|
|
6237
|
+
function readStoredContrastMode() {
|
|
6238
|
+
if (typeof window === "undefined") return "off";
|
|
6239
|
+
const stored = localStorage.getItem("accessify-contrast-mode");
|
|
6240
|
+
return stored === "light" || stored === "dark" || stored === "high" ? stored : "off";
|
|
6241
|
+
}
|
|
6242
|
+
function readStoredTextSize() {
|
|
6243
|
+
if (typeof window === "undefined") return 100;
|
|
6244
|
+
const stored = Number.parseInt(localStorage.getItem("accessify-text-size") || "100", 10);
|
|
6245
|
+
return Number.isFinite(stored) ? Math.max(100, Math.min(200, stored)) : 100;
|
|
6246
|
+
}
|
|
5405
6247
|
function getAIService() {
|
|
5406
6248
|
if (!aiService) {
|
|
5407
6249
|
aiService = createAIService({
|
|
@@ -5412,78 +6254,303 @@ function FeatureGrid($$anchor, $$props) {
|
|
|
5412
6254
|
}
|
|
5413
6255
|
return aiService;
|
|
5414
6256
|
}
|
|
5415
|
-
|
|
5416
|
-
|
|
6257
|
+
function getIcon(iconId) {
|
|
6258
|
+
const iconFn = icons[iconId];
|
|
6259
|
+
return iconFn ? iconFn() : "";
|
|
6260
|
+
}
|
|
6261
|
+
function getFeatureDefs(ids) {
|
|
6262
|
+
return ids.filter((id) => get(visibleFeatureIds).has(id)).map((id) => FEATURE_REGISTRY[id]).filter(Boolean);
|
|
6263
|
+
}
|
|
6264
|
+
function updateControlState(id, module) {
|
|
6265
|
+
if (!module) return;
|
|
6266
|
+
const state2 = module.getState();
|
|
6267
|
+
if (id === "contrast") {
|
|
6268
|
+
set(contrastMode, state2.value === "light" || state2.value === "dark" || state2.value === "high" ? state2.value : "off", true);
|
|
6269
|
+
}
|
|
6270
|
+
if (id === "text-size") {
|
|
6271
|
+
set(textSize, typeof state2.value === "number" ? state2.value : 100, true);
|
|
6272
|
+
}
|
|
6273
|
+
}
|
|
5417
6274
|
function handleReset() {
|
|
5418
|
-
for (const [,
|
|
6275
|
+
for (const [, module] of loadedModules) {
|
|
5419
6276
|
try {
|
|
5420
|
-
|
|
6277
|
+
module.deactivate();
|
|
5421
6278
|
} catch {
|
|
5422
6279
|
}
|
|
5423
6280
|
}
|
|
6281
|
+
set(contrastMode, "off");
|
|
6282
|
+
set(textSize, 100);
|
|
5424
6283
|
}
|
|
5425
6284
|
if (typeof window !== "undefined") {
|
|
5426
6285
|
window.addEventListener("accessify:reset", handleReset);
|
|
5427
6286
|
}
|
|
5428
6287
|
async function loadFeatureModule(id) {
|
|
5429
6288
|
if (loadedModules.has(id)) return loadedModules.get(id);
|
|
6289
|
+
const loader = FEATURE_LOADERS[id];
|
|
6290
|
+
if (!loader) return null;
|
|
5430
6291
|
try {
|
|
5431
|
-
const mod = await
|
|
6292
|
+
const mod = await loader();
|
|
5432
6293
|
const exported = mod.default ?? mod;
|
|
5433
|
-
|
|
5434
|
-
if (typeof exported === "function") {
|
|
5435
|
-
featureModule = AI_FEATURES.has(id) ? exported(getAIService(), $$props.config.lang) : exported();
|
|
5436
|
-
} else {
|
|
5437
|
-
featureModule = exported;
|
|
5438
|
-
}
|
|
6294
|
+
const featureModule = typeof exported === "function" ? AI_FEATURES.has(id) ? exported(getAIService(), $$props.config.lang) : exported() : exported;
|
|
5439
6295
|
loadedModules.set(id, featureModule);
|
|
5440
6296
|
return featureModule;
|
|
5441
|
-
} catch (
|
|
5442
|
-
console.warn(`[Accessify] Failed to load feature module "${id}":`,
|
|
6297
|
+
} catch (error) {
|
|
6298
|
+
console.warn(`[Accessify] Failed to load feature module "${id}":`, error);
|
|
5443
6299
|
return null;
|
|
5444
6300
|
}
|
|
5445
6301
|
}
|
|
6302
|
+
async function syncActiveModules(_) {
|
|
6303
|
+
const idsToSync = /* @__PURE__ */ new Set(["contrast", "text-size", ...$$props.config.features]);
|
|
6304
|
+
for (const id of idsToSync) {
|
|
6305
|
+
const shouldBeEnabled = $$props.activeFeatures.get(id) ?? false;
|
|
6306
|
+
const alreadyLoaded = loadedModules.get(id);
|
|
6307
|
+
if (!shouldBeEnabled && !alreadyLoaded) {
|
|
6308
|
+
if (id === "contrast") set(contrastMode, "off");
|
|
6309
|
+
if (id === "text-size") set(textSize, 100);
|
|
6310
|
+
continue;
|
|
6311
|
+
}
|
|
6312
|
+
const module = shouldBeEnabled ? await loadFeatureModule(id) : alreadyLoaded;
|
|
6313
|
+
if (!module) continue;
|
|
6314
|
+
const isEnabled = module.getState().enabled;
|
|
6315
|
+
if (shouldBeEnabled && !isEnabled) module.activate();
|
|
6316
|
+
if (!shouldBeEnabled && isEnabled) module.deactivate();
|
|
6317
|
+
updateControlState(id, module);
|
|
6318
|
+
}
|
|
6319
|
+
}
|
|
5446
6320
|
async function handleToggle(id) {
|
|
5447
|
-
const
|
|
5448
|
-
const
|
|
5449
|
-
const
|
|
5450
|
-
if (
|
|
5451
|
-
if (
|
|
5452
|
-
else
|
|
6321
|
+
const isActive = $$props.activeFeatures.get(id) ?? false;
|
|
6322
|
+
const nextState = !isActive;
|
|
6323
|
+
const module = await loadFeatureModule(id);
|
|
6324
|
+
if (module) {
|
|
6325
|
+
if (nextState) module.activate();
|
|
6326
|
+
else module.deactivate();
|
|
6327
|
+
updateControlState(id, module);
|
|
6328
|
+
}
|
|
6329
|
+
$$props.ontoggle(id, nextState);
|
|
6330
|
+
}
|
|
6331
|
+
async function setContrastMode(mode) {
|
|
6332
|
+
const module = await loadFeatureModule("contrast");
|
|
6333
|
+
if (!module) return;
|
|
6334
|
+
if (mode === "off") {
|
|
6335
|
+
module.deactivate();
|
|
6336
|
+
set(contrastMode, "off");
|
|
6337
|
+
$$props.ontoggle("contrast", false);
|
|
6338
|
+
return;
|
|
5453
6339
|
}
|
|
5454
|
-
|
|
6340
|
+
if (!module.getState().enabled) module.activate();
|
|
6341
|
+
module.setState?.(mode);
|
|
6342
|
+
set(contrastMode, mode, true);
|
|
6343
|
+
$$props.ontoggle("contrast", true);
|
|
6344
|
+
}
|
|
6345
|
+
async function setTextSize(value) {
|
|
6346
|
+
const module = await loadFeatureModule("text-size");
|
|
6347
|
+
if (!module) return;
|
|
6348
|
+
if (value === 100) {
|
|
6349
|
+
module.deactivate();
|
|
6350
|
+
set(textSize, 100);
|
|
6351
|
+
$$props.ontoggle("text-size", false);
|
|
6352
|
+
return;
|
|
6353
|
+
}
|
|
6354
|
+
if (!module.getState().enabled) module.activate();
|
|
6355
|
+
module.setState?.(value);
|
|
6356
|
+
set(textSize, value, true);
|
|
6357
|
+
$$props.ontoggle("text-size", true);
|
|
5455
6358
|
}
|
|
5456
|
-
|
|
5457
|
-
|
|
5458
|
-
|
|
6359
|
+
user_effect(() => {
|
|
6360
|
+
`${$$props.config.features.join("|")}|${get(activeSignature)}`;
|
|
6361
|
+
void syncActiveModules();
|
|
6362
|
+
});
|
|
6363
|
+
var div = root$2();
|
|
6364
|
+
var node = child(div);
|
|
6365
|
+
{
|
|
6366
|
+
var consequent_3 = ($$anchor2) => {
|
|
6367
|
+
var section_1 = root_1$1();
|
|
6368
|
+
var div_1 = child(section_1);
|
|
6369
|
+
var div_2 = child(div_1);
|
|
6370
|
+
var span = child(div_2);
|
|
6371
|
+
var text = child(span);
|
|
6372
|
+
var h3 = sibling(span, 2);
|
|
6373
|
+
var text_1 = child(h3);
|
|
6374
|
+
var p = sibling(h3, 2);
|
|
6375
|
+
var text_2 = child(p);
|
|
6376
|
+
var div_3 = sibling(div_1, 2);
|
|
6377
|
+
var node_1 = child(div_3);
|
|
6378
|
+
{
|
|
6379
|
+
var consequent = ($$anchor3) => {
|
|
6380
|
+
var article = root_2();
|
|
6381
|
+
var div_4 = child(article);
|
|
6382
|
+
var span_1 = child(div_4);
|
|
6383
|
+
html(span_1, () => getIcon("contrast"), true);
|
|
6384
|
+
var div_5 = sibling(span_1, 2);
|
|
6385
|
+
var h4 = child(div_5);
|
|
6386
|
+
var text_3 = child(h4);
|
|
6387
|
+
var p_1 = sibling(h4, 2);
|
|
6388
|
+
var text_4 = child(p_1);
|
|
6389
|
+
var div_6 = sibling(div_4, 2);
|
|
6390
|
+
each(div_6, 21, () => CONTRAST_MODES, index, ($$anchor4, mode) => {
|
|
6391
|
+
var button = root_3();
|
|
6392
|
+
var text_5 = child(button);
|
|
6393
|
+
template_effect(
|
|
6394
|
+
($0) => {
|
|
6395
|
+
set_attribute(button, "data-active", get(contrastMode) === get(mode).id);
|
|
6396
|
+
set_attribute(button, "aria-pressed", get(contrastMode) === get(mode).id);
|
|
6397
|
+
set_text(text_5, $0);
|
|
6398
|
+
},
|
|
6399
|
+
[() => t(get(mode).labelKey, $$props.config.lang)]
|
|
6400
|
+
);
|
|
6401
|
+
delegated("click", button, () => setContrastMode(get(mode).id));
|
|
6402
|
+
append($$anchor4, button);
|
|
6403
|
+
});
|
|
6404
|
+
template_effect(
|
|
6405
|
+
($0, $1, $2) => {
|
|
6406
|
+
set_text(text_3, $0);
|
|
6407
|
+
set_text(text_4, $1);
|
|
6408
|
+
set_attribute(div_6, "aria-label", $2);
|
|
6409
|
+
},
|
|
6410
|
+
[
|
|
6411
|
+
() => t("feature.contrast", $$props.config.lang),
|
|
6412
|
+
() => t("feature.contrast.desc", $$props.config.lang),
|
|
6413
|
+
() => t("control.chooseMode", $$props.config.lang)
|
|
6414
|
+
]
|
|
6415
|
+
);
|
|
6416
|
+
append($$anchor3, article);
|
|
6417
|
+
};
|
|
6418
|
+
var d = /* @__PURE__ */ user_derived(() => get(visibleFeatureIds).has("contrast"));
|
|
6419
|
+
if_block(node_1, ($$render) => {
|
|
6420
|
+
if (get(d)) $$render(consequent);
|
|
6421
|
+
});
|
|
6422
|
+
}
|
|
6423
|
+
var node_2 = sibling(node_1, 2);
|
|
6424
|
+
{
|
|
6425
|
+
var consequent_1 = ($$anchor3) => {
|
|
6426
|
+
var article_1 = root_4();
|
|
6427
|
+
var div_7 = child(article_1);
|
|
6428
|
+
var span_2 = child(div_7);
|
|
6429
|
+
html(span_2, () => getIcon("text-size"), true);
|
|
6430
|
+
var div_8 = sibling(span_2, 2);
|
|
6431
|
+
var h4_1 = child(div_8);
|
|
6432
|
+
var text_6 = child(h4_1);
|
|
6433
|
+
var p_2 = sibling(h4_1, 2);
|
|
6434
|
+
var text_7 = child(p_2);
|
|
6435
|
+
var div_9 = sibling(div_7, 2);
|
|
6436
|
+
each(div_9, 21, () => TEXT_SIZE_PRESETS, index, ($$anchor4, preset) => {
|
|
6437
|
+
var button_1 = root_5();
|
|
6438
|
+
var text_8 = child(button_1);
|
|
6439
|
+
template_effect(() => {
|
|
6440
|
+
set_attribute(button_1, "data-active", get(textSize) === get(preset));
|
|
6441
|
+
set_attribute(button_1, "aria-pressed", get(textSize) === get(preset));
|
|
6442
|
+
set_text(text_8, `${get(preset) ?? ""}%`);
|
|
6443
|
+
});
|
|
6444
|
+
delegated("click", button_1, () => setTextSize(get(preset)));
|
|
6445
|
+
append($$anchor4, button_1);
|
|
6446
|
+
});
|
|
6447
|
+
template_effect(
|
|
6448
|
+
($0, $1, $2) => {
|
|
6449
|
+
set_text(text_6, $0);
|
|
6450
|
+
set_text(text_7, $1);
|
|
6451
|
+
set_attribute(div_9, "aria-label", $2);
|
|
6452
|
+
},
|
|
6453
|
+
[
|
|
6454
|
+
() => t("feature.textSize", $$props.config.lang),
|
|
6455
|
+
() => t("feature.textSize.desc", $$props.config.lang),
|
|
6456
|
+
() => t("feature.textSize", $$props.config.lang)
|
|
6457
|
+
]
|
|
6458
|
+
);
|
|
6459
|
+
append($$anchor3, article_1);
|
|
6460
|
+
};
|
|
6461
|
+
var d_1 = /* @__PURE__ */ user_derived(() => get(visibleFeatureIds).has("text-size"));
|
|
6462
|
+
if_block(node_2, ($$render) => {
|
|
6463
|
+
if (get(d_1)) $$render(consequent_1);
|
|
6464
|
+
});
|
|
6465
|
+
}
|
|
6466
|
+
var node_3 = sibling(div_3, 2);
|
|
6467
|
+
{
|
|
6468
|
+
var consequent_2 = ($$anchor3) => {
|
|
6469
|
+
var div_10 = root_6();
|
|
6470
|
+
each(div_10, 21, () => get(essentialFeatures), (feature) => feature.id, ($$anchor4, feature) => {
|
|
6471
|
+
const isActive = /* @__PURE__ */ user_derived(() => $$props.activeFeatures.get(get(feature).id) ?? false);
|
|
6472
|
+
var button_2 = root_7();
|
|
6473
|
+
var div_11 = child(button_2);
|
|
6474
|
+
var span_3 = child(div_11);
|
|
6475
|
+
html(span_3, () => getIcon(get(feature).iconId), true);
|
|
6476
|
+
var span_4 = sibling(div_11, 2);
|
|
6477
|
+
var text_9 = child(span_4);
|
|
6478
|
+
var span_5 = sibling(span_4, 2);
|
|
6479
|
+
var text_10 = child(span_5);
|
|
6480
|
+
template_effect(
|
|
6481
|
+
($0, $1, $2) => {
|
|
6482
|
+
set_attribute(button_2, "data-active", get(isActive));
|
|
6483
|
+
set_attribute(button_2, "aria-checked", get(isActive));
|
|
6484
|
+
set_attribute(button_2, "aria-label", $0);
|
|
6485
|
+
set_text(text_9, $1);
|
|
6486
|
+
set_text(text_10, $2);
|
|
6487
|
+
},
|
|
6488
|
+
[
|
|
6489
|
+
() => t(get(feature).nameKey, $$props.config.lang),
|
|
6490
|
+
() => t(get(feature).nameKey, $$props.config.lang),
|
|
6491
|
+
() => t(get(feature).descKey, $$props.config.lang)
|
|
6492
|
+
]
|
|
6493
|
+
);
|
|
6494
|
+
delegated("click", button_2, () => handleToggle(get(feature).id));
|
|
6495
|
+
append($$anchor4, button_2);
|
|
6496
|
+
});
|
|
6497
|
+
append($$anchor3, div_10);
|
|
6498
|
+
};
|
|
6499
|
+
if_block(node_3, ($$render) => {
|
|
6500
|
+
if (get(essentialFeatures).length > 0) $$render(consequent_2);
|
|
6501
|
+
});
|
|
6502
|
+
}
|
|
6503
|
+
template_effect(
|
|
6504
|
+
($0, $1, $2) => {
|
|
6505
|
+
set_text(text, $0);
|
|
6506
|
+
set_text(text_1, $1);
|
|
6507
|
+
set_text(text_2, $2);
|
|
6508
|
+
},
|
|
6509
|
+
[
|
|
6510
|
+
() => t("control.mostUsed", $$props.config.lang),
|
|
6511
|
+
() => t(SECTIONS[0].labelKey, $$props.config.lang),
|
|
6512
|
+
() => t(SECTIONS[0].descKey, $$props.config.lang)
|
|
6513
|
+
]
|
|
6514
|
+
);
|
|
6515
|
+
append($$anchor2, section_1);
|
|
6516
|
+
};
|
|
6517
|
+
var d_2 = /* @__PURE__ */ user_derived(() => get(visibleFeatureIds).has("contrast") || get(visibleFeatureIds).has("text-size") || getFeatureDefs(SECTIONS[0].featureIds).length > 0);
|
|
6518
|
+
if_block(node, ($$render) => {
|
|
6519
|
+
if (get(d_2)) $$render(consequent_3);
|
|
6520
|
+
});
|
|
5459
6521
|
}
|
|
5460
|
-
var
|
|
5461
|
-
|
|
5462
|
-
|
|
5463
|
-
|
|
5464
|
-
var
|
|
5465
|
-
var node_1 = first_child(fragment_1);
|
|
6522
|
+
var node_4 = sibling(node, 2);
|
|
6523
|
+
each(node_4, 17, () => SECTIONS.slice(1), index, ($$anchor2, section) => {
|
|
6524
|
+
const features = /* @__PURE__ */ user_derived(() => getFeatureDefs(get(section).featureIds));
|
|
6525
|
+
var fragment = comment();
|
|
6526
|
+
var node_5 = first_child(fragment);
|
|
5466
6527
|
{
|
|
5467
|
-
var
|
|
5468
|
-
var
|
|
5469
|
-
var
|
|
5470
|
-
var
|
|
5471
|
-
var
|
|
5472
|
-
|
|
6528
|
+
var consequent_4 = ($$anchor3) => {
|
|
6529
|
+
var section_2 = root_9();
|
|
6530
|
+
var div_12 = child(section_2);
|
|
6531
|
+
var div_13 = child(div_12);
|
|
6532
|
+
var h3_1 = child(div_13);
|
|
6533
|
+
var text_11 = child(h3_1);
|
|
6534
|
+
var p_3 = sibling(h3_1, 2);
|
|
6535
|
+
var text_12 = child(p_3);
|
|
6536
|
+
var div_14 = sibling(div_12, 2);
|
|
6537
|
+
each(div_14, 21, () => get(features), (feature) => feature.id, ($$anchor4, feature) => {
|
|
5473
6538
|
const isActive = /* @__PURE__ */ user_derived(() => $$props.activeFeatures.get(get(feature).id) ?? false);
|
|
5474
|
-
var
|
|
5475
|
-
var
|
|
5476
|
-
|
|
5477
|
-
|
|
5478
|
-
var
|
|
5479
|
-
var
|
|
5480
|
-
var
|
|
6539
|
+
var button_3 = root_10();
|
|
6540
|
+
var div_15 = child(button_3);
|
|
6541
|
+
var span_6 = child(div_15);
|
|
6542
|
+
html(span_6, () => getIcon(get(feature).iconId), true);
|
|
6543
|
+
var span_7 = sibling(div_15, 2);
|
|
6544
|
+
var text_13 = child(span_7);
|
|
6545
|
+
var span_8 = sibling(span_7, 2);
|
|
6546
|
+
var text_14 = child(span_8);
|
|
5481
6547
|
template_effect(
|
|
5482
6548
|
($0, $1, $2) => {
|
|
5483
|
-
set_attribute(
|
|
5484
|
-
set_attribute(
|
|
5485
|
-
|
|
5486
|
-
set_text(
|
|
6549
|
+
set_attribute(button_3, "data-active", get(isActive));
|
|
6550
|
+
set_attribute(button_3, "aria-checked", get(isActive));
|
|
6551
|
+
set_attribute(button_3, "aria-label", $0);
|
|
6552
|
+
set_text(text_13, $1);
|
|
6553
|
+
set_text(text_14, $2);
|
|
5487
6554
|
},
|
|
5488
6555
|
[
|
|
5489
6556
|
() => t(get(feature).nameKey, $$props.config.lang),
|
|
@@ -5491,28 +6558,28 @@ function FeatureGrid($$anchor, $$props) {
|
|
|
5491
6558
|
() => t(get(feature).descKey, $$props.config.lang)
|
|
5492
6559
|
]
|
|
5493
6560
|
);
|
|
5494
|
-
delegated("click",
|
|
5495
|
-
append($$anchor4,
|
|
6561
|
+
delegated("click", button_3, () => handleToggle(get(feature).id));
|
|
6562
|
+
append($$anchor4, button_3);
|
|
5496
6563
|
});
|
|
5497
6564
|
template_effect(
|
|
5498
6565
|
($0, $1) => {
|
|
5499
|
-
set_text(
|
|
5500
|
-
|
|
6566
|
+
set_text(text_11, $0);
|
|
6567
|
+
set_text(text_12, $1);
|
|
5501
6568
|
},
|
|
5502
6569
|
[
|
|
5503
|
-
() => t(get(
|
|
5504
|
-
() => t(get(
|
|
6570
|
+
() => t(get(section).labelKey, $$props.config.lang),
|
|
6571
|
+
() => t(get(section).descKey, $$props.config.lang)
|
|
5505
6572
|
]
|
|
5506
6573
|
);
|
|
5507
|
-
append($$anchor3,
|
|
6574
|
+
append($$anchor3, section_2);
|
|
5508
6575
|
};
|
|
5509
|
-
if_block(
|
|
5510
|
-
if (get(features).length > 0) $$render(
|
|
6576
|
+
if_block(node_5, ($$render) => {
|
|
6577
|
+
if (get(features).length > 0) $$render(consequent_4);
|
|
5511
6578
|
});
|
|
5512
6579
|
}
|
|
5513
|
-
append($$anchor2,
|
|
6580
|
+
append($$anchor2, fragment);
|
|
5514
6581
|
});
|
|
5515
|
-
append($$anchor,
|
|
6582
|
+
append($$anchor, div);
|
|
5516
6583
|
pop();
|
|
5517
6584
|
}
|
|
5518
6585
|
delegate(["click"]);
|
|
@@ -5547,7 +6614,7 @@ function PanelFooter($$anchor, $$props) {
|
|
|
5547
6614
|
append($$anchor, div);
|
|
5548
6615
|
pop();
|
|
5549
6616
|
}
|
|
5550
|
-
var root = /* @__PURE__ */ from_html(`<div class="sr-only" role="status" aria-live="polite" aria-atomic="true"> </div> <!> <div class="accessify-panel" role="dialog"><!> <!> <!>
|
|
6617
|
+
var root = /* @__PURE__ */ from_html(`<div class="sr-only" role="status" aria-live="polite" aria-atomic="true"> </div> <!> <div class="accessify-panel" role="dialog"><!> <!> <!> <!></div>`, 1);
|
|
5551
6618
|
function WidgetApp($$anchor, $$props) {
|
|
5552
6619
|
push($$props, true);
|
|
5553
6620
|
let config2 = prop($$props, "config", 7);
|
|
@@ -5557,10 +6624,8 @@ function WidgetApp($$anchor, $$props) {
|
|
|
5557
6624
|
let panelEl = /* @__PURE__ */ state(null);
|
|
5558
6625
|
let triggerEl = /* @__PURE__ */ state(null);
|
|
5559
6626
|
let announcement = /* @__PURE__ */ state("");
|
|
5560
|
-
let
|
|
5561
|
-
let widgetLang = /* @__PURE__ */ state(proxy(config2().lang || "en"));
|
|
6627
|
+
let widgetLang = /* @__PURE__ */ state("en");
|
|
5562
6628
|
const STORAGE_KEY = "accessify-prefs";
|
|
5563
|
-
const PROFILE_STORAGE_KEY = "accessify-profile";
|
|
5564
6629
|
let activeCount = /* @__PURE__ */ user_derived(() => Array.from(get(activeFeatures).values()).filter(Boolean).length);
|
|
5565
6630
|
function announce(message) {
|
|
5566
6631
|
set(announcement, "");
|
|
@@ -5575,8 +6640,6 @@ function WidgetApp($$anchor, $$props) {
|
|
|
5575
6640
|
const prefs = JSON.parse(saved);
|
|
5576
6641
|
set(activeFeatures, new Map(Object.entries(prefs)), true);
|
|
5577
6642
|
}
|
|
5578
|
-
const savedProfile = localStorage.getItem(PROFILE_STORAGE_KEY);
|
|
5579
|
-
if (savedProfile) set(activeProfileId, savedProfile, true);
|
|
5580
6643
|
} catch {
|
|
5581
6644
|
}
|
|
5582
6645
|
}
|
|
@@ -5584,11 +6647,6 @@ function WidgetApp($$anchor, $$props) {
|
|
|
5584
6647
|
try {
|
|
5585
6648
|
const obj = Object.fromEntries(get(activeFeatures));
|
|
5586
6649
|
localStorage.setItem(STORAGE_KEY, JSON.stringify(obj));
|
|
5587
|
-
if (get(activeProfileId)) {
|
|
5588
|
-
localStorage.setItem(PROFILE_STORAGE_KEY, get(activeProfileId));
|
|
5589
|
-
} else {
|
|
5590
|
-
localStorage.removeItem(PROFILE_STORAGE_KEY);
|
|
5591
|
-
}
|
|
5592
6650
|
} catch {
|
|
5593
6651
|
}
|
|
5594
6652
|
}
|
|
@@ -5613,6 +6671,17 @@ function WidgetApp($$anchor, $$props) {
|
|
|
5613
6671
|
else mount2.setAttribute("data-theme", get(currentTheme));
|
|
5614
6672
|
}
|
|
5615
6673
|
}
|
|
6674
|
+
function applyLanguage() {
|
|
6675
|
+
const mount2 = $$props.shadow.getElementById("accessify-mount");
|
|
6676
|
+
const dir = isRtlLang(get(widgetLang)) ? "rtl" : "ltr";
|
|
6677
|
+
if (mount2) {
|
|
6678
|
+
mount2.setAttribute("lang", get(widgetLang));
|
|
6679
|
+
mount2.setAttribute("dir", dir);
|
|
6680
|
+
}
|
|
6681
|
+
$$props.shadow.host.setAttribute("lang", get(widgetLang));
|
|
6682
|
+
$$props.shadow.host.setAttribute("dir", dir);
|
|
6683
|
+
setCurrentWidgetLang(get(widgetLang));
|
|
6684
|
+
}
|
|
5616
6685
|
function open() {
|
|
5617
6686
|
set(isOpen, true);
|
|
5618
6687
|
requestAnimationFrame(() => {
|
|
@@ -5634,7 +6703,6 @@ function WidgetApp($$anchor, $$props) {
|
|
|
5634
6703
|
function handleFeatureToggle(id, enabled) {
|
|
5635
6704
|
get(activeFeatures).set(id, enabled);
|
|
5636
6705
|
set(activeFeatures, new Map(get(activeFeatures)), true);
|
|
5637
|
-
set(activeProfileId, null);
|
|
5638
6706
|
savePrefs();
|
|
5639
6707
|
const featureKey = `feature.${id.replace(/-([a-z])/g, (_, c) => c.toUpperCase())}`;
|
|
5640
6708
|
const name = t(featureKey, get(widgetLang)) || id;
|
|
@@ -5643,33 +6711,14 @@ function WidgetApp($$anchor, $$props) {
|
|
|
5643
6711
|
}
|
|
5644
6712
|
function resetAll() {
|
|
5645
6713
|
set(activeFeatures, /* @__PURE__ */ new Map(), true);
|
|
5646
|
-
set(activeProfileId, null);
|
|
5647
6714
|
savePrefs();
|
|
5648
6715
|
window.dispatchEvent(new CustomEvent("accessify:reset"));
|
|
5649
6716
|
announce(t("widget.resetConfirm", get(widgetLang)));
|
|
5650
6717
|
}
|
|
5651
|
-
function handleProfileActivate(profile) {
|
|
5652
|
-
if (get(activeProfileId) === profile.id) {
|
|
5653
|
-
resetAll();
|
|
5654
|
-
return;
|
|
5655
|
-
}
|
|
5656
|
-
window.dispatchEvent(new CustomEvent("accessify:reset"));
|
|
5657
|
-
const newActive = /* @__PURE__ */ new Map();
|
|
5658
|
-
for (const featureId of profile.features) {
|
|
5659
|
-
newActive.set(featureId, true);
|
|
5660
|
-
}
|
|
5661
|
-
set(activeFeatures, newActive, true);
|
|
5662
|
-
set(activeProfileId, profile.id, true);
|
|
5663
|
-
savePrefs();
|
|
5664
|
-
for (const featureId of profile.features) {
|
|
5665
|
-
window.dispatchEvent(new CustomEvent("accessify:feature-activate", { detail: { id: featureId } }));
|
|
5666
|
-
}
|
|
5667
|
-
const profileName = t(profile.nameKey, get(widgetLang));
|
|
5668
|
-
announce(`${profileName} ${t("status.activated", get(widgetLang))}`);
|
|
5669
|
-
}
|
|
5670
6718
|
function handleLangChange(newLang) {
|
|
5671
|
-
set(widgetLang, newLang, true);
|
|
5672
|
-
config2().lang =
|
|
6719
|
+
set(widgetLang, getSupportedLang(newLang), true);
|
|
6720
|
+
config2().lang = get(widgetLang);
|
|
6721
|
+
applyLanguage();
|
|
5673
6722
|
}
|
|
5674
6723
|
function handleKeydown(e) {
|
|
5675
6724
|
if (e.key === "Escape" && get(isOpen)) {
|
|
@@ -5692,20 +6741,12 @@ function WidgetApp($$anchor, $$props) {
|
|
|
5692
6741
|
}
|
|
5693
6742
|
}
|
|
5694
6743
|
}
|
|
5695
|
-
function restoreSavedFeatures() {
|
|
5696
|
-
for (const [id, enabled] of get(activeFeatures)) {
|
|
5697
|
-
if (enabled) {
|
|
5698
|
-
window.dispatchEvent(new CustomEvent("accessify:feature-activate", { detail: { id } }));
|
|
5699
|
-
}
|
|
5700
|
-
}
|
|
5701
|
-
}
|
|
5702
6744
|
onMount(() => {
|
|
6745
|
+
set(widgetLang, getSupportedLang(config2().lang || "en"), true);
|
|
5703
6746
|
detectTheme();
|
|
5704
6747
|
applyTheme();
|
|
5705
6748
|
loadPrefs();
|
|
5706
|
-
|
|
5707
|
-
restoreSavedFeatures();
|
|
5708
|
-
});
|
|
6749
|
+
applyLanguage();
|
|
5709
6750
|
});
|
|
5710
6751
|
var $$exports = { open, close };
|
|
5711
6752
|
var fragment = root();
|
|
@@ -5749,19 +6790,9 @@ function WidgetApp($$anchor, $$props) {
|
|
|
5749
6790
|
onreset: resetAll
|
|
5750
6791
|
});
|
|
5751
6792
|
var node_3 = sibling(node_2, 2);
|
|
5752
|
-
ProfileSection(node_3, {
|
|
5753
|
-
get lang() {
|
|
5754
|
-
return get(widgetLang);
|
|
5755
|
-
},
|
|
5756
|
-
get activeProfileId() {
|
|
5757
|
-
return get(activeProfileId);
|
|
5758
|
-
},
|
|
5759
|
-
onactivate: handleProfileActivate
|
|
5760
|
-
});
|
|
5761
|
-
var node_4 = sibling(node_3, 2);
|
|
5762
6793
|
{
|
|
5763
6794
|
let $0 = /* @__PURE__ */ user_derived(() => ({ ...config2(), lang: get(widgetLang) }));
|
|
5764
|
-
FeatureGrid(
|
|
6795
|
+
FeatureGrid(node_3, {
|
|
5765
6796
|
get config() {
|
|
5766
6797
|
return get($0);
|
|
5767
6798
|
},
|
|
@@ -5771,8 +6802,8 @@ function WidgetApp($$anchor, $$props) {
|
|
|
5771
6802
|
ontoggle: handleFeatureToggle
|
|
5772
6803
|
});
|
|
5773
6804
|
}
|
|
5774
|
-
var
|
|
5775
|
-
PanelFooter(
|
|
6805
|
+
var node_4 = sibling(node_3, 2);
|
|
6806
|
+
PanelFooter(node_4, {
|
|
5776
6807
|
get lang() {
|
|
5777
6808
|
return get(widgetLang);
|
|
5778
6809
|
},
|
|
@@ -5782,12 +6813,17 @@ function WidgetApp($$anchor, $$props) {
|
|
|
5782
6813
|
});
|
|
5783
6814
|
bind_this(div_1, ($$value) => set(panelEl, $$value), () => get(panelEl));
|
|
5784
6815
|
template_effect(
|
|
5785
|
-
($0) => {
|
|
6816
|
+
($0, $1) => {
|
|
5786
6817
|
set_text(text, get(announcement));
|
|
5787
6818
|
set_attribute(div_1, "aria-label", $0);
|
|
5788
6819
|
set_attribute(div_1, "aria-hidden", !get(isOpen));
|
|
6820
|
+
set_attribute(div_1, "dir", $1);
|
|
6821
|
+
div_1.dir = div_1.dir;
|
|
5789
6822
|
},
|
|
5790
|
-
[
|
|
6823
|
+
[
|
|
6824
|
+
() => t("widget.title", get(widgetLang)),
|
|
6825
|
+
() => isRtlLang(get(widgetLang)) ? "rtl" : "ltr"
|
|
6826
|
+
]
|
|
5791
6827
|
);
|
|
5792
6828
|
append($$anchor, fragment);
|
|
5793
6829
|
return pop($$exports);
|
|
@@ -5801,14 +6837,9 @@ function createWidgetStyles(config2) {
|
|
|
5801
6837
|
const isBottom = pos.includes("bottom");
|
|
5802
6838
|
const z = config2.zIndex || 999999;
|
|
5803
6839
|
return `
|
|
5804
|
-
/* ===================================================================
|
|
5805
|
-
DESIGN TOKENS
|
|
5806
|
-
=================================================================== */
|
|
5807
|
-
|
|
5808
6840
|
:host {
|
|
5809
6841
|
all: initial;
|
|
5810
|
-
font-family: -
|
|
5811
|
-
'Helvetica Neue', Arial, sans-serif;
|
|
6842
|
+
font-family: ui-rounded, "SF Pro Rounded", "Avenir Next", "Segoe UI", sans-serif;
|
|
5812
6843
|
font-size: 15px;
|
|
5813
6844
|
line-height: 1.5;
|
|
5814
6845
|
color-scheme: light dark;
|
|
@@ -5821,7 +6852,6 @@ function createWidgetStyles(config2) {
|
|
|
5821
6852
|
}
|
|
5822
6853
|
|
|
5823
6854
|
#accessify-mount {
|
|
5824
|
-
/* Spacing scale (4px base) */
|
|
5825
6855
|
--space-1: 4px;
|
|
5826
6856
|
--space-2: 8px;
|
|
5827
6857
|
--space-3: 12px;
|
|
@@ -5829,84 +6859,76 @@ function createWidgetStyles(config2) {
|
|
|
5829
6859
|
--space-5: 20px;
|
|
5830
6860
|
--space-6: 24px;
|
|
5831
6861
|
--space-7: 32px;
|
|
5832
|
-
--
|
|
5833
|
-
|
|
5834
|
-
|
|
5835
|
-
--radius-
|
|
5836
|
-
--radius-md: 10px;
|
|
5837
|
-
--radius-lg: 14px;
|
|
5838
|
-
--radius-full: 9999px;
|
|
5839
|
-
|
|
5840
|
-
/* Typography */
|
|
6862
|
+
--radius-sm: 10px;
|
|
6863
|
+
--radius-md: 16px;
|
|
6864
|
+
--radius-lg: 24px;
|
|
6865
|
+
--radius-pill: 999px;
|
|
5841
6866
|
--text-xs: 11px;
|
|
5842
6867
|
--text-sm: 13px;
|
|
5843
6868
|
--text-base: 15px;
|
|
5844
|
-
--text-lg:
|
|
5845
|
-
--text-xl:
|
|
5846
|
-
--font-normal: 400;
|
|
6869
|
+
--text-lg: 18px;
|
|
6870
|
+
--text-xl: 24px;
|
|
5847
6871
|
--font-medium: 500;
|
|
5848
6872
|
--font-semibold: 600;
|
|
5849
|
-
|
|
5850
|
-
|
|
5851
|
-
--
|
|
5852
|
-
--
|
|
5853
|
-
--
|
|
5854
|
-
|
|
5855
|
-
|
|
5856
|
-
--
|
|
5857
|
-
--
|
|
5858
|
-
--
|
|
5859
|
-
--
|
|
5860
|
-
--
|
|
5861
|
-
--
|
|
5862
|
-
--
|
|
5863
|
-
--text-on-
|
|
5864
|
-
--
|
|
5865
|
-
--
|
|
5866
|
-
--
|
|
5867
|
-
--
|
|
5868
|
-
--error: #CC0000;
|
|
5869
|
-
|
|
5870
|
-
/* Transition */
|
|
5871
|
-
--transition-fast: 120ms ease;
|
|
5872
|
-
--transition-normal: 200ms ease;
|
|
6873
|
+
--font-bold: 700;
|
|
6874
|
+
--surface: #f6efe4;
|
|
6875
|
+
--surface-strong: #fffdf9;
|
|
6876
|
+
--surface-muted: #ece4d8;
|
|
6877
|
+
--surface-tint: #e2eee8;
|
|
6878
|
+
--text: #17212b;
|
|
6879
|
+
--text-secondary: #52616f;
|
|
6880
|
+
--border: rgba(23, 33, 43, 0.12);
|
|
6881
|
+
--border-strong: rgba(23, 33, 43, 0.22);
|
|
6882
|
+
--accent: #0f766e;
|
|
6883
|
+
--accent-strong: #0b5c56;
|
|
6884
|
+
--accent-soft: rgba(15, 118, 110, 0.12);
|
|
6885
|
+
--signal: #c97a1e;
|
|
6886
|
+
--signal-soft: rgba(201, 122, 30, 0.14);
|
|
6887
|
+
--text-on-accent: #ffffff;
|
|
6888
|
+
--shadow-sm: 0 12px 24px rgba(16, 24, 32, 0.08);
|
|
6889
|
+
--shadow-lg: 0 28px 80px rgba(9, 21, 30, 0.2);
|
|
6890
|
+
--transition-fast: 140ms ease;
|
|
6891
|
+
--transition-normal: 220ms ease;
|
|
5873
6892
|
}
|
|
5874
6893
|
|
|
5875
|
-
/* ── Dark mode ── */
|
|
5876
6894
|
@media (prefers-color-scheme: dark) {
|
|
5877
6895
|
#accessify-mount:not([data-theme="light"]) {
|
|
5878
|
-
--
|
|
5879
|
-
--
|
|
5880
|
-
--
|
|
5881
|
-
--surface: #
|
|
5882
|
-
--
|
|
5883
|
-
--text: #
|
|
5884
|
-
--
|
|
5885
|
-
--
|
|
5886
|
-
--
|
|
5887
|
-
--
|
|
5888
|
-
--
|
|
6896
|
+
--surface: #0f1a22;
|
|
6897
|
+
--surface-strong: #132330;
|
|
6898
|
+
--surface-muted: #1a2b38;
|
|
6899
|
+
--surface-tint: #17323a;
|
|
6900
|
+
--text: #f4f7fa;
|
|
6901
|
+
--text-secondary: #b4c3ce;
|
|
6902
|
+
--border: rgba(244, 247, 250, 0.12);
|
|
6903
|
+
--border-strong: rgba(244, 247, 250, 0.22);
|
|
6904
|
+
--accent: #2dd4bf;
|
|
6905
|
+
--accent-strong: #16b5a1;
|
|
6906
|
+
--accent-soft: rgba(45, 212, 191, 0.12);
|
|
6907
|
+
--signal: #f6ad55;
|
|
6908
|
+
--signal-soft: rgba(246, 173, 85, 0.16);
|
|
6909
|
+
--shadow-sm: 0 12px 24px rgba(0, 0, 0, 0.28);
|
|
6910
|
+
--shadow-lg: 0 28px 80px rgba(0, 0, 0, 0.45);
|
|
5889
6911
|
}
|
|
5890
6912
|
}
|
|
5891
6913
|
|
|
5892
6914
|
#accessify-mount[data-theme="dark"] {
|
|
5893
|
-
--
|
|
5894
|
-
--
|
|
5895
|
-
--
|
|
5896
|
-
--surface: #
|
|
5897
|
-
--
|
|
5898
|
-
--text: #
|
|
5899
|
-
--
|
|
5900
|
-
--
|
|
5901
|
-
--
|
|
5902
|
-
--
|
|
5903
|
-
--
|
|
6915
|
+
--surface: #0f1a22;
|
|
6916
|
+
--surface-strong: #132330;
|
|
6917
|
+
--surface-muted: #1a2b38;
|
|
6918
|
+
--surface-tint: #17323a;
|
|
6919
|
+
--text: #f4f7fa;
|
|
6920
|
+
--text-secondary: #b4c3ce;
|
|
6921
|
+
--border: rgba(244, 247, 250, 0.12);
|
|
6922
|
+
--border-strong: rgba(244, 247, 250, 0.22);
|
|
6923
|
+
--accent: #2dd4bf;
|
|
6924
|
+
--accent-strong: #16b5a1;
|
|
6925
|
+
--accent-soft: rgba(45, 212, 191, 0.12);
|
|
6926
|
+
--signal: #f6ad55;
|
|
6927
|
+
--signal-soft: rgba(246, 173, 85, 0.16);
|
|
6928
|
+
--shadow-sm: 0 12px 24px rgba(0, 0, 0, 0.28);
|
|
6929
|
+
--shadow-lg: 0 28px 80px rgba(0, 0, 0, 0.45);
|
|
5904
6930
|
}
|
|
5905
6931
|
|
|
5906
|
-
/* ===================================================================
|
|
5907
|
-
UTILITIES
|
|
5908
|
-
=================================================================== */
|
|
5909
|
-
|
|
5910
6932
|
.sr-only {
|
|
5911
6933
|
position: absolute;
|
|
5912
6934
|
width: 1px;
|
|
@@ -5920,73 +6942,72 @@ function createWidgetStyles(config2) {
|
|
|
5920
6942
|
}
|
|
5921
6943
|
|
|
5922
6944
|
*:focus-visible {
|
|
5923
|
-
outline: 3px solid var(--
|
|
5924
|
-
outline-offset:
|
|
5925
|
-
border-radius:
|
|
6945
|
+
outline: 3px solid var(--signal);
|
|
6946
|
+
outline-offset: 3px;
|
|
6947
|
+
border-radius: 12px;
|
|
5926
6948
|
}
|
|
5927
6949
|
|
|
5928
|
-
/* ===================================================================
|
|
5929
|
-
TRIGGER BUTTON (FAB)
|
|
5930
|
-
=================================================================== */
|
|
5931
|
-
|
|
5932
6950
|
.accessify-trigger {
|
|
5933
6951
|
position: fixed;
|
|
5934
6952
|
${isBottom ? "bottom: 20px" : "top: 20px"};
|
|
5935
6953
|
${isRight ? "right: 20px" : "left: 20px"};
|
|
5936
6954
|
z-index: ${z};
|
|
5937
|
-
width:
|
|
5938
|
-
height:
|
|
5939
|
-
border-radius: var(--radius-full);
|
|
6955
|
+
width: 64px;
|
|
6956
|
+
height: 64px;
|
|
5940
6957
|
border: none;
|
|
5941
|
-
|
|
5942
|
-
|
|
6958
|
+
border-radius: 22px;
|
|
6959
|
+
background:
|
|
6960
|
+
radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.22), transparent 42%),
|
|
6961
|
+
linear-gradient(145deg, #0f766e 0%, #144f67 55%, #c97a1e 100%);
|
|
6962
|
+
color: #ffffff;
|
|
5943
6963
|
cursor: pointer;
|
|
5944
6964
|
display: flex;
|
|
5945
6965
|
align-items: center;
|
|
5946
6966
|
justify-content: center;
|
|
5947
|
-
box-shadow:
|
|
5948
|
-
transition: transform var(--transition-fast), box-shadow var(--transition-fast);
|
|
6967
|
+
box-shadow: 0 18px 42px rgba(12, 36, 46, 0.34);
|
|
6968
|
+
transition: transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);
|
|
5949
6969
|
}
|
|
5950
6970
|
|
|
5951
6971
|
.accessify-trigger:hover {
|
|
5952
|
-
transform: scale(1.
|
|
5953
|
-
box-shadow:
|
|
5954
|
-
|
|
6972
|
+
transform: translateY(-2px) scale(1.02);
|
|
6973
|
+
box-shadow: 0 22px 48px rgba(12, 36, 46, 0.42);
|
|
6974
|
+
filter: saturate(1.06);
|
|
5955
6975
|
}
|
|
5956
6976
|
|
|
5957
6977
|
.accessify-trigger:active {
|
|
5958
|
-
transform: scale(0.
|
|
6978
|
+
transform: translateY(0) scale(0.98);
|
|
5959
6979
|
}
|
|
5960
6980
|
|
|
5961
6981
|
.accessify-trigger svg {
|
|
5962
|
-
width:
|
|
5963
|
-
height:
|
|
6982
|
+
width: 30px;
|
|
6983
|
+
height: 30px;
|
|
5964
6984
|
}
|
|
5965
6985
|
|
|
5966
|
-
/* ===================================================================
|
|
5967
|
-
PANEL
|
|
5968
|
-
=================================================================== */
|
|
5969
|
-
|
|
5970
6986
|
.accessify-panel {
|
|
5971
6987
|
position: fixed;
|
|
5972
|
-
${isBottom ? "bottom:
|
|
6988
|
+
${isBottom ? "bottom: 96px" : "top: 96px"};
|
|
5973
6989
|
${isRight ? "right: 20px" : "left: 20px"};
|
|
5974
6990
|
z-index: ${z - 1};
|
|
5975
|
-
width:
|
|
5976
|
-
max-height: calc(100vh -
|
|
5977
|
-
|
|
5978
|
-
|
|
5979
|
-
|
|
5980
|
-
border-radius:
|
|
5981
|
-
box-shadow: var(--shadow-lg);
|
|
6991
|
+
width: 476px;
|
|
6992
|
+
max-height: calc(100vh - 120px);
|
|
6993
|
+
display: flex;
|
|
6994
|
+
flex-direction: column;
|
|
6995
|
+
overflow: hidden;
|
|
6996
|
+
border-radius: 28px;
|
|
5982
6997
|
border: 1px solid var(--border);
|
|
6998
|
+
background:
|
|
6999
|
+
radial-gradient(circle at top right, rgba(201, 122, 30, 0.16), transparent 36%),
|
|
7000
|
+
linear-gradient(180deg, var(--surface-strong) 0%, var(--surface) 100%);
|
|
7001
|
+
color: var(--text);
|
|
7002
|
+
box-shadow: var(--shadow-lg);
|
|
5983
7003
|
transform-origin: ${isBottom ? "bottom" : "top"} ${isRight ? "right" : "left"};
|
|
5984
7004
|
transition: opacity var(--transition-normal), transform var(--transition-normal);
|
|
7005
|
+
backdrop-filter: blur(18px);
|
|
5985
7006
|
}
|
|
5986
7007
|
|
|
5987
7008
|
.accessify-panel[aria-hidden="true"] {
|
|
5988
7009
|
opacity: 0;
|
|
5989
|
-
transform: scale(0.96) translateY(${isBottom ? "
|
|
7010
|
+
transform: scale(0.96) translateY(${isBottom ? "12px" : "-12px"});
|
|
5990
7011
|
pointer-events: none;
|
|
5991
7012
|
display: none;
|
|
5992
7013
|
}
|
|
@@ -5996,276 +7017,357 @@ function createWidgetStyles(config2) {
|
|
|
5996
7017
|
transform: scale(1) translateY(0);
|
|
5997
7018
|
}
|
|
5998
7019
|
|
|
5999
|
-
|
|
6000
|
-
.accessify-panel-scroll {
|
|
7020
|
+
.accessify-header {
|
|
6001
7021
|
position: relative;
|
|
7022
|
+
display: grid;
|
|
7023
|
+
gap: var(--space-4);
|
|
7024
|
+
padding: var(--space-5);
|
|
7025
|
+
background:
|
|
7026
|
+
radial-gradient(circle at top left, rgba(255, 255, 255, 0.12), transparent 34%),
|
|
7027
|
+
linear-gradient(145deg, #0f2430 0%, #103e4c 52%, #1a5d4b 100%);
|
|
7028
|
+
color: #f5fbff;
|
|
6002
7029
|
}
|
|
6003
7030
|
|
|
6004
|
-
|
|
6005
|
-
|
|
6006
|
-
|
|
7031
|
+
.accessify-header-copy {
|
|
7032
|
+
display: grid;
|
|
7033
|
+
gap: var(--space-2);
|
|
7034
|
+
}
|
|
6007
7035
|
|
|
6008
|
-
.accessify-header {
|
|
6009
|
-
display: flex;
|
|
7036
|
+
.accessify-header-kicker {
|
|
7037
|
+
display: inline-flex;
|
|
6010
7038
|
align-items: center;
|
|
6011
|
-
|
|
6012
|
-
padding:
|
|
6013
|
-
border-
|
|
6014
|
-
background:
|
|
6015
|
-
|
|
6016
|
-
|
|
6017
|
-
|
|
7039
|
+
width: fit-content;
|
|
7040
|
+
padding: 6px 10px;
|
|
7041
|
+
border-radius: var(--radius-pill);
|
|
7042
|
+
background: rgba(255, 255, 255, 0.12);
|
|
7043
|
+
color: #ffe2b8;
|
|
7044
|
+
font-size: var(--text-xs);
|
|
7045
|
+
font-weight: var(--font-semibold);
|
|
7046
|
+
letter-spacing: 0.06em;
|
|
7047
|
+
text-transform: uppercase;
|
|
7048
|
+
}
|
|
7049
|
+
|
|
7050
|
+
.accessify-header-title {
|
|
7051
|
+
display: grid;
|
|
7052
|
+
gap: 6px;
|
|
6018
7053
|
}
|
|
6019
7054
|
|
|
6020
7055
|
.accessify-header h2 {
|
|
6021
|
-
font-size: var(--text-
|
|
6022
|
-
font-weight: var(--font-
|
|
6023
|
-
|
|
6024
|
-
margin: 0;
|
|
6025
|
-
flex: 1;
|
|
6026
|
-
min-width: 0;
|
|
7056
|
+
font-size: var(--text-xl);
|
|
7057
|
+
font-weight: var(--font-bold);
|
|
7058
|
+
line-height: 1.1;
|
|
6027
7059
|
}
|
|
6028
7060
|
|
|
6029
|
-
.accessify-header
|
|
7061
|
+
.accessify-header p {
|
|
7062
|
+
color: rgba(245, 251, 255, 0.82);
|
|
7063
|
+
font-size: var(--text-sm);
|
|
7064
|
+
max-width: 34ch;
|
|
7065
|
+
}
|
|
7066
|
+
|
|
7067
|
+
.accessify-header-toolbar {
|
|
6030
7068
|
display: flex;
|
|
6031
7069
|
align-items: center;
|
|
6032
|
-
gap: var(--space-
|
|
6033
|
-
|
|
7070
|
+
gap: var(--space-3);
|
|
7071
|
+
justify-content: space-between;
|
|
7072
|
+
flex-wrap: wrap;
|
|
6034
7073
|
}
|
|
6035
7074
|
|
|
6036
|
-
|
|
6037
|
-
|
|
6038
|
-
|
|
6039
|
-
border: 1px solid var(--border);
|
|
6040
|
-
border-radius: var(--radius-sm);
|
|
6041
|
-
padding: var(--space-1) var(--space-2);
|
|
6042
|
-
cursor: pointer;
|
|
6043
|
-
color: var(--text-secondary);
|
|
6044
|
-
display: flex;
|
|
7075
|
+
.accessify-language-picker {
|
|
7076
|
+
position: relative;
|
|
7077
|
+
display: inline-flex;
|
|
6045
7078
|
align-items: center;
|
|
6046
|
-
gap:
|
|
6047
|
-
|
|
7079
|
+
gap: 10px;
|
|
7080
|
+
min-width: 172px;
|
|
7081
|
+
padding: 0 14px;
|
|
7082
|
+
border-radius: 16px;
|
|
7083
|
+
border: 1px solid rgba(255, 255, 255, 0.16);
|
|
7084
|
+
background: rgba(10, 23, 29, 0.24);
|
|
7085
|
+
color: #ffffff;
|
|
7086
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
|
|
7087
|
+
}
|
|
7088
|
+
|
|
7089
|
+
.accessify-language-icon {
|
|
7090
|
+
display: inline-flex;
|
|
7091
|
+
align-items: center;
|
|
7092
|
+
justify-content: center;
|
|
7093
|
+
color: #9ce4da;
|
|
7094
|
+
}
|
|
7095
|
+
|
|
7096
|
+
.accessify-language-icon svg {
|
|
7097
|
+
width: 16px;
|
|
7098
|
+
height: 16px;
|
|
7099
|
+
}
|
|
7100
|
+
|
|
7101
|
+
.accessify-language-select {
|
|
7102
|
+
appearance: none;
|
|
7103
|
+
width: 100%;
|
|
7104
|
+
border: none;
|
|
7105
|
+
background: transparent;
|
|
7106
|
+
color: #ffffff;
|
|
7107
|
+
padding: 12px 0;
|
|
7108
|
+
font-size: var(--text-sm);
|
|
6048
7109
|
font-weight: var(--font-medium);
|
|
6049
|
-
|
|
6050
|
-
white-space: nowrap;
|
|
7110
|
+
cursor: pointer;
|
|
6051
7111
|
}
|
|
6052
7112
|
|
|
6053
|
-
.accessify-
|
|
6054
|
-
|
|
6055
|
-
color: var(--text);
|
|
7113
|
+
.accessify-language-select option {
|
|
7114
|
+
color: #17212b;
|
|
6056
7115
|
}
|
|
6057
7116
|
|
|
6058
|
-
.accessify-header-
|
|
6059
|
-
|
|
6060
|
-
|
|
7117
|
+
.accessify-header-actions {
|
|
7118
|
+
display: flex;
|
|
7119
|
+
align-items: center;
|
|
7120
|
+
gap: 10px;
|
|
7121
|
+
flex-wrap: wrap;
|
|
6061
7122
|
}
|
|
6062
7123
|
|
|
6063
|
-
|
|
6064
|
-
|
|
6065
|
-
|
|
6066
|
-
|
|
6067
|
-
|
|
6068
|
-
padding:
|
|
7124
|
+
.accessify-header-btn {
|
|
7125
|
+
display: inline-flex;
|
|
7126
|
+
align-items: center;
|
|
7127
|
+
justify-content: center;
|
|
7128
|
+
gap: 8px;
|
|
7129
|
+
padding: 11px 14px;
|
|
7130
|
+
border: 1px solid rgba(255, 255, 255, 0.16);
|
|
7131
|
+
border-radius: 16px;
|
|
7132
|
+
background: rgba(10, 23, 29, 0.24);
|
|
7133
|
+
color: #f5fbff;
|
|
6069
7134
|
cursor: pointer;
|
|
6070
|
-
|
|
6071
|
-
font-
|
|
6072
|
-
|
|
6073
|
-
text-transform: uppercase;
|
|
6074
|
-
letter-spacing: 0.5px;
|
|
6075
|
-
transition: background var(--transition-fast);
|
|
6076
|
-
min-width: 32px;
|
|
6077
|
-
text-align: center;
|
|
7135
|
+
font-size: var(--text-sm);
|
|
7136
|
+
font-weight: var(--font-medium);
|
|
7137
|
+
transition: background var(--transition-fast), transform var(--transition-fast), border-color var(--transition-fast);
|
|
6078
7138
|
}
|
|
6079
7139
|
|
|
6080
|
-
.accessify-
|
|
6081
|
-
background:
|
|
6082
|
-
color:
|
|
7140
|
+
.accessify-header-btn:hover {
|
|
7141
|
+
background: rgba(255, 255, 255, 0.12);
|
|
7142
|
+
border-color: rgba(255, 255, 255, 0.24);
|
|
7143
|
+
transform: translateY(-1px);
|
|
6083
7144
|
}
|
|
6084
7145
|
|
|
6085
|
-
|
|
6086
|
-
|
|
6087
|
-
|
|
7146
|
+
.accessify-header-btn svg {
|
|
7147
|
+
width: 16px;
|
|
7148
|
+
height: 16px;
|
|
7149
|
+
}
|
|
7150
|
+
|
|
7151
|
+
.accessify-header-btn--icon {
|
|
7152
|
+
width: 44px;
|
|
7153
|
+
padding-inline: 0;
|
|
7154
|
+
}
|
|
6088
7155
|
|
|
6089
7156
|
.accessify-status {
|
|
6090
7157
|
display: flex;
|
|
6091
7158
|
align-items: center;
|
|
6092
7159
|
justify-content: space-between;
|
|
6093
|
-
|
|
6094
|
-
|
|
7160
|
+
gap: var(--space-3);
|
|
7161
|
+
padding: 14px var(--space-5);
|
|
6095
7162
|
border-bottom: 1px solid var(--border);
|
|
6096
|
-
|
|
6097
|
-
color: var(--text-secondary);
|
|
7163
|
+
background: linear-gradient(180deg, rgba(15, 118, 110, 0.06), transparent);
|
|
6098
7164
|
}
|
|
6099
7165
|
|
|
6100
7166
|
.accessify-status-count {
|
|
7167
|
+
display: inline-flex;
|
|
7168
|
+
align-items: center;
|
|
7169
|
+
gap: 8px;
|
|
7170
|
+
min-height: 36px;
|
|
7171
|
+
padding: 0 14px;
|
|
7172
|
+
border-radius: var(--radius-pill);
|
|
7173
|
+
background: var(--accent-soft);
|
|
7174
|
+
color: var(--accent-strong);
|
|
7175
|
+
font-size: var(--text-sm);
|
|
6101
7176
|
font-weight: var(--font-semibold);
|
|
6102
|
-
color: var(--primary);
|
|
6103
7177
|
}
|
|
6104
7178
|
|
|
6105
7179
|
.accessify-status-count[data-count="0"] {
|
|
7180
|
+
background: var(--surface-muted);
|
|
6106
7181
|
color: var(--text-secondary);
|
|
6107
7182
|
}
|
|
6108
7183
|
|
|
6109
7184
|
.accessify-status-reset {
|
|
6110
|
-
background: none;
|
|
6111
7185
|
border: none;
|
|
7186
|
+
background: none;
|
|
6112
7187
|
color: var(--text-secondary);
|
|
6113
7188
|
cursor: pointer;
|
|
6114
|
-
font-size: var(--text-
|
|
6115
|
-
|
|
6116
|
-
|
|
6117
|
-
transition: color var(--transition-fast)
|
|
7189
|
+
font-size: var(--text-sm);
|
|
7190
|
+
font-weight: var(--font-medium);
|
|
7191
|
+
padding: 8px 0;
|
|
7192
|
+
transition: color var(--transition-fast);
|
|
6118
7193
|
}
|
|
6119
7194
|
|
|
6120
7195
|
.accessify-status-reset:hover {
|
|
6121
|
-
color: var(--
|
|
6122
|
-
background: color-mix(in srgb, var(--error) 8%, transparent);
|
|
7196
|
+
color: var(--signal);
|
|
6123
7197
|
}
|
|
6124
7198
|
|
|
6125
|
-
|
|
6126
|
-
|
|
6127
|
-
|
|
7199
|
+
.accessify-body {
|
|
7200
|
+
display: grid;
|
|
7201
|
+
gap: var(--space-4);
|
|
7202
|
+
padding: var(--space-4);
|
|
7203
|
+
overflow-y: auto;
|
|
7204
|
+
}
|
|
6128
7205
|
|
|
6129
|
-
.accessify-
|
|
6130
|
-
|
|
6131
|
-
|
|
7206
|
+
.accessify-section {
|
|
7207
|
+
display: grid;
|
|
7208
|
+
gap: var(--space-4);
|
|
7209
|
+
padding: var(--space-4);
|
|
7210
|
+
border-radius: var(--radius-lg);
|
|
7211
|
+
border: 1px solid var(--border);
|
|
7212
|
+
background: rgba(255, 255, 255, 0.32);
|
|
7213
|
+
box-shadow: var(--shadow-sm);
|
|
6132
7214
|
}
|
|
6133
7215
|
|
|
6134
|
-
.accessify-section
|
|
6135
|
-
|
|
6136
|
-
|
|
6137
|
-
|
|
6138
|
-
letter-spacing: 0.6px;
|
|
6139
|
-
color: var(--text-secondary);
|
|
6140
|
-
margin-bottom: var(--space-1);
|
|
7216
|
+
.accessify-section--spotlight {
|
|
7217
|
+
background:
|
|
7218
|
+
linear-gradient(180deg, rgba(15, 118, 110, 0.08) 0%, rgba(255, 255, 255, 0.28) 100%);
|
|
7219
|
+
border-color: color-mix(in srgb, var(--accent) 24%, var(--border));
|
|
6141
7220
|
}
|
|
6142
7221
|
|
|
6143
|
-
.accessify-
|
|
7222
|
+
.accessify-section-head {
|
|
6144
7223
|
display: flex;
|
|
6145
|
-
|
|
6146
|
-
|
|
6147
|
-
|
|
6148
|
-
-webkit-overflow-scrolling: touch;
|
|
7224
|
+
align-items: flex-start;
|
|
7225
|
+
justify-content: space-between;
|
|
7226
|
+
gap: var(--space-3);
|
|
6149
7227
|
}
|
|
6150
7228
|
|
|
6151
|
-
.accessify-
|
|
6152
|
-
|
|
7229
|
+
.accessify-section-head h3 {
|
|
7230
|
+
font-size: var(--text-lg);
|
|
7231
|
+
font-weight: var(--font-semibold);
|
|
7232
|
+
line-height: 1.15;
|
|
7233
|
+
color: var(--text);
|
|
6153
7234
|
}
|
|
6154
7235
|
|
|
6155
|
-
.accessify-
|
|
6156
|
-
|
|
6157
|
-
|
|
7236
|
+
.accessify-section-head p {
|
|
7237
|
+
margin-top: 6px;
|
|
7238
|
+
color: var(--text-secondary);
|
|
7239
|
+
font-size: var(--text-sm);
|
|
7240
|
+
max-width: 46ch;
|
|
7241
|
+
}
|
|
7242
|
+
|
|
7243
|
+
.accessify-section-kicker {
|
|
7244
|
+
display: inline-flex;
|
|
6158
7245
|
align-items: center;
|
|
6159
|
-
|
|
6160
|
-
|
|
6161
|
-
|
|
6162
|
-
|
|
6163
|
-
|
|
6164
|
-
|
|
6165
|
-
cursor: pointer;
|
|
6166
|
-
transition: all var(--transition-fast);
|
|
6167
|
-
min-width: 68px;
|
|
6168
|
-
text-align: center;
|
|
6169
|
-
flex-shrink: 0;
|
|
6170
|
-
font-size: 10px;
|
|
6171
|
-
line-height: 1.2;
|
|
7246
|
+
margin-bottom: 8px;
|
|
7247
|
+
color: var(--signal);
|
|
7248
|
+
font-size: var(--text-xs);
|
|
7249
|
+
font-weight: var(--font-semibold);
|
|
7250
|
+
letter-spacing: 0.06em;
|
|
7251
|
+
text-transform: uppercase;
|
|
6172
7252
|
}
|
|
6173
7253
|
|
|
6174
|
-
.accessify-
|
|
6175
|
-
|
|
6176
|
-
|
|
7254
|
+
.accessify-control-grid {
|
|
7255
|
+
display: grid;
|
|
7256
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
7257
|
+
gap: var(--space-3);
|
|
6177
7258
|
}
|
|
6178
7259
|
|
|
6179
|
-
.accessify-
|
|
6180
|
-
|
|
6181
|
-
|
|
6182
|
-
|
|
6183
|
-
|
|
7260
|
+
.accessify-control-card {
|
|
7261
|
+
display: grid;
|
|
7262
|
+
gap: var(--space-3);
|
|
7263
|
+
padding: var(--space-4);
|
|
7264
|
+
border-radius: 22px;
|
|
7265
|
+
border: 1px solid var(--border);
|
|
7266
|
+
background: var(--surface-strong);
|
|
6184
7267
|
}
|
|
6185
7268
|
|
|
6186
|
-
.accessify-
|
|
6187
|
-
|
|
6188
|
-
|
|
7269
|
+
.accessify-control-copy {
|
|
7270
|
+
display: grid;
|
|
7271
|
+
grid-template-columns: auto 1fr;
|
|
7272
|
+
gap: var(--space-3);
|
|
7273
|
+
align-items: start;
|
|
6189
7274
|
}
|
|
6190
7275
|
|
|
6191
|
-
|
|
6192
|
-
|
|
6193
|
-
|
|
7276
|
+
.accessify-control-copy h4 {
|
|
7277
|
+
font-size: var(--text-base);
|
|
7278
|
+
font-weight: var(--font-semibold);
|
|
7279
|
+
color: var(--text);
|
|
7280
|
+
}
|
|
6194
7281
|
|
|
6195
|
-
.accessify-
|
|
6196
|
-
|
|
7282
|
+
.accessify-control-copy p {
|
|
7283
|
+
margin-top: 4px;
|
|
7284
|
+
color: var(--text-secondary);
|
|
7285
|
+
font-size: var(--text-sm);
|
|
6197
7286
|
}
|
|
6198
7287
|
|
|
6199
|
-
.accessify-
|
|
6200
|
-
|
|
7288
|
+
.accessify-chip-group {
|
|
7289
|
+
display: flex;
|
|
7290
|
+
flex-wrap: wrap;
|
|
7291
|
+
gap: 8px;
|
|
6201
7292
|
}
|
|
6202
7293
|
|
|
6203
|
-
.accessify-
|
|
6204
|
-
|
|
6205
|
-
|
|
6206
|
-
|
|
6207
|
-
|
|
6208
|
-
|
|
6209
|
-
|
|
6210
|
-
|
|
7294
|
+
.accessify-chip {
|
|
7295
|
+
min-height: 40px;
|
|
7296
|
+
padding: 0 14px;
|
|
7297
|
+
border-radius: var(--radius-pill);
|
|
7298
|
+
border: 1px solid var(--border);
|
|
7299
|
+
background: var(--surface);
|
|
7300
|
+
color: var(--text);
|
|
7301
|
+
cursor: pointer;
|
|
7302
|
+
font-size: var(--text-sm);
|
|
7303
|
+
font-weight: var(--font-medium);
|
|
7304
|
+
transition: transform var(--transition-fast), background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
|
|
6211
7305
|
}
|
|
6212
7306
|
|
|
6213
|
-
|
|
6214
|
-
|
|
6215
|
-
|
|
7307
|
+
.accessify-chip:hover {
|
|
7308
|
+
transform: translateY(-1px);
|
|
7309
|
+
border-color: var(--border-strong);
|
|
7310
|
+
background: var(--surface-strong);
|
|
7311
|
+
}
|
|
7312
|
+
|
|
7313
|
+
.accessify-chip[data-active="true"] {
|
|
7314
|
+
background: linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);
|
|
7315
|
+
color: var(--text-on-accent);
|
|
7316
|
+
border-color: transparent;
|
|
7317
|
+
box-shadow: 0 12px 22px rgba(15, 118, 110, 0.24);
|
|
7318
|
+
}
|
|
7319
|
+
|
|
7320
|
+
.accessify-chip-group--sizes .accessify-chip {
|
|
7321
|
+
min-width: 68px;
|
|
7322
|
+
justify-content: center;
|
|
7323
|
+
}
|
|
6216
7324
|
|
|
6217
7325
|
.accessify-features {
|
|
6218
7326
|
display: grid;
|
|
6219
|
-
grid-template-columns: repeat(
|
|
6220
|
-
gap:
|
|
7327
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
7328
|
+
gap: var(--space-3);
|
|
6221
7329
|
}
|
|
6222
7330
|
|
|
6223
7331
|
.accessify-card {
|
|
6224
7332
|
position: relative;
|
|
6225
|
-
display:
|
|
6226
|
-
|
|
6227
|
-
align-
|
|
6228
|
-
|
|
6229
|
-
|
|
6230
|
-
|
|
6231
|
-
border:
|
|
6232
|
-
|
|
6233
|
-
background: var(--surface);
|
|
7333
|
+
display: grid;
|
|
7334
|
+
gap: 10px;
|
|
7335
|
+
align-content: start;
|
|
7336
|
+
min-height: 156px;
|
|
7337
|
+
padding: var(--space-4);
|
|
7338
|
+
border-radius: 22px;
|
|
7339
|
+
border: 1px solid var(--border);
|
|
7340
|
+
background: color-mix(in srgb, var(--surface-strong) 88%, transparent);
|
|
6234
7341
|
color: var(--text);
|
|
6235
7342
|
cursor: pointer;
|
|
6236
|
-
|
|
6237
|
-
text-align: center;
|
|
6238
|
-
min-height: 48px;
|
|
7343
|
+
text-align: left;
|
|
6239
7344
|
font-family: inherit;
|
|
6240
7345
|
font-size: inherit;
|
|
6241
|
-
|
|
7346
|
+
transition: transform var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);
|
|
6242
7347
|
}
|
|
6243
7348
|
|
|
6244
7349
|
.accessify-card:hover {
|
|
6245
|
-
|
|
6246
|
-
|
|
7350
|
+
transform: translateY(-2px);
|
|
7351
|
+
border-color: color-mix(in srgb, var(--accent) 28%, var(--border));
|
|
6247
7352
|
box-shadow: var(--shadow-sm);
|
|
6248
7353
|
}
|
|
6249
7354
|
|
|
6250
|
-
|
|
6251
|
-
|
|
6252
|
-
background:
|
|
6253
|
-
|
|
6254
|
-
|
|
6255
|
-
/* Compensate for thicker border to prevent layout shift */
|
|
6256
|
-
padding: calc(6px - 0.5px) calc(var(--space-1) - 0.5px);
|
|
7355
|
+
.accessify-card[data-active="true"] {
|
|
7356
|
+
border-color: color-mix(in srgb, var(--accent) 55%, var(--border));
|
|
7357
|
+
background:
|
|
7358
|
+
linear-gradient(180deg, rgba(15, 118, 110, 0.08) 0%, rgba(255, 255, 255, 0.18) 100%);
|
|
7359
|
+
box-shadow: 0 18px 32px rgba(15, 118, 110, 0.16);
|
|
6257
7360
|
}
|
|
6258
7361
|
|
|
6259
|
-
|
|
6260
|
-
.accessify-card[aria-checked="true"]::after {
|
|
7362
|
+
.accessify-card[data-active="true"]::after {
|
|
6261
7363
|
content: '';
|
|
6262
7364
|
position: absolute;
|
|
6263
|
-
top:
|
|
6264
|
-
right:
|
|
6265
|
-
width:
|
|
6266
|
-
height:
|
|
6267
|
-
border-radius:
|
|
6268
|
-
background: var(--
|
|
7365
|
+
top: 14px;
|
|
7366
|
+
right: 14px;
|
|
7367
|
+
width: 20px;
|
|
7368
|
+
height: 20px;
|
|
7369
|
+
border-radius: 999px;
|
|
7370
|
+
background: var(--accent);
|
|
6269
7371
|
mask-image: url("data:image/svg+xml,${CHECKMARK_SVG}");
|
|
6270
7372
|
mask-size: 12px;
|
|
6271
7373
|
mask-repeat: no-repeat;
|
|
@@ -6276,91 +7378,66 @@ function createWidgetStyles(config2) {
|
|
|
6276
7378
|
-webkit-mask-position: center;
|
|
6277
7379
|
}
|
|
6278
7380
|
|
|
6279
|
-
.accessify-card
|
|
6280
|
-
|
|
6281
|
-
|
|
6282
|
-
|
|
6283
|
-
|
|
6284
|
-
color: var(--primary);
|
|
6285
|
-
font-weight: var(--font-semibold);
|
|
7381
|
+
.accessify-card-top {
|
|
7382
|
+
display: flex;
|
|
7383
|
+
align-items: center;
|
|
7384
|
+
justify-content: space-between;
|
|
7385
|
+
gap: var(--space-2);
|
|
6286
7386
|
}
|
|
6287
7387
|
|
|
6288
7388
|
.accessify-card-icon {
|
|
6289
|
-
|
|
6290
|
-
|
|
7389
|
+
display: inline-flex;
|
|
7390
|
+
align-items: center;
|
|
7391
|
+
justify-content: center;
|
|
7392
|
+
width: 44px;
|
|
7393
|
+
height: 44px;
|
|
7394
|
+
border-radius: 16px;
|
|
7395
|
+
background: var(--surface-tint);
|
|
7396
|
+
color: var(--accent-strong);
|
|
7397
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
|
|
6291
7398
|
}
|
|
6292
7399
|
|
|
6293
7400
|
.accessify-card-icon svg {
|
|
6294
|
-
width:
|
|
6295
|
-
height:
|
|
7401
|
+
width: 20px;
|
|
7402
|
+
height: 20px;
|
|
6296
7403
|
}
|
|
6297
7404
|
|
|
6298
7405
|
.accessify-card-label {
|
|
6299
|
-
font-size:
|
|
6300
|
-
font-weight: var(--font-
|
|
6301
|
-
line-height: 1.
|
|
6302
|
-
|
|
6303
|
-
transition: color var(--transition-fast);
|
|
7406
|
+
font-size: var(--text-base);
|
|
7407
|
+
font-weight: var(--font-semibold);
|
|
7408
|
+
line-height: 1.2;
|
|
7409
|
+
color: var(--text);
|
|
6304
7410
|
}
|
|
6305
7411
|
|
|
6306
7412
|
.accessify-card-desc {
|
|
6307
|
-
|
|
7413
|
+
color: var(--text-secondary);
|
|
7414
|
+
font-size: var(--text-sm);
|
|
7415
|
+
line-height: 1.45;
|
|
6308
7416
|
}
|
|
6309
7417
|
|
|
6310
|
-
/* ===================================================================
|
|
6311
|
-
FOOTER
|
|
6312
|
-
=================================================================== */
|
|
6313
|
-
|
|
6314
7418
|
.accessify-footer {
|
|
6315
|
-
padding: var(--space-1) var(--space-3);
|
|
6316
|
-
border-top: 1px solid var(--border);
|
|
6317
|
-
font-size: 10px;
|
|
6318
|
-
color: var(--text-secondary);
|
|
6319
|
-
text-align: center;
|
|
6320
7419
|
display: flex;
|
|
6321
7420
|
align-items: center;
|
|
6322
7421
|
justify-content: center;
|
|
6323
7422
|
gap: var(--space-2);
|
|
7423
|
+
padding: 14px var(--space-5) var(--space-5);
|
|
7424
|
+
border-top: 1px solid var(--border);
|
|
7425
|
+
color: var(--text-secondary);
|
|
7426
|
+
font-size: var(--text-xs);
|
|
7427
|
+
text-align: center;
|
|
7428
|
+
background: linear-gradient(180deg, transparent, rgba(15, 118, 110, 0.04));
|
|
6324
7429
|
}
|
|
6325
7430
|
|
|
6326
7431
|
.accessify-footer a {
|
|
6327
|
-
color: var(--
|
|
7432
|
+
color: var(--accent-strong);
|
|
6328
7433
|
text-decoration: none;
|
|
7434
|
+
font-weight: var(--font-medium);
|
|
6329
7435
|
}
|
|
6330
7436
|
|
|
6331
7437
|
.accessify-footer a:hover {
|
|
6332
7438
|
text-decoration: underline;
|
|
6333
7439
|
}
|
|
6334
7440
|
|
|
6335
|
-
/* ===================================================================
|
|
6336
|
-
SUB-PANELS (sliders, selects)
|
|
6337
|
-
=================================================================== */
|
|
6338
|
-
|
|
6339
|
-
.accessify-subpanel {
|
|
6340
|
-
padding: var(--space-3) var(--space-5);
|
|
6341
|
-
background: var(--surface-raised);
|
|
6342
|
-
border-top: 1px solid var(--border);
|
|
6343
|
-
}
|
|
6344
|
-
|
|
6345
|
-
.accessify-slider {
|
|
6346
|
-
width: 100%;
|
|
6347
|
-
accent-color: var(--primary);
|
|
6348
|
-
}
|
|
6349
|
-
|
|
6350
|
-
.accessify-select {
|
|
6351
|
-
width: 100%;
|
|
6352
|
-
padding: var(--space-2) var(--space-3);
|
|
6353
|
-
border: 1px solid var(--border);
|
|
6354
|
-
border-radius: var(--radius-sm);
|
|
6355
|
-
background: var(--surface);
|
|
6356
|
-
color: var(--text);
|
|
6357
|
-
font-size: var(--text-sm);
|
|
6358
|
-
}
|
|
6359
|
-
|
|
6360
|
-
/* ===================================================================
|
|
6361
|
-
REDUCED MOTION
|
|
6362
|
-
=================================================================== */
|
|
6363
|
-
|
|
6364
7441
|
@media (prefers-reduced-motion: reduce) {
|
|
6365
7442
|
*, *::before, *::after {
|
|
6366
7443
|
animation-duration: 0.01ms !important;
|
|
@@ -6368,40 +7445,52 @@ function createWidgetStyles(config2) {
|
|
|
6368
7445
|
}
|
|
6369
7446
|
}
|
|
6370
7447
|
|
|
6371
|
-
|
|
6372
|
-
MOBILE RESPONSIVE
|
|
6373
|
-
=================================================================== */
|
|
6374
|
-
|
|
6375
|
-
@media (max-width: 480px) {
|
|
7448
|
+
@media (max-width: 560px) {
|
|
6376
7449
|
.accessify-panel {
|
|
6377
|
-
width:
|
|
6378
|
-
left:
|
|
6379
|
-
|
|
6380
|
-
|
|
6381
|
-
|
|
6382
|
-
|
|
7450
|
+
width: calc(100vw - 24px);
|
|
7451
|
+
${isRight ? "right: 12px" : "left: 12px"};
|
|
7452
|
+
${isBottom ? "bottom: 86px" : "top: 86px"};
|
|
7453
|
+
max-height: calc(100vh - 102px);
|
|
7454
|
+
}
|
|
7455
|
+
|
|
7456
|
+
.accessify-header,
|
|
7457
|
+
.accessify-status,
|
|
7458
|
+
.accessify-footer {
|
|
7459
|
+
padding-inline: var(--space-4);
|
|
7460
|
+
}
|
|
7461
|
+
|
|
7462
|
+
.accessify-body {
|
|
7463
|
+
padding: var(--space-3);
|
|
6383
7464
|
}
|
|
6384
7465
|
|
|
7466
|
+
.accessify-control-grid,
|
|
6385
7467
|
.accessify-features {
|
|
6386
|
-
grid-template-columns:
|
|
7468
|
+
grid-template-columns: 1fr;
|
|
6387
7469
|
}
|
|
6388
7470
|
|
|
6389
7471
|
.accessify-card {
|
|
6390
|
-
min-height:
|
|
6391
|
-
padding: var(--space-3);
|
|
7472
|
+
min-height: 0;
|
|
6392
7473
|
}
|
|
6393
7474
|
|
|
6394
7475
|
.accessify-trigger {
|
|
6395
7476
|
${isBottom ? "bottom: 16px" : "top: 16px"};
|
|
6396
7477
|
${isRight ? "right: 16px" : "left: 16px"};
|
|
6397
|
-
|
|
6398
|
-
|
|
6399
|
-
|
|
6400
|
-
display: none;
|
|
7478
|
+
width: 58px;
|
|
7479
|
+
height: 58px;
|
|
7480
|
+
border-radius: 20px;
|
|
6401
7481
|
}
|
|
6402
7482
|
}
|
|
6403
7483
|
`;
|
|
6404
7484
|
}
|
|
7485
|
+
const REMOVED_FEATURES = /* @__PURE__ */ new Set([
|
|
7486
|
+
"spacing",
|
|
7487
|
+
"dyslexia-font",
|
|
7488
|
+
"color-blind",
|
|
7489
|
+
"color-blindness",
|
|
7490
|
+
"saturation",
|
|
7491
|
+
"text-align",
|
|
7492
|
+
"line-height"
|
|
7493
|
+
]);
|
|
6405
7494
|
const DEFAULT_CONFIG = {
|
|
6406
7495
|
position: "bottom-right",
|
|
6407
7496
|
theme: "auto",
|
|
@@ -6409,14 +7498,8 @@ const DEFAULT_CONFIG = {
|
|
|
6409
7498
|
features: [
|
|
6410
7499
|
"contrast",
|
|
6411
7500
|
"text-size",
|
|
6412
|
-
"spacing",
|
|
6413
|
-
"dyslexia-font",
|
|
6414
|
-
"color-blindness",
|
|
6415
7501
|
"link-highlight",
|
|
6416
|
-
"saturation",
|
|
6417
7502
|
"hide-images",
|
|
6418
|
-
"text-align",
|
|
6419
|
-
"line-height",
|
|
6420
7503
|
"reading-guide",
|
|
6421
7504
|
"reading-mask",
|
|
6422
7505
|
"focus-highlight",
|
|
@@ -6439,13 +7522,11 @@ function init(userConfig = {}) {
|
|
|
6439
7522
|
if (widgetInstance) return;
|
|
6440
7523
|
const dataConfig = window.__accessify_dataConfig || {};
|
|
6441
7524
|
config = { ...DEFAULT_CONFIG, ...dataConfig, ...userConfig };
|
|
7525
|
+
config.features = (config.features || DEFAULT_CONFIG.features).filter((feature) => !REMOVED_FEATURES.has(feature));
|
|
6442
7526
|
containerEl = document.createElement("div");
|
|
6443
7527
|
containerEl.id = "accessify-root";
|
|
6444
7528
|
containerEl.setAttribute("role", "complementary");
|
|
6445
|
-
containerEl.setAttribute(
|
|
6446
|
-
"aria-label",
|
|
6447
|
-
config.lang?.startsWith("de") ? "Barrierefreiheit-Einstellungen" : "Accessibility settings"
|
|
6448
|
-
);
|
|
7529
|
+
containerEl.setAttribute("aria-label", t("widget.title", config.lang));
|
|
6449
7530
|
const shadow = containerEl.attachShadow({ mode: "open", delegatesFocus: true });
|
|
6450
7531
|
const sheet = new CSSStyleSheet();
|
|
6451
7532
|
sheet.replaceSync(createWidgetStyles(config));
|
|
@@ -6515,6 +7596,8 @@ window.A11yPlus = window.Accessify;
|
|
|
6515
7596
|
export {
|
|
6516
7597
|
RateLimitError as R,
|
|
6517
7598
|
destroy as d,
|
|
6518
|
-
|
|
7599
|
+
getCurrentWidgetLang as g,
|
|
7600
|
+
init as i,
|
|
7601
|
+
t
|
|
6519
7602
|
};
|
|
6520
|
-
//# sourceMappingURL=index-
|
|
7603
|
+
//# sourceMappingURL=index-B6b-ij4T.js.map
|