pixel-react 1.21.67 → 1.21.68

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 (97) hide show
  1. package/lib/components/AudioPlayer/AudioPlayer.js +1 -1
  2. package/lib/components/AudioPlayer/AudioPlayer.js.map +1 -1
  3. package/lib/components/AudioPlayer/__tests__/AudioPlayer.test.d.ts +1 -0
  4. package/lib/components/AudioPlayer/__tests__/AudioPlayer.test.js +68 -0
  5. package/lib/components/AudioPlayer/__tests__/AudioPlayer.test.js.map +1 -0
  6. package/lib/components/Button/__tests__/Button.test.d.ts +1 -0
  7. package/lib/components/Button/__tests__/Button.test.js +45 -0
  8. package/lib/components/Button/__tests__/Button.test.js.map +1 -0
  9. package/lib/components/Button/types.d.ts +2 -2
  10. package/lib/components/CardPanel/CardPanel.js +3 -1
  11. package/lib/components/CardPanel/CardPanel.js.map +1 -1
  12. package/lib/components/CardPanel/__tests__/CardPanel.test.d.ts +1 -0
  13. package/lib/components/CardPanel/__tests__/CardPanel.test.js +36 -0
  14. package/lib/components/CardPanel/__tests__/CardPanel.test.js.map +1 -0
  15. package/lib/components/Drawer/Drawer.js +4 -3
  16. package/lib/components/Drawer/Drawer.js.map +1 -1
  17. package/lib/components/Drawer/__tests__/Drawer.test.d.ts +1 -0
  18. package/lib/components/Drawer/__tests__/Drawer.test.js +48 -0
  19. package/lib/components/Drawer/__tests__/Drawer.test.js.map +1 -0
  20. package/lib/components/Editor/Editor.d.ts +7 -1
  21. package/lib/components/Editor/Editor.js +29 -345
  22. package/lib/components/Editor/Editor.js.map +1 -1
  23. package/lib/components/Editor/__tests__/beautify.test.d.ts +1 -0
  24. package/lib/components/Editor/__tests__/beautify.test.js +15 -0
  25. package/lib/components/Editor/__tests__/beautify.test.js.map +1 -0
  26. package/lib/components/Editor/beautify.d.ts +1 -0
  27. package/lib/components/Editor/beautify.js +40 -0
  28. package/lib/components/Editor/beautify.js.map +1 -0
  29. package/lib/components/Editor/useVariableDropdown.d.ts +17 -0
  30. package/lib/components/Editor/useVariableDropdown.js +252 -0
  31. package/lib/components/Editor/useVariableDropdown.js.map +1 -0
  32. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ColumnIndicator.d.ts +1 -1
  33. package/lib/components/Excel/ExcelFile/ExcelFileComponents/areModelsEqual.js +0 -1
  34. package/lib/components/Excel/ExcelFile/ExcelFileComponents/areModelsEqual.js.map +1 -1
  35. package/lib/components/Icon/Icon.js +15 -2
  36. package/lib/components/Icon/Icon.js.map +1 -1
  37. package/lib/components/Icon/__tests__/Icon.test.d.ts +1 -0
  38. package/lib/components/Icon/__tests__/Icon.test.js +66 -0
  39. package/lib/components/Icon/__tests__/Icon.test.js.map +1 -0
  40. package/lib/components/Icon/types.d.ts +2 -1
  41. package/lib/components/Input/Input.js +13 -10
  42. package/lib/components/Input/Input.js.map +1 -1
  43. package/lib/components/Input/__tests__/Input.test.d.ts +1 -0
  44. package/lib/components/Input/__tests__/Input.test.js +45 -0
  45. package/lib/components/Input/__tests__/Input.test.js.map +1 -0
  46. package/lib/components/Input/types.d.ts +2 -1
  47. package/lib/components/MultiSelect/Dropdown.js +3 -4
  48. package/lib/components/MultiSelect/Dropdown.js.map +1 -1
  49. package/lib/components/MultiSelect/MultiSelect.d.ts +1 -1
  50. package/lib/components/MultiSelect/MultiSelect.js +17 -6
  51. package/lib/components/MultiSelect/MultiSelect.js.map +1 -1
  52. package/lib/components/MultiSelect/MultiSelectTypes.d.ts +2 -2
  53. package/lib/components/MultiSelect/__tests__/MultiSelect.test.d.ts +1 -0
  54. package/lib/components/MultiSelect/__tests__/MultiSelect.test.js +30 -0
  55. package/lib/components/MultiSelect/__tests__/MultiSelect.test.js.map +1 -0
  56. package/lib/components/MultiSelect/dropdownTypes.d.ts +3 -0
  57. package/lib/components/Select/Select.js +14 -7
  58. package/lib/components/Select/Select.js.map +1 -1
  59. package/lib/components/Select/__tests__/Select.test.d.ts +1 -0
  60. package/lib/components/Select/__tests__/Select.test.js +33 -0
  61. package/lib/components/Select/__tests__/Select.test.js.map +1 -0
  62. package/lib/components/Select/components/Dropdown.js +3 -3
  63. package/lib/components/Select/components/Dropdown.js.map +1 -1
  64. package/lib/components/Select/components/types.d.ts +1 -0
  65. package/lib/components/Select/components/types.js.map +1 -1
  66. package/lib/components/Select/types.d.ts +2 -2
  67. package/lib/components/Table/Table.js +3 -3
  68. package/lib/components/Table/Table.js.map +1 -1
  69. package/lib/components/Table/Types.d.ts +8 -0
  70. package/lib/components/Table/__tests__/Table.test.d.ts +1 -0
  71. package/lib/components/Table/__tests__/Table.test.js +26 -0
  72. package/lib/components/Table/__tests__/Table.test.js.map +1 -0
  73. package/lib/components/Table/components/SortableRow.js +2 -3
  74. package/lib/components/Table/components/SortableRow.js.map +1 -1
  75. package/lib/components/Table/components/TableHeader.js +3 -3
  76. package/lib/components/Table/components/TableHeader.js.map +1 -1
  77. package/lib/components/Table/components/VirtualizedRows.js +1 -1
  78. package/lib/components/Table/components/VirtualizedRows.js.map +1 -1
  79. package/lib/components/TableTreeFn/Components/TableBody.js +1 -1
  80. package/lib/components/TableTreeFn/Components/TableBody.js.map +1 -1
  81. package/lib/components/TableTreeFn/Components/TableCell.js +1 -1
  82. package/lib/components/TableTreeFn/Components/TableCell.js.map +1 -1
  83. package/lib/components/TableTreeFn/Components/TableHead.js +2 -2
  84. package/lib/components/TableTreeFn/Components/TableHead.js.map +1 -1
  85. package/lib/components/TableTreeFn/Components/TableRow.js +1 -1
  86. package/lib/components/TableTreeFn/Components/TableRow.js.map +1 -1
  87. package/lib/components/TableTreeFn/TableTreeFn.js +2 -2
  88. package/lib/components/TableTreeFn/TableTreeFn.js.map +1 -1
  89. package/lib/components/TableTreeFn/__tests__/TableTreeFn.test.d.ts +1 -0
  90. package/lib/components/TableTreeFn/__tests__/TableTreeFn.test.js +17 -0
  91. package/lib/components/TableTreeFn/__tests__/TableTreeFn.test.js.map +1 -0
  92. package/lib/components/TableTreeFn/types.d.ts +8 -0
  93. package/lib/index.d.ts +30 -8
  94. package/lib/index.js +8 -8
  95. package/lib/styles.css +1 -1
  96. package/lib/tsconfig.tsbuildinfo +1 -1
  97. package/package.json +9 -3
@@ -107,7 +107,7 @@ const AudioPlayer = ({ duration, currentTime, isPlaying = false, onPlayPause = (
107
107
  break;
108
108
  }
109
109
  };
110
- return (_jsxs("div", { className: `ff-audio-player ${className}`, style: style, "aria-disabled": disabled, tabIndex: disabled ? -1 : 0, role: "group", "aria-label": "Audio player", onKeyDown: handleKeyDown, children: [_jsx("button", { type: "button", className: "ff-audio-play-btn", onClick: onPlayPause, disabled: disabled, "aria-label": isPlaying ? 'Pause' : 'Play', children: isPlaying ? (_jsxs("span", { className: "ff-audio-pause-shape", children: [_jsx("span", { className: "ff-audio-pause-bar" }), _jsx("span", { className: "ff-audio-pause-bar" })] })) : (_jsx(Icon, { name: "play", width: 8, height: 8, cursorType: "pointer", withPadding: false, className: "ff-audio-play" })) }), _jsx(Typography, { fontSize: 8, className: "ff-audio-time", children: formatTime(currentTime) }), _jsxs("div", { className: "ff-audio-seek-wrap", children: [_jsx("div", { className: "ff-audio-seek-track" }), _jsx("div", { className: "ff-audio-seek-fill", style: { width: `${progressPercent}%` } }), _jsx("input", { type: "range", className: "ff-audio-seek", min: 0, max: duration || 0, step: 1, value: currentTime, disabled: disabled, onChange: handleSeek, "aria-label": "Seek" })] }), _jsx(Typography, { fontSize: 8, className: "ff-audio-time", children: formatTime(duration) }), _jsx(Icon, { name: "speaker", onClick: disabled ? () => { } : onMuteToggle, disabled: disabled, withPadding: false, className: `ff-audio-speaker-icon${isMuted ? ' ff-audio-speaker-muted' : ''}`, cursorType: "pointer" }), _jsx("div", { className: "ff-audio-more-wrap", ref: moreRef, children: _jsx(MenuOption, { iconName: "more", options: resolvedMenuOptions, onOptionClick: handleMenuOptionClick, dropdownPlacement: "bottomLeft", displayCard: true, disabled: disabled, iconSize: 12 }) }), isSpeedMenuOpen && (_jsxs(_Fragment, { children: [_jsx("div", { className: "ff-audio-speed-overlay", onClick: () => setIsSpeedMenuOpen(false) }), _jsx("div", { className: "ff-audio-speed-menu", style: { top: speedMenuPosition.top, left: speedMenuPosition.left }, ref: speedMenuRef, tabIndex: -1, role: "listbox", "aria-label": "Playback speed", onKeyDown: handleSpeedMenuKeyDown, children: SPEED_OPTIONS.map((speed, index) => {
110
+ return (_jsxs("div", { className: `ff-audio-player ${className}`, style: style, "aria-disabled": disabled, tabIndex: disabled ? -1 : 0, role: "group", "aria-label": "Audio player", onKeyDown: handleKeyDown, children: [_jsx("button", { type: "button", className: "ff-audio-play-btn", onClick: onPlayPause, disabled: disabled, "aria-label": isPlaying ? 'Pause' : 'Play', children: isPlaying ? (_jsxs("span", { className: "ff-audio-pause-shape", children: [_jsx("span", { className: "ff-audio-pause-bar" }), _jsx("span", { className: "ff-audio-pause-bar" })] })) : (_jsx(Icon, { name: "play", width: 8, height: 8, cursorType: "pointer", withPadding: false, className: "ff-audio-play" })) }), _jsx(Typography, { fontSize: 8, className: "ff-audio-time", children: formatTime(currentTime) }), _jsxs("div", { className: "ff-audio-seek-wrap", children: [_jsx("div", { className: "ff-audio-seek-track" }), _jsx("div", { className: "ff-audio-seek-fill", style: { width: `${progressPercent}%` } }), _jsx("input", { type: "range", className: "ff-audio-seek", min: 0, max: duration || 0, step: 1, value: currentTime, disabled: disabled, onChange: handleSeek, "aria-label": "Seek", "aria-valuetext": formatTime(currentTime) })] }), _jsx(Typography, { fontSize: 8, className: "ff-audio-time", children: formatTime(duration) }), _jsx(Icon, { name: "speaker", onClick: disabled ? () => { } : onMuteToggle, disabled: disabled, withPadding: false, className: `ff-audio-speaker-icon${isMuted ? ' ff-audio-speaker-muted' : ''}`, cursorType: "pointer", "aria-label": isMuted ? 'Unmute' : 'Mute' }), _jsx("div", { className: "ff-audio-more-wrap", ref: moreRef, children: _jsx(MenuOption, { iconName: "more", options: resolvedMenuOptions, onOptionClick: handleMenuOptionClick, dropdownPlacement: "bottomLeft", displayCard: true, disabled: disabled, iconSize: 12 }) }), isSpeedMenuOpen && (_jsxs(_Fragment, { children: [_jsx("div", { className: "ff-audio-speed-overlay", onClick: () => setIsSpeedMenuOpen(false) }), _jsx("div", { className: "ff-audio-speed-menu", style: { top: speedMenuPosition.top, left: speedMenuPosition.left }, ref: speedMenuRef, tabIndex: -1, role: "listbox", "aria-label": "Playback speed", onKeyDown: handleSpeedMenuKeyDown, children: SPEED_OPTIONS.map((speed, index) => {
111
111
  const isSelected = speed === playbackRate;
112
112
  const isHighlighted = index === highlightedSpeedIndex;
113
113
  return (_jsx("button", { type: "button", role: "option", "aria-selected": isSelected, className: [
@@ -1 +1 @@
1
- {"version":3,"file":"AudioPlayer.js","sourceRoot":"","sources":["../../../src/components/AudioPlayer/AudioPlayer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AudioPlayer.js","sourceRoot":"","sources":["../../../src/components/AudioPlayer/AudioPlayer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { render, screen, fireEvent } from '@testing-library/react';
3
+ import { describe, it, expect, vi } from 'vitest';
4
+ import AudioPlayer from '../AudioPlayer';
5
+ // Mock the Icon component to simplify testing since AudioPlayer heavily uses it
6
+ vi.mock('../../Icon', () => {
7
+ return {
8
+ default: ({ name, onClick, 'aria-label': ariaLabel, tabIndex }) => (_jsxs("span", { "data-testid": `icon-${name}`, onClick: onClick, "aria-label": ariaLabel, tabIndex: tabIndex, children: ["Icon: ", name] }))
9
+ };
10
+ });
11
+ // Mock Typography and MenuOption for simplicity
12
+ vi.mock('../../Typography', () => ({ default: ({ children }) => _jsx("span", { children: children }) }));
13
+ vi.mock('../../MenuOption', () => ({ default: ({ options, onOptionClick }) => (_jsx("button", { "data-testid": "mock-menu-more", onClick: () => onOptionClick(options[1]), children: "More" })) }));
14
+ describe('AudioPlayer Component', () => {
15
+ it('renders playback controls correctly', () => {
16
+ render(_jsx(AudioPlayer, { duration: 100, currentTime: 0 }));
17
+ // Play button
18
+ const playBtn = screen.getByRole('button', { name: /play/i });
19
+ expect(playBtn).toBeInTheDocument();
20
+ // Seek slider
21
+ const seekSlider = screen.getByRole('slider', { name: /seek/i });
22
+ expect(seekSlider).toBeInTheDocument();
23
+ // Speaker icon (mocked as button)
24
+ const speakerBtn = screen.getByTestId('icon-speaker');
25
+ expect(speakerBtn).toBeInTheDocument();
26
+ });
27
+ it('toggles play/pause state via click', () => {
28
+ const handlePlayPause = vi.fn();
29
+ render(_jsx(AudioPlayer, { duration: 100, currentTime: 0, onPlayPause: handlePlayPause }));
30
+ const playBtn = screen.getByRole('button', { name: /play/i });
31
+ fireEvent.click(playBtn);
32
+ expect(handlePlayPause).toHaveBeenCalledTimes(1);
33
+ });
34
+ it('updates aria-valuetext on seek slider for screen readers', () => {
35
+ // 90 seconds should format to 01:30 by default
36
+ render(_jsx(AudioPlayer, { duration: 200, currentTime: 90 }));
37
+ const seekSlider = screen.getByRole('slider', { name: /seek/i });
38
+ expect(seekSlider).toHaveAttribute('aria-valuetext', '01:30');
39
+ });
40
+ it('toggles aria-label on speaker icon when muted', () => {
41
+ const { rerender } = render(_jsx(AudioPlayer, { duration: 100, currentTime: 0, isMuted: false }));
42
+ let speakerBtn = screen.getByTestId('icon-speaker');
43
+ expect(speakerBtn).toHaveAttribute('aria-label', 'Mute');
44
+ rerender(_jsx(AudioPlayer, { duration: 100, currentTime: 0, isMuted: true }));
45
+ speakerBtn = screen.getByTestId('icon-speaker');
46
+ expect(speakerBtn).toHaveAttribute('aria-label', 'Unmute');
47
+ });
48
+ it('handles keyboard shortcuts (Space, M, Arrows)', () => {
49
+ const handlePlayPause = vi.fn();
50
+ const handleMuteToggle = vi.fn();
51
+ const handleSeek = vi.fn();
52
+ render(_jsx(AudioPlayer, { duration: 100, currentTime: 50, onPlayPause: handlePlayPause, onMuteToggle: handleMuteToggle, onSeek: handleSeek }));
53
+ const playerGroup = screen.getByRole('group', { name: /audio player/i });
54
+ // Space to play/pause
55
+ fireEvent.keyDown(playerGroup, { key: ' ' });
56
+ expect(handlePlayPause).toHaveBeenCalledTimes(1);
57
+ // M to mute
58
+ fireEvent.keyDown(playerGroup, { key: 'm' });
59
+ expect(handleMuteToggle).toHaveBeenCalledTimes(1);
60
+ // ArrowRight to seek forward
61
+ fireEvent.keyDown(playerGroup, { key: 'ArrowRight' });
62
+ expect(handleSeek).toHaveBeenCalledWith(55); // default seek step is 5
63
+ // ArrowLeft to seek backward
64
+ fireEvent.keyDown(playerGroup, { key: 'ArrowLeft' });
65
+ expect(handleSeek).toHaveBeenCalledWith(45);
66
+ });
67
+ });
68
+ //# sourceMappingURL=AudioPlayer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioPlayer.test.js","sourceRoot":"","sources":["../../../../src/components/AudioPlayer/__tests__/AudioPlayer.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,45 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { render, screen, fireEvent } from '@testing-library/react';
3
+ import { describe, it, expect, vi } from 'vitest';
4
+ import Button from '../Button';
5
+ describe('Button Component', () => {
6
+ it('renders correctly with default props', () => {
7
+ render(_jsx(Button, { variant: "primary", label: "Click Me" }));
8
+ const button = screen.getByRole('button', { name: /click me/i });
9
+ expect(button).toBeInTheDocument();
10
+ expect(button).not.toBeDisabled();
11
+ });
12
+ it('handles onClick events', () => {
13
+ const handleClick = vi.fn();
14
+ render(_jsx(Button, { variant: "primary", label: "Submit", onClick: handleClick }));
15
+ const button = screen.getByRole('button', { name: /submit/i });
16
+ fireEvent.click(button);
17
+ expect(handleClick).toHaveBeenCalledTimes(1);
18
+ });
19
+ it('does not trigger onClick when disabled', () => {
20
+ const handleClick = vi.fn();
21
+ render(_jsx(Button, { variant: "primary", label: "Submit", disabled: true, onClick: handleClick }));
22
+ const button = screen.getByRole('button', { name: /submit/i });
23
+ expect(button).toBeDisabled();
24
+ fireEvent.click(button);
25
+ expect(handleClick).not.toHaveBeenCalled();
26
+ });
27
+ it('renders left and right icons correctly', () => {
28
+ render(_jsx(Button, { variant: "primary", label: "Icon Button", iconName: "play", iconPosition: "left" }));
29
+ const button = screen.getByRole('button', { name: /icon button/i });
30
+ expect(button).toBeInTheDocument();
31
+ });
32
+ it('supports native ARIA attributes', () => {
33
+ render(_jsx(Button, { variant: "primary", label: "Icon Button", "aria-label": "Close dialog", "aria-expanded": "true" }));
34
+ const button = screen.getByRole('button', { name: /close dialog/i });
35
+ expect(button).toHaveAttribute('aria-expanded', 'true');
36
+ });
37
+ it('handles keyboard activation (Enter/Space)', () => {
38
+ const handleClick = vi.fn();
39
+ render(_jsx(Button, { variant: "primary", label: "Keyboard", onClick: handleClick }));
40
+ const button = screen.getByRole('button', { name: /keyboard/i });
41
+ button.focus();
42
+ expect(button).toHaveFocus();
43
+ });
44
+ });
45
+ //# sourceMappingURL=Button.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.test.js","sourceRoot":"","sources":["../../../../src/components/Button/__tests__/Button.test.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { ReactNode } from 'react';
1
+ import { ReactNode, ButtonHTMLAttributes } from 'react';
2
2
  import { DynamicObj } from '../CreateVariable/types';
3
- export interface ButtonProps {
3
+ export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'onSubmit' | 'type'> {
4
4
  /**
5
5
  * Variant of the button
6
6
  */
@@ -1,9 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useId } from 'react';
2
3
  import './CardPanel.scss';
3
4
  import Typography from '../Typography';
4
5
  import classNames from 'classnames';
5
6
  const CardPanel = ({ headerLabel, children, className = '', style, contentStyle, headerActions, headerHeight = '32px', }) => {
6
- return (_jsxs("div", { className: classNames('ff-card-panel', className), style: style, children: [_jsxs("div", { className: "ff-card-panel-header", style: { height: headerHeight }, children: [_jsx(Typography, { as: "div", fontWeight: "semi-bold", color: "var(--brand-color)", children: headerLabel }), headerActions && (_jsx("div", { className: "ff-card-panel-header-actions", children: headerActions }))] }), _jsx("div", { className: "ff-card-panel-body", style: contentStyle, children: children })] }));
7
+ const titleId = useId();
8
+ return (_jsxs("div", { className: classNames('ff-card-panel', className), style: style, role: "region", "aria-labelledby": headerLabel ? titleId : undefined, children: [_jsxs("div", { className: "ff-card-panel-header", style: { height: headerHeight }, children: [_jsx(Typography, { as: "div", id: titleId, fontWeight: "semi-bold", color: "var(--brand-color)", children: headerLabel }), headerActions && (_jsx("div", { className: "ff-card-panel-header-actions", children: headerActions }))] }), _jsx("div", { className: "ff-card-panel-body", style: contentStyle, children: children })] }));
7
9
  };
8
10
  export default CardPanel;
9
11
  //# sourceMappingURL=CardPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardPanel.js","sourceRoot":"","sources":["../../../src/components/CardPanel/CardPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,MAAM,SAAS,GAAG,CAAC,EACjB,WAAW,EACX,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,KAAK,EACL,YAAY,EACZ,aAAa,EACb,YAAY,GAAG,MAAM,GACN,EAAE,EAAE;IACnB,OAAO,CACL,eAAK,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,aAClE,eAAK,SAAS,EAAC,sBAAsB,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,aACnE,KAAC,UAAU,IAAC,EAAE,EAAC,KAAK,EAAC,UAAU,EAAC,WAAW,EAAC,KAAK,EAAC,oBAAoB,YACnE,WAAW,GACD,EAEZ,aAAa,IAAI,CAChB,cAAK,SAAS,EAAC,8BAA8B,YAAE,aAAa,GAAO,CACpE,IACG,EAEN,cAAK,SAAS,EAAC,oBAAoB,EAAC,KAAK,EAAE,YAAY,YACpD,QAAQ,GACL,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"CardPanel.js","sourceRoot":"","sources":["../../../src/components/CardPanel/CardPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,MAAM,SAAS,GAAG,CAAC,EACjB,WAAW,EACX,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,KAAK,EACL,YAAY,EACZ,aAAa,EACb,YAAY,GAAG,MAAM,GACN,EAAE,EAAE;IACnB,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,OAAO,CACL,eACE,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,EACjD,KAAK,EAAE,KAAK,EACZ,IAAI,EAAC,QAAQ,qBACI,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,aAElD,eAAK,SAAS,EAAC,sBAAsB,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,aACnE,KAAC,UAAU,IAAC,EAAE,EAAC,KAAK,EAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAC,WAAW,EAAC,KAAK,EAAC,oBAAoB,YAChF,WAAW,GACD,EAEZ,aAAa,IAAI,CAChB,cAAK,SAAS,EAAC,8BAA8B,YAAE,aAAa,GAAO,CACpE,IACG,EAEN,cAAK,SAAS,EAAC,oBAAoB,EAAC,KAAK,EAAE,YAAY,YACpD,QAAQ,GACL,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { render, screen } from '@testing-library/react';
3
+ import { describe, it, expect } from 'vitest';
4
+ import CardPanel from '../CardPanel';
5
+ import Button from '../../Button';
6
+ describe('CardPanel Component', () => {
7
+ it('renders the header label and children correctly', () => {
8
+ render(_jsx(CardPanel, { headerLabel: "Test Header", children: _jsx("div", { "data-testid": "child-content", children: "Content" }) }));
9
+ const header = screen.getByText('Test Header');
10
+ expect(header).toBeInTheDocument();
11
+ const child = screen.getByTestId('child-content');
12
+ expect(child).toBeInTheDocument();
13
+ });
14
+ it('renders header actions when provided', () => {
15
+ render(_jsx(CardPanel, { headerLabel: "Header", headerActions: _jsx(Button, { variant: "primary", label: "Action Button" }), children: "Content" }));
16
+ const actionButton = screen.getByRole('button', { name: /action button/i });
17
+ expect(actionButton).toBeInTheDocument();
18
+ });
19
+ it('applies the region role for accessibility', () => {
20
+ render(_jsx(CardPanel, { headerLabel: "Accessible Region", children: "Content" }));
21
+ const region = screen.getByRole('region');
22
+ expect(region).toBeInTheDocument();
23
+ });
24
+ it('automatically maps aria-labelledby to the header ID', () => {
25
+ render(_jsx(CardPanel, { headerLabel: "Dynamic Label Region", children: "Content" }));
26
+ const region = screen.getByRole('region');
27
+ // React Testing library computes the accessible name by resolving aria-labelledby
28
+ expect(region).toHaveAccessibleName('Dynamic Label Region');
29
+ });
30
+ it('does not have aria-labelledby if headerLabel is not provided', () => {
31
+ render(_jsx(CardPanel, { headerLabel: "Header", children: "Content" }));
32
+ const region = screen.getByRole('region');
33
+ expect(region).not.toHaveAttribute('aria-labelledby');
34
+ });
35
+ });
36
+ //# sourceMappingURL=CardPanel.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardPanel.test.js","sourceRoot":"","sources":["../../../../src/components/CardPanel/__tests__/CardPanel.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CACJ,KAAC,SAAS,IAAC,WAAW,EAAC,aAAa,YAClC,6BAAiB,eAAe,wBAAc,GACpC,CACb,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAEnC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CACJ,KAAC,SAAS,IACR,WAAW,EAAC,QAAQ,EACpB,aAAa,EAAE,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,eAAe,GAAG,wBAGvD,CACb,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC5E,MAAM,CAAC,YAAY,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CACJ,KAAC,SAAS,IAAC,WAAW,EAAC,mBAAmB,wBAE9B,CACb,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CACJ,KAAC,SAAS,IAAC,WAAW,EAAC,sBAAsB,wBAEjC,CACb,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1C,kFAAkF;QAClF,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,CACJ,KAAC,SAAS,IAAC,WAAW,EAAC,QAAQ,wBAEnB,CACb,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -3,7 +3,7 @@ import { createPortal } from 'react-dom';
3
3
  import Button from '../Button/Button.js';
4
4
  import classNames from 'classnames';
5
5
  import './Drawer.scss';
6
- import { useContext, useEffect, useRef, useState } from 'react';
6
+ import { useContext, useEffect, useRef, useState, useId } from 'react';
7
7
  import Icon from '../Icon';
8
8
  import useEscapeKey from '../../hooks/keyboardevents/useEscKeyEvent.js';
9
9
  import { ThemeContext } from '../ThemeProvider/ThemeProvider.js';
@@ -12,6 +12,7 @@ import useClickOutside from '../../hooks/useClickOutside.js';
12
12
  import { cleanAllTooltips } from './../../utils/cleanAllTooltips/cleanAllTooltips';
13
13
  const Drawer = ({ isOpen = true, children = 'Drawer content area', onClose = () => { }, onBackButtonClick = () => { }, title = 'drawer', primaryButtonProps = {}, secondaryButtonProps = {}, leftPrimaryButtonProps = {}, leftSecondaryButtonProps = {}, showEditButton = false, showTransition = true, onEdit = () => { }, onCollapse = () => { }, overlay = false, isFooterRequired = true, footerContent = null, size = 'medium', _isExpanded = false, isBackButtonVisible = false, _isCloseModalButtonVisible = true, showHeader = true, isScrollBar = true, backButtonIcon, onCloseIconClick, customHeader, customFooter, leftTertiaryButtonProps = {}, rightTertiaryButtonProps = {}, zIndex, top = '89px', height, width, right = '5px', overflow, isClickOutside, ignoreRefs, noHeaderBorder = false, direction = 'right', }) => {
14
14
  const containerRef = useRef(null);
15
+ const titleId = useId();
15
16
  useClickOutside(containerRef, () => {
16
17
  cleanAllTooltips();
17
18
  const openDrawers = document.querySelectorAll('.ff-drawer');
@@ -110,13 +111,13 @@ const Drawer = ({ isOpen = true, children = 'Drawer content area', onClose = ()
110
111
  : { right: right ?? '5px' }),
111
112
  overflow,
112
113
  transition: `all ${transitionDuration} ease-in-out`,
113
- }, children: [showHeader && (_jsx("div", { className: classNames('ff-drawer-header', {
114
+ }, role: "dialog", "aria-modal": "true", "aria-labelledby": title ? titleId : undefined, children: [showHeader && (_jsx("div", { className: classNames('ff-drawer-header', {
114
115
  'ff-custom-header': customHeader,
115
116
  'no-header-border': noHeaderBorder,
116
117
  }), style: { zIndex: computedZIndex }, children: customHeader ? (_jsx("div", { className: classNames('ff-custom-header', {
117
118
  'no-header-border': noHeaderBorder,
118
119
  }), children: customHeader })) : (_jsxs("div", { className: "ff-drawer-action-section", children: [_jsxs("div", { className: "ff-action-button", children: [showEditButton && (_jsxs("button", { className: "ff-expand-collapse-button", onClick: onEdit, children: [_jsx(Icon, { name: "logo", height: 16, width: 16 }), "Edit"] })), _isExpanded && (_jsx(Tooltip, { title: isExpanded ? 'Minimize' : 'Maximize', placement: "bottom", children: _jsx("div", { className: "ff-expand-collapse-button", onClick: toggleExpand, children: _jsx(Icon, { name: isExpanded ? 'maximize_tree' : 'minimize_tree', height: 16, width: 16, hoverEffect: true, cursorType: "pointer" }) }) })), isBackButtonVisible &&
119
- (backButtonIcon || (_jsx(Tooltip, { title: "Back", children: _jsx(Icon, { name: "back_icon", height: 16, width: 16, hoverEffect: true, onClick: onBackButtonClick }) }))), title && _jsx("div", { className: "ff-drawer-title", children: title })] }), _isCloseModalButtonVisible && (_jsx("div", { className: "ff-close-icon", children: _jsx(Tooltip, { title: "Close", children: _jsx(Icon, { name: "drawer_icon_close", onClick: onCloseIconClick || onClose, height: 16, width: 16, color: "var(--tabs-label-active-color)", cursorType: "pointer" }) }) }))] })) })), _jsxs("div", { className: classNames({
120
+ (backButtonIcon || (_jsx(Tooltip, { title: "Back", children: _jsx(Icon, { name: "back_icon", height: 16, width: 16, hoverEffect: true, onClick: onBackButtonClick }) }))), title && _jsx("div", { className: "ff-drawer-title", id: titleId, children: title })] }), _isCloseModalButtonVisible && (_jsx("div", { className: "ff-close-icon", children: _jsx(Tooltip, { title: "Close", children: _jsx(Icon, { name: "drawer_icon_close", onClick: onCloseIconClick || onClose, height: 16, width: 16, color: "var(--tabs-label-active-color)", cursorType: "pointer" }) }) }))] })) })), _jsxs("div", { className: classNames({
120
121
  'ff-drawer-body-with-scroll': isScrollBar,
121
122
  'ff-drawer-body': !isScrollBar,
122
123
  'no-footer': !isFooterRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.js","sourceRoot":"","sources":["../../../src/components/Drawer/Drawer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Drawer.js","sourceRoot":"","sources":["../../../src/components/Drawer/Drawer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,48 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { render, screen, fireEvent } from '@testing-library/react';
3
+ import { describe, it, expect, vi } from 'vitest';
4
+ import Drawer from '../Drawer';
5
+ describe('Drawer Component', () => {
6
+ it('renders correctly when isOpen is true', () => {
7
+ render(_jsx(Drawer, { isOpen: true, title: "Test Drawer", children: _jsx("div", {}) }));
8
+ // Since Drawer renders in a portal, it will be attached to document.body
9
+ const dialog = screen.getByRole('dialog');
10
+ expect(dialog).toBeInTheDocument();
11
+ // Check for title
12
+ const title = screen.getByText('Test Drawer');
13
+ expect(title).toBeInTheDocument();
14
+ });
15
+ it('sets the correct ARIA attributes for a modal dialog', () => {
16
+ render(_jsx(Drawer, { isOpen: true, title: "Accessible Drawer", children: _jsx("div", {}) }));
17
+ const dialog = screen.getByRole('dialog');
18
+ // Test modal status
19
+ expect(dialog).toHaveAttribute('aria-modal', 'true');
20
+ // Test aria-labelledby links to the title id
21
+ const titleElement = screen.getByText('Accessible Drawer');
22
+ expect(dialog).toHaveAttribute('aria-labelledby', titleElement.id);
23
+ });
24
+ it('triggers onClose when Escape key is pressed', () => {
25
+ const handleClose = vi.fn();
26
+ render(_jsx(Drawer, { isOpen: true, onClose: handleClose, children: _jsx("div", {}) }));
27
+ // Simulate escape key on document
28
+ fireEvent.keyDown(document, { key: 'Escape', code: 'Escape' });
29
+ expect(handleClose).toHaveBeenCalled();
30
+ });
31
+ it('triggers primary button action when Enter key is pressed', () => {
32
+ const handlePrimaryClick = vi.fn();
33
+ render(_jsx(Drawer, { isOpen: true, primaryButtonProps: { label: 'Primary', onClick: handlePrimaryClick }, children: _jsx("div", {}) }));
34
+ fireEvent.keyDown(document, { key: 'Enter', code: 'Enter' });
35
+ expect(handlePrimaryClick).toHaveBeenCalled();
36
+ });
37
+ it('does not trigger primary action on Enter if disabled', () => {
38
+ const handlePrimaryClick = vi.fn();
39
+ render(_jsx(Drawer, { isOpen: true, primaryButtonProps: {
40
+ label: 'Primary',
41
+ onClick: handlePrimaryClick,
42
+ disabled: true,
43
+ }, children: _jsx("div", {}) }));
44
+ fireEvent.keyDown(document, { key: 'Enter', code: 'Enter' });
45
+ expect(handlePrimaryClick).not.toHaveBeenCalled();
46
+ });
47
+ });
48
+ //# sourceMappingURL=Drawer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.test.js","sourceRoot":"","sources":["../../../../src/components/Drawer/__tests__/Drawer.test.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
+ import type { editor as MonacoEditorType } from 'monaco-editor';
1
2
  import { EditorProps } from './types';
2
3
  import './Editor.scss';
3
- declare const Editor: import("react").ForwardRefExoticComponent<EditorProps & import("react").RefAttributes<any>>;
4
+ export interface EditorRef {
5
+ getEditorInstance: () => MonacoEditorType.IStandaloneCodeEditor | null;
6
+ focus: () => void;
7
+ beautify: () => void;
8
+ }
9
+ declare const Editor: import("react").ForwardRefExoticComponent<EditorProps & import("react").RefAttributes<EditorRef>>;
4
10
  export default Editor;