@bookjane2/bookjane-design-library 9.0.25 → 9.0.26
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/lib/components/BKJIcon/BKJIcon.d.ts.map +1 -1
- package/lib/components/BKJIcon/BKJIcon.js +9 -5
- package/lib/components/BKJIcon/BKJIcon.js.map +1 -1
- package/lib/components/BKJIcon/BKJIcon.test.d.ts +2 -0
- package/lib/components/BKJIcon/BKJIcon.test.d.ts.map +1 -0
- package/lib/components/BKJIcon/BKJIcon.test.js +51 -0
- package/lib/components/BKJIcon/BKJIcon.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BKJIcon.d.ts","sourceRoot":"","sources":["../../../src/components/BKJIcon/BKJIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BKJIcon.d.ts","sourceRoot":"","sources":["../../../src/components/BKJIcon/BKJIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAuB,MAAM,iBAAiB,CAAC;AAErE,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,aAAa,CAarC,CAAC"}
|
|
@@ -3,11 +3,15 @@ import { BKJIconComponentMap } from './BKJIcon.types.js';
|
|
|
3
3
|
export const BKJIcon = (props) => {
|
|
4
4
|
const { iconName, fontSize = 24, secondaryColor, color, ...rest } = props;
|
|
5
5
|
const IconComponent = BKJIconComponentMap[iconName];
|
|
6
|
-
const _props = {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
const _props = {
|
|
7
|
+
'aria-hidden': true,
|
|
8
|
+
fontSize,
|
|
9
|
+
...rest,
|
|
10
|
+
};
|
|
11
|
+
if (color)
|
|
12
|
+
_props['color'] = color;
|
|
13
|
+
if (secondaryColor)
|
|
14
|
+
_props['secondaryColor'] = secondaryColor;
|
|
11
15
|
return _jsx(IconComponent, { ..._props });
|
|
12
16
|
};
|
|
13
17
|
//# sourceMappingURL=BKJIcon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BKJIcon.js","sourceRoot":"","sources":["../../../src/components/BKJIcon/BKJIcon.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"BKJIcon.js","sourceRoot":"","sources":["../../../src/components/BKJIcon/BKJIcon.tsx"],"names":[],"mappings":";AACA,OAAO,EAAiB,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAErE,MAAM,CAAC,MAAM,OAAO,GAAsB,CAAC,KAAK,EAAe,EAAE;IAC/D,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC1E,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG;QACb,aAAa,EAAE,IAAI;QACnB,QAAQ;QACR,GAAG,IAAI;KACR,CAAC;IACF,IAAI,KAAK;QAAE,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;IACnC,IAAI,cAAc;QAAE,MAAM,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC;IAE9D,OAAO,KAAC,aAAa,OAAK,MAAM,GAAI,CAAC;AACvC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BKJIcon.test.d.ts","sourceRoot":"","sources":["../../../src/components/BKJIcon/BKJIcon.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { renderAndCheckA11y, renderWithTheme } from '../../test-utils/index.js';
|
|
3
|
+
import { BKJIcon } from './BKJIcon.js';
|
|
4
|
+
import { BKJIconComponentMap } from './BKJIcon.types.js';
|
|
5
|
+
describe('BKJIcon', () => {
|
|
6
|
+
describe('Accessibility (FR-008)', () => {
|
|
7
|
+
it('decorative <svg> has no a11y violations', async () => {
|
|
8
|
+
const { axeResults } = await renderAndCheckA11y(_jsx(BKJIcon, { iconName: "Search" }));
|
|
9
|
+
expect(axeResults).toHaveNoViolations();
|
|
10
|
+
});
|
|
11
|
+
it('all icons axe-clean (one combined render)', async () => {
|
|
12
|
+
const { axeResults } = await renderAndCheckA11y(_jsx("div", { children: Object.keys(BKJIconComponentMap).map((name) => (_jsx(BKJIcon, { iconName: name }, name))) }));
|
|
13
|
+
expect(axeResults).toHaveNoViolations();
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
describe('Behavioural contracts (FR-009)', () => {
|
|
17
|
+
it('(a) renders <svg> with aria-hidden="true"', () => {
|
|
18
|
+
const { container } = renderWithTheme(_jsx(BKJIcon, { iconName: "Search" }));
|
|
19
|
+
const svg = container.querySelector('svg');
|
|
20
|
+
expect(svg).not.toBeNull();
|
|
21
|
+
expect(svg.getAttribute('aria-hidden')).toBe('true');
|
|
22
|
+
});
|
|
23
|
+
it('(b) renders <svg> without role', () => {
|
|
24
|
+
const { container } = renderWithTheme(_jsx(BKJIcon, { iconName: "Search" }));
|
|
25
|
+
const svg = container.querySelector('svg');
|
|
26
|
+
expect(svg.getAttribute('role')).toBeNull();
|
|
27
|
+
});
|
|
28
|
+
it('(c) consumer aria-hidden={false} via ...rest overrides default', () => {
|
|
29
|
+
const { container } = renderWithTheme(_jsx(BKJIcon, { iconName: "Search", "aria-hidden": false }));
|
|
30
|
+
const svg = container.querySelector('svg');
|
|
31
|
+
expect(['false', null]).toContain(svg.getAttribute('aria-hidden'));
|
|
32
|
+
});
|
|
33
|
+
it('(d) decorative-by-default applies even when consumer passes aria-label', () => {
|
|
34
|
+
const { container } = renderWithTheme(_jsx(BKJIcon, { iconName: "Warning", "aria-label": "Warning" }));
|
|
35
|
+
const svg = container.querySelector('svg');
|
|
36
|
+
expect(svg.getAttribute('aria-hidden')).toBe('true');
|
|
37
|
+
expect(svg.getAttribute('role')).toBeNull();
|
|
38
|
+
expect(svg.getAttribute('aria-label')).toBe('Warning');
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
describe.each(Object.keys(BKJIconComponentMap))('BKJIcon[%s] decorative-mode contract (FR-008 b)', (iconName) => {
|
|
42
|
+
it('renders <svg> with aria-hidden="true" and no role', () => {
|
|
43
|
+
const { container } = renderWithTheme(_jsx(BKJIcon, { iconName: iconName }));
|
|
44
|
+
const svg = container.querySelector('svg');
|
|
45
|
+
expect(svg).not.toBeNull();
|
|
46
|
+
expect(svg.getAttribute('aria-hidden')).toBe('true');
|
|
47
|
+
expect(svg.getAttribute('role')).toBeNull();
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=BKJIcon.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BKJIcon.test.js","sourceRoot":"","sources":["../../../src/components/BKJIcon/BKJIcon.test.tsx"],"names":[],"mappings":"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"}
|