@a11y-hud/vue 0.3.0 → 0.5.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/dist/index.cjs +24 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +10 -1
- package/dist/index.d.ts +10 -1
- package/dist/index.js +24 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -84,7 +84,30 @@ function useA11yHud(options = {}) {
|
|
|
84
84
|
function setRunOnly(tags) {
|
|
85
85
|
instanceRef.value?.setRunOnly(tags);
|
|
86
86
|
}
|
|
87
|
-
|
|
87
|
+
function exportResults() {
|
|
88
|
+
return instanceRef.value?.exportResults() ?? null;
|
|
89
|
+
}
|
|
90
|
+
const ignores = {
|
|
91
|
+
add(ruleId, selector) {
|
|
92
|
+
instanceRef.value?.ignores.add(ruleId, selector);
|
|
93
|
+
},
|
|
94
|
+
remove(ruleId, selector) {
|
|
95
|
+
instanceRef.value?.ignores.remove(ruleId, selector);
|
|
96
|
+
},
|
|
97
|
+
clear() {
|
|
98
|
+
instanceRef.value?.ignores.clear();
|
|
99
|
+
},
|
|
100
|
+
list() {
|
|
101
|
+
return instanceRef.value?.ignores.list() ?? [];
|
|
102
|
+
},
|
|
103
|
+
exportJson() {
|
|
104
|
+
return instanceRef.value?.ignores.exportJson() ?? "[]";
|
|
105
|
+
},
|
|
106
|
+
importJson(json) {
|
|
107
|
+
instanceRef.value?.ignores.importJson(json);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
return { runScan, setTheme, setRunOnly, exportResults, ignores };
|
|
88
111
|
}
|
|
89
112
|
|
|
90
113
|
// src/component.ts
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/composable.ts","../src/component.ts"],"names":["shallowRef","onMounted","mount","onUnmounted","watch","defineComponent"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../src/composable.ts","../src/component.ts"],"names":["shallowRef","onMounted","mount","onUnmounted","watch","defineComponent"],"mappings":"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","file":"index.cjs","sourcesContent":["import type { A11yHudElement, A11yHudInstance, AxeResults, Theme } from \"a11y-hud\";\nimport { mount } from \"a11y-hud\";\nimport { onMounted, onUnmounted, shallowRef, watch } from \"vue\";\nimport type { UseA11yHudOptions, UseA11yHudReturn } from \"./types.js\";\n\nexport function useA11yHud(options: UseA11yHudOptions = {}): UseA11yHudReturn {\n const instanceRef = shallowRef<A11yHudInstance | null>(null);\n const elementRef = shallowRef<A11yHudElement | null>(null);\n\n onMounted(() => {\n const { theme, autoScan, debounce, runOnly } = options;\n const instance = mount({\n ...(theme !== undefined && { theme }),\n ...(autoScan !== undefined && { autoScan }),\n ...(debounce !== undefined && { debounce }),\n ...(runOnly !== undefined && { runOnly }),\n });\n instanceRef.value = instance;\n elementRef.value = document.querySelector<A11yHudElement>(\"a11y-hud\");\n const el = elementRef.value;\n if (el) {\n el.scopeElement = options.scope ?? undefined;\n }\n void instance.runScan();\n });\n\n onUnmounted(() => {\n instanceRef.value?.unmount();\n instanceRef.value = null;\n elementRef.value = null;\n });\n\n // Render-settled signal: fires after the scope prop changes, syncing the CE's\n // scopeElement and triggering a rescan. Route changes and general DOM mutations\n // are handled by the core's MutationObserver; this watch covers the prop-change\n // path (e.g. enabling/disabling scope, passing a different ref).\n watch(\n () => options.scope,\n () => {\n const instance = instanceRef.value;\n const el = elementRef.value;\n if (!instance || !el) return;\n el.scopeElement = options.scope ?? undefined;\n void instance.runScan();\n },\n { flush: \"post\" }\n );\n\n watch(\n () => options.theme,\n (newTheme) => {\n if (newTheme !== undefined) instanceRef.value?.setTheme(newTheme);\n },\n { flush: \"post\" }\n );\n\n watch(\n () => options.autoScan,\n (newAutoScan) => {\n const el = elementRef.value;\n if (!el) return;\n if (newAutoScan === false) {\n el.removeAttribute(\"auto-scan\");\n } else {\n el.setAttribute(\"auto-scan\", \"\");\n }\n },\n { flush: \"post\" }\n );\n\n watch(\n () => options.debounce,\n (newDebounce) => {\n const el = elementRef.value;\n if (!el || newDebounce === undefined) return;\n el.setAttribute(\"debounce\", String(newDebounce));\n },\n { flush: \"post\" }\n );\n\n watch(\n () => options.runOnly,\n (newRunOnly) => {\n if (newRunOnly !== undefined) instanceRef.value?.setRunOnly(newRunOnly);\n },\n { flush: \"post\" }\n );\n\n function runScan(): Promise<AxeResults> {\n return instanceRef.value?.runScan() ?? Promise.resolve(null as unknown as AxeResults);\n }\n\n function setTheme(theme: Theme): void {\n instanceRef.value?.setTheme(theme);\n }\n\n function setRunOnly(tags: string[]): void {\n instanceRef.value?.setRunOnly(tags);\n }\n\n function exportResults(): string | null {\n return instanceRef.value?.exportResults() ?? null;\n }\n\n const ignores = {\n add(ruleId: string, selector?: string): void {\n instanceRef.value?.ignores.add(ruleId, selector);\n },\n remove(ruleId: string, selector?: string): void {\n instanceRef.value?.ignores.remove(ruleId, selector);\n },\n clear(): void {\n instanceRef.value?.ignores.clear();\n },\n list() {\n return instanceRef.value?.ignores.list() ?? [];\n },\n exportJson(): string {\n return instanceRef.value?.ignores.exportJson() ?? \"[]\";\n },\n importJson(json: string): void {\n instanceRef.value?.ignores.importJson(json);\n },\n };\n\n return { runScan, setTheme, setRunOnly, exportResults, ignores };\n}\n","import type { Theme } from \"a11y-hud\";\nimport type { PropType } from \"vue\";\nimport { defineComponent } from \"vue\";\nimport { useA11yHud } from \"./composable.js\";\nimport type { A11yHudProps } from \"./types.js\";\n\nexport const A11yHud = defineComponent({\n name: \"A11yHud\",\n props: {\n theme: {\n type: String as PropType<Theme>,\n default: undefined,\n },\n scope: {\n type: Object as PropType<Element | null>,\n default: undefined,\n },\n autoScan: {\n type: Boolean as PropType<boolean>,\n default: undefined,\n },\n debounce: {\n type: Number as PropType<number>,\n default: undefined,\n },\n },\n setup(props) {\n useA11yHud(props as A11yHudProps);\n return () => null;\n },\n});\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as vue from 'vue';
|
|
2
2
|
import { PropType } from 'vue';
|
|
3
|
-
import { Theme, AxeResults } from 'a11y-hud';
|
|
3
|
+
import { Theme, AxeResults, IgnoreEntry } from 'a11y-hud';
|
|
4
4
|
|
|
5
5
|
declare const A11yHud: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
6
6
|
theme: {
|
|
@@ -55,6 +55,15 @@ interface UseA11yHudReturn {
|
|
|
55
55
|
runScan(): Promise<AxeResults>;
|
|
56
56
|
setTheme(theme: Theme): void;
|
|
57
57
|
setRunOnly(tags: string[]): void;
|
|
58
|
+
exportResults(): string | null;
|
|
59
|
+
ignores: {
|
|
60
|
+
add(ruleId: string, selector?: string): void;
|
|
61
|
+
remove(ruleId: string, selector?: string): void;
|
|
62
|
+
clear(): void;
|
|
63
|
+
list(): IgnoreEntry[];
|
|
64
|
+
exportJson(): string;
|
|
65
|
+
importJson(json: string): void;
|
|
66
|
+
};
|
|
58
67
|
}
|
|
59
68
|
|
|
60
69
|
declare function useA11yHud(options?: UseA11yHudOptions): UseA11yHudReturn;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as vue from 'vue';
|
|
2
2
|
import { PropType } from 'vue';
|
|
3
|
-
import { Theme, AxeResults } from 'a11y-hud';
|
|
3
|
+
import { Theme, AxeResults, IgnoreEntry } from 'a11y-hud';
|
|
4
4
|
|
|
5
5
|
declare const A11yHud: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
6
6
|
theme: {
|
|
@@ -55,6 +55,15 @@ interface UseA11yHudReturn {
|
|
|
55
55
|
runScan(): Promise<AxeResults>;
|
|
56
56
|
setTheme(theme: Theme): void;
|
|
57
57
|
setRunOnly(tags: string[]): void;
|
|
58
|
+
exportResults(): string | null;
|
|
59
|
+
ignores: {
|
|
60
|
+
add(ruleId: string, selector?: string): void;
|
|
61
|
+
remove(ruleId: string, selector?: string): void;
|
|
62
|
+
clear(): void;
|
|
63
|
+
list(): IgnoreEntry[];
|
|
64
|
+
exportJson(): string;
|
|
65
|
+
importJson(json: string): void;
|
|
66
|
+
};
|
|
58
67
|
}
|
|
59
68
|
|
|
60
69
|
declare function useA11yHud(options?: UseA11yHudOptions): UseA11yHudReturn;
|
package/dist/index.js
CHANGED
|
@@ -82,7 +82,30 @@ function useA11yHud(options = {}) {
|
|
|
82
82
|
function setRunOnly(tags) {
|
|
83
83
|
instanceRef.value?.setRunOnly(tags);
|
|
84
84
|
}
|
|
85
|
-
|
|
85
|
+
function exportResults() {
|
|
86
|
+
return instanceRef.value?.exportResults() ?? null;
|
|
87
|
+
}
|
|
88
|
+
const ignores = {
|
|
89
|
+
add(ruleId, selector) {
|
|
90
|
+
instanceRef.value?.ignores.add(ruleId, selector);
|
|
91
|
+
},
|
|
92
|
+
remove(ruleId, selector) {
|
|
93
|
+
instanceRef.value?.ignores.remove(ruleId, selector);
|
|
94
|
+
},
|
|
95
|
+
clear() {
|
|
96
|
+
instanceRef.value?.ignores.clear();
|
|
97
|
+
},
|
|
98
|
+
list() {
|
|
99
|
+
return instanceRef.value?.ignores.list() ?? [];
|
|
100
|
+
},
|
|
101
|
+
exportJson() {
|
|
102
|
+
return instanceRef.value?.ignores.exportJson() ?? "[]";
|
|
103
|
+
},
|
|
104
|
+
importJson(json) {
|
|
105
|
+
instanceRef.value?.ignores.importJson(json);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
return { runScan, setTheme, setRunOnly, exportResults, ignores };
|
|
86
109
|
}
|
|
87
110
|
|
|
88
111
|
// src/component.ts
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/composable.ts","../src/component.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../src/composable.ts","../src/component.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { A11yHudElement, A11yHudInstance, AxeResults, Theme } from \"a11y-hud\";\nimport { mount } from \"a11y-hud\";\nimport { onMounted, onUnmounted, shallowRef, watch } from \"vue\";\nimport type { UseA11yHudOptions, UseA11yHudReturn } from \"./types.js\";\n\nexport function useA11yHud(options: UseA11yHudOptions = {}): UseA11yHudReturn {\n const instanceRef = shallowRef<A11yHudInstance | null>(null);\n const elementRef = shallowRef<A11yHudElement | null>(null);\n\n onMounted(() => {\n const { theme, autoScan, debounce, runOnly } = options;\n const instance = mount({\n ...(theme !== undefined && { theme }),\n ...(autoScan !== undefined && { autoScan }),\n ...(debounce !== undefined && { debounce }),\n ...(runOnly !== undefined && { runOnly }),\n });\n instanceRef.value = instance;\n elementRef.value = document.querySelector<A11yHudElement>(\"a11y-hud\");\n const el = elementRef.value;\n if (el) {\n el.scopeElement = options.scope ?? undefined;\n }\n void instance.runScan();\n });\n\n onUnmounted(() => {\n instanceRef.value?.unmount();\n instanceRef.value = null;\n elementRef.value = null;\n });\n\n // Render-settled signal: fires after the scope prop changes, syncing the CE's\n // scopeElement and triggering a rescan. Route changes and general DOM mutations\n // are handled by the core's MutationObserver; this watch covers the prop-change\n // path (e.g. enabling/disabling scope, passing a different ref).\n watch(\n () => options.scope,\n () => {\n const instance = instanceRef.value;\n const el = elementRef.value;\n if (!instance || !el) return;\n el.scopeElement = options.scope ?? undefined;\n void instance.runScan();\n },\n { flush: \"post\" }\n );\n\n watch(\n () => options.theme,\n (newTheme) => {\n if (newTheme !== undefined) instanceRef.value?.setTheme(newTheme);\n },\n { flush: \"post\" }\n );\n\n watch(\n () => options.autoScan,\n (newAutoScan) => {\n const el = elementRef.value;\n if (!el) return;\n if (newAutoScan === false) {\n el.removeAttribute(\"auto-scan\");\n } else {\n el.setAttribute(\"auto-scan\", \"\");\n }\n },\n { flush: \"post\" }\n );\n\n watch(\n () => options.debounce,\n (newDebounce) => {\n const el = elementRef.value;\n if (!el || newDebounce === undefined) return;\n el.setAttribute(\"debounce\", String(newDebounce));\n },\n { flush: \"post\" }\n );\n\n watch(\n () => options.runOnly,\n (newRunOnly) => {\n if (newRunOnly !== undefined) instanceRef.value?.setRunOnly(newRunOnly);\n },\n { flush: \"post\" }\n );\n\n function runScan(): Promise<AxeResults> {\n return instanceRef.value?.runScan() ?? Promise.resolve(null as unknown as AxeResults);\n }\n\n function setTheme(theme: Theme): void {\n instanceRef.value?.setTheme(theme);\n }\n\n function setRunOnly(tags: string[]): void {\n instanceRef.value?.setRunOnly(tags);\n }\n\n function exportResults(): string | null {\n return instanceRef.value?.exportResults() ?? null;\n }\n\n const ignores = {\n add(ruleId: string, selector?: string): void {\n instanceRef.value?.ignores.add(ruleId, selector);\n },\n remove(ruleId: string, selector?: string): void {\n instanceRef.value?.ignores.remove(ruleId, selector);\n },\n clear(): void {\n instanceRef.value?.ignores.clear();\n },\n list() {\n return instanceRef.value?.ignores.list() ?? [];\n },\n exportJson(): string {\n return instanceRef.value?.ignores.exportJson() ?? \"[]\";\n },\n importJson(json: string): void {\n instanceRef.value?.ignores.importJson(json);\n },\n };\n\n return { runScan, setTheme, setRunOnly, exportResults, ignores };\n}\n","import type { Theme } from \"a11y-hud\";\nimport type { PropType } from \"vue\";\nimport { defineComponent } from \"vue\";\nimport { useA11yHud } from \"./composable.js\";\nimport type { A11yHudProps } from \"./types.js\";\n\nexport const A11yHud = defineComponent({\n name: \"A11yHud\",\n props: {\n theme: {\n type: String as PropType<Theme>,\n default: undefined,\n },\n scope: {\n type: Object as PropType<Element | null>,\n default: undefined,\n },\n autoScan: {\n type: Boolean as PropType<boolean>,\n default: undefined,\n },\n debounce: {\n type: Number as PropType<number>,\n default: undefined,\n },\n },\n setup(props) {\n useA11yHud(props as A11yHudProps);\n return () => null;\n },\n});\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@a11y-hud/vue",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Vue adapter for a11y-hud — run axe-core accessibility audits in your Vue app with no DevTools required.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"README.md"
|
|
20
20
|
],
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"a11y-hud": "0.
|
|
22
|
+
"a11y-hud": "0.4.0"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"vue": ">=3.4"
|