@coveord/plasma-mantine 50.0.2 → 51.1.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.
Files changed (98) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +27 -27
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/components/code-editor/CodeEditor.js +1 -1
  5. package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
  6. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js +8 -5
  7. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
  8. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js +10 -7
  9. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  10. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js +2 -3
  11. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  12. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js +20 -19
  13. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
  14. package/dist/cjs/components/header/Header.js +2 -1
  15. package/dist/cjs/components/header/Header.js.map +1 -1
  16. package/dist/cjs/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +10 -10
  17. package/dist/cjs/components/modal-wizard/ModalWizard.js +5 -6
  18. package/dist/cjs/components/modal-wizard/ModalWizard.js.map +1 -1
  19. package/dist/cjs/components/table/Table.styles.js +1 -1
  20. package/dist/cjs/components/table/Table.styles.js.map +1 -1
  21. package/dist/cjs/components/table/TableDateRangePicker.js.map +1 -1
  22. package/dist/cjs/components/table/TablePagination.js +13 -7
  23. package/dist/cjs/components/table/TablePagination.js.map +1 -1
  24. package/dist/cjs/components/table/Th.js +1 -1
  25. package/dist/cjs/components/table/Th.js.map +1 -1
  26. package/dist/cjs/theme/Theme.js +68 -25
  27. package/dist/cjs/theme/Theme.js.map +1 -1
  28. package/dist/definitions/components/code-editor/CodeEditor.d.ts +5 -2
  29. package/dist/definitions/components/code-editor/CodeEditor.d.ts.map +1 -1
  30. package/dist/definitions/components/collection/Collection.styles.d.ts +6 -2
  31. package/dist/definitions/components/collection/Collection.styles.d.ts.map +1 -1
  32. package/dist/definitions/components/date-range-picker/DateRangePickerInlineCalendar.d.ts +3 -2
  33. package/dist/definitions/components/date-range-picker/DateRangePickerInlineCalendar.d.ts.map +1 -1
  34. package/dist/definitions/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts +4 -3
  35. package/dist/definitions/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
  36. package/dist/definitions/components/date-range-picker/DateRangePickerPresetSelect.d.ts +1 -1
  37. package/dist/definitions/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  38. package/dist/definitions/components/date-range-picker/EditableDateRangePicker.d.ts +2 -1
  39. package/dist/definitions/components/date-range-picker/EditableDateRangePicker.d.ts.map +1 -1
  40. package/dist/definitions/components/modal-wizard/ModalWizard.d.ts +5 -2
  41. package/dist/definitions/components/modal-wizard/ModalWizard.d.ts.map +1 -1
  42. package/dist/definitions/components/table/Table.styles.d.ts +3 -1
  43. package/dist/definitions/components/table/Table.styles.d.ts.map +1 -1
  44. package/dist/definitions/components/table/Table.types.d.ts +1 -1
  45. package/dist/definitions/components/table/Table.types.d.ts.map +1 -1
  46. package/dist/definitions/components/table/TableDateRangePicker.d.ts +1 -2
  47. package/dist/definitions/components/table/TableDateRangePicker.d.ts.map +1 -1
  48. package/dist/definitions/components/table/TableFilter.d.ts +5 -2
  49. package/dist/definitions/components/table/TableFilter.d.ts.map +1 -1
  50. package/dist/definitions/components/table/TableHeader.d.ts +4 -2
  51. package/dist/definitions/components/table/TableHeader.d.ts.map +1 -1
  52. package/dist/definitions/components/table/TablePagination.d.ts.map +1 -1
  53. package/dist/definitions/theme/Theme.d.ts.map +1 -1
  54. package/dist/esm/components/code-editor/CodeEditor.js +2 -2
  55. package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
  56. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js +9 -6
  57. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
  58. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js +10 -7
  59. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  60. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js +2 -3
  61. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  62. package/dist/esm/components/date-range-picker/EditableDateRangePicker.js +21 -20
  63. package/dist/esm/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
  64. package/dist/esm/components/header/Header.js +2 -1
  65. package/dist/esm/components/header/Header.js.map +1 -1
  66. package/dist/esm/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +10 -10
  67. package/dist/esm/components/modal-wizard/ModalWizard.js +5 -6
  68. package/dist/esm/components/modal-wizard/ModalWizard.js.map +1 -1
  69. package/dist/esm/components/table/Table.styles.js +1 -1
  70. package/dist/esm/components/table/Table.styles.js.map +1 -1
  71. package/dist/esm/components/table/Table.types.js.map +1 -1
  72. package/dist/esm/components/table/TableDateRangePicker.js.map +1 -1
  73. package/dist/esm/components/table/TablePagination.js +13 -7
  74. package/dist/esm/components/table/TablePagination.js.map +1 -1
  75. package/dist/esm/components/table/Th.js +1 -1
  76. package/dist/esm/components/table/Th.js.map +1 -1
  77. package/dist/esm/theme/Theme.js +68 -25
  78. package/dist/esm/theme/Theme.js.map +1 -1
  79. package/package.json +15 -15
  80. package/src/components/code-editor/CodeEditor.tsx +2 -1
  81. package/src/components/code-editor/__tests__/CodeEditor.spec.tsx +2 -4
  82. package/src/components/date-range-picker/DateRangePickerInlineCalendar.tsx +11 -6
  83. package/src/components/date-range-picker/DateRangePickerPopoverCalendar.tsx +12 -7
  84. package/src/components/date-range-picker/DateRangePickerPresetSelect.tsx +3 -3
  85. package/src/components/date-range-picker/EditableDateRangePicker.tsx +8 -9
  86. package/src/components/date-range-picker/__tests__/DateRangePickerInlineCalendar.spec.tsx +3 -4
  87. package/src/components/date-range-picker/__tests__/DateRangePickerPopoverCalendar.spec.tsx +6 -6
  88. package/src/components/header/Header.tsx +1 -1
  89. package/src/components/header/__tests__/Header.spec.tsx +1 -1
  90. package/src/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +10 -10
  91. package/src/components/modal-wizard/ModalWizard.tsx +4 -5
  92. package/src/components/modal-wizard/__tests__/ModalWizard.spec.tsx +10 -23
  93. package/src/components/table/Table.styles.ts +1 -1
  94. package/src/components/table/Table.types.ts +1 -1
  95. package/src/components/table/TableDateRangePicker.tsx +6 -3
  96. package/src/components/table/TablePagination.tsx +10 -7
  97. package/src/components/table/Th.tsx +1 -1
  98. package/src/theme/Theme.tsx +65 -22
@@ -1,10 +1,11 @@
1
- import {DateRangePickerValue, RangeCalendar, RangeCalendarProps} from '@mantine/dates';
2
1
  import {Group, Popover, Space} from '@mantine/core';
2
+ import {CalendarBaseProps, DatePicker} from '@mantine/dates';
3
3
  import {useClickOutside, useUncontrolled} from '@mantine/hooks';
4
4
  import {useState} from 'react';
5
5
 
6
+ import {DateRangePickerValue} from './DateRangePickerInlineCalendar';
7
+ import {DateRangePickerPreset, DateRangePickerPresetSelect} from './DateRangePickerPresetSelect';
6
8
  import {EditableDateRangePicker, EditableDateRangePickerProps} from './EditableDateRangePicker';
7
- import {DateRangePickerPresetSelect, DateRangePickerPreset} from './DateRangePickerPresetSelect';
8
9
 
9
10
  interface DateRangePickerPopoverCalendarProps<T> extends Pick<EditableDateRangePickerProps, 'startProps' | 'endProps'> {
10
11
  /** Default value for uncontrolled input */
@@ -28,7 +29,10 @@ interface DateRangePickerPopoverCalendarProps<T> extends Pick<EditableDateRangeP
28
29
  /**
29
30
  * Props for RangeCalendar
30
31
  */
31
- rangeCalendarProps?: Omit<RangeCalendarProps, 'value' | 'onChange'>;
32
+ rangeCalendarProps?: Omit<
33
+ CalendarBaseProps,
34
+ 'value' | 'onChange' | 'isDateInRange' | 'isDateFirstInRange' | 'isDateLastInRange'
35
+ >;
32
36
  }
33
37
 
34
38
  export const DateRangePickerPopoverCalendar = <T extends unknown>({
@@ -77,11 +81,12 @@ export const DateRangePickerPopoverCalendar = <T extends unknown>({
77
81
 
78
82
  <Popover opened={opened} onChange={setOpened} trapFocus>
79
83
  <Popover.Dropdown>
80
- <RangeCalendar
84
+ <DatePicker
81
85
  ref={ref}
82
- styles={{cell: {textAlign: 'center'}}}
83
- amountOfMonths={2}
84
- firstDayOfWeek="sunday"
86
+ type="range"
87
+ styles={{calendar: {cell: {textAlign: 'center'}}}}
88
+ numberOfColumns={2}
89
+ firstDayOfWeek={0}
85
90
  allowSingleDateInRange
86
91
  value={_value}
87
92
  onChange={onCalendarChange}
@@ -1,7 +1,7 @@
1
- import {DateRangePickerValue, isSameDate} from '@mantine/dates';
2
1
  import {Select, SelectItem, SelectProps} from '@mantine/core';
3
- import {useState, useEffect} from 'react';
4
2
  import dayjs from 'dayjs';
3
+ import {useEffect, useState} from 'react';
4
+ import {DateRangePickerValue} from './DateRangePickerInlineCalendar';
5
5
 
6
6
  export interface DateRangePickerPreset {
7
7
  label: string;
@@ -26,7 +26,7 @@ export const DateRangePickerPresetSelect = <T extends unknown>({
26
26
  const getSelectedPreset = () => {
27
27
  if (value[0] !== null && value[1] !== null && dayjs(value[0]).unix() !== dayjs(value[1]).unix()) {
28
28
  const selected = Object.entries(presets).find(
29
- ([id, {range}]) => dayjs(range[0]!).isSame(value[0]) && isSameDate(range[1]!, value[1]!)
29
+ ([id, {range}]) => dayjs(range[0]!).isSame(value[0]) && dayjs(value[1]!).isSame(value[1]!)
30
30
  );
31
31
  if (selected) {
32
32
  return selected[0];
@@ -1,6 +1,7 @@
1
- import {DatePicker, DatePickerProps, DateRangePickerValue} from '@mantine/dates';
1
+ import {DateInput, DatePickerProps} from '@mantine/dates';
2
2
  import dayjs from 'dayjs';
3
3
  import {ReactNode} from 'react';
4
+ import {DateRangePickerValue} from './DateRangePickerInlineCalendar';
4
5
 
5
6
  export interface EditableDateRangePickerProps {
6
7
  value: DateRangePickerValue;
@@ -34,26 +35,24 @@ export const EditableDateRangePicker = ({
34
35
 
35
36
  return (
36
37
  <>
37
- <DatePicker
38
- allowFreeInput
38
+ <DateInput
39
39
  clearable={false}
40
40
  label="Start"
41
- {...startProps}
42
41
  value={value?.[0]}
43
42
  onChange={onChangeStart}
44
43
  onFocus={onFocus}
45
- styles={{...startProps.styles, dropdown: {display: 'none'}}}
44
+ popoverProps={{styles: {dropdown: {display: 'none'}}}}
45
+ styles={{...startProps.styles}}
46
46
  />
47
47
  {separator}
48
- <DatePicker
49
- allowFreeInput
48
+ <DateInput
50
49
  clearable={false}
51
50
  label="End"
52
- {...endProps}
53
51
  value={value?.[1]}
54
52
  onChange={onChangeEnd}
55
53
  onFocus={onFocus}
56
- styles={{...endProps.styles, dropdown: {display: 'none'}}}
54
+ popoverProps={{styles: {dropdown: {display: 'none'}}}}
55
+ styles={{...endProps.styles}}
57
56
  />
58
57
  </>
59
58
  );
@@ -63,8 +63,8 @@ describe('DateRangePickerInlineCalendar', () => {
63
63
  render(<DateRangePickerInlineCalendar initialRange={[null, null]} onApply={onApply} onCancel={vi.fn()} />);
64
64
 
65
65
  // click once for the start, once for the end
66
- await user.click(screen.getAllByRole('button', {name: '8'})[0]);
67
- await user.click(screen.getAllByRole('button', {name: '14'})[0]);
66
+ await user.click(screen.getAllByRole('button', {name: /8 january 2022/i})[0]);
67
+ await user.click(screen.getAllByRole('button', {name: /14 january 2022/i})[0]);
68
68
 
69
69
  await user.click(screen.getByRole('button', {name: 'Apply'}));
70
70
 
@@ -78,8 +78,7 @@ describe('DateRangePickerInlineCalendar', () => {
78
78
  vi.useFakeTimers().setSystemTime(new Date(2022, 0, 31));
79
79
  const onApply = vi.fn();
80
80
  render(<DateRangePickerInlineCalendar initialRange={[null, null]} onApply={onApply} onCancel={vi.fn()} />);
81
-
82
- await user.click(screen.getAllByRole('button', {name: '8'})[0]);
81
+ await user.click(screen.getAllByRole('button', {name: /8 january 2022/i})[0]);
83
82
  await user.click(screen.getByRole('button', {name: 'Apply'}));
84
83
 
85
84
  expect(onApply).toHaveBeenCalledWith([new Date(2022, 0, 8), new Date(2022, 0, 8)]);
@@ -1,6 +1,6 @@
1
- import {DateRangePickerValue} from '@mantine/dates';
2
1
  import {useForm} from '@mantine/form';
3
2
  import {render, screen, userEvent} from '@test-utils';
3
+ import {DateRangePickerValue} from '../DateRangePickerInlineCalendar';
4
4
 
5
5
  import {DateRangePickerPopoverCalendar} from '../DateRangePickerPopoverCalendar';
6
6
 
@@ -66,14 +66,14 @@ describe('DateRangePickerPopoverCalendar', () => {
66
66
 
67
67
  await user.click(screen.getByRole('textbox', {name: 'Start'}));
68
68
  // click once for the start, once for the end
69
- await user.click(screen.getAllByRole('button', {name: '8'})[0]);
70
- await user.click(screen.getAllByRole('button', {name: '14'})[0]);
69
+ await user.click(screen.getByRole('button', {name: '8 January 2022'}));
70
+ await user.click(screen.getByRole('button', {name: '14 February 2022'}));
71
71
 
72
72
  // hides the calendar when the second date is clicked
73
- expect(screen.queryAllByRole('button', {name: '8'})[0]).not.toBeVisible();
74
- expect(screen.queryAllByRole('button', {name: '8'})[1]).not.toBeVisible();
73
+ expect(await screen.findByRole('button', {name: '8 January 2022'})).not.toBeVisible();
74
+ expect(await screen.findByRole('button', {name: '8 February 2022'})).not.toBeVisible();
75
75
 
76
- expect(screen.getByTestId('json')).toHaveTextContent('["2022-01-08T00:00:00.000Z","2022-01-14T00:00:00.000Z"]');
76
+ expect(screen.getByTestId('json')).toHaveTextContent('["2022-01-08T00:00:00.000Z","2022-02-14T00:00:00.000Z"]');
77
77
 
78
78
  vi.useRealTimers();
79
79
  });
@@ -68,7 +68,7 @@ export const Header: HeaderType = ({description, borderBottom, children, variant
68
68
  const HeaderBreadcrumbs: FunctionComponent<{children: ReactNode}> = ({children}) => (
69
69
  <Breadcrumbs
70
70
  styles={(theme) => ({
71
- breadcrumb: {fontSize: theme.fontSizes.sm, fontWeight: 300},
71
+ breadcrumb: {fontSize: theme.fontSizes.sm, fontWeight: 300, color: theme.colors.action[6]},
72
72
  separator: {color: theme.colors.gray[5]},
73
73
  })}
74
74
  >
@@ -10,7 +10,7 @@ describe('Header', () => {
10
10
  const header = screen.getByRole('heading');
11
11
  expect(header).toMatchInlineSnapshot(`
12
12
  <h1
13
- class="mantine-Text-root mantine-Title-root mantine-jqzr1h"
13
+ class="mantine-Text-root mantine-Title-root mantine-14ccmdx"
14
14
  >
15
15
  child
16
16
  </h1>
@@ -3,36 +3,36 @@
3
3
  exports[`Header > renders the specified breadcrumbs above the title 1`] = `
4
4
  <div>
5
5
  <div
6
- class="mantine-Group-root mantine-1g2mfqe"
6
+ class="mantine-Group-root mantine-ogmezo"
7
7
  >
8
8
  <div
9
- class="mantine-Stack-root mantine-1fod3h5"
9
+ class="mantine-Stack-root mantine-1178y6y"
10
10
  >
11
11
  <div
12
- class="mantine-Breadcrumbs-root mantine-16ttirm"
12
+ class="mantine-Breadcrumbs-root mantine-1ujbd2v"
13
13
  >
14
14
  <a
15
- class="mantine-Text-root mantine-Anchor-root mantine-Breadcrumbs-breadcrumb mantine-1cehd6q"
15
+ class="mantine-Text-root mantine-Anchor-root mantine-Breadcrumbs-breadcrumb mantine-1rfg646"
16
16
  >
17
17
  One
18
18
  </a>
19
19
  <div
20
- class="mantine-Text-root mantine-Breadcrumbs-separator mantine-1mpiak2"
20
+ class="mantine-Text-root mantine-Breadcrumbs-separator mantine-se7e6j"
21
21
  >
22
22
  /
23
23
  </div>
24
24
  <a
25
- class="mantine-Text-root mantine-Anchor-root mantine-Breadcrumbs-breadcrumb mantine-1cehd6q"
25
+ class="mantine-Text-root mantine-Anchor-root mantine-Breadcrumbs-breadcrumb mantine-1rfg646"
26
26
  >
27
27
  Two
28
28
  </a>
29
29
  <div
30
- class="mantine-Text-root mantine-Breadcrumbs-separator mantine-1mpiak2"
30
+ class="mantine-Text-root mantine-Breadcrumbs-separator mantine-se7e6j"
31
31
  >
32
32
  /
33
33
  </div>
34
34
  <a
35
- class="mantine-Text-root mantine-Anchor-root mantine-Breadcrumbs-breadcrumb mantine-1cehd6q"
35
+ class="mantine-Text-root mantine-Anchor-root mantine-Breadcrumbs-breadcrumb mantine-1rfg646"
36
36
  >
37
37
  Three
38
38
  </a>
@@ -41,13 +41,13 @@ exports[`Header > renders the specified breadcrumbs above the title 1`] = `
41
41
  class="mantine-xg7kom"
42
42
  >
43
43
  <h1
44
- class="mantine-Text-root mantine-Title-root mantine-jqzr1h"
44
+ class="mantine-Text-root mantine-Title-root mantine-14ccmdx"
45
45
  >
46
46
  Title
47
47
  </h1>
48
48
  </div>
49
49
  <div
50
- class="mantine-Text-root mantine-1qppuo4"
50
+ class="mantine-Text-root mantine-vti01c"
51
51
  />
52
52
  </div>
53
53
  </div>
@@ -7,7 +7,7 @@ import {StickyFooter} from '../sticky-footer';
7
7
  import {ModalWizardStep, ModalWizardStepProps, ResolveStep} from './ModalWizardStep';
8
8
 
9
9
  const useStyles = createStyles(() => ({
10
- modal: {
10
+ content: {
11
11
  display: 'flex',
12
12
  flexDirection: 'column',
13
13
  },
@@ -103,14 +103,13 @@ export const ModalWizard: ModalWizardType = ({
103
103
  isDirty,
104
104
  handleDirtyState,
105
105
  classNames,
106
- className,
107
106
  styles,
108
107
  unstyled,
109
108
  children,
110
109
  ...modalProps
111
110
  }) => {
112
111
  const {
113
- classes: {modal, body},
112
+ classes: {content, body},
114
113
  cx,
115
114
  } = useStyles(null, {
116
115
  name: 'ModalWizard',
@@ -167,7 +166,7 @@ export const ModalWizard: ModalWizardType = ({
167
166
  return (
168
167
  <Modal
169
168
  opened={opened}
170
- classNames={{modal: cx(modal, classNames?.modal), body: cx(body, classNames?.body)}}
169
+ classNames={{content: cx(content, classNames?.content), body: cx(body, classNames?.body)}}
171
170
  centered
172
171
  onClose={() => handleClose(true)}
173
172
  withCloseButton={false}
@@ -183,7 +182,7 @@ export const ModalWizard: ModalWizardType = ({
183
182
  />
184
183
  ) : null}
185
184
  <Header.Actions>
186
- <CloseButton aria-label={modalProps.closeButtonLabel} onClick={() => handleClose(true)} />
185
+ <CloseButton aria-label={'close-modal'} onClick={() => handleClose(true)} />
187
186
  </Header.Actions>
188
187
  </Header>
189
188
  {currentStep.props.showProgressBar && (
@@ -36,7 +36,6 @@ describe('ModalWizard', () => {
36
36
 
37
37
  render(
38
38
  <ModalWizard
39
- closeButtonLabel="closebuttonlabel"
40
39
  isDirty={isDirty}
41
40
  handleDirtyState={() => confirm('Are you sure you want to close?')}
42
41
  opened={true}
@@ -64,7 +63,7 @@ describe('ModalWizard', () => {
64
63
 
65
64
  expect(
66
65
  screen.getByRole('button', {
67
- name: /closebuttonlabel/i,
66
+ name: /close-modal/i,
68
67
  })
69
68
  ).toBeInTheDocument();
70
69
 
@@ -83,7 +82,7 @@ describe('ModalWizard', () => {
83
82
 
84
83
  expect(
85
84
  screen.getByRole('button', {
86
- name: /closebuttonlabel/i,
85
+ name: /close-modal/i,
87
86
  })
88
87
  ).toBeInTheDocument();
89
88
 
@@ -110,7 +109,7 @@ describe('ModalWizard', () => {
110
109
 
111
110
  expect(
112
111
  screen.getByRole('button', {
113
- name: /closebuttonlabel/i,
112
+ name: /close-modal/i,
114
113
  })
115
114
  ).toBeInTheDocument();
116
115
 
@@ -143,7 +142,7 @@ describe('ModalWizard', () => {
143
142
 
144
143
  expect(
145
144
  screen.getByRole('button', {
146
- name: /closebuttonlabel/i,
145
+ name: /close-modal/i,
147
146
  })
148
147
  ).toBeInTheDocument();
149
148
 
@@ -172,7 +171,7 @@ describe('ModalWizard', () => {
172
171
  const onClose = vi.fn();
173
172
 
174
173
  render(
175
- <ModalWizard isDirty={isDirty} onClose={onClose} closeButtonLabel="closebuttonlabel" opened={true}>
174
+ <ModalWizard isDirty={isDirty} onClose={onClose} opened={true}>
176
175
  {modelSteps.map((model_item) => (
177
176
  <ModalWizard.Step
178
177
  docLink={model_item.docLink}
@@ -186,7 +185,7 @@ describe('ModalWizard', () => {
186
185
  );
187
186
 
188
187
  const closeButton = screen.getByRole('button', {
189
- name: /closebuttonlabel/i,
188
+ name: /close-modal/i,
190
189
  });
191
190
  await user.click(closeButton);
192
191
 
@@ -282,13 +281,7 @@ describe('ModalWizard', () => {
282
281
  const handleDirtyState = vi.fn();
283
282
 
284
283
  render(
285
- <ModalWizard
286
- isDirty={isDirty}
287
- onClose={onClose}
288
- handleDirtyState={handleDirtyState}
289
- closeButtonLabel="closebuttonlabel"
290
- opened={true}
291
- >
284
+ <ModalWizard isDirty={isDirty} onClose={onClose} handleDirtyState={handleDirtyState} opened={true}>
292
285
  {modelSteps.map((model_item) => (
293
286
  <ModalWizard.Step
294
287
  docLink={model_item.docLink}
@@ -301,7 +294,7 @@ describe('ModalWizard', () => {
301
294
  </ModalWizard>
302
295
  );
303
296
  const closeButton = screen.getByRole('button', {
304
- name: /closebuttonlabel/i,
297
+ name: /close-modal/i,
305
298
  });
306
299
 
307
300
  handleDirtyState.mockReturnValueOnce(true);
@@ -327,13 +320,7 @@ describe('ModalWizard', () => {
327
320
  const handleDirtyState = vi.fn();
328
321
 
329
322
  render(
330
- <ModalWizard
331
- isDirty={isDirty}
332
- onClose={onClose}
333
- handleDirtyState={handleDirtyState}
334
- closeButtonLabel="closebuttonlabel"
335
- opened={true}
336
- >
323
+ <ModalWizard isDirty={isDirty} onClose={onClose} handleDirtyState={handleDirtyState} opened={true}>
337
324
  {modelSteps.map((model_item) => (
338
325
  <ModalWizard.Step
339
326
  docLink={model_item.docLink}
@@ -346,7 +333,7 @@ describe('ModalWizard', () => {
346
333
  </ModalWizard>
347
334
  );
348
335
  const closeButton = screen.getByRole('button', {
349
- name: /closebuttonlabel/i,
336
+ name: /close-modal/i,
350
337
  });
351
338
 
352
339
  handleDirtyState.mockReturnValueOnce(false);
@@ -44,7 +44,7 @@ const useStyles = createStyles<string, TableStylesParams>((theme, {hasHeader, mu
44
44
 
45
45
  rowCollapsibleButtonCell: {
46
46
  textAlign: 'right',
47
- padding: `${theme.spacing.xs / 2}px ${theme.spacing.sm}px !important`,
47
+ padding: `calc(${theme.spacing.xs}/2) ${theme.spacing.sm} !important`,
48
48
  },
49
49
 
50
50
  row: {
@@ -1,4 +1,3 @@
1
- import {DateRangePickerValue} from '@mantine/dates';
2
1
  import {UseFormReturnType} from '@mantine/form';
3
2
  import {
4
3
  ColumnDef,
@@ -8,6 +7,7 @@ import {
8
7
  TableState as TanstackTableState,
9
8
  } from '@tanstack/table-core';
10
9
  import {Dispatch, ReactElement, ReactNode, RefObject} from 'react';
10
+ import {DateRangePickerValue} from '../date-range-picker/DateRangePickerInlineCalendar';
11
11
 
12
12
  import {TableActions} from './TableActions';
13
13
  import {TableAccordionColumn, TableCollapsibleColumn} from './TableCollapsibleColumn';
@@ -1,12 +1,15 @@
1
1
  import {CalendarSize24Px} from '@coveord/plasma-react-icons';
2
2
  import {Popover} from '@mantine/core';
3
- import {DateRangePickerValue} from '@mantine/dates';
4
3
  import dayjs from 'dayjs';
5
4
  import {FunctionComponent, useState} from 'react';
6
5
 
7
6
  import {Button} from '../button';
8
- import {DateRangePickerInlineCalendar, DateRangePickerInlineCalendarProps} from '../date-range-picker';
9
- import {DateRangePickerPreset} from '../date-range-picker/DateRangePickerPresetSelect';
7
+ import {
8
+ DateRangePickerInlineCalendar,
9
+ DateRangePickerInlineCalendarProps,
10
+ DateRangePickerPreset,
11
+ DateRangePickerValue,
12
+ } from '../date-range-picker';
10
13
  import {useTable} from './TableContext';
11
14
 
12
15
  interface TableDateRangePickerProps
@@ -24,19 +24,22 @@ export const TablePagination: FunctionComponent<TablePaginationProps> = ({totalP
24
24
 
25
25
  return (
26
26
  <Pagination
27
- page={state.pagination.pageIndex + 1}
27
+ value={state.pagination.pageIndex + 1}
28
28
  onChange={updatePage}
29
29
  total={total}
30
30
  boundaries={0}
31
31
  size="md"
32
- getItemAriaLabel={(label) => {
33
- switch (label) {
34
- case 'prev':
35
- return 'previous page';
32
+ getControlProps={(control) => {
33
+ switch (control) {
34
+ case 'previous':
35
+ return {
36
+ component: 'button',
37
+ 'aria-label': 'previous page',
38
+ };
36
39
  case 'next':
37
- return 'next page';
40
+ return {component: 'button', 'aria-label': 'next page'};
38
41
  default:
39
- return `${label}`;
42
+ return {};
40
43
  }
41
44
  }}
42
45
  />
@@ -12,7 +12,7 @@ const useStyles = createStyles((theme) => ({
12
12
 
13
13
  control: {
14
14
  width: '100%',
15
- padding: `${theme.spacing.xs}px ${theme.spacing.sm}px`,
15
+ padding: `${theme.spacing.xs} ${theme.spacing.sm}`,
16
16
  whiteSpace: 'nowrap',
17
17
 
18
18
  '&:hover': {
@@ -1,6 +1,6 @@
1
1
  import {InfoSize24Px} from '@coveord/plasma-react-icons';
2
2
  import {color} from '@coveord/plasma-tokens';
3
- import {ButtonStylesParams, MantineThemeOverride, ModalStylesParams} from '@mantine/core';
3
+ import {getSize, MantineThemeOverride, ModalProps, NotificationProps, rem} from '@mantine/core';
4
4
 
5
5
  import {PlasmaColors} from './PlasmaColors';
6
6
 
@@ -12,23 +12,23 @@ export const plasmaTheme: MantineThemeOverride = {
12
12
  defaultRadius: 8,
13
13
  lineHeight: 1.5,
14
14
  spacing: {
15
- xs: 8,
16
- sm: 16,
17
- md: 24,
18
- lg: 32,
19
- xl: 40,
15
+ xs: '8px',
16
+ sm: '16px',
17
+ md: '24px',
18
+ lg: '32px',
19
+ xl: '40px',
20
20
  },
21
21
  primaryColor: 'action',
22
22
  headings: {
23
23
  fontFamily: 'canada-type-gibson, sans-serif',
24
24
  fontWeight: 500,
25
25
  sizes: {
26
- h1: {fontSize: 48, lineHeight: undefined, fontWeight: 300},
27
- h2: {fontSize: 32, lineHeight: undefined, fontWeight: 500},
28
- h3: {fontSize: 24, lineHeight: undefined, fontWeight: 500},
29
- h4: {fontSize: 18, lineHeight: undefined, fontWeight: 300},
30
- h5: {fontSize: 14, lineHeight: undefined, fontWeight: 500},
31
- h6: {fontSize: 12, lineHeight: undefined, fontWeight: 500},
26
+ h1: {fontSize: '48px', lineHeight: undefined, fontWeight: 300},
27
+ h2: {fontSize: '32px', lineHeight: undefined, fontWeight: 500},
28
+ h3: {fontSize: '24px', lineHeight: undefined, fontWeight: 500},
29
+ h4: {fontSize: '18px', lineHeight: undefined, fontWeight: 300},
30
+ h5: {fontSize: '14px', lineHeight: undefined, fontWeight: 500},
31
+ h6: {fontSize: '12px', lineHeight: undefined, fontWeight: 500},
32
32
  },
33
33
  },
34
34
  shadows: {
@@ -64,26 +64,43 @@ export const plasmaTheme: MantineThemeOverride = {
64
64
  },
65
65
  },
66
66
  Button: {
67
- styles: (theme, params: ButtonStylesParams) => ({
67
+ styles: () => ({
68
68
  root: {
69
69
  fontWeight: 400,
70
- backgroundColor: params.variant === 'outline' ? 'white' : undefined,
71
70
  },
72
71
  }),
72
+ variants: {
73
+ outline: () => ({
74
+ root: {
75
+ backgroundColor: 'white',
76
+ },
77
+ }),
78
+ },
73
79
  },
74
80
  Modal: {
75
- styles: (theme, {size, fullScreen}: ModalStylesParams) => ({
76
- modal: {
77
- width: fullScreen
78
- ? undefined
79
- : theme.fn.size({size, sizes: {xs: 440, sm: 550, md: 800, lg: 1334, xl: '85%'}}),
81
+ styles: (theme, {size, fullScreen}: ModalProps) => ({
82
+ content: {
83
+ flex: fullScreen
84
+ ? '0 0 100%'
85
+ : `0 0 ${getSize({
86
+ size: size,
87
+ sizes: {
88
+ xs: rem(440),
89
+ sm: rem(550),
90
+ md: rem(800),
91
+ lg: rem(1334),
92
+ xl: rem('85%'),
93
+ },
94
+ })}`,
80
95
  overflow: 'auto',
81
96
  },
82
97
  title: {width: '100%'},
83
98
  }),
84
99
  defaultProps: {
85
- overlayColor: color.primary.navy[9],
86
- overlayOpacity: 0.9,
100
+ overlayProps: {
101
+ color: color.primary.navy[9],
102
+ opacity: 0.9,
103
+ },
87
104
  },
88
105
  },
89
106
  InputWrapper: {
@@ -136,7 +153,7 @@ export const plasmaTheme: MantineThemeOverride = {
136
153
  },
137
154
  Anchor: {
138
155
  defaultProps: {
139
- color: 'action',
156
+ color: 'action.6',
140
157
  },
141
158
  styles: (theme) => ({
142
159
  root: {
@@ -193,5 +210,31 @@ export const plasmaTheme: MantineThemeOverride = {
193
210
  fw: 300,
194
211
  },
195
212
  },
213
+ Notification: {
214
+ styles: (theme, {color: notificationType}: NotificationProps) => ({
215
+ root: {
216
+ borderColor: theme.colors.gray[3],
217
+ backgroundColor: theme.colors.gray[0],
218
+ boxShadow: theme.shadows.lg,
219
+ padding: theme.spacing.sm,
220
+ '&[data-with-icon]': {
221
+ paddingLeft: theme.spacing.sm,
222
+ },
223
+ },
224
+ icon: {
225
+ backgroundColor: 'transparent',
226
+ marginRight: theme.spacing.sm,
227
+ color: theme.colors?.[notificationType][6],
228
+ },
229
+ closeButton: {
230
+ margin: theme.spacing.xs,
231
+ color: theme.colors.gray[5],
232
+ },
233
+ }),
234
+ defaultProps: {
235
+ icon: <InfoSize24Px height={24} />,
236
+ color: 'info',
237
+ },
238
+ },
196
239
  },
197
240
  };