diff --git a/packages/core/src/components/popover/popover.tsx b/packages/core/src/components/popover/popover.tsx
index bb15723242..fcd5160307 100644
--- a/packages/core/src/components/popover/popover.tsx
+++ b/packages/core/src/components/popover/popover.tsx
@@ -645,18 +645,7 @@ export class Popover<
// an OVERRIDE inside a DISMISS does not dismiss, and a DISMISS inside an OVERRIDE will dismiss.
const dismissElement = eventTarget.closest(`.${Classes.POPOVER_DISMISS}, .${Classes.POPOVER_DISMISS_OVERRIDE}`);
- // dismiss selectors from the "V1" version of Popover in the core package
- // we expect these to be rendered by MenuItem, which at this point has no knowledge of Popover
- // this can be removed once Popover is merged into core in v5.0
- const dismissElementV1 = eventTarget.closest(
- `.${Classes.POPOVER_DISMISS}, .${Classes.POPOVER_DISMISS_OVERRIDE}`,
- );
-
- const shouldDismiss =
- dismissElement?.classList.contains(Classes.POPOVER_DISMISS) ??
- dismissElementV1?.classList.contains(Classes.POPOVER_DISMISS) ??
- false;
-
+ const shouldDismiss = dismissElement?.classList.contains(Classes.POPOVER_DISMISS) ?? false;
const isDisabled = eventTarget.closest(`:disabled, .${Classes.DISABLED}`) != null;
if (shouldDismiss && !isDisabled && (!isEventPopoverCapturing || isEventFromSelf)) {
diff --git a/packages/datetime2/README.md b/packages/datetime2/README.md
index 54e6631c2c..e9975aead6 100644
--- a/packages/datetime2/README.md
+++ b/packages/datetime2/README.md
@@ -4,18 +4,21 @@
Blueprint is a React UI toolkit for the web.
-This package contains re-exports of some components from @blueprintjs/datetime v5.x. These "V2" APIs are backwards-compatible with @blueprintjs/datetime2 v0.x. Once you upgrade to Blueprint v5.0, you should migrate your
-imports to reference @blueprintjs/datetime instead:
-
-```diff
-- import { DateInput2 } from "@blueprintjs/datetime2";
-+ import { DateInput } from "@blueprintjs/datetime";
-```
-
-This package also contains next-generation "V3" components which support react-day-picker v8. This means that
-installing @blueprintjs/datetime2 will install multiple versions of react-day-picker (v7.x via @blueprintjs/datetime
-and v8.x as a direct dependency). Note that these two copies of react-day-picker can happily exist together in a single
-JS bundle, and with the help of tree-shaking, you can avoid bundling both if you _only_ use the deprecated "V1" / "V2"
-datetime components or _only_ use the new "V3" APIs.
+This package contains next-generation components for interacting with dates & times.
+
+Compared to the "V1" components in @blueprintjs/datetime, the "V3" components in this package:
+
+- use [react-day-picker](https://react-day-picker.js.org/) v8 instead of v7 (this unblocks React 18 compatibility)
+- are easier to internationalize & localize since date-fns is now a dependency (instead of `localeUtils`, you can specify a locale code and we'll automatically load the date-fns locale object)
+
+This package also contains legacy APIs which are re-exported aliases for components from @blueprintjs/datetime v5.x.
+These "V2" names are backwards-compatible with @blueprintjs/datetime2 v0.x.
+
+To migrate to the latest "V3" components, follow the [react-day-picker v8 migration guide](https://github.com/palantir/blueprint/wiki/react-day-picker-8-migration).
+
+Note that @blueprintjs/datetime2 will transitively install multiple versions of react-day-picker.
+These two copies of react-day-picker can happily exist together in a single JS bundle, and with the help of tree-shaking,
+you can avoid bundling both if you _only_ use the deprecated "V1" / "V2" datetime components or _only_ use the new
+"V3" APIs.
### [Full Documentation](http://blueprintjs.com/docs) | [Source Code](https://github.com/palantir/blueprint)
diff --git a/packages/docs-app/src/blueprint.md b/packages/docs-app/src/blueprint.md
index 6d2839f217..b3792af4fb 100644
--- a/packages/docs-app/src/blueprint.md
+++ b/packages/docs-app/src/blueprint.md
@@ -7,7 +7,7 @@ It is optimized for building complex data-dense interfaces for desktop applicati
@reactDocs Welcome
-
Blueprint v5.0 is now available
+
Blueprint v5.x is now available
Check out the [migration guides to upgrade from v4.x →](https://github.com/palantir/blueprint/wiki/Blueprint-5.0)
@@ -26,11 +26,12 @@ yarn add @blueprintjs/core react react-dom
```
Additional UI components and APIs are available in:
-- [**@blueprintjs/icons**](https://www.npmjs.com/package/@blueprintjs/icons)
-- [**@blueprintjs/datetime**](https://www.npmjs.com/package/@blueprintjs/datetime)
-- [**@blueprintjs/datetime2**](https://www.npmjs.com/package/@blueprintjs/datetime2)
-- [**@blueprintjs/select**](https://www.npmjs.com/package/@blueprintjs/select)
-- [**@blueprintjs/table**](https://www.npmjs.com/package/@blueprintjs/table)
+
+- [**@blueprintjs/icons**](https://www.npmjs.com/package/@blueprintjs/icons)
+- [**@blueprintjs/datetime**](https://www.npmjs.com/package/@blueprintjs/datetime)
+- [**@blueprintjs/datetime2**](https://www.npmjs.com/package/@blueprintjs/datetime2)
+- [**@blueprintjs/select**](https://www.npmjs.com/package/@blueprintjs/select)
+- [**@blueprintjs/table**](https://www.npmjs.com/package/@blueprintjs/table)
The navigation sidebar lists all the available packages, separated by use case and significant dependencies.
All have peer dependencies on **react** and **react-dom**.
@@ -42,7 +43,7 @@ Import React components from the appropriate package.
```tsx
import { Button } from "@blueprintjs/core";
-
+;
```
For this button to be styled correctly in the DOM, it needs its associated CSS to be loaded on the page.
diff --git a/packages/docs-app/src/components/blueprintDocs.tsx b/packages/docs-app/src/components/blueprintDocs.tsx
index 0040ea8c90..c195197b4e 100644
--- a/packages/docs-app/src/components/blueprintDocs.tsx
+++ b/packages/docs-app/src/components/blueprintDocs.tsx
@@ -69,7 +69,7 @@ export class BlueprintDocs extends React.Component
- Blueprint v5.0 is now in stable release. Still using v4.x? Click here to view the legacy docs →
+ Blueprint v5.x is now in stable release. Still using v4.x? Click here to view the legacy docs →
);
const footer = (
diff --git a/packages/docs-theme/src/styles/_content.scss b/packages/docs-theme/src/styles/_content.scss
index 21f36c7976..06c0202fd7 100644
--- a/packages/docs-theme/src/styles/_content.scss
+++ b/packages/docs-theme/src/styles/_content.scss
@@ -53,37 +53,3 @@ $attribute-modifier-color: $violet5;
.docs-markup .editor {
margin: 0;
}
-
-// DEPRECATED, these use old classes generated by the syntax highlighter
-// additions to the syntax theme
-.editor {
- color: inherit;
- overflow: auto;
-
- // TODO(adahiya): remove in Blueprint v5.0
- // DEPRECATED STYLES, no longer used with monaco-editor syntax higlighting
- .line {
- line-height: 1.5;
- padding-right: $pt-grid-size * 2;
- white-space: nowrap;
- }
-
- .support.constant.handlebars {
- // hide the {{ }} cuz who cares
- display: none;
-
- // color for {{:modifier}} to match modifier table
- + span {
- background: rgba($attribute-modifier-color, 0.15);
- border-radius: $pt-border-radius;
- color: $attribute-modifier-color;
- padding: 0 3px;
- }
-
- // adjust colors for {{.modifier}}
- + .variable {
- background: rgba($class-modifier-color, 0.15);
- color: $class-modifier-color;
- }
- }
-}
diff --git a/packages/eslint-plugin/README.md b/packages/eslint-plugin/README.md
index 5943593fef..ef4ad36e56 100644
--- a/packages/eslint-plugin/README.md
+++ b/packages/eslint-plugin/README.md
@@ -22,9 +22,7 @@ Add the `"@blueprintjs"` plugin to your ESLint config:
```json
{
- "plugins": [
- "@blueprintjs"
- ]
+ "plugins": ["@blueprintjs"]
}
```
@@ -34,9 +32,7 @@ To enable _all_ rules provided by the plugin the Blueprint-specific rules, exten
```json
{
- "extends": [
- "plugin:@blueprintjs/recommended"
- ]
+ "extends": ["plugin:@blueprintjs/recommended"]
}
```
@@ -61,18 +57,18 @@ Enforce usage of class names exported as public API via the `Classes` object ins
Each `@blueprintjs` package exports a `Classes` object which contains constants for every CSS class defined by the package.
-__Rationale__: This is useful to avoid typos in styling or creating Blueprint components, and also helps future-proof your code for major
+**Rationale**: This is useful to avoid typos in styling or creating Blueprint components, and also helps future-proof your code for major
version bumps of Blueprint where the class namespace (e.g. `bp5-`) changes.
```json
{
"rules": {
- "@blueprintjs/classes-constants":"error"
+ "@blueprintjs/classes-constants": "error"
}
}
```
-__Has auto-fixer__: ✅
+**Has auto-fixer**: ✅
```diff
- const element = ;
@@ -89,9 +85,9 @@ Enforce usage of Blueprint components over regular HTML JSX tags:
- blockquote -> Blockquote
- table -> HTMLTable
-__Rationale__: This is uesful to ensure consistent styling of common typographic elements and other basic markup.
+**Rationale**: This is uesful to ensure consistent styling of common typographic elements and other basic markup.
-__Has auto-fixer__: ✅
+**Has auto-fixer**: ✅
```json
{
@@ -103,7 +99,7 @@ __Has auto-fixer__: ✅
### `@blueprintjs/icon-components`
-:warning: DEPRECATED: this rule is no longer recommended. Icons modularity / tree shaking will be a first-class feature of Blueprint v5.0.
+:warning: DEPRECATED: this rule is no longer recommended. Icons modularity / tree shaking is a first-class feature of Blueprint v5.x.
Enforce usage of JSX `Icon` components instead of `IconName` string literals (or vice-versa) in `icon` JSX props.
Note that this rule only supports hardcoded values in the `icon` prop; it does not handle expressions or conditionals.
@@ -143,23 +139,23 @@ This rule is disabled in the `blueprint-rules` config as it is most useful to en
Ban usage of deprecated Blueprint components, including:
-- AbstractComponent
-- AbstractPureComponent
-- Breadcrumbs
-- CollapsibleList
-- DateInput
-- DateRangeInput
-- DateTimePicker
-- MenuItem
-- MultiSelect
-- PanelStack
-- Popover
-- Select
-- Suggest
-- TimezonePicker
-- Tooltip
-
-__Rationale__: Many Blueprint components have "V2" variants as a part of their natural API evolution.
+- AbstractComponent
+- AbstractPureComponent
+- Breadcrumbs
+- CollapsibleList
+- DateInput
+- DateRangeInput
+- DateTimePicker
+- MenuItem
+- MultiSelect
+- PanelStack
+- Popover
+- Select
+- Suggest
+- TimezonePicker
+- Tooltip
+
+**Rationale**: Many Blueprint components have "V2" variants as a part of their natural API evolution.
Blueprint consumers are recommended to migrate from the deprecated V1 components to their newer V2 counterparts
in order to future-proof their code for the next major version of Blueprint, where the V2 components will become the
only available API and the V1 variants will be removed. Flagging usage of deprecated APIs can be done with other
@@ -173,7 +169,7 @@ to prevent any backwards progress in your Blueprint migration as you move from V
Similar to `@blueprintjs/no-deprecated-components`, but only flags usage of deprecated components from the
`@blueprintjs/core` package instead of all `@blueprintjs/` packages.
-__Rationale__: In migrations of large code bases, it may be useful to apply more granular rule configuration of
+**Rationale**: In migrations of large code bases, it may be useful to apply more granular rule configuration of
"no-deprecated-components" to make incremental progress towards the newer APIs. This allows you, for example, to flag
deprecated `@blueprintjs/core` component usage as errors while allowing deprecated components from other packages
to pass as lint warnings.
@@ -183,7 +179,7 @@ to pass as lint warnings.
Similar to `@blueprintjs/no-deprecated-components`, but only flags usage of deprecated components from the
`@blueprintjs/datetime` package instead of all `@blueprintjs/` packages.
-__Rationale__: In migrations of large code bases, it may be useful to apply more granular rule configuration of
+**Rationale**: In migrations of large code bases, it may be useful to apply more granular rule configuration of
"no-deprecated-components" to make incremental progress towards the newer APIs. This allows you, for example, to flag
deprecated `@blueprintjs/datetime` component usage as errors while allowing deprecated components from other packages
to pass as lint warnings.
@@ -193,7 +189,7 @@ to pass as lint warnings.
Similar to `@blueprintjs/no-deprecated-components`, but only flags usage of deprecated components from the
`@blueprintjs/datetime2` package instead of all `@blueprintjs/` packages.
-__Rationale__: In migrations of large code bases, it may be useful to apply more granular rule configuration of
+**Rationale**: In migrations of large code bases, it may be useful to apply more granular rule configuration of
"no-deprecated-components" to make incremental progress towards the newer APIs. This allows you, for example, to flag
deprecated `@blueprintjs/datetime2` component usage as errors while allowing deprecated components from other packages
to pass as lint warnings.
@@ -203,7 +199,7 @@ to pass as lint warnings.
Similar to `@blueprintjs/no-deprecated-components`, but only flags usage of deprecated components from the
`@blueprintjs/select` package instead of all `@blueprintjs/` packages.
-__Rationale__: In migrations of large code bases, it may be useful to apply more granular rule configuration of
+**Rationale**: In migrations of large code bases, it may be useful to apply more granular rule configuration of
"no-deprecated-components" to make incremental progress towards the newer APIs. This allows you, for example, to flag
deprecated `@blueprintjs/select` component usage as errors while allowing deprecated components from other packages
to pass as lint warnings.
@@ -213,7 +209,7 @@ to pass as lint warnings.
Similar to `@blueprintjs/no-deprecated-components`, but only flags usage of deprecated components from the
`@blueprintjs/table` package instead of all `@blueprintjs/` packages.
-__Rationale__: In migrations of large code bases, it may be useful to apply more granular rule configuration of
+**Rationale**: In migrations of large code bases, it may be useful to apply more granular rule configuration of
"no-deprecated-components" to make incremental progress towards the newer APIs. This allows you, for example, to flag
deprecated `@blueprintjs/table` component usage as errors while allowing deprecated components from other packages
to pass as lint warnings.
@@ -224,10 +220,9 @@ Ban usage of deprecated types & interfaces. In most cases, these symbols are dep
TypeScript interface naming convention where we've _dropped_ the "I" prefix from interface names. For example,
`IProps` is now `Props`.
-__Auto-fixable__.
+**Auto-fixable**.
-__Rationale__: Ensure forwards-comaptibility with the next major version of Blueprint and use the auto-fixer as
+**Rationale**: Ensure forwards-comaptibility with the next major version of Blueprint and use the auto-fixer as
a codemod.
-
### [Full Documentation](http://blueprintjs.com/docs) | [Source Code](https://github.com/palantir/blueprint)
diff --git a/packages/popover2/README.md b/packages/popover2/README.md
index 15365f935c..5953a23718 100644
--- a/packages/popover2/README.md
+++ b/packages/popover2/README.md
@@ -9,6 +9,7 @@ previously available in @blueprintjs/popover v4.x, but they were promoted to the
@blueprintjs/core v5.x.
Once you upgrade to Blueprint v5.0, you should migrate your imports to the @blueprintjs/core package.
+See the [Popover2 migration guide](https://github.com/palantir/blueprint/wiki/Popover2-migration) for more info.
```diff
- import { Popover2 } from "@blueprintjs/popover2";