Skip to content

Commit c1abec1

Browse files
authored
Bump Blueprint; remove obsolete hotfixes, deprecations (#2773)
* Bump minimum Blueprint version Done to allow compatibility with new React 18 `createRoot`. * Migrate from deprecated `Tooltip2`, `Popover2` Done partially so far, with the full migration in a subsequent commit. * Migrate more components to fix deprecations * Update test snapshots * Migrate remaining components to fix deprecations * Remove deprecated package from `requireProvider` This would necessitate a corresponding change in modules to ensure they don't import the deprecated package, or simply just mark it as non-external. * Remove `@blueprintjs/popover2` package completely * Fix format * Fix format * Reformat files post-merge * Bump Blueprint version * Use BP `Classes` utility instead of raw strings Prevents regressions when the CSS namespace changes in the meantime while we still have yet to migrate away fully from the CSS API. * Fix lint * Migrate to new notifications API Removes the old hotfix now that Blueprint supports it.
1 parent d2b322a commit c1abec1

File tree

61 files changed

+362
-336
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+362
-336
lines changed

package.json

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,10 @@
2626
"prepare": "husky"
2727
},
2828
"dependencies": {
29-
"@blueprintjs/core": "^5.7.0",
30-
"@blueprintjs/datetime2": "^2.2.7",
31-
"@blueprintjs/icons": "^5.5.0",
32-
"@blueprintjs/popover2": "^2.0.0",
33-
"@blueprintjs/select": "^5.0.0",
29+
"@blueprintjs/core": "^5.10.1",
30+
"@blueprintjs/datetime2": "^2.3.3",
31+
"@blueprintjs/icons": "^5.9.0",
32+
"@blueprintjs/select": "^5.1.3",
3433
"@mantine/hooks": "^7.7.0",
3534
"@octokit/rest": "^20.0.0",
3635
"@reduxjs/toolkit": "^1.9.7",

src/commons/SimpleDropdown.tsx

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
import { Button, Menu, MenuItem } from '@blueprintjs/core';
2-
import { Popover2 } from '@blueprintjs/popover2';
1+
import { Button, Menu, MenuItem, Popover } from '@blueprintjs/core';
32

43
type OptionType = { value: any; label: string };
54
type Props<T extends OptionType> = {
65
options: T[];
76
selectedValue?: T['value'];
87
onClick?: (v: T['value']) => void;
98
buttonProps?: Partial<React.ComponentProps<typeof Button> & { 'data-testid': string }>;
10-
popoverProps?: Partial<React.ComponentProps<typeof Popover2>>;
9+
popoverProps?: Partial<React.ComponentProps<typeof Popover>>;
1110
};
1211

1312
const SimpleDropdown = <T extends OptionType>({
@@ -27,7 +26,7 @@ const SimpleDropdown = <T extends OptionType>({
2726
};
2827

2928
return (
30-
<Popover2
29+
<Popover
3130
{...popoverProps}
3231
interactionKind="click"
3332
content={
@@ -39,7 +38,7 @@ const SimpleDropdown = <T extends OptionType>({
3938
}
4039
>
4140
<Button {...buttonProps}>{buttonLabel()}</Button>
42-
</Popover2>
41+
</Popover>
4342
);
4443
};
4544

src/commons/achievement/control/achievementEditor/AchievementSettings.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { Button, Checkbox, Dialog, EditableText } from '@blueprintjs/core';
1+
import { Button, Checkbox, Dialog, EditableText, Tooltip } from '@blueprintjs/core';
22
import { IconNames } from '@blueprintjs/icons';
3-
import { Tooltip2 } from '@blueprintjs/popover2';
43
import React, { useState } from 'react';
54
import { AchievementItem } from 'src/features/achievement/AchievementTypes';
65

@@ -33,9 +32,9 @@ const AchievementSettings: React.FC<Props> = ({
3332

3433
return (
3534
<>
36-
<Tooltip2 content="More Settings">
35+
<Tooltip content="More Settings">
3736
<Button icon={IconNames.WRENCH} onClick={toggleOpen} />
38-
</Tooltip2>
37+
</Tooltip>
3938

4039
<Dialog title="More Settings" icon={IconNames.WRENCH} isOpen={isOpen} onClose={toggleOpen}>
4140
<div style={{ padding: '0 0.5em' }}>

src/commons/achievement/control/achievementEditor/AchievementUuidCopier.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { Button } from '@blueprintjs/core';
1+
import { Button, Tooltip } from '@blueprintjs/core';
22
import { IconNames } from '@blueprintjs/icons';
3-
import { Tooltip2 } from '@blueprintjs/popover2';
43
import React from 'react';
54
import { showSuccessMessage } from 'src/commons/utils/notifications/NotificationsHelper';
65

@@ -16,9 +15,9 @@ const AchievmenetUuidCopier: React.FC<Props> = ({ uuid }) => {
1615
};
1716

1817
return (
19-
<Tooltip2 content={hoverText}>
18+
<Tooltip content={hoverText}>
2019
<Button icon={IconNames.CLIPBOARD} onClick={copy} />
21-
</Tooltip2>
20+
</Tooltip>
2221
);
2322
};
2423

src/commons/achievement/control/achievementEditor/EditableCard.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { EditableText, NumericInput } from '@blueprintjs/core';
1+
import { EditableText, NumericInput, Tooltip } from '@blueprintjs/core';
22
import { IconNames } from '@blueprintjs/icons';
3-
import { Tooltip2 } from '@blueprintjs/popover2';
43
import { cloneDeep } from 'lodash';
54
import React, { useContext, useMemo, useReducer, useState } from 'react';
65

@@ -225,7 +224,7 @@ const EditableCard: React.FC<Props> = ({
225224
<EditableText onChange={changeTitle} placeholder="Enter your title here" value={title} />
226225
</h3>
227226
<div className="xp">
228-
<Tooltip2 content="XP">
227+
<Tooltip content="XP">
229228
<NumericInput
230229
value={xp}
231230
min={0}
@@ -234,7 +233,7 @@ const EditableCard: React.FC<Props> = ({
234233
placeholder="XP"
235234
onValueChange={changeXp}
236235
/>
237-
</Tooltip2>
236+
</Tooltip>
238237
</div>
239238
<div className="details">
240239
<EditableDate changeDate={changeRelease} date={release} type="Release" />

src/commons/achievement/control/achievementEditor/EditableDate.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { Button, Dialog } from '@blueprintjs/core';
1+
import { Button, Dialog, Tooltip } from '@blueprintjs/core';
22
import { DatePicker } from '@blueprintjs/datetime';
3-
import { Tooltip2 } from '@blueprintjs/popover2';
43
import React, { useState } from 'react';
54
import { prettifyDate } from 'src/commons/achievement/utils/DateHelper';
65

@@ -18,9 +17,9 @@ const EditableDate: React.FC<Props> = ({ type, date, changeDate }) => {
1817

1918
return (
2019
<>
21-
<Tooltip2 content={hoverText}>
20+
<Tooltip content={hoverText}>
2221
<Button minimal={true} onClick={toggleOpen} outlined={true}>{`${type}`}</Button>
23-
</Tooltip2>
22+
</Tooltip>
2423
<Dialog
2524
isCloseButtonShown={false}
2625
isOpen={isOpen}

src/commons/achievement/control/achievementEditor/EditableView.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { Button, Dialog, EditableText } from '@blueprintjs/core';
1+
import { Button, Dialog, EditableText, Tooltip } from '@blueprintjs/core';
22
import { IconNames } from '@blueprintjs/icons';
3-
import { Tooltip2 } from '@blueprintjs/popover2';
43
import React, { useState } from 'react';
54
import { AchievementView } from 'src/features/achievement/AchievementTypes';
65

@@ -25,9 +24,9 @@ const EditableView: React.FC<Props> = ({ changeView, view }) => {
2524

2625
return (
2726
<>
28-
<Tooltip2 content="Edit View">
27+
<Tooltip content="Edit View">
2928
<Button icon={IconNames.WIDGET_HEADER} onClick={toggleOpen} />
30-
</Tooltip2>
29+
</Tooltip>
3130

3231
<Dialog title="Edit View" icon={IconNames.WIDGET_HEADER} isOpen={isOpen} onClose={toggleOpen}>
3332
<div style={{ padding: '0 0.5em' }}>

src/commons/achievement/control/common/ItemDeleter.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { Button } from '@blueprintjs/core';
1+
import { Button, Tooltip } from '@blueprintjs/core';
22
import { IconNames } from '@blueprintjs/icons';
3-
import { Tooltip2 } from '@blueprintjs/popover2';
43
import React from 'react';
54
import { showSimpleConfirmDialog } from 'src/commons/utils/DialogHelper';
65

@@ -23,9 +22,9 @@ const ItemDeleter: React.FC<Props> = ({ deleteItem, item }) => {
2322
};
2423

2524
return (
26-
<Tooltip2 content="Delete">
25+
<Tooltip content="Delete">
2726
<Button icon={IconNames.TRASH} intent="danger" onClick={confirmDelete} />
28-
</Tooltip2>
27+
</Tooltip>
2928
);
3029
};
3130

src/commons/achievement/control/common/ItemSaver.tsx

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { Button } from '@blueprintjs/core';
1+
import { Button, Tooltip } from '@blueprintjs/core';
22
import { IconNames } from '@blueprintjs/icons';
3-
import { Tooltip2 } from '@blueprintjs/popover2';
43
import React from 'react';
54
import {
65
showSuccessMessage,
@@ -25,13 +24,13 @@ const ItemSaver: React.FC<Props> = ({ discardChanges, saveChanges }) => {
2524

2625
return (
2726
<>
28-
<Tooltip2 content="Save Changes">
27+
<Tooltip content="Save Changes">
2928
<Button icon={IconNames.FLOPPY_DISK} intent="primary" onClick={handleSaveChanges} />
30-
</Tooltip2>
29+
</Tooltip>
3130

32-
<Tooltip2 content="Discard Changes">
31+
<Tooltip content="Discard Changes">
3332
<Button icon={IconNames.CROSS} intent="danger" onClick={handleDiscardChanges} />
34-
</Tooltip2>
33+
</Tooltip>
3534
</>
3635
);
3736
};

src/commons/achievement/control/goalEditor/EditableDate.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { Button, Dialog } from '@blueprintjs/core';
1+
import { Button, Dialog, Tooltip } from '@blueprintjs/core';
22
import { DatePicker } from '@blueprintjs/datetime';
3-
import { Tooltip2 } from '@blueprintjs/popover2';
43
import React, { useState } from 'react';
54
import { prettifyDate } from 'src/commons/achievement/utils/DateHelper';
65

@@ -18,9 +17,9 @@ const EditableDate: React.FC<Props> = ({ type, date, changeDate }) => {
1817

1918
return (
2019
<>
21-
<Tooltip2 content={hoverText}>
20+
<Tooltip content={hoverText}>
2221
<Button minimal={true} onClick={toggleOpen} outlined={true}>{`${type}`}</Button>
23-
</Tooltip2>
22+
</Tooltip>
2423
<Dialog
2524
isCloseButtonShown={false}
2625
isOpen={isOpen}

src/commons/achievement/control/goalEditor/EditableMeta.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { Button, MenuItem } from '@blueprintjs/core';
2-
import { Tooltip2 } from '@blueprintjs/popover2';
1+
import { Button, MenuItem, Tooltip } from '@blueprintjs/core';
32
import { ItemRenderer, Select } from '@blueprintjs/select';
43
import React from 'react';
54
import {
@@ -51,7 +50,7 @@ const EditableMeta: React.FC<Props> = ({ changeMeta, meta }) => {
5150

5251
return (
5352
<>
54-
<Tooltip2 content="Change Goal Type">
53+
<Tooltip content="Change Goal Type">
5554
<TypeSelect
5655
filterable={false}
5756
itemRenderer={typeRenderer}
@@ -60,7 +59,7 @@ const EditableMeta: React.FC<Props> = ({ changeMeta, meta }) => {
6059
>
6160
<Button minimal={true} outlined={true} text={type} />
6261
</TypeSelect>
63-
</Tooltip2>
62+
</Tooltip>
6463
{editableMetaDetails(type)}
6564
</>
6665
);

src/commons/achievement/control/goalEditor/EditableTime.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { Button, Dialog } from '@blueprintjs/core';
1+
import { Button, Dialog, Tooltip } from '@blueprintjs/core';
22
import { TimePicker } from '@blueprintjs/datetime';
3-
import { Tooltip2 } from '@blueprintjs/popover2';
43
import React, { useState } from 'react';
54
import { prettifyTime } from 'src/commons/achievement/utils/DateHelper';
65

@@ -18,9 +17,9 @@ const EditableTime: React.FC<Props> = ({ type, time, changeTime }) => {
1817

1918
return (
2019
<>
21-
<Tooltip2 content={hoverText}>
20+
<Tooltip content={hoverText}>
2221
<Button minimal={true} onClick={toggleOpen} outlined={true}>{`${type}`}</Button>
23-
</Tooltip2>
22+
</Tooltip>
2423
<Dialog
2524
isCloseButtonShown={false}
2625
isOpen={isOpen}

src/commons/achievement/control/goalEditor/metaDetails/EditableAssessmentMeta.tsx

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { NumericInput } from '@blueprintjs/core';
2-
import { Tooltip2 } from '@blueprintjs/popover2';
1+
import { NumericInput, Tooltip } from '@blueprintjs/core';
32
import React from 'react';
43
import { AssessmentMeta, GoalMeta } from 'src/features/achievement/AchievementTypes';
54

@@ -21,15 +20,15 @@ const EditableAssessmentMeta: React.FC<Props> = ({ assessmentMeta, changeMeta })
2120

2221
return (
2322
<>
24-
<Tooltip2 content="Assessment Number">
23+
<Tooltip content="Assessment Number">
2524
<NumericInput
2625
allowNumericCharactersOnly={true}
2726
onValueChange={changeAssessmentNumber}
2827
placeholder="Enter assessment number here"
2928
value={assessmentNumber}
3029
/>
31-
</Tooltip2>
32-
<Tooltip2 content="Required Completion Percentage">
30+
</Tooltip>
31+
<Tooltip content="Required Completion Percentage">
3332
<NumericInput
3433
allowNumericCharactersOnly={true}
3534
max={100}
@@ -39,7 +38,7 @@ const EditableAssessmentMeta: React.FC<Props> = ({ assessmentMeta, changeMeta })
3938
rightElement={<p>%</p>}
4039
value={requiredCompletionFrac * 100}
4140
/>
42-
</Tooltip2>
41+
</Tooltip>
4342
</>
4443
);
4544
};

src/commons/achievement/control/goalEditor/metaDetails/EditableBinaryMeta.tsx

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { Button, EditableText, MenuItem, NumericInput } from '@blueprintjs/core';
1+
import { Button, EditableText, MenuItem, NumericInput, Tooltip } from '@blueprintjs/core';
22
import { IconNames } from '@blueprintjs/icons';
3-
import { Tooltip2 } from '@blueprintjs/popover2';
43
import { ItemRenderer, Select } from '@blueprintjs/select';
54
import React from 'react';
65
import { BinaryMeta, GoalMeta } from 'src/features/achievement/AchievementTypes';
@@ -113,26 +112,26 @@ const EditableBinaryMeta: React.FC<Props> = ({ binaryMeta, changeMeta }) => {
113112
idx % 2 === 0 ? (
114113
// the text to change the condition
115114
<>
116-
<Tooltip2 content="Condition">
115+
<Tooltip content="Condition">
117116
<EditableText
118117
onChange={value => changeConditionArray(value, idx / 2)}
119118
multiline={true}
120119
placeholder="Enter condition here"
121120
value={op}
122121
/>
123-
</Tooltip2>
122+
</Tooltip>
124123
{
125124
// should only be deleteable if not the only condition
126125
conditions.length > 1 && (
127-
<Tooltip2 content="Delete Condition">
126+
<Tooltip content="Delete Condition">
128127
<Button intent="danger" icon="trash" onClick={() => deleteCondition(idx)} />
129-
</Tooltip2>
128+
</Tooltip>
130129
)
131130
}
132131
</>
133132
) : (
134133
// the button to choose the joiner to use
135-
<Tooltip2 content="And/Or">
134+
<Tooltip content="And/Or">
136135
<JoinerSelect
137136
filterable={false}
138137
itemRenderer={joinerRenderer}
@@ -141,7 +140,7 @@ const EditableBinaryMeta: React.FC<Props> = ({ binaryMeta, changeMeta }) => {
141140
>
142141
<Button minimal={true} outlined={true} text={op} />
143142
</JoinerSelect>
144-
</Tooltip2>
143+
</Tooltip>
145144
)
146145
}
147146
</div>
@@ -150,7 +149,7 @@ const EditableBinaryMeta: React.FC<Props> = ({ binaryMeta, changeMeta }) => {
150149

151150
return (
152151
<>
153-
<Tooltip2 content="Target Count">
152+
<Tooltip content="Target Count">
154153
<NumericInput
155154
allowNumericCharactersOnly={true}
156155
leftIcon={IconNames.BANK_ACCOUNT}
@@ -159,7 +158,7 @@ const EditableBinaryMeta: React.FC<Props> = ({ binaryMeta, changeMeta }) => {
159158
placeholder="Enter target count here"
160159
value={targetCount}
161160
/>
162-
</Tooltip2>
161+
</Tooltip>
163162
{generateConditions()}
164163
<br />
165164
<Button minimal={true} outlined={true} text="Add Condition" onClick={addCondition} />

0 commit comments

Comments
 (0)