ngx-bootstrap 3.1.2 → 3.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 (441) hide show
  1. package/CHANGELOG.md +236 -0
  2. package/CONTRIBUTING.md +1 -1
  3. package/README.md +8 -5
  4. package/accordion/package.json +1 -1
  5. package/alert/package.json +1 -1
  6. package/bundles/ngx-bootstrap.es2015.js +13985 -11505
  7. package/bundles/ngx-bootstrap.es2015.js.map +1 -1
  8. package/bundles/ngx-bootstrap.umd.js +2 -1
  9. package/bundles/ngx-bootstrap.umd.js.map +1 -1
  10. package/bundles/ngx-bootstrap.umd.min.js +1 -1
  11. package/buttons/package.json +1 -1
  12. package/carousel/package.json +1 -1
  13. package/chronos/bundles/ngx-bootstrap-chronos.umd.js +217 -63
  14. package/chronos/bundles/ngx-bootstrap-chronos.umd.js.map +1 -1
  15. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js +1 -1
  16. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js.map +1 -1
  17. package/chronos/esm2015/i18n/ca.js +128 -0
  18. package/chronos/esm2015/i18n/lt.js +1 -1
  19. package/chronos/esm2015/i18n/pl.js +7 -1
  20. package/chronos/esm2015/index.js +2 -2
  21. package/chronos/esm2015/ngx-bootstrap-chronos.js +2 -2
  22. package/chronos/esm2015/public_api.js +3 -2
  23. package/chronos/esm2015/utils/date-compare.js +20 -1
  24. package/chronos/esm5/i18n/ca.js +128 -0
  25. package/chronos/esm5/i18n/lt.js +1 -1
  26. package/chronos/esm5/i18n/pl.js +7 -1
  27. package/chronos/esm5/index.js +2 -2
  28. package/chronos/esm5/ngx-bootstrap-chronos.js +2 -2
  29. package/chronos/esm5/public_api.js +3 -2
  30. package/chronos/esm5/utils/date-compare.js +20 -1
  31. package/chronos/fesm2015/ngx-bootstrap-chronos.js +223 -67
  32. package/chronos/fesm2015/ngx-bootstrap-chronos.js.map +1 -1
  33. package/chronos/fesm5/ngx-bootstrap-chronos.js +224 -67
  34. package/chronos/fesm5/ngx-bootstrap-chronos.js.map +1 -1
  35. package/chronos/i18n/ca.d.ts +2 -0
  36. package/chronos/ngx-bootstrap-chronos.metadata.json +1 -1
  37. package/chronos/package.json +1 -1
  38. package/chronos/public_api.d.ts +2 -1
  39. package/chronos/utils/date-compare.d.ts +2 -0
  40. package/collapse/package.json +1 -1
  41. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js +11 -1
  42. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js.map +1 -1
  43. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js +1 -1
  44. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js.map +1 -1
  45. package/component-loader/component-loader.class.d.ts +1 -1
  46. package/component-loader/esm2015/component-loader.class.js +12 -2
  47. package/component-loader/esm2015/listen-options.model.js +3 -1
  48. package/component-loader/esm5/component-loader.class.js +12 -2
  49. package/component-loader/esm5/listen-options.model.js +3 -1
  50. package/component-loader/fesm2015/ngx-bootstrap-component-loader.js +12 -2
  51. package/component-loader/fesm2015/ngx-bootstrap-component-loader.js.map +1 -1
  52. package/component-loader/fesm5/ngx-bootstrap-component-loader.js +12 -2
  53. package/component-loader/fesm5/ngx-bootstrap-component-loader.js.map +1 -1
  54. package/component-loader/listen-options.model.d.ts +1 -0
  55. package/component-loader/ngx-bootstrap-component-loader.metadata.json +1 -1
  56. package/component-loader/package.json +1 -1
  57. package/datepicker/base/bs-datepicker-container.d.ts +5 -1
  58. package/datepicker/bs-datepicker-inline.component.d.ts +48 -0
  59. package/datepicker/bs-datepicker-inline.config.d.ts +3 -0
  60. package/datepicker/bs-datepicker.component.d.ts +14 -0
  61. package/datepicker/bs-datepicker.config.d.ts +22 -1
  62. package/datepicker/bs-datepicker.css +56 -5
  63. package/datepicker/bs-datepicker.css.map +3 -3
  64. package/datepicker/bs-datepicker.module.d.ts +0 -1
  65. package/datepicker/bs-datepicker.scss +21 -8
  66. package/datepicker/bs-daterangepicker.component.d.ts +5 -0
  67. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js +2967 -2546
  68. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js.map +1 -1
  69. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js +1 -1
  70. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js.map +1 -1
  71. package/datepicker/engine/flag-days-calendar.d.ts +2 -0
  72. package/datepicker/engine/view-mode.d.ts +1 -1
  73. package/datepicker/esm2015/base/bs-datepicker-container.js +22 -1
  74. package/datepicker/esm2015/bs-datepicker-inline.component.js +179 -0
  75. package/datepicker/esm2015/bs-datepicker-inline.config.js +22 -0
  76. package/datepicker/esm2015/bs-datepicker-input.directive.js +2 -1
  77. package/datepicker/esm2015/bs-datepicker.component.js +34 -2
  78. package/datepicker/esm2015/bs-datepicker.config.js +28 -1
  79. package/datepicker/esm2015/bs-datepicker.module.js +10 -11
  80. package/datepicker/esm2015/bs-daterangepicker-input.directive.js +9 -4
  81. package/datepicker/esm2015/bs-daterangepicker.component.js +17 -2
  82. package/datepicker/esm2015/engine/flag-days-calendar.js +16 -6
  83. package/datepicker/esm2015/engine/view-mode.js +4 -3
  84. package/datepicker/esm2015/models/index.js +7 -1
  85. package/datepicker/esm2015/ngx-bootstrap-datepicker.js +19 -18
  86. package/datepicker/esm2015/public_api.js +11 -9
  87. package/datepicker/esm2015/reducer/bs-datepicker.actions.js +27 -1
  88. package/datepicker/esm2015/reducer/bs-datepicker.effects.js +25 -11
  89. package/datepicker/esm2015/reducer/bs-datepicker.reducer.js +15 -5
  90. package/datepicker/esm2015/reducer/bs-datepicker.state.js +9 -1
  91. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.js +5 -3
  92. package/datepicker/esm2015/themes/bs/bs-datepicker-day-decorator.directive.js +33 -2
  93. package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.js +50 -0
  94. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.js +5 -3
  95. package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.js +71 -4
  96. package/datepicker/esm2015/utils/bs-calendar-utils.js +13 -2
  97. package/datepicker/esm5/base/bs-datepicker-container.js +34 -1
  98. package/datepicker/esm5/bs-datepicker-inline.component.js +196 -0
  99. package/datepicker/esm5/bs-datepicker-inline.config.js +29 -0
  100. package/datepicker/esm5/bs-datepicker-input.directive.js +2 -1
  101. package/datepicker/esm5/bs-datepicker.component.js +34 -2
  102. package/datepicker/esm5/bs-datepicker.config.js +28 -1
  103. package/datepicker/esm5/bs-datepicker.module.js +10 -7
  104. package/datepicker/esm5/bs-daterangepicker-input.directive.js +9 -4
  105. package/datepicker/esm5/bs-daterangepicker.component.js +17 -2
  106. package/datepicker/esm5/engine/flag-days-calendar.js +16 -6
  107. package/datepicker/esm5/engine/view-mode.js +4 -3
  108. package/datepicker/esm5/models/index.js +7 -1
  109. package/datepicker/esm5/ngx-bootstrap-datepicker.js +19 -18
  110. package/datepicker/esm5/public_api.js +11 -9
  111. package/datepicker/esm5/reducer/bs-datepicker.actions.js +35 -1
  112. package/datepicker/esm5/reducer/bs-datepicker.effects.js +33 -11
  113. package/datepicker/esm5/reducer/bs-datepicker.reducer.js +15 -5
  114. package/datepicker/esm5/reducer/bs-datepicker.state.js +9 -1
  115. package/datepicker/esm5/themes/bs/bs-datepicker-container.component.js +5 -3
  116. package/datepicker/esm5/themes/bs/bs-datepicker-day-decorator.directive.js +30 -3
  117. package/datepicker/esm5/themes/bs/bs-datepicker-inline-container.component.js +48 -0
  118. package/datepicker/esm5/themes/bs/bs-daterangepicker-container.component.js +5 -3
  119. package/datepicker/esm5/themes/bs/bs-days-calendar-view.component.js +75 -3
  120. package/datepicker/esm5/utils/bs-calendar-utils.js +13 -2
  121. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js +3192 -2829
  122. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +1 -1
  123. package/datepicker/fesm5/ngx-bootstrap-datepicker.js +3407 -2994
  124. package/datepicker/fesm5/ngx-bootstrap-datepicker.js.map +1 -1
  125. package/datepicker/models/index.d.ts +3 -0
  126. package/datepicker/ngx-bootstrap-datepicker.d.ts +17 -16
  127. package/datepicker/ngx-bootstrap-datepicker.metadata.json +1 -1
  128. package/datepicker/package.json +1 -1
  129. package/datepicker/public_api.d.ts +11 -8
  130. package/datepicker/reducer/bs-datepicker.actions.d.ts +4 -0
  131. package/datepicker/reducer/bs-datepicker.effects.d.ts +4 -2
  132. package/datepicker/reducer/bs-datepicker.state.d.ts +4 -0
  133. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +8 -1
  134. package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts +9 -0
  135. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +8 -1
  136. package/datepicker/utils/bs-calendar-utils.d.ts +1 -0
  137. package/datepicker/utils/scss/mixins.css.map +4 -2
  138. package/datepicker/utils/scss/mixins.scss +10 -0
  139. package/dropdown/bs-dropdown-container.component.d.ts +3 -0
  140. package/dropdown/bs-dropdown-toggle.directive.d.ts +3 -1
  141. package/dropdown/bs-dropdown.config.d.ts +2 -0
  142. package/dropdown/bs-dropdown.directive.d.ts +8 -2
  143. package/dropdown/bs-dropdown.state.d.ts +1 -0
  144. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js +62 -5
  145. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js.map +1 -1
  146. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js +1 -1
  147. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js.map +1 -1
  148. package/dropdown/esm2015/bs-dropdown-container.component.js +13 -2
  149. package/dropdown/esm2015/bs-dropdown-toggle.directive.js +10 -3
  150. package/dropdown/esm2015/bs-dropdown.config.js +10 -1
  151. package/dropdown/esm2015/bs-dropdown.directive.js +30 -3
  152. package/dropdown/esm2015/bs-dropdown.module.js +2 -2
  153. package/dropdown/esm2015/bs-dropdown.state.js +3 -1
  154. package/dropdown/esm5/bs-dropdown-container.component.js +19 -2
  155. package/dropdown/esm5/bs-dropdown-toggle.directive.js +9 -3
  156. package/dropdown/esm5/bs-dropdown.config.js +10 -1
  157. package/dropdown/esm5/bs-dropdown.directive.js +40 -3
  158. package/dropdown/esm5/bs-dropdown.module.js +2 -2
  159. package/dropdown/esm5/bs-dropdown.state.js +3 -1
  160. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js +49 -5
  161. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js.map +1 -1
  162. package/dropdown/fesm5/ngx-bootstrap-dropdown.js +64 -5
  163. package/dropdown/fesm5/ngx-bootstrap-dropdown.js.map +1 -1
  164. package/dropdown/ngx-bootstrap-dropdown.metadata.json +1 -1
  165. package/dropdown/package.json +1 -1
  166. package/esm2015/ngx-bootstrap.js +2 -2
  167. package/esm2015/public_api.js +2 -2
  168. package/esm5/ngx-bootstrap.js +2 -2
  169. package/esm5/public_api.js +2 -2
  170. package/fesm2015/ngx-bootstrap.js +1 -1
  171. package/fesm5/ngx-bootstrap.js +1 -1
  172. package/locale/bundles/ngx-bootstrap-locale.umd.js +2 -1
  173. package/locale/bundles/ngx-bootstrap-locale.umd.js.map +1 -1
  174. package/locale/bundles/ngx-bootstrap-locale.umd.min.js +1 -1
  175. package/locale/esm2015/ngx-bootstrap-locale.js +2 -2
  176. package/locale/esm2015/public_api.js +2 -1
  177. package/locale/esm5/ngx-bootstrap-locale.js +2 -2
  178. package/locale/esm5/public_api.js +2 -1
  179. package/locale/fesm2015/ngx-bootstrap-locale.js +1 -1
  180. package/locale/fesm5/ngx-bootstrap-locale.js +1 -1
  181. package/locale/ngx-bootstrap-locale.metadata.json +1 -1
  182. package/locale/package.json +1 -1
  183. package/locale/public_api.d.ts +1 -0
  184. package/mini-ngrx/package.json +1 -1
  185. package/modal/bs-modal-ref.service.d.ts +4 -0
  186. package/modal/bundles/ngx-bootstrap-modal.umd.js +8 -1
  187. package/modal/bundles/ngx-bootstrap-modal.umd.js.map +1 -1
  188. package/modal/bundles/ngx-bootstrap-modal.umd.min.js +1 -1
  189. package/modal/bundles/ngx-bootstrap-modal.umd.min.js.map +1 -1
  190. package/modal/esm2015/bs-modal-ref.service.js +10 -1
  191. package/modal/esm2015/bs-modal.service.js +4 -1
  192. package/modal/esm5/bs-modal-ref.service.js +10 -1
  193. package/modal/esm5/bs-modal.service.js +4 -1
  194. package/modal/fesm2015/ngx-bootstrap-modal.js +8 -1
  195. package/modal/fesm2015/ngx-bootstrap-modal.js.map +1 -1
  196. package/modal/fesm5/ngx-bootstrap-modal.js +8 -1
  197. package/modal/fesm5/ngx-bootstrap-modal.js.map +1 -1
  198. package/modal/package.json +1 -1
  199. package/package.json +2 -2
  200. package/pagination/esm2015/models/index.js +1 -4
  201. package/pagination/esm5/models/index.js +1 -4
  202. package/pagination/models/index.d.ts +0 -1
  203. package/pagination/package.json +1 -1
  204. package/popover/bundles/ngx-bootstrap-popover.umd.js +3 -2
  205. package/popover/bundles/ngx-bootstrap-popover.umd.js.map +1 -1
  206. package/popover/bundles/ngx-bootstrap-popover.umd.min.js +1 -1
  207. package/popover/bundles/ngx-bootstrap-popover.umd.min.js.map +1 -1
  208. package/popover/esm2015/popover-container.component.js +19 -8
  209. package/popover/esm5/popover-container.component.js +3 -2
  210. package/popover/fesm2015/ngx-bootstrap-popover.js +19 -8
  211. package/popover/fesm2015/ngx-bootstrap-popover.js.map +1 -1
  212. package/popover/fesm5/ngx-bootstrap-popover.js +3 -2
  213. package/popover/fesm5/ngx-bootstrap-popover.js.map +1 -1
  214. package/popover/ngx-bootstrap-popover.metadata.json +1 -1
  215. package/popover/package.json +1 -1
  216. package/positioning/bundles/ngx-bootstrap-positioning.umd.js +1192 -252
  217. package/positioning/bundles/ngx-bootstrap-positioning.umd.js.map +1 -1
  218. package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js +1 -1
  219. package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js.map +1 -1
  220. package/positioning/esm2015/models/index.js +44 -0
  221. package/positioning/esm2015/modifiers/arrow.js +54 -0
  222. package/positioning/esm2015/modifiers/flip.js +65 -0
  223. package/positioning/esm2015/modifiers/index.js +11 -0
  224. package/positioning/esm2015/modifiers/initData.js +34 -0
  225. package/positioning/esm2015/modifiers/preventOverflow.js +70 -0
  226. package/positioning/esm2015/modifiers/shift.js +29 -0
  227. package/positioning/esm2015/ng-positioning.js +19 -220
  228. package/positioning/esm2015/positioning.service.js +44 -4
  229. package/positioning/esm2015/utils/computeAutoPlacement.js +64 -0
  230. package/positioning/esm2015/utils/findCommonOffsetParent.js +47 -0
  231. package/positioning/esm2015/utils/getBordersSize.js +20 -0
  232. package/positioning/esm2015/utils/getBoundaries.js +66 -0
  233. package/positioning/esm2015/utils/getBoundingClientRect.js +61 -0
  234. package/positioning/esm2015/utils/getClientRect.js +13 -0
  235. package/positioning/esm2015/utils/getFixedPositionOffsetParent.js +26 -0
  236. package/positioning/esm2015/utils/getOffsetParent.js +37 -0
  237. package/positioning/esm2015/utils/getOffsetRectRelativeToArbitraryNode.js +62 -0
  238. package/positioning/esm2015/utils/getOffsets.js +20 -0
  239. package/positioning/esm2015/utils/getOppositePlacement.js +15 -0
  240. package/positioning/esm2015/utils/getOppositeVariation.js +20 -0
  241. package/positioning/esm2015/utils/getOuterSizes.js +21 -0
  242. package/positioning/esm2015/utils/getParentNode.js +17 -0
  243. package/positioning/esm2015/utils/getReferenceOffsets.js +21 -0
  244. package/positioning/esm2015/utils/getRoot.js +17 -0
  245. package/positioning/esm2015/utils/getScroll.js +22 -0
  246. package/positioning/esm2015/utils/getScrollParent.js +32 -0
  247. package/positioning/esm2015/utils/getStyleComputedProperty.js +21 -0
  248. package/positioning/esm2015/utils/getTargetOffsets.js +38 -0
  249. package/positioning/esm2015/utils/getViewportOffsetRectRelativeToArtbitraryNode.js +29 -0
  250. package/positioning/esm2015/utils/getWindowSizes.js +34 -0
  251. package/positioning/esm2015/utils/includeScroll.js +23 -0
  252. package/positioning/esm2015/utils/index.js +28 -0
  253. package/positioning/esm2015/utils/isBrowser.js +7 -0
  254. package/positioning/esm2015/utils/isFixed.js +22 -0
  255. package/positioning/esm2015/utils/isIE.js +22 -0
  256. package/positioning/esm2015/utils/isNumeric.js +14 -0
  257. package/positioning/esm2015/utils/isOffsetContainer.js +18 -0
  258. package/positioning/esm2015/utils/setAllStyles.js +55 -0
  259. package/positioning/esm2015/utils/setStyles.js +28 -0
  260. package/positioning/esm5/models/index.js +44 -0
  261. package/positioning/esm5/modifiers/arrow.js +56 -0
  262. package/positioning/esm5/modifiers/flip.js +66 -0
  263. package/positioning/esm5/modifiers/index.js +11 -0
  264. package/positioning/esm5/modifiers/initData.js +34 -0
  265. package/positioning/esm5/modifiers/preventOverflow.js +73 -0
  266. package/positioning/esm5/modifiers/shift.js +31 -0
  267. package/positioning/esm5/ng-positioning.js +24 -247
  268. package/positioning/esm5/positioning.service.js +49 -5
  269. package/positioning/esm5/utils/computeAutoPlacement.js +72 -0
  270. package/positioning/esm5/utils/findCommonOffsetParent.js +47 -0
  271. package/positioning/esm5/utils/getBordersSize.js +20 -0
  272. package/positioning/esm5/utils/getBoundaries.js +68 -0
  273. package/positioning/esm5/utils/getBoundingClientRect.js +61 -0
  274. package/positioning/esm5/utils/getClientRect.js +14 -0
  275. package/positioning/esm5/utils/getFixedPositionOffsetParent.js +26 -0
  276. package/positioning/esm5/utils/getOffsetParent.js +37 -0
  277. package/positioning/esm5/utils/getOffsetRectRelativeToArbitraryNode.js +63 -0
  278. package/positioning/esm5/utils/getOffsets.js +20 -0
  279. package/positioning/esm5/utils/getOppositePlacement.js +15 -0
  280. package/positioning/esm5/utils/getOppositeVariation.js +20 -0
  281. package/positioning/esm5/utils/getOuterSizes.js +21 -0
  282. package/positioning/esm5/utils/getParentNode.js +17 -0
  283. package/positioning/esm5/utils/getReferenceOffsets.js +22 -0
  284. package/positioning/esm5/utils/getRoot.js +17 -0
  285. package/positioning/esm5/utils/getScroll.js +23 -0
  286. package/positioning/esm5/utils/getScrollParent.js +32 -0
  287. package/positioning/esm5/utils/getStyleComputedProperty.js +21 -0
  288. package/positioning/esm5/utils/getTargetOffsets.js +38 -0
  289. package/positioning/esm5/utils/getViewportOffsetRectRelativeToArtbitraryNode.js +30 -0
  290. package/positioning/esm5/utils/getWindowSizes.js +34 -0
  291. package/positioning/esm5/utils/includeScroll.js +24 -0
  292. package/positioning/esm5/utils/index.js +28 -0
  293. package/positioning/esm5/utils/isBrowser.js +7 -0
  294. package/positioning/esm5/utils/isFixed.js +22 -0
  295. package/positioning/esm5/utils/isIE.js +22 -0
  296. package/positioning/esm5/utils/isNumeric.js +14 -0
  297. package/positioning/esm5/utils/isOffsetContainer.js +18 -0
  298. package/positioning/esm5/utils/setAllStyles.js +55 -0
  299. package/positioning/esm5/utils/setStyles.js +28 -0
  300. package/positioning/fesm2015/ngx-bootstrap-positioning.js +1108 -211
  301. package/positioning/fesm2015/ngx-bootstrap-positioning.js.map +1 -1
  302. package/positioning/fesm5/ngx-bootstrap-positioning.js +1148 -249
  303. package/positioning/fesm5/ngx-bootstrap-positioning.js.map +1 -1
  304. package/positioning/models/index.d.ts +27 -0
  305. package/positioning/modifiers/arrow.d.ts +2 -0
  306. package/positioning/modifiers/flip.d.ts +2 -0
  307. package/positioning/modifiers/index.d.ts +5 -0
  308. package/positioning/modifiers/initData.d.ts +2 -0
  309. package/positioning/modifiers/preventOverflow.d.ts +2 -0
  310. package/positioning/modifiers/shift.d.ts +2 -0
  311. package/positioning/ng-positioning.d.ts +7 -10
  312. package/positioning/ngx-bootstrap-positioning.metadata.json +1 -1
  313. package/positioning/package.json +1 -1
  314. package/positioning/positioning.service.d.ts +7 -1
  315. package/positioning/utils/computeAutoPlacement.d.ts +2 -0
  316. package/positioning/utils/findCommonOffsetParent.d.ts +1 -0
  317. package/positioning/utils/getBordersSize.d.ts +4 -0
  318. package/positioning/utils/getBoundaries.d.ts +1 -0
  319. package/positioning/utils/getBoundingClientRect.d.ts +2 -0
  320. package/positioning/utils/getClientRect.d.ts +5 -0
  321. package/positioning/utils/getFixedPositionOffsetParent.d.ts +1 -0
  322. package/positioning/utils/getOffsetParent.d.ts +1 -0
  323. package/positioning/utils/getOffsetRectRelativeToArbitraryNode.d.ts +2 -0
  324. package/positioning/utils/getOffsets.d.ts +2 -0
  325. package/positioning/utils/getOppositePlacement.d.ts +4 -0
  326. package/positioning/utils/getOppositeVariation.d.ts +4 -0
  327. package/positioning/utils/getOuterSizes.d.ts +7 -0
  328. package/positioning/utils/getParentNode.d.ts +4 -0
  329. package/positioning/utils/getReferenceOffsets.d.ts +2 -0
  330. package/positioning/utils/getRoot.d.ts +4 -0
  331. package/positioning/utils/getScroll.d.ts +4 -0
  332. package/positioning/utils/getScrollParent.d.ts +1 -0
  333. package/positioning/utils/getStyleComputedProperty.d.ts +4 -0
  334. package/positioning/utils/getTargetOffsets.d.ts +2 -0
  335. package/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.d.ts +2 -0
  336. package/positioning/utils/getWindowSizes.d.ts +4 -0
  337. package/positioning/utils/includeScroll.d.ts +2 -0
  338. package/positioning/utils/index.d.ts +22 -0
  339. package/positioning/utils/isBrowser.d.ts +1 -0
  340. package/positioning/utils/isFixed.d.ts +1 -0
  341. package/positioning/utils/isIE.d.ts +1 -0
  342. package/positioning/utils/isNumeric.d.ts +4 -0
  343. package/positioning/utils/isOffsetContainer.d.ts +1 -0
  344. package/positioning/utils/setAllStyles.d.ts +6 -0
  345. package/positioning/utils/setStyles.d.ts +5 -0
  346. package/progressbar/package.json +1 -1
  347. package/rating/bundles/ngx-bootstrap-rating.umd.js +3 -1
  348. package/rating/bundles/ngx-bootstrap-rating.umd.js.map +1 -1
  349. package/rating/bundles/ngx-bootstrap-rating.umd.min.js.map +1 -1
  350. package/rating/esm2015/rating.component.js +3 -1
  351. package/rating/esm5/rating.component.js +3 -1
  352. package/rating/fesm2015/ngx-bootstrap-rating.js +3 -1
  353. package/rating/fesm2015/ngx-bootstrap-rating.js.map +1 -1
  354. package/rating/fesm5/ngx-bootstrap-rating.js +3 -1
  355. package/rating/fesm5/ngx-bootstrap-rating.js.map +1 -1
  356. package/rating/package.json +1 -1
  357. package/schematics/ng-add/index.js +17 -9
  358. package/schematics/ng-add/index.js.map +1 -1
  359. package/schematics/ng-add/index.spec.js +2 -3
  360. package/schematics/ng-add/index.spec.js.map +1 -1
  361. package/sortable/package.json +1 -1
  362. package/tabs/package.json +1 -1
  363. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js +3 -1
  364. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js.map +1 -1
  365. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js +1 -1
  366. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js.map +1 -1
  367. package/timepicker/esm2015/timepicker.component.js +5 -1
  368. package/timepicker/esm5/timepicker.component.js +5 -1
  369. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js +3 -1
  370. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js.map +1 -1
  371. package/timepicker/fesm5/ngx-bootstrap-timepicker.js +3 -1
  372. package/timepicker/fesm5/ngx-bootstrap-timepicker.js.map +1 -1
  373. package/timepicker/ngx-bootstrap-timepicker.metadata.json +1 -1
  374. package/timepicker/package.json +1 -1
  375. package/timepicker/timepicker.component.d.ts +1 -0
  376. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js +15 -4
  377. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js.map +1 -1
  378. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js +1 -1
  379. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js.map +1 -1
  380. package/tooltip/esm2015/tooltip-container.component.js +15 -7
  381. package/tooltip/esm2015/tooltip.config.js +10 -1
  382. package/tooltip/esm2015/tooltip.directive.js +13 -4
  383. package/tooltip/esm5/tooltip-container.component.js +6 -2
  384. package/tooltip/esm5/tooltip.config.js +10 -1
  385. package/tooltip/esm5/tooltip.directive.js +13 -4
  386. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js +25 -10
  387. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js.map +1 -1
  388. package/tooltip/fesm5/ngx-bootstrap-tooltip.js +16 -5
  389. package/tooltip/fesm5/ngx-bootstrap-tooltip.js.map +1 -1
  390. package/tooltip/ngx-bootstrap-tooltip.metadata.json +1 -1
  391. package/tooltip/package.json +1 -1
  392. package/tooltip/tooltip-container.component.d.ts +1 -0
  393. package/tooltip/tooltip.config.d.ts +2 -0
  394. package/tooltip/tooltip.directive.d.ts +2 -0
  395. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js +93 -35
  396. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js.map +1 -1
  397. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js +1 -1
  398. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js.map +1 -1
  399. package/typeahead/esm2015/ngx-bootstrap-typeahead.js +2 -2
  400. package/typeahead/esm2015/public_api.js +2 -1
  401. package/typeahead/esm2015/typeahead-container.component.js +15 -4
  402. package/typeahead/esm2015/typeahead.config.js +55 -0
  403. package/typeahead/esm2015/typeahead.directive.js +68 -32
  404. package/typeahead/esm2015/typeahead.module.js +3 -2
  405. package/typeahead/esm5/ngx-bootstrap-typeahead.js +2 -2
  406. package/typeahead/esm5/public_api.js +2 -1
  407. package/typeahead/esm5/typeahead-container.component.js +12 -4
  408. package/typeahead/esm5/typeahead.config.js +57 -0
  409. package/typeahead/esm5/typeahead.directive.js +69 -34
  410. package/typeahead/esm5/typeahead.module.js +3 -2
  411. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js +96 -36
  412. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +1 -1
  413. package/typeahead/fesm5/ngx-bootstrap-typeahead.js +95 -38
  414. package/typeahead/fesm5/ngx-bootstrap-typeahead.js.map +1 -1
  415. package/typeahead/ngx-bootstrap-typeahead.metadata.json +1 -1
  416. package/typeahead/package.json +1 -1
  417. package/typeahead/public_api.d.ts +1 -0
  418. package/typeahead/typeahead-container.component.d.ts +1 -1
  419. package/typeahead/typeahead.config.d.ts +11 -0
  420. package/typeahead/typeahead.directive.d.ts +14 -5
  421. package/utils/bundles/ngx-bootstrap-utils.umd.js +31 -11
  422. package/utils/bundles/ngx-bootstrap-utils.umd.js.map +1 -1
  423. package/utils/bundles/ngx-bootstrap-utils.umd.min.js +1 -1
  424. package/utils/bundles/ngx-bootstrap-utils.umd.min.js.map +1 -1
  425. package/utils/esm2015/facade/browser.js +13 -14
  426. package/utils/esm2015/ngx-bootstrap-utils.js +2 -2
  427. package/utils/esm2015/public_api.js +2 -2
  428. package/utils/esm2015/triggers.js +23 -1
  429. package/utils/esm5/facade/browser.js +10 -11
  430. package/utils/esm5/ngx-bootstrap-utils.js +2 -2
  431. package/utils/esm5/public_api.js +2 -2
  432. package/utils/esm5/triggers.js +23 -1
  433. package/utils/facade/browser.d.ts +5 -5
  434. package/utils/fesm2015/ngx-bootstrap-utils.js +34 -15
  435. package/utils/fesm2015/ngx-bootstrap-utils.js.map +1 -1
  436. package/utils/fesm5/ngx-bootstrap-utils.js +31 -12
  437. package/utils/fesm5/ngx-bootstrap-utils.js.map +1 -1
  438. package/utils/ngx-bootstrap-utils.metadata.json +1 -1
  439. package/utils/package.json +1 -1
  440. package/utils/public_api.d.ts +1 -1
  441. package/utils/triggers.d.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-bootstrap-timepicker.umd.js.map","sources":["ng://ngx-bootstrap/timepicker/reducer/timepicker.actions.ts","node_modules/tslib/tslib.es6.js","ng://ngx-bootstrap/timepicker/timepicker.utils.ts","ng://ngx-bootstrap/timepicker/timepicker-controls.util.ts","ng://ngx-bootstrap/timepicker/timepicker.config.ts","ng://ngx-bootstrap/timepicker/reducer/timepicker.reducer.ts","ng://ngx-bootstrap/timepicker/reducer/timepicker.store.ts","ng://ngx-bootstrap/timepicker/timepicker.component.ts","ng://ngx-bootstrap/timepicker/timepicker.module.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Action } from 'ngx-bootstrap/mini-ngrx';\nimport {\n TimeChangeEvent,\n TimepickerComponentState,\n Time\n} from '../timepicker.models';\n\n@Injectable()\nexport class TimepickerActions {\n static readonly WRITE_VALUE = '[timepicker] write value from ng model';\n static readonly CHANGE_HOURS = '[timepicker] change hours';\n static readonly CHANGE_MINUTES = '[timepicker] change minutes';\n static readonly CHANGE_SECONDS = '[timepicker] change seconds';\n static readonly SET_TIME_UNIT = '[timepicker] set time unit';\n static readonly UPDATE_CONTROLS = '[timepicker] update controls';\n\n writeValue(value: Date | string) {\n return {\n type: TimepickerActions.WRITE_VALUE,\n payload: value\n };\n }\n\n changeHours(event: TimeChangeEvent) {\n return {\n type: TimepickerActions.CHANGE_HOURS,\n payload: event\n };\n }\n\n changeMinutes(event: TimeChangeEvent) {\n return {\n type: TimepickerActions.CHANGE_MINUTES,\n payload: event\n };\n }\n\n changeSeconds(event: TimeChangeEvent): Action {\n return {\n type: TimepickerActions.CHANGE_SECONDS,\n payload: event\n };\n }\n\n setTime(value: Time): Action {\n return {\n type: TimepickerActions.SET_TIME_UNIT,\n payload: value\n };\n }\n\n updateControls(value: TimepickerComponentState): Action {\n return {\n type: TimepickerActions.UPDATE_CONTROLS,\n payload: value\n };\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Time, TimepickerComponentState } from './timepicker.models';\n\nconst dex = 10;\nconst hoursPerDay = 24;\nconst hoursPerDayHalf = 12;\nconst minutesPerHour = 60;\nconst secondsPerMinute = 60;\n\nexport function isValidDate(value?: string | Date): boolean {\n if (!value) {\n return false;\n }\n\n if (value instanceof Date && isNaN(value.getHours())) {\n return false;\n }\n\n if (typeof value === 'string') {\n return isValidDate(new Date(value));\n }\n\n return true;\n}\n\nexport function isValidLimit(controls: TimepickerComponentState, newDate: Date): boolean {\n if (controls.min && newDate < controls.min) {\n return false;\n }\n\n if (controls.max && newDate > controls.max) {\n return false;\n }\n\n return true;\n}\n\nexport function toNumber(value: string | number): number {\n if (typeof value === 'number') {\n return value;\n }\n\n return parseInt(value, dex);\n}\n\nexport function isNumber(value: string | number): value is number {\n return !isNaN(toNumber(value));\n}\n\nexport function parseHours(\n value: string | number,\n isPM = false\n): number {\n const hour = toNumber(value);\n if (\n isNaN(hour) ||\n hour < 0 ||\n hour > (isPM ? hoursPerDayHalf : hoursPerDay)\n ) {\n return NaN;\n }\n\n return hour;\n}\n\nexport function parseMinutes(value: string | number): number {\n const minute = toNumber(value);\n if (isNaN(minute) || minute < 0 || minute > minutesPerHour) {\n return NaN;\n }\n\n return minute;\n}\n\nexport function parseSeconds(value: string | number): number {\n const seconds = toNumber(value);\n if (isNaN(seconds) || seconds < 0 || seconds > secondsPerMinute) {\n return NaN;\n }\n\n return seconds;\n}\n\nexport function parseTime(value: string | Date): Date {\n if (typeof value === 'string') {\n return new Date(value);\n }\n\n return value;\n}\n\nexport function changeTime(value: Date, diff: Time): Date {\n if (!value) {\n return changeTime(createDate(new Date(), 0, 0, 0), diff);\n }\n\n let hour = value.getHours();\n let minutes = value.getMinutes();\n let seconds = value.getSeconds();\n\n if (diff.hour) {\n hour = (hour + toNumber(diff.hour)) % hoursPerDay;\n if (hour < 0) {\n hour += hoursPerDay;\n }\n }\n\n if (diff.minute) {\n minutes = minutes + toNumber(diff.minute);\n }\n\n if (diff.seconds) {\n seconds = seconds + toNumber(diff.seconds);\n }\n\n return createDate(value, hour, minutes, seconds);\n}\n\nexport function setTime(value: Date, opts: Time): Date {\n let hour = parseHours(opts.hour);\n const minute = parseMinutes(opts.minute);\n const seconds = parseSeconds(opts.seconds) || 0;\n\n if (opts.isPM) {\n hour += hoursPerDayHalf;\n }\n\n if (!value) {\n if (!isNaN(hour) && !isNaN(minute)) {\n return createDate(new Date(), hour, minute, seconds);\n }\n\n return value;\n }\n\n if (isNaN(hour) || isNaN(minute)) {\n return value;\n }\n\n return createDate(value, hour, minute, seconds);\n}\n\nexport function createDate(\n value: Date,\n hours: number,\n minutes: number,\n seconds: number\n): Date {\n return new Date(\n value.getFullYear(),\n value.getMonth(),\n value.getDate(),\n hours,\n minutes,\n seconds,\n value.getMilliseconds()\n );\n}\n\nexport function padNumber(value: number): string {\n const _value = value.toString();\n if (_value.length > 1) {\n return _value;\n }\n\n return `0${_value}`;\n}\n\nexport function isHourInputValid(hours: string, isPM: boolean): boolean {\n return !isNaN(parseHours(hours, isPM));\n}\n\nexport function isMinuteInputValid(minutes: string): boolean {\n return !isNaN(parseMinutes(minutes));\n}\n\nexport function isSecondInputValid(seconds: string): boolean {\n return !isNaN(parseSeconds(seconds));\n}\n\nexport function isInputLimitValid(diff: Time, max: Date, min: Date): boolean {\n const newDate = changeTime(new Date(), diff);\n\n if (max && newDate > max) {\n return false;\n }\n\n if (min && newDate < min) {\n return false;\n }\n\n return true;\n}\n\nexport function isInputValid(\n hours: string,\n minutes = '0',\n seconds = '0',\n isPM: boolean\n): boolean {\n return isHourInputValid(hours, isPM)\n && isMinuteInputValid(minutes)\n && isSecondInputValid(seconds);\n}\n","import { changeTime } from './timepicker.utils';\nimport {\n TimeChangeEvent,\n TimepickerComponentState,\n TimepickerControls\n} from './timepicker.models';\n\nexport function canChangeValue(\n state: TimepickerComponentState,\n event?: TimeChangeEvent\n): boolean {\n if (state.readonlyInput || state.disabled) {\n return false;\n }\n\n if (event) {\n if (event.source === 'wheel' && !state.mousewheel) {\n return false;\n }\n\n if (event.source === 'key' && !state.arrowkeys) {\n return false;\n }\n }\n\n return true;\n}\n\nexport function canChangeHours(\n event: TimeChangeEvent,\n controls: TimepickerControls\n): boolean {\n if (!event.step) {\n return false;\n }\n\n if (event.step > 0 && !controls.canIncrementHours) {\n return false;\n }\n\n if (event.step < 0 && !controls.canDecrementHours) {\n return false;\n }\n\n return true;\n}\n\nexport function canChangeMinutes(\n event: TimeChangeEvent,\n controls: TimepickerControls\n): boolean {\n if (!event.step) {\n return false;\n }\n if (event.step > 0 && !controls.canIncrementMinutes) {\n return false;\n }\n if (event.step < 0 && !controls.canDecrementMinutes) {\n return false;\n }\n\n return true;\n}\n\nexport function canChangeSeconds(\n event: TimeChangeEvent,\n controls: TimepickerControls\n): boolean {\n if (!event.step) {\n return false;\n }\n if (event.step > 0 && !controls.canIncrementSeconds) {\n return false;\n }\n if (event.step < 0 && !controls.canDecrementSeconds) {\n return false;\n }\n\n return true;\n}\n\nexport function getControlsValue(\n state: TimepickerComponentState\n): TimepickerComponentState {\n const {\n hourStep,\n minuteStep,\n secondsStep,\n readonlyInput,\n disabled,\n mousewheel,\n arrowkeys,\n showSpinners,\n showMeridian,\n showSeconds,\n meridians,\n min,\n max\n } = state;\n\n return {\n hourStep,\n minuteStep,\n secondsStep,\n readonlyInput,\n disabled,\n mousewheel,\n arrowkeys,\n showSpinners,\n showMeridian,\n showSeconds,\n meridians,\n min,\n max\n };\n}\n\nexport function timepickerControls(\n value: Date,\n state: TimepickerComponentState\n): TimepickerControls {\n const hoursPerDayHalf = 12;\n const { min, max, hourStep, minuteStep, secondsStep, showSeconds } = state;\n const res: TimepickerControls = {\n canIncrementHours: true,\n canIncrementMinutes: true,\n canIncrementSeconds: true,\n\n canDecrementHours: true,\n canDecrementMinutes: true,\n canDecrementSeconds: true,\n\n canToggleMeridian: true\n };\n\n if (!value) {\n return res;\n }\n\n // compare dates\n if (max) {\n const _newHour = changeTime(value, { hour: hourStep });\n res.canIncrementHours = max > _newHour;\n\n if (!res.canIncrementHours) {\n const _newMinutes = changeTime(value, { minute: minuteStep });\n res.canIncrementMinutes = showSeconds\n ? max > _newMinutes\n : max >= _newMinutes;\n }\n\n if (!res.canIncrementMinutes) {\n const _newSeconds = changeTime(value, { seconds: secondsStep });\n res.canIncrementSeconds = max >= _newSeconds;\n }\n\n if (value.getHours() < hoursPerDayHalf) {\n res.canToggleMeridian = changeTime(value, { hour: hoursPerDayHalf }) < max;\n }\n }\n\n if (min) {\n const _newHour = changeTime(value, { hour: -hourStep });\n res.canDecrementHours = min < _newHour;\n\n if (!res.canDecrementHours) {\n const _newMinutes = changeTime(value, { minute: -minuteStep });\n res.canDecrementMinutes = showSeconds\n ? min < _newMinutes\n : min <= _newMinutes;\n }\n\n if (!res.canDecrementMinutes) {\n const _newSeconds = changeTime(value, { seconds: -secondsStep });\n res.canDecrementSeconds = min <= _newSeconds;\n }\n\n if (value.getHours() >= hoursPerDayHalf) {\n res.canToggleMeridian = changeTime(value, { hour: -hoursPerDayHalf }) > min;\n }\n }\n\n return res;\n}\n","import { Injectable } from '@angular/core';\n\n/** Provides default configuration values for timepicker */\n@Injectable()\nexport class TimepickerConfig {\n /** hours change step */\n hourStep = 1;\n /** hours change step */\n minuteStep = 5;\n /** seconds changes step */\n secondsStep = 10;\n /** if true works in 12H mode and displays AM/PM. If false works in 24H mode and hides AM/PM */\n showMeridian = true;\n /** meridian labels based on locale */\n meridians = ['AM', 'PM'];\n /** if true hours and minutes fields will be readonly */\n readonlyInput = false;\n /** if true hours and minutes fields will be disabled */\n disabled = false;\n /** if true scroll inside hours and minutes inputs will change time */\n mousewheel = true;\n /** if true the values of hours and minutes can be changed using the up/down arrow keys on the keyboard */\n arrowkeys = true;\n /** if true spinner arrows above and below the inputs will be shown */\n showSpinners = true;\n /** show seconds in timepicker */\n showSeconds = false;\n /** show minutes in timepicker */\n showMinutes = true;\n /** minimum time user can select */\n min: Date;\n /** maximum time user can select */\n max: Date;\n}\n","import { Action } from 'ngx-bootstrap/mini-ngrx';\nimport {\n canChangeHours,\n canChangeMinutes,\n canChangeSeconds,\n canChangeValue,\n timepickerControls\n} from '../timepicker-controls.util';\nimport { TimepickerConfig } from '../timepicker.config';\nimport {\n TimepickerComponentState,\n TimepickerControls\n} from '../timepicker.models';\nimport { changeTime, setTime, isValidLimit } from '../timepicker.utils';\nimport { TimepickerActions } from './timepicker.actions';\n\nexport class TimepickerState {\n value: Date;\n config: TimepickerComponentState;\n controls: TimepickerControls;\n}\n\nexport const initialState: TimepickerState = {\n value: null,\n config: new TimepickerConfig(),\n controls: {\n canIncrementHours: true,\n canIncrementMinutes: true,\n canIncrementSeconds: true,\n\n canDecrementHours: true,\n canDecrementMinutes: true,\n canDecrementSeconds: true,\n\n canToggleMeridian: true\n }\n};\n\n// tslint:disable-next-line:cyclomatic-complexity\nexport function timepickerReducer(state = initialState, action: Action) {\n switch (action.type) {\n case TimepickerActions.WRITE_VALUE: {\n return Object.assign({}, state, { value: action.payload });\n }\n\n case TimepickerActions.CHANGE_HOURS: {\n if (\n !canChangeValue(state.config, action.payload) ||\n !canChangeHours(action.payload, state.controls)\n ) {\n return state;\n }\n\n const _newTime = changeTime(state.value, { hour: action.payload.step });\n\n if ((state.config.max || state.config.min) && !isValidLimit(state.config, _newTime)) {\n return state;\n }\n\n return Object.assign({}, state, { value: _newTime });\n }\n\n case TimepickerActions.CHANGE_MINUTES: {\n if (\n !canChangeValue(state.config, action.payload) ||\n !canChangeMinutes(action.payload, state.controls)\n ) {\n return state;\n }\n\n const _newTime = changeTime(state.value, { minute: action.payload.step });\n\n if ((state.config.max || state.config.min) && !isValidLimit(state.config, _newTime)) {\n return state;\n }\n\n return Object.assign({}, state, { value: _newTime });\n }\n\n case TimepickerActions.CHANGE_SECONDS: {\n if (\n !canChangeValue(state.config, action.payload) ||\n !canChangeSeconds(action.payload, state.controls)\n ) {\n return state;\n }\n\n const _newTime = changeTime(state.value, {\n seconds: action.payload.step\n });\n\n if ((state.config.max || state.config.min) && !isValidLimit(state.config, _newTime)) {\n return state;\n }\n\n return Object.assign({}, state, { value: _newTime });\n }\n\n case TimepickerActions.SET_TIME_UNIT: {\n if (!canChangeValue(state.config)) {\n return state;\n }\n\n const _newTime = setTime(state.value, action.payload);\n\n return Object.assign({}, state, { value: _newTime });\n }\n\n case TimepickerActions.UPDATE_CONTROLS: {\n const _newControlsState = timepickerControls(state.value, action.payload);\n const _newState: TimepickerState = {\n value: state.value,\n config: action.payload,\n controls: _newControlsState\n };\n\n if (state.config.showMeridian !== _newState.config.showMeridian) {\n if (state.value) {\n _newState.value = new Date(state.value);\n }\n }\n\n return Object.assign({}, state, _newState);\n }\n\n default:\n return state;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n timepickerReducer,\n TimepickerState,\n initialState\n} from './timepicker.reducer';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { Action, MiniStore, MiniState } from 'ngx-bootstrap/mini-ngrx';\n\n@Injectable()\nexport class TimepickerStore extends MiniStore<TimepickerState> {\n constructor() {\n const _dispatcher = new BehaviorSubject<Action>({\n type: '[mini-ngrx] dispatcher init'\n });\n const state = new MiniState<TimepickerState>(\n initialState,\n _dispatcher,\n timepickerReducer\n );\n super(_dispatcher, timepickerReducer, state);\n }\n}\n","/* tslint:disable:no-forward-ref max-file-line-count */\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChanges, ViewEncapsulation\n} from '@angular/core';\n\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { TimepickerActions } from './reducer/timepicker.actions';\nimport { TimepickerStore } from './reducer/timepicker.store';\nimport { getControlsValue } from './timepicker-controls.util';\nimport { TimepickerConfig } from './timepicker.config';\n\nimport {\n TimeChangeSource,\n TimepickerComponentState,\n TimepickerControls\n} from './timepicker.models';\n\nimport {\n isValidDate,\n padNumber,\n parseTime,\n isInputValid,\n isHourInputValid,\n isMinuteInputValid,\n isSecondInputValid,\n isInputLimitValid\n} from './timepicker.utils';\n\nimport { Subscription } from 'rxjs';\n\nimport { ControlValueAccessorModel } from './models';\n\nexport const TIMEPICKER_CONTROL_VALUE_ACCESSOR: ControlValueAccessorModel = {\n provide: NG_VALUE_ACCESSOR,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => TimepickerComponent),\n multi: true\n};\n\n@Component({\n selector: 'timepicker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TIMEPICKER_CONTROL_VALUE_ACCESSOR, TimepickerStore],\n templateUrl: './timepicker.component.html',\n styles: [`\n .bs-chevron {\n border-style: solid;\n display: block;\n width: 9px;\n height: 9px;\n position: relative;\n border-width: 3px 0px 0 3px;\n }\n\n .bs-chevron-up {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n top: 2px;\n }\n\n .bs-chevron-down {\n -webkit-transform: rotate(-135deg);\n transform: rotate(-135deg);\n top: -2px;\n }\n\n .bs-timepicker-field {\n width: 50px;\n }\n `],\n encapsulation: ViewEncapsulation.None\n})\nexport class TimepickerComponent\n implements ControlValueAccessor,\n TimepickerComponentState,\n TimepickerControls,\n OnChanges,\n OnDestroy {\n /** hours change step */\n @Input() hourStep: number;\n /** hours change step */\n @Input() minuteStep: number;\n /** seconds change step */\n @Input() secondsStep: number;\n /** if true hours and minutes fields will be readonly */\n @Input() readonlyInput: boolean;\n /** if true hours and minutes fields will be disabled */\n @Input() disabled: boolean;\n /** if true scroll inside hours and minutes inputs will change time */\n @Input() mousewheel: boolean;\n /** if true the values of hours and minutes can be changed using the up/down arrow keys on the keyboard */\n @Input() arrowkeys: boolean;\n /** if true spinner arrows above and below the inputs will be shown */\n @Input() showSpinners: boolean;\n /** if true meridian button will be shown */\n @Input() showMeridian: boolean;\n /** show minutes in timepicker */\n @Input() showMinutes: boolean;\n /** show seconds in timepicker */\n @Input() showSeconds: boolean;\n /** meridian labels based on locale */\n @Input() meridians: string[];\n /** minimum time user can select */\n @Input() min: Date;\n /** maximum time user can select */\n @Input() max: Date;\n\n /** emits true if value is a valid date */\n @Output() isValid = new EventEmitter<boolean>();\n\n // ui variables\n hours: string;\n minutes: string;\n seconds: string;\n meridian: string;\n\n /** @deprecated - please use `isEditable` instead */\n get isSpinnersVisible(): boolean {\n return this.showSpinners && !this.readonlyInput;\n }\n\n get isEditable(): boolean {\n return !(this.readonlyInput || this.disabled);\n }\n\n // min\\max validation for input fields\n invalidHours = false;\n invalidMinutes = false;\n invalidSeconds = false;\n\n // time picker controls state\n canIncrementHours: boolean;\n canIncrementMinutes: boolean;\n canIncrementSeconds: boolean;\n\n canDecrementHours: boolean;\n canDecrementMinutes: boolean;\n canDecrementSeconds: boolean;\n\n canToggleMeridian: boolean;\n\n // control value accessor methods\n // tslint:disable-next-line:no-any\n onChange = Function.prototype;\n // tslint:disable-next-line:no-any\n onTouched = Function.prototype;\n\n timepickerSub: Subscription;\n\n constructor(\n _config: TimepickerConfig,\n _cd: ChangeDetectorRef,\n private _store: TimepickerStore,\n private _timepickerActions: TimepickerActions\n ) {\n Object.assign(this, _config);\n\n this.timepickerSub = _store\n .select(state => state.value)\n .subscribe((value: Date) => {\n // update UI values if date changed\n this._renderTime(value);\n this.onChange(value);\n\n this._store.dispatch(\n this._timepickerActions.updateControls(getControlsValue(this))\n );\n });\n\n _store\n .select(state => state.controls)\n .subscribe((controlsState: TimepickerControls) => {\n this.isValid.emit(isInputValid(this.hours, this.minutes, this.seconds, this.isPM()));\n Object.assign(this, controlsState);\n _cd.markForCheck();\n });\n }\n\n resetValidation(): void {\n this.invalidHours = false;\n this.invalidMinutes = false;\n this.invalidSeconds = false;\n }\n\n isPM(): boolean {\n return this.showMeridian && this.meridian === this.meridians[1];\n }\n\n prevDef($event: Event) {\n $event.preventDefault();\n }\n\n wheelSign($event: WheelEventInit): number {\n return Math.sign($event.deltaY) * -1;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this._store.dispatch(\n this._timepickerActions.updateControls(getControlsValue(this))\n );\n }\n\n changeHours(step: number, source: TimeChangeSource = ''): void {\n this.resetValidation();\n this._store.dispatch(this._timepickerActions.changeHours({ step, source }));\n }\n\n changeMinutes(step: number, source: TimeChangeSource = ''): void {\n this.resetValidation();\n this._store.dispatch(\n this._timepickerActions.changeMinutes({ step, source })\n );\n }\n\n changeSeconds(step: number, source: TimeChangeSource = ''): void {\n this.resetValidation();\n this._store.dispatch(\n this._timepickerActions.changeSeconds({ step, source })\n );\n }\n\n updateHours(hours: string): void {\n this.resetValidation();\n this.hours = hours;\n\n const isValid = isHourInputValid(this.hours, this.isPM()) && this.isValidLimit();\n\n if (!isValid) {\n this.invalidHours = true;\n this.isValid.emit(false);\n this.onChange(null);\n\n return;\n }\n\n this._updateTime();\n }\n\n updateMinutes(minutes: string) {\n this.resetValidation();\n this.minutes = minutes;\n\n const isValid = isMinuteInputValid(this.minutes) && this.isValidLimit();\n\n if (!isValid) {\n this.invalidMinutes = true;\n this.isValid.emit(false);\n this.onChange(null);\n\n return;\n }\n\n this._updateTime();\n }\n\n updateSeconds(seconds: string) {\n this.resetValidation();\n this.seconds = seconds;\n\n const isValid = isSecondInputValid(this.seconds) && this.isValidLimit();\n\n if (!isValid) {\n this.invalidSeconds = true;\n this.isValid.emit(false);\n this.onChange(null);\n\n return;\n }\n\n this._updateTime();\n }\n\n isValidLimit(): boolean {\n return isInputLimitValid({\n hour: this.hours,\n minute: this.minutes,\n seconds: this.seconds,\n isPM: this.isPM()\n }, this.max, this.min);\n }\n\n _updateTime() {\n const _seconds = this.showSeconds ? this.seconds : void 0;\n const _minutes = this.showMinutes ? this.minutes : void 0;\n if (!isInputValid(this.hours, _minutes, _seconds, this.isPM())) {\n this.isValid.emit(false);\n this.onChange(null);\n\n return;\n }\n\n this._store.dispatch(\n this._timepickerActions.setTime({\n hour: this.hours,\n minute: this.minutes,\n seconds: this.seconds,\n isPM: this.isPM()\n })\n );\n }\n\n toggleMeridian(): void {\n if (!this.showMeridian || !this.isEditable) {\n return;\n }\n\n const _hoursPerDayHalf = 12;\n this._store.dispatch(\n this._timepickerActions.changeHours({\n step: _hoursPerDayHalf,\n source: ''\n })\n );\n }\n\n /**\n * Write a new value to the element.\n */\n writeValue(obj: string | null | undefined | Date): void {\n if (isValidDate(obj)) {\n this._store.dispatch(this._timepickerActions.writeValue(parseTime(obj)));\n } else if (obj == null) {\n this._store.dispatch(this._timepickerActions.writeValue(null));\n }\n }\n\n /**\n * Set the function to be called when the control receives a change event.\n */\n // tslint:disable-next-line:no-any\n registerOnChange(fn: (_: any) => {}): void {\n this.onChange = fn;\n }\n\n /**\n * Set the function to be called when the control receives a touch event.\n */\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n /**\n * This function is called when the control status changes to or from \"disabled\".\n * Depending on the value, it will enable or disable the appropriate DOM element.\n *\n * @param isDisabled\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n ngOnDestroy(): void {\n this.timepickerSub.unsubscribe();\n }\n\n private _renderTime(value: string | Date): void {\n if (!isValidDate(value)) {\n this.hours = '';\n this.minutes = '';\n this.seconds = '';\n this.meridian = this.meridians[0];\n\n return;\n }\n\n const _value = parseTime(value);\n const _hoursPerDayHalf = 12;\n let _hours = _value.getHours();\n\n if (this.showMeridian) {\n this.meridian = this.meridians[_hours >= _hoursPerDayHalf ? 1 : 0];\n _hours = _hours % _hoursPerDayHalf;\n // should be 12 PM, not 00 PM\n if (_hours === 0) {\n _hours = _hoursPerDayHalf;\n }\n }\n\n this.hours = padNumber(_hours);\n this.minutes = padNumber(_value.getMinutes());\n this.seconds = padNumber(_value.getUTCSeconds());\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { TimepickerComponent } from './timepicker.component';\nimport { TimepickerActions } from './reducer/timepicker.actions';\nimport { TimepickerConfig } from './timepicker.config';\nimport { TimepickerStore } from './reducer/timepicker.store';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TimepickerComponent],\n exports: [TimepickerComponent]\n})\nexport class TimepickerModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: TimepickerModule,\n providers: [TimepickerConfig, TimepickerActions, TimepickerStore]\n };\n }\n}\n"],"names":["Injectable","tslib_1.__extends","BehaviorSubject","MiniState","MiniStore","NG_VALUE_ACCESSOR","forwardRef","EventEmitter","Component","ChangeDetectionStrategy","ViewEncapsulation","ChangeDetectorRef","Input","Output","NgModule","CommonModule"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-bootstrap-timepicker.umd.js.map","sources":["ng://ngx-bootstrap/timepicker/reducer/timepicker.actions.ts","node_modules/tslib/tslib.es6.js","ng://ngx-bootstrap/timepicker/timepicker.utils.ts","ng://ngx-bootstrap/timepicker/timepicker-controls.util.ts","ng://ngx-bootstrap/timepicker/timepicker.config.ts","ng://ngx-bootstrap/timepicker/reducer/timepicker.reducer.ts","ng://ngx-bootstrap/timepicker/reducer/timepicker.store.ts","ng://ngx-bootstrap/timepicker/timepicker.component.ts","ng://ngx-bootstrap/timepicker/timepicker.module.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Action } from 'ngx-bootstrap/mini-ngrx';\nimport {\n TimeChangeEvent,\n TimepickerComponentState,\n Time\n} from '../timepicker.models';\n\n@Injectable()\nexport class TimepickerActions {\n static readonly WRITE_VALUE = '[timepicker] write value from ng model';\n static readonly CHANGE_HOURS = '[timepicker] change hours';\n static readonly CHANGE_MINUTES = '[timepicker] change minutes';\n static readonly CHANGE_SECONDS = '[timepicker] change seconds';\n static readonly SET_TIME_UNIT = '[timepicker] set time unit';\n static readonly UPDATE_CONTROLS = '[timepicker] update controls';\n\n writeValue(value: Date | string) {\n return {\n type: TimepickerActions.WRITE_VALUE,\n payload: value\n };\n }\n\n changeHours(event: TimeChangeEvent) {\n return {\n type: TimepickerActions.CHANGE_HOURS,\n payload: event\n };\n }\n\n changeMinutes(event: TimeChangeEvent) {\n return {\n type: TimepickerActions.CHANGE_MINUTES,\n payload: event\n };\n }\n\n changeSeconds(event: TimeChangeEvent): Action {\n return {\n type: TimepickerActions.CHANGE_SECONDS,\n payload: event\n };\n }\n\n setTime(value: Time): Action {\n return {\n type: TimepickerActions.SET_TIME_UNIT,\n payload: value\n };\n }\n\n updateControls(value: TimepickerComponentState): Action {\n return {\n type: TimepickerActions.UPDATE_CONTROLS,\n payload: value\n };\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Time, TimepickerComponentState } from './timepicker.models';\n\nconst dex = 10;\nconst hoursPerDay = 24;\nconst hoursPerDayHalf = 12;\nconst minutesPerHour = 60;\nconst secondsPerMinute = 60;\n\nexport function isValidDate(value?: string | Date): boolean {\n if (!value) {\n return false;\n }\n\n if (value instanceof Date && isNaN(value.getHours())) {\n return false;\n }\n\n if (typeof value === 'string') {\n return isValidDate(new Date(value));\n }\n\n return true;\n}\n\nexport function isValidLimit(controls: TimepickerComponentState, newDate: Date): boolean {\n if (controls.min && newDate < controls.min) {\n return false;\n }\n\n if (controls.max && newDate > controls.max) {\n return false;\n }\n\n return true;\n}\n\nexport function toNumber(value: string | number): number {\n if (typeof value === 'number') {\n return value;\n }\n\n return parseInt(value, dex);\n}\n\nexport function isNumber(value: string | number): value is number {\n return !isNaN(toNumber(value));\n}\n\nexport function parseHours(\n value: string | number,\n isPM = false\n): number {\n const hour = toNumber(value);\n if (\n isNaN(hour) ||\n hour < 0 ||\n hour > (isPM ? hoursPerDayHalf : hoursPerDay)\n ) {\n return NaN;\n }\n\n return hour;\n}\n\nexport function parseMinutes(value: string | number): number {\n const minute = toNumber(value);\n if (isNaN(minute) || minute < 0 || minute > minutesPerHour) {\n return NaN;\n }\n\n return minute;\n}\n\nexport function parseSeconds(value: string | number): number {\n const seconds = toNumber(value);\n if (isNaN(seconds) || seconds < 0 || seconds > secondsPerMinute) {\n return NaN;\n }\n\n return seconds;\n}\n\nexport function parseTime(value: string | Date): Date {\n if (typeof value === 'string') {\n return new Date(value);\n }\n\n return value;\n}\n\nexport function changeTime(value: Date, diff: Time): Date {\n if (!value) {\n return changeTime(createDate(new Date(), 0, 0, 0), diff);\n }\n\n let hour = value.getHours();\n let minutes = value.getMinutes();\n let seconds = value.getSeconds();\n\n if (diff.hour) {\n hour = (hour + toNumber(diff.hour)) % hoursPerDay;\n if (hour < 0) {\n hour += hoursPerDay;\n }\n }\n\n if (diff.minute) {\n minutes = minutes + toNumber(diff.minute);\n }\n\n if (diff.seconds) {\n seconds = seconds + toNumber(diff.seconds);\n }\n\n return createDate(value, hour, minutes, seconds);\n}\n\nexport function setTime(value: Date, opts: Time): Date {\n let hour = parseHours(opts.hour);\n const minute = parseMinutes(opts.minute);\n const seconds = parseSeconds(opts.seconds) || 0;\n\n if (opts.isPM) {\n hour += hoursPerDayHalf;\n }\n\n if (!value) {\n if (!isNaN(hour) && !isNaN(minute)) {\n return createDate(new Date(), hour, minute, seconds);\n }\n\n return value;\n }\n\n if (isNaN(hour) || isNaN(minute)) {\n return value;\n }\n\n return createDate(value, hour, minute, seconds);\n}\n\nexport function createDate(\n value: Date,\n hours: number,\n minutes: number,\n seconds: number\n): Date {\n return new Date(\n value.getFullYear(),\n value.getMonth(),\n value.getDate(),\n hours,\n minutes,\n seconds,\n value.getMilliseconds()\n );\n}\n\nexport function padNumber(value: number): string {\n const _value = value.toString();\n if (_value.length > 1) {\n return _value;\n }\n\n return `0${_value}`;\n}\n\nexport function isHourInputValid(hours: string, isPM: boolean): boolean {\n return !isNaN(parseHours(hours, isPM));\n}\n\nexport function isMinuteInputValid(minutes: string): boolean {\n return !isNaN(parseMinutes(minutes));\n}\n\nexport function isSecondInputValid(seconds: string): boolean {\n return !isNaN(parseSeconds(seconds));\n}\n\nexport function isInputLimitValid(diff: Time, max: Date, min: Date): boolean {\n const newDate = changeTime(new Date(), diff);\n\n if (max && newDate > max) {\n return false;\n }\n\n if (min && newDate < min) {\n return false;\n }\n\n return true;\n}\n\nexport function isInputValid(\n hours: string,\n minutes = '0',\n seconds = '0',\n isPM: boolean\n): boolean {\n return isHourInputValid(hours, isPM)\n && isMinuteInputValid(minutes)\n && isSecondInputValid(seconds);\n}\n","import { changeTime } from './timepicker.utils';\nimport {\n TimeChangeEvent,\n TimepickerComponentState,\n TimepickerControls\n} from './timepicker.models';\n\nexport function canChangeValue(\n state: TimepickerComponentState,\n event?: TimeChangeEvent\n): boolean {\n if (state.readonlyInput || state.disabled) {\n return false;\n }\n\n if (event) {\n if (event.source === 'wheel' && !state.mousewheel) {\n return false;\n }\n\n if (event.source === 'key' && !state.arrowkeys) {\n return false;\n }\n }\n\n return true;\n}\n\nexport function canChangeHours(\n event: TimeChangeEvent,\n controls: TimepickerControls\n): boolean {\n if (!event.step) {\n return false;\n }\n\n if (event.step > 0 && !controls.canIncrementHours) {\n return false;\n }\n\n if (event.step < 0 && !controls.canDecrementHours) {\n return false;\n }\n\n return true;\n}\n\nexport function canChangeMinutes(\n event: TimeChangeEvent,\n controls: TimepickerControls\n): boolean {\n if (!event.step) {\n return false;\n }\n if (event.step > 0 && !controls.canIncrementMinutes) {\n return false;\n }\n if (event.step < 0 && !controls.canDecrementMinutes) {\n return false;\n }\n\n return true;\n}\n\nexport function canChangeSeconds(\n event: TimeChangeEvent,\n controls: TimepickerControls\n): boolean {\n if (!event.step) {\n return false;\n }\n if (event.step > 0 && !controls.canIncrementSeconds) {\n return false;\n }\n if (event.step < 0 && !controls.canDecrementSeconds) {\n return false;\n }\n\n return true;\n}\n\nexport function getControlsValue(\n state: TimepickerComponentState\n): TimepickerComponentState {\n const {\n hourStep,\n minuteStep,\n secondsStep,\n readonlyInput,\n disabled,\n mousewheel,\n arrowkeys,\n showSpinners,\n showMeridian,\n showSeconds,\n meridians,\n min,\n max\n } = state;\n\n return {\n hourStep,\n minuteStep,\n secondsStep,\n readonlyInput,\n disabled,\n mousewheel,\n arrowkeys,\n showSpinners,\n showMeridian,\n showSeconds,\n meridians,\n min,\n max\n };\n}\n\nexport function timepickerControls(\n value: Date,\n state: TimepickerComponentState\n): TimepickerControls {\n const hoursPerDayHalf = 12;\n const { min, max, hourStep, minuteStep, secondsStep, showSeconds } = state;\n const res: TimepickerControls = {\n canIncrementHours: true,\n canIncrementMinutes: true,\n canIncrementSeconds: true,\n\n canDecrementHours: true,\n canDecrementMinutes: true,\n canDecrementSeconds: true,\n\n canToggleMeridian: true\n };\n\n if (!value) {\n return res;\n }\n\n // compare dates\n if (max) {\n const _newHour = changeTime(value, { hour: hourStep });\n res.canIncrementHours = max > _newHour;\n\n if (!res.canIncrementHours) {\n const _newMinutes = changeTime(value, { minute: minuteStep });\n res.canIncrementMinutes = showSeconds\n ? max > _newMinutes\n : max >= _newMinutes;\n }\n\n if (!res.canIncrementMinutes) {\n const _newSeconds = changeTime(value, { seconds: secondsStep });\n res.canIncrementSeconds = max >= _newSeconds;\n }\n\n if (value.getHours() < hoursPerDayHalf) {\n res.canToggleMeridian = changeTime(value, { hour: hoursPerDayHalf }) < max;\n }\n }\n\n if (min) {\n const _newHour = changeTime(value, { hour: -hourStep });\n res.canDecrementHours = min < _newHour;\n\n if (!res.canDecrementHours) {\n const _newMinutes = changeTime(value, { minute: -minuteStep });\n res.canDecrementMinutes = showSeconds\n ? min < _newMinutes\n : min <= _newMinutes;\n }\n\n if (!res.canDecrementMinutes) {\n const _newSeconds = changeTime(value, { seconds: -secondsStep });\n res.canDecrementSeconds = min <= _newSeconds;\n }\n\n if (value.getHours() >= hoursPerDayHalf) {\n res.canToggleMeridian = changeTime(value, { hour: -hoursPerDayHalf }) > min;\n }\n }\n\n return res;\n}\n","import { Injectable } from '@angular/core';\n\n/** Provides default configuration values for timepicker */\n@Injectable()\nexport class TimepickerConfig {\n /** hours change step */\n hourStep = 1;\n /** hours change step */\n minuteStep = 5;\n /** seconds changes step */\n secondsStep = 10;\n /** if true works in 12H mode and displays AM/PM. If false works in 24H mode and hides AM/PM */\n showMeridian = true;\n /** meridian labels based on locale */\n meridians = ['AM', 'PM'];\n /** if true hours and minutes fields will be readonly */\n readonlyInput = false;\n /** if true hours and minutes fields will be disabled */\n disabled = false;\n /** if true scroll inside hours and minutes inputs will change time */\n mousewheel = true;\n /** if true the values of hours and minutes can be changed using the up/down arrow keys on the keyboard */\n arrowkeys = true;\n /** if true spinner arrows above and below the inputs will be shown */\n showSpinners = true;\n /** show seconds in timepicker */\n showSeconds = false;\n /** show minutes in timepicker */\n showMinutes = true;\n /** minimum time user can select */\n min: Date;\n /** maximum time user can select */\n max: Date;\n}\n","import { Action } from 'ngx-bootstrap/mini-ngrx';\nimport {\n canChangeHours,\n canChangeMinutes,\n canChangeSeconds,\n canChangeValue,\n timepickerControls\n} from '../timepicker-controls.util';\nimport { TimepickerConfig } from '../timepicker.config';\nimport {\n TimepickerComponentState,\n TimepickerControls\n} from '../timepicker.models';\nimport { changeTime, setTime, isValidLimit } from '../timepicker.utils';\nimport { TimepickerActions } from './timepicker.actions';\n\nexport class TimepickerState {\n value: Date;\n config: TimepickerComponentState;\n controls: TimepickerControls;\n}\n\nexport const initialState: TimepickerState = {\n value: null,\n config: new TimepickerConfig(),\n controls: {\n canIncrementHours: true,\n canIncrementMinutes: true,\n canIncrementSeconds: true,\n\n canDecrementHours: true,\n canDecrementMinutes: true,\n canDecrementSeconds: true,\n\n canToggleMeridian: true\n }\n};\n\n// tslint:disable-next-line:cyclomatic-complexity\nexport function timepickerReducer(state = initialState, action: Action) {\n switch (action.type) {\n case TimepickerActions.WRITE_VALUE: {\n return Object.assign({}, state, { value: action.payload });\n }\n\n case TimepickerActions.CHANGE_HOURS: {\n if (\n !canChangeValue(state.config, action.payload) ||\n !canChangeHours(action.payload, state.controls)\n ) {\n return state;\n }\n\n const _newTime = changeTime(state.value, { hour: action.payload.step });\n\n if ((state.config.max || state.config.min) && !isValidLimit(state.config, _newTime)) {\n return state;\n }\n\n return Object.assign({}, state, { value: _newTime });\n }\n\n case TimepickerActions.CHANGE_MINUTES: {\n if (\n !canChangeValue(state.config, action.payload) ||\n !canChangeMinutes(action.payload, state.controls)\n ) {\n return state;\n }\n\n const _newTime = changeTime(state.value, { minute: action.payload.step });\n\n if ((state.config.max || state.config.min) && !isValidLimit(state.config, _newTime)) {\n return state;\n }\n\n return Object.assign({}, state, { value: _newTime });\n }\n\n case TimepickerActions.CHANGE_SECONDS: {\n if (\n !canChangeValue(state.config, action.payload) ||\n !canChangeSeconds(action.payload, state.controls)\n ) {\n return state;\n }\n\n const _newTime = changeTime(state.value, {\n seconds: action.payload.step\n });\n\n if ((state.config.max || state.config.min) && !isValidLimit(state.config, _newTime)) {\n return state;\n }\n\n return Object.assign({}, state, { value: _newTime });\n }\n\n case TimepickerActions.SET_TIME_UNIT: {\n if (!canChangeValue(state.config)) {\n return state;\n }\n\n const _newTime = setTime(state.value, action.payload);\n\n return Object.assign({}, state, { value: _newTime });\n }\n\n case TimepickerActions.UPDATE_CONTROLS: {\n const _newControlsState = timepickerControls(state.value, action.payload);\n const _newState: TimepickerState = {\n value: state.value,\n config: action.payload,\n controls: _newControlsState\n };\n\n if (state.config.showMeridian !== _newState.config.showMeridian) {\n if (state.value) {\n _newState.value = new Date(state.value);\n }\n }\n\n return Object.assign({}, state, _newState);\n }\n\n default:\n return state;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n timepickerReducer,\n TimepickerState,\n initialState\n} from './timepicker.reducer';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { Action, MiniStore, MiniState } from 'ngx-bootstrap/mini-ngrx';\n\n@Injectable()\nexport class TimepickerStore extends MiniStore<TimepickerState> {\n constructor() {\n const _dispatcher = new BehaviorSubject<Action>({\n type: '[mini-ngrx] dispatcher init'\n });\n const state = new MiniState<TimepickerState>(\n initialState,\n _dispatcher,\n timepickerReducer\n );\n super(_dispatcher, timepickerReducer, state);\n }\n}\n","/* tslint:disable:no-forward-ref max-file-line-count */\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChanges, ViewEncapsulation\n} from '@angular/core';\n\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { TimepickerActions } from './reducer/timepicker.actions';\nimport { TimepickerStore } from './reducer/timepicker.store';\nimport { getControlsValue } from './timepicker-controls.util';\nimport { TimepickerConfig } from './timepicker.config';\n\nimport {\n TimeChangeSource,\n TimepickerComponentState,\n TimepickerControls\n} from './timepicker.models';\n\nimport {\n isValidDate,\n padNumber,\n parseTime,\n isInputValid,\n isHourInputValid,\n isMinuteInputValid,\n isSecondInputValid,\n isInputLimitValid\n} from './timepicker.utils';\n\nimport { Subscription } from 'rxjs';\n\nimport { ControlValueAccessorModel } from './models';\n\nexport const TIMEPICKER_CONTROL_VALUE_ACCESSOR: ControlValueAccessorModel = {\n provide: NG_VALUE_ACCESSOR,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => TimepickerComponent),\n multi: true\n};\n\n@Component({\n selector: 'timepicker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TIMEPICKER_CONTROL_VALUE_ACCESSOR, TimepickerStore],\n templateUrl: './timepicker.component.html',\n styles: [`\n .bs-chevron {\n border-style: solid;\n display: block;\n width: 9px;\n height: 9px;\n position: relative;\n border-width: 3px 0px 0 3px;\n }\n\n .bs-chevron-up {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n top: 2px;\n }\n\n .bs-chevron-down {\n -webkit-transform: rotate(-135deg);\n transform: rotate(-135deg);\n top: -2px;\n }\n\n .bs-timepicker-field {\n width: 50px;\n }\n `],\n encapsulation: ViewEncapsulation.None\n})\nexport class TimepickerComponent\n implements ControlValueAccessor,\n TimepickerComponentState,\n TimepickerControls,\n OnChanges,\n OnDestroy {\n /** hours change step */\n @Input() hourStep: number;\n /** hours change step */\n @Input() minuteStep: number;\n /** seconds change step */\n @Input() secondsStep: number;\n /** if true hours and minutes fields will be readonly */\n @Input() readonlyInput: boolean;\n /** if true hours and minutes fields will be disabled */\n @Input() disabled: boolean;\n /** if true scroll inside hours and minutes inputs will change time */\n @Input() mousewheel: boolean;\n /** if true the values of hours and minutes can be changed using the up/down arrow keys on the keyboard */\n @Input() arrowkeys: boolean;\n /** if true spinner arrows above and below the inputs will be shown */\n @Input() showSpinners: boolean;\n /** if true meridian button will be shown */\n @Input() showMeridian: boolean;\n /** show minutes in timepicker */\n @Input() showMinutes: boolean;\n /** show seconds in timepicker */\n @Input() showSeconds: boolean;\n /** meridian labels based on locale */\n @Input() meridians: string[];\n /** minimum time user can select */\n @Input() min: Date;\n /** maximum time user can select */\n @Input() max: Date;\n\n /** emits true if value is a valid date */\n @Output() isValid = new EventEmitter<boolean>();\n\n // ui variables\n hours: string;\n minutes: string;\n seconds: string;\n meridian: string;\n\n /** @deprecated - please use `isEditable` instead */\n get isSpinnersVisible(): boolean {\n return this.showSpinners && !this.readonlyInput;\n }\n\n get isEditable(): boolean {\n return !(this.readonlyInput || this.disabled);\n }\n\n // min\\max validation for input fields\n invalidHours = false;\n invalidMinutes = false;\n invalidSeconds = false;\n\n // time picker controls state\n canIncrementHours: boolean;\n canIncrementMinutes: boolean;\n canIncrementSeconds: boolean;\n\n canDecrementHours: boolean;\n canDecrementMinutes: boolean;\n canDecrementSeconds: boolean;\n\n canToggleMeridian: boolean;\n\n // control value accessor methods\n // tslint:disable-next-line:no-any\n onChange = Function.prototype;\n // tslint:disable-next-line:no-any\n onTouched = Function.prototype;\n\n timepickerSub: Subscription;\n\n constructor(\n _config: TimepickerConfig,\n private _cd: ChangeDetectorRef,\n private _store: TimepickerStore,\n private _timepickerActions: TimepickerActions\n ) {\n Object.assign(this, _config);\n\n this.timepickerSub = _store\n .select(state => state.value)\n .subscribe((value: Date) => {\n // update UI values if date changed\n this._renderTime(value);\n this.onChange(value);\n\n this._store.dispatch(\n this._timepickerActions.updateControls(getControlsValue(this))\n );\n });\n\n _store\n .select(state => state.controls)\n .subscribe((controlsState: TimepickerControls) => {\n this.isValid.emit(isInputValid(this.hours, this.minutes, this.seconds, this.isPM()));\n Object.assign(this, controlsState);\n _cd.markForCheck();\n });\n }\n\n resetValidation(): void {\n this.invalidHours = false;\n this.invalidMinutes = false;\n this.invalidSeconds = false;\n }\n\n isPM(): boolean {\n return this.showMeridian && this.meridian === this.meridians[1];\n }\n\n prevDef($event: Event) {\n $event.preventDefault();\n }\n\n wheelSign($event: WheelEventInit): number {\n return Math.sign($event.deltaY) * -1;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this._store.dispatch(\n this._timepickerActions.updateControls(getControlsValue(this))\n );\n }\n\n changeHours(step: number, source: TimeChangeSource = ''): void {\n this.resetValidation();\n this._store.dispatch(this._timepickerActions.changeHours({ step, source }));\n }\n\n changeMinutes(step: number, source: TimeChangeSource = ''): void {\n this.resetValidation();\n this._store.dispatch(\n this._timepickerActions.changeMinutes({ step, source })\n );\n }\n\n changeSeconds(step: number, source: TimeChangeSource = ''): void {\n this.resetValidation();\n this._store.dispatch(\n this._timepickerActions.changeSeconds({ step, source })\n );\n }\n\n updateHours(hours: string): void {\n this.resetValidation();\n this.hours = hours;\n\n const isValid = isHourInputValid(this.hours, this.isPM()) && this.isValidLimit();\n\n if (!isValid) {\n this.invalidHours = true;\n this.isValid.emit(false);\n this.onChange(null);\n\n return;\n }\n\n this._updateTime();\n }\n\n updateMinutes(minutes: string) {\n this.resetValidation();\n this.minutes = minutes;\n\n const isValid = isMinuteInputValid(this.minutes) && this.isValidLimit();\n\n if (!isValid) {\n this.invalidMinutes = true;\n this.isValid.emit(false);\n this.onChange(null);\n\n return;\n }\n\n this._updateTime();\n }\n\n updateSeconds(seconds: string) {\n this.resetValidation();\n this.seconds = seconds;\n\n const isValid = isSecondInputValid(this.seconds) && this.isValidLimit();\n\n if (!isValid) {\n this.invalidSeconds = true;\n this.isValid.emit(false);\n this.onChange(null);\n\n return;\n }\n\n this._updateTime();\n }\n\n isValidLimit(): boolean {\n return isInputLimitValid({\n hour: this.hours,\n minute: this.minutes,\n seconds: this.seconds,\n isPM: this.isPM()\n }, this.max, this.min);\n }\n\n _updateTime() {\n const _seconds = this.showSeconds ? this.seconds : void 0;\n const _minutes = this.showMinutes ? this.minutes : void 0;\n if (!isInputValid(this.hours, _minutes, _seconds, this.isPM())) {\n this.isValid.emit(false);\n this.onChange(null);\n\n return;\n }\n\n this._store.dispatch(\n this._timepickerActions.setTime({\n hour: this.hours,\n minute: this.minutes,\n seconds: this.seconds,\n isPM: this.isPM()\n })\n );\n }\n\n toggleMeridian(): void {\n if (!this.showMeridian || !this.isEditable) {\n return;\n }\n\n const _hoursPerDayHalf = 12;\n this._store.dispatch(\n this._timepickerActions.changeHours({\n step: _hoursPerDayHalf,\n source: ''\n })\n );\n }\n\n /**\n * Write a new value to the element.\n */\n writeValue(obj: string | null | undefined | Date): void {\n if (isValidDate(obj)) {\n this._store.dispatch(this._timepickerActions.writeValue(parseTime(obj)));\n } else if (obj == null) {\n this._store.dispatch(this._timepickerActions.writeValue(null));\n }\n }\n\n /**\n * Set the function to be called when the control receives a change event.\n */\n // tslint:disable-next-line:no-any\n registerOnChange(fn: (_: any) => {}): void {\n this.onChange = fn;\n }\n\n /**\n * Set the function to be called when the control receives a touch event.\n */\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n /**\n * This function is called when the control status changes to or from \"disabled\".\n * Depending on the value, it will enable or disable the appropriate DOM element.\n *\n * @param isDisabled\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._cd.markForCheck();\n }\n\n ngOnDestroy(): void {\n this.timepickerSub.unsubscribe();\n }\n\n private _renderTime(value: string | Date): void {\n if (!isValidDate(value)) {\n this.hours = '';\n this.minutes = '';\n this.seconds = '';\n this.meridian = this.meridians[0];\n\n return;\n }\n\n const _value = parseTime(value);\n const _hoursPerDayHalf = 12;\n let _hours = _value.getHours();\n\n if (this.showMeridian) {\n this.meridian = this.meridians[_hours >= _hoursPerDayHalf ? 1 : 0];\n _hours = _hours % _hoursPerDayHalf;\n // should be 12 PM, not 00 PM\n if (_hours === 0) {\n _hours = _hoursPerDayHalf;\n }\n }\n\n this.hours = padNumber(_hours);\n this.minutes = padNumber(_value.getMinutes());\n this.seconds = padNumber(_value.getUTCSeconds());\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { TimepickerComponent } from './timepicker.component';\nimport { TimepickerActions } from './reducer/timepicker.actions';\nimport { TimepickerConfig } from './timepicker.config';\nimport { TimepickerStore } from './reducer/timepicker.store';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TimepickerComponent],\n exports: [TimepickerComponent]\n})\nexport class TimepickerModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: TimepickerModule,\n providers: [TimepickerConfig, TimepickerActions, TimepickerStore]\n };\n }\n}\n"],"names":["Injectable","tslib_1.__extends","BehaviorSubject","MiniState","MiniStore","NG_VALUE_ACCESSOR","forwardRef","EventEmitter","Component","ChangeDetectionStrategy","ViewEncapsulation","ChangeDetectorRef","Input","Output","NgModule","CommonModule"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core"),require("rxjs"),require("ngx-bootstrap/mini-ngrx"),require("@angular/forms"),require("@angular/common")):"function"==typeof define&&define.amd?define("ngx-bootstrap/timepicker",["exports","@angular/core","rxjs","ngx-bootstrap/mini-ngrx","@angular/forms","@angular/common"],n):n((e["ngx-bootstrap"]=e["ngx-bootstrap"]||{},e["ngx-bootstrap"].timepicker={}),e.ng.core,e.rxjs,e.miniNgrx,e.ng.forms,e.ng.common)}(this,function(e,o,s,r,n,t){"use strict";var u=function(){function n(){}return n.prototype.writeValue=function(e){return{type:n.WRITE_VALUE,payload:e}},n.prototype.changeHours=function(e){return{type:n.CHANGE_HOURS,payload:e}},n.prototype.changeMinutes=function(e){return{type:n.CHANGE_MINUTES,payload:e}},n.prototype.changeSeconds=function(e){return{type:n.CHANGE_SECONDS,payload:e}},n.prototype.setTime=function(e){return{type:n.SET_TIME_UNIT,payload:e}},n.prototype.updateControls=function(e){return{type:n.UPDATE_CONTROLS,payload:e}},n.WRITE_VALUE="[timepicker] write value from ng model",n.CHANGE_HOURS="[timepicker] change hours",n.CHANGE_MINUTES="[timepicker] change minutes",n.CHANGE_SECONDS="[timepicker] change seconds",n.SET_TIME_UNIT="[timepicker] set time unit",n.UPDATE_CONTROLS="[timepicker] update controls",n.decorators=[{type:o.Injectable}],n}(),a=function(e,n){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)n.hasOwnProperty(t)&&(e[t]=n[t])})(e,n)};var i=10,c=24,d=12,p=60,h=60;function l(e){return!!e&&(!(e instanceof Date&&isNaN(e.getHours()))&&("string"!=typeof e||l(new Date(e))))}function m(e,n){return!(e.min&&n<e.min)&&!(e.max&&n>e.max)}function f(e){return"number"==typeof e?e:parseInt(e,i)}function g(e,n){void 0===n&&(n=!1);var t=f(e);return isNaN(t)||t<0||(n?d:c)<t?NaN:t}function b(e){var n=f(e);return isNaN(n)||n<0||p<n?NaN:n}function y(e){var n=f(e);return isNaN(n)||n<0||h<n?NaN:n}function v(e){return"string"==typeof e?new Date(e):e}function w(e,n){if(!e)return w(S(new Date,0,0,0),n);var t=e.getHours(),i=e.getMinutes(),s=e.getSeconds();return n.hour&&(t=(t+f(n.hour))%c)<0&&(t+=c),n.minute&&(i+=f(n.minute)),n.seconds&&(s+=f(n.seconds)),S(e,t,i,s)}function S(e,n,t,i){return new Date(e.getFullYear(),e.getMonth(),e.getDate(),n,t,i,e.getMilliseconds())}function x(e){var n=e.toString();return 1<n.length?n:"0"+n}function M(e,n){return!isNaN(g(e,n))}function I(e){return!isNaN(b(e))}function k(e){return!isNaN(y(e))}function _(e,n,t,i){return void 0===n&&(n="0"),void 0===t&&(t="0"),M(e,i)&&I(n)&&k(t)}function N(e,n){if(e.readonlyInput||e.disabled)return!1;if(n){if("wheel"===n.source&&!e.mousewheel)return!1;if("key"===n.source&&!e.arrowkeys)return!1}return!0}function H(e){return{hourStep:e.hourStep,minuteStep:e.minuteStep,secondsStep:e.secondsStep,readonlyInput:e.readonlyInput,disabled:e.disabled,mousewheel:e.mousewheel,arrowkeys:e.arrowkeys,showSpinners:e.showSpinners,showMeridian:e.showMeridian,showSeconds:e.showSeconds,meridians:e.meridians,min:e.min,max:e.max}}var D=function(){function e(){this.hourStep=1,this.minuteStep=5,this.secondsStep=10,this.showMeridian=!0,this.meridians=["AM","PM"],this.readonlyInput=!1,this.disabled=!1,this.mousewheel=!0,this.arrowkeys=!0,this.showSpinners=!0,this.showSeconds=!1,this.showMinutes=!0}return e.decorators=[{type:o.Injectable}],e}(),E={value:null,config:new D,controls:{canIncrementHours:!0,canIncrementMinutes:!0,canIncrementSeconds:!0,canDecrementHours:!0,canDecrementMinutes:!0,canDecrementSeconds:!0,canToggleMeridian:!0}};function T(e,n){switch(void 0===e&&(e=E),n.type){case u.WRITE_VALUE:return Object.assign({},e,{value:n.payload});case u.CHANGE_HOURS:if(!N(e.config,n.payload)||!function o(e,n){return!(!e.step||0<e.step&&!n.canIncrementHours||e.step<0&&!n.canDecrementHours)}(n.payload,e.controls))return e;var t=w(e.value,{hour:n.payload.step});return!e.config.max&&!e.config.min||m(e.config,t)?Object.assign({},e,{value:t}):e;case u.CHANGE_MINUTES:if(!N(e.config,n.payload)||!function r(e,n){return!(!e.step||0<e.step&&!n.canIncrementMinutes||e.step<0&&!n.canDecrementMinutes)}(n.payload,e.controls))return e;t=w(e.value,{minute:n.payload.step});return!e.config.max&&!e.config.min||m(e.config,t)?Object.assign({},e,{value:t}):e;case u.CHANGE_SECONDS:if(!N(e.config,n.payload)||!function a(e,n){return!(!e.step||0<e.step&&!n.canIncrementSeconds||e.step<0&&!n.canDecrementSeconds)}(n.payload,e.controls))return e;t=w(e.value,{seconds:n.payload.step});return!e.config.max&&!e.config.min||m(e.config,t)?Object.assign({},e,{value:t}):e;case u.SET_TIME_UNIT:if(!N(e.config))return e;t=function c(e,n){var t=g(n.hour),i=b(n.minute),s=y(n.seconds)||0;return n.isPM&&(t+=d),e?isNaN(t)||isNaN(i)?e:S(e,t,i,s):isNaN(t)||isNaN(i)?e:S(new Date,t,i,s)}(e.value,n.payload);return Object.assign({},e,{value:t});case u.UPDATE_CONTROLS:var i=function h(e,n){var t=n.min,i=n.max,s=n.hourStep,o=n.minuteStep,r=n.secondsStep,a=n.showSeconds,c={canIncrementHours:!0,canIncrementMinutes:!0,canIncrementSeconds:!0,canDecrementHours:!0,canDecrementMinutes:!0,canDecrementSeconds:!0,canToggleMeridian:!0};if(!e)return c;if(i){var u=w(e,{hour:s});if(c.canIncrementHours=u<i,!c.canIncrementHours){var d=w(e,{minute:o});c.canIncrementMinutes=a?d<i:d<=i}if(!c.canIncrementMinutes){var p=w(e,{seconds:r});c.canIncrementSeconds=p<=i}e.getHours()<12&&(c.canToggleMeridian=w(e,{hour:12})<i)}t&&(u=w(e,{hour:-s}),c.canDecrementHours=t<u,c.canDecrementHours||(d=w(e,{minute:-o}),c.canDecrementMinutes=a?t<d:t<=d),c.canDecrementMinutes||(p=w(e,{seconds:-r}),c.canDecrementSeconds=t<=p),12<=e.getHours()&&(c.canToggleMeridian=w(e,{hour:-12})>t));return c}(e.value,n.payload),s={value:e.value,config:n.payload,controls:i};return e.config.showMeridian!==s.config.showMeridian&&e.value&&(s.value=new Date(e.value)),Object.assign({},e,s);default:return e}}var C=function(t){function e(){var e=new s.BehaviorSubject({type:"[mini-ngrx] dispatcher init"}),n=new r.MiniState(E,e,T);return t.call(this,e,T,n)||this}return function i(e,n){function t(){this.constructor=e}a(e,n),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}(e,t),e.decorators=[{type:o.Injectable}],e.ctorParameters=function(){return[]},e}(r.MiniStore),A={provide:n.NG_VALUE_ACCESSOR,useExisting:o.forwardRef(function(){return O}),multi:!0},O=function(){function e(e,n,t,i){var s=this;this._store=t,this._timepickerActions=i,this.isValid=new o.EventEmitter,this.invalidHours=!1,this.invalidMinutes=!1,this.invalidSeconds=!1,this.onChange=Function.prototype,this.onTouched=Function.prototype,Object.assign(this,e),this.timepickerSub=t.select(function(e){return e.value}).subscribe(function(e){s._renderTime(e),s.onChange(e),s._store.dispatch(s._timepickerActions.updateControls(H(s)))}),t.select(function(e){return e.controls}).subscribe(function(e){s.isValid.emit(_(s.hours,s.minutes,s.seconds,s.isPM())),Object.assign(s,e),n.markForCheck()})}return Object.defineProperty(e.prototype,"isSpinnersVisible",{get:function(){return this.showSpinners&&!this.readonlyInput},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isEditable",{get:function(){return!(this.readonlyInput||this.disabled)},enumerable:!0,configurable:!0}),e.prototype.resetValidation=function(){this.invalidHours=!1,this.invalidMinutes=!1,this.invalidSeconds=!1},e.prototype.isPM=function(){return this.showMeridian&&this.meridian===this.meridians[1]},e.prototype.prevDef=function(e){e.preventDefault()},e.prototype.wheelSign=function(e){return-1*Math.sign(e.deltaY)},e.prototype.ngOnChanges=function(e){this._store.dispatch(this._timepickerActions.updateControls(H(this)))},e.prototype.changeHours=function(e,n){void 0===n&&(n=""),this.resetValidation(),this._store.dispatch(this._timepickerActions.changeHours({step:e,source:n}))},e.prototype.changeMinutes=function(e,n){void 0===n&&(n=""),this.resetValidation(),this._store.dispatch(this._timepickerActions.changeMinutes({step:e,source:n}))},e.prototype.changeSeconds=function(e,n){void 0===n&&(n=""),this.resetValidation(),this._store.dispatch(this._timepickerActions.changeSeconds({step:e,source:n}))},e.prototype.updateHours=function(e){if(this.resetValidation(),this.hours=e,!(M(this.hours,this.isPM())&&this.isValidLimit()))return this.invalidHours=!0,this.isValid.emit(!1),void this.onChange(null);this._updateTime()},e.prototype.updateMinutes=function(e){if(this.resetValidation(),this.minutes=e,!(I(this.minutes)&&this.isValidLimit()))return this.invalidMinutes=!0,this.isValid.emit(!1),void this.onChange(null);this._updateTime()},e.prototype.updateSeconds=function(e){if(this.resetValidation(),this.seconds=e,!(k(this.seconds)&&this.isValidLimit()))return this.invalidSeconds=!0,this.isValid.emit(!1),void this.onChange(null);this._updateTime()},e.prototype.isValidLimit=function(){return function s(e,n,t){var i=w(new Date,e);return!(n&&n<i||t&&i<t)}({hour:this.hours,minute:this.minutes,seconds:this.seconds,isPM:this.isPM()},this.max,this.min)},e.prototype._updateTime=function(){var e=this.showSeconds?this.seconds:void 0,n=this.showMinutes?this.minutes:void 0;if(!_(this.hours,n,e,this.isPM()))return this.isValid.emit(!1),void this.onChange(null);this._store.dispatch(this._timepickerActions.setTime({hour:this.hours,minute:this.minutes,seconds:this.seconds,isPM:this.isPM()}))},e.prototype.toggleMeridian=function(){if(this.showMeridian&&this.isEditable){this._store.dispatch(this._timepickerActions.changeHours({step:12,source:""}))}},e.prototype.writeValue=function(e){l(e)?this._store.dispatch(this._timepickerActions.writeValue(v(e))):null==e&&this._store.dispatch(this._timepickerActions.writeValue(null))},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.setDisabledState=function(e){this.disabled=e},e.prototype.ngOnDestroy=function(){this.timepickerSub.unsubscribe()},e.prototype._renderTime=function(e){if(!l(e))return this.hours="",this.minutes="",this.seconds="",void(this.meridian=this.meridians[0]);var n=v(e),t=n.getHours();this.showMeridian&&(this.meridian=this.meridians[12<=t?1:0],0===(t%=12)&&(t=12)),this.hours=x(t),this.minutes=x(n.getMinutes()),this.seconds=x(n.getUTCSeconds())},e.decorators=[{type:o.Component,args:[{selector:"timepicker",changeDetection:o.ChangeDetectionStrategy.OnPush,providers:[A,C],template:'<table>\n <tbody>\n <tr class="text-center" [hidden]="!showSpinners">\n \x3c!-- increment hours button--\x3e\n <td>\n <a class="btn btn-link" [class.disabled]="!canIncrementHours || !isEditable"\n (click)="changeHours(hourStep)"\n ><span class="bs-chevron bs-chevron-up"></span></a>\n </td>\n \x3c!-- divider --\x3e\n <td *ngIf="showMinutes">&nbsp;&nbsp;&nbsp;</td>\n \x3c!-- increment minutes button --\x3e\n <td *ngIf="showMinutes">\n <a class="btn btn-link" [class.disabled]="!canIncrementMinutes || !isEditable"\n (click)="changeMinutes(minuteStep)"\n ><span class="bs-chevron bs-chevron-up"></span></a>\n </td>\n \x3c!-- divider --\x3e\n <td *ngIf="showSeconds">&nbsp;</td>\n \x3c!-- increment seconds button --\x3e\n <td *ngIf="showSeconds">\n <a class="btn btn-link" [class.disabled]="!canIncrementSeconds || !isEditable"\n (click)="changeSeconds(secondsStep)">\n <span class="bs-chevron bs-chevron-up"></span>\n </a>\n </td>\n \x3c!-- space between --\x3e\n <td *ngIf="showMeridian">&nbsp;&nbsp;&nbsp;</td>\n \x3c!-- meridian placeholder--\x3e\n <td *ngIf="showMeridian"></td>\n </tr>\n <tr>\n \x3c!-- hours --\x3e\n <td class="form-group" [class.has-error]="invalidHours">\n <input type="text" [class.is-invalid]="invalidHours"\n class="form-control text-center bs-timepicker-field"\n placeholder="HH"\n maxlength="2"\n [readonly]="readonlyInput"\n [disabled]="disabled"\n [value]="hours"\n (wheel)="prevDef($event);changeHours(hourStep * wheelSign($event), \'wheel\')"\n (keydown.ArrowUp)="changeHours(hourStep, \'key\')"\n (keydown.ArrowDown)="changeHours(-hourStep, \'key\')"\n (change)="updateHours($event.target.value)"></td>\n \x3c!-- divider --\x3e\n <td *ngIf="showMinutes">&nbsp;:&nbsp;</td>\n \x3c!-- minutes --\x3e\n <td class="form-group" *ngIf="showMinutes" [class.has-error]="invalidMinutes">\n <input type="text" [class.is-invalid]="invalidMinutes"\n class="form-control text-center bs-timepicker-field"\n placeholder="MM"\n maxlength="2"\n [readonly]="readonlyInput"\n [disabled]="disabled"\n [value]="minutes"\n (wheel)="prevDef($event);changeMinutes(minuteStep * wheelSign($event), \'wheel\')"\n (keydown.ArrowUp)="changeMinutes(minuteStep, \'key\')"\n (keydown.ArrowDown)="changeMinutes(-minuteStep, \'key\')"\n (change)="updateMinutes($event.target.value)">\n </td>\n \x3c!-- divider --\x3e\n <td *ngIf="showSeconds">&nbsp;:&nbsp;</td>\n \x3c!-- seconds --\x3e\n <td class="form-group" *ngIf="showSeconds" [class.has-error]="invalidSeconds">\n <input type="text" [class.is-invalid]="invalidSeconds"\n class="form-control text-center bs-timepicker-field"\n placeholder="SS"\n maxlength="2"\n [readonly]="readonlyInput"\n [disabled]="disabled"\n [value]="seconds"\n (wheel)="prevDef($event);changeSeconds(secondsStep * wheelSign($event), \'wheel\')"\n (keydown.ArrowUp)="changeSeconds(secondsStep, \'key\')"\n (keydown.ArrowDown)="changeSeconds(-secondsStep, \'key\')"\n (change)="updateSeconds($event.target.value)">\n </td>\n \x3c!-- space between --\x3e\n <td *ngIf="showMeridian">&nbsp;&nbsp;&nbsp;</td>\n \x3c!-- meridian --\x3e\n <td *ngIf="showMeridian">\n <button type="button" class="btn btn-default text-center"\n [disabled]="!isEditable || !canToggleMeridian"\n [class.disabled]="!isEditable || !canToggleMeridian"\n (click)="toggleMeridian()"\n >{{ meridian }}\n </button>\n </td>\n </tr>\n <tr class="text-center" [hidden]="!showSpinners">\n \x3c!-- decrement hours button--\x3e\n <td>\n <a class="btn btn-link" [class.disabled]="!canDecrementHours || !isEditable"\n (click)="changeHours(-hourStep)">\n <span class="bs-chevron bs-chevron-down"></span>\n </a>\n </td>\n \x3c!-- divider --\x3e\n <td *ngIf="showMinutes">&nbsp;&nbsp;&nbsp;</td>\n \x3c!-- decrement minutes button--\x3e\n <td *ngIf="showMinutes">\n <a class="btn btn-link" [class.disabled]="!canDecrementMinutes || !isEditable"\n (click)="changeMinutes(-minuteStep)">\n <span class="bs-chevron bs-chevron-down"></span>\n </a>\n </td>\n \x3c!-- divider --\x3e\n <td *ngIf="showSeconds">&nbsp;</td>\n \x3c!-- decrement seconds button--\x3e\n <td *ngIf="showSeconds">\n <a class="btn btn-link" [class.disabled]="!canDecrementSeconds || !isEditable"\n (click)="changeSeconds(-secondsStep)">\n <span class="bs-chevron bs-chevron-down"></span>\n </a>\n </td>\n \x3c!-- space between --\x3e\n <td *ngIf="showMeridian">&nbsp;&nbsp;&nbsp;</td>\n \x3c!-- meridian placeholder--\x3e\n <td *ngIf="showMeridian"></td>\n </tr>\n </tbody>\n</table>\n',encapsulation:o.ViewEncapsulation.None,styles:["\n .bs-chevron {\n border-style: solid;\n display: block;\n width: 9px;\n height: 9px;\n position: relative;\n border-width: 3px 0px 0 3px;\n }\n\n .bs-chevron-up {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n top: 2px;\n }\n\n .bs-chevron-down {\n -webkit-transform: rotate(-135deg);\n transform: rotate(-135deg);\n top: -2px;\n }\n\n .bs-timepicker-field {\n width: 50px;\n }\n "]}]}],e.ctorParameters=function(){return[{type:D},{type:o.ChangeDetectorRef},{type:C},{type:u}]},e.propDecorators={hourStep:[{type:o.Input}],minuteStep:[{type:o.Input}],secondsStep:[{type:o.Input}],readonlyInput:[{type:o.Input}],disabled:[{type:o.Input}],mousewheel:[{type:o.Input}],arrowkeys:[{type:o.Input}],showSpinners:[{type:o.Input}],showMeridian:[{type:o.Input}],showMinutes:[{type:o.Input}],showSeconds:[{type:o.Input}],meridians:[{type:o.Input}],min:[{type:o.Input}],max:[{type:o.Input}],isValid:[{type:o.Output}]},e}(),V=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[D,u,C]}},e.decorators=[{type:o.NgModule,args:[{imports:[t.CommonModule],declarations:[O],exports:[O]}]}],e}();e.TimepickerComponent=O,e.TimepickerActions=u,e.TimepickerStore=C,e.TimepickerConfig=D,e.TimepickerModule=V,e.ɵa=A,Object.defineProperty(e,"__esModule",{value:!0})});
1
+ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core"),require("rxjs"),require("ngx-bootstrap/mini-ngrx"),require("@angular/forms"),require("@angular/common")):"function"==typeof define&&define.amd?define("ngx-bootstrap/timepicker",["exports","@angular/core","rxjs","ngx-bootstrap/mini-ngrx","@angular/forms","@angular/common"],n):n((e["ngx-bootstrap"]=e["ngx-bootstrap"]||{},e["ngx-bootstrap"].timepicker={}),e.ng.core,e.rxjs,e.miniNgrx,e.ng.forms,e.ng.common)}(this,function(e,o,s,r,n,t){"use strict";var u=function(){function n(){}return n.prototype.writeValue=function(e){return{type:n.WRITE_VALUE,payload:e}},n.prototype.changeHours=function(e){return{type:n.CHANGE_HOURS,payload:e}},n.prototype.changeMinutes=function(e){return{type:n.CHANGE_MINUTES,payload:e}},n.prototype.changeSeconds=function(e){return{type:n.CHANGE_SECONDS,payload:e}},n.prototype.setTime=function(e){return{type:n.SET_TIME_UNIT,payload:e}},n.prototype.updateControls=function(e){return{type:n.UPDATE_CONTROLS,payload:e}},n.WRITE_VALUE="[timepicker] write value from ng model",n.CHANGE_HOURS="[timepicker] change hours",n.CHANGE_MINUTES="[timepicker] change minutes",n.CHANGE_SECONDS="[timepicker] change seconds",n.SET_TIME_UNIT="[timepicker] set time unit",n.UPDATE_CONTROLS="[timepicker] update controls",n.decorators=[{type:o.Injectable}],n}(),a=function(e,n){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)n.hasOwnProperty(t)&&(e[t]=n[t])})(e,n)};var i=10,c=24,d=12,p=60,h=60;function l(e){return!!e&&(!(e instanceof Date&&isNaN(e.getHours()))&&("string"!=typeof e||l(new Date(e))))}function m(e,n){return!(e.min&&n<e.min)&&!(e.max&&n>e.max)}function f(e){return"number"==typeof e?e:parseInt(e,i)}function g(e,n){void 0===n&&(n=!1);var t=f(e);return isNaN(t)||t<0||(n?d:c)<t?NaN:t}function b(e){var n=f(e);return isNaN(n)||n<0||p<n?NaN:n}function y(e){var n=f(e);return isNaN(n)||n<0||h<n?NaN:n}function v(e){return"string"==typeof e?new Date(e):e}function w(e,n){if(!e)return w(S(new Date,0,0,0),n);var t=e.getHours(),i=e.getMinutes(),s=e.getSeconds();return n.hour&&(t=(t+f(n.hour))%c)<0&&(t+=c),n.minute&&(i+=f(n.minute)),n.seconds&&(s+=f(n.seconds)),S(e,t,i,s)}function S(e,n,t,i){return new Date(e.getFullYear(),e.getMonth(),e.getDate(),n,t,i,e.getMilliseconds())}function x(e){var n=e.toString();return 1<n.length?n:"0"+n}function M(e,n){return!isNaN(g(e,n))}function I(e){return!isNaN(b(e))}function k(e){return!isNaN(y(e))}function _(e,n,t,i){return void 0===n&&(n="0"),void 0===t&&(t="0"),M(e,i)&&I(n)&&k(t)}function N(e,n){if(e.readonlyInput||e.disabled)return!1;if(n){if("wheel"===n.source&&!e.mousewheel)return!1;if("key"===n.source&&!e.arrowkeys)return!1}return!0}function H(e){return{hourStep:e.hourStep,minuteStep:e.minuteStep,secondsStep:e.secondsStep,readonlyInput:e.readonlyInput,disabled:e.disabled,mousewheel:e.mousewheel,arrowkeys:e.arrowkeys,showSpinners:e.showSpinners,showMeridian:e.showMeridian,showSeconds:e.showSeconds,meridians:e.meridians,min:e.min,max:e.max}}var D=function(){function e(){this.hourStep=1,this.minuteStep=5,this.secondsStep=10,this.showMeridian=!0,this.meridians=["AM","PM"],this.readonlyInput=!1,this.disabled=!1,this.mousewheel=!0,this.arrowkeys=!0,this.showSpinners=!0,this.showSeconds=!1,this.showMinutes=!0}return e.decorators=[{type:o.Injectable}],e}(),E={value:null,config:new D,controls:{canIncrementHours:!0,canIncrementMinutes:!0,canIncrementSeconds:!0,canDecrementHours:!0,canDecrementMinutes:!0,canDecrementSeconds:!0,canToggleMeridian:!0}};function T(e,n){switch(void 0===e&&(e=E),n.type){case u.WRITE_VALUE:return Object.assign({},e,{value:n.payload});case u.CHANGE_HOURS:if(!N(e.config,n.payload)||!function o(e,n){return!(!e.step||0<e.step&&!n.canIncrementHours||e.step<0&&!n.canDecrementHours)}(n.payload,e.controls))return e;var t=w(e.value,{hour:n.payload.step});return!e.config.max&&!e.config.min||m(e.config,t)?Object.assign({},e,{value:t}):e;case u.CHANGE_MINUTES:if(!N(e.config,n.payload)||!function r(e,n){return!(!e.step||0<e.step&&!n.canIncrementMinutes||e.step<0&&!n.canDecrementMinutes)}(n.payload,e.controls))return e;t=w(e.value,{minute:n.payload.step});return!e.config.max&&!e.config.min||m(e.config,t)?Object.assign({},e,{value:t}):e;case u.CHANGE_SECONDS:if(!N(e.config,n.payload)||!function a(e,n){return!(!e.step||0<e.step&&!n.canIncrementSeconds||e.step<0&&!n.canDecrementSeconds)}(n.payload,e.controls))return e;t=w(e.value,{seconds:n.payload.step});return!e.config.max&&!e.config.min||m(e.config,t)?Object.assign({},e,{value:t}):e;case u.SET_TIME_UNIT:if(!N(e.config))return e;t=function c(e,n){var t=g(n.hour),i=b(n.minute),s=y(n.seconds)||0;return n.isPM&&(t+=d),e?isNaN(t)||isNaN(i)?e:S(e,t,i,s):isNaN(t)||isNaN(i)?e:S(new Date,t,i,s)}(e.value,n.payload);return Object.assign({},e,{value:t});case u.UPDATE_CONTROLS:var i=function h(e,n){var t=n.min,i=n.max,s=n.hourStep,o=n.minuteStep,r=n.secondsStep,a=n.showSeconds,c={canIncrementHours:!0,canIncrementMinutes:!0,canIncrementSeconds:!0,canDecrementHours:!0,canDecrementMinutes:!0,canDecrementSeconds:!0,canToggleMeridian:!0};if(!e)return c;if(i){var u=w(e,{hour:s});if(c.canIncrementHours=u<i,!c.canIncrementHours){var d=w(e,{minute:o});c.canIncrementMinutes=a?d<i:d<=i}if(!c.canIncrementMinutes){var p=w(e,{seconds:r});c.canIncrementSeconds=p<=i}e.getHours()<12&&(c.canToggleMeridian=w(e,{hour:12})<i)}t&&(u=w(e,{hour:-s}),c.canDecrementHours=t<u,c.canDecrementHours||(d=w(e,{minute:-o}),c.canDecrementMinutes=a?t<d:t<=d),c.canDecrementMinutes||(p=w(e,{seconds:-r}),c.canDecrementSeconds=t<=p),12<=e.getHours()&&(c.canToggleMeridian=w(e,{hour:-12})>t));return c}(e.value,n.payload),s={value:e.value,config:n.payload,controls:i};return e.config.showMeridian!==s.config.showMeridian&&e.value&&(s.value=new Date(e.value)),Object.assign({},e,s);default:return e}}var C=function(t){function e(){var e=new s.BehaviorSubject({type:"[mini-ngrx] dispatcher init"}),n=new r.MiniState(E,e,T);return t.call(this,e,T,n)||this}return function i(e,n){function t(){this.constructor=e}a(e,n),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}(e,t),e.decorators=[{type:o.Injectable}],e.ctorParameters=function(){return[]},e}(r.MiniStore),A={provide:n.NG_VALUE_ACCESSOR,useExisting:o.forwardRef(function(){return O}),multi:!0},O=function(){function e(e,n,t,i){var s=this;this._cd=n,this._store=t,this._timepickerActions=i,this.isValid=new o.EventEmitter,this.invalidHours=!1,this.invalidMinutes=!1,this.invalidSeconds=!1,this.onChange=Function.prototype,this.onTouched=Function.prototype,Object.assign(this,e),this.timepickerSub=t.select(function(e){return e.value}).subscribe(function(e){s._renderTime(e),s.onChange(e),s._store.dispatch(s._timepickerActions.updateControls(H(s)))}),t.select(function(e){return e.controls}).subscribe(function(e){s.isValid.emit(_(s.hours,s.minutes,s.seconds,s.isPM())),Object.assign(s,e),n.markForCheck()})}return Object.defineProperty(e.prototype,"isSpinnersVisible",{get:function(){return this.showSpinners&&!this.readonlyInput},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isEditable",{get:function(){return!(this.readonlyInput||this.disabled)},enumerable:!0,configurable:!0}),e.prototype.resetValidation=function(){this.invalidHours=!1,this.invalidMinutes=!1,this.invalidSeconds=!1},e.prototype.isPM=function(){return this.showMeridian&&this.meridian===this.meridians[1]},e.prototype.prevDef=function(e){e.preventDefault()},e.prototype.wheelSign=function(e){return-1*Math.sign(e.deltaY)},e.prototype.ngOnChanges=function(e){this._store.dispatch(this._timepickerActions.updateControls(H(this)))},e.prototype.changeHours=function(e,n){void 0===n&&(n=""),this.resetValidation(),this._store.dispatch(this._timepickerActions.changeHours({step:e,source:n}))},e.prototype.changeMinutes=function(e,n){void 0===n&&(n=""),this.resetValidation(),this._store.dispatch(this._timepickerActions.changeMinutes({step:e,source:n}))},e.prototype.changeSeconds=function(e,n){void 0===n&&(n=""),this.resetValidation(),this._store.dispatch(this._timepickerActions.changeSeconds({step:e,source:n}))},e.prototype.updateHours=function(e){if(this.resetValidation(),this.hours=e,!(M(this.hours,this.isPM())&&this.isValidLimit()))return this.invalidHours=!0,this.isValid.emit(!1),void this.onChange(null);this._updateTime()},e.prototype.updateMinutes=function(e){if(this.resetValidation(),this.minutes=e,!(I(this.minutes)&&this.isValidLimit()))return this.invalidMinutes=!0,this.isValid.emit(!1),void this.onChange(null);this._updateTime()},e.prototype.updateSeconds=function(e){if(this.resetValidation(),this.seconds=e,!(k(this.seconds)&&this.isValidLimit()))return this.invalidSeconds=!0,this.isValid.emit(!1),void this.onChange(null);this._updateTime()},e.prototype.isValidLimit=function(){return function s(e,n,t){var i=w(new Date,e);return!(n&&n<i||t&&i<t)}({hour:this.hours,minute:this.minutes,seconds:this.seconds,isPM:this.isPM()},this.max,this.min)},e.prototype._updateTime=function(){var e=this.showSeconds?this.seconds:void 0,n=this.showMinutes?this.minutes:void 0;if(!_(this.hours,n,e,this.isPM()))return this.isValid.emit(!1),void this.onChange(null);this._store.dispatch(this._timepickerActions.setTime({hour:this.hours,minute:this.minutes,seconds:this.seconds,isPM:this.isPM()}))},e.prototype.toggleMeridian=function(){if(this.showMeridian&&this.isEditable){this._store.dispatch(this._timepickerActions.changeHours({step:12,source:""}))}},e.prototype.writeValue=function(e){l(e)?this._store.dispatch(this._timepickerActions.writeValue(v(e))):null==e&&this._store.dispatch(this._timepickerActions.writeValue(null))},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.setDisabledState=function(e){this.disabled=e,this._cd.markForCheck()},e.prototype.ngOnDestroy=function(){this.timepickerSub.unsubscribe()},e.prototype._renderTime=function(e){if(!l(e))return this.hours="",this.minutes="",this.seconds="",void(this.meridian=this.meridians[0]);var n=v(e),t=n.getHours();this.showMeridian&&(this.meridian=this.meridians[12<=t?1:0],0===(t%=12)&&(t=12)),this.hours=x(t),this.minutes=x(n.getMinutes()),this.seconds=x(n.getUTCSeconds())},e.decorators=[{type:o.Component,args:[{selector:"timepicker",changeDetection:o.ChangeDetectionStrategy.OnPush,providers:[A,C],template:'<table>\n <tbody>\n <tr class="text-center" [hidden]="!showSpinners">\n \x3c!-- increment hours button--\x3e\n <td>\n <a class="btn btn-link" [class.disabled]="!canIncrementHours || !isEditable"\n (click)="changeHours(hourStep)"\n ><span class="bs-chevron bs-chevron-up"></span></a>\n </td>\n \x3c!-- divider --\x3e\n <td *ngIf="showMinutes">&nbsp;&nbsp;&nbsp;</td>\n \x3c!-- increment minutes button --\x3e\n <td *ngIf="showMinutes">\n <a class="btn btn-link" [class.disabled]="!canIncrementMinutes || !isEditable"\n (click)="changeMinutes(minuteStep)"\n ><span class="bs-chevron bs-chevron-up"></span></a>\n </td>\n \x3c!-- divider --\x3e\n <td *ngIf="showSeconds">&nbsp;</td>\n \x3c!-- increment seconds button --\x3e\n <td *ngIf="showSeconds">\n <a class="btn btn-link" [class.disabled]="!canIncrementSeconds || !isEditable"\n (click)="changeSeconds(secondsStep)">\n <span class="bs-chevron bs-chevron-up"></span>\n </a>\n </td>\n \x3c!-- space between --\x3e\n <td *ngIf="showMeridian">&nbsp;&nbsp;&nbsp;</td>\n \x3c!-- meridian placeholder--\x3e\n <td *ngIf="showMeridian"></td>\n </tr>\n <tr>\n \x3c!-- hours --\x3e\n <td class="form-group" [class.has-error]="invalidHours">\n <input type="text" [class.is-invalid]="invalidHours"\n class="form-control text-center bs-timepicker-field"\n placeholder="HH"\n maxlength="2"\n [readonly]="readonlyInput"\n [disabled]="disabled"\n [value]="hours"\n (wheel)="prevDef($event);changeHours(hourStep * wheelSign($event), \'wheel\')"\n (keydown.ArrowUp)="changeHours(hourStep, \'key\')"\n (keydown.ArrowDown)="changeHours(-hourStep, \'key\')"\n (change)="updateHours($event.target.value)"></td>\n \x3c!-- divider --\x3e\n <td *ngIf="showMinutes">&nbsp;:&nbsp;</td>\n \x3c!-- minutes --\x3e\n <td class="form-group" *ngIf="showMinutes" [class.has-error]="invalidMinutes">\n <input type="text" [class.is-invalid]="invalidMinutes"\n class="form-control text-center bs-timepicker-field"\n placeholder="MM"\n maxlength="2"\n [readonly]="readonlyInput"\n [disabled]="disabled"\n [value]="minutes"\n (wheel)="prevDef($event);changeMinutes(minuteStep * wheelSign($event), \'wheel\')"\n (keydown.ArrowUp)="changeMinutes(minuteStep, \'key\')"\n (keydown.ArrowDown)="changeMinutes(-minuteStep, \'key\')"\n (change)="updateMinutes($event.target.value)">\n </td>\n \x3c!-- divider --\x3e\n <td *ngIf="showSeconds">&nbsp;:&nbsp;</td>\n \x3c!-- seconds --\x3e\n <td class="form-group" *ngIf="showSeconds" [class.has-error]="invalidSeconds">\n <input type="text" [class.is-invalid]="invalidSeconds"\n class="form-control text-center bs-timepicker-field"\n placeholder="SS"\n maxlength="2"\n [readonly]="readonlyInput"\n [disabled]="disabled"\n [value]="seconds"\n (wheel)="prevDef($event);changeSeconds(secondsStep * wheelSign($event), \'wheel\')"\n (keydown.ArrowUp)="changeSeconds(secondsStep, \'key\')"\n (keydown.ArrowDown)="changeSeconds(-secondsStep, \'key\')"\n (change)="updateSeconds($event.target.value)">\n </td>\n \x3c!-- space between --\x3e\n <td *ngIf="showMeridian">&nbsp;&nbsp;&nbsp;</td>\n \x3c!-- meridian --\x3e\n <td *ngIf="showMeridian">\n <button type="button" class="btn btn-default text-center"\n [disabled]="!isEditable || !canToggleMeridian"\n [class.disabled]="!isEditable || !canToggleMeridian"\n (click)="toggleMeridian()"\n >{{ meridian }}\n </button>\n </td>\n </tr>\n <tr class="text-center" [hidden]="!showSpinners">\n \x3c!-- decrement hours button--\x3e\n <td>\n <a class="btn btn-link" [class.disabled]="!canDecrementHours || !isEditable"\n (click)="changeHours(-hourStep)">\n <span class="bs-chevron bs-chevron-down"></span>\n </a>\n </td>\n \x3c!-- divider --\x3e\n <td *ngIf="showMinutes">&nbsp;&nbsp;&nbsp;</td>\n \x3c!-- decrement minutes button--\x3e\n <td *ngIf="showMinutes">\n <a class="btn btn-link" [class.disabled]="!canDecrementMinutes || !isEditable"\n (click)="changeMinutes(-minuteStep)">\n <span class="bs-chevron bs-chevron-down"></span>\n </a>\n </td>\n \x3c!-- divider --\x3e\n <td *ngIf="showSeconds">&nbsp;</td>\n \x3c!-- decrement seconds button--\x3e\n <td *ngIf="showSeconds">\n <a class="btn btn-link" [class.disabled]="!canDecrementSeconds || !isEditable"\n (click)="changeSeconds(-secondsStep)">\n <span class="bs-chevron bs-chevron-down"></span>\n </a>\n </td>\n \x3c!-- space between --\x3e\n <td *ngIf="showMeridian">&nbsp;&nbsp;&nbsp;</td>\n \x3c!-- meridian placeholder--\x3e\n <td *ngIf="showMeridian"></td>\n </tr>\n </tbody>\n</table>\n',encapsulation:o.ViewEncapsulation.None,styles:["\n .bs-chevron {\n border-style: solid;\n display: block;\n width: 9px;\n height: 9px;\n position: relative;\n border-width: 3px 0px 0 3px;\n }\n\n .bs-chevron-up {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n top: 2px;\n }\n\n .bs-chevron-down {\n -webkit-transform: rotate(-135deg);\n transform: rotate(-135deg);\n top: -2px;\n }\n\n .bs-timepicker-field {\n width: 50px;\n }\n "]}]}],e.ctorParameters=function(){return[{type:D},{type:o.ChangeDetectorRef},{type:C},{type:u}]},e.propDecorators={hourStep:[{type:o.Input}],minuteStep:[{type:o.Input}],secondsStep:[{type:o.Input}],readonlyInput:[{type:o.Input}],disabled:[{type:o.Input}],mousewheel:[{type:o.Input}],arrowkeys:[{type:o.Input}],showSpinners:[{type:o.Input}],showMeridian:[{type:o.Input}],showMinutes:[{type:o.Input}],showSeconds:[{type:o.Input}],meridians:[{type:o.Input}],min:[{type:o.Input}],max:[{type:o.Input}],isValid:[{type:o.Output}]},e}(),V=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[D,u,C]}},e.decorators=[{type:o.NgModule,args:[{imports:[t.CommonModule],declarations:[O],exports:[O]}]}],e}();e.TimepickerComponent=O,e.TimepickerActions=u,e.TimepickerStore=C,e.TimepickerConfig=D,e.TimepickerModule=V,e.ɵa=A,Object.defineProperty(e,"__esModule",{value:!0})});
2
2
  //# sourceMappingURL=ngx-bootstrap-timepicker.umd.min.js.map