diff --git a/config/tsconfig.base.json b/config/tsconfig.base.json index 1dafb6e391..5b1726c311 100644 --- a/config/tsconfig.base.json +++ b/config/tsconfig.base.json @@ -11,6 +11,7 @@ "dom", "dom.iterable", "es5", + "es2015.collection", "es2015.iterable" ], "module": "es2015", diff --git a/packages/core/src/_typography.scss b/packages/core/src/_typography.scss index 6154f4ee07..cc2aea4e21 100644 --- a/packages/core/src/_typography.scss +++ b/packages/core/src/_typography.scss @@ -11,12 +11,14 @@ Headings Markup: -

H1 heading

-

H2 heading

-

H3 heading

-

H4 heading

-
H5 heading
-
H6 heading
+
+

H1 heading

+

H2 heading

+

H3 heading

+

H4 heading

+
H5 heading
+
H6 heading
+
Styleguide headings */ @@ -53,14 +55,19 @@ UI text Markup:
- Blueprint components react overlay date picker. Breadcrumbs dialog progress non-ideal state. + More than a decade ago, we set out to create products that would transform + the way organizations use their data. Today, our products are deployed at + the most critical government, commercial, and non-profit institutions in + the world to solve problems we hadn’t even dreamed of back then.
.#{$ns}-ui-text - Default Blueprint font styles, applied to the `` tag and available as a class for nested resets. .#{$ns}-monospace-text - Use a monospace font (ideal for code). .#{$ns}-running-text - Increase line height ideal for longform text. See [Running text](#core/typography.running-text) below for additional features. .#{$ns}-text-large - Use a larger font size. +.#{$ns}-text-small - Use a smaller font size. .#{$ns}-text-muted - Change text color to a gentler gray. +.#{$ns}-text-disabled - Change text color to a transparent, faded gray. .#{$ns}-text-overflow-ellipsis - Truncate a single line of text with an ellipsis if it overflows its container. Styleguide ui-text @@ -84,6 +91,14 @@ Styleguide ui-text } } +.#{$ns}-text-disabled { + color: $pt-text-color-disabled; + + .#{$ns}-dark & { + color: $pt-dark-text-color-disabled; + } +} + .#{$ns}-text-overflow-ellipsis { @include overflow-ellipsis(); } @@ -93,22 +108,20 @@ Running text Markup:
-
-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do - eiusmod tempor incididunt ut labore et dolore magna aliqua. -

- -

New section

-

- Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris - nisi ut aliquip ex ea commodo consequat. -

-
+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor incididunt ut labore et dolore magna aliqua. +

+ +

New section

+

+ Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris + nisi ut aliquip ex ea commodo consequat. +

.#{$ns}-text-large - Use larger font size. @@ -169,12 +182,17 @@ Styleguide running-text } } -// NOTE: this must be defined after .@ns-running-text in order to override font-size. +// NOTE: these must be defined after .@ns-running-text in order to override font-size. .#{$ns}-text-large { font-size: $pt-font-size-large; // line-height comes from .@ns-(ui|running)-text } +.#{$ns}-text-small { + font-size: $pt-font-size-small; + // line-height comes from .@ns-(ui|running)-text +} + /* Links @@ -219,17 +237,20 @@ a { Preformatted text Markup: -

Use the <code> tag for snippets of code.

-
Use the <pre> tag for blocks of code.
-
// code sample
-export function hasModifier(modifiers: ts.ModifiersArray, ...modifierKinds: ts.SyntaxKind[]) {
+
+

Use the <code> tag for snippets of code.

+
Use the <pre> tag for blocks of code.
+
// code sample
+export function hasModifier(
+  modifiers: ts.ModifiersArray,
+  ...modifierKinds: ts.SyntaxKind[],
+) {
   if (modifiers == null || modifierKinds == null) {
     return false;
   }
-  return modifiers.some((m) => {
-    return modifierKinds.some((k) => m.kind === k);
-  });
+  return modifiers.some(m => modifierKinds.some(k => m.kind === k));
 }
+
Styleguide preformatted */ diff --git a/packages/core/src/components/button/_button-group.scss b/packages/core/src/components/button/_button-group.scss index 03d59802e7..0c414edd91 100644 --- a/packages/core/src/components/button/_button-group.scss +++ b/packages/core/src/components/button/_button-group.scss @@ -9,29 +9,31 @@ Button groups Markup: - -

-
- - - - - - - - - -
-

-
- - +
+ +


+
+ + + + + + + + + +
+


+
+ + +
.#{$ns}-large - Use large buttons diff --git a/packages/core/src/components/button/button-group.md b/packages/core/src/components/button/button-group.md index 5a7c4f41a6..a3919b2710 100644 --- a/packages/core/src/components/button/button-group.md +++ b/packages/core/src/components/button/button-group.md @@ -54,7 +54,7 @@ It exposes shorthand props for CSS modifier classes and supports the full range @reactExample ButtonGroupExample -@### Usage with Popovers +@### Usage with popovers `Button`s inside a `ButtonGroup` can optionally be wrapped with a [`Popover`](#core/components/popover). The following example demonstrates this composition: diff --git a/packages/core/src/components/card/_card.scss b/packages/core/src/components/card/_card.scss index 9fa7fe2289..7748580d58 100644 --- a/packages/core/src/components/card/_card.scss +++ b/packages/core/src/components/card/_card.scss @@ -70,19 +70,17 @@ $dark-elevation-shadows: ( Interactive cards Markup: -
-
-
Data fusion platforms
-

Back-end infrastructure for integrating, managing, and securing data of any kind, from any source, at massive scale.

-
-
-
Analytical applications
-

User interfaces that enable people to interact smoothly with data, ask better questions, and make better decisions.

-
-
-
For any data problem
-

Proven technology that can be deployed today, adapts to any domain, and produces operational results in weeks.

-
+
+
Data fusion platforms
+
Back-end infrastructure for integrating, managing, and securing data of any kind, from any source, at massive scale.
+
+
+
Analytical applications
+
User interfaces that enable people to interact smoothly with data, ask better questions, and make better decisions.
+
+
+
For any data problem
+
Proven technology that can be deployed today, adapts to any domain, and produces operational results in weeks.
Styleguide card-interactive diff --git a/packages/core/src/components/dialog/dialog.md b/packages/core/src/components/dialog/dialog.md index 3d05dbc9c5..0e06b64a82 100644 --- a/packages/core/src/components/dialog/dialog.md +++ b/packages/core/src/components/dialog/dialog.md @@ -27,51 +27,13 @@ There are two ways to render dialogs: `Dialog` is a stateless React component. The children you provide to this component are rendered as contents inside the `.@ns-dialog` element. -```tsx -interface IDialogExampleState { - isOpen: boolean; -} - -class DialogExample extends React.Component<{}, IDialogExampleState> { - public state = { isOpen: false }; - - public render() { - return ( -
-
-
- -
- ); - } - - private toggleDialog = () => this.setState({ isOpen: !this.state.isOpen }); -} -``` - @interface IDialogProps @## CSS API You can create dialogs manually using the HTML markup and `@ns-dialog-*` classes below. -However, you should use the dialog [JavaScript APIs](#core/components/dialog.javascript-api) whenever possible, -as they automatically generate some of this markup. +However, you should use the dialog [JavaScript APIs](#core/components/dialog.javascript-api) +whenever possible, as they automatically generate some of this markup. More examples of dialog content are shown below. diff --git a/packages/core/src/components/forms/_controls.scss b/packages/core/src/components/forms/_controls.scss index e154d37148..6dc76e55c7 100644 --- a/packages/core/src/components/forms/_controls.scss +++ b/packages/core/src/components/forms/_controls.scss @@ -285,6 +285,7 @@ $control-checked-background-color-active: nth(map-get($button-intents, "primary" &.#{$ns}-align-right { padding-right: $switch-width + $pt-grid-size; + padding-left: 0; } input:checked ~ .#{$ns}-control-indicator { @@ -402,6 +403,7 @@ $control-checked-background-color-active: nth(map-get($button-intents, "primary" &.#{$ns}-align-right { padding-right: $switch-width-large + $pt-grid-size; + padding-left: 0; } } } @@ -541,22 +543,24 @@ $control-checked-background-color-active: nth(map-get($button-intents, "primary" Inline labels Markup: - - - - +
+ + + + +
Styleguide checkbox-inline */ diff --git a/packages/core/src/components/forms/_form-group.scss b/packages/core/src/components/forms/_form-group.scss index bfd101017d..c1d24faff3 100644 --- a/packages/core/src/components/forms/_form-group.scss +++ b/packages/core/src/components/forms/_form-group.scss @@ -8,93 +8,95 @@ Form groups Markup: -
- -
- -
Helper text with details / user feedback
+
+
+ +
+ +
Helper text with details / user feedback
+
-
-
- -
-
- - +
+ +
+
+ + +
+
Please enter a value
-
Please enter a value
-
-
- -
-
-
- -
-
- - +
+ +
+
+ + +
+
Helper text with details / user feedback
-
Helper text with details / user feedback
-
-
- -
-
- - +
+ +
+
+ + +
+
Helper text with details / user feedback
-
Helper text with details / user feedback
-
-
- -
-
-
- -
-
diff --git a/packages/core/src/components/forms/_label.scss b/packages/core/src/components/forms/_label.scss index 1881852371..47119f5b2c 100644 --- a/packages/core/src/components/forms/_label.scss +++ b/packages/core/src/components/forms/_label.scss @@ -7,19 +7,21 @@ Labels Markup: - - +
+ + +
.#{$ns}-inline - Inline @@ -29,7 +31,8 @@ Styleguide label // stylelint-disable-next-line selector-no-qualifying-type label.#{$ns}-label { display: block; - margin: 0 0 ($pt-grid-size * 1.5); + margin-top: 0; + margin-bottom: ($pt-grid-size * 1.5); .#{$ns}-input, .#{$ns}-select, @@ -74,27 +77,29 @@ label.#{$ns}-label { Disabled labels Markup: - - - +
+ + + +
Styleguide label-disabled */ diff --git a/packages/core/src/components/menu/_menu.scss b/packages/core/src/components/menu/_menu.scss index 30ba620d73..9f64d3bc70 100644 --- a/packages/core/src/components/menu/_menu.scss +++ b/packages/core/src/components/menu/_menu.scss @@ -122,11 +122,11 @@ Menu headers Markup:
    -
  • Layouts
  • +
  • Layouts
  • -
  • Views
  • +
  • Views
  • diff --git a/packages/core/src/components/navbar/_navbar.scss b/packages/core/src/components/navbar/_navbar.scss index 467fd194ba..1baf028c69 100644 --- a/packages/core/src/components/navbar/_navbar.scss +++ b/packages/core/src/components/navbar/_navbar.scss @@ -37,6 +37,7 @@ $dark-navbar-background-color: $dark-gray5 !default; z-index: $pt-z-index-content; box-shadow: $pt-elevation-shadow-1; background-color: $navbar-background-color; + width: 100%; height: $pt-navbar-height; padding: 0 $navbar-padding; diff --git a/packages/core/src/components/non-ideal-state/_non-ideal-state.scss b/packages/core/src/components/non-ideal-state/_non-ideal-state.scss index 4394227ded..b8c3881b9b 100644 --- a/packages/core/src/components/non-ideal-state/_non-ideal-state.scss +++ b/packages/core/src/components/non-ideal-state/_non-ideal-state.scss @@ -23,7 +23,6 @@ Styleguide non-ideal-state @include pt-flex-container(column, $pt-grid-size * 2); align-items: center; justify-content: center; - margin: 0 auto; width: 100%; max-width: $pt-grid-size * 40; height: 100%; diff --git a/packages/core/src/components/popover/popover.md b/packages/core/src/components/popover/popover.md index d38e9a997e..b914caa715 100644 --- a/packages/core/src/components/popover/popover.md +++ b/packages/core/src/components/popover/popover.md @@ -1,4 +1,4 @@ -@# Popover +@# Popovers Popovers display floating content next to a target element. diff --git a/packages/core/src/components/table/table-html.md b/packages/core/src/components/table/table-html.md index 707c608525..ccbd68b078 100644 --- a/packages/core/src/components/table/table-html.md +++ b/packages/core/src/components/table/table-html.md @@ -1,4 +1,4 @@ -@# Table (HTML) +@# Tables (HTML) This component adds Blueprint styling to native HTML tables. diff --git a/packages/core/src/components/tag/_tag.scss b/packages/core/src/components/tag/_tag.scss index 88d7b68a91..19839e6477 100644 --- a/packages/core/src/components/tag/_tag.scss +++ b/packages/core/src/components/tag/_tag.scss @@ -8,18 +8,16 @@ Tags Markup: -

    - 125 - Done - - Tracking - - - - Crushed - - -

    +125 +Done + + Tracking + + + + Crushed + + A rather long string of text that wraps to multiple lines demonstrates the position of the remove button. @@ -27,6 +25,7 @@ Markup: .#{$ns}-large - Large +.#{$ns}-minimal - Minimal appearance .#{$ns}-round - Rounded corners, ideal for badges .#{$ns}-interactive - Hover and active effects .#{$ns}-intent-primary - Primary intent diff --git a/packages/core/src/components/tree/tree.md b/packages/core/src/components/tree/tree.md index fb71ebdea0..91d749ef7b 100644 --- a/packages/core/src/components/tree/tree.md +++ b/packages/core/src/components/tree/tree.md @@ -6,8 +6,8 @@ Trees display hierarchical data. @## CSS API -See below for the [JavaScript API](#core/components/tree.javascript-api) for the `Tree` React component. However, you -may also use the provided styles by themselves, without using the component. +See below for the [JavaScript API](#core/components/tree.javascript-api) for the `Tree` React +component. However, you may also use the provided styles by themselves, without using the component.
    Note that the following examples set a maximum width and background color for the tree; @@ -22,8 +22,8 @@ The `Tree` component is available in the **@blueprintjs/core** package. Make sure to review the [getting started docs for installation info](#blueprint/getting-started). `Tree` is a stateless component. Its contents are dictated by the `contents` prop, which is an array -of `ITreeNode`s (see [below](#components/tree.tree-node-interface)). The tree is multi-rooted if `contents` -contains more than one top-level object. +of `ITreeNode`s (see [below](#components/tree.tree-node-interface)). The tree is multi-rooted if +`contents` contains more than one top-level object. A variety of interaction callbacks are also exposed as props. All interaction callbacks supply a parameter `nodePath`, which is an array of numbers representing a node's position in the tree. For @@ -33,7 +33,7 @@ example, `[2, 0]` represents the first child (`0`) of the third top-level node ( @### Instance methods -
    Tree
    +
    Tree
    * `getNodeContentElement(nodeId: string | number): HTMLElement | undefined` – Returns the underlying HTML element of the `Tree` node with an id of `nodeId`. diff --git a/packages/docs-app/src/examples/core-examples/alertExample.tsx b/packages/docs-app/src/examples/core-examples/alertExample.tsx index c3cfdcacf1..907bef4e68 100644 --- a/packages/docs-app/src/examples/core-examples/alertExample.tsx +++ b/packages/docs-app/src/examples/core-examples/alertExample.tsx @@ -32,7 +32,7 @@ export class AlertExample extends BaseExample<{}> { protected renderExample() { const { isOpen, isOpenError, ...switchProps } = this.state; return ( -
    + <>
    + ); } diff --git a/packages/docs-app/src/examples/core-examples/buttonsExample.tsx b/packages/docs-app/src/examples/core-examples/buttonsExample.tsx index 12cb445f55..b7c9772d0e 100644 --- a/packages/docs-app/src/examples/core-examples/buttonsExample.tsx +++ b/packages/docs-app/src/examples/core-examples/buttonsExample.tsx @@ -6,7 +6,7 @@ import * as React from "react"; -import { AnchorButton, Button, Classes, Code, Intent, Switch } from "@blueprintjs/core"; +import { AnchorButton, Button, Code, Intent, Switch } from "@blueprintjs/core"; import { BaseExample, handleBooleanChange, handleStringChange } from "@blueprintjs/docs-theme"; import { IntentSelect } from "./common/intentSelect"; @@ -52,7 +52,7 @@ export class ButtonsExample extends BaseExample { const { iconOnly, wiggling, ...buttonProps } = this.state; return ( -
    + <>

    Button @@ -79,16 +79,13 @@ export class ButtonsExample extends BaseExample { {...buttonProps} />

    -
    + ); } protected renderOptions() { return [ [ - , , { const { iconName } = this.props; return (
    -
+ ); } protected renderOptions() { const options = super.renderOptions(); // delete "hasBackdrop" switch from option controls - options[1].splice(2, 1); + options[0].splice(-1, 1); return options; } } diff --git a/packages/docs-app/src/examples/core-examples/editableTextExample.tsx b/packages/docs-app/src/examples/core-examples/editableTextExample.tsx index 2831246306..9fa0ef739e 100644 --- a/packages/docs-app/src/examples/core-examples/editableTextExample.tsx +++ b/packages/docs-app/src/examples/core-examples/editableTextExample.tsx @@ -84,7 +84,7 @@ export class EditableTextExample extends BaseExample onChange={this.toggleSelectAll} />, - Swap keypress for confirm and newline
(multiline only) + Swap keypress for confirm and newline (multiline only)
, ], ]; diff --git a/packages/docs-app/src/examples/core-examples/hotkeyPiano.tsx b/packages/docs-app/src/examples/core-examples/hotkeyPiano.tsx index 8ba8e07636..1f6aa24b04 100644 --- a/packages/docs-app/src/examples/core-examples/hotkeyPiano.tsx +++ b/packages/docs-app/src/examples/core-examples/hotkeyPiano.tsx @@ -342,14 +342,14 @@ export class HotkeyPiano extends BaseExample { if (AUDIO_CONTEXT == null) { return ( -
+
Oops! This browser does not support the WebAudio API needed for this example.
); } return ( -
+
diff --git a/packages/docs-app/src/examples/core-examples/hotkeyTester.tsx b/packages/docs-app/src/examples/core-examples/hotkeyTester.tsx index b4e5ccdf41..bd4781e2a6 100644 --- a/packages/docs-app/src/examples/core-examples/hotkeyTester.tsx +++ b/packages/docs-app/src/examples/core-examples/hotkeyTester.tsx @@ -14,11 +14,13 @@ export interface IHotkeyTesterState { } export class HotkeyTester extends BaseExample { - public state: IHotkeyTesterState = { combo: null }; + public state: IHotkeyTesterState = { + combo: null, + }; protected renderExample() { return ( -
+
{this.renderKeyCombo()}
); @@ -30,9 +32,10 @@ export class HotkeyTester extends BaseExample { return "Click here then press a key combo"; } else { return ( -
- or {combo} -
+ <> + + {combo} + ); } } @@ -44,4 +47,6 @@ export class HotkeyTester extends BaseExample { const combo = getKeyComboString(e.nativeEvent as KeyboardEvent); this.setState({ combo }); }; + + private handleBlur = () => this.setState({ combo: null }); } diff --git a/packages/docs-app/src/examples/core-examples/iconExample.tsx b/packages/docs-app/src/examples/core-examples/iconExample.tsx index 96c6e13195..4c998127b4 100644 --- a/packages/docs-app/src/examples/core-examples/iconExample.tsx +++ b/packages/docs-app/src/examples/core-examples/iconExample.tsx @@ -23,11 +23,7 @@ export class IconExample extends BaseExample { }; protected renderExample() { - return ( -
- -
- ); + return ; } protected renderOptions() { diff --git a/packages/docs-app/src/examples/core-examples/inputGroupExample.tsx b/packages/docs-app/src/examples/core-examples/inputGroupExample.tsx index 8a113def61..209368378f 100644 --- a/packages/docs-app/src/examples/core-examples/inputGroupExample.tsx +++ b/packages/docs-app/src/examples/core-examples/inputGroupExample.tsx @@ -80,43 +80,39 @@ export class InputGroupExample extends BaseExample { const resultsTag = {Math.floor(10000 / Math.max(1, Math.pow(tagValue.length, 2)))}; return ( -
-
- - -
-
- - -
-
+ <> + + + + + ); } diff --git a/packages/docs-app/src/examples/core-examples/menuExample.tsx b/packages/docs-app/src/examples/core-examples/menuExample.tsx index 54b63c2878..e38a8ead86 100644 --- a/packages/docs-app/src/examples/core-examples/menuExample.tsx +++ b/packages/docs-app/src/examples/core-examples/menuExample.tsx @@ -14,7 +14,7 @@ export class MenuExample extends BaseExample<{}> { protected renderExample() { return (
- + } text="Custom SVG icon" /> @@ -23,7 +23,7 @@ export class MenuExample extends BaseExample<{}> { } text="Settings..." /> - + diff --git a/packages/docs-app/src/examples/core-examples/nonIdealStateExample.tsx b/packages/docs-app/src/examples/core-examples/nonIdealStateExample.tsx index 9e4429bc00..9cb0896b73 100644 --- a/packages/docs-app/src/examples/core-examples/nonIdealStateExample.tsx +++ b/packages/docs-app/src/examples/core-examples/nonIdealStateExample.tsx @@ -6,26 +6,55 @@ import * as React from "react"; -import { Classes, InputGroup, NonIdealState } from "@blueprintjs/core"; -import { BaseExample } from "@blueprintjs/docs-theme"; +import { Classes, InputGroup, NonIdealState, Switch } from "@blueprintjs/core"; +import { BaseExample, handleBooleanChange } from "@blueprintjs/docs-theme"; + +export interface INonIdealStateExampleState { + action?: boolean; + description?: boolean; + icon?: boolean; +} + +export class NonIdealStateExample extends BaseExample { + public state: INonIdealStateExampleState = { + action: true, + description: true, + icon: true, + }; + + private toggleAction = handleBooleanChange(action => this.setState({ action })); + private toggleIcon = handleBooleanChange(icon => this.setState({ icon })); + private toggleDescription = handleBooleanChange(description => this.setState({ description })); -export class NonIdealStateExample extends BaseExample<{}> { protected renderExample() { + const action = ; const description = ( - +
Your search didn't match any files.
Try searching for something else. - +
); return ( - // empty wrapper div to cancel parent flexbox styles -
- } - /> -
+ ); } + + protected renderOptions() { + return [ + [ + , + , + , + ], + ]; + } } diff --git a/packages/docs-app/src/examples/core-examples/overlayExample.tsx b/packages/docs-app/src/examples/core-examples/overlayExample.tsx index 7c3bd70570..267043a860 100644 --- a/packages/docs-app/src/examples/core-examples/overlayExample.tsx +++ b/packages/docs-app/src/examples/core-examples/overlayExample.tsx @@ -96,8 +96,6 @@ export class OverlayExample extends BaseExample { Use Portal , - ], - [ {
, - , Use Portal , @@ -199,13 +199,14 @@ export class PopoverExample extends BaseExample { options={INTERACTION_KINDS} onChange={this.handleInteractionChange} />, + ], + [ , -
, ], [
Modifiers
, @@ -240,11 +241,19 @@ export class PopoverExample extends BaseExample {
, -

- - Popper.js docs - -

, + , ], ]; } diff --git a/packages/docs-app/src/examples/core-examples/popoverPositionExample.tsx b/packages/docs-app/src/examples/core-examples/popoverPositionExample.tsx index cf61e0d4ba..e25aa72e4d 100644 --- a/packages/docs-app/src/examples/core-examples/popoverPositionExample.tsx +++ b/packages/docs-app/src/examples/core-examples/popoverPositionExample.tsx @@ -4,26 +4,13 @@ * Licensed under the terms of the LICENSE file distributed with this project. */ -import classNames from "classnames"; import * as React from "react"; -import { Button, Code, Popover, Position } from "@blueprintjs/core"; +import { Button, Classes, Code, Popover, Position } from "@blueprintjs/core"; import { BaseExample } from "@blueprintjs/docs-theme"; const EXAMPLE_CLASS = "docs-popover-position-example"; -// Avoid interpolation to ensure these values remain grep-able. -const BUTTON_CLASS = "docs-popover-position-example-button"; -const INSTRUCTIONS_CLASS = "docs-popover-position-example-instructions"; - -const TABLE_CLASS = "docs-popover-position-example-table"; -const ROW_CLASS = "docs-popover-position-example-row"; -const CELL_CLASS = "docs-popover-position-example-cell"; - -const CELL_LEFT_CLASS = "docs-popover-position-example-cell-left"; -const CELL_CENTER_CLASS = "docs-popover-position-example-cell-center"; -const CELL_RIGHT_CLASS = "docs-popover-position-example-cell-right"; - const SIDE_LABEL_CLASS = "docs-popover-position-label-side"; const ALIGNMENT_LABEL_CLASS = "docs-popover-position-label-alignment"; @@ -33,42 +20,42 @@ export class PopoverPositionExample extends BaseExample<{}> { protected renderExample() { return ( // tslint:disable-next-line:blueprint-html-components - +
- - + - - - + - - - - + -
- +
+ {this.renderPopover(Position.BOTTOM_LEFT, "BOTTOM", "LEFT")} {this.renderPopover(Position.BOTTOM, "BOTTOM")} {this.renderPopover(Position.BOTTOM_RIGHT, "BOTTOM", "RIGHT")} +
+
{this.renderPopover(Position.RIGHT_TOP, "RIGHT", "TOP")} {this.renderPopover(Position.RIGHT, "RIGHT")} {this.renderPopover(Position.RIGHT_BOTTOM, "RIGHT", "BOTTOM")} - + + Button positions are flipped here so that all popovers open inward. - + + {this.renderPopover(Position.LEFT_TOP, "LEFT", "TOP")} {this.renderPopover(Position.LEFT, "LEFT")} {this.renderPopover(Position.LEFT_BOTTOM, "LEFT", "BOTTOM")}
- +
+ {this.renderPopover(Position.TOP_LEFT, "TOP", "LEFT")} {this.renderPopover(Position.TOP, "TOP")} {this.renderPopover(Position.TOP_RIGHT, "TOP", "RIGHT")} +
@@ -107,7 +94,7 @@ export class PopoverPositionExample extends BaseExample<{}> { return ( - + ); } diff --git a/packages/docs-app/src/examples/core-examples/popoverSizingExample.tsx b/packages/docs-app/src/examples/core-examples/popoverSizingExample.tsx index 93845f2dff..cd739f3d58 100644 --- a/packages/docs-app/src/examples/core-examples/popoverSizingExample.tsx +++ b/packages/docs-app/src/examples/core-examples/popoverSizingExample.tsx @@ -14,11 +14,7 @@ export class PopoverSizingExample extends BaseExample<{}> { protected renderExample() { return (
- } - position={Position.BOTTOM_LEFT} - usePortal={false} - > + } position={Position.BOTTOM_LEFT}>
diff --git a/packages/docs-app/src/examples/core-examples/progressExample.tsx b/packages/docs-app/src/examples/core-examples/progressExample.tsx index b4abdf1f1e..3c21c623b4 100644 --- a/packages/docs-app/src/examples/core-examples/progressExample.tsx +++ b/packages/docs-app/src/examples/core-examples/progressExample.tsx @@ -24,8 +24,6 @@ export class ProgressExample extends BaseExample { value: 0.7, }; - protected className = "docs-progress-example"; - private handleIndeterminateChange = handleBooleanChange(hasValue => this.setState({ hasValue })); private handleModifierChange = handleStringChange((intent: Intent) => this.setState({ intent })); diff --git a/packages/docs-app/src/examples/core-examples/rangeSliderExample.tsx b/packages/docs-app/src/examples/core-examples/rangeSliderExample.tsx index 9c03e92299..d35f922d98 100644 --- a/packages/docs-app/src/examples/core-examples/rangeSliderExample.tsx +++ b/packages/docs-app/src/examples/core-examples/rangeSliderExample.tsx @@ -24,17 +24,15 @@ export class RangeSliderExample extends BaseExample { protected renderExample() { return ( -
- -
+ ); } diff --git a/packages/docs-app/src/examples/core-examples/sliderExample.tsx b/packages/docs-app/src/examples/core-examples/sliderExample.tsx index 60d82b6ce0..97c64ad912 100644 --- a/packages/docs-app/src/examples/core-examples/sliderExample.tsx +++ b/packages/docs-app/src/examples/core-examples/sliderExample.tsx @@ -4,7 +4,6 @@ * Licensed under the terms of the LICENSE file distributed with this project. */ -import classNames from "classnames"; import * as React from "react"; import { Slider, Switch } from "@blueprintjs/core"; @@ -29,13 +28,8 @@ export class SliderExample extends BaseExample { protected renderExample() { const { vertical } = this.state; - - const rootClasses = classNames("docs-slider-example", { - "docs-slider-example-vertical": vertical, - }); - return ( -
+ <> { value={this.state.value3} vertical={vertical} /> -
+ ); } protected renderOptions() { - return [ - [], - ]; + return ; } private getChangeHandler(key: string) { diff --git a/packages/docs-app/src/examples/core-examples/tabsExample.tsx b/packages/docs-app/src/examples/core-examples/tabsExample.tsx index 55c45add83..f79fe3fd47 100644 --- a/packages/docs-app/src/examples/core-examples/tabsExample.tsx +++ b/packages/docs-app/src/examples/core-examples/tabsExample.tsx @@ -34,7 +34,7 @@ export class TabsExample extends BaseExample {
- Tabs Example + Tabs example {/* controlled mode & no panels (see h1 below): */} diff --git a/packages/docs-app/src/examples/core-examples/tagExample.tsx b/packages/docs-app/src/examples/core-examples/tagExample.tsx index e13879cab9..3e25fb0dc8 100644 --- a/packages/docs-app/src/examples/core-examples/tagExample.tsx +++ b/packages/docs-app/src/examples/core-examples/tagExample.tsx @@ -38,8 +38,8 @@ export class TagExample extends BaseExample { private handleInteractiveChange = handleBooleanChange(interactive => this.setState({ interactive })); protected renderExample() { - const { removable, ...tagProps } = this.state; - const tags = this.state.tags.map(tag => { + const { removable, tags, ...tagProps } = this.state; + const tagElements = tags.map(tag => { const onRemove = () => this.setState({ tags: this.state.tags.filter(t => t !== tag) }); return ( @@ -47,7 +47,7 @@ export class TagExample extends BaseExample { ); }); - return
{tags}
; + return <>{tagElements}; } protected renderOptions() { diff --git a/packages/docs-app/src/examples/core-examples/textExample.tsx b/packages/docs-app/src/examples/core-examples/textExample.tsx index e886a305da..2b86e3a5b0 100644 --- a/packages/docs-app/src/examples/core-examples/textExample.tsx +++ b/packages/docs-app/src/examples/core-examples/textExample.tsx @@ -25,18 +25,13 @@ export class TextExample extends BaseExample { protected renderExample() { return ( -
+ <> {this.state.textContent}   -