primeng 4.2.1 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/.travis.yml +20 -0
  2. package/README.md +5 -0
  3. package/components/autocomplete/autocomplete.d.ts +1 -1
  4. package/components/autocomplete/autocomplete.js +17 -11
  5. package/components/autocomplete/autocomplete.js.map +1 -1
  6. package/components/autocomplete/autocomplete.metadata.json +1 -1
  7. package/components/blockui/blockui.d.ts +2 -0
  8. package/components/blockui/blockui.js +13 -1
  9. package/components/blockui/blockui.js.map +1 -1
  10. package/components/blockui/blockui.metadata.json +1 -1
  11. package/components/breadcrumb/breadcrumb.js +1 -1
  12. package/components/breadcrumb/breadcrumb.js.map +1 -1
  13. package/components/breadcrumb/breadcrumb.metadata.json +1 -1
  14. package/components/calendar/calendar.d.ts +6 -0
  15. package/components/calendar/calendar.js +167 -58
  16. package/components/calendar/calendar.js.map +1 -1
  17. package/components/calendar/calendar.metadata.json +1 -1
  18. package/components/carousel/carousel.js +4 -2
  19. package/components/carousel/carousel.js.map +1 -1
  20. package/components/checkbox/checkbox.d.ts +2 -1
  21. package/components/checkbox/checkbox.js +7 -0
  22. package/components/checkbox/checkbox.js.map +1 -1
  23. package/components/checkbox/checkbox.metadata.json +1 -1
  24. package/components/chips/chips.d.ts +5 -2
  25. package/components/chips/chips.js +24 -4
  26. package/components/chips/chips.js.map +1 -1
  27. package/components/chips/chips.metadata.json +1 -1
  28. package/components/colorpicker/colorpicker.js +5 -5
  29. package/components/colorpicker/colorpicker.js.map +1 -1
  30. package/components/common/menuitem.d.ts +4 -1
  31. package/components/common/shared.d.ts +11 -0
  32. package/components/common/shared.js +46 -1
  33. package/components/common/shared.js.map +1 -1
  34. package/components/common/shared.metadata.json +1 -1
  35. package/components/confirmdialog/confirmdialog.d.ts +5 -2
  36. package/components/confirmdialog/confirmdialog.js +34 -18
  37. package/components/confirmdialog/confirmdialog.js.map +1 -1
  38. package/components/confirmdialog/confirmdialog.metadata.json +1 -1
  39. package/components/contextmenu/contextmenu.js +1 -1
  40. package/components/contextmenu/contextmenu.js.map +1 -1
  41. package/components/contextmenu/contextmenu.metadata.json +1 -1
  42. package/components/datalist/datalist.js +1 -1
  43. package/components/datalist/datalist.js.map +1 -1
  44. package/components/datalist/datalist.metadata.json +1 -1
  45. package/components/datatable/datatable.d.ts +25 -7
  46. package/components/datatable/datatable.js +222 -104
  47. package/components/datatable/datatable.js.map +1 -1
  48. package/components/datatable/datatable.metadata.json +1 -1
  49. package/components/dialog/dialog.d.ts +16 -8
  50. package/components/dialog/dialog.js +86 -38
  51. package/components/dialog/dialog.js.map +1 -1
  52. package/components/dialog/dialog.metadata.json +1 -1
  53. package/components/dropdown/dropdown.d.ts +8 -4
  54. package/components/dropdown/dropdown.js +24 -2
  55. package/components/dropdown/dropdown.js.map +1 -1
  56. package/components/dropdown/dropdown.metadata.json +1 -1
  57. package/components/editor/editor.d.ts +2 -1
  58. package/components/editor/editor.js +21 -4
  59. package/components/editor/editor.js.map +1 -1
  60. package/components/editor/editor.metadata.json +1 -1
  61. package/components/growl/growl.d.ts +2 -2
  62. package/components/growl/growl.js +20 -10
  63. package/components/growl/growl.js.map +1 -1
  64. package/components/growl/growl.metadata.json +1 -1
  65. package/components/inputswitch/inputswitch.js +1 -1
  66. package/components/inputswitch/inputswitch.js.map +1 -1
  67. package/components/lightbox/lightbox.js +1 -1
  68. package/components/lightbox/lightbox.js.map +1 -1
  69. package/components/lightbox/lightbox.metadata.json +1 -1
  70. package/components/listbox/listbox.d.ts +12 -4
  71. package/components/listbox/listbox.js +73 -39
  72. package/components/listbox/listbox.js.map +1 -1
  73. package/components/listbox/listbox.metadata.json +1 -1
  74. package/components/megamenu/megamenu.js +1 -1
  75. package/components/megamenu/megamenu.js.map +1 -1
  76. package/components/megamenu/megamenu.metadata.json +1 -1
  77. package/components/menu/menu.js +1 -1
  78. package/components/menu/menu.js.map +1 -1
  79. package/components/menu/menu.metadata.json +1 -1
  80. package/components/menubar/menubar.js +1 -1
  81. package/components/menubar/menubar.js.map +1 -1
  82. package/components/menubar/menubar.metadata.json +1 -1
  83. package/components/message/message.d.ts +7 -0
  84. package/components/message/message.js +77 -0
  85. package/components/message/message.js.map +1 -0
  86. package/components/message/message.metadata.json +1 -0
  87. package/components/messages/messages.js +3 -3
  88. package/components/messages/messages.js.map +1 -1
  89. package/components/messages/messages.metadata.json +1 -1
  90. package/components/multiselect/multiselect.d.ts +15 -10
  91. package/components/multiselect/multiselect.js +73 -27
  92. package/components/multiselect/multiselect.js.map +1 -1
  93. package/components/multiselect/multiselect.metadata.json +1 -1
  94. package/components/orderlist/orderlist.js +10 -6
  95. package/components/orderlist/orderlist.js.map +1 -1
  96. package/components/orderlist/orderlist.metadata.json +1 -1
  97. package/components/overlaypanel/overlaypanel.d.ts +10 -5
  98. package/components/overlaypanel/overlaypanel.js +61 -40
  99. package/components/overlaypanel/overlaypanel.js.map +1 -1
  100. package/components/overlaypanel/overlaypanel.metadata.json +1 -1
  101. package/components/paginator/paginator.d.ts +4 -1
  102. package/components/paginator/paginator.js +27 -8
  103. package/components/paginator/paginator.js.map +1 -1
  104. package/components/paginator/paginator.metadata.json +1 -1
  105. package/components/panel/panel.d.ts +1 -0
  106. package/components/panel/panel.js +6 -1
  107. package/components/panel/panel.js.map +1 -1
  108. package/components/panel/panel.metadata.json +1 -1
  109. package/components/panelmenu/panelmenu.d.ts +2 -0
  110. package/components/panelmenu/panelmenu.js +25 -3
  111. package/components/panelmenu/panelmenu.js.map +1 -1
  112. package/components/panelmenu/panelmenu.metadata.json +1 -1
  113. package/components/picklist/picklist.d.ts +5 -2
  114. package/components/picklist/picklist.js +39 -7
  115. package/components/picklist/picklist.js.map +1 -1
  116. package/components/picklist/picklist.metadata.json +1 -1
  117. package/components/progressbar/progressbar.d.ts +3 -0
  118. package/components/progressbar/progressbar.js +14 -1
  119. package/components/progressbar/progressbar.js.map +1 -1
  120. package/components/progressbar/progressbar.metadata.json +1 -1
  121. package/components/progressspinner/progressspinner.d.ts +9 -0
  122. package/components/progressspinner/progressspinner.js +62 -0
  123. package/components/progressspinner/progressspinner.js.map +1 -0
  124. package/components/progressspinner/progressspinner.metadata.json +1 -0
  125. package/components/rating/rating.d.ts +6 -0
  126. package/components/rating/rating.js +28 -1
  127. package/components/rating/rating.js.map +1 -1
  128. package/components/rating/rating.metadata.json +1 -1
  129. package/components/schedule/schedule.d.ts +1 -0
  130. package/components/schedule/schedule.js +5 -0
  131. package/components/schedule/schedule.js.map +1 -1
  132. package/components/schedule/schedule.metadata.json +1 -1
  133. package/components/selectbutton/selectbutton.d.ts +6 -1
  134. package/components/selectbutton/selectbutton.js +26 -7
  135. package/components/selectbutton/selectbutton.js.map +1 -1
  136. package/components/selectbutton/selectbutton.metadata.json +1 -1
  137. package/components/sidebar/sidebar.d.ts +38 -0
  138. package/components/sidebar/sidebar.js +214 -0
  139. package/components/sidebar/sidebar.js.map +1 -0
  140. package/components/sidebar/sidebar.metadata.json +1 -0
  141. package/components/slidemenu/slidemenu.js +1 -1
  142. package/components/slidemenu/slidemenu.js.map +1 -1
  143. package/components/slidemenu/slidemenu.metadata.json +1 -1
  144. package/components/slider/slider.js +18 -16
  145. package/components/slider/slider.js.map +1 -1
  146. package/components/spinner/spinner.d.ts +4 -3
  147. package/components/spinner/spinner.js +12 -7
  148. package/components/spinner/spinner.js.map +1 -1
  149. package/components/spinner/spinner.metadata.json +1 -1
  150. package/components/splitbutton/splitbutton.js +1 -1
  151. package/components/splitbutton/splitbutton.js.map +1 -1
  152. package/components/splitbutton/splitbutton.metadata.json +1 -1
  153. package/components/steps/steps.js +1 -1
  154. package/components/steps/steps.js.map +1 -1
  155. package/components/steps/steps.metadata.json +1 -1
  156. package/components/tabmenu/tabmenu.d.ts +0 -1
  157. package/components/tabmenu/tabmenu.js +1 -6
  158. package/components/tabmenu/tabmenu.js.map +1 -1
  159. package/components/tabmenu/tabmenu.metadata.json +1 -1
  160. package/components/tieredmenu/tieredmenu.js +5 -3
  161. package/components/tieredmenu/tieredmenu.js.map +1 -1
  162. package/components/tieredmenu/tieredmenu.metadata.json +1 -1
  163. package/components/tooltip/tooltip.d.ts +1 -0
  164. package/components/tooltip/tooltip.js +11 -0
  165. package/components/tooltip/tooltip.js.map +1 -1
  166. package/components/tooltip/tooltip.metadata.json +1 -1
  167. package/components/treetable/treetable.js +2 -2
  168. package/components/treetable/treetable.js.map +1 -1
  169. package/components/treetable/treetable.metadata.json +1 -1
  170. package/components/utils/objectutils.d.ts +2 -0
  171. package/components/utils/objectutils.js +11 -0
  172. package/components/utils/objectutils.js.map +1 -1
  173. package/components/utils/objectutils.metadata.json +1 -1
  174. package/package-lock.json +14366 -0
  175. package/package.json +34 -34
  176. package/primeng.d.ts +3 -0
  177. package/primeng.js +3 -0
  178. package/resources/primeng.css +342 -40
  179. package/resources/primeng.min.css +1 -1
  180. package/resources/themes/_theme.scss +93 -83
  181. package/resources/themes/cruze/theme.css +12 -3
  182. package/resources/themes/cruze/theme.css.map +7 -0
  183. package/resources/themes/cupertino/theme.css +12 -3
  184. package/resources/themes/cupertino/theme.css.map +7 -0
  185. package/resources/themes/darkness/theme.css +12 -3
  186. package/resources/themes/darkness/theme.css.map +7 -0
  187. package/resources/themes/flick/theme.css +12 -3
  188. package/resources/themes/flick/theme.css.map +7 -0
  189. package/resources/themes/home/theme.css +12 -3
  190. package/resources/themes/home/theme.css.map +7 -0
  191. package/resources/themes/kasper/theme.css +12 -3
  192. package/resources/themes/kasper/theme.css.map +7 -0
  193. package/resources/themes/lightness/theme.css +12 -3
  194. package/resources/themes/lightness/theme.css.map +7 -0
  195. package/resources/themes/ludvig/theme.css +12 -3
  196. package/resources/themes/ludvig/theme.css.map +7 -0
  197. package/resources/themes/omega/theme.css +20 -9
  198. package/resources/themes/omega/theme.css.map +1 -1
  199. package/resources/themes/omega/theme.scss +21 -6
  200. package/resources/themes/pepper-grinder/theme.css +12 -3
  201. package/resources/themes/pepper-grinder/theme.css.map +7 -0
  202. package/resources/themes/redmond/theme.css +12 -3
  203. package/resources/themes/redmond/theme.css.map +7 -0
  204. package/resources/themes/rocket/theme.css +12 -3
  205. package/resources/themes/rocket/theme.css.map +7 -0
  206. package/resources/themes/south-street/theme.css +12 -3
  207. package/resources/themes/south-street/theme.css.map +7 -0
  208. package/resources/themes/start/theme.css +12 -3
  209. package/resources/themes/start/theme.css.map +7 -0
  210. package/resources/themes/trontastic/theme.css +12 -3
  211. package/resources/themes/trontastic/theme.css.map +7 -0
  212. package/resources/themes/voclain/theme.css +12 -3
  213. package/resources/themes/voclain/theme.css.map +7 -0
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":3,"metadata":{"Breadcrumb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"p-breadcrumb","template":"\n <div [class]=\"styleClass\" [ngStyle]=\"style\" [ngClass]=\"'ui-breadcrumb ui-widget ui-widget-header ui-helper-clearfix ui-corner-all'\">\n <ul>\n <li class=\"ui-breadcrumb-home fa fa-home\" *ngIf=\"!home\"></li>\n <li class=\"ui-breadcrumb-home\" *ngIf=\"home\">\n <a *ngIf=\"!home.routerLink\" [href]=\"home.url||'#'\" class=\"ui-menuitem-link\" (click)=\"itemClick($event, home)\" \n [ngClass]=\"{'ui-state-disabled':home.disabled}\" [attr.target]=\"home.target\" [attr.title]=\"home.title\">\n <span class=\"fa fa-home\"></span>\n </a>\n <a *ngIf=\"home.routerLink\" [routerLink]=\"home.routerLink\" [routerLinkActive]=\"'ui-state-active'\" [routerLinkActiveOptions]=\"home.routerLinkActiveOptions||{exact:false}\" class=\"ui-menuitem-link\" (click)=\"itemClick($event, home)\" \n [ngClass]=\"{'ui-state-disabled':home.disabled}\" [attr.target]=\"home.target\" [attr.title]=\"home.title\">\n <span class=\"fa fa-home\"></span>\n </a>\n </li>\n <li class=\"ui-breadcrumb-chevron fa fa-chevron-right\" *ngIf=\"model\"></li>\n <ng-template ngFor let-item let-end=\"last\" [ngForOf]=\"model\">\n <li role=\"menuitem\">\n <a *ngIf=\"!item.routerLink\" [href]=\"item.url||'#'\" class=\"ui-menuitem-link\" (click)=\"itemClick($event, item)\" \n [ngClass]=\"{'ui-state-disabled':item.disabled}\" [attr.target]=\"item.target\" [attr.title]=\"item.title\">\n <span class=\"ui-menuitem-text\">{{item.label}}</span>\n </a>\n <a *ngIf=\"item.routerLink\" [routerLink]=\"item.routerLink\" [routerLinkActive]=\"'ui-state-active'\" [routerLinkActiveOptions]=\"item.routerLinkActiveOptions||{exact:false}\" class=\"ui-menuitem-link\" (click)=\"itemClick($event, item)\" \n [ngClass]=\"{'ui-state-disabled':item.disabled}\" [attr.target]=\"item.target\" [attr.title]=\"item.title\">\n <span class=\"ui-menuitem-text\">{{item.label}}</span>\n </a>\n </li>\n <li class=\"ui-breadcrumb-chevron fa fa-chevron-right\" *ngIf=\"!end\"></li>\n </ng-template>\n </ul>\n </div>\n "}]}],"members":{"model":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"style":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"styleClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"home":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"itemClick":[{"__symbolic":"method"}],"onHomeClick":[{"__symbolic":"method"}]}},"BreadcrumbModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule"}],"exports":[{"__symbolic":"reference","name":"Breadcrumb"},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule"}],"declarations":[{"__symbolic":"reference","name":"Breadcrumb"}]}]}]}}},{"__symbolic":"module","version":1,"metadata":{"Breadcrumb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"p-breadcrumb","template":"\n <div [class]=\"styleClass\" [ngStyle]=\"style\" [ngClass]=\"'ui-breadcrumb ui-widget ui-widget-header ui-helper-clearfix ui-corner-all'\">\n <ul>\n <li class=\"ui-breadcrumb-home fa fa-home\" *ngIf=\"!home\"></li>\n <li class=\"ui-breadcrumb-home\" *ngIf=\"home\">\n <a *ngIf=\"!home.routerLink\" [href]=\"home.url||'#'\" class=\"ui-menuitem-link\" (click)=\"itemClick($event, home)\" \n [ngClass]=\"{'ui-state-disabled':home.disabled}\" [attr.target]=\"home.target\" [attr.title]=\"home.title\">\n <span class=\"fa fa-home\"></span>\n </a>\n <a *ngIf=\"home.routerLink\" [routerLink]=\"home.routerLink\" [routerLinkActive]=\"'ui-state-active'\" [routerLinkActiveOptions]=\"home.routerLinkActiveOptions||{exact:false}\" class=\"ui-menuitem-link\" (click)=\"itemClick($event, home)\" \n [ngClass]=\"{'ui-state-disabled':home.disabled}\" [attr.target]=\"home.target\" [attr.title]=\"home.title\">\n <span class=\"fa fa-home\"></span>\n </a>\n </li>\n <li class=\"ui-breadcrumb-chevron fa fa-chevron-right\" *ngIf=\"model\"></li>\n <ng-template ngFor let-item let-end=\"last\" [ngForOf]=\"model\">\n <li role=\"menuitem\">\n <a *ngIf=\"!item.routerLink\" [href]=\"item.url||'#'\" class=\"ui-menuitem-link\" (click)=\"itemClick($event, item)\" \n [ngClass]=\"{'ui-state-disabled':item.disabled}\" [attr.target]=\"item.target\" [attr.title]=\"item.title\">\n <span class=\"ui-menuitem-text\">{{item.label}}</span>\n </a>\n <a *ngIf=\"item.routerLink\" [routerLink]=\"item.routerLink\" [routerLinkActive]=\"'ui-state-active'\" [routerLinkActiveOptions]=\"item.routerLinkActiveOptions||{exact:false}\" class=\"ui-menuitem-link\" (click)=\"itemClick($event, item)\" \n [ngClass]=\"{'ui-state-disabled':item.disabled}\" [attr.target]=\"item.target\" [attr.title]=\"item.title\">\n <span class=\"ui-menuitem-text\">{{item.label}}</span>\n </a>\n </li>\n <li class=\"ui-breadcrumb-chevron fa fa-chevron-right\" *ngIf=\"!end\"></li>\n </ng-template>\n </ul>\n </div>\n "}]}],"members":{"model":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"style":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"styleClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"home":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"itemClick":[{"__symbolic":"method"}],"onHomeClick":[{"__symbolic":"method"}]}},"BreadcrumbModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule"}],"exports":[{"__symbolic":"reference","name":"Breadcrumb"},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule"}],"declarations":[{"__symbolic":"reference","name":"Breadcrumb"}]}]}]}}}]
1
+ [{"__symbolic":"module","version":3,"metadata":{"Breadcrumb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"p-breadcrumb","template":"\n <div [class]=\"styleClass\" [ngStyle]=\"style\" [ngClass]=\"'ui-breadcrumb ui-widget ui-widget-header ui-helper-clearfix ui-corner-all'\">\n <ul>\n <li class=\"ui-breadcrumb-home\" *ngIf=\"home\">\n <a *ngIf=\"!home.routerLink\" [href]=\"home.url||'#'\" class=\"ui-menuitem-link\" (click)=\"itemClick($event, home)\" \n [ngClass]=\"{'ui-state-disabled':home.disabled}\" [attr.target]=\"home.target\" [attr.title]=\"home.title\">\n <span [ngClass]=\"home.icon||'fa fa-home'\"></span>\n </a>\n <a *ngIf=\"home.routerLink\" [routerLink]=\"home.routerLink\" [queryParams]=\"home.queryParams\" [routerLinkActive]=\"'ui-state-active'\" [routerLinkActiveOptions]=\"home.routerLinkActiveOptions||{exact:false}\" class=\"ui-menuitem-link\" (click)=\"itemClick($event, home)\" \n [ngClass]=\"{'ui-state-disabled':home.disabled}\" [attr.target]=\"home.target\" [attr.title]=\"home.title\">\n <span class=\"fa fa-home\"></span>\n </a>\n </li>\n <li class=\"ui-breadcrumb-chevron fa fa-chevron-right\" *ngIf=\"model&&home\"></li>\n <ng-template ngFor let-item let-end=\"last\" [ngForOf]=\"model\">\n <li role=\"menuitem\">\n <a *ngIf=\"!item.routerLink\" [href]=\"item.url||'#'\" class=\"ui-menuitem-link\" (click)=\"itemClick($event, item)\" \n [ngClass]=\"{'ui-state-disabled':item.disabled}\" [attr.target]=\"item.target\" [attr.title]=\"item.title\">\n <span class=\"ui-menuitem-text\">{{item.label}}</span>\n </a>\n <a *ngIf=\"item.routerLink\" [routerLink]=\"item.routerLink\" [queryParams]=\"item.queryParams\" [routerLinkActive]=\"'ui-state-active'\" [routerLinkActiveOptions]=\"item.routerLinkActiveOptions||{exact:false}\" class=\"ui-menuitem-link\" (click)=\"itemClick($event, item)\" \n [ngClass]=\"{'ui-state-disabled':item.disabled}\" [attr.target]=\"item.target\" [attr.title]=\"item.title\">\n <span class=\"ui-menuitem-text\">{{item.label}}</span>\n </a>\n </li>\n <li class=\"ui-breadcrumb-chevron fa fa-chevron-right\" *ngIf=\"!end\"></li>\n </ng-template>\n </ul>\n </div>\n "}]}],"members":{"model":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"style":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"styleClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"home":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"itemClick":[{"__symbolic":"method"}],"onHomeClick":[{"__symbolic":"method"}]}},"BreadcrumbModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule"}],"exports":[{"__symbolic":"reference","name":"Breadcrumb"},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule"}],"declarations":[{"__symbolic":"reference","name":"Breadcrumb"}]}]}]}}},{"__symbolic":"module","version":1,"metadata":{"Breadcrumb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"p-breadcrumb","template":"\n <div [class]=\"styleClass\" [ngStyle]=\"style\" [ngClass]=\"'ui-breadcrumb ui-widget ui-widget-header ui-helper-clearfix ui-corner-all'\">\n <ul>\n <li class=\"ui-breadcrumb-home\" *ngIf=\"home\">\n <a *ngIf=\"!home.routerLink\" [href]=\"home.url||'#'\" class=\"ui-menuitem-link\" (click)=\"itemClick($event, home)\" \n [ngClass]=\"{'ui-state-disabled':home.disabled}\" [attr.target]=\"home.target\" [attr.title]=\"home.title\">\n <span [ngClass]=\"home.icon||'fa fa-home'\"></span>\n </a>\n <a *ngIf=\"home.routerLink\" [routerLink]=\"home.routerLink\" [queryParams]=\"home.queryParams\" [routerLinkActive]=\"'ui-state-active'\" [routerLinkActiveOptions]=\"home.routerLinkActiveOptions||{exact:false}\" class=\"ui-menuitem-link\" (click)=\"itemClick($event, home)\" \n [ngClass]=\"{'ui-state-disabled':home.disabled}\" [attr.target]=\"home.target\" [attr.title]=\"home.title\">\n <span class=\"fa fa-home\"></span>\n </a>\n </li>\n <li class=\"ui-breadcrumb-chevron fa fa-chevron-right\" *ngIf=\"model&&home\"></li>\n <ng-template ngFor let-item let-end=\"last\" [ngForOf]=\"model\">\n <li role=\"menuitem\">\n <a *ngIf=\"!item.routerLink\" [href]=\"item.url||'#'\" class=\"ui-menuitem-link\" (click)=\"itemClick($event, item)\" \n [ngClass]=\"{'ui-state-disabled':item.disabled}\" [attr.target]=\"item.target\" [attr.title]=\"item.title\">\n <span class=\"ui-menuitem-text\">{{item.label}}</span>\n </a>\n <a *ngIf=\"item.routerLink\" [routerLink]=\"item.routerLink\" [queryParams]=\"item.queryParams\" [routerLinkActive]=\"'ui-state-active'\" [routerLinkActiveOptions]=\"item.routerLinkActiveOptions||{exact:false}\" class=\"ui-menuitem-link\" (click)=\"itemClick($event, item)\" \n [ngClass]=\"{'ui-state-disabled':item.disabled}\" [attr.target]=\"item.target\" [attr.title]=\"item.title\">\n <span class=\"ui-menuitem-text\">{{item.label}}</span>\n </a>\n </li>\n <li class=\"ui-breadcrumb-chevron fa fa-chevron-right\" *ngIf=\"!end\"></li>\n </ng-template>\n </ul>\n </div>\n "}]}],"members":{"model":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"style":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"styleClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"home":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"itemClick":[{"__symbolic":"method"}],"onHomeClick":[{"__symbolic":"method"}]}},"BreadcrumbModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule"}],"exports":[{"__symbolic":"reference","name":"Breadcrumb"},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule"}],"declarations":[{"__symbolic":"reference","name":"Breadcrumb"}]}]}]}}}]
@@ -53,6 +53,8 @@ export declare class Calendar implements AfterViewInit, AfterViewChecked, OnInit
53
53
  showButtonBar: boolean;
54
54
  todayButtonStyleClass: string;
55
55
  clearButtonStyleClass: string;
56
+ autoZIndex: boolean;
57
+ baseZIndex: number;
56
58
  onFocus: EventEmitter<any>;
57
59
  onBlur: EventEmitter<any>;
58
60
  onClose: EventEmitter<any>;
@@ -60,6 +62,7 @@ export declare class Calendar implements AfterViewInit, AfterViewChecked, OnInit
60
62
  onInput: EventEmitter<any>;
61
63
  onTodayClick: EventEmitter<any>;
62
64
  onClearClick: EventEmitter<any>;
65
+ onMonthChange: EventEmitter<any>;
63
66
  templates: QueryList<any>;
64
67
  _locale: LocaleSettings;
65
68
  tabindex: number;
@@ -148,10 +151,13 @@ export declare class Calendar implements AfterViewInit, AfterViewChecked, OnInit
148
151
  onYearDropdownChange(y: string): void;
149
152
  incrementHour(event: any): void;
150
153
  decrementHour(event: any): void;
154
+ validateHour(hour: any): boolean;
151
155
  incrementMinute(event: any): void;
152
156
  decrementMinute(event: any): void;
157
+ validateMinute(minute: any): boolean;
153
158
  incrementSecond(event: any): void;
154
159
  decrementSecond(event: any): void;
160
+ validateSecond(second: any): boolean;
155
161
  updateTime(): void;
156
162
  toggleAMPM(event: any): void;
157
163
  onUserInput(event: any): void;
@@ -42,6 +42,8 @@ var Calendar = (function () {
42
42
  this.selectionMode = 'single';
43
43
  this.todayButtonStyleClass = 'ui-button-secondary';
44
44
  this.clearButtonStyleClass = 'ui-button-secondary';
45
+ this.autoZIndex = true;
46
+ this.baseZIndex = 0;
45
47
  this.onFocus = new core_1.EventEmitter();
46
48
  this.onBlur = new core_1.EventEmitter();
47
49
  this.onClose = new core_1.EventEmitter();
@@ -49,6 +51,7 @@ var Calendar = (function () {
49
51
  this.onInput = new core_1.EventEmitter();
50
52
  this.onTodayClick = new core_1.EventEmitter();
51
53
  this.onClearClick = new core_1.EventEmitter();
54
+ this.onMonthChange = new core_1.EventEmitter();
52
55
  this._locale = {
53
56
  firstDayOfWeek: 0,
54
57
  dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
@@ -267,6 +270,7 @@ var Calendar = (function () {
267
270
  else {
268
271
  this.currentMonth--;
269
272
  }
273
+ this.onMonthChange.emit({ month: this.currentMonth + 1, year: this.currentYear });
270
274
  this.createMonth(this.currentMonth, this.currentYear);
271
275
  event.preventDefault();
272
276
  };
@@ -285,6 +289,7 @@ var Calendar = (function () {
285
289
  else {
286
290
  this.currentMonth++;
287
291
  }
292
+ this.onMonthChange.emit({ month: this.currentMonth + 1, year: this.currentYear });
288
293
  this.createMonth(this.currentMonth, this.currentYear);
289
294
  event.preventDefault();
290
295
  };
@@ -314,7 +319,7 @@ var Calendar = (function () {
314
319
  }
315
320
  }
316
321
  }
317
- if (this.isSingleSelection()) {
322
+ if (!this.showTime && this.isSingleSelection()) {
318
323
  this.overlayVisible = false;
319
324
  }
320
325
  this.updateInputfield();
@@ -387,6 +392,12 @@ var Calendar = (function () {
387
392
  date.setMinutes(this.currentMinute);
388
393
  date.setSeconds(this.currentSecond);
389
394
  }
395
+ if (this.minDate && this.minDate > date) {
396
+ date = this.minDate;
397
+ }
398
+ if (this.maxDate && this.maxDate < date) {
399
+ date = this.maxDate;
400
+ }
390
401
  if (this.isSingleSelection()) {
391
402
  this.updateModel(date);
392
403
  }
@@ -397,7 +408,7 @@ var Calendar = (function () {
397
408
  if (this.value && this.value.length) {
398
409
  var startDate = this.value[0];
399
410
  var endDate = this.value[1];
400
- if (!endDate && date.getTime() > startDate.getTime()) {
411
+ if (!endDate && date.getTime() >= startDate.getTime()) {
401
412
  endDate = date;
402
413
  }
403
414
  else {
@@ -494,13 +505,12 @@ var Calendar = (function () {
494
505
  return false;
495
506
  };
496
507
  Calendar.prototype.isDateBetween = function (start, end, dateMeta) {
508
+ var between = false;
497
509
  if (start && end) {
498
- return start.getDate() < dateMeta.day && start.getMonth() <= dateMeta.month && start.getFullYear() <= dateMeta.year &&
499
- end.getDate() > dateMeta.day && end.getMonth() >= dateMeta.month && end.getFullYear() >= dateMeta.year;
500
- }
501
- else {
502
- return false;
510
+ var date = new Date(dateMeta.year, dateMeta.month, dateMeta.day);
511
+ return start.getTime() <= date.getTime() && end.getTime() >= date.getTime();
503
512
  }
513
+ return between;
504
514
  };
505
515
  Calendar.prototype.isSingleSelection = function () {
506
516
  return this.selectionMode === 'single';
@@ -614,52 +624,114 @@ var Calendar = (function () {
614
624
  };
615
625
  Calendar.prototype.incrementHour = function (event) {
616
626
  var newHour = this.currentHour + this.stepHour;
617
- if (this.hourFormat == '24')
618
- this.currentHour = (newHour >= 24) ? (newHour - 24) : newHour;
619
- else if (this.hourFormat == '12')
620
- this.currentHour = (newHour >= 13) ? (newHour - 12) : newHour;
621
- this.updateTime();
627
+ if (this.validateHour(newHour)) {
628
+ if (this.hourFormat == '24')
629
+ this.currentHour = (newHour >= 24) ? (newHour - 24) : newHour;
630
+ else if (this.hourFormat == '12')
631
+ this.currentHour = (newHour >= 13) ? (newHour - 12) : newHour;
632
+ this.updateTime();
633
+ }
622
634
  event.preventDefault();
623
635
  };
624
636
  Calendar.prototype.decrementHour = function (event) {
625
637
  var newHour = this.currentHour - this.stepHour;
626
- if (this.hourFormat == '24')
627
- this.currentHour = (newHour < 0) ? (24 + newHour) : newHour;
628
- else if (this.hourFormat == '12')
629
- this.currentHour = (newHour <= 0) ? (12 + newHour) : newHour;
630
- this.updateTime();
638
+ if (this.validateHour(newHour)) {
639
+ if (this.hourFormat == '24')
640
+ this.currentHour = (newHour < 0) ? (24 + newHour) : newHour;
641
+ else if (this.hourFormat == '12')
642
+ this.currentHour = (newHour <= 0) ? (12 + newHour) : newHour;
643
+ this.updateTime();
644
+ }
631
645
  event.preventDefault();
632
646
  };
647
+ Calendar.prototype.validateHour = function (hour) {
648
+ var valid = true;
649
+ var valueDateString = this.value ? this.value.toDateString() : null;
650
+ if (this.minDate && valueDateString && this.minDate.toDateString() === valueDateString) {
651
+ if (this.minDate.getHours() > hour) {
652
+ valid = false;
653
+ }
654
+ }
655
+ if (this.maxDate && valueDateString && this.maxDate.toDateString() === valueDateString) {
656
+ if (this.maxDate.getHours() < hour) {
657
+ valid = false;
658
+ }
659
+ }
660
+ return valid;
661
+ };
633
662
  Calendar.prototype.incrementMinute = function (event) {
634
663
  var newMinute = this.currentMinute + this.stepMinute;
635
- this.currentMinute = (newMinute > 59) ? newMinute - 60 : newMinute;
636
- this.updateTime();
664
+ if (this.validateMinute(newMinute)) {
665
+ this.currentMinute = (newMinute > 59) ? newMinute - 60 : newMinute;
666
+ this.updateTime();
667
+ }
637
668
  event.preventDefault();
638
669
  };
639
670
  Calendar.prototype.decrementMinute = function (event) {
640
671
  var newMinute = this.currentMinute - this.stepMinute;
641
- this.currentMinute = (newMinute < 0) ? 60 + newMinute : newMinute;
642
- this.updateTime();
672
+ if (this.validateMinute(newMinute)) {
673
+ this.currentMinute = (newMinute < 0) ? 60 + newMinute : newMinute;
674
+ this.updateTime();
675
+ }
643
676
  event.preventDefault();
644
677
  };
678
+ Calendar.prototype.validateMinute = function (minute) {
679
+ var valid = true;
680
+ var valueDateString = this.value ? this.value.toDateString() : null;
681
+ if (this.minDate && valueDateString && this.minDate.toDateString() === valueDateString) {
682
+ if (this.minDate.getMinutes() > minute) {
683
+ valid = false;
684
+ }
685
+ }
686
+ if (this.maxDate && valueDateString && this.maxDate.toDateString() === valueDateString) {
687
+ if (this.maxDate.getMinutes() < minute) {
688
+ valid = false;
689
+ }
690
+ }
691
+ return valid;
692
+ };
645
693
  Calendar.prototype.incrementSecond = function (event) {
646
694
  var newSecond = this.currentSecond + this.stepSecond;
647
- this.currentSecond = (newSecond > 59) ? newSecond - 60 : newSecond;
648
- this.updateTime();
695
+ if (this.validateSecond(newSecond)) {
696
+ this.currentSecond = (newSecond > 59) ? newSecond - 60 : newSecond;
697
+ this.updateTime();
698
+ }
649
699
  event.preventDefault();
650
700
  };
651
701
  Calendar.prototype.decrementSecond = function (event) {
652
702
  var newSecond = this.currentSecond - this.stepSecond;
653
- this.currentSecond = (newSecond < 0) ? 60 + newSecond : newSecond;
654
- this.updateTime();
703
+ if (this.validateSecond(newSecond)) {
704
+ this.currentSecond = (newSecond < 0) ? 60 + newSecond : newSecond;
705
+ this.updateTime();
706
+ }
655
707
  event.preventDefault();
656
708
  };
709
+ Calendar.prototype.validateSecond = function (second) {
710
+ var valid = true;
711
+ var valueDateString = this.value ? this.value.toDateString() : null;
712
+ if (this.minDate && valueDateString && this.minDate.toDateString() === valueDateString) {
713
+ if (this.minDate.getSeconds() > second) {
714
+ valid = false;
715
+ }
716
+ }
717
+ if (this.maxDate && valueDateString && this.maxDate.toDateString() === valueDateString) {
718
+ if (this.maxDate.getSeconds() < second) {
719
+ valid = false;
720
+ }
721
+ }
722
+ return valid;
723
+ };
657
724
  Calendar.prototype.updateTime = function () {
658
- var value = this.value || new Date();
659
- if (this.hourFormat === '12' && this.pm && this.currentHour != 12)
660
- value.setHours(this.currentHour + 12);
661
- else
725
+ var value = this.value ? new Date(this.value.getTime()) : new Date();
726
+ if (this.hourFormat == '12') {
727
+ if (this.currentHour === 12)
728
+ value.setHours(this.pm ? 12 : 0);
729
+ else
730
+ value.setHours(this.pm ? this.currentHour + 12 : this.currentHour);
731
+ }
732
+ else {
662
733
  value.setHours(this.currentHour);
734
+ }
663
735
  value.setMinutes(this.currentMinute);
664
736
  value.setSeconds(this.currentSecond);
665
737
  this.updateModel(value);
@@ -745,10 +817,14 @@ var Calendar = (function () {
745
817
  };
746
818
  Calendar.prototype.updateUI = function () {
747
819
  var val = this.value || this.defaultDate || new Date();
820
+ if (Array.isArray(val)) {
821
+ val = val[0];
822
+ }
748
823
  this.createMonth(val.getMonth(), val.getFullYear());
749
824
  if (this.showTime || this.timeOnly) {
750
825
  var hours = val.getHours();
751
826
  if (this.hourFormat == '12') {
827
+ this.pm = hours > 11;
752
828
  if (hours >= 12) {
753
829
  this.currentHour = (hours == 12) ? 12 : hours - 12;
754
830
  }
@@ -769,7 +845,9 @@ var Calendar = (function () {
769
845
  Calendar.prototype.showOverlay = function () {
770
846
  this.overlayVisible = true;
771
847
  this.overlayShown = true;
772
- this.overlayViewChild.nativeElement.style.zIndex = String(++domhandler_1.DomHandler.zindex);
848
+ if (this.autoZIndex) {
849
+ this.overlayViewChild.nativeElement.style.zIndex = String(this.baseZIndex + (++domhandler_1.DomHandler.zindex));
850
+ }
773
851
  this.bindDocumentClickListener();
774
852
  };
775
853
  Calendar.prototype.alignOverlay = function () {
@@ -798,65 +876,80 @@ var Calendar = (function () {
798
876
  // Ported from jquery-ui datepicker formatDate
799
877
  Calendar.prototype.formatDate = function (date, format) {
800
878
  if (!date) {
801
- return "";
879
+ return '';
802
880
  }
803
- var iFormat, lookAhead = function (match) {
881
+ var iFormat;
882
+ var lookAhead = function (match) {
804
883
  var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
805
884
  if (matches) {
806
885
  iFormat++;
807
886
  }
808
887
  return matches;
809
888
  }, formatNumber = function (match, value, len) {
810
- var num = "" + value;
889
+ var num = '' + value;
811
890
  if (lookAhead(match)) {
812
891
  while (num.length < len) {
813
- num = "0" + num;
892
+ num = '0' + num;
814
893
  }
815
894
  }
816
895
  return num;
817
896
  }, formatName = function (match, value, shortNames, longNames) {
818
897
  return (lookAhead(match) ? longNames[value] : shortNames[value]);
819
- }, output = "", literal = false;
898
+ };
899
+ var output = '';
900
+ var literal = false;
820
901
  if (date) {
821
902
  for (iFormat = 0; iFormat < format.length; iFormat++) {
822
903
  if (literal) {
823
- if (format.charAt(iFormat) === "'" && !lookAhead("'"))
904
+ if (format.charAt(iFormat) === '\'' && !lookAhead('\'')) {
824
905
  literal = false;
825
- else
906
+ }
907
+ else {
826
908
  output += format.charAt(iFormat);
909
+ }
827
910
  }
828
911
  else {
829
912
  switch (format.charAt(iFormat)) {
830
- case "d":
831
- output += formatNumber("d", date.getDate(), 2);
913
+ case 'd':
914
+ output += formatNumber('d', this.utc ? date.getUTCDate() : date.getDate(), 2);
832
915
  break;
833
- case "D":
834
- output += formatName("D", date.getDay(), this.locale.dayNamesShort, this.locale.dayNames);
916
+ case 'D':
917
+ output += formatName('D', this.utc ? date.getUTCDay() : date.getDay(), this.locale.dayNamesShort, this.locale.dayNames);
835
918
  break;
836
- case "o":
837
- output += formatNumber("o", Math.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3);
919
+ case 'o':
920
+ if (this.utc) {
921
+ output += formatNumber('o', Math.round((new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()).getTime() -
922
+ new Date(date.getUTCFullYear(), 0, 0).getTime()) / 86400000), 3);
923
+ }
924
+ else {
925
+ output += formatNumber('o', Math.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() -
926
+ new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3);
927
+ }
838
928
  break;
839
- case "m":
840
- output += formatNumber("m", date.getMonth() + 1, 2);
929
+ case 'm':
930
+ output += formatNumber('m', (this.utc ? date.getUTCMonth() : date.getMonth()) + 1, 2);
841
931
  break;
842
- case "M":
843
- output += formatName("M", date.getMonth(), this.locale.monthNamesShort, this.locale.monthNames);
932
+ case 'M':
933
+ output += formatName('M', this.utc ? date.getUTCMonth() : date.getMonth(), this.locale.monthNamesShort, this.locale.monthNames);
844
934
  break;
845
- case "y":
846
- output += (lookAhead("y") ? date.getFullYear() :
847
- (date.getFullYear() % 100 < 10 ? "0" : "") + date.getFullYear() % 100);
935
+ case 'y':
936
+ output += (lookAhead('y') ? (this.utc ? date.getUTCFullYear() : date.getFullYear()) :
937
+ ((this.utc ? date.getUTCFullYear() : date.getFullYear()) % 100 < 10 ? '0' : '') +
938
+ (this.utc ? date.getUTCFullYear() : date.getFullYear()) % 100);
848
939
  break;
849
- case "@":
940
+ case '@':
850
941
  output += date.getTime();
851
942
  break;
852
- case "!":
943
+ case '!':
853
944
  output += date.getTime() * 10000 + this.ticksTo1970;
854
945
  break;
855
- case "'":
856
- if (lookAhead("'"))
857
- output += "'";
858
- else
946
+ case '\'':
947
+ if (lookAhead('\'')) {
948
+ output += '\'';
949
+ }
950
+ else {
859
951
  literal = true;
952
+ }
860
953
  break;
861
954
  default:
862
955
  output += format.charAt(iFormat);
@@ -1040,7 +1133,10 @@ var Calendar = (function () {
1040
1133
  day -= dim;
1041
1134
  } while (true);
1042
1135
  }
1043
- date = this.daylightSavingAdjust(new Date(year, month - 1, day));
1136
+ if (this.utc)
1137
+ date = new Date(Date.UTC(year, month - 1, day));
1138
+ else
1139
+ date = this.daylightSavingAdjust(new Date(year, month - 1, day));
1044
1140
  if (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) {
1045
1141
  throw "Invalid date"; // E.g. 31/02/00
1046
1142
  }
@@ -1059,6 +1155,7 @@ var Calendar = (function () {
1059
1155
  Calendar.prototype.onTodayButtonClick = function (event) {
1060
1156
  var date = new Date();
1061
1157
  var dateMeta = { day: date.getDate(), month: date.getMonth(), year: date.getFullYear(), today: true, selectable: true };
1158
+ this.createMonth(dateMeta.month, dateMeta.year);
1062
1159
  this.onDateSelect(event, dateMeta);
1063
1160
  this.onTodayClick.emit(event);
1064
1161
  };
@@ -1239,6 +1336,14 @@ __decorate([
1239
1336
  core_1.Input(),
1240
1337
  __metadata("design:type", String)
1241
1338
  ], Calendar.prototype, "clearButtonStyleClass", void 0);
1339
+ __decorate([
1340
+ core_1.Input(),
1341
+ __metadata("design:type", Boolean)
1342
+ ], Calendar.prototype, "autoZIndex", void 0);
1343
+ __decorate([
1344
+ core_1.Input(),
1345
+ __metadata("design:type", Number)
1346
+ ], Calendar.prototype, "baseZIndex", void 0);
1242
1347
  __decorate([
1243
1348
  core_1.Output(),
1244
1349
  __metadata("design:type", core_1.EventEmitter)
@@ -1267,6 +1372,10 @@ __decorate([
1267
1372
  core_1.Output(),
1268
1373
  __metadata("design:type", core_1.EventEmitter)
1269
1374
  ], Calendar.prototype, "onClearClick", void 0);
1375
+ __decorate([
1376
+ core_1.Output(),
1377
+ __metadata("design:type", core_1.EventEmitter)
1378
+ ], Calendar.prototype, "onMonthChange", void 0);
1270
1379
  __decorate([
1271
1380
  core_1.ContentChildren(shared_1.PrimeTemplate),
1272
1381
  __metadata("design:type", core_1.QueryList)
@@ -1316,7 +1425,7 @@ __decorate([
1316
1425
  Calendar = __decorate([
1317
1426
  core_1.Component({
1318
1427
  selector: 'p-calendar',
1319
- template: "\n <span [ngClass]=\"{'ui-calendar':true,'ui-calendar-w-btn':showIcon}\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <ng-template [ngIf]=\"!inline\">\n <input #inputfield type=\"text\" [attr.id]=\"inputId\" [attr.name]=\"name\" [attr.required]=\"required\" [value]=\"inputFieldValue\" (focus)=\"onInputFocus($event)\" (keydown)=\"onInputKeydown($event)\" (click)=\"datepickerClick=true\" (blur)=\"onInputBlur($event)\"\n [readonly]=\"readonlyInput\" (input)=\"onUserInput($event)\" [ngStyle]=\"inputStyle\" [class]=\"inputStyleClass\" [placeholder]=\"placeholder||''\" [disabled]=\"disabled\" [attr.tabindex]=\"tabindex\"\n [ngClass]=\"'ui-inputtext ui-widget ui-state-default ui-corner-all'\"\n ><button type=\"button\" [icon]=\"icon\" pButton *ngIf=\"showIcon\" (click)=\"onButtonClick($event,inputfield)\" class=\"ui-datepicker-trigger ui-calendar-button\"\n [ngClass]=\"{'ui-state-disabled':disabled}\" [disabled]=\"disabled\" tabindex=\"-1\"></button>\n </ng-template>\n <div #datepicker class=\"ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all\" [ngClass]=\"{'ui-datepicker-inline':inline,'ui-shadow':!inline,'ui-state-disabled':disabled,'ui-datepicker-timeonly':timeOnly}\" \n [ngStyle]=\"{'display': inline ? 'inline-block' : (overlayVisible ? 'block' : 'none')}\" (click)=\"onDatePickerClick($event)\" [@overlayState]=\"inline ? 'visible' : (overlayVisible ? 'visible' : 'hidden')\">\n\n <div class=\"ui-datepicker-header ui-widget-header ui-helper-clearfix ui-corner-all\" *ngIf=\"!timeOnly && (overlayVisible || inline)\">\n <ng-content select=\"p-header\"></ng-content>\n <a class=\"ui-datepicker-prev ui-corner-all\" href=\"#\" (click)=\"prevMonth($event)\">\n <span class=\"fa fa-angle-left\"></span>\n </a>\n <a class=\"ui-datepicker-next ui-corner-all\" href=\"#\" (click)=\"nextMonth($event)\">\n <span class=\"fa fa-angle-right\"></span>\n </a>\n <div class=\"ui-datepicker-title\">\n <span class=\"ui-datepicker-month\" *ngIf=\"!monthNavigator\">{{locale.monthNames[currentMonth]}}</span>\n <select class=\"ui-datepicker-month\" *ngIf=\"monthNavigator\" (change)=\"onMonthDropdownChange($event.target.value)\">\n <option [value]=\"i\" *ngFor=\"let month of locale.monthNames;let i = index\" [selected]=\"i == currentMonth\">{{month}}</option>\n </select>\n <select class=\"ui-datepicker-year\" *ngIf=\"yearNavigator\" (change)=\"onYearDropdownChange($event.target.value)\">\n <option [value]=\"year\" *ngFor=\"let year of yearOptions\" [selected]=\"year == currentYear\">{{year}}</option>\n </select>\n <span class=\"ui-datepicker-year\" *ngIf=\"!yearNavigator\">{{currentYear}}</span>\n </div>\n </div>\n <table class=\"ui-datepicker-calendar\" *ngIf=\"!timeOnly && (overlayVisible || inline)\">\n <thead>\n <tr>\n <th scope=\"col\" *ngFor=\"let weekDay of weekDays;let begin = first; let end = last\">\n <span>{{weekDay}}</span>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let week of dates\">\n <td *ngFor=\"let date of week\" [ngClass]=\"{'ui-datepicker-other-month ui-state-disabled':date.otherMonth,\n 'ui-datepicker-current-day':isSelected(date),'ui-datepicker-today':date.today}\">\n <a class=\"ui-state-default\" href=\"#\" *ngIf=\"date.otherMonth ? showOtherMonths : true\" \n [ngClass]=\"{'ui-state-active':isSelected(date), 'ui-state-highlight':date.today, 'ui-state-disabled':!date.selectable}\"\n (click)=\"onDateSelect($event,date)\">\n <span *ngIf=\"!dateTemplate\">{{date.day}}</span>\n <ng-template [pTemplateWrapper]=\"dateTemplate\" [item]=\"date\" *ngIf=\"dateTemplate\"></ng-template>\n </a>\n </td>\n </tr>\n </tbody>\n </table>\n <div class=\"ui-timepicker ui-widget-header ui-corner-all\" *ngIf=\"showTime||timeOnly\">\n <div class=\"ui-hour-picker\">\n <a href=\"#\" (click)=\"incrementHour($event)\">\n <span class=\"fa fa-angle-up\"></span>\n </a>\n <span [ngStyle]=\"{'display': currentHour < 10 ? 'inline': 'none'}\">0</span><span>{{currentHour}}</span>\n <a href=\"#\" (click)=\"decrementHour($event)\">\n <span class=\"fa fa-angle-down\"></span>\n </a>\n </div>\n <div class=\"ui-separator\">\n <a href=\"#\">\n <span class=\"fa fa-angle-up\"></span>\n </a>\n <span>:</span>\n <a href=\"#\">\n <span class=\"fa fa-angle-down\"></span>\n </a>\n </div>\n <div class=\"ui-minute-picker\">\n <a href=\"#\" (click)=\"incrementMinute($event)\">\n <span class=\"fa fa-angle-up\"></span>\n </a>\n <span [ngStyle]=\"{'display': currentMinute < 10 ? 'inline': 'none'}\">0</span><span>{{currentMinute}}</span>\n <a href=\"#\" (click)=\"decrementMinute($event)\">\n <span class=\"fa fa-angle-down\"></span>\n </a>\n </div>\n <div class=\"ui-separator\" *ngIf=\"showSeconds\">\n <a href=\"#\">\n <span class=\"fa fa-angle-up\"></span>\n </a>\n <span>:</span>\n <a href=\"#\">\n <span class=\"fa fa-angle-down\"></span>\n </a>\n </div>\n <div class=\"ui-second-picker\" *ngIf=\"showSeconds\">\n <a href=\"#\" (click)=\"incrementSecond($event)\">\n <span class=\"fa fa-angle-up\"></span>\n </a>\n <span [ngStyle]=\"{'display': currentSecond < 10 ? 'inline': 'none'}\">0</span><span>{{currentSecond}}</span>\n <a href=\"#\" (click)=\"decrementSecond($event)\">\n <span class=\"fa fa-angle-down\"></span>\n </a>\n </div>\n <div class=\"ui-ampm-picker\" *ngIf=\"hourFormat=='12'\">\n <a href=\"#\" (click)=\"toggleAMPM($event)\">\n <span class=\"fa fa-angle-up\"></span>\n </a>\n <span>{{pm ? 'PM' : 'AM'}}</span>\n <a href=\"#\" (click)=\"toggleAMPM($event)\">\n <span class=\"fa fa-angle-down\"></span>\n </a>\n </div>\n </div>\n <div class=\"ui-datepicker-buttonbar ui-widget-header\" *ngIf=\"showButtonBar\">\n <div class=\"ui-g\">\n <div class=\"ui-g-6\">\n <button type=\"button\" [label]=\"_locale.today\" (click)=\"onTodayButtonClick($event)\" pButton [ngClass]=\"[todayButtonStyleClass]\"></button>\n </div>\n <div class=\"ui-g-6\">\n <button type=\"button\" [label]=\"_locale.clear\" (click)=\"onClearButtonClick($event)\" pButton [ngClass]=\"[clearButtonStyleClass]\"></button>\n </div>\n </div>\n </div>\n <ng-content select=\"p-footer\"></ng-content>\n </div>\n </span>\n ",
1428
+ template: "\n <span [ngClass]=\"{'ui-calendar':true,'ui-calendar-w-btn':showIcon}\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <ng-template [ngIf]=\"!inline\">\n <input #inputfield type=\"text\" [attr.id]=\"inputId\" [attr.name]=\"name\" [attr.required]=\"required\" [value]=\"inputFieldValue\" (focus)=\"onInputFocus($event)\" (keydown)=\"onInputKeydown($event)\" (click)=\"datepickerClick=true\" (blur)=\"onInputBlur($event)\"\n [readonly]=\"readonlyInput\" (input)=\"onUserInput($event)\" [ngStyle]=\"inputStyle\" [class]=\"inputStyleClass\" [placeholder]=\"placeholder||''\" [disabled]=\"disabled\" [attr.tabindex]=\"tabindex\"\n [ngClass]=\"'ui-inputtext ui-widget ui-state-default ui-corner-all'\"\n ><button type=\"button\" [icon]=\"icon\" pButton *ngIf=\"showIcon\" (click)=\"onButtonClick($event,inputfield)\" class=\"ui-datepicker-trigger ui-calendar-button\"\n [ngClass]=\"{'ui-state-disabled':disabled}\" [disabled]=\"disabled\" tabindex=\"-1\"></button>\n </ng-template>\n <div #datepicker class=\"ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all\" [ngClass]=\"{'ui-datepicker-inline':inline,'ui-shadow':!inline,'ui-state-disabled':disabled,'ui-datepicker-timeonly':timeOnly}\" \n [ngStyle]=\"{'display': inline ? 'inline-block' : (overlayVisible ? 'block' : 'none')}\" (click)=\"onDatePickerClick($event)\" [@overlayState]=\"inline ? 'visible' : (overlayVisible ? 'visible' : 'hidden')\">\n\n <div class=\"ui-datepicker-header ui-widget-header ui-helper-clearfix ui-corner-all\" *ngIf=\"!timeOnly && (overlayVisible || inline)\">\n <ng-content select=\"p-header\"></ng-content>\n <a class=\"ui-datepicker-prev ui-corner-all\" href=\"#\" (click)=\"prevMonth($event)\">\n <span class=\"fa fa-angle-left\"></span>\n </a>\n <a class=\"ui-datepicker-next ui-corner-all\" href=\"#\" (click)=\"nextMonth($event)\">\n <span class=\"fa fa-angle-right\"></span>\n </a>\n <div class=\"ui-datepicker-title\">\n <span class=\"ui-datepicker-month\" *ngIf=\"!monthNavigator\">{{locale.monthNames[currentMonth]}}</span>\n <select class=\"ui-datepicker-month\" *ngIf=\"monthNavigator\" (change)=\"onMonthDropdownChange($event.target.value)\">\n <option [value]=\"i\" *ngFor=\"let month of locale.monthNames;let i = index\" [selected]=\"i == currentMonth\">{{month}}</option>\n </select>\n <select class=\"ui-datepicker-year\" *ngIf=\"yearNavigator\" (change)=\"onYearDropdownChange($event.target.value)\">\n <option [value]=\"year\" *ngFor=\"let year of yearOptions\" [selected]=\"year == currentYear\">{{year}}</option>\n </select>\n <span class=\"ui-datepicker-year\" *ngIf=\"!yearNavigator\">{{currentYear}}</span>\n </div>\n </div>\n <table class=\"ui-datepicker-calendar\" *ngIf=\"!timeOnly && (overlayVisible || inline)\">\n <thead>\n <tr>\n <th scope=\"col\" *ngFor=\"let weekDay of weekDays;let begin = first; let end = last\">\n <span>{{weekDay}}</span>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let week of dates\">\n <td *ngFor=\"let date of week\" [ngClass]=\"{'ui-datepicker-other-month ui-state-disabled':date.otherMonth,\n 'ui-datepicker-current-day':isSelected(date),'ui-datepicker-today':date.today}\">\n <a class=\"ui-state-default\" href=\"#\" *ngIf=\"date.otherMonth ? showOtherMonths : true\" \n [ngClass]=\"{'ui-state-active':isSelected(date), 'ui-state-highlight':date.today, 'ui-state-disabled':!date.selectable}\"\n (click)=\"onDateSelect($event,date)\">\n <ng-container *ngIf=\"!dateTemplate\">{{date.day}}</ng-container>\n <ng-template [pTemplateWrapper]=\"dateTemplate\" [item]=\"date\" *ngIf=\"dateTemplate\"></ng-template>\n </a>\n </td>\n </tr>\n </tbody>\n </table>\n <div class=\"ui-timepicker ui-widget-header ui-corner-all\" *ngIf=\"showTime||timeOnly\">\n <div class=\"ui-hour-picker\">\n <a href=\"#\" (click)=\"incrementHour($event)\">\n <span class=\"fa fa-angle-up\"></span>\n </a>\n <span [ngStyle]=\"{'display': currentHour < 10 ? 'inline': 'none'}\">0</span><span>{{currentHour}}</span>\n <a href=\"#\" (click)=\"decrementHour($event)\">\n <span class=\"fa fa-angle-down\"></span>\n </a>\n </div>\n <div class=\"ui-separator\">\n <a href=\"#\">\n <span class=\"fa fa-angle-up\"></span>\n </a>\n <span>:</span>\n <a href=\"#\">\n <span class=\"fa fa-angle-down\"></span>\n </a>\n </div>\n <div class=\"ui-minute-picker\">\n <a href=\"#\" (click)=\"incrementMinute($event)\">\n <span class=\"fa fa-angle-up\"></span>\n </a>\n <span [ngStyle]=\"{'display': currentMinute < 10 ? 'inline': 'none'}\">0</span><span>{{currentMinute}}</span>\n <a href=\"#\" (click)=\"decrementMinute($event)\">\n <span class=\"fa fa-angle-down\"></span>\n </a>\n </div>\n <div class=\"ui-separator\" *ngIf=\"showSeconds\">\n <a href=\"#\">\n <span class=\"fa fa-angle-up\"></span>\n </a>\n <span>:</span>\n <a href=\"#\">\n <span class=\"fa fa-angle-down\"></span>\n </a>\n </div>\n <div class=\"ui-second-picker\" *ngIf=\"showSeconds\">\n <a href=\"#\" (click)=\"incrementSecond($event)\">\n <span class=\"fa fa-angle-up\"></span>\n </a>\n <span [ngStyle]=\"{'display': currentSecond < 10 ? 'inline': 'none'}\">0</span><span>{{currentSecond}}</span>\n <a href=\"#\" (click)=\"decrementSecond($event)\">\n <span class=\"fa fa-angle-down\"></span>\n </a>\n </div>\n <div class=\"ui-ampm-picker\" *ngIf=\"hourFormat=='12'\">\n <a href=\"#\" (click)=\"toggleAMPM($event)\">\n <span class=\"fa fa-angle-up\"></span>\n </a>\n <span>{{pm ? 'PM' : 'AM'}}</span>\n <a href=\"#\" (click)=\"toggleAMPM($event)\">\n <span class=\"fa fa-angle-down\"></span>\n </a>\n </div>\n </div>\n <div class=\"ui-datepicker-buttonbar ui-widget-header\" *ngIf=\"showButtonBar\">\n <div class=\"ui-g\">\n <div class=\"ui-g-6\">\n <button type=\"button\" [label]=\"_locale.today\" (click)=\"onTodayButtonClick($event)\" pButton [ngClass]=\"[todayButtonStyleClass]\"></button>\n </div>\n <div class=\"ui-g-6\">\n <button type=\"button\" [label]=\"_locale.clear\" (click)=\"onClearButtonClick($event)\" pButton [ngClass]=\"[clearButtonStyleClass]\"></button>\n </div>\n </div>\n </div>\n <ng-content select=\"p-footer\"></ng-content>\n </div>\n </span>\n ",
1320
1429
  animations: [
1321
1430
  animations_1.trigger('overlayState', [
1322
1431
  animations_1.state('hidden', animations_1.style({