-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Ability to set max number of active toasts #3770
Conversation
Thanks for your interest in palantir/blueprint, @jamesgiu! Before we can accept your pull request, you need to sign our contributor license agreement - just visit https://cla.palantir.com/ and follow the instructions. Once you sign, I'll automatically update this pull request. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems like a reasonable request.
@@ -101,6 +109,7 @@ export class Toaster extends AbstractPureComponent2<IToasterProps, IToasterState | |||
public static defaultProps: IToasterProps = { | |||
autoFocus: false, | |||
canEscapeKeyClear: true, | |||
maxToasts: 5, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is technically a breaking change in behavior. I think you should not set a default, and if maxToasts === undefined
, then do not enforce a limit.
@@ -133,6 +142,12 @@ export class Toaster extends AbstractPureComponent2<IToasterProps, IToasterState | |||
private toastId = 0; | |||
|
|||
public show(props: IToastProps, key?: string) { | |||
// show no toasts if max toasts is less than 1. | |||
if (this.props.maxToasts < 1) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this validation should happen in validateProps
(invoked via the super class AbstractPureComponent2
). if props.maxToasts < 1
I think you should fail loudly and throw a validation error (some other components do this).
…il loudly and updated tests
…jg/set-max-toasts
…o jg/set-max-toasts
Thanks for your review @adidahiya! |
thanks for the PR @jamesgiu! |
* [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>
I've used BlueprintJS for work projects and this little idea has been mentioned a few times at work so I thought I'd see what you guys think. Also doubles as a Hacktoberfest contribution!
Checklist
Changes proposed in this pull request:
Ability to set a maximum number of active toasts being displayed at once. Any new toast effectively 'pushes out' the oldest one.
Reviewers should focus on:
Is 5 a suitable default limit? Or should default be no limit (as it is right now in BlueprintJS)?
Does it make sense for a user to specify '0' as an argument? I've covered for the use case, just in case
Screenshot