@arbor-education/design-system.components 3.2.1 → 3.4.0
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/CHANGELOG.md +20 -0
- package/dist/components/dataViewCard/DataViewCard.d.ts +5 -0
- package/dist/components/dataViewCard/DataViewCard.d.ts.map +1 -1
- package/dist/components/dataViewCard/DataViewCard.js +7 -3
- package/dist/components/dataViewCard/DataViewCard.js.map +1 -1
- package/dist/components/dataViewCard/DataViewCard.stories.d.ts +10 -0
- package/dist/components/dataViewCard/DataViewCard.stories.d.ts.map +1 -1
- package/dist/components/dataViewCard/DataViewCard.stories.js +31 -0
- package/dist/components/dataViewCard/DataViewCard.stories.js.map +1 -1
- package/dist/components/dataViewCard/DataViewCard.test.js +20 -0
- package/dist/components/dataViewCard/DataViewCard.test.js.map +1 -1
- package/dist/components/filterBar/FilterBar.d.ts +2 -2
- package/dist/components/filterBar/FilterBar.d.ts.map +1 -1
- package/dist/components/filterBar/FilterBar.js +7 -3
- package/dist/components/filterBar/FilterBar.js.map +1 -1
- package/dist/components/filterBar/FilterBar.stories.d.ts +16 -0
- package/dist/components/filterBar/FilterBar.stories.d.ts.map +1 -1
- package/dist/components/filterBar/FilterBar.stories.js +101 -7
- package/dist/components/filterBar/FilterBar.stories.js.map +1 -1
- package/dist/components/filterBar/FilterBar.test.js +30 -0
- package/dist/components/filterBar/FilterBar.test.js.map +1 -1
- package/dist/components/table/Table.d.ts.map +1 -1
- package/dist/components/table/Table.js +2 -1
- package/dist/components/table/Table.js.map +1 -1
- package/dist/components/table/Table.stories.d.ts +7 -0
- package/dist/components/table/Table.stories.d.ts.map +1 -1
- package/dist/components/table/Table.stories.js +44 -0
- package/dist/components/table/Table.stories.js.map +1 -1
- package/dist/components/table/Table.test.js +23 -0
- package/dist/components/table/Table.test.js.map +1 -1
- package/dist/components/table/tableControls/TableControls.d.ts +2 -0
- package/dist/components/table/tableControls/TableControls.d.ts.map +1 -1
- package/dist/components/table/tableControls/TableControls.js +2 -2
- package/dist/components/table/tableControls/TableControls.js.map +1 -1
- package/dist/components/table/tableControls/TableControls.stories.d.ts +25 -0
- package/dist/components/table/tableControls/TableControls.stories.d.ts.map +1 -1
- package/dist/components/table/tableControls/TableControls.stories.js +24 -0
- package/dist/components/table/tableControls/TableControls.stories.js.map +1 -1
- package/dist/components/table/tableControls/TableControls.test.js +16 -0
- package/dist/components/table/tableControls/TableControls.test.js.map +1 -1
- package/dist/components/table/useTableSettings.d.ts +2 -0
- package/dist/components/table/useTableSettings.d.ts.map +1 -1
- package/dist/components/table/useTableSettings.js +12 -7
- package/dist/components/table/useTableSettings.js.map +1 -1
- package/dist/index.css +7 -0
- package/dist/index.css.map +1 -1
- package/package.json +1 -1
- package/src/components/dataViewCard/DataViewCard.stories.tsx +45 -0
- package/src/components/dataViewCard/DataViewCard.test.tsx +44 -0
- package/src/components/dataViewCard/DataViewCard.tsx +28 -1
- package/src/components/dataViewCard/dataViewCard.scss +7 -0
- package/src/components/filterBar/FilterBar.stories.tsx +126 -4
- package/src/components/filterBar/FilterBar.test.tsx +51 -0
- package/src/components/filterBar/FilterBar.tsx +18 -12
- package/src/components/table/Table.stories.tsx +57 -0
- package/src/components/table/Table.test.tsx +42 -0
- package/src/components/table/Table.tsx +2 -0
- package/src/components/table/tableControls/TableControls.stories.tsx +28 -0
- package/src/components/table/tableControls/TableControls.test.tsx +20 -0
- package/src/components/table/tableControls/TableControls.tsx +6 -0
- package/src/components/table/useTableSettings.ts +20 -6
|
@@ -44,6 +44,26 @@ describe('TableControls', () => {
|
|
|
44
44
|
expect(onRedo).toHaveBeenCalledTimes(1);
|
|
45
45
|
});
|
|
46
46
|
|
|
47
|
+
test('disables the undo button when isUndoDisabled is true', () => {
|
|
48
|
+
render(<TableControls onUndo={vi.fn()} isUndoDisabled />);
|
|
49
|
+
expect(screen.getByRole('button', { name: /undo/i })).toBeDisabled();
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
test('does not disable the undo button by default', () => {
|
|
53
|
+
render(<TableControls onUndo={vi.fn()} />);
|
|
54
|
+
expect(screen.getByRole('button', { name: /undo/i })).toBeEnabled();
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
test('disables the redo button when isRedoDisabled is true', () => {
|
|
58
|
+
render(<TableControls onRedo={vi.fn()} isRedoDisabled />);
|
|
59
|
+
expect(screen.getByRole('button', { name: /redo/i })).toBeDisabled();
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
test('does not disable the redo button by default', () => {
|
|
63
|
+
render(<TableControls onRedo={vi.fn()} />);
|
|
64
|
+
expect(screen.getByRole('button', { name: /redo/i })).toBeEnabled();
|
|
65
|
+
});
|
|
66
|
+
|
|
47
67
|
test('renders bulk actions dropdown when bulkActions is provided', () => {
|
|
48
68
|
render(
|
|
49
69
|
<TableControls
|
|
@@ -16,6 +16,8 @@ export type TableControlsProps = {
|
|
|
16
16
|
bulkActions?: BulkAction[];
|
|
17
17
|
onUndo?: () => void;
|
|
18
18
|
onRedo?: () => void;
|
|
19
|
+
isUndoDisabled?: boolean;
|
|
20
|
+
isRedoDisabled?: boolean;
|
|
19
21
|
showHideColumns?: boolean;
|
|
20
22
|
hideColumnsProps?: HideColumnsDropdownProps;
|
|
21
23
|
hasSearch?: boolean;
|
|
@@ -36,6 +38,8 @@ export const TableControls = (props: TableControlsProps) => {
|
|
|
36
38
|
bulkActions,
|
|
37
39
|
onUndo,
|
|
38
40
|
onRedo,
|
|
41
|
+
isUndoDisabled = false,
|
|
42
|
+
isRedoDisabled = false,
|
|
39
43
|
showHideColumns,
|
|
40
44
|
hideColumnsProps,
|
|
41
45
|
hasSearch,
|
|
@@ -73,6 +77,7 @@ export const TableControls = (props: TableControlsProps) => {
|
|
|
73
77
|
variant="secondary"
|
|
74
78
|
borderless
|
|
75
79
|
isRound
|
|
80
|
+
disabled={isUndoDisabled}
|
|
76
81
|
onClick={onUndo}
|
|
77
82
|
>
|
|
78
83
|
<Icon name="undo" screenReaderText="Undo" />
|
|
@@ -83,6 +88,7 @@ export const TableControls = (props: TableControlsProps) => {
|
|
|
83
88
|
variant="secondary"
|
|
84
89
|
borderless
|
|
85
90
|
isRound
|
|
91
|
+
disabled={isRedoDisabled}
|
|
86
92
|
onClick={onRedo}
|
|
87
93
|
>
|
|
88
94
|
<Icon name="redo" screenReaderText="Redo" />
|
|
@@ -8,7 +8,14 @@ export type TableSettings = {
|
|
|
8
8
|
areCellColorsEnabled?: boolean;
|
|
9
9
|
};
|
|
10
10
|
|
|
11
|
+
export const DEFAULT_TABLE_SETTINGS: Required<TableSettings> = {
|
|
12
|
+
hasColumnBorders: false,
|
|
13
|
+
tableSpacing: TABLE_SPACING.M,
|
|
14
|
+
areCellColorsEnabled: true,
|
|
15
|
+
};
|
|
16
|
+
|
|
11
17
|
export type UseTableSettingsParams = {
|
|
18
|
+
initialSettings?: Partial<TableSettings>;
|
|
12
19
|
onTableSettingsChanged?: (val: TableSettings) => void;
|
|
13
20
|
onTableSettingsReset?: () => void;
|
|
14
21
|
onColumnBordersChanged?: (val: boolean) => void;
|
|
@@ -18,15 +25,22 @@ export type UseTableSettingsParams = {
|
|
|
18
25
|
|
|
19
26
|
export const useTableSettings = (params: UseTableSettingsParams = {}) => {
|
|
20
27
|
const {
|
|
28
|
+
initialSettings,
|
|
21
29
|
onTableSettingsChanged,
|
|
22
30
|
onTableSettingsReset,
|
|
23
31
|
onColumnBordersChanged,
|
|
24
32
|
onTableSpacingChanged,
|
|
25
33
|
onCellColorsChanged,
|
|
26
34
|
} = params;
|
|
27
|
-
const [hasColumnBorders, setHasColumnBorders] = useState(
|
|
28
|
-
|
|
29
|
-
|
|
35
|
+
const [hasColumnBorders, setHasColumnBorders] = useState(
|
|
36
|
+
initialSettings?.hasColumnBorders ?? DEFAULT_TABLE_SETTINGS.hasColumnBorders,
|
|
37
|
+
);
|
|
38
|
+
const [tableSpacing, setTableSpacing] = useState(
|
|
39
|
+
initialSettings?.tableSpacing ?? DEFAULT_TABLE_SETTINGS.tableSpacing,
|
|
40
|
+
);
|
|
41
|
+
const [areCellColorsEnabled, setAreCellColorsEnabled] = useState(
|
|
42
|
+
initialSettings?.areCellColorsEnabled ?? DEFAULT_TABLE_SETTINGS.areCellColorsEnabled,
|
|
43
|
+
);
|
|
30
44
|
|
|
31
45
|
const settings = {
|
|
32
46
|
hasColumnBorders,
|
|
@@ -35,9 +49,9 @@ export const useTableSettings = (params: UseTableSettingsParams = {}) => {
|
|
|
35
49
|
};
|
|
36
50
|
|
|
37
51
|
const resetSettings = () => {
|
|
38
|
-
setHasColumnBorders(
|
|
39
|
-
setTableSpacing(
|
|
40
|
-
setAreCellColorsEnabled(
|
|
52
|
+
setHasColumnBorders(DEFAULT_TABLE_SETTINGS.hasColumnBorders);
|
|
53
|
+
setTableSpacing(DEFAULT_TABLE_SETTINGS.tableSpacing);
|
|
54
|
+
setAreCellColorsEnabled(DEFAULT_TABLE_SETTINGS.areCellColorsEnabled);
|
|
41
55
|
if (onTableSettingsReset) {
|
|
42
56
|
onTableSettingsReset();
|
|
43
57
|
}
|