@bookjane2/bookjane-design-library 9.0.31 → 9.0.33

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.
Files changed (26) hide show
  1. package/lib/components/BKJEllipsisMenu/BKJEllipsisMenu.d.ts.map +1 -1
  2. package/lib/components/BKJEllipsisMenu/BKJEllipsisMenu.js +5 -4
  3. package/lib/components/BKJEllipsisMenu/BKJEllipsisMenu.js.map +1 -1
  4. package/lib/components/BKJEllipsisMenu/BKJEllipsisMenu.stories.d.ts +2 -0
  5. package/lib/components/BKJEllipsisMenu/BKJEllipsisMenu.stories.d.ts.map +1 -1
  6. package/lib/components/BKJEllipsisMenu/BKJEllipsisMenu.stories.js +30 -0
  7. package/lib/components/BKJEllipsisMenu/BKJEllipsisMenu.stories.js.map +1 -1
  8. package/lib/components/BKJEllipsisMenu/BKJEllipsisMenu.styled.d.ts +1 -1
  9. package/lib/components/BKJEllipsisMenu/BKJEllipsisMenu.styled.d.ts.map +1 -1
  10. package/lib/components/BKJEllipsisMenu/BKJEllipsisMenu.styled.js +6 -1
  11. package/lib/components/BKJEllipsisMenu/BKJEllipsisMenu.styled.js.map +1 -1
  12. package/lib/components/BKJEllipsisMenu/BKJEllipsisMenu.test.d.ts +2 -0
  13. package/lib/components/BKJEllipsisMenu/BKJEllipsisMenu.test.d.ts.map +1 -0
  14. package/lib/components/BKJEllipsisMenu/BKJEllipsisMenu.test.js +126 -0
  15. package/lib/components/BKJEllipsisMenu/BKJEllipsisMenu.test.js.map +1 -0
  16. package/lib/components/BKJPagination/BKJPagination.d.ts.map +1 -1
  17. package/lib/components/BKJPagination/BKJPagination.js +1 -1
  18. package/lib/components/BKJPagination/BKJPagination.js.map +1 -1
  19. package/lib/components/BKJPagination/BKJPagination.styled.d.ts +1 -1
  20. package/lib/components/BKJPagination/BKJPagination.styled.d.ts.map +1 -1
  21. package/lib/components/BKJPagination/BKJPagination.styled.js +1 -1
  22. package/lib/components/BKJPagination/BKJPagination.test.d.ts +2 -0
  23. package/lib/components/BKJPagination/BKJPagination.test.d.ts.map +1 -0
  24. package/lib/components/BKJPagination/BKJPagination.test.js +79 -0
  25. package/lib/components/BKJPagination/BKJPagination.test.js.map +1 -0
  26. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BKJEllipsisMenu.d.ts","sourceRoot":"","sources":["../../../src/components/BKJEllipsisMenu/BKJEllipsisMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAoB,MAAM,OAAO,CAAC;AAQ7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAyBhE,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,qBAAqB,CASrD,CAAC"}
1
+ {"version":3,"file":"BKJEllipsisMenu.d.ts","sourceRoot":"","sources":["../../../src/components/BKJEllipsisMenu/BKJEllipsisMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAoB,MAAM,OAAO,CAAC;AAQ7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAoChE,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,qBAAqB,CAcrD,CAAC"}
@@ -5,12 +5,13 @@ import { Flex } from '../Flex/index.js';
5
5
  import { BKJEllipsisMenuUIStateProvider, useBKJEllipsisMenuUIStateContext, } from './BKJEllipsisMenu.context.js';
6
6
  import { BKJEllipsisMenuIconWrapper } from './BKJEllipsisMenu.styled.js';
7
7
  import { BKJEllipsisMenuDropdown } from './BKJEllipsisMenuDropdown.js';
8
- const Component = ({ triggerRef, children }) => {
8
+ const Component = ({ triggerRef, ariaLabel, consumerProps, children }) => {
9
9
  const { toggleMenu, isOpen } = useBKJEllipsisMenuUIStateContext();
10
- return (_jsxs(Fragment, { children: [_jsx(BKJEllipsisMenuIconWrapper, { onClick: toggleMenu, children: _jsx(Flex, { ref: triggerRef, height: "38px", minHeight: "38px", justifyContent: "center", alignItems: "center", children: _jsx(BKJIcon, { iconName: "Ellipsis" }) }) }), isOpen && triggerRef.current && (_jsx(BKJEllipsisMenuDropdown, { triggerRef: triggerRef, children: children }))] }));
10
+ return (_jsxs(Fragment, { children: [_jsx(BKJEllipsisMenuIconWrapper, { ref: triggerRef, ...consumerProps, type: "button", "aria-label": ariaLabel, "aria-haspopup": "menu", "aria-expanded": isOpen, onClick: toggleMenu, children: _jsx(Flex, { height: "38px", minHeight: "38px", justifyContent: "center", alignItems: "center", children: _jsx(BKJIcon, { iconName: "Ellipsis" }) }) }), isOpen && triggerRef.current && (_jsx(BKJEllipsisMenuDropdown, { triggerRef: triggerRef, children: children }))] }));
11
11
  };
12
- export const BKJEllipsisMenu = ({ children, ...props }) => {
12
+ export const BKJEllipsisMenu = ({ children, 'aria-label': ariaLabelProp, ...rest }) => {
13
13
  const triggerRef = useRef(null);
14
- return (_jsx(BKJEllipsisMenuUIStateProvider, { children: _jsx(Component, { ...props, triggerRef: triggerRef, children: children }) }));
14
+ const ariaLabel = ariaLabelProp === undefined ? 'More options' : ariaLabelProp;
15
+ return (_jsx(BKJEllipsisMenuUIStateProvider, { children: _jsx(Component, { triggerRef: triggerRef, ariaLabel: ariaLabel, consumerProps: rest, children: children }) }));
15
16
  };
16
17
  //# sourceMappingURL=BKJEllipsisMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BKJEllipsisMenu.js","sourceRoot":"","sources":["../../../src/components/BKJEllipsisMenu/BKJEllipsisMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAM,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EACL,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,SAAS,GAA6B,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,gCAAgC,EAAE,CAAC;IAClE,OAAO,CACL,MAAC,QAAQ,eACP,KAAC,0BAA0B,IAAC,OAAO,EAAE,UAAU,YAC7C,KAAC,IAAI,IACH,GAAG,EAAE,UAAiB,EACtB,MAAM,EAAC,MAAM,EACb,SAAS,EAAC,MAAM,EAChB,cAAc,EAAC,QAAQ,EACvB,UAAU,EAAC,QAAQ,YAEnB,KAAC,OAAO,IAAC,QAAQ,EAAC,UAAU,GAAG,GAC1B,GACoB,EAC5B,MAAM,IAAI,UAAU,CAAC,OAAO,IAAI,CAC/B,KAAC,uBAAuB,IAAC,UAAU,EAAE,UAAU,YAAG,QAAQ,GAA2B,CACtF,IACQ,CACZ,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAA8B,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACnF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,CACL,KAAC,8BAA8B,cAC7B,KAAC,SAAS,OAAK,KAAK,EAAE,UAAU,EAAE,UAAU,YACzC,QAAQ,GACC,GACmB,CAClC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"BKJEllipsisMenu.js","sourceRoot":"","sources":["../../../src/components/BKJEllipsisMenu/BKJEllipsisMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAM,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EACL,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,SAAS,GAIV,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC1D,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,gCAAgC,EAAE,CAAC;IAClE,OAAO,CACL,MAAC,QAAQ,eACP,KAAC,0BAA0B,IACzB,GAAG,EAAE,UAAiB,KAClB,aAAa,EACjB,IAAI,EAAC,QAAQ,gBACD,SAAS,mBACP,MAAM,mBACL,MAAM,EACrB,OAAO,EAAE,UAAU,YAEnB,KAAC,IAAI,IACH,MAAM,EAAC,MAAM,EACb,SAAS,EAAC,MAAM,EAChB,cAAc,EAAC,QAAQ,EACvB,UAAU,EAAC,QAAQ,YAEnB,KAAC,OAAO,IAAC,QAAQ,EAAC,UAAU,GAAG,GAC1B,GACoB,EAC5B,MAAM,IAAI,UAAU,CAAC,OAAO,IAAI,CAC/B,KAAC,uBAAuB,IAAC,UAAU,EAAE,UAAU,YAAG,QAAQ,GAA2B,CACtF,IACQ,CACZ,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAA8B,CAAC,EACzD,QAAQ,EACR,YAAY,EAAE,aAAa,EAC3B,GAAG,IAAI,EACR,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;IAC/E,OAAO,CACL,KAAC,8BAA8B,cAC7B,KAAC,SAAS,IAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,YACzE,QAAQ,GACC,GACmB,CAClC,CAAC;AACJ,CAAC,CAAC"}
@@ -6,4 +6,6 @@ declare const _default: {
6
6
  };
7
7
  export default _default;
8
8
  export declare const Default: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, IBKJEllipsisMenuProps>;
9
+ export declare const WithCustomLabel: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, IBKJEllipsisMenuProps>;
10
+ export declare const OpenedByDefault: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, IBKJEllipsisMenuProps>;
9
11
  //# sourceMappingURL=BKJEllipsisMenu.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BKJEllipsisMenu.stories.d.ts","sourceRoot":"","sources":["../../../src/components/BKJEllipsisMenu/BKJEllipsisMenu.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;;;;;;AAEhE,wBAIE;AAaF,eAAO,MAAM,OAAO,iHAA2B,CAAC"}
1
+ {"version":3,"file":"BKJEllipsisMenu.stories.d.ts","sourceRoot":"","sources":["../../../src/components/BKJEllipsisMenu/BKJEllipsisMenu.stories.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;;;;;;AAEhE,wBAIE;AAaF,eAAO,MAAM,OAAO,iHAA2B,CAAC;AAehD,eAAO,MAAM,eAAe,iHAA0C,CAAC;AAsBvE,eAAO,MAAM,eAAe,iHAA0C,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { userEvent, within } from '@storybook/test';
2
3
  import { BKJMenuItem } from '../BKJMenuItem/index.js';
3
4
  import { Flex } from '../Flex/index.js';
4
5
  import { BKJEllipsisMenu } from './BKJEllipsisMenu.js';
@@ -12,4 +13,33 @@ const BKJMenuTemplate = () => {
12
13
  };
13
14
  export const Default = BKJMenuTemplate.bind({});
14
15
  Default.args = {};
16
+ const BKJMenuTemplateWithCustomLabel = () => {
17
+ return (_jsx(Flex, { flexDirection: "row-reverse", width: "100%", children: _jsxs(BKJEllipsisMenu, { "aria-label": "Row actions for shift 12345", children: [_jsx(BKJMenuItem, { children: "Export CSV" }), _jsx(BKJMenuItem, { children: "Export XLSX" })] }) }));
18
+ };
19
+ export const WithCustomLabel = BKJMenuTemplateWithCustomLabel.bind({});
20
+ WithCustomLabel.args = {};
21
+ WithCustomLabel.parameters = {
22
+ docs: {
23
+ description: {
24
+ story: 'Renders BKJEllipsisMenu with a consumer-supplied `aria-label`. The default `"More options"` is overridden by the prop value. Use this pattern when the row context (e.g., "Row actions for shift 12345") gives screen-reader users more useful information than a generic label.',
25
+ },
26
+ },
27
+ };
28
+ const BKJMenuTemplateOpenedByDefault = () => {
29
+ return (_jsx(Flex, { flexDirection: "row-reverse", width: "100%", children: _jsxs(BKJEllipsisMenu, { children: [_jsx(BKJMenuItem, { children: "Export CSV" }), _jsx(BKJMenuItem, { children: "Export XLSX" })] }) }));
30
+ };
31
+ export const OpenedByDefault = BKJMenuTemplateOpenedByDefault.bind({});
32
+ OpenedByDefault.args = {};
33
+ OpenedByDefault.play = async ({ canvasElement }) => {
34
+ const canvas = within(canvasElement);
35
+ const trigger = await canvas.findByRole('button', { name: 'More options' });
36
+ await userEvent.click(trigger);
37
+ };
38
+ OpenedByDefault.parameters = {
39
+ docs: {
40
+ description: {
41
+ story: 'Renders BKJEllipsisMenu in the open state via a play function. Use this story to verify the Storybook a11y addon reports zero violations with the menu-popup mounted via Portal. The trigger has `aria-expanded="true"` after the play function fires.',
42
+ },
43
+ },
44
+ };
15
45
  //# sourceMappingURL=BKJEllipsisMenu.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BKJEllipsisMenu.stories.js","sourceRoot":"","sources":["../../../src/components/BKJEllipsisMenu/BKJEllipsisMenu.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,eAAe;IACb,KAAK,EAAE,gCAAgC;IACvC,SAAS,EAAE,eAAe;IAC1B,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,eAAe,GAAmC,GAAG,EAAE;IAC3D,OAAO,CACL,KAAC,IAAI,IAAC,aAAa,EAAC,aAAa,EAAC,KAAK,EAAC,MAAM,YAC5C,MAAC,eAAe,eACd,KAAC,WAAW,6BAAyB,EACrC,KAAC,WAAW,8BAA0B,IACtB,GACb,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEhD,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"BKJEllipsisMenu.stories.js","sourceRoot":"","sources":["../../../src/components/BKJEllipsisMenu/BKJEllipsisMenu.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,eAAe;IACb,KAAK,EAAE,gCAAgC;IACvC,SAAS,EAAE,eAAe;IAC1B,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,eAAe,GAAmC,GAAG,EAAE;IAC3D,OAAO,CACL,KAAC,IAAI,IAAC,aAAa,EAAC,aAAa,EAAC,KAAK,EAAC,MAAM,YAC5C,MAAC,eAAe,eACd,KAAC,WAAW,6BAAyB,EACrC,KAAC,WAAW,8BAA0B,IACtB,GACb,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEhD,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC;AAElB,MAAM,8BAA8B,GAAmC,GAAG,EAAE;IAC1E,OAAO,CACL,KAAC,IAAI,IAAC,aAAa,EAAC,aAAa,EAAC,KAAK,EAAC,MAAM,YAC5C,MAAC,eAAe,kBAAY,6BAA6B,aACvD,KAAC,WAAW,6BAAyB,EACrC,KAAC,WAAW,8BAA0B,IACtB,GACb,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,8BAA8B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvE,eAAe,CAAC,IAAI,GAAG,EAAE,CAAC;AAC1B,eAAe,CAAC,UAAU,GAAG;IAC3B,IAAI,EAAE;QACJ,WAAW,EAAE;YACX,KAAK,EACH,kRAAkR;SACrR;KACF;CACF,CAAC;AAEF,MAAM,8BAA8B,GAAmC,GAAG,EAAE;IAC1E,OAAO,CACL,KAAC,IAAI,IAAC,aAAa,EAAC,aAAa,EAAC,KAAK,EAAC,MAAM,YAC5C,MAAC,eAAe,eACd,KAAC,WAAW,6BAAyB,EACrC,KAAC,WAAW,8BAA0B,IACtB,GACb,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,8BAA8B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvE,eAAe,CAAC,IAAI,GAAG,EAAE,CAAC;AAC1B,eAAe,CAAC,IAAI,GAAG,KAAK,EAAE,EAAE,aAAa,EAAkC,EAAE,EAAE;IACjF,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAC5E,MAAM,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC;AACF,eAAe,CAAC,UAAU,GAAG;IAC3B,IAAI,EAAE;QACJ,WAAW,EAAE;YACX,KAAK,EACH,wPAAwP;SAC3P;KACF;CACF,CAAC"}
@@ -1,4 +1,4 @@
1
- export declare const BKJEllipsisMenuIconWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
1
+ export declare const BKJEllipsisMenuIconWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {
2
2
  ref?: any;
3
3
  }>> & string;
4
4
  //# sourceMappingURL=BKJEllipsisMenu.styled.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BKJEllipsisMenu.styled.d.ts","sourceRoot":"","sources":["../../../src/components/BKJEllipsisMenu/BKJEllipsisMenu.styled.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B;UAAsB,GAAG;YAW/D,CAAC"}
1
+ {"version":3,"file":"BKJEllipsisMenu.styled.d.ts","sourceRoot":"","sources":["../../../src/components/BKJEllipsisMenu/BKJEllipsisMenu.styled.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B;UAAyB,GAAG;YAgBlE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import styled from 'styled-components';
2
- export const BKJEllipsisMenuIconWrapper = styled.div `
2
+ export const BKJEllipsisMenuIconWrapper = styled.button `
3
3
  min-height: 38px;
4
4
  height: 38px;
5
5
  width: 38px;
@@ -7,6 +7,11 @@ export const BKJEllipsisMenuIconWrapper = styled.div `
7
7
  display: flex;
8
8
  justify-content: center;
9
9
  align-items: center;
10
+ border: none;
11
+ background: none;
12
+ padding: 0;
13
+ font: inherit;
14
+ color: inherit;
10
15
  &:hover {
11
16
  cursor: pointer;
12
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BKJEllipsisMenu.styled.js","sourceRoot":"","sources":["../../../src/components/BKJEllipsisMenu/BKJEllipsisMenu.styled.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,GAAG,CAAe;;;;;;;;;;;CAWlE,CAAC"}
1
+ {"version":3,"file":"BKJEllipsisMenu.styled.js","sourceRoot":"","sources":["../../../src/components/BKJEllipsisMenu/BKJEllipsisMenu.styled.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAe;;;;;;;;;;;;;;;;CAgBrE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=BKJEllipsisMenu.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BKJEllipsisMenu.test.d.ts","sourceRoot":"","sources":["../../../src/components/BKJEllipsisMenu/BKJEllipsisMenu.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,126 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { screen } from '@testing-library/react';
3
+ import userEvent from '@testing-library/user-event';
4
+ import { axe } from 'jest-axe';
5
+ import { renderAndCheckA11y, renderWithTheme } from '../../test-utils/index.js';
6
+ import { BKJMenuItem } from '../BKJMenuItem/index.js';
7
+ import { BKJEllipsisMenu } from './BKJEllipsisMenu.js';
8
+ describe('BKJEllipsisMenu trigger structural contract (FR-001 / FR-002)', () => {
9
+ it('renders the trigger as a real <button> element with type="button"', () => {
10
+ renderWithTheme(_jsx(BKJEllipsisMenu, { children: _jsx(BKJMenuItem, { children: "Export CSV" }) }));
11
+ const trigger = screen.getByRole('button', { name: 'More options' });
12
+ expect(trigger.tagName).toBe('BUTTON');
13
+ expect(trigger).toHaveAttribute('type', 'button');
14
+ });
15
+ });
16
+ describe('BKJEllipsisMenu trigger keyboard activation (FR-001 / FR-009 (vi)–(vii))', () => {
17
+ it('opens the menu when Enter is pressed on the focused trigger', async () => {
18
+ const user = userEvent.setup();
19
+ renderWithTheme(_jsx(BKJEllipsisMenu, { children: _jsx(BKJMenuItem, { children: "Export CSV" }) }));
20
+ const trigger = screen.getByRole('button', { name: 'More options' });
21
+ trigger.focus();
22
+ expect(document.activeElement).toBe(trigger);
23
+ expect(trigger).toHaveAttribute('aria-expanded', 'false');
24
+ await user.keyboard('{Enter}');
25
+ expect(trigger).toHaveAttribute('aria-expanded', 'true');
26
+ });
27
+ it('opens the menu when Space is pressed on the focused trigger', async () => {
28
+ const user = userEvent.setup();
29
+ renderWithTheme(_jsx(BKJEllipsisMenu, { children: _jsx(BKJMenuItem, { children: "Export CSV" }) }));
30
+ const trigger = screen.getByRole('button', { name: 'More options' });
31
+ trigger.focus();
32
+ expect(trigger).toHaveAttribute('aria-expanded', 'false');
33
+ await user.keyboard(' ');
34
+ expect(trigger).toHaveAttribute('aria-expanded', 'true');
35
+ });
36
+ it('is reachable via Tab from a sibling element', async () => {
37
+ const user = userEvent.setup();
38
+ renderWithTheme(_jsxs(_Fragment, { children: [_jsx("button", { "data-testid": "sibling", children: "Sibling" }), _jsx(BKJEllipsisMenu, { children: _jsx(BKJMenuItem, { children: "Export CSV" }) })] }));
39
+ const sibling = screen.getByTestId('sibling');
40
+ sibling.focus();
41
+ expect(document.activeElement).toBe(sibling);
42
+ await user.tab();
43
+ const trigger = screen.getByRole('button', { name: 'More options' });
44
+ expect(document.activeElement).toBe(trigger);
45
+ });
46
+ });
47
+ describe('BKJEllipsisMenu accessible-name resolution (FR-003 / FR-004)', () => {
48
+ it('applies aria-label="More options" by default when no prop is supplied', () => {
49
+ renderWithTheme(_jsx(BKJEllipsisMenu, { children: _jsx(BKJMenuItem, { children: "Export CSV" }) }));
50
+ const trigger = screen.getByRole('button', { name: 'More options' });
51
+ expect(trigger).toHaveAttribute('aria-label', 'More options');
52
+ });
53
+ it('honours consumer-supplied aria-label override', () => {
54
+ renderWithTheme(_jsx(BKJEllipsisMenu, { "aria-label": "Row actions for shift 12345", children: _jsx(BKJMenuItem, { children: "Export CSV" }) }));
55
+ const trigger = screen.getByRole('button', { name: 'Row actions for shift 12345' });
56
+ expect(trigger).toHaveAttribute('aria-label', 'Row actions for shift 12345');
57
+ });
58
+ it('passes empty-string aria-label through verbatim (does not fall back to default)', () => {
59
+ const { container } = renderWithTheme(_jsx(BKJEllipsisMenu, { "aria-label": "", children: _jsx(BKJMenuItem, { children: "Export CSV" }) }));
60
+ const trigger = container.querySelector('button');
61
+ expect(trigger).not.toBeNull();
62
+ expect(trigger).toHaveAttribute('aria-label', '');
63
+ });
64
+ });
65
+ describe('BKJEllipsisMenu Ellipsis icon decorative inheritance (WEB-4841 / SC-011)', () => {
66
+ it('renders the inner <svg> with aria-hidden="true" (inherited from BKJIcon default)', () => {
67
+ const { container } = renderWithTheme(_jsx(BKJEllipsisMenu, { children: _jsx(BKJMenuItem, { children: "Export CSV" }) }));
68
+ const svg = container.querySelector('button svg');
69
+ expect(svg).not.toBeNull();
70
+ expect(svg).toHaveAttribute('aria-hidden', 'true');
71
+ });
72
+ });
73
+ describe('BKJEllipsisMenu axe-clean accessible-name states (FR-009 axe sweep)', () => {
74
+ it('reports zero axe violations with the default aria-label and the menu closed', async () => {
75
+ const { axeResults } = await renderAndCheckA11y(_jsx(BKJEllipsisMenu, { children: _jsx(BKJMenuItem, { children: "Export CSV" }) }));
76
+ expect(axeResults).toHaveNoViolations();
77
+ });
78
+ it('reports zero axe violations with a consumer-supplied aria-label and the menu closed', async () => {
79
+ const { axeResults } = await renderAndCheckA11y(_jsx(BKJEllipsisMenu, { "aria-label": "Row actions for shift 12345", children: _jsx(BKJMenuItem, { children: "Export CSV" }) }));
80
+ expect(axeResults).toHaveNoViolations();
81
+ });
82
+ });
83
+ describe('BKJEllipsisMenu trigger menu-popup state ARIA (FR-002 / Clarification Q4)', () => {
84
+ it('carries aria-haspopup="menu", aria-expanded="false", and NO aria-controls when closed', () => {
85
+ renderWithTheme(_jsx(BKJEllipsisMenu, { children: _jsx(BKJMenuItem, { children: "Export CSV" }) }));
86
+ const trigger = screen.getByRole('button', { name: 'More options' });
87
+ expect(trigger).toHaveAttribute('aria-haspopup', 'menu');
88
+ expect(trigger).toHaveAttribute('aria-expanded', 'false');
89
+ expect(trigger).not.toHaveAttribute('aria-controls');
90
+ });
91
+ it('flips aria-expanded to "true" after the trigger is clicked, and STILL has no aria-controls', async () => {
92
+ const user = userEvent.setup();
93
+ renderWithTheme(_jsx(BKJEllipsisMenu, { children: _jsx(BKJMenuItem, { children: "Export CSV" }) }));
94
+ const trigger = screen.getByRole('button', { name: 'More options' });
95
+ expect(trigger).toHaveAttribute('aria-expanded', 'false');
96
+ await user.click(trigger);
97
+ expect(trigger).toHaveAttribute('aria-haspopup', 'menu');
98
+ expect(trigger).toHaveAttribute('aria-expanded', 'true');
99
+ expect(trigger).not.toHaveAttribute('aria-controls');
100
+ });
101
+ it('reports zero axe violations with the menu open (default aria-label)', async () => {
102
+ const user = userEvent.setup();
103
+ const { container } = renderWithTheme(_jsx(BKJEllipsisMenu, { children: _jsx(BKJMenuItem, { children: "Export CSV" }) }));
104
+ const trigger = screen.getByRole('button', { name: 'More options' });
105
+ await user.click(trigger);
106
+ const axeResults = await axe(container);
107
+ expect(axeResults).toHaveNoViolations();
108
+ });
109
+ });
110
+ describe('BKJEllipsisMenu consumer override exclusion (FR-006)', () => {
111
+ it('silently overrides consumer-supplied type / aria-haspopup / aria-expanded / onClick', async () => {
112
+ const user = userEvent.setup();
113
+ const consumerOnClick = jest.fn();
114
+ const Adversarial = BKJEllipsisMenu;
115
+ renderWithTheme(_jsx(Adversarial, { type: "submit", "aria-haspopup": "dialog", "aria-expanded": true, onClick: consumerOnClick, "aria-label": "Custom", children: _jsx(BKJMenuItem, { children: "Export CSV" }) }));
116
+ const trigger = screen.getByRole('button', { name: 'Custom' });
117
+ expect(trigger).toHaveAttribute('type', 'button');
118
+ expect(trigger).toHaveAttribute('aria-haspopup', 'menu');
119
+ expect(trigger).toHaveAttribute('aria-expanded', 'false');
120
+ expect(trigger).toHaveAttribute('aria-label', 'Custom');
121
+ await user.click(trigger);
122
+ expect(consumerOnClick).not.toHaveBeenCalled();
123
+ expect(trigger).toHaveAttribute('aria-expanded', 'true');
124
+ });
125
+ });
126
+ //# sourceMappingURL=BKJEllipsisMenu.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BKJEllipsisMenu.test.js","sourceRoot":"","sources":["../../../src/components/BKJEllipsisMenu/BKJEllipsisMenu.test.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BKJPagination.d.ts","sourceRoot":"","sources":["../../../src/components/BKJPagination/BKJPagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA8BvD,CAAC"}
1
+ {"version":3,"file":"BKJPagination.d.ts","sourceRoot":"","sources":["../../../src/components/BKJPagination/BKJPagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA8CvD,CAAC"}
@@ -2,6 +2,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { BKJIcon } from '../BKJIcon/index.js';
3
3
  import { BKJPaginationButton, BKJPaginationDisplay, BKJPaginationText, BKJPaginationWrapper, } from './BKJPagination.styled.js';
4
4
  export const BKJPagination = ({ disabled = false, pageCount, currentPage = 1, onFirstPage, onLastPage, onNextPage, onPrevPage, }) => {
5
- return (_jsxs(BKJPaginationWrapper, { children: [_jsx(BKJPaginationButton, { disabled: disabled || currentPage <= 1, onClick: onFirstPage, children: _jsx(BKJIcon, { iconName: "ChevronDoubleLeft" }) }), _jsx(BKJPaginationButton, { disabled: disabled || currentPage <= 1, onClick: onPrevPage, children: _jsx(BKJIcon, { iconName: "ChevronLeft" }) }), _jsx(BKJPaginationDisplay, { children: _jsxs(BKJPaginationText, { children: [currentPage, " of ", pageCount] }) }), _jsx(BKJPaginationButton, { disabled: disabled || currentPage >= pageCount, onClick: onNextPage, children: _jsx(BKJIcon, { iconName: "ChevronRight" }) }), _jsx(BKJPaginationButton, { disabled: disabled || currentPage >= pageCount, onClick: onLastPage, children: _jsx(BKJIcon, { iconName: "ChevronDoubleRight" }) })] }));
5
+ return (_jsxs(BKJPaginationWrapper, { "aria-label": "Pagination", children: [_jsx(BKJPaginationButton, { "aria-label": "First page", disabled: disabled || currentPage <= 1, onClick: onFirstPage, children: _jsx(BKJIcon, { iconName: "ChevronDoubleLeft" }) }), _jsx(BKJPaginationButton, { "aria-label": "Previous page", disabled: disabled || currentPage <= 1, onClick: onPrevPage, children: _jsx(BKJIcon, { iconName: "ChevronLeft" }) }), _jsx(BKJPaginationDisplay, { role: "status", "aria-live": "polite", children: _jsxs(BKJPaginationText, { children: [currentPage, " of ", pageCount] }) }), _jsx(BKJPaginationButton, { "aria-label": "Next page", disabled: disabled || currentPage >= pageCount, onClick: onNextPage, children: _jsx(BKJIcon, { iconName: "ChevronRight" }) }), _jsx(BKJPaginationButton, { "aria-label": "Last page", disabled: disabled || currentPage >= pageCount, onClick: onLastPage, children: _jsx(BKJIcon, { iconName: "ChevronDoubleRight" }) })] }));
6
6
  };
7
7
  //# sourceMappingURL=BKJPagination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BKJPagination.js","sourceRoot":"","sources":["../../../src/components/BKJPagination/BKJPagination.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,CAAC,MAAM,aAAa,GAAkC,CAAC,EAC3D,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,WAAW,GAAG,CAAC,EACf,WAAW,EACX,UAAU,EACV,UAAU,EACV,UAAU,GACX,EAAE,EAAE;IACH,OAAO,CACL,MAAC,oBAAoB,eACnB,KAAC,mBAAmB,IAAC,QAAQ,EAAE,QAAQ,IAAI,WAAW,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,YAC/E,KAAC,OAAO,IAAC,QAAQ,EAAC,mBAAmB,GAAG,GACpB,EACtB,KAAC,mBAAmB,IAAC,QAAQ,EAAE,QAAQ,IAAI,WAAW,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,YAC9E,KAAC,OAAO,IAAC,QAAQ,EAAC,aAAa,GAAG,GACd,EACtB,KAAC,oBAAoB,cACnB,MAAC,iBAAiB,eACf,WAAW,UAAM,SAAS,IACT,GACC,EACvB,KAAC,mBAAmB,IAAC,QAAQ,EAAE,QAAQ,IAAI,WAAW,IAAI,SAAS,EAAE,OAAO,EAAE,UAAU,YACtF,KAAC,OAAO,IAAC,QAAQ,EAAC,cAAc,GAAG,GACf,EACtB,KAAC,mBAAmB,IAAC,QAAQ,EAAE,QAAQ,IAAI,WAAW,IAAI,SAAS,EAAE,OAAO,EAAE,UAAU,YACtF,KAAC,OAAO,IAAC,QAAQ,EAAC,oBAAoB,GAAG,GACrB,IACD,CACxB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"BKJPagination.js","sourceRoot":"","sources":["../../../src/components/BKJPagination/BKJPagination.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,CAAC,MAAM,aAAa,GAAkC,CAAC,EAC3D,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,WAAW,GAAG,CAAC,EACf,WAAW,EACX,UAAU,EACV,UAAU,EACV,UAAU,GACX,EAAE,EAAE;IACH,OAAO,CACL,MAAC,oBAAoB,kBAAY,YAAY,aAC3C,KAAC,mBAAmB,kBACP,YAAY,EACvB,QAAQ,EAAE,QAAQ,IAAI,WAAW,IAAI,CAAC,EACtC,OAAO,EAAE,WAAW,YAEpB,KAAC,OAAO,IAAC,QAAQ,EAAC,mBAAmB,GAAG,GACpB,EACtB,KAAC,mBAAmB,kBACP,eAAe,EAC1B,QAAQ,EAAE,QAAQ,IAAI,WAAW,IAAI,CAAC,EACtC,OAAO,EAAE,UAAU,YAEnB,KAAC,OAAO,IAAC,QAAQ,EAAC,aAAa,GAAG,GACd,EACtB,KAAC,oBAAoB,IAAC,IAAI,EAAC,QAAQ,eAAW,QAAQ,YACpD,MAAC,iBAAiB,eACf,WAAW,UAAM,SAAS,IACT,GACC,EACvB,KAAC,mBAAmB,kBACP,WAAW,EACtB,QAAQ,EAAE,QAAQ,IAAI,WAAW,IAAI,SAAS,EAC9C,OAAO,EAAE,UAAU,YAEnB,KAAC,OAAO,IAAC,QAAQ,EAAC,cAAc,GAAG,GACf,EACtB,KAAC,mBAAmB,kBACP,WAAW,EACtB,QAAQ,EAAE,QAAQ,IAAI,WAAW,IAAI,SAAS,EAC9C,OAAO,EAAE,UAAU,YAEnB,KAAC,OAAO,IAAC,QAAQ,EAAC,oBAAoB,GAAG,GACrB,IACD,CACxB,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- export declare const BKJPaginationWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
1
+ export declare const BKJPaginationWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
2
2
  export declare const BKJPaginationButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {
3
3
  disabled?: boolean;
4
4
  }>> & string;
@@ -1 +1 @@
1
- {"version":3,"file":"BKJPagination.styled.d.ts","sourceRoot":"","sources":["../../../src/components/BKJPagination/BKJPagination.styled.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,6NAOhC,CAAC;AAEF,eAAO,MAAM,mBAAmB;eAA8B,OAAO;YAsBpE,CAAC;AAEF,eAAO,MAAM,oBAAoB,6NAQhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,yOAM7B,CAAC"}
1
+ {"version":3,"file":"BKJPagination.styled.d.ts","sourceRoot":"","sources":["../../../src/components/BKJPagination/BKJPagination.styled.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,uNAOhC,CAAC;AAEF,eAAO,MAAM,mBAAmB;eAA8B,OAAO;YAsBpE,CAAC;AAEF,eAAO,MAAM,oBAAoB,6NAQhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,yOAM7B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import styled, { css } from 'styled-components';
2
- export const BKJPaginationWrapper = styled.div `
2
+ export const BKJPaginationWrapper = styled.nav `
3
3
  display: flex;
4
4
  width: 260px;
5
5
  height: 44px;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=BKJPagination.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BKJPagination.test.d.ts","sourceRoot":"","sources":["../../../src/components/BKJPagination/BKJPagination.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,79 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { screen } from '@testing-library/react';
4
+ import userEvent from '@testing-library/user-event';
5
+ import { renderAndCheckA11y, renderWithTheme } from '../../test-utils/index.js';
6
+ import { BKJPagination } from './BKJPagination.js';
7
+ const noop = () => undefined;
8
+ describe('BKJPagination — Accessibility (FR-007)', () => {
9
+ it('a) jest-axe zero violations on default render', async () => {
10
+ const { axeResults } = await renderAndCheckA11y(_jsx(BKJPagination, { pageCount: 10, currentPage: 5, onFirstPage: noop, onPrevPage: noop, onNextPage: noop, onLastPage: noop }));
11
+ expect(axeResults).toHaveNoViolations();
12
+ });
13
+ it('b) outer element is <nav aria-label="Pagination">', () => {
14
+ renderWithTheme(_jsx(BKJPagination, { pageCount: 10, currentPage: 5, onFirstPage: noop, onPrevPage: noop, onNextPage: noop, onLastPage: noop }));
15
+ const nav = screen.getByRole('navigation', { name: 'Pagination' });
16
+ expect(nav.tagName).toBe('NAV');
17
+ });
18
+ it('c) four buttons carry hardcoded English aria-labels', () => {
19
+ renderWithTheme(_jsx(BKJPagination, { pageCount: 10, currentPage: 5, onFirstPage: noop, onPrevPage: noop, onNextPage: noop, onLastPage: noop }));
20
+ const buttons = screen.getAllByRole('button');
21
+ expect(buttons).toHaveLength(4);
22
+ buttons.forEach((b) => expect(b.tagName).toBe('BUTTON'));
23
+ expect(screen.getByRole('button', { name: 'First page' })).toBeInTheDocument();
24
+ expect(screen.getByRole('button', { name: 'Previous page' })).toBeInTheDocument();
25
+ expect(screen.getByRole('button', { name: 'Next page' })).toBeInTheDocument();
26
+ expect(screen.getByRole('button', { name: 'Last page' })).toBeInTheDocument();
27
+ });
28
+ it('d) BKJPaginationDisplay carries role="status" + aria-live="polite"', () => {
29
+ renderWithTheme(_jsx(BKJPagination, { pageCount: 10, currentPage: 5, onFirstPage: noop, onPrevPage: noop, onNextPage: noop, onLastPage: noop }));
30
+ const display = screen.getByRole('status');
31
+ expect(display).toHaveAttribute('aria-live', 'polite');
32
+ });
33
+ it('e) native disabled attribute set on First+Prev at first-page state', () => {
34
+ renderWithTheme(_jsx(BKJPagination, { pageCount: 10, currentPage: 1, onFirstPage: noop, onPrevPage: noop, onNextPage: noop, onLastPage: noop }));
35
+ expect(screen.getByRole('button', { name: 'First page' })).toBeDisabled();
36
+ expect(screen.getByRole('button', { name: 'Previous page' })).toBeDisabled();
37
+ expect(screen.getByRole('button', { name: 'Next page' })).not.toBeDisabled();
38
+ expect(screen.getByRole('button', { name: 'Last page' })).not.toBeDisabled();
39
+ });
40
+ it('f) live-region textContent reads "X of N" and mutates on Next click', async () => {
41
+ const user = userEvent.setup();
42
+ function Stateful() {
43
+ const [page, setPage] = React.useState(5);
44
+ return (_jsx(BKJPagination, { pageCount: 10, currentPage: page, onFirstPage: () => setPage(1), onPrevPage: () => setPage(page - 1), onNextPage: () => setPage(page + 1), onLastPage: () => setPage(10) }));
45
+ }
46
+ renderWithTheme(_jsx(Stateful, {}));
47
+ const display = screen.getByRole('status');
48
+ expect(display).toHaveTextContent('5 of 10');
49
+ await user.click(screen.getByRole('button', { name: 'Next page' }));
50
+ expect(display).toHaveTextContent('6 of 10');
51
+ });
52
+ });
53
+ describe('BKJPagination — Keyboard operability (FR-008)', () => {
54
+ it('Tab traverses First → Prev → Next → Last; Enter and Space activate', async () => {
55
+ const user = userEvent.setup();
56
+ const onFirstPage = jest.fn();
57
+ const onPrevPage = jest.fn();
58
+ const onNextPage = jest.fn();
59
+ const onLastPage = jest.fn();
60
+ renderWithTheme(_jsx(BKJPagination, { pageCount: 10, currentPage: 5, onFirstPage: onFirstPage, onPrevPage: onPrevPage, onNextPage: onNextPage, onLastPage: onLastPage }));
61
+ await user.tab();
62
+ expect(document.activeElement).toBe(screen.getByRole('button', { name: 'First page' }));
63
+ await user.keyboard('{Enter}');
64
+ expect(onFirstPage).toHaveBeenCalledTimes(1);
65
+ await user.tab();
66
+ expect(document.activeElement).toBe(screen.getByRole('button', { name: 'Previous page' }));
67
+ await user.keyboard(' ');
68
+ expect(onPrevPage).toHaveBeenCalledTimes(1);
69
+ await user.tab();
70
+ expect(document.activeElement).toBe(screen.getByRole('button', { name: 'Next page' }));
71
+ await user.keyboard('{Enter}');
72
+ expect(onNextPage).toHaveBeenCalledTimes(1);
73
+ await user.tab();
74
+ expect(document.activeElement).toBe(screen.getByRole('button', { name: 'Last page' }));
75
+ await user.keyboard(' ');
76
+ expect(onLastPage).toHaveBeenCalledTimes(1);
77
+ });
78
+ });
79
+ //# sourceMappingURL=BKJPagination.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BKJPagination.test.js","sourceRoot":"","sources":["../../../src/components/BKJPagination/BKJPagination.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.31",
3
+ "version": "9.0.33",
4
4
  "main": "./lib/index.js",
5
5
  "typings": "./lib/index.d.ts",
6
6
  "engines": {