@bookjane2/bookjane-design-library 9.0.36 → 9.0.38
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/BKJTableMainHeader/BKJTableMainHeader.d.ts +1 -1
- package/lib/components/BKJTableMainHeader/BKJTableMainHeader.d.ts.map +1 -1
- package/lib/components/BKJTableMainHeader/BKJTableMainHeader.js +1 -1
- package/lib/components/BKJTableMainHeader/BKJTableMainHeader.js.map +1 -1
- package/lib/components/BKJTableMainHeader/BKJTableMainHeader.stories.d.ts +2 -0
- package/lib/components/BKJTableMainHeader/BKJTableMainHeader.stories.d.ts.map +1 -1
- package/lib/components/BKJTableMainHeader/BKJTableMainHeader.stories.js +10 -1
- package/lib/components/BKJTableMainHeader/BKJTableMainHeader.stories.js.map +1 -1
- package/lib/components/BKJTableMainHeader/BKJTableMainHeader.test.d.ts +2 -0
- package/lib/components/BKJTableMainHeader/BKJTableMainHeader.test.d.ts.map +1 -0
- package/lib/components/BKJTableMainHeader/BKJTableMainHeader.test.js +40 -0
- package/lib/components/BKJTableMainHeader/BKJTableMainHeader.test.js.map +1 -0
- package/lib/components/BKJToastMessage/BKJToastMessage.js +2 -2
- package/lib/components/BKJToastMessage/BKJToastMessage.js.map +1 -1
- package/lib/components/BKJToastMessage/BKJToastMessage.stories.d.ts +2 -0
- package/lib/components/BKJToastMessage/BKJToastMessage.stories.d.ts.map +1 -1
- package/lib/components/BKJToastMessage/BKJToastMessage.stories.js +30 -0
- package/lib/components/BKJToastMessage/BKJToastMessage.stories.js.map +1 -1
- package/lib/components/BKJToastMessage/BKJToastMessage.test.d.ts +2 -0
- package/lib/components/BKJToastMessage/BKJToastMessage.test.d.ts.map +1 -0
- package/lib/components/BKJToastMessage/BKJToastMessage.test.js +54 -0
- package/lib/components/BKJToastMessage/BKJToastMessage.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BKJTableMainHeader.d.ts","sourceRoot":"","sources":["../../../src/components/BKJTableMainHeader/BKJTableMainHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,MAAM,uBAAuB,GAAG;
|
|
1
|
+
{"version":3,"file":"BKJTableMainHeader.d.ts","sourceRoot":"","sources":["../../../src/components/BKJTableMainHeader/BKJTableMainHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EACpC,OAAO,CACR,GAAG;IACF,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAOhE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { BKJTableMainHeaderWrapper, Text } from './BKJTableMainHeader.styled.js';
|
|
3
|
-
export const BKJTableMainHeader = ({ title }) => (_jsx(BKJTableMainHeaderWrapper, { children: _jsx(Text, { children: title }) }));
|
|
3
|
+
export const BKJTableMainHeader = ({ title, ...rest }) => (_jsx(BKJTableMainHeaderWrapper, { ...rest, children: _jsx(Text, { children: title }) }));
|
|
4
4
|
//# sourceMappingURL=BKJTableMainHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BKJTableMainHeader.js","sourceRoot":"","sources":["../../../src/components/BKJTableMainHeader/BKJTableMainHeader.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"BKJTableMainHeader.js","sourceRoot":"","sources":["../../../src/components/BKJTableMainHeader/BKJTableMainHeader.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAS9E,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EACpE,KAAK,EACL,GAAG,IAAI,EACR,EAAE,EAAE,CAAC,CACJ,KAAC,yBAAyB,OAAK,IAAI,YACjC,KAAC,IAAI,cAAE,KAAK,GAAQ,GACM,CAC7B,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { StoryFn } from '@storybook/react';
|
|
1
2
|
import { BKJTableMainHeaderProps } from './BKJTableMainHeader.js';
|
|
2
3
|
declare const _default: {
|
|
3
4
|
title: string;
|
|
@@ -5,4 +6,5 @@ declare const _default: {
|
|
|
5
6
|
};
|
|
6
7
|
export default _default;
|
|
7
8
|
export declare const Default: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, BKJTableMainHeaderProps>;
|
|
9
|
+
export declare const LabelledTable: StoryFn;
|
|
8
10
|
//# sourceMappingURL=BKJTableMainHeader.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BKJTableMainHeader.stories.d.ts","sourceRoot":"","sources":["../../../src/components/BKJTableMainHeader/BKJTableMainHeader.stories.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BKJTableMainHeader.stories.d.ts","sourceRoot":"","sources":["../../../src/components/BKJTableMainHeader/BKJTableMainHeader.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAsB,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;;;;;AAGnF,wBAGE;AAQF,eAAO,MAAM,OAAO,mHAAoB,CAAC;AAKzC,eAAO,MAAM,aAAa,EAAE,OAgB3B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { BKJTableMainHeader } from './BKJTableMainHeader.js';
|
|
3
3
|
import { BKJTheme, BKJThemeProvider } from '../../providers/BKJThemeProvider/index.js';
|
|
4
4
|
export default {
|
|
@@ -10,4 +10,13 @@ export const Default = Template.bind({});
|
|
|
10
10
|
Default.args = {
|
|
11
11
|
title: 'Main Header',
|
|
12
12
|
};
|
|
13
|
+
export const LabelledTable = () => (_jsxs(BKJThemeProvider, { theme: BKJTheme, children: [_jsx(BKJTableMainHeader, { id: "shifts-title", title: "Shifts this week" }), _jsx("table", { "aria-labelledby": "shifts-title", children: _jsxs("tbody", { children: [_jsxs("tr", { children: [_jsx("td", { children: "10:00 AM \u2014 2:00 PM" }), _jsx("td", { children: "Toronto" })] }), _jsxs("tr", { children: [_jsx("td", { children: "3:00 PM \u2014 7:00 PM" }), _jsx("td", { children: "Mississauga" })] })] }) })] }));
|
|
14
|
+
LabelledTable.parameters = {
|
|
15
|
+
docs: {
|
|
16
|
+
description: {
|
|
17
|
+
story: "When the title sits visually outside an adjacent `<table>` and you want the table's accessible name to be the title text, give the `BKJTableMainHeader` an `id` and reference it from the `<table>` via `aria-labelledby`. The accessible-name computation traverses the reference and resolves to the title's text content.",
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
controls: { disable: true },
|
|
21
|
+
};
|
|
13
22
|
//# sourceMappingURL=BKJTableMainHeader.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BKJTableMainHeader.stories.js","sourceRoot":"","sources":["../../../src/components/BKJTableMainHeader/BKJTableMainHeader.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAA2B,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAE9E,eAAe;IACb,KAAK,EAAE,mCAAmC;IAC1C,SAAS,EAAE,kBAAkB;CAC9B,CAAC;AAEF,MAAM,QAAQ,GAAqC,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CACnE,KAAC,gBAAgB,IAAC,KAAK,EAAE,QAAQ,YAC/B,KAAC,kBAAkB,OAAK,KAAK,GAAI,GAChB,CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,OAAO,CAAC,IAAI,GAAG;IACb,KAAK,EAAE,aAAa;CACrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"BKJTableMainHeader.stories.js","sourceRoot":"","sources":["../../../src/components/BKJTableMainHeader/BKJTableMainHeader.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAA2B,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAE9E,eAAe;IACb,KAAK,EAAE,mCAAmC;IAC1C,SAAS,EAAE,kBAAkB;CAC9B,CAAC;AAEF,MAAM,QAAQ,GAAqC,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CACnE,KAAC,gBAAgB,IAAC,KAAK,EAAE,QAAQ,YAC/B,KAAC,kBAAkB,OAAK,KAAK,GAAI,GAChB,CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,OAAO,CAAC,IAAI,GAAG;IACb,KAAK,EAAE,aAAa;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAY,GAAG,EAAE,CAAC,CAC1C,MAAC,gBAAgB,IAAC,KAAK,EAAE,QAAQ,aAC/B,KAAC,kBAAkB,IAAC,EAAE,EAAC,cAAc,EAAC,KAAK,EAAC,kBAAkB,GAAG,EACjE,mCAAuB,cAAc,YACnC,4BACE,yBACE,mDAA2B,EAC3B,mCAAgB,IACb,EACL,yBACE,kDAA0B,EAC1B,uCAAoB,IACjB,IACC,GACF,IACS,CACpB,CAAC;AAEF,aAAa,CAAC,UAAU,GAAG;IACzB,IAAI,EAAE;QACJ,WAAW,EAAE;YACX,KAAK,EACH,8TAA8T;SACjU;KACF;IACD,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;CAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BKJTableMainHeader.test.d.ts","sourceRoot":"","sources":["../../../src/components/BKJTableMainHeader/BKJTableMainHeader.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { screen } from '@testing-library/react';
|
|
3
|
+
import { renderAndCheckA11y, renderWithTheme } from '../../test-utils/index.js';
|
|
4
|
+
import { BKJTableMainHeader } from './BKJTableMainHeader.js';
|
|
5
|
+
describe('BKJTableMainHeader', () => {
|
|
6
|
+
describe('Accessibility', () => {
|
|
7
|
+
it('has no accessibility violations on the default render', async () => {
|
|
8
|
+
const { axeResults } = await renderAndCheckA11y(_jsx(BKJTableMainHeader, { title: "Shifts this week" }));
|
|
9
|
+
expect(axeResults).toHaveNoViolations();
|
|
10
|
+
});
|
|
11
|
+
it('has no accessibility violations on the labelled-table render', async () => {
|
|
12
|
+
const { axeResults } = await renderAndCheckA11y(_jsxs(_Fragment, { children: [_jsx(BKJTableMainHeader, { id: "shifts-title", title: "Shifts this week" }), _jsx("table", { "aria-labelledby": "shifts-title", children: _jsxs("tbody", { children: [_jsxs("tr", { children: [_jsx("td", { children: "10:00 AM \u2014 2:00 PM" }), _jsx("td", { children: "Toronto" })] }), _jsxs("tr", { children: [_jsx("td", { children: "3:00 PM \u2014 7:00 PM" }), _jsx("td", { children: "Mississauga" })] })] }) })] }));
|
|
13
|
+
expect(axeResults).toHaveNoViolations();
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
describe('HTML attribute forwarding', () => {
|
|
17
|
+
it('forwards id to the wrapping <div> byte-identically', () => {
|
|
18
|
+
const { getByText } = renderWithTheme(_jsx(BKJTableMainHeader, { id: "shifts-title", title: "Shifts this week" }));
|
|
19
|
+
const wrapper = getByText('Shifts this week').closest('div');
|
|
20
|
+
expect(wrapper).toHaveAttribute('id', 'shifts-title');
|
|
21
|
+
expect(getByText('Shifts this week')).not.toHaveAttribute('id');
|
|
22
|
+
});
|
|
23
|
+
it('forwards className to the wrapping <div> while preserving the styled-components class', () => {
|
|
24
|
+
const { getByText } = renderWithTheme(_jsx(BKJTableMainHeader, { className: "my-custom-class", title: "Shifts this week" }));
|
|
25
|
+
const wrapper = getByText('Shifts this week').closest('div');
|
|
26
|
+
expect(wrapper).toHaveClass('my-custom-class');
|
|
27
|
+
expect(wrapper?.className).toMatch(/sc-[a-zA-Z0-9]+/);
|
|
28
|
+
});
|
|
29
|
+
it('forwards data-* attributes to the wrapping <div> byte-identically', () => {
|
|
30
|
+
const { getByText } = renderWithTheme(_jsx(BKJTableMainHeader, { "data-testid": "shifts-header", title: "Shifts this week" }));
|
|
31
|
+
const wrapper = getByText('Shifts this week').closest('div');
|
|
32
|
+
expect(wrapper).toHaveAttribute('data-testid', 'shifts-header');
|
|
33
|
+
});
|
|
34
|
+
it('exposes the title as the accessible name of an adjacent <table aria-labelledby>', () => {
|
|
35
|
+
renderWithTheme(_jsxs(_Fragment, { children: [_jsx(BKJTableMainHeader, { id: "shifts-title", title: "Shifts this week" }), _jsx("table", { "aria-labelledby": "shifts-title", children: _jsx("tbody", { children: _jsxs("tr", { children: [_jsx("td", { children: "10:00 AM \u2014 2:00 PM" }), _jsx("td", { children: "Toronto" })] }) }) })] }));
|
|
36
|
+
expect(screen.getByRole('table', { name: 'Shifts this week' })).toBeInTheDocument();
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=BKJTableMainHeader.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BKJTableMainHeader.test.js","sourceRoot":"","sources":["../../../src/components/BKJTableMainHeader/BKJTableMainHeader.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,9 @@ import { getIcon } from './BKJToastMessage.utils.js';
|
|
|
4
4
|
export function BKJToastMessage({ message, variant }) {
|
|
5
5
|
const Icon = getIcon(variant);
|
|
6
6
|
if (typeof message === 'string') {
|
|
7
|
-
return (_jsxs(ToastWrapper, { children: [_jsx(ToastIconWrapper, { variant: variant, children: _jsx(Icon, {}) }), _jsx(BKJToastTextWrapper, { children: _jsx(BKJToastText, { children: message }) })] }));
|
|
7
|
+
return (_jsxs(ToastWrapper, { children: [_jsx(ToastIconWrapper, { variant: variant, "aria-hidden": "true", "data-testid": "bkj-toast-icon", children: _jsx(Icon, {}) }), _jsx(BKJToastTextWrapper, { children: _jsx(BKJToastText, { children: message }) })] }));
|
|
8
8
|
}
|
|
9
9
|
const Component = message;
|
|
10
|
-
return (_jsxs(ToastWrapper, { children: [_jsx(ToastIconWrapper, { variant: variant, children: _jsx(Icon, {}) }), _jsx(BKJToastTextWrapper, { children: _jsx(BKJToastText, { children: _jsx(Component, {}) }) })] }));
|
|
10
|
+
return (_jsxs(ToastWrapper, { children: [_jsx(ToastIconWrapper, { variant: variant, "aria-hidden": "true", "data-testid": "bkj-toast-icon", children: _jsx(Icon, {}) }), _jsx(BKJToastTextWrapper, { children: _jsx(BKJToastText, { children: _jsx(Component, {}) }) })] }));
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=BKJToastMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BKJToastMessage.js","sourceRoot":"","sources":["../../../src/components/BKJToastMessage/BKJToastMessage.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGlD,MAAM,UAAU,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,EAAoB;IACpE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,CACL,MAAC,YAAY,eACX,KAAC,gBAAgB,IAAC,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"BKJToastMessage.js","sourceRoot":"","sources":["../../../src/components/BKJToastMessage/BKJToastMessage.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGlD,MAAM,UAAU,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,EAAoB;IACpE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,CACL,MAAC,YAAY,eACX,KAAC,gBAAgB,IAAC,OAAO,EAAE,OAAO,iBAAc,MAAM,iBAAa,gBAAgB,YACjF,KAAC,IAAI,KAAG,GACS,EACnB,KAAC,mBAAmB,cAClB,KAAC,YAAY,cAAE,OAAO,GAAgB,GAClB,IACT,CAChB,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,OAAa,CAAC;IAChC,OAAO,CACL,MAAC,YAAY,eACX,KAAC,gBAAgB,IAAC,OAAO,EAAE,OAAO,iBAAc,MAAM,iBAAa,gBAAgB,YACjF,KAAC,IAAI,KAAG,GACS,EACnB,KAAC,mBAAmB,cAClB,KAAC,YAAY,cACX,KAAC,SAAS,KAAG,GACA,GACK,IACT,CAChB,CAAC;AACJ,CAAC"}
|
|
@@ -23,5 +23,7 @@ declare const setup: {
|
|
|
23
23
|
};
|
|
24
24
|
};
|
|
25
25
|
export declare const Default: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, IBKJToastMessage>;
|
|
26
|
+
export declare const Warning: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, IBKJToastMessage>;
|
|
27
|
+
export declare const Error: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, IBKJToastMessage>;
|
|
26
28
|
export default setup;
|
|
27
29
|
//# sourceMappingURL=BKJToastMessage.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BKJToastMessage.stories.d.ts","sourceRoot":"","sources":["../../../src/components/BKJToastMessage/BKJToastMessage.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;CAqBV,CAAC;AAIF,eAAO,MAAM,OAAO,4GAAoB,CAAC;AAOzC,eAAe,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"BKJToastMessage.stories.d.ts","sourceRoot":"","sources":["../../../src/components/BKJToastMessage/BKJToastMessage.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;CAqBV,CAAC;AAIF,eAAO,MAAM,OAAO,4GAAoB,CAAC;AAOzC,eAAO,MAAM,OAAO,4GAAoB,CAAC;AAiBzC,eAAO,MAAM,KAAK,4GAAoB,CAAC;AAiBvC,eAAe,KAAK,CAAC"}
|
|
@@ -29,5 +29,35 @@ Default.args = {
|
|
|
29
29
|
message: 'shift saved successfully.',
|
|
30
30
|
variant: 'Success',
|
|
31
31
|
};
|
|
32
|
+
export const Warning = Template.bind({});
|
|
33
|
+
Warning.args = {
|
|
34
|
+
message: 'Heads up — your changes are unsaved.',
|
|
35
|
+
variant: 'Warning',
|
|
36
|
+
};
|
|
37
|
+
Warning.parameters = {
|
|
38
|
+
docs: {
|
|
39
|
+
description: {
|
|
40
|
+
story: 'The variant icon (warning triangle) is decorative and hidden from assistive technology via `aria-hidden`. ' +
|
|
41
|
+
"The variant's meaning MUST be carried by the consumer-supplied `message` text — for example: " +
|
|
42
|
+
'"Warning: Unsaved changes." or "Heads up — your changes are unsaved." ' +
|
|
43
|
+
'Do NOT rely on the icon shape or background color alone to convey the variant meaning to a screen-reader user.',
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
export const Error = Template.bind({});
|
|
48
|
+
Error.args = {
|
|
49
|
+
message: 'Error: shift could not be saved.',
|
|
50
|
+
variant: 'Error',
|
|
51
|
+
};
|
|
52
|
+
Error.parameters = {
|
|
53
|
+
docs: {
|
|
54
|
+
description: {
|
|
55
|
+
story: 'The variant icon (red disc with exclamation mark) is decorative and hidden from assistive technology via `aria-hidden`. ' +
|
|
56
|
+
"The variant's meaning MUST be carried by the consumer-supplied `message` text — for example: " +
|
|
57
|
+
'"Error: shift could not be saved." ' +
|
|
58
|
+
'Do NOT rely on the icon shape or background color alone to convey the variant meaning to a screen-reader user.',
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
};
|
|
32
62
|
export default setup;
|
|
33
63
|
//# sourceMappingURL=BKJToastMessage.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BKJToastMessage.stories.js","sourceRoot":"","sources":["../../../src/components/BKJToastMessage/BKJToastMessage.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,KAAK,GAAG;IACZ,KAAK,EAAE,wBAAwB;IAC/B,SAAS,EAAE,eAAe;IAC1B,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;aACb;SACF;QACD,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;aACb;SACF;QACD,OAAO,EAAE;YACP,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;YACxC,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;aACf;SACF;KACF;CACF,CAAC;AAEF,MAAM,QAAQ,GAA8B,CAAC,IAAI,EAAE,EAAE,CAAC,KAAC,eAAe,OAAK,IAAI,GAAI,CAAC;AAEpF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,OAAO,CAAC,IAAI,GAAG;IACb,sCAAsC;IACtC,OAAO,EAAE,2BAA2B;IACpC,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"BKJToastMessage.stories.js","sourceRoot":"","sources":["../../../src/components/BKJToastMessage/BKJToastMessage.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,KAAK,GAAG;IACZ,KAAK,EAAE,wBAAwB;IAC/B,SAAS,EAAE,eAAe;IAC1B,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;aACb;SACF;QACD,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;aACb;SACF;QACD,OAAO,EAAE;YACP,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;YACxC,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;aACf;SACF;KACF;CACF,CAAC;AAEF,MAAM,QAAQ,GAA8B,CAAC,IAAI,EAAE,EAAE,CAAC,KAAC,eAAe,OAAK,IAAI,GAAI,CAAC;AAEpF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,OAAO,CAAC,IAAI,GAAG;IACb,sCAAsC;IACtC,OAAO,EAAE,2BAA2B;IACpC,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,OAAO,CAAC,IAAI,GAAG;IACb,OAAO,EAAE,sCAAsC;IAC/C,OAAO,EAAE,SAAS;CACnB,CAAC;AACF,OAAO,CAAC,UAAU,GAAG;IACnB,IAAI,EAAE;QACJ,WAAW,EAAE;YACX,KAAK,EACH,4GAA4G;gBAC5G,+FAA+F;gBAC/F,wEAAwE;gBACxE,gHAAgH;SACnH;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG;IACX,OAAO,EAAE,kCAAkC;IAC3C,OAAO,EAAE,OAAO;CACjB,CAAC;AACF,KAAK,CAAC,UAAU,GAAG;IACjB,IAAI,EAAE;QACJ,WAAW,EAAE;YACX,KAAK,EACH,0HAA0H;gBAC1H,+FAA+F;gBAC/F,qCAAqC;gBACrC,gHAAgH;SACnH;KACF;CACF,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BKJToastMessage.test.d.ts","sourceRoot":"","sources":["../../../src/components/BKJToastMessage/BKJToastMessage.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { screen } from '@testing-library/react';
|
|
3
|
+
import { renderAndCheckA11y, renderWithTheme } from '../../test-utils/index.js';
|
|
4
|
+
import { BKJToastMessage } from './BKJToastMessage.js';
|
|
5
|
+
describe('BKJToastMessage / Accessibility', () => {
|
|
6
|
+
it('has no accessibility violations on the Success variant render', async () => {
|
|
7
|
+
const { axeResults } = await renderAndCheckA11y(_jsx(BKJToastMessage, { variant: "Success", message: "Shift saved successfully." }));
|
|
8
|
+
expect(axeResults).toHaveNoViolations();
|
|
9
|
+
});
|
|
10
|
+
it('has no accessibility violations on the Warning variant render', async () => {
|
|
11
|
+
const { axeResults } = await renderAndCheckA11y(_jsx(BKJToastMessage, { variant: "Warning", message: "Heads up \u2014 your changes are unsaved." }));
|
|
12
|
+
expect(axeResults).toHaveNoViolations();
|
|
13
|
+
});
|
|
14
|
+
it('has no accessibility violations on the Error variant render', async () => {
|
|
15
|
+
const { axeResults } = await renderAndCheckA11y(_jsx(BKJToastMessage, { variant: "Error", message: "Error: shift could not be saved." }));
|
|
16
|
+
expect(axeResults).toHaveNoViolations();
|
|
17
|
+
});
|
|
18
|
+
it('has no accessibility violations on the custom-FC message branch', async () => {
|
|
19
|
+
const CustomMessage = () => _jsx("span", { children: "Shift saved." });
|
|
20
|
+
const { axeResults } = await renderAndCheckA11y(_jsx(BKJToastMessage, { variant: "Success", message: CustomMessage }));
|
|
21
|
+
expect(axeResults).toHaveNoViolations();
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
describe('BKJToastMessage / Decorative icon hiding', () => {
|
|
25
|
+
it.each(['Success', 'Warning', 'Error'])('icon-wrapper carries aria-hidden="true" on the %s variant', (variant) => {
|
|
26
|
+
renderWithTheme(_jsx(BKJToastMessage, { variant: variant, message: "Shift saved successfully." }));
|
|
27
|
+
const iconWrapper = screen.getByTestId('bkj-toast-icon');
|
|
28
|
+
expect(iconWrapper).toHaveAttribute('aria-hidden', 'true');
|
|
29
|
+
});
|
|
30
|
+
it('message text is NOT inside an aria-hidden subtree (string-message branch)', () => {
|
|
31
|
+
renderWithTheme(_jsx(BKJToastMessage, { variant: "Success", message: "Shift saved successfully." }));
|
|
32
|
+
const messageEl = screen.getByText('Shift saved successfully.');
|
|
33
|
+
let cursor = messageEl;
|
|
34
|
+
while (cursor && cursor !== document.body) {
|
|
35
|
+
expect(cursor).not.toHaveAttribute('aria-hidden', 'true');
|
|
36
|
+
cursor = cursor.parentElement;
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
it('message text renders queryable output AND icon stays hidden on the custom-FC branch', () => {
|
|
40
|
+
const CustomMessage = () => _jsx("span", { children: "Shift saved." });
|
|
41
|
+
renderWithTheme(_jsx(BKJToastMessage, { variant: "Success", message: CustomMessage }));
|
|
42
|
+
expect(screen.getByText('Shift saved.')).toBeInTheDocument();
|
|
43
|
+
expect(screen.getByTestId('bkj-toast-icon')).toHaveAttribute('aria-hidden', 'true');
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
describe('BKJToastMessage / Live-region boundary (defensive)', () => {
|
|
47
|
+
it.each(['Success', 'Warning', 'Error'])('no element on the %s variant carries role="alert", role="status", or aria-live', (variant) => {
|
|
48
|
+
const { container } = renderWithTheme(_jsx(BKJToastMessage, { variant: variant, message: "Shift saved successfully." }));
|
|
49
|
+
expect(screen.queryAllByRole('alert')).toHaveLength(0);
|
|
50
|
+
expect(screen.queryAllByRole('status')).toHaveLength(0);
|
|
51
|
+
expect(container.querySelectorAll('[aria-live]')).toHaveLength(0);
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=BKJToastMessage.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BKJToastMessage.test.js","sourceRoot":"","sources":["../../../src/components/BKJToastMessage/BKJToastMessage.test.tsx"],"names":[],"mappings":"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"}
|