@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.
@@ -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;AAE3B,OAAO,EAAE,aAAa,EAAuB,MAAM,iBAAiB,CAAC;AAErE,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,aAAa,CAcrC,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 = { fontSize, ...rest };
7
- if (!!color)
8
- _props.color = color;
9
- if (!!secondaryColor)
10
- _props.secondaryColor = secondaryColor;
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":";AAEA,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,GAIR,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;IAE1B,IAAI,CAAC,CAAC,KAAK;QAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IAClC,IAAI,CAAC,CAAC,cAAc;QAAE,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC;IAE7D,OAAO,KAAC,aAAa,OAAK,MAAM,GAAI,CAAC;AACvC,CAAC,CAAC"}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=BKJIcon.test.d.ts.map
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bookjane2/bookjane-design-library",
3
- "version": "9.0.25",
3
+ "version": "9.0.26",
4
4
  "main": "./lib/index.js",
5
5
  "typings": "./lib/index.d.ts",
6
6
  "engines": {