17.0.1 (2024-08-28)
Hopefully fixes that one datepicker bug with weekday labels.
Also replacing NgZone.onStable()
with afterRender()/afterNextRender()
internally and using esbuild with zoneless CD for the demo site.
- datepicker: generate weekday labels in correct order (04010d6)
- datepicker: config not inherited from datepicker-input (db14075), closes #3848
- datepicker: global config not applied (18919c9), closes #4697
17.0.0 (2024-06-13)
This release bumps minimum required versions to Angular 18.0.0
.
We do not officially support provideExperimentalZonelessChangeDetection()
yet, it will come in a future minor release. Please remember this an experimental API, follow #4709 and open new issues if you find any problems.
Signal support will come later, most likely in the next major release.
- datepicker: track weekdays by $index (#4712) (ca1028d)
- datepicker: track weekdays by index to avoid clashes (7c693d6)
- datepicker: type of ngAcceptInputType_weekdays (5ad11bb)
- pagination: track page by index since -1 can be there twice (1d190a8)
- timepicker: get period from angular formatDate (56b0368)
- typeahead track by index in NgbHighlight (#4707) (2085265), closes #4705
- typeahead: track results by index in NgbTypeahead (#4711) (fa8aba9), closes #4702
16.0.0 (2023-11-22)
This release bumps minimum required versions to Angular 17.0.0
and Bootstrap 5.3.2
.
Main features:
- dark mode support for all components and demo site.
- new stacked progressbar markup in Bootstrap
5.3
allowed us to do the long-standing stacked progressbar feature request. - Ethiopian calendar for datepicker.
- old component-based accordion implementation is removed (it was deprecated in
14.1.0
in favor of directive-based implementation). - we're using new control flow syntax internally and for all demos.
Please make sure to check the BREAKING CHANGES
section below.
- use
setInput
where possible for dynamic components (f29a7b5) - datepicker: fix day hover color in dark mode (519bbc3)
- dropdown: add
show
class to dropdown toggle when dropdown is open (#4532) (6bf2ab0), closes #4531 - nav:
NgbNavLinkBase
matches multiple times (02ab48b), closes #4594 - schematics: use
getMainFilePath()
to get main project file (acd635a) - tooltip: add offset to align with Bootstrap 5.3 (6fd04af), closes #4574
- datepicker:
startDate
type should accept dates with days (#4618) (81ec20a), closes #4616 - accordion: allow querying body template (#4625) (472d842), closes #4623
- dropdown: allow setting custom tabindex on items (#4626) (3d9f052), closes #4592
- nav: correct focus handing with keyboard (184b6bd)
- bootstrap 5.3 and dark mode (99c2162), closes #4450
- add axe a11y tests of the demo site (#4588) (b573a2b)
- progressbar: add stacked progressbar (#4621) (1982133)
- datepicker: add ethiopian date picker (bf02fb0), closes #4499
- migrate to the new control flow syntax (6c3570b)
- accordion: remove
type
from configuration (ed7732a) - accordion: remove component-based version (7aab9e3)
- dropdown: remove deprecated
NgbNavbar
directive (c2c8061)
- minimum required versions are now Angular
17.0.0
, Bootstrap5.3.2
and Popper2.11.8
- accordion: removed component-based accordion. It was deprecated in
14.1.0
- accordion: removed
type
property from theNgbAccordionConfig
. It was deprecated in14.1.0
. - we use
inject
function internally more than before, so constructor signatures have changed for all components. If you extend our components (and you really shouldn't do it), you might need to update your code. - nav:
NgbNavbar
directive is removed, as it is no longer required. It was deprecated in14.2.0
. - nav: default value for the
@Input() keyboard: boolean | 'changeWithArrows'
was changed fromfalse
totrue
, meaning that all navs are now keyboard accessible by default and focus between navs moves with arrow keys. Focusing behavior follows the WAI-ARIA tab recommendation as well as Bootstrap's nav implementation. To turn off keyboard support setkeyboard
tofalse
either on the individualNgbNav
or viaNgbNavConfig
15.1.2 (2023-10-24)
This release aligns tooltip closing behavior with Bootstrap (both desktop and mobile), fixes a long-standing bug with tooltip opening issues.
While we don't consider it a breaking change, some complex existing tooltips might behave differently.
- accordion: initialize
destroyOnHide
from configuration (a8b39be) - rating: generate correct
aria-readonly/disabled
attributes (#4586) (f99bc96) - tooltip: align closing behavior with Bootstrap (55f45fd), closes #3889
- tooltip: fixed closing on hover from arrow direction (4417ee6), closes #3997
- tooltip: remove padding for non-standard placements (c7c0978), closes #4369
15.1.1 (2023-08-07)
- accordion: override
destroyOnHide
correctly (#4545) (e0f15c6), closes #4541 - dropdown: fix arrow navigation inside shadow dom (#4548) (995d22d), closes #4540
- scrollspy: change active to '' (empty) after explicit stop (cec803d)
- scrollspy: recompute active when unobserving fragments (4dac691)
15.1.0 (2023-07-06)
This release introduces Scrollspy service and directives.
- accordion: add 'show' and 'hide' events (#4537) (005290e), closes #4528
- popover/tooltip: allow specifying context via template (#4512) (56779ae)
- scrollspy: add scrollspy service and directives (a16430f), closes #5
15.0.1 (2023-06-06)
- dropdown: set
display
when inside a navbar and guarded byngIf
(#4521) (05eafb2), closes #4520 - revert some inputs to optional (#4519) (decfe41), closes #4516 #4518
- schematics: don't use deprecated
--name
option (be75dcc) - schematics: support apps created with
--standalone
flag (7f5f7b6), closes #4511
15.0.0 (2023-05-25)
This release bumps minimum supported version of Angular to 16.0.0
.
No new features are introduced since 14.x
, apart from some inputs becoming required.
- datepicker: Might be breaking, if datepicker arrows are customized. Datepicker navigation arrow markup.
BEFORE:
<div class="ngb-dp-arrow"> <!-- left -->
<div class="ngb-dp-arrow right"> <!-- right -->
AFTER:
<div class="ngb-dp-arrow ngb-dp-arrow-prev"> <!-- prev -->
<div class="ngb-dp-arrow ngb-dp-arrow-next"> <!-- next -->
14.2.0 (2023-05-23)
- accordion: don't fail when calling
toggle()
too early (#4506) (08585a3), closes #4505 - accordion: use a directive for
NgbAccordionBody
(#4507) (aedbab9), closes #4502
- datepicker: add 'contentTemplate' to input datepicker (2bfc212), closes #4497
- datepicker: allow accessing i18n from the instance (0864688)
- dropdown: replace
NgbNavbar
usage by DOM call toclosest()
(#4471) (c524384), closes #4462 - modal: allow update options of opened modal (e945442), closes #4281 #4396 #4446
- typeahead: add
selectOnExact
option (4eb6cc7), closes #4371
14.1.1 (2023-05-02)
- accordion: fix inconsistent
closeOthers
behavior (#4490) (77f667d) - pagination: remove
.visually-hidden
spans (#4492) (c819b6c), closes #3870 - popover: avoid moving sibling elements on open (0c45ae8), closes #4494
- tooltip: avoid moving sibling elements on open (65c1db9), closes #4494
14.1.0 (2023-04-03)
This release improves navs accessibility and introduces a new accordion implementation based on directives. The new implementation is more flexible and allows for easier customization. Old accordion implementation is still available, but deprecated and will be removed in one of the future major releases.
See the documentation for more details.
- accordion: fix
OnPush
change detection strategy behavior (#4480) (d39d508) - nav: add 'presentation' role to nav items (e88c5c5), closes #4398
- accordion: export
NgbAccordionItem
directive to the template (#4479) (c0c6358) - accordion: add
NgbAccordionButton
directive (f1eefe0) - accordion: new accordion implemented with directives (#4437) (fd56d0e)
- nav: allow using
NgbNavLink
on a button element (7db38b8) - rating: allow customizing
aria-textvalue
(#4453) (064fef3)
14.0.1 (2023-01-09)
Fixes a DI issue with modal dependencies in lazy-loaded modules introduced in 14.0.0
.
- modal: provide
NgbModal
at the correct level (#4464) (8ac01c2), closes #4447 - positioning: use
inject
forNgbRTL
dependency (7f2146d), closes #4403 - progressbar: add aria attributes in parent and
text-bg-color
class when notextType
(#4461) (54bf804) - schematics: correct
'bootstrap/scss/bootstrap'
imports (#4465) (56b166b), closes #4463
14.0.0 (2022-12-07)
This release bumps minimum supported versions to Angular 15.0.0, Bootstrap 5.2.3 and Popper 2.11.6.
It also introduces support for standalone components, which means that you can now import ng-bootstrap inside your standalone components in 3 ways:
imports: [NgbModule] // import all ng-bootstrap components
imports: [NgbNavModule] // import a certain type of components
imports: [NgbNav, NgbNavOutlet, etc... ] // import required components individually
The demo site, stackblitzes and documentation have been updated to reflect these changes.
- migrate all components and directives to standalone (5e6d11c)
13.1.1 (2022-11-17)
- toast: update toast transitions to match Bootstrap 5.2 (#4411) (f1c2a09)
- typeahead: remove aria-multiline attribute (#4409) (9bd749c), closes #4181
13.1.0 (2022-10-18)
This release adds several features, notably:
- the ability to override Popper positioning options for dropdowns, tooltips, popovers, datepickers and typeaheads.
- better RTL support with Popper
- horizontal collapse with animation
- relative
positionTarget
for popovers and tooltips
- collapse: restore previous transition logic (#4388) (ec372c3)
- collapse: solved running transition twice (#4374) (9c8bf98)
- datepicker: add
NgbDateStructAdapter
to export list (#4335) (a6e9f2e) - positioning: generate correct RTL placements for popper (5379cd0)
- offcanvas: change animations to be like in Bootstrap 5.2.0 (#4366) (cb4406d)
- schematics: install
@angular/localize
todevDependencies
(5289e8a) - timepicker: add
exportAs
property for ngbTimepicker (#3980) (94e7b35)
- positioning: allow configuring Popper via
popperOptions
API (#4323) (a6f6803) - collapse: add horizontal collapse (98f0527)
- offcanvas: add static backdrop option (#4367) (fe4c798)
- popover: allow specifying target for popover (711bfd3)
- progressbar: add aria-label (6a3ebaa), closes #4133
- rating: allow overriding
tabindex
with provided value (#4309) (9d80e66) - tooltip: allow specifying target for tooltip (dc82372)
13.0.0 (2022-07-28)
This release adds Angular 14.1 and Bootstrap 5.2.0 support. It also removes deprecated checkboxes and radio buttons.
- datepicker: better display for a disabled datepicker (52ec5b5)
- datepicker: use
-bs-xxx
variables for colors (3012aaf) - replace
ComponentFactory
with newcreateComponent
API (9a011f3), closes #4343 - use new
setInput()
API instead of setting inputs manually (eec4e43)
- buttons: Checkbox and Radio buttons are no longer a part of ng-bootstrap, please use native Angular. They were deprecated in ng-bootstrap 12, see this page for more details.
12.1.2 (2022-05-17)
Bugfixes for popper positioning related to tooltip/popover arrow placement and overall performance.
- positioning: not all classnames are removed correctly after change detection (9775246), closes #4327
- pagination: allow for custom and null 'size' values (8df5f74), closes #3816
- datepicker: schedule positioning calculations correctly (745a64d)
- dropdown: schedule positioning calculations correctly (077047e)
- popover: schedule positioning calculations correctly (6b16b8d)
- tooltip: schedule positioning calculations correctly (662f2b6), closes #4321
- typeahead: schedule positioning calculations correctly (79454d1)
12.1.1 (2022-04-29)
12.1.0 (2022-04-28)
This release introduces a new Offcanvas component with the API similar to Modal.
- offcanvas: add new Offcanvas component and service (e504c31)
- modal: add a 'fullscreen' option (6d6189b), closes #4298
12.0.2 (2022-04-07)
More bugfixes for the Bootstrap 5 release
- datepicker: add offset to match Bootstrap (47fc2fe)
- datepicker: do not scroll when opening with container='body' (#4294) (112b507), closes #4290
- datepicker: ensure popup is shown above modal (#4282) (029ac2a), closes #4278
- dropdown: add offset to match Bootstrap #4297 (9f2fe0d)
- dropdown: disable host button of disabled dropdown item (4f71568), closes #4301
- dropdown: ensure popup is shown above modal (0a41501)
- dropdown: set tabIndex to -1 on disabled dropdown items (1ab5d21), closes #4301
- modal: remove visual 'twitch' when closing (#4295) (15246f2), closes #4293
- popover: change offset to match Bootstrap (90b4715)
- rating: changing [max] doesn't update displayed number of stars (9b49136), closes #4132
- typeahead: add offset to match Bootstrap (7f636ed)
- typeahead: ensure popup is shown above modal (d10df5d)
11.0.1 (2022-04-07)
This release contains some bugfixes for those who still remain on Bootstrap 4
- accordion: accept ids that start with a digit (#4196) (ab87fc7), closes #4195
- dropdown: disable host button of disabled dropdown item (ba19329), closes #4301
- dropdown: set tabIndex to -1 on disabled dropdown items (9cdc0fc), closes #4301
- modal: allows to set an HTMLElement as container in NgbModalConfig (#4161) (fb01f15), closes #4160
- modal: remove visual 'twitch' when closing (#4295) (a29b445), closes #4293
- modal: scrollbar issue with stacked modals (#4256) (cf13227), closes #4255
- rating: changing [max] doesn't update displayed number of stars (9a66076), closes #4132
12.0.1 (2022-03-21)
This release contains a couple of bugfixes for the Bootstrap 5 release.
ng-bootstrap web site was updated with documentation for older releases (now there is a dropdown in the header to switch between versions).
- accordion: accept ids that start with a digit (#4196) (c2eef9a), closes #4195
- carousel: fix hidden carousel indicators (#4259) (bee2668), closes #4200 #4253
- datepicker: respond to autoClose changes dynamically (34e3d53)
- dropdown: respond to autoClose changes dynamically (1def999)
- modal: allows to set an HTMLElement as container in NgbModalConfig (#4161) (a93c439), closes #4160
- modal: scrollbar issue with stacked modals (#4256) (9da624d), closes #4255
12.0.0 (2022-02-14)
This release adds Bootstrap 5 support.
- upgrade to bootstrap 5.0.0 (5f51908)
- carousel: rename left right classes for positioning (bebd9ab)
- datepicker: rename left right classes for positioning (a821d49)
- dropdown: rename left right classes for positioning (da5d6d1)
- popover: rename left right classes for positioning (23da190)
- positioning: rename left and right classes (486a929)
- tooltip: rename left right classes for positioning (e9bb545)
- typeahead: rename left right classes for positioning (4628503)
- .ml- and .mr- to .ms- and .me- (ca40910)
- .pl- and .pr- to .ps- and .pe- (ae3a3fe)
- .text-left .text-right to .text-start .text-end (65f8954)
- accordion: follow bootstrap 5 markup (29f61d5)
- accordion: update classes for the headers (7565054)
- alert: new css class for close button (#3976) (43bae41)
- button: button group (d598cb4)
- dropdown: manage static menu (65ba6c3)
- modal: adds overflow: hidden from code and fixes scrollbar measurement (5c58309), closes #4128
- modal: close button (4794632)
- modal: upgrade z-index for backdrop (fc84cb1)
- popover: fix positioning after the beta2 (e782244)
- positioning: use popper 2 for positioning (#4129) (5842eb5)
- tabset: radios on the tabset demo (2294275)
- toast: default delay and toasts container removal (ed5aca9)
- toast: new css class for btn-close (#3986) (7dcead9)
- add navbar containers when needed (9b0ade5)
- change custom-select by form-select (5ec43b6)
- e2e failed because of changed error message (e8a604a)
- e2e failed because of dependencies (ff66111)
- icon layout in input-group (e4ac56a)
- margins/layout issues (e5e8461)
- refactor form-inline and form-group (ddfde57)
- rename float-left float-right to float-start float-end (292e123)
- renamed .font-weight- utilities as .fw- (#3979) (1c2add3)
- renamed .sr-only to .visually-hidden (#3982) (09eb6b2)
- small sidebar fixes (a6f4dac)
- positioning: ng-bootstrap adds
"@popperjs/core": "^2.10.2"
as a peer dependency. All positioning logic for datepicker, dropdown, popover, tooltip and typeahead is outsourced to popper.js. - NgbSlideEventDirection : LEFT and RIGHT have been renamed to START and END
Before:
NgbSlideEventDirection.LEFT
NgbSlideEventDirection.RIGHT
After:
NgbSlideEventDirection.START
NgbSlideEventDirection.END
- The
.ngb-toasts
class has been removed, as Bootstrap has its own.toast-container
.
11.0.0 (2021-12-16)
This release adds Angular 13 support.
Apologies for the version mixup with this release, please use this guide:
- ng-bootstrap 10 (stable) -> Angular 12 and Bootstrap 4
- ng-bootstrap 11 (stable) -> Angular 13 and Bootstrap 4
- ng-bootstrap 12 (beta) -> Angular 13 and Bootstrap 5
- remove 'entryComponents' from the code (a6fd72b)
- remove deprecated 'ComponentFactoryResolver' (60514a3)
- accordion: fix broken collapse animation (801093a)
- datepicker: fix header colors (c24880c)
12.0.0-beta.4 (2021-11-22)
This 4th beta release for Bootstrap 5 adds Angular 13 support and uses Popper.js for positioning. Schematics are not yet updated for this version.
Apologies for the version mixup with this release, please use this guide:
- ng-bootstrap 10 (stable) -> Angular 12 and Bootstrap 4
- ng-bootstrap 11 (rc) -> Angular 13 and Bootstrap 4
- ng-bootstrap 12 (beta) -> Angular 13 and Bootstrap 5
- positioning: ng-bootstrap adds
"@popperjs/core": "^2.10.2"
as a peer dependency. All positioning logic for datepicker, dropdown, popover, tooltip and typeahead is outsourced to popper.js.
11.0.0-rc.0 (2021-11-10)
This release adds Angular 13 support. No code library changes are planned after this, but still some internal CI tooling needs to be updated (see #4178 for details).
Apologies for the version mixup with this release, please use this guide:
- ng-bootstrap 10 (stable) -> Angular 12 and Bootstrap 4
- ng-bootstrap 11 (rc) -> Angular 13 and Bootstrap 4
- ng-bootstrap 12 (beta) -> Angular 13 and Bootstrap 5
- remove 'entryComponents' from the code (a6fd72b)
- remove deprecated 'ComponentFactoryResolver' (60514a3)
11.0.0-beta.2 (2021-07-05)
This release adds Angular 12 support for the Bootstrap 5 beta version along with a couple of bugfixes.
10.0.0 (2021-07-01)
This release adds Angular 12 support
- datepicker: The deprecated datepicker
@Input() showWeekdays: boolean
is removed fromNgbDatepicker
andNgbInputDatepicker
. It was replaced by@Input() weekdays: TranslationWidth | boolean;
that also allows providingTranslationWidth
if necessary.
BEFORE:
<!-- datepicker -->
<ngb-datepicker [showWeekdays]="true"></ngb-datepicker>
<input ngbDatepicker [showWeekdays]="true"></input>
<!-- datepicker config -->
constructor(config: NgbDatepickerConfig) {
config.showWeekdays = true;
}
AFTER:
<!-- datepicker -->
<ngb-datepicker [weekdays]="true"></ngb-datepicker>
<input ngbDatepicker [weekdays]="true"></input>
<!-- datepicker config -->
constructor(config: NgbDatepickerConfig) {
config.weekdays = TranslationWidth.Short;
}
- datepicker: This change concerns you if you're creating custom datepicker calendars and i18ns.
The deprecated datepicker getWeekdayShortName(weekday: number): string;
is removed from NgbDatepickerI18n
.
It was replaced by getWeekdayLabel(weekday: number, width?: TranslationWidth): string;
to add TranslationWidth
option and align naming.
BEFORE:
@Injectable()
export class MyDatepickerI18n extends NgbDatepickerI18n {
getWeekdayShortName(weekday: number) { return 'your weekday short name'; }
}
AFTER:
@Injectable()
export class MyDatepickerI18n extends NgbDatepickerI18n {
getWeekdayLabel(weekday: number, width?: TranslationWidth) { return 'your weekday short name'; }
}
9.1.3 (2021-06-16)
- Revert "fix(popover): enable pointer events only for popover content" (94282d2) to fix #4103
9.1.2 (2021-06-04)
11.0.0-beta.1 (2021-05-12)
This is the first beta version with Bootstrap 5 support. Please install with npm install @ng-bootstrap/ng-bootstrap@next
- the schematics are broken in this version
- accordion animation seems to be broken
- datepicker header lost its color
- no support yet for the new Accordion, Offcanvas and Popper 2
- accordion: follow bootstrap 5 markup (29f61d5)
- button: button group (d598cb4)
- modal: close button (4794632)
- tabset: radios on the tabset demo (2294275)
- .ml- and .mr- to .ms- and .me- (ca40910)
- .pl- and .pr- to .ps- and .pe- (ae3a3fe)
- .text-left .text-right to .text-start .text-end (65f8954)
- add navbar containers when needed (9b0ade5)
- change custom-select by form-select (5ec43b6)
- icon layout in input-group (e4ac56a)
- margins/layout issues (e5e8461)
- refactor form-inline and form-group (ddfde57)
- accordion: update classes for the headers (7565054)
- popover: fix positioning after the beta2 (e782244)
- toast: default delay and toasts container removal (ed5aca9)
- rename float-left float-right to float-start float-end (292e123)
- small sidebar fixes (a6f4dac)
- toast: new css class for btn-close (#3986) (7dcead9)
- renamed .font-weight- utilities as .fw- (#3979) (1c2add3)
- renamed .sr-only to .visually-hidden (#3982) (09eb6b2)
- alert: new css class for close button (#3976) (43bae41)
- upgrade to bootstrap 5.0.0 (5f51908)
- carousel: rename left right classes for positioning (bebd9ab)
- datepicker: rename left right classes for positioning (a821d49)
- dropdown: rename left right classes for positioning (da5d6d1)
- popover: rename left right classes for positioning (23da190)
- positioning: rename left and right classes (486a929)
- tooltip: rename left right classes for positioning (e9bb545)
- typeahead: rename left right classes for positioning (4628503)
- NgbSlideEventDirection : LEFT and RIGHT have been renamed to START and END
Before:
NgbSlideEventDirection.LEFT
NgbSlideEventDirection.RIGHT
After:
NgbSlideEventDirection.START
NgbSlideEventDirection.END
- The
.ngb-toasts
class has been removed, as Bootstrap has its own.toast-container
.
9.1.1 (2021-05-12)
- modal: honor modalWindowClass option (#4068) (99c68ba), closes #4067
- modal: missing detectChanges (#4075) (ae2e6b1), closes #3960
- popover: enable pointer events only for popover content (58b60b4)
- timepicker: add ng-touched class on blur (#3956) (21f8f05), closes #3852
- tooltip: enable pointer events only for tooltip content (438fe5c), closes #3997
9.1.0 (2021-03-23)
- carousel: fix value of aria-activedescendant attribute (#4015) (35bb72a), closes #4014
- collapse: no animations in production mode (#4044) (5e25272), closes #3972
- datepicker: use readonly arrays in Buddhist calendar (67be4ab)
- typeahead: improve 'ngbTypeahead' typings (#4038) (81f2c59), closes #3907
- datepicker: add Buddhist calendar (4880bdf)
- datepicker: add week number i18n label (8955a1b)
- datepicker: allow configuring weekday width (02cb126), closes #2516
- datepicker: allow overriding month label correctly (#4023) (921662a), closes #3863
- datepicker: allow setting custom popup class (#4039) (4741ffb), closes #2984
- dropdown: allow setting custom popup class (#4041) (71ca123), closes #3626
- modal: allow setting custom modal dialog class (#3826) (37c0331)
- pagination: add new pages templating options (c605ab7)
- typeahead: allow setting custom popup window class (#3947) (e7457f4)
- typeahead: add an option to configure accent sensitivity in highlight (1cf0c39)
9.0.2 (2021-01-25)
- accordion: fixes animation glitch when opening several panels (0ad50b5)
8.0.4 (2021-01-25)
- accordion: fixes animation glitch when opening several panels (06dcf09)
9.0.1 (2021-01-21)
- animations: don't reflow in 'ngbRunTransition' (#3962) (ad3c9c3), closes #3954 #3952
- animations: make sure 'ngbRunTransition' runs inside the zone (#3957) (a29f570), closes #3950
- carousel: respect
[animation]="false"
(#3964) (175c7ab), closes #3961
8.0.3 (2021-01-21)
- animations: don't reflow in 'ngbRunTransition' (#3962) (f699999), closes #3954 #3952
- animations: make sure 'ngbRunTransition' runs inside the zone (#3957) (a006a62), closes #3950
- carousel: respect
[animation]="false"
(#3964) (9afae34), closes #3961
9.0.0 (2021-01-14)
This major release officially adds Angular 11 support.
- for ng-bootstrap
9.0.0
minimal required version of Angular is11.0.0
. Please note that this version drops IE 10 support.
8.0.2 (2021-01-13)
- animations: delegate 'animation' flag to 'NgbConfig' (#3939) (c90c1c4), closes #3893
- carousel: update active class when the content changes (15ad374)
- datepicker: improve right arrow css selector (#3931) (6790a3e), closes #3872
- nav: avoid doing double reflow for fade in transition (#3936) (76e38ee), closes #3900
- nav: work corretly inside components with OnPush (#3934) (038e89a), closes #3930
8.0.1 (2021-01-05)
- nav: correctly work with conditional nav items (#3894) (1f466ed), closes #3892
- popover,tooltip: run transition inside angular zone (#3909) (a2d3a44), closes #3896
8.0.0 (2020-11-06)
This is a major release introducing animations to all standard Bootstrap components inside ng-bootstrap. Please read the animations documentation, you'll find some examples and how to opt-out if necessary.
- alert: add .fade class only with animations on (#3756) (5e941d7)
- animations: duration should be computed after 'startFn' execution (4efea05)
- animations: ignore all inner transitions in 'ngbRunTransition' (b50f4d9)
- animations: pass transition context with animations disabled (#3781) (0e2120e)
- animations: startFn called when no animation (a14c76d)
- animations: make collapsing transition work with SSR (#3864) (e6c70c0)
- popover: allow null and undefined as values for popover and title (681c1e3), closes #3845
- tooltip: allow null and undefined as values for tooltip (b713e38), closes #3845
- accordion: add animations (#3766) (99de349)
- alert: add animations (ba7362e)
- alert: change API due to the introduction of animations (95f75cc)
- animations: always run the start function in ngbRunTransition (#3793) (99e7e8c)
- animations: introduce 'endFn' returned by 'startFn' (5ac913d)
- animations: introduce transition context (12d753b)
- animations: support 'runningTransaction: stop' (2373de3)
- carousel: accessibility (#3773) (6830d55)
- carousel: add animations (#3804) (61691d0)
- collapse: add missing
NgbCollapseConfig
(#3736) (8d5417a) - collapse: add animations (9bffcab)
- datepicker: remove deprecated
(select)
output (#3887) (0662d4d) - modal: add animations (86cbf06)
- modal: add scale animation when static backdrop is clicked (#3771) (2b1cc56)
- nav: add animations (d82a302)
- nav: nav config animations (262ac7d)
- popover: add animations (b7f12e6)
- progressbar: remove intermediate
div
element (#3841) (89ec4fe) - toast: add animations (f8df46c)
- tooltip: add animations (cc55e6b)
- add global
NgbConfig
(#3715) (bf9b98d)
- Animations are enabled by default an all standard Bootstrap components. See the documentation for more details.
NgbTabset
deprecated in6.0.0
is now removed completely- alert: closing API has changed due to the introduction of the imperative
.close()
method to trigger the 'fade out' animation
Before:
<ngb-alert (close)="..."></ngb-alert>
After:
// template -> output was renamed
<ngb-alert (closed)="..."></ngb-alert>
// component -> new method introduced for animations
alert.close();
The closed
event is emitted after the 'fade out' animation is finished.
The 'fade out' animation can be triggered either by clicking on the alert's 'cross button' or calling .close()
method.
- datepicker:
(select)
output deprecated in6.0.0
is now removed completely
Before:
<ngb-datepicker (select)="inDateSelect($event)"></ngb-datepicker>
After:
<ngb-datepicker (dateSelect)="onDateSelect($event)"></ngb-datepicker>
- progressbar: markup generated by
<ngb-progressbar>
was simplified, there is no more intermediate<div>
element
Before:
<ngb-progressbar type="success">
<div class="progress">
<div role="progressbar"></div>
</div>
</ngb-progressbar>
After:
<ngb-progressbar type="success" class="progress">
<div role="progressbar"></div>
</ngb-progressbar>
- toast: events API has changed to stick with specs provided by Bootstrap
Before:
<ngb-toast (hide)="..."></ngb-toast>
After:
// template -> output was renamed
<ngb-toast (hidden)="..."></ngb-toast>
The hidden
event is emitted after the 'fade out' animation is finished.
7.0.0 (2020-07-09)
This major release officially adds Angular 10 support.
- schematics: update schematics to use new workspace API (#3802) (7c81d8d), closes #3714
- dropdown: remove aria-haspopup for accessibility (#3339) (0c92e39), closes #3331
- for ng-bootstrap
7.0.0
minimal required version of Angular is10.0.0
, and minimal required version of Bootstrap is4.5.0
.
6.2.0 (2020-07-08)
- dropdown: close dropdown when focus leaves menu (#3625) (dc7990f), closes #3140
- dropdown: container body keyboard navigation (#3791) (6e1610d)
- dropdown: support closest for HTMLDocument in EdgeHTML (#3786) (d11530a), closes #3783
- progressbar: use PercentPipe by default (#3777) (ceb1985), closes #3700
6.1.0 (2020-04-22)
This release brings schematics to the @ng-bootstrap/ng-bootstrap
package, so the library can be installed now with ng add @ng-bootstrap/ng-bootstrap
. See installation docs for more details.
- modal: add 'aria-describedby' for modal window (#3695) (9a8e70d), closes #3678
- nav: keyboard support for switching between navs (#3612) (8c91ba5)
- schematics: add schematics to
@ng-bootstrap/ng-bootstrap
(#3669) (464080b)
6.0.3 (2020-04-17)
5.3.1 (2020-04-17)
6.0.2 (2020-03-23)
6.0.1 (2020-03-20)
Mostly technical release that improves compatibility with 'strictTemplates' and 'strictNullChecks'
- support 'strictTemplates' flag for public API (#3623) (eef5422), closes #3619
- improve compatibility with 'strictNullChecks' (0b16754), closes #1544
- datepicker: disabled datepicker should not be clickable/focusable (51c940b), closes #3648
- dropdown: avoid adding vertical scrollbars (#3644) (05efeb7)
6.0.0 (2020-02-21)
This major release officially adds Angular 9 and ivy support.
Due to changes in the framework, you might need to add the @angular/localize
dependency. Check the i18n documentation and this issue for more info.
We're also deprecating NgbTabset
, so it is not supported anymore. Please use NgbNav
instead as a more flexible alternative.
- datepicker: change min/max date error message (#3607) (501a1a0), closes #2922
- popover: make tooltip and popover work on the same element (#3606) (0841abe), closes #3602
- ng-bootstrap now has the dependency on
@angular/localize
- datepicker: 'ngbDate' validator error messages were changed to be more explicit and aligned with Angular validators.
For example, for the following use-case
<ngb-datepicker [ngModel]="{year: 2019, month: 12, day: 31}"
[minDate]="{year: 2020, month: 1, day: 1}">
</ngb-datepicker>
form control errors are:
Before
ngbDate: {
requiredBefore: { year: 2020, month: 1, day: 1 }
}
After
ngbDate: {
minDate: {
minDate: { year: 2020, month: 1, day: 1 },
actual: { year: 2019, month: 12, day: 31 }
}
Same change is applied for requiredAfter
and maxDate
.
6.0.0-rc.0 (2020-02-14)
This is a technical release aligning all dependencies, configurations and deliveries to Angular 9. There are no changes in the library code.
5.3.0 (2020-02-14)
- accordion: add custom css class at the card level (#3563) (8ea21bf), closes #2262
- datepicker: allow customizing month layout (3b82948)
- modal: pass an
HTMLElement
to modal container option (#3585) (3c65b21), closes #3584
5.2.3 (2020-02-13)
- rating: ignore clicks on disabled rating (#3574) (900a8db), closes #3465
- tooltip: prevent autoclose with default triggers on Android (#3587) (04d8552), closes #3582
5.2.2 (2020-02-10)
- datepicker: handle clicks correctly inside the (#3562) (0f626e1), closes #3557
- datepicker: handle multiple input changes once (#3565) (4ac0352), closes #3545
- datepicker: refine focus state checks (#3549) (035d399), closes #3494
- datepicker: update minDate and maxDate dynamically (#3507) (4f61496), closes #3506
- dropdown: execute user (click) handlers on Enter and Space (#3573) (f845951), closes #3570
- nav: allow having falsy values like 0 and 'false' for nav ids (#3571) (686fbd5), closes #3569
- nav: don't emit (navChange) when activeId is not set initially (#3567) (dd1c35d), closes #3564
5.2.1 (2020-01-22)
5.2.0 (2020-01-21)
This release introduces a set of NgbNav
directives to replace the NgbTabset
component
- datepicker: don't update public state on each CD (e284110)
- add
ViewEncapsulation.None
to the rest of components (#3535) (5a5a8a7), closes #3479 - accordion: use readonly arrays for inputs (#3426) (16249f4)
- datepicker: add 'currentYear' to the day template (#3540) (bbd8b51), closes #2944
- datepicker: add 'restoreFocus' input (#3539) (31402a3), closes #3483
- datepicker: export NgbDatepickerKeyboardService (e5b3222)
- datepicker: input datepicker global config (a9ce83e), closes #3273
- datepicker: introduce 'dateSelect' event to replace 'select' (943295a), closes #3444
- datepicker: use readonly arrays for inputs (#3424) (2c3f96a)
- modal: allow any string as modal size option (24ea370), closes #3013
- nav: initial nav implementation (783d983)
- pagination: add 'aria-current' attribute (#3470) (c502341)
- pagination: add 'aria-disabled' attribute (#3471) (c0a2bda), closes #3470
- progressbar: allow to specify progressbar text type (#3394) (1057dbd)
- timepicker: input filter to accept only numbers (#3247) (25df51a), closes #2334
- typeahead: use readonly arrays for inputs (#3423) (36ce6fb)
5.1.5 (2020-01-07)
- datepicker: correct z-index of month/year selects (#3473) (2de1be3)
- datepicker: fix disappearing month/year select arrow icon in IE and Edge (3b9307a), closes #3526
- modal: fix scrollbar compensation in some scaling situations (#3498) (b235dbb), closes #3448
- modal: prevent modal from closing when using scrollbar (#3531) (fb8bb11), closes #3518
- modal: remove key/mouse handlers only when modal is destroyed (#3532) (01d508a), closes #3515
- pagination: don't focus links of disabled pagination (#3468) (38da258)
5.1.4 (2019-11-08)
- autoclose: fix popup components auto closing in Safari 13 (#3454) (c08e3b4), closes #3446 #3437 #3412 #3192 #3145 #3024
- focustrap: run focus trap event handlers outside Angular (#3435) (d1752ac)
- modal: don't close modal on ESC if file dialog is open (#3455) (5977dcb), closes #3439
- modal: ignore accidental backdrop clicks (cbf2b3c), closes #3384 #1950
- modal: trap focus correctly with stacked modals (#3422) (5610abe), closes #3392
- progressbar: display progressbar correctly for invalid 'max' values (#3400) (9a92667), closes #3386 #3390
5.1.3 (2019-11-08)
Please use v5.1.4 instead
5.1.2 (2019-10-25)
- checkbox: remove autocomplete attribute (#3377) (39fea1f)
- datepicker: add role="row" in weekday header for a11y (#3361) (b16a0ca)
- datepicker: add role="columnheader" in weekday header for a11y (#3343) (8260198)
- datepicker: keep day/month when adding/removing month/year in ngb-calendar (#3355) (22a1cb6), closes #3398
- datepicker: performance issues when huge min/max dates (#3357) (22b4ca8), closes #3338
- datepicker: place active day above its siblings (#3314) (eb26beb)
- datepicker: remove hardcoded bg-light (#3351) (c7bc4d7)
- datepicker: restore focus correctly after closing popup (#3371) (d8812b9), closes #3317
- datepicker: retain focus on prev/next month navigation links (#3381) (7a584ad), closes #2780
- dropdown: export
NgbNavbar
correctly (#3432) (693bcb6) - modal: add missing fields to
NgbModalConfig
(#3406) (7324083) - modal: add typing for
modalRef.componentInstance
(#2815) (f450a7c), closes #2479 - modal: do no crash when accessing
componentInstance
(#3367) (c60a012), closes #3366 - modal: don't close popup on ESC when closing nested components (#3384) (75f0966), closes #3358
- pagination: don't hide single page number with ellipsis (#3419) (410f6ea), closes #1235
- popover: propagate 'popoverClass' change correctly (#3420) (51bfc72)
- tooltip: propagate 'tooltipClass' change correctly (48bdf62), closes #3335
- typeahead: clear the model on input change when editable=false (#3267) (176be06), closes #3262
4.2.2 (2019-09-03)
5.1.1 (2019-09-03)
This is an internal release with no user-facing updates/fixes.
5.1.0 (2019-07-17)
-
carousel: stay paused after calling pause() until cycle() is called (#3225) (2602154), closes #3188
In order for the user to also have more control, we also introduce 2 new properties on NgbSlideEvent:
- The "source" property allowing to know what triggered the event: "timer", "arrowLeft", "arrowRight" or "indicator".
- The "paused" boolean status.
- datepicker: ease the styling of datepicker (#3248) (dd86266), closes #3244
- datepicker: NgbCalendarIslamicUmalqura.fromGregorian with date in the afternoon (#3256) (cc29290), closes #3237
- demo: direct link to specific carousel sample not working (#3272) (a6d73d6)
- dropdown: allow template directive on the menu (#3263) (8f73899)
- dropdown: remove x-placement when display is static (#3270) (c6ad5b7)
- modal: cmpt based content was not scrollable (#3286) (ffbb4fd), closes #3281
- popover: apply arrow styles to direct descendant (#3288) (0b3ad65)
- stackblitz: fixed version for prismjs (#3282) (db72c7a)
- tabset: remove aria-expanded and use aria-selected instead (#3292) (5b6cc69)
- toast: proper handling of
autohide
toggling (#3283) (ffcdad4), closes #3280
5.0.0 (2019-07-09)
This major release is compatible with Angular ^8.0.0. We would like to emphasis that it is not yet fully compatible with Ivy renderer.
- for ng-bootstrap
5.0.0
minimal required version of Angular is8.0.0
, and minimal required version of Bootstrap is4.3.1
.
5.0.0-rc.1 (2019-06-28)
This release requires Angular version ^8.0.0, Bootstrap ^4.3.1 and is not yet Ivy compatible.
5.0.0-rc.0 (2019-06-24)
This release requires Angular version ^8.0.0
, Bootstrap ^4.3.1
and is not yet Ivy compatible.
- all widgets: specify 'static' for ViewChild and ContentChild queries (b3010ab)
- demo: missing
Object.values()
polyfill for IE. (#3249) (0eff381) - toast: adds
static: true
for Angular 8 query compatibility (#3250) (e682ee3)
- modal: add scrollable option (#2909) (74fb795)
- modal: Add xl size for modal (#3239) (998f358), closes #2943
- toast: Toast implementation (#3103) (bd1e9fb)
- for ng-bootstrap
5.0.0-rc.0
minimal required version of Angular is8.0.0
, and minimal required version of Bootstrap is4.3.1
. - Importing any ng-bootstrap module via
.forRoot()
has now been completely removed. The only supported way is the one documented in the getting started page.
import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
@NgModule({
...
imports: [NgbModule, ...],
...
})
export class YourAppModule {
}
4.2.1 (2019-06-03)
4.2.0 (2019-05-29)
- datepicker: add 'closed' event fired after datepicker window was closed (#3055) (e31895e)
- datepicker: add new 'positionTarget' input (#3119) (42cef4f)
- datepicker: expose validators minDate, maxDate, invalidDate (#3126) (509bba3)
- dropdown: new 'display' input and navbar management (#3098) (a07dbff), closes #3030
- highlight: highlight array of terms instead of just one term (#3154) (ec8a129), closes #2698
4.1.3 (2019-05-13)
- alert: project content before the closing button (#3176) (3e1dba9), closes #3171
- datepicker: 'startDate' change was preventing arrow navigation (#3179) (8bb6ddd), closes #3178
- datepicker: don't change month content if navigation is prevented (#3173) (c41da80)
- dropdown: close dropdown menu on Enter / Space (#3180) (5163d03), closes #3142
- dropdown: close dropdown only on dropdown elements click (fa8e45f), closes #3063 #3143
- timepicker: fix tab navigation & handling keyboard arrows (#2053) (7efa35c), closes #1836
4.1.2 (2019-04-30)
- datepicker: access view child from ngAfterViewInit (#3152) (0e54eef), closes #3150
- datepicker: export NgbDatepickerNavigateEvent correctly (#3161) (e287a74), closes #3160
- datepicker: z-index set when appended to body (00ee594), closes #3133
- dropdown: don't fail on keypress if there are no ngbDropdownItems (b4b0222), closes #3117
- dropdown: z-index set when appended to body (#3157) (ec73fc2)
- popover: open popover correctly from lifecycle hooks (b3f8010)
- tooltip: open tooltip correctly from lifecycle hooks (80beb3a), closes #3130
4.1.1 (2019-04-01)
- autoclose: take into account inside 'touch' events on iOS (#3089) (9e13e7f), closes #3079
- buttons: set radio buttons role to 'radiogroup' (#3085) (21df9a6), closes #3084
- datepicker: export Gregorian calendar (#3064) (ee1d723), closes #3054
- dropdown: apply multiple positions correctly (#3058) (e9f7b9e), closes #3056
- dropdown: fix keyboard navigation with 'body' container (fee06f1), closes #3066
- positioning: round translated positions (#3074) (5444d13)
4.1.0 (2019-03-05)
- accordion: allow any content in the accordion card header (8ea4d81), closes #717
- datepicker: make 'navigate' event cancellable (#3044) (dce63ef), closes #2913
- datepicker: mark today's date with a custom class (#2940) (6029304), closes #1470
- dropdown: add keyboard navigation support (#2683) (6608487)
- dropdown: allow attaching to body (#2823) (3f65ac8), closes #1012
- pagination: allow customizing pagination links (a889d09), closes #899
- popover: add openDelay and closeDelay (4975529)
- positioning: accept placement values with a space separated string (#3034) (28ce374)
- positioning: position tooltip and popover automatically (#3019) (aeb39aa)
- timepicker: use arrow keys to increment/decrement values (#2912) (6ca79a5), closes #459
- tooltip: add openDelay and closeDelay (1b8abae), closes #1052
- tooltip: trigger with "focus" by default to enhance a11y (#3028) (be84733), closes #3022
4.0.5 (2019-03-05)
4.0.4 (2019-02-21)
- autoclose: fix browser detection for SSR (#3027) (5536368), closes #3025
- positioning: use first placement as the fallback (#3017) (967e949)
4.0.3 (2019-02-12)
- add missing exports (932d7f6), closes #2997
- autoclose: fix popup automatic closing on touch on iOS (#3004) (bc489ec), closes #2995
- buttons: display correct NgModel value inside OnPush component (#3000) (083fb0f), closes #2980
- popover: arrow is correctly centered (a613fa9), closes #3006 #2089 #2234
- positioning: use CSS translate for positioning (64d5716), closes #2972 #2470 #2924 #2069 #2914 #2775 #2346
- timepicker: display correct NgModel value inside OnPush component (#3001) (0e9b291), closes #2992
4.0.2 (2019-01-28)
- accordion: remove 'h5' from the card header (88af5c8), closes #2915
- autoclose: use mouseup asynchronously instead of click (0c91b05), closes #2711
- autoclose: using each dropdown component inside OnPush component (1b7614c)
- datepicker: fix 'outsideDays' clicks for multiple months (c37a803), closes #2879
- datepicker: update model correctly with updateOn: 'blur' (#2982) (eddf188), closes #2976
- modal: add missing 'aria-modal' and 'aria-hidden' attributes (eee0afb), closes #2575 #2965
- timepicker: handle setting hour/minute/second step to 'undefined' (34baece), closes #2851 #2903
- timepicker: use ViewEncapsulation.None forgotten in 4.0.0 (1d01940), closes #2932
4.0.1 (2018-12-17)
- carousel: do change detection when slides change (a944d5d), closes #2908 #2900
- datepicker: focus handling performance regression (1d9a84e)
- datepicker: visual focus on arrows for ie (#2818) (b20355e)
- focustrap: discarding tabindex='-1' when finding element (#2888) (db7347b), closes #2884
- rating: don't hijack Tab key navigation (4b05da1), closes #2473 #2895
- typeahead: input value properly reset when hint/ngModel are used together (8d5397c), closes #2816 #2850
- typeahead: prevent dropdown to be reopened after an item selection (e0fe9f5), closes #2854 #2869
4.0.0 (2018-10-26)
This release is fully compatible with Angular ^7.0.0. All widgets have view encapsulation set to NONE now and this should help with custom themes / CSS overrides.
- datepicker: display correct Hebrew numerals for numbers 11-19 (5a5c6da)
- datepicker: focus correct day when opening popup (838693a), closes #2136 #2796
- datepicker: use longer weekday format in Hebrew (107ea44)
- datepicker: add Gregorian conversion methods to Hebrew calendar (565cfda)
- switch viewEncapsulation to NONE for all widgets (a25d5d2), closes #1875 #2564 #2784
3.3.1 (2018-10-19)
- carousel: change slides on prev/next/select API calls with OnPush (99049e7), closes #2776 #2766
- modal: modal won't refocus last focused element (ce7e626), closes #2779 #2798
- modal: focus stays trapped with Shift+Tab (67651be), closes #2807 #2718
- typeahead: bring focus back to input on item click (2b3c898), closes #2805 #2792
3.3.0 (2018-10-05)
- accordion: don't submit HTML form when toggling panels (c585124), closes #2760 #2762
- carousel: don't crash if there are no slides (#2748) (cf6c541), closes #2746
- update templates for TS 3.1 compatibility (59f90ae), closes #2755 #2763
- datepicker: add $implicit property for day template context (a00273d), closes #2729
- datepicker: add footerTemplate property (c380272), closes #1197 #2739
- datepicker: allow to pass user data to the day template context (d83a5c5), closes #2716
- modal: add [ngbAutofocus] option (#2737) (10fd5e4), closes #938 #2718 #2728
- modal: allow checking if there are open modals (#2740) (7402ef3), closes #1600
3.2.2 (2018-09-21)
- datepicker: fix 'util' import and use 'isInteger' (#2738) (e3fa911)
- datepicker: avoid updating the model twice (on input and on change) (b44c6d7), closes #2642 #2684
- datepicker: convert years 0-99 correctly with native adapters (#2732) (8ed7ce5), closes #2731
- datepicker: don't close on Escape if autoClose is false (83b49c2), closes #2704 #2713
- datepicker: mark year 0 as invalid in Gregorian calendar (#2733) (dd788a0), closes #2721
- datepicker: no longer trigger onChange when the value is equivalent (f8977be), closes #2668
- popover: unregister event listener functions only if present (#2699) (5dd4e1e), closes #2688
- timepicker: match chevron width and height (2d6a586), closes #2663 #2674
3.2.1 (2018-09-21)
WARNING! The 3.2.1 release is broken (incorrect import of the util package) and should not be used. Please use 3.2.2 instead.
- datepicker: avoid updating the model twice (on input and on change) (b44c6d7), closes #2642 #2684
- datepicker: convert years 0-99 correctly with native adapters (#2732) (8ed7ce5), closes #2731
- datepicker: don't close on Escape if autoClose is false (83b49c2), closes #2704 #2713
- datepicker: mark year 0 as invalid in Gregorian calendar (#2733) (dd788a0), closes #2721
- datepicker: no longer trigger onChange when the value is equivalent (f8977be), closes #2668
- popover: unregister event listener functions only if present (#2699) (5dd4e1e), closes #2688
- timepicker: match chevron width and height (2d6a586), closes #2663 #2674
3.2.0 (2018-08-30)
- popover: don't show header if title is empty (f1ec90b), closes #2653 #2661
- radio: properly set disabled state on labels (9b19171), closes #2635 #2639
- datepicker: add aria-labels and titles for navigation select elements (dcdb5fc), closes #2636 #2543
- datepicker: add hebrew i18n (2d68122), closes #2606
- datepicker: Hebrew calendar support (8404994)
- datepicker: Add NgbDateNativeUTCAdapter (f847791), closes #2631 #2659
- modal: add implicit context for template based modals (6e4f9e7), closes #2669
- modal: add support for stacked modals (2409572), closes #2640 #643
- tooltip: ability to add custom CSS classes to tooltip window (709d6b6), closes #2625 #1349
3.1.0 (2018-08-24)
- timepicker: avoid unnecessary CSS class mutation in the DOM (47e91ba), closes #2582 #2617
- provide overrideable services at the root level (#2627) (88e5e98), closes #2618
- accordion: add expand / collapse methods (e64f2ff), closes #1970 #1978 #2595
- modal: add global config for modals (3d8c08a), closes #2487 #2573
- modal: add new dismissAll method (daf6645), closes #1963 #2633
- popover: allow templates as popover title (340c9b3), closes #1221 #2621
3.0.0 (2018-08-13)
ng-bootstrap 3.0.0 requires Angular version ^6.1.0
and is delivered in Angular Package Format (APF) v6.0 (https://goo.gl/jB3GVv) using @angular/cli 6.
- accordion: correct "collapsed" CSS class usage (25b5bee), closes #2553 #2555
- accordion: the markup should follow the bootstrap one (8ddc363), closes #2511
- carousel: make it work inside the 'OnPush' components (827dfcb), closes #2597 #2599
- datepicker: correctly override year numerals for multiple months (#2596) (bc540e9)
- demo: missing / in bootstrap href link (42b1470), closes #2584 #2586
- dropdown: close dropdown correctly inside the OnPush component (a2dea82), closes #2561 #2559
- dropdown: remove global document click listener (d80204c), closes #900 #2518
- modal: adjust modal background to avoid shifting (2871316), closes #641 #2508
- modal: use correct ComponentFactoryResolver (8d72f37), closes #2588
- typeahead: don't fail when user returns falsy results (de613ae), closes #2530 #2550
- datepicker: allow overriding day, week number and year numerals (91c04e9), closes #2593
- datepicker: close popup on outside click (347f0ff), closes #2558
- datepicker: initial version of Jalali calendar (e465fa6)
- datepicker: make 'NgbDate' part of a public API (122f93f), closes #2540
- popover: autoclose (6e2340d), closes #933 #2554
- tabset: allow arbitrary nav type (#2592) (1e68401), closes #1661
- tooltip: autoclose (fa765a8), closes #2571
- for ng-bootstrap 3.0.0 minimal required version of Angular is 6.1.0
- The library is now delivered in Angular Package Format (APF) v6.0 (https://goo.gl/jB3GVv) using @angular/cli 6.
One notable change is that delivered UMD bundle is now located in 'bundles/ng-bootstrap.umd.js' instead of 'bundles/ng-bootstrap.js'.
Also ES5 code is now delivered as a flat version by default, so 'module' in the 'package.json' is now pointing to 'fesm5/ng-bootstrap.js' and not 'index.js'. You can still find all the ES5 code in the 'esm5' folder if necessary.
Please examine the contents of the delivered package, if you have a custom build configuration.
- alert: markup generated by
<ngb-alert>
was simplified, there is no more intermediate<div>
element
Before:
<ngb-alert>
<div role="alert" class="alert alert-warning">
Hello there
</div>
</ngb-alert>
After:
<ngb-alert role="alert" class="alert alert-warning">
Hello there
</ngb-alert>
2.2.2 (2018-08-03)
2.2.1 (2018-07-27)
- dropdown: close on escape from anywhere (c26732f), closes #1741 #2051
- dropdown: remove global document click listener (bd95f1f), closes #900 #2518 #2871316695d8d2da5a8b0144c0a69de17e480019
- modal: adjust modal background to avoid shifting (efe01f1), closes #641 #2508
- progressbar: add missing i18n id specifier (becb208), closes #2493
- typeahead: don't fail when user returns falsy results (39a58a3), closes #2530 #2550
3.0.0-beta.1 (2018-07-06)
- dropdown: close on escape from anywhere (2495570), closes #1741 #2051
- progressbar: add missing i18n id specifier (69956fe), closes #2493
- The library is now delivered in Angular Package Format (APF) v6.0 (https://goo.gl/jB3GVv) using @angular/cli 6.
One notable change is that delivered UMD bundle is now located in 'bundles/ng-bootstrap.umd.js' instead of 'bundles/ng-bootstrap.js'.
Also ES5 code is now delivered as a flat version by default, so 'module' in the 'package.json' is now pointing to 'fesm5/ng-bootstrap.js' and not 'index.js'. You can still find all the ES5 code in the 'esm5' folder if necessary.
Please examine the contents of the delivered package, if you have a custom build configuration.
- datepicker: datepicker popup will now close on outside click by default.
Because of this datepicker will NOT open with (click)="d.open()"
and (click)="d.toggle()"
unless you mark the element with click handler with [ngbDatepickerToggle]="d"
BEFORE:
<input ngbDatepicker #d="ngbDatepicker" />
<button (click)="d.toggle()">...</button>
<button (click)="d.open()">...</button>
AFTER:
<input ngbDatepicker #d="ngbDatepicker" />
<button [ngbDatepickerToggle]="d" (click)="d.toggle()">...</button>
<button [ngbDatepickerToggle]="d" (click)="d.open()">...</button>
Also note that [autoClose]
input now accepts additional 'inside' and 'outside' values.
2.2.0 (2018-06-29)
- carousel: add flags controlling display of navigation arrows and indicators (ec4e939), closes #2274 #2275
- carousel: add input to control pause on mouseover (8d54cac), closes #1163 #2436
- modal: aria-labelledby attribute for modal window (3cc6fa7), closes #1477 #2049
- popover: ability to add custom CSS classes to popover window (483bd05), closes #1441 #2310
- timepicker: add custom time adapter support (7eaa7e7), closes #545 #2347
2.1.2 (2018-06-22)
- datepicker: fix ExpressionChangedAfterItHasBeenCheckedError when switching between months (b47f981), closes #2408 #2462
- timepicker: fix placeholder width issues on iOS (e65d5cf), closes #2460
2.1.1 (2018-06-15)
- datepicker: properly display month select box when 'displayMonths' > 1 (18acd62), closes #2377 #2452
- live: use a single DOM element for Live Announcer (31968ad), closes #2458
- positioning: add missing primary position checks (54168ea)
- positioning: add secondary positions to auto conversion (7208006), closes #1899
2.1.0 (2018-06-08)
- datepicker: display 'outsideDays' correctly for multiple months (26b8f3b), closes #2421 #2035
- datepicker: fix month/year select boxes widths in IE10 (f266b7f), closes #2414
- use correct rxjs imports for focus trap (2315c8c), closes #2439
- datepicker: fix select width with bootstrap 4.1 (342b640), closes #2443
- datepicker: prevent focustrap to restore focus on destroy (dcd7111), closes #2372 #2392
- datepicker: simplify CSS and navigation styles (d349edb), closes #2401 #2402
- datepicker: simplify focus trap with observables (25c1394), closes #2419 #2406 #2390 #2372
- typeahead: use custom input formatter with falsy values (b73f350), closes #2389 #2399
- add support for i18n of static text in component templates (65c232d), closes #2314 #2317
- datepicker: add aria attributes for navigation (cd01d32), closes #2345
- datepicker: add native js date adapter (cd14b96), closes #2305
- datepicker: close datepicker popup on ESC from anywhere (2666d8b), closes #2432
- modal: focus is now trapped inside any opened modal (cf48325), closes #642 #2441
- modal: support for promises in beforeDismiss hook (cca789f), closes #2340
- typeahead: add input reflecting the 'autocomplete' attribute (3a7ca58), closes #2194 #2366
2.0.0 (2018-05-04)
This is a major release of ng-bootstrap. It is fully compatible with Angular / RxJS 6.x. Please pay attention to the breaking changes section when upgrading.
- accordion: add 'accordion' css class (d014d0e), closes #2304
- accordion: remove active class from open panel titles (f804649), closes #2307 #2221
- datepicker: allow weekday and week number css to be overridden (57bf8f8), closes #2296
- dropdown: correct dropup position with Bootstrap 4.1 (91c166d), closes #2297 #2313
- modal: don't use deprecated 'ReflectiveInjector' (0f8055f), closes #2285
- typeahead: reset active index when results change (46a4b3b), closes #2303 #2312
- focustrap standalone service (6961cb3), closes #2322
- datepicker: add 'aria-label' attribute for days (d52059b), closes #2319
- datepicker: allow focusing calendar days and navigation separately (2daf038), closes #1716 #2270
- datepicker: focustrap for datepicker in popup (e7179cd), closes #2332
- datepicker: use the angular locale API (7959a15), closes #2065 #2066
- popover: conditional popover (9de58e6), closes #2188 #2217
- typeahead: accessibility, options summary status message (f65b8a4), closes #2197 #1945
- datepicker: if you're using a custom
NgbDatepickerI18n
implementation, you'll have to implement an additional method:getDayAriaLabel(date: NgbDateStruct): string
. It returns the string that will be set for thearia-label
attribute for each displayed day. If you're not using the custom service, thearia-label
will default to the value returned by the angularDatePipe
with'fullDate'
format. - accordion: The "active" CSS class is no longer added to headers of an active panel. This change assures that markup used by ng-bootstrap is in-line with the markup described in: https://getbootstrap.com/docs/4.0/components/collapse/#accordion-example
- popover: Popovers with an empty title and content are considered disabled and won't open by default.
- datepicker: The datepicker is no longer focusable as a whole component. Instead, the focus is allowed on each element inside the datepicker (navigation buttons, select boxes, focusable day) in the natural order. The datepicker
.focus()
method will now only focus one day and not the whole component. - datepicker: if your application provides a LOCALE_ID other than the default en-US, registers the locale data for this locale, and doesn't use a custom NgbDatepickerI18n, then the days and months of the datepicker won't be displayed in English anymore, but in the language of the provided locale.
1.1.1 (2018-04-06)
1.1.0 (2018-03-30)
- accordion: don't crash for panels with no content (da96dec), closes #2250 #2251
- pagination: emit page change only when collection size is set (51a2a29), closes #1841 #2257
- tabset: don't crash for tabs with no content (3b3c979), closes #2252
- datepicker: ability to prevent popup from closing automatically (7201af3), closes #1984 #2192
- datepicker: add 'dateSelect' output for date selection listening (acad88a), closes #2181 #2254
- dropdown: allow using any event to toggle dropdowns (25e0d39), closes #1115 #1926 #2082
- modal: add 'backdropClass' option (5ffaabc), closes #2166 #2248
- modal: add vertically centered option (00e79c4), closes #1124 #2074
- popover: introduce disabled flag (234bab3), closes #2188 #2229
- tooltip: introduce disabled flag (e05a99f), closes #2253
1.0.4 (2018-03-23)
This release contains the same code as 1.0.3 but we need to push another version due to npm errors while publishing 1.0.3
1.0.3 (2018-03-23)
- accordion: properly determine titles when using nested accordions (171a70d), closes #2240 #2247
- tabset: properly determine titles when using nested tabsets (4a2f65a), closes #2249
1.0.2 (2018-03-19)
- accordion: restore 'type' input behaviour for styling panels (9b62d75), closes #1897 #2227
- datepicker: add class "show" to visible datepicker dropdown (6938e4b), closes #2088 #2013
- datepicker: optional min/max dates for infinite navigation (3a1a341), closes #1732 #2219
- demo: avoid removing DOM elements in decimal rating demo (40a8281), closes #2178 #2225
- modal: don't use inline styles (5f14b4e), closes #2085 #2223
- typeahead: fix SSR (universal) rendering (2c5a354), closes #2190 #2139 #2224
1.0.1 (2018-03-09)
- modal: support server rendering with lazy loading (02f6f7a), closes #1968 #2180
- timepicker: Add CSS for IE10 flexbox (7c0d6d7), closes #2163 #2167
- tooltip: unregister event listener functions only if present (b9ad060), closes #2199 #2205
- typeahead: don't show hint if there is no active option (5d20d1f), closes #2185 #2198
1.0.0 (2018-01-26)
This is the first, stable release of ng-bootstrap!
- datepicker: disable back navigation arrow (384b2e8), closes #2093 #2110
- datepicker: fix datepicker display in IE10 (1cfaef0), closes #2094 #2121
1.0.0-beta.9 (2018-01-05)
This release bumps up minimal Bootstrap CSS dependency to 4.0.0-beta.3.
1.0.0-beta.8 (2017-12-15)
- carousel: use only public methods in template (da31c3e), closes #2038 #2040
- datepicker: support
NgbDateAdapter
inNgbInputDatepicker
(0e325ca), closes #2002 #2003 - pagination: remove internal annotation (f1137aa), closes #2038 #2041
- positioning: fix positioning with the width constraint (0df398c), closes #1876 #1902
- datepicker: simplify css handling of the navigation system (9a27911), closes #1614
- typeahead: allow search on focus and click (96d073d), closes #698 #1990
1.0.0-beta.7 (2017-12-08)
This release bumps up minimal Angular dependency to 5.0.2.
1.0.0-beta.6 (2017-12-01)
This release depends on Bootstrap beta.2 CSS.
- accordion: hide panel when destroyOnHide set to false (9e2df7f), closes #1915
- buttons: mark the form control of a ngbRadioGroup as touched (9dde9c2), closes #1987 #1988
- datepicker: close date picker after selecting the same date (ea796de), closes #1783
- datepicker: date selection regression for non-visible dates (8e0ddb4), closes #1974
- datepicker: popup disabled state (a05727e)
- datepicker: remove border from 'btn-link' style (c6121b3), closes #1900 #1851
- datepicker: use class btn with btn-link (3648f46)
- dropdown: add "dropdown" class for placements other than "top" (ed88f72), closes #1847 #1852
- dropdown: adjust for better compatibility with universal (9ad8f43), closes #1883
- popover: added margin to arrow placement (2506ae4), closes #1845 #1855
- timepicker: remove border from 'btn-link' style (3f9b909), closes #1851 #1901
- timepicker: use class btn with btn-link (e6a93e0)
- typeahead: don't close dropdown on typeahead input click (fa9c080), closes #1853 #1989
- datepicker: add Islamic Umalqura calendar (22a7210)
- datepicker: add support for the container option (6c7a31b), closes #1380 #1857
- datepicker: allow user to define his own date structure (a406e52), closes #1753
- progressbar: allow changing progressbar height (b329be9), closes #1904 #1908
- rating: add 'index' variable in template (2ed3632), closes #1922 #1931
- typeahead: add exportAs property for ngbTypeahead (c318045), closes #1559
1.0.0-beta.5 (2017-09-14)
1.0.0-beta.4 (2017-09-07)
Lot's of positioning updates in this release. Now you can use more positioning options and auto-positioning for all widgets that open popups.
- add support for "auto" placement and multi-placement (b73023a), closes #992 #1782
- support more positioning options for tooltips and popovers (4f1e518), closes #857 #1772
- datepicker: add support for placement "auto" (d8bee8e), closes #1257 #1820
- dropdown: auto and array support in placement (6123780), closes #1171 #1814
- modal: add 'beforeDismiss' option (a758eae), closes #1598 #1799
- typeahead: added support for placement (a053819), closes #1767 #1821
1.0.0-beta.3 (2017-08-30)
1.0.0-beta.2 (2017-08-23)
- accordion: align with Bootstrap 4.beta markup (e32fb24), closes #1050 #1332
- dropdown: correct TS typings (9447f5d), closes #1754
- dropdown: restore support for dropups (c7a16a5), closes #1747 #1752
- accordion: support nodes preservation (f6cf01b), closes #1370
- tabset: add nav justification and orientation (73ba757), closes #1472 #1239
- dropdown: The
up
input is no longer supported by you can use more flexibleplacement
setting now.
Before:
<div ngbDropdown [up]="true">
After:
<div ngbDropdown placement="top-right">
1.0.0-beta.1 (2017-08-11)
ng-bootstrap goes BETA (and requires Bootstrap CSS 4.0.0-beta now)!
- dropdown: update for Bootstrap4.beta (877c696), closes #1745
- popover: account for margins when positioning popovers (5a7df43)
- buttons: allow vertical radio buttons (a38257d), closes #1231 #1238 #1733
- dropdown: distinguish inside and outside clicks for autoClose (bb975af), closes #1022
- ng-bootstrap now requires Bootstrap CSS 4.0.0-beta
- buttons: The
btn-group
CSS class needs to added explicitly for radio buttons.
Before:
<div ngbRadioGroup ...>
...
</div>
After:
<div class="btn-group" ngbRadioGroup ...>
...
</div>
- dropdown: Dropdown menu now requires usage of the new
ngbDropdownMenu
directive.
Before:
<div ngbDropdown>
<button ngbDropdownToggle>Toggle dropdown</button>
<div class="dropdown-menu">
<a class="dropdown-item">Action</a>
</div>
</div>
After (notice ngbDropdownMenu):
<div ngbDropdown>
<button ngbDropdownToggle>Toggle dropdown</button>
<div ngbDropdownMenu>
<a class="dropdown-item">Action</a>
</div>
</div>
1.0.0-alpha.31 (2017-08-11)
This is the last alpha release of ng-bootstrap. Next stop - beta!
1.0.0-alpha.30 (2017-08-03)
- buttons: set name on radio inputs to fix keyboard navigation (3bfd82d), closes #1704 #1706
- carousel: restart timer when interval changed (ae4e3e9), closes #1690 #1702
- datepicker: focus datepicker after opening it inside the popup (0dbe0cb), closes #1708 #1717
- datepicker: propagate model and validation state on 'input' event (38b8ffa), closes #1225 #1605
- datepicker: retain manually entered values even if invalid (4bd81c3), closes #1710 #1725
1.0.0-alpha.29 (2017-07-25)
- buttons: make buttons selectors more specific (f9bc76e), closes #1125 #1678
- modal: don't try to focus non-focusable elements (0c03671), closes #1627 #1691
- timepicker: account for CD before model write (meridian case) (ffd86bc), closes #1696 #1699
- timepicker: switch to PM when hour > 12 (5cbb429), closes #1680 #1684
- buttons: The
NgbButtonsModule
changed location (path) and content. This path might need adjusting for people importing individual modules. Before:import {NgbButtonsModule} from './buttons/radio.module'
After:import {NgbButtonsModule} from './buttons/buttons.module'
The NgbButtonsModule
now contains both checkbox and radio buttons.
- buttons: Selectors for radio buttons related directives were changed and now both label and input require ng-bootstrap specific attributes as selectors.
Before:
<div [(ngModel)]="model" ngbRadioGroup>
<label class="btn">
<input type="radio" name="radio" [value]="values[0]"/> {{ values[0] }}
</label>
<label class="btn">
<input type="radio" name="radio" [value]="values[1]"/> {{ values[1] }}
</label>
</div>
After:
<div [(ngModel)]="model" ngbRadioGroup>
<label ngbButtonLabel>
<input ngbButton type="radio" name="radio" [value]="values[0]"/> {{ values[0] }}
</label>
<label ngbButtonLabel>
<input ngbButton type="radio" name="radio" [value]="values[1]"/> {{ values[1] }}
</label>
</div>
Notice new ngbButtonLabel
and ngbButton
attributes that act as new selectors.
1.0.0-alpha.28 (2017-07-11)
- datepicker: use noon instead of midnight for date conversion (2fdd8f1), closes #1615 #1676
- timepicker: respect meridian setting when entering hours (62c5ae3), closes #1631 #1636
- typeahead: avoid unnecessary re-creation of DOM nodes (0c19153), closes #1659 #1674
- datepicker: add keyboard navigation (bd94215)
- datepicker: component uses
ChangeDetectionStrategy.OnPush
now for most of the internal implementation. Things like the dynamic internationalization or calendar change might not work anymore as these are injected services. Any internal changes in these services in runtime will not trigger datepicker re-rendering.
1.0.0-alpha.27 (2017-06-30)
- support closure-compiler in the library (5cfd9e4)
- datepicker: consider empty string inputs as valid (95d1668), closes #1588 #1637
- popover: popover not positioned properly (85fadb8), closes #1649
- positioning: top-right, right-bottom, bottom-right, left-bottom (4689b4b), closes #1561
- tooltip: properly position tooltips close to container edges (4a221c1), closes #1263 #1371 #1643
- carousel: add event on carousel slide with direction info (5d79c00), closes #1356 #1406
- datepicker: allow positioning of datepicker popup (3e22a63), closes #1082 #1570
- typeahead: export the NgbHighlight component (a89cc97), closes #1553 #1555
1.0.0-alpha.26 (2017-05-16)
- datepicker: prevent memory leak caused by ngZone subscription (c0c093b), closes #1534
- rating: properly propagate control's touched state (53aa678), closes #1514 #1532
1.0.0-alpha.25 (2017-04-25)
- ng-bootstrap requires a minimal version of Angular 4.0.3
1.0.0-alpha.24 (2017-04-22)
- buttons: add
role="group"
to radio group (c847a92), closes #1503 - collapse: remove aria-expanded from target (a24b283), closes #1492
- rating: set aria-disabled="true" when readonly (c89f2c4), closes #1489
- timepicker: replace table layout with flexbox (b94a126), closes #1498
1.0.0-alpha.23 (2017-04-12)
- accordion: disabled links are announced and focusable (e836798), closes #1443
- accordion: remove aria-controls when panel is not in DOM (44acc44), closes #1482
- accordion: remove unneeded aria-selected (92ae3fd), closes #1159 #1438
- carousel: remove inappropriate role="listbox" from carousel (39e1df5), closes #1484
- datepicker: add stricter checks on dates validity (184f45a), closes #1230 #1442
- pagination: remove duplicate accessibility labels (4960533), closes #1429
- rating: correct aria attribute setting (4575573), closes #1479
- rating: properly support disabled control state (a29da45), closes #1432 #1435
- tabs: prevent focus of disabled tabs (7d1dd97), closes #1430
- tabs: remove aria-controls when content is destroyed (a2a8a74), closes #1485
- tabset: remove unneeded tabpanel role on container (5005384), closes #1409
- timepicker: improve accessibility (b2942d3), closes #1480
- timepicker: scale chevrons when size option is used (493d0b3), closes #1300 #1405
- typeahead: fix ARIA attributes (ba4f48f), closes #1454 #1454
- datepicker: add validation (4cbea99), closes #1222 #1434
- pagination: improve accessibility (424c38f), closes #1294
- popover: add aria-describedby to popover triggering element (92e4804), closes #1412
- tooltip: add aria-describedby to tooltip triggering element (0883635), closes #1386
- typeahead: add accessibility support (e1fa7a4), closes #1321
- datepicker: Datepickers in popups are much stricter about valid dates now and won't try to auto-correct invalid dates any more. For example 2017-99-99 was considered valid previously and auto-corrected. This is not the case any more. Please check control's validity to detect invalid dates entered by users.
- datepicker: Invalid dates entered by a user into datepicker input are propagated to the model as-is. This is required to properly support validation and is in-line with behaviour of all the built-in Angular validators. From now on you need to check control's validity to determine if the entered date is valid or not.
1.0.0-alpha.22 (2017-03-24)
This is a small release that contains peerDependencies adjustments needed to support Angular 4.x. This library was tested with the latest Angular and now fully supports both 4.x and 2.x.
1.0.0-alpha.21 (2017-03-15)
- datepicker: allow datepicker calendar override (2792768), closes #1366
- datepicker: protect against invalid inputs (eaf2de1), closes #1308 #1364
- rating: don't fire change event on init (815cc20), closes #1282 #1306 #1357
- datepicker: initial version of Hijri calendar (1cf0c02)
- model: introduce the 'container' option (743db91), closes #1018 #1264 #1373
- tabset: improve accessibility (d7722ad), closes #1327
- tabset: support nodes preservation (79dd101), closes #1161 #1369
- model: The
ngbModalContainer
directive is no longer needed and was removed from this project. Just remove any references to the<template ngbModalContainer></template>
from your projects.
1.0.0-alpha.20 (2017-02-02)
- alert: add missing alert-dismissible CSS class (e2691b9), closes #1267 #1270
- datepicker: mark dates without a day as invalid (c57f913), closes #1278 #1279
- datepicker: navigation arrows not responding on Firefox when navigation=="arrows" (e2410f9), closes #1254
- timepicker: correct input alligements (9649ab2), closes #1280
- typeahead: don't modify Observable prototype (ae6abb7), closes #1242 #1256
- progressbar: add possibility to specify progressbars content (8e03090), closes #1251 #1259
- progressbar: show current value of progressbar (83e01de), closes #1251 #1269
- timepicker: add input and meridian button sizing (89c1e6b), closes #1094 #1258
1.0.0-alpha.19 (2017-01-25)
This release comes with many improvements to the datepicker: better layout as well as look & feel. We are also bumping up minimal Angular version to 2.3.1 - this is required so we can provide better APIs for modal.
- update angular version (43b8e2b)
- datepicker: account for undefined values in ngOnChanges (8803847), closes #1202 #1229
- dropdown: do not close dropdown on right button click (b6bb9e9), closes #1211
- pagination: fix unnecessary ellipsis between sibling page numbers (b607652), closes #1166 #1232 #1233
- datepicker: add full month name versions to i18n (106fa82), closes #1217
- datepicker: improve default look and feel (d88c8b7), closes #706 #1061 #1205
- tabset: add an option for tabs horizontal alignment (00114f3), closes #1210
-
minimal angular version was updated to 2.3.1. Angular@^2.3.1 will have to be used as a peer dependency from now on.
-
datepicker:
NgbDatepickerI18n
methods were renamed:
getWeekdayName
to getWeekdayShortName
getMonthName
to getMonthShortName
- datepicker: switched to flex layout instead of table-based (drop IE9 support) and prefixed datepicker-related css classes with
ngb-dp-
1.0.0-alpha.18 (2017-01-09)
This release adds full compatibility with Bootstrap CSS version 4.0.0-alpha.6!
- carousel: upgrade carousel to v4-alpha.6 (e9f539a), closes #1190
- collapse: upgrade collapse to v4-alpha.6 (6cda8b3), closes #1183
- datepicker: upgrade datepicker to v4-alpha.6 (b60e2d7), closes #1187
- dropdown: upgrade to 4.0.0-alpha.6 (d8bfe37), closes #1180 #1182
- modal: upgrade modal to v4-alpha.6 (7ab022b), closes #1185
- popover: upgrade popover to v4-alpha.6 (60fd5d9), closes #1189
- timepicker: upgrade timepicker to v4-alpha.6 (4288e22), closes #1186
- tooltip: upgrade tooltip to v4-alpha.6 (0000aa3), closes #1188
- This version is compatible with bootstrap-4.0.0-alpha.6, and is not backward-compatible with previous versions of bootstrap. If you choose to upgrade to this version of ng-bootstrap, you will thus also have to migrate to bootstrap-4.0.0-alpha.6.
1.0.0-alpha.17 (2017-01-09)
This is a very small release that restores TypeScript 1.8 compatibility. Additionally it and fixes plunks to work with Bootstrap version 4.0.0-alpha.5 (this is in preparation for full support of Bootstrap 4.0.0-alpha.6)
1.0.0-alpha.16 (2017-01-02)
- export all directives (4554855), closes #779 #1154
- pagination: add disabled state support (2827e50), closes #1153 #1155
- popover: pass context to popup open method (87d569b), closes #1145
1.0.0-alpha.15 (2016-12-15)
- buttons: properly handle disabled property on a button level (cc88ed2), closes #1088 #1089 #1095 #1141
- datepicker: protect against invalid min, max and start dates (186c0e1), closes #1062 #1092
- datepicker: use
td
in arrows navigation (6b8827a), closes #1086 - pagination: prevent focus of disabled selectors (733fc54), closes #1108 #1114 #1114
- accordion: add aria-selected (d1abd37), closes #1109
- rating: enable form integration (c090a5a), closes #1087 #1097
- tabs: add aria (97f116f), closes #1118 #1120
- rating: event emitter behind the 'rateChange' output emits asynchronously now
1.0.0-alpha.14 (2016-11-25)
- datepicker: navigation restrictions work with min- and maxDate (a12c559), closes #1057 #1077
- demo: upgrade webpack and loaders (994deda), closes #1047 #1048
- modal: stricter interpretation of backdrop clicks (3af8329), closes #1040 #1042 #1067
- progressbar: progress stays striped when type changes (e3af043), closes #1035 #1038
- rating: restore update on click functionality (a64a8a0), closes #1072 #1074
- timepicker: display 12 PM/AM when meridian is true (91ca518), closes #1031 #1033
- typeahead: clear model on user input when editable=false (cfbc24a), closes #829 #1083
- accordion: add aria attributes (ed5d4ca), closes #1070
- typeahead: do not trap keydown enter event (1702df9), closes #958 #877 #980 #1032 #1032
1.0.0-alpha.13 (2016-11-11)
This is a very small release that fixes a problem in the generated Typescript definition files (#1027).
1.0.0-alpha.12 (2016-11-10)
- carousel: enable key auto-repeat (fb6294d), closes #1025
- modal: don't stop propagation of click events from content (6a2c074), closes #1011 #1013
- typeahead: properly respect focusFirst option (282a089), closes #876 #1021
- datepicker: add navigation notification with 'navigate' output (1639626), closes #986 #1002
- rating: add keyboard support (da0b6a0), closes #1015
1.0.0-alpha.11 (2016-11-03)
- modal: restore backdrop: false functionality (0e2f386), closes #989 #990
- modal: use Injector of NgbModal for component content (5172884), closes #982 #983
- pagination: better protect against invalid inputs (a6ec937), closes #898 #979
- rating: restore compatibility with TypeScript 1.8 (951e538), closes #995 #996
- datepicker: datepicker navigation now must be hidden with
navigation='none'
and not[showNavigation]='false'
as previously
1.0.0-alpha.10 (2016-10-28)
- restore AoT compatibility with 2.1.x (991c880), closes #953 #973
- restore TypeScript 1.8 compatibility (e077ccc), closes #940 #941
- accordion: remove unnecessary tabindex usage (a240bea), closes #942 #943
- modal: make it easier to use components from lazy-loaded modules (2fb72d8), closes #947 #974
- rating: improves rating accessibility (9b5f999), closes #962
1.0.0-alpha.9 (2016-10-21)
- restore TypeScript 1.8 compatibility (1259d37), closes #904 #911
- buttons: properly handle focus on radio buttons (23d412b), closes #913
- datepicker: propagate "touched" property (deadb67), closes #918 #924
- popover: properly destroy popovers using container option (19bb887), closes #931
- timepicker: properly display chevrons in Safari on iOS (cbfa23b), closes #908 #909
- timepicker: properly display chevrons in older IEs (54cd30b), closes #935
- tooltip: properly destroy tooltips using container option (94a4d5c), closes #910 #912
- datepicker: can easily hide days outside of current month (a92c0e7), closes #937
- modal: allow interactions with components passed as content (cc4ffb0), closes #861 #903
- modals: stack modals in opening order (20ad457), closes #902 #901
1.0.0-alpha.8 (2016-10-14)
- build: properly reference rxjs from the UMD bundle (53115da), closes #884
- modal: don't error on dismiss without result handler (21de54c), closes #880 #885
- pagination: emits pageChange when collection size changes (84d555c), closes #800 #868
- radio: don't shadow checked attribute when not using buttons (de7d0e4), closes #840 #874
- popover: add support for the 'container' option (d1a22c0), closes #852 #853
- tooltip: add support for the 'container' option (b8230e5), closes #621 #871
- typeahead: add support for the focusFirst option (e86277f), closes #748 #856
1.0.0-alpha.7 (2016-10-10)
This release restores full AoT compatibility and has proper support for lazy-loaded NgbModule
. On top of this we are
shipping a lot of new features and bug fixes - details below.
- restore full AoT compatibility (2101a89), closes #796 #854
- buttons: use disabled state from a control (d9495db), closes #805 #828
- datepicker: replace not-allowed cursor with default one (807c7e7), closes #850
- datepicker: use ISO 8601 for month and weekday numbers (#797) (a173e40), closes #728
- dropdown: properly close dropdown on child elements click (fdf8d4b), closes #803 #810
- modal: support modals in lazy loaded modules (#799) (eca26cd), closes #784
- modal: properly destroy content views (3cdb0ff), closes #806 #826
- popover: properly cleanup content passed as TemplateRef (8246541), closes #827 #830
- rating: replace not-allowed cursor with default one (e888d67), closes #851
- carousel: add support to turn off interval (c5625e8), closes #804
- datepicker: infer startDate from model value (4fc52c1), closes #843 #844
- datepicker: pass current month value to 'markDisabled' callback (afe6342), closes #849
- modal: add support for custom windowClass on modals (ff132d7), closes #818 #845
- modal: allow components as content (ecdd3a0), closes #680 #727 #846
- popover: add isOpen() and shown/hidden events (3bbf512), closes #841
- rating: allow custom star templates (29c44cd), closes #815
- rating: allow decimal numbers as rating values (964d8cf), closes #817
- tooltip: add isOpen() and show/hide events (91c6054), closes #842
- The
NgbModule
module must now import using the forRoot() static method. Check the updated installation instructions for more details. - datepicker: now datepicker uses ISO 8601 for month and weekday numbers with default calendar
Before:
0=Jan; 1=Feb; ... 11=Dec
0=Sun; 1=Mon; ... 6=Sat
After:
1=Jan; 2=Feb; ... 12=Dec
1=Mon; 2=Tue; ... 7=Sun
1.0.0-alpha.6 (2016-09-23)
- accordion: rename change event to avoid conflicts (21eb610), closes #751 #756
- dropdown: support autoClose when several dropdowns exist (e2e7c1b), closes #687 #785
- popover: avoid shadowing of the native title property (2577efd), closes #736 #757
- popover: properly handle components using OnPush strategy (40bde5e), closes #781
- tabset: rename change event to avoid conflicts with native ones (9d2754f), closes #741 #747
- tooltip: hide, or avoid opening the tooltip if its value is falsy (31a035b), closes #737 #745
- tooltip: properly handle components using OnPush strategy (667833c), closes #772 #777
- typeahead: properly handle components using OnPush strategy (a2ba68a), closes #775
- alert: remove self-closing alert component (79e393d), closes #758
- datepicker: allow parsing and formatting dates in a custom way (401fcfa), closes #755
- typeahead: add support for the "editable" option (cb91905), closes #788 #789
- alert: the
NgbSelfClosingAlert
component has been removed. Check the self-closing alert demo to know how to achieve the same thing withNgbAlert
. - accordion: the
change
event on the accordion level was renamed topanelChange
.
Before:
<ngb-accordion (change)="...">
After:
<ngb-accordion (panelChange)="...">
- popover: the title property of the popover directive was renamed to popoverTitle.
Before:
<div ngbPopover="..." title="...">
After:
<div ngbPopover="..." popoverTitle="...">
- tabset: the
change
event on the tabset level was renamed totabChange
.
Before:
<ngb-tabset (change)="...">
After:
<ngb-tabset (tabChange)="...">
1.0.0-alpha.5 (2016-09-15)
This release brings support for datepicker in popups - we believe that there is a solid widget here! Alpha.5 changes content of npm package to enable AoT compilation with tree-shaking. There are also small features and bug fixes for the existing widgets - see the details below.
- popover: properly re-position popovers (a729ba9), closes #710
- tooltip: properly re-position tooltips (6748a78), closes #709
- typeahead: properly re-position typeahead window (2f59666), closes #707 #714
- typeahead: properly support disabled inputs (bf61640), closes #703
- datepicker: add support for datepickers in popups (390935b), closes #715
- datepicker: add background color when hovering day (bc89510), closes #713
- datepicker: add support for disabled datepicker (64ec99c), closes #702
- timepicker: propagate second as 0 if seconds not displayed (c1c68b0), closes #711
- typeahead: add config service to provide default values (237b4d5), closes #518 #697
- typeahead: allow veto of an item selection (e793944), closes #699 #733
- typeahead: payload of the typeahead's
selectItem
event was changed - now it is an object implementing theNgbTypeaheadSelectItemEvent
. You can easily migrate your existing code by changing:
<input [ngbTypeahead]="find" (selectItem)="onSelect($event)"/>
to
<input [ngbTypeahead]="find" (selectItem)="onSelect($event.item)"/>
- build: npm package: code in ESM (ES6 Modules) format is now published at the default location in the npm package with
package.json
'smain
entry pointing to an UMD bundle (primarily for node and webpack 1 users).
If you are using SystemJS, you should adjust your configuration to point to the UMD bundle.
1.0.0-alpha.4 (2016-09-07)
This release brings a new component - datepicker! Additionally all widgets now support global config through an injectable service. There are also small features and bug fixes for the existing widgets - see the details below.
- dropdown: don't emit duplicate change events (2e529e3), closes #694 #695
- timepicker: spinners don't submit form anymore (f131990), closes #690 #691
- typeahead: navigation buttons don't submit form anymore (79f4597), closes #693
- accordion: add config service to provide default values (1c290a2), closes #655
- alert: add config service to provide default values (e666c61), closes #661
- alert: self-closing alerts are non-dismissible by default (720c409), closes #660 #676
- carousel: add config service to provide default values (99d4386), closes #664
- datepicker: add config service to provide default values (42002d9), closes #677
- datepicker: initial version of datepicker component (#618) (9e8c5c0), closes #20
- dropdown: add config service to provide default values (e97d260), closes #688
- dropdown: add support for dropup (56b8dc5), closes #667
- pagination: add config service to provide default values (#665) (9405e0e)
- popover: add config service to provide default values (a58588c), closes #686
- progressbar: add config service to provide default values (f32f8c8)
- rating: add config service to provide default values (8b7047d), closes #671
- tabset: add config service to provide default values (609cbde), closes #673
- timepicker: add config service to provide default values (ca40f27), closes #674
- tooltip: add config service to provide default values (7107caf), closes #678
- typeahead: add support for the showHint option (5a0226d), closes #639 #640
1.0.0-alpha.3 (2016-08-30)
This release adds support for the modal service. Cross-browser compatibility was reviewed and improved. We now support all the browsers supported by Angular 2 and Bootstrap, including IE9. There are also small features and bug fixes for the existing widgets - see the details below.
- typeahead: cleans up subscription on component destroy (5dcecae), closes #620
- fix the error emitted by TS due to missing generic type (976ff34), closes #622
- support IE9 (5514a97), closes #604
- modal: add initial version of the modal service (3ef99c5), closes #3
- typeahead: add support for the 'select' output (c0dd7b7), closes #606 #610
1.0.0-alpha.2 (2016-08-10)
This release makes the code compatible with Angular 2.0.0-rc.5. There are also small features and bug fixes for the existing widgets - see the details below.
- buttons: don't interfere with 'active' class (af4de2a), closes #557 #559
- progressbar: reorder 'value' and 'max' attribute bindings for IE (30e20f5), closes #543 #544
- timepicker: format input values on blur (d9ac911), closes #511 #517
- timepicker: propagate only valid model values (8c4144a), closes #513 #516
- typeahead: resolves window items excessive rendering (862fbc5), closes #526
- typeahead: specify any type for formatters argument (86c3644), closes #553 #554
- don't accept string as boolean input (190b7ec), closes #552
- don't accept string as number input (f49fb08), closes #560
- timepicker: allow hiding the spinners (dc4962d), closes #510 #519
- typeahead: set autocomplete, autocapitalize and autocorrect off (46024c3), closes #520 #525
- number inputs in pagination could previously be set as strings. The values passed were transformed to numbers if necessary and rounded to integers. This is not supported anymore. All number inputs should now consistently be set as number, using the syntax
[attr]="value"
(for example:<ngb-pagination [pageSize]="20" ...></ngb-pagination>
instead of<ngb-pagination pageSize="20" ...></ngb-pagination>
), and rounding is not applied anymore. - boolean inputs in progressbar and pagination could be set by just adding the attribute
(for example:
<ngb-progressbar striped></ngb-progressbar>
). This is not supported anymore. All boolean inputs must now consistently be set using the syntax[attr]="value"
(for example:<ngb-progressbar [striped]="true"></ngb-progressbar>
). - you need to use
@NgModule
s to setup your application. Check https://ng-bootstrap.github.io/#/getting-started for more details.
1.0.0-alpha.1 (2016-07-29)
This release adds support for 2 new directives (timepicker and typeahead) and updates Bootstrap support to 4.0.0-alpha.3. There are also small features and bug fixes for the existing widgets - see the details below.
- dropdown: use button elements instead of links (aeeee01), closes #490
- pagination: display proper cursor on each page (dca96fd), closes #492
- progressbar: don't add bogus CSS classes (56ea4c5), closes #496
- rating: set cursor on stars of rating component (#411) (bcba259)
- accordion: add panels type option (b5ad117), closes #420 #431
- timepicker: add timepicker widget
- typeahead: add typeahead widget
- accordion: accordion implementation was overhauled to use cards instead of deprecated panels. Refer to the API docs and demo page for more details.
- pager: support for the pager widget was removed as the result of its removal from Bootstrap's CSS.
1.0.0-alpha.0 (2016-07-08)
Initial release with the following directives:
- accordion
- alert
- buttons
- carousel
- collapse
- dropdown
- pager
- pagination
- popover
- progressbar
- rating
- tabset
- tooltip