Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[select] feat(Suggest): sync activeItem with selectedItem on popover close #3934

Merged

Conversation

skurger
Copy link
Contributor

@skurger skurger commented Jan 20, 2020

Make setActiveItem public so the parent components can reset the activeItem
when necessary.
When the Suggest Popover is closed and there is a selectedItem the activeItem
should always be set to selectedItem. When the Popover is opened again the
value of the component is reflected correctly.

Fixes #3769

Checklist

  • Includes tests
  • Update documentation

Changes proposed in this pull request:

Make setActiveItem in the QueryList component a public function so that parent components can call it. I saw similar behavior in setQuery already and I believe this is a decent compromise so that parent components (Select, Suggest, any other components that are added to this library in the future) do not have to add the boilerplate of keeping track of the active item since QueryList already does this. It is only in the case of closing a Popover that this "reset" needs to happen.

Reviewers should focus on:

The public / private function change. Also when trying to add a test to this I was having trouble getting the Popover onClosed function to fire. The code works in browser but not during test execution. Here is the code that I would like to add to suggestTests.tsx but I think that I'm missing some configuration that is allowing the child components to fire events. To me it looks like the code should work but I may be missing something obvious.

it("sets active item to the selected item when the popover is closed", () => {
    const ITEM_INDEX = 4;
    const wrapper = suggest();
    const queryList = ((wrapper.instance() as Suggest<IFilm>) as any).queryList; // private ref
    console.log("INITIAL STATE", queryList.state.activeItem, wrapper.state().selectedItem)
    simulateFocus(wrapper);
    assert.isTrue(wrapper.state().isOpen);
    selectItem(wrapper, ITEM_INDEX);
    assert.isFalse(wrapper.state().isOpen);
    simulateFocus(wrapper);
    assert.isTrue(wrapper.state().isOpen);
    simulateKeyDown(wrapper, Keys.ARROW_DOWN);
    console.log("AFTER KEY DOWN", queryList.state.activeItem, wrapper.state().selectedItem)
    console.log("BEFORE BLUR", queryList.state.activeItem, wrapper.state().selectedItem)
    simulateKeyDown(wrapper, Keys.ESCAPE);
    assert.isFalse(wrapper.state().isOpen);
    console.log("AFTER BLUR", queryList.state.activeItem, wrapper.state().selectedItem)
    assert.deepEqual(queryList.state.activeItem, wrapper.state().selectedItem);
});

Also if the test issue is resolved in this PR I'd suggest we also make this change for the Select component so that behavior is consistent throughout the library. I could either include those changes in this commit or open another PR after. Let me know the preferred way.

Screenshot

@adidahiya adidahiya self-assigned this Jan 21, 2020
Copy link
Contributor

@adidahiya adidahiya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, just some small comments

packages/select/src/components/select/suggest.tsx Outdated Show resolved Hide resolved
packages/select/src/components/select/suggest.tsx Outdated Show resolved Hide resolved
packages/select/src/components/select/suggest.tsx Outdated Show resolved Hide resolved
packages/select/src/components/select/suggest.tsx Outdated Show resolved Hide resolved
@adidahiya adidahiya changed the title Make setActiveItem public so the parent components can reset the acti… [select] feat(Suggest): sync activeItem with selectedItem on popover close Feb 4, 2020
@adidahiya
Copy link
Contributor

which part of your new test is failing? you might as well push it in this PR and we can continue to work on it. I agree that we should add this functionality to Select, it can be a separate PR.

…veItem

when necessary.
When the Suggest Popover is closed and there is a selectedItem the activeItem
should always be set to selectedItem.  When the Popover is opened again the
value of the component is reflected correctly.
Rename parameter to reflect DOM element.
@skurger skurger force-pushed the tm/3769-set-active-item-on-menu-open branch from 62838fc to 7a8d0f3 Compare February 4, 2020 22:46
@skurger
Copy link
Contributor Author

skurger commented Feb 4, 2020

Thanks for the feedback. I pushed the changes for the explicit checks. Let me look at the test again and clean it up a little bit. I'll push it up after that. I was trying to simulate the arrow key down when a popover was open so that the active item would change but not the selected item. When the popover was closed the active item should be reset back to the selected item.

@adidahiya
Copy link
Contributor

great, thanks. for future reference, I'd prefer if you push new commits (including merges) to this branch instead of force-pushing. it makes reviewing incremental changes a little easier :)

@skurger
Copy link
Contributor Author

skurger commented Feb 5, 2020

Got it. I was trying to keep my fork in sync with all the new incoming changes. Will keep in mind for next time. I'll add the test tonight if I have time. The actual problem was that the active item wasn't changing on key down when the popover was open in the tests.

@skurger
Copy link
Contributor Author

skurger commented Feb 8, 2020

@adidahiya take a look at the test I just pushed up. If you look at the console output the active item is always the selectedItem. It seems that after simulating the arrow key down the active item doesn't actuallly change. I'm not sure if this is a limitation of the testing framework or if there is something obvious I'm missing here. I want to assert that an item is selected and the component has a value. The popover is then opened again and another item in the query list is set to active (like a user using the arrow keys to navigate the menu) and then the popover is closed without making a selection. When the popover is opened again the active item should equal the selectedItem.

@skurger
Copy link
Contributor Author

skurger commented Feb 18, 2020

Just bumping this thread so that we can try to button up this PR and get it merged. Let me know when you've had a chance to take a look.

@adidahiya
Copy link
Contributor

adidahiya commented Feb 20, 2020

@skurger I changed the behavior to be slightly simpler (and apparently more testable) by syncing the active item in componentDidUpdate. Since Suggest is controlling the Popover isOpen prop, this should be about the same as handling this in Popover onClosed. Can you confirm that your code comment ("...there isn't a flash of the activeItem on screen") is still true after my latest commits?

@skurger
Copy link
Contributor Author

skurger commented Feb 21, 2020

Looks good to me. Ran the code and tests and they look good. The only small thing which I'll leave up to you is that you can see the active item flash to the selected item when the popover is closing since the animation is still running after the active item is set to the selected item.

Good stuff, thanks for the help!

@adidahiya
Copy link
Contributor

sorry for the delay here... I think I fixed the flash of content though. gonna go ahead and merge

@adidahiya adidahiya merged commit 9acbe32 into palantir:develop Feb 26, 2020
crispamares added a commit to graphext/blueprint that referenced this pull request Apr 2, 2020
* [OverflowList] Always re-render items (palantir#3278)

* Allow overriding of heading typography in Sass (palantir#3283)

* [TimezonePicker] Support a custom target via <children> (palantir#3287)

* Export getTimezoneMetadata(), add default value for date parameter

* Support one custom child in <TimezonePicker>

* Update example

* Update tests

* (nit) Rename to CustomTimezonePickerTarget

* Add more docs about possibly ignored props

* Update docs

* Respond to @giladgray CR

* Create CHANGELOG.md

* Suggest query remains when closed if nothing is selected. (palantir#3289)

* Allow shortcuts to change time in Date Range Picker (palantir#3223)

* Allow date range shortcuts to change time

* Address PR comments

* lint

* [Suggest] add `disabled` and `resetOnClose` props (palantir#3292)

* add Suggest resetOnClose prop a la Select

* add Suggest disabled prop

* add resetOnClose switch to example

* docs note

* [QueryList] Initialize activeItem state correctly based on prop. (palantir#3290)

* Initialize QueryList's activeItem state correctly based on prop.

* Fix comment typo

* Code cleanup

* [PanelStack] Allow any prop type for initial panels (palantir#3295)

* [Tooltip] allow HOVER interactions (palantir#3291)

* [Tag] fill & [TagInput] intent props (palantir#3237)

* add Tag fill prop

* add TagInput intent prop

* add tag fill styles & example switch

* docs: Fix link to Popover (palantir#3300)

* Add directory details to packages/*/package.json (palantir#3301)

Specifying the directory as part of the `repository` field in a `package.json`
allows third party tools to provide better support when working with monorepos.
For example, it allows them to correctly construct a commit diff for a specific
package.

This format was accepted by npm in
[npm/rfcs#19](npm/rfcs#19).

* Add directory to repository details in package.json files (palantir#3299)

Specifying the directory as part of the `repository` field in a `package.json`
allows third party tools to provide better support when working with monorepos.
For example, it allows them to correctly construct a commit diff for a specific
package.

This format was accepted by npm in npm/rfcs#19.

* [select] Add optional "itemsEqual" comparator prop to QueryList and related components (palantir#3285)

* Improve QueryList and related components to support optional
equality test implementation for non-primitive item types.

* Revert change to use undefined for representing no selection

* Finish revert change to use undefined for representing no selection

* Remove TODO

* Remove unnecessary param documentation

* Rename "areValuesEqual" prop to "itemsEqual"

* Improve "itemsEqual" prop to also support a property name.

* Documentation typos

* Documentation improvements

* Update copyright year in new file

* Rename new unit test file

* [DRP] Shortcuts support changing time & docs (palantir#3293)

* shortcut shouldChangeTime => includeTime

* revert unnecessary test changes

* add Shortcuts docs to DRP

* Publish

 - @blueprintjs/core@3.12.0
 - @blueprintjs/datetime@3.7.0
 - @blueprintjs/docs-theme@3.0.4
 - @blueprintjs/icons@3.5.1
 - @blueprintjs/karma-build-scripts@0.9.1
 - @blueprintjs/labs@0.16.3
 - @blueprintjs/node-build-scripts@0.8.1
 - @blueprintjs/select@3.6.0
 - @blueprintjs/table@3.4.1
 - @blueprintjs/test-commons@0.8.1
 - @blueprintjs/timezone@3.3.0
 - @blueprintjs/tslint-config@1.7.1
 - @blueprintjs/webpack-build-scripts@0.7.1

* [select] consistency refactors (palantir#3305)

* code consistency across `select` components:

- public state = ... (not inconstructor)
- non-optional refs
- safeInvokeMember to reduce destructuring

* fix tests, explicit null check

* dedupe shortcuts prop types (palantir#3311)

* [NumericInput] allows min === max (palantir#3296)

* NumericInput allows min === max

* add test

* [NumericInput] new rightElement prop (palantir#3314)

* Update select-component.md (palantir#3319)

* Fixing typo (palantir#3318)

Missing "and"

* Added new inbox icons (palantir#3335)

* [docs] click to download sketch files from Resources page (palantir#3334)

* click to download sketch files from Resources page

* lint

* use /raw/ url to download actual file

* rename resource files so they download correctly

* add "Missing fonts?" callout

* minor style polish

* Add internal text to switch component (palantir#3327)

* switch text v0

* font size a bit smaller

* add an example of internal text property

* test

* cleanup

* lint fixes

* review comments

* remove whitespace in tests

* more review comments

* even more review changes

* remove errant property

* restore comment

* update prop docs

* additional tests

* remove unnecessary checks

* [Spinner] SIZE_SMALL = 20 (palantir#3342)

* Spinner.SIZE_SMALL = 20

* fix isotest

* [NumericInput] countDecimalPlaces for number type (palantir#3337)

Fixes palantir#3336

* New Drawer component (palantir#2957)

* add files

* fixed styling

* dark theme added

* Added vertical orientation

* changed viewport units

* Added small and large sizes

* Standardized sizing

* backdrop fixed

* add tests

* small/large => one size prop

* update size constants

* add hasBackdrop switch to example

* use Drawer for API browser

* size prop docs

* fix isotest

* add size+vertical tests, actually run suite

* [DatePicker] fix onChange on month change after initial day selection (palantir#3343)

* fix onChange doesn't fire on month change after initial day selection
Fixes palantir#3340

* change !== to != operator

* add test onChange fired when month is changed for uncontrolled datepicker

* Publish

 - @blueprintjs/core@3.13.0
 - @blueprintjs/datetime@3.7.1
 - @blueprintjs/icons@3.6.0
 - @blueprintjs/select@3.6.1

* Corrected the type of Popover's onInteraction prop (palantir#3348)

* ButtonGroup supports "fill" prop when Buttons are wrapped in Popovers (palantir#3347)

* 🔧 upgrade tslint (palantir#3315)

* Fix shortcuts.tsx react import typings (palantir#3356)

* [Tabs] add panelClassName prop (palantir#3351)

* Fix lint (palantir#3374)

* [Core] Fixed not applying intent color for icon inside tree node (palantir#3355)

* [Core] Add option to make tree node disabled (palantir#3354)

* Drawer default prop warning fix (palantir#3382)

* [Select] Create-able Select components (palantir#3381)

* Upgrade dev dependencies and types (palantir#3370)

* Publish

 - @blueprintjs/core@3.14.0
 - @blueprintjs/docs-app@3.14.0
 - @blueprintjs/select@3.7.0

* [Core] Overlay: fix transitionDuration documentation (palantir#3391)

* [Core] Fix react types regression (palantir#3390)

* Publish

 - @blueprintjs/core@3.14.1
 - @blueprintjs/docs-app@3.14.1

* Publish

 - @blueprintjs/datetime@3.7.2

* [Core] Checkbox: fix indeterminate state update (palantir#3409)

Fixes palantir#3408

* Minor README updates

* [Core] Docs: fix small typo (palantir#3411)

"accomodate" to "accommodate"

* [Docs] Overlay Example: add option to test scrolling behavior (palantir#3406)

* Update Bug_report.md

* [datetime] docs: fix react-day-picker API hyperlink (palantir#3435)

* [core] TagInput: use undefined instead of null to hide clearButton (palantir#3436)

* [Select] hide QueryList item list when menuContent and createItemView are both null (palantir#3426)

* [MultiSelect] Enable pasting of multiple values (same as TagInput) (palantir#3428)

* [Core] Add z-index to panel stack header (palantir#3414)

* [Core] Add option to grow text area with input (palantir#3398)

* [Core] TextArea: fix style object regression (palantir#3440)

* [Core] Add position prop to Drawer component, deprecate vertical prop (palantir#3386)

* [Table] Fix resizable props documentation (palantir#3400)

* Switch to standard Apache-2.0 license (palantir#3457)

* [table] Fix documentation to use the right css file name (palantir#3452)

* Prepare release v3.15.0 (palantir#3458)

* Publish

 - @blueprintjs/core@3.15.0
 - @blueprintjs/datetime@3.8.0
 - @blueprintjs/docs-app@3.15.0
 - @blueprintjs/docs-theme@3.1.0
 - @blueprintjs/icons@3.7.0
 - @blueprintjs/karma-build-scripts@0.10.0
 - @blueprintjs/node-build-scripts@0.9.0
 - @blueprintjs/select@3.8.0
 - @blueprintjs/table@3.5.0
 - @blueprintjs/test-commons@0.9.0
 - @blueprintjs/timezone@3.4.0
 - @blueprintjs/tslint-config@1.8.0
 - @blueprintjs/webpack-build-scripts@0.8.0

* [Core] File input text styling for active selections (palantir#3375)

* [Icons] Added new inheritance icon (palantir#3451)

* Added new inheritance icon

* Updated content per CR

* Update font files

* Fix typo in bug report template

* [datetime] Fix DateInput IE11 bug when changing month/day (palantir#3471)

* Upgrade react-day-picker, fix caption months support, regen lockfile (palantir#3461)

* Publish

 - @blueprintjs/core@3.15.1
 - @blueprintjs/datetime@3.9.0
 - @blueprintjs/docs-app@3.15.1
 - @blueprintjs/icons@3.8.0

* [core] Fix NumericInput documentation of initial state value (palantir#3484)

* Upgrade documentalist, refactor CI config (palantir#3482)

* Publish

 - @blueprintjs/docs-app@3.15.2
 - @blueprintjs/docs-theme@3.2.0

* [docs] Fix accidental markdown strikethrough (palantir#3493)

- Incorrectly showed up as strikethrough text on https://blueprintjs.com/docs/#core/components/popover

* [datetime] [bugfix] Hover over date no longer clears time input (palantir#3502)

* [datetime] [bugfix] render the correct month when DRP singleMonthOnly is enabled (palantir#3504)

* [Icons] Added new UI icons (palantir#3510)

* [Select] Change activeItem when items change (palantir#3496)

* [datetime] Fix DRP inconsistency with single day ranges and time precision enabled (palantir#3557)

* Prepare datetime, icons, select release (palantir#3565)

* Publish

 - @blueprintjs/datetime@3.9.1
 - @blueprintjs/icons@3.9.0
 - @blueprintjs/select@3.8.1

* [docs-app] fix scrolling of interface definition drawer (palantir#3576)

* [core] Improve dark muted and disabled text contrast (palantir#3584)

* Fix docs rendering of mixed HTML / markdown content (palantir#3585)

* [dependencies] Bump js-yaml, cssnano, svgo

* [core] Fix number of clicks required to use HTMLSelect inside ControlGroup in Firefox (palantir#3568)

* [table] add editableTextProps to allow adjusting cells during editing (palantir#3350)

* [core] fix TagInput tags overflowing their container (palantir#3591)

* [core] Fix intent color for Icons inside Tree component in dark mode (palantir#3598)

* [core] Allow hiding panel stack header (palantir#3600)

* Update abstract button props to match react's. (palantir#3608)

React recently updated the typings for HTML button from 'string'
to a more limited union. See:
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react/index.d.ts#L1848
for the current types.

* [core] docs: use Pre component in Collapse example (palantir#3610)

* [core] Add controlled mode to PanelStack (palantir#3601)

* [datetime] feat(DateRangeInput): add support for disabling start or end input (palantir#3607)

* [table] feat(RowHeaderCell): Add support for nameRenderer (palantir#3447)

* Publish

 - @blueprintjs/core@3.16.0
 - @blueprintjs/datetime@3.10.0
 - @blueprintjs/docs-app@3.16.0
 - @blueprintjs/table@3.6.0

* Upgrade testing infrastructure (palantir#3615)

* Publish

 - @blueprintjs/core@3.16.1
 - @blueprintjs/karma-build-scripts@0.11.0
 - @blueprintjs/node-build-scripts@0.10.0

* Fix up inter-package dependencies

* Publish

 - @blueprintjs/core@3.16.2

* [tslint-config] Fix suggestion for <table> element replacement (palantir#3624)

* [datetime] Fix typing values into TimePicker's fields (palantir#3613)

* [docs-app] Fix minor bug in upload toast example (palantir#3626)

* [core] docs: add caveat about tooltip target element (palantir#3620)

* [select] bugfix(Select): fix keyboard navigation when all items disabled (palantir#3627)

* [select] fix: do not call itemRenderer when Select is disabled (palantir#3629)

* [core] fix(Toast): long words in toast messages no longer break container layout (palantir#3634)

* Various documentation fixes (palantir#3635)

* [core] fix(Switch): tweak dark theme hover/active colors (palantir#3637)

Fixes palantir#3599

* Split karma testing into more CI containers (palantir#3638)

* [core, select] feat: add fill prop to Popover, InputGroup, Suggest, MultiSelect (palantir#3636)

* Publish

 - @blueprintjs/core@3.17.0
 - @blueprintjs/datetime@3.10.1
 - @blueprintjs/docs-app@3.17.0
 - @blueprintjs/select@3.9.0
 - @blueprintjs/tslint-config@1.8.1

* [ci] fix: persist lib files when building dist

* Publish

 - @blueprintjs/core@3.17.1

* [datetime] feat(DatePicker): add option to highlight current day (palantir#3628)

* Publish

 - @blueprintjs/datetime@3.11.0
 - @blueprintjs/icons@3.9.1

* [core] feat(FileInput): add buttonText prop (palantir#3560)

* [core] fix(HotkeysTarget): invoke user-defined key event handlers correctly (palantir#3645)

* [core] fix(TextArea): grow box vertically to show initial content (palantir#3647)

* [table] fix EditableCell update cycle, improve EditableName docs (palantir#3649)

* [datetime] fix(DateRangeInput): maintain focus on time inputs during key interactions (palantir#3644)

* fix: restrict tslib dependency to minor version range

* chore: upgrade non-react typings

* [docs-app] feat(DateRangeInputExample): time picker toggle

* chore: upgrade to typescript 3.2 (palantir#3653)

* chore: upgrade to typescript 3.5.3 (palantir#3654)

* chore: upgrade documentalist (palantir#3656)

* [datetime] fix(DRI): do not close on selection when time inputs receive key presses (palantir#3658)

* [core] fix(EditableText): support selectAllOnFocus with type=number in latest React (palantir#3672)

* fix: correctly declare react peer deps in package.json (palantir#3676)

* [core] fix(Popover): only apply active class to target in uncontrolled mode (palantir#3677)

* [docs-app] create "Design Principles" section, mention CSS API contract (palantir#3678)

* chore: upgrade dependencies, delete labs package (palantir#3679)

* Publish

 - @blueprintjs/core@3.18.0
 - @blueprintjs/datetime@3.12.0
 - @blueprintjs/docs-app@3.18.0
 - @blueprintjs/docs-data@3.16.0
 - @blueprintjs/docs-theme@3.3.0
 - @blueprintjs/icons@3.10.0
 - @blueprintjs/karma-build-scripts@0.12.0
 - @blueprintjs/landing-app@3.16.0
 - @blueprintjs/node-build-scripts@0.11.0
 - @blueprintjs/select@3.10.0
 - @blueprintjs/table-dev-app@3.1.0
 - @blueprintjs/table@3.7.0
 - @blueprintjs/test-commons@0.10.0
 - test-react15@1.1.1
 - @blueprintjs/timezone@3.5.0
 - @blueprintjs/tslint-config@1.9.0
 - @blueprintjs/webpack-build-scripts@0.9.0

* chore: minor adjustment to vscode settings

* [core] fix(Drawer): use Sass variable $drawer-padding (palantir#3689)

Correcting use of $dialog-padding to $drawer-padding

* [core] feat: support create-react-app environment variable (palantir#3691)

Allows create-react-app users to set a custom blueprint namespace more easily.

* [table] fix(EditableCell): support tabIndex prop correctly (palantir#3687)

* [core] docs(Popover) fix import statements (palantir#3708)

* chore: Update Lerna URL in Readme (palantir#3715)

* [core] fix(Popover): click on target no longer affects hover behavior (palantir#3716)

* [core] fix(AnchorButton): left text alignment (palantir#3713)

* [datetime] feat(DateRangePicker): add active menu styles to shortcuts (palantir#3688)

* [datetime] fix: upgrade react-day-picker, clean up type imports (palantir#3725)

* [core] docs: add missing closing angle bracket (palantir#3714)

* chore: update code sandbox to latest package versions

* [core] fix(MenuItem): avoid React warning for unknown attr labelClassName (palantir#3730)

* Publish

 - @blueprintjs/core@3.18.1
 - @blueprintjs/datetime@3.13.0
 - @blueprintjs/docs-app@3.18.1
 - @blueprintjs/table@3.7.1

* [core] docs(Toaster): fix position prop comment (palantir#3657)

* [icons] feat: add learning, new layer(s), stopwatch icons (palantir#3745)

* [core] fix(MultiSlider): fix rendering bug with track fill (palantir#3733)

* Refactor to use React 16.3+ lifecycle methods (palantir#3702)

* [datetime] fix(TimePicker): allow more natural text entry (palantir#3762)

* [select] fix(Suggest): Default autoComplete for text input to "off" (palantir#3724)

* [core] feat(Tab): spread HTML props to rendered div (palantir#3766)

* Publish

 - @blueprintjs/core@3.19.0
 - @blueprintjs/datetime@3.14.0
 - @blueprintjs/docs-app@3.19.0
 - @blueprintjs/docs-theme@3.4.0
 - @blueprintjs/icons@3.11.0
 - @blueprintjs/select@3.11.0
 - @blueprintjs/table@3.8.0
 - @blueprintjs/timezone@3.6.0

* fix: lifecycle methods in MultiSlider, Resizable, and TableBodyCell (palantir#3771)

* Publish

 - @blueprintjs/core@3.19.1
 - @blueprintjs/table@3.8.1

* [select] fix(QueryList): re-render when controlled items change (palantir#3776)

* Publish

 - @blueprintjs/select@3.11.1

* [core] fix(Toast): fix bottom toast animation (palantir#3784)

* [core] feat(Breadcrumb): render icon if provided through props (palantir#3786)

* [core] fix(NumericInput): correct styles when placed inside label (palantir#3809)

* [core] fix(PanelStack): do not trigger unintended animations (palantir#3787)

* [core] docs: fix spelling of "dropdown" (palantir#3806)

* chore: use latest tree-sitter-typescript from github (palantir#3812)

* [core] fix(TagInput): prevent infinite setState in componentDidUpdate (palantir#3811)

* chore: remove commented code

* [core] fix(InputGroup): prevent infinite setState in componentDidUpdate (palantir#3813)

* [icons] feat: new icons (palantir#3816)

- New drawing
- Data lineage
- Archive
- Unarchive
- Signal search

* [core] feat(Toaster): ability to set max number of active toasts (palantir#3770)

* [datetime] feat: export IDateRangeInputProps (palantir#3821)

* [core] fix(NumericInput): do not trigger onValueChange if value is changed via props (palantir#3814)

* [datetime] feat(DateInput): add fill prop (palantir#3777)

* [datetime] feat: add shortcuts to single date picker (palantir#3818)

* [table] fix: cell copy to clipboard works in IE11 (palantir#3764)

* [core] fix(Collapse): simplify lifecycle, fix animation bugs (palantir#3831)

* [select] fix(MultiSelect): better handling of key events in Tag… (palantir#3836)

* [core] fix(Switch): indicator background colors (palantir#3828)

* Publish

 - @blueprintjs/core@3.20.0
 - @blueprintjs/datetime@3.15.0
 - @blueprintjs/docs-app@3.20.0
 - @blueprintjs/icons@3.12.0
 - @blueprintjs/select@3.11.2
 - @blueprintjs/table@3.8.2
 - @blueprintjs/test-commons@0.10.1

* [datetime] fix(Shortcuts): make shortcuts container focusable (palantir#3843)

* Publish

 - @blueprintjs/datetime@3.15.1

* [core] feat(EditableText): add alwaysRenderInput experimental feature (palantir#3841)

* [core] feat(Drawer): add Sass variables for background color (palantir#3857)

* chore: update dev env prerequisites

* [core] fix(TagInput): add intent styling when component is active (palantir#3855)

* Publish

 - @blueprintjs/core@3.21.0
 - @blueprintjs/docs-app@3.21.0

* [core] fix: Explicitly declare dom4 side effects (palantir#3867)

* [core] chore: isolate dom4 import to its own module (palantir#3868)

* [core] feat: high contrast CSS with color adjustments to pass WCAG requirements (palantir#3862)

* Publish

 - @blueprintjs/core@3.22.0
 - @blueprintjs/docs-app@3.22.0

* Fix PanelStack (palantir#3879)

Approving since only test failures are unrelated

* Fix DatePicker unit test (palantir#3880)

DatePicker unit tests started failing in December because
it relied on being able to press "next month". This change
sets the initial month to January.

* add tractor, truck, bring in data icons (palantir#3878)

* Release core 3.22.1

* Fix 3882 (palantir#3886)

Add gated input.focus to reinstate previous behavior

* Update react-popper to include important bugfix (palantir#3885)

* Update react-popper to include the fix from floating-ui/react-popper#320

* Update popper to 1.3.7

* Dedupe

* Yarn fix

* Yarny yarn

* Yo yo yarn

* Publish
- @blueprintjs/core@3.22.2
- @blueprintjs/docs-app@3.22.2

* Include index.js files in sideEffects list (palantir#3876)

* Include index files in sideEffects list

* Remove unnecessary index.js sideEffects

* Publish
- @blueprintjs/core@3.22.3
- @blueprintjs/docs-app@3.22.3

* [timezone] fix: upgrade moment-timezone to fix Brazilian timezones (palantir#3873)

* Publish

 - @blueprintjs/icons@3.13.0
 - @blueprintjs/timezone@3.6.1

* [core] fix(Toast): bottom toasts exit in the correct direction (palantir#3911)

Fixes palantir#3791

* [docs-app] fix(FormGroupExample): label ids (palantir#3892)

* [core] fix(NumericInput): correct rounding of default value (palantir#3894)

Fixes palantir#3889

* [docs-app] fix: CSS wrapping of main title in sidebar (palantir#3896)

* [core] fix(Toast): bottom shadow is no longer clipped (palantir#3912)

* [datetime] chore: fix tests which used year 2020 (palantir#3916)

* chore: use ESLint to run TSlint (palantir#3887)

* [core] feat: add intent prop to Slider and RangeSlider (palantir#3913)

* [table] fix: invalidate grid before rendering table when dimensions change (palantir#3888)

* chore: upgrade dependencies (palantir#3920)

* [core] docs: update link to popper.js modifiers reference (palantir#3922)

* [core] docs(Popover): fix text referencing "dismiss" buttons in example (palantir#3923)

* [core] fix(EditableText): allow setting value to null in controlled mode (palantir#3924)

* Publish

 - @blueprintjs/core@3.23.0
 - @blueprintjs/datetime@3.15.2
 - @blueprintjs/eslint-config@0.1.0

* [core] fix(Overlay): avoid rare crash in focus handling logic (palantir#3936)

* [resources] update sketch palette with named colors instead of hex (palantir#3931)

* chore: convert custom tslint rules to eslint (palantir#3917)

* [eslint-plugin-blueprint] fix(icon-components): autofix (palantir#3938)

also run this package's tests in CI properly

* [table] fix: column resize calculation on header double click (palantir#3732)

* [core] fix(Collapse): closing animation (palantir#3929)

* Prepare release (palantir#3939)

* Publish

 - @blueprintjs/core@3.23.1
 - @blueprintjs/docs-app@3.23.0
 - @blueprintjs/eslint-config@0.2.0
 - @blueprintjs/eslint-plugin-blueprint@0.1.0
 - @blueprintjs/node-build-scripts@1.0.0
 - @blueprintjs/table@3.8.3
 - @blueprintjs/tslint-config@2.0.0

* fix: eslint-config package reference, improve es-lint build script (palantir#3940)

* Publish

 - @blueprintjs/eslint-config@0.2.1
 - @blueprintjs/node-build-scripts@1.1.0

* chore: update README with new ESLint packages

* [core] feat(PanelStack): add renderCurrentPanelOnly prop (palantir#3768)

* [core] fix(PanelStack): rename prop and other fixes (palantir#3950)

* [core] feat(Button): add "outlined" modifier (palantir#3947)

* chore: upgrade to typescript 3.7 (palantir#3953)

* [core] remove non-HTML attributes in overflow menu items (palantir#3956)

* [icons] feat: add diagnosis and lab test icons (palantir#3966)

* [core] fix(HtmlSelect): text color for disabled options in dark mode (palantir#3968)

* [core] docs(Alert): clarify that intent applies to icon too (palantir#3978)

* [core] fix(InputGroup): right element padding adjusting on update (palantir#3973)

* [select] feat(Suggest): sync activeItem with selectedItem on popover close (palantir#3934)

* Publish

 - @blueprintjs/core@3.24.0
 - @blueprintjs/docs-app@3.24.0
 - @blueprintjs/icons@3.14.0
 - @blueprintjs/select@3.12.0

* [datetime] fix(DateRange): values are possibly null, not undefi… (palantir#3983)

fixes palantir#3970

* [core] feat(NumericInput): supply input element to onValueChange (palantir#3982)

* [core] feat(NumericInput): supply input element in onValueChange callback

* small refactor, use optional chaining to invoke callback

* fix lint

* fix more tests

* fix lint, remove describe.only

* [eslint-config] docs: add README (palantir#3985)

* [docs-app] feat(BreadcrumbsExample): render current as input (palantir#3986)

* [core] feat(TagInput): handle delete to remove items (palantir#3993)

Allows users to press `DELETE` on their keyboards to delete
an item from `<TagInput />`, which in turn is used by the
`Select` family of components.

Handling `DELETE` to remove item mimics the way `DELETE` works
in a text editor, where an user can delete from the beginning
of the line forward. Reaching the end of the line, in our
case passing the last selected item in `<TagInput />` will stop
deleting. Moving the selection to the first item and deleting
from that point onwards repeatedly will delete all the selected
items.

* [core] fix(Button): remove invalid HTML attr (palantir#3998)

update INVALID_PROPS list used by removeNonHTMLProps() utility fn

* [datetime] docs: improved localization code example (palantir#4003)

* chore(deps): bump acorn from 5.7.3 to 5.7.4 (palantir#4011)

Bumps [acorn](https://github.com/acornjs/acorn) from 5.7.3 to 5.7.4.
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](acornjs/acorn@5.7.3...5.7.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [datetime] feat(DatePicker): add support for dayPickerProps.renderDay (palantir#4012)

* docs(README): update code sandbox link

Co-authored-by: Sebastian Brückner <mail@invlid.com>
Co-authored-by: Ed Hinchliffe <ed@pixelnebula.com>
Co-authored-by: Chris Lewis <cmslewis@gmail.com>
Co-authored-by: Gilad Gray <ggray@palantir.com>
Co-authored-by: Gilad Gray <giladgray@gmail.com>
Co-authored-by: yixunx <yixunx@gmail.com>
Co-authored-by: Jeff Lau <jlau@uselesspickles.com>
Co-authored-by: Gianfrancø Palumbo <gianpaj@users.noreply.github.com>
Co-authored-by: Philip Harrison <philip@mailharrison.com>
Co-authored-by: Grey Baker <greysteil@gmail.com>
Co-authored-by: Mark Sinapilo <markdhel@users.noreply.github.com>
Co-authored-by: mohanaravind <mohanaravind@gmail.com>
Co-authored-by: Piotr Adam Kwiatkowski <contact@piotrkwiatkowski.co.uk>
Co-authored-by: Leah Anderson <leah.a.anderson@gmail.com>
Co-authored-by: Isabel Muñoz <teanocrata@gmail.com>
Co-authored-by: Endi Modric <endi.modric@outlook.com>
Co-authored-by: MGHawes <hawes.info@gmail.com>
Co-authored-by: Marvin Sum <831708+marvinsum@users.noreply.github.com>
Co-authored-by: Phil Chen <c.phillip91@gmail.com>
Co-authored-by: Yury Shevchenko <n1313@users.noreply.github.com>
Co-authored-by: Shuyang Li <shuyang.li.95@gmail.com>
Co-authored-by: Jacek Jagiełło <jacekjagiello47@gmail.com>
Co-authored-by: Acko <spasic.acko.95@gmail.com>
Co-authored-by: Adi Dahiya <adi.dahiya14@gmail.com>
Co-authored-by: Adi Dahiya <adahiya@palantir.com>
Co-authored-by: Gabe Boning <gboning@gmail.com>
Co-authored-by: Stephen Kennedy <stephenjameskennedy@gmail.com>
Co-authored-by: jamison judge <jj@jamisonjudge.com>
Co-authored-by: wangxiaolei <fatelei@gmail.com>
Co-authored-by: Matt Conway <mattconway55@gmail.com>
Co-authored-by: Thomas Rich <tnrich@teselagen.com>
Co-authored-by: Paul Okuda <paulyokuda@gmail.com>
Co-authored-by: jroitgrund <jroitgrund@gmail.com>
Co-authored-by: Nick Zelei <nickzelei@gmail.com>
Co-authored-by: peachfuzz <32380679+peachfuzz@users.noreply.github.com>
Co-authored-by: Christopher Yu <cyu06@hotmail.com>
Co-authored-by: Gertjan van Oosten <gertjan@west.nl>
Co-authored-by: Bala <bala_krishna@outlook.com>
Co-authored-by: James Greenleaf <james@greenle.af>
Co-authored-by: David <david.lobosco@uprightlabs.com>
Co-authored-by: Rhys Brett-Bowen <rhysbrettbowen@gmail.com>
Co-authored-by: Chris Lott <chrisnlott@gmail.com>
Co-authored-by: alecf <alecf@flett.org>
Co-authored-by: n1xx1 <simo.sc22@gmail.com>
Co-authored-by: Sebastian Brückner <sbrueckner@palantir.com>
Co-authored-by: Mac Lockard <mlockard@palantir.com>
Co-authored-by: ericjeney <me@ericjeney.com>
Co-authored-by: Shovon Hasan <im.shovonhasan@gmail.com>
Co-authored-by: Tanmoy Bhowmik <tanmoy.openroot@gmail.com>
Co-authored-by: Benjamin Lee <leebyp@gmail.com>
Co-authored-by: Veda <pal.veda.deepta@gmail.com>
Co-authored-by: Jeremy Paterson <jaydpaterson@gmail.com>
Co-authored-by: Mihail Novikov <thepocp@gmail.com>
Co-authored-by: 李逸飛 <45546645+li-yifei@users.noreply.github.com>
Co-authored-by: Vadzim <v@vadzim.info>
Co-authored-by: Nathan Hinish <nathan.hinish@gmail.com>
Co-authored-by: doanguyen <dungnv2410@gmail.com>
Co-authored-by: Daniel Saewitz <switz213@gmail.com>
Co-authored-by: Garrett B <garrettgsb@gmail.com>
Co-authored-by: Thibault V <8404502+thibaultvanluchene@users.noreply.github.com>
Co-authored-by: Darren Zhao <darryqueen@berkeley.edu>
Co-authored-by: Adam Storr <155064+adamstorr@users.noreply.github.com>
Co-authored-by: Lei Ferretti <lei.ferretti@oaknorth.ai>
Co-authored-by: Tobias Lengsholz <tobias.lengsholz@invision.de>
Co-authored-by: trevor <tmehard@gmail.com>
Co-authored-by: Pep Rodeja <pep@rodeja.me>
Co-authored-by: Caleb Angelino <belac9615@users.noreply.github.com>
Co-authored-by: Adam Storr <adamstorr@gmail.com>
Co-authored-by: jamesgiu <james.giuffrida@gmail.com>
Co-authored-by: Max Bucknell <me@maxbucknell.com>
Co-authored-by: Jonathan Christopher <nathanchrs@users.noreply.github.com>
Co-authored-by: Ryan Hermstein <rlhermstein@yahoo.com>
Co-authored-by: Chu-Ya Chia <chuyachia@gmail.com>
Co-authored-by: Bill Dwyer <bdwyer@palantir.com>
Co-authored-by: Miklós András Danka <danka.miklos@gmail.com>
Co-authored-by: Stephanie Yu <stephaniey@palantir.com>
Co-authored-by: Meike <meike@grewing.eu>
Co-authored-by: J Paterson <contact@jpatersondev.com>
Co-authored-by: Denis Sokolov <denis@sokolov.cc>
Co-authored-by: Igor Lysak <igorlysak@agilestacks.com>
Co-authored-by: John Wiseheart <johnwiseheart@gmail.com>
Co-authored-by: Boaz Rymland <boazrymland@users.noreply.github.com>
Co-authored-by: Johnny Goodnow <jgoodnow@fastmail.com>
Co-authored-by: David Esteves <estevesd@users.noreply.github.com>
Co-authored-by: John Wiseheart <jwiseheart@palantir.com>
Co-authored-by: Valentine Nuikin <zwerg44@gmail.com>
Co-authored-by: Radosław Miernik <radekmie@gmail.com>
Co-authored-by: Charles Perinet <charles.perinet@gmail.com>
Co-authored-by: Spencer Sutton <spencersutton@users.noreply.github.com>
Co-authored-by: Rootul Patel <rootulp@gmail.com>
Co-authored-by: lexistein <61256233+lexistein@users.noreply.github.com>
Co-authored-by: Trevor Mehard <trevor.mehard@crunchydata.com>
Co-authored-by: Leon Coto <grancalavera@users.noreply.github.com>
Co-authored-by: Lumyo <thib.bouillon@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Malik Bagwala <m.bagwala@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make activeItem on <Popover> open match selectedItem in <Suggest> if selectedItem is defined
2 participants