@anglr/datetime 1.0.0-beta.20220217103425 → 2.0.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 (463) hide show
  1. package/changelog.md +12 -0
  2. package/date-fns/datetime-date-fns.d.ts +64 -0
  3. package/date-fns/datetime-date-fns.internal.d.ts +64 -0
  4. package/date-fns/package.json +7 -7
  5. package/date-fns/src/{date-fns.d.ts → index.d.ts} +4 -4
  6. package/date-fns/src/index.d.ts.map +1 -0
  7. package/date-fns/src/misc/tokens.d.ts +10 -10
  8. package/date-fns/src/services/dateFnsDateApi.service.d.ts +36 -33
  9. package/date-fns/src/services/dateFnsDateApi.service.d.ts.map +1 -1
  10. package/date-fns/src/services/dateFnsLocale.service.d.ts +10 -10
  11. package/date-fns/temp/datetime-date-fns.api.md +47 -0
  12. package/datetime.d.ts +1913 -5
  13. package/datetime.internal.d.ts +2090 -0
  14. package/es2015/date-fns/src/index.js +4 -0
  15. package/es2015/date-fns/src/index.js.map +1 -0
  16. package/es2015/date-fns/src/misc/tokens.js +20 -0
  17. package/es2015/date-fns/src/misc/tokens.js.map +1 -0
  18. package/es2015/date-fns/src/services/dateFnsDateApi.service.js +438 -0
  19. package/es2015/date-fns/src/services/dateFnsDateApi.service.js.map +1 -0
  20. package/es2015/date-fns/src/services/dateFnsLocale.service.js +2 -0
  21. package/es2015/date-fns/src/services/dateFnsLocale.service.js.map +1 -0
  22. package/es2015/karma.conf.js +57 -0
  23. package/es2015/karma.conf.js.map +1 -0
  24. package/{moment/src/moment.d.ts → es2015/moment/src/index.js} +3 -3
  25. package/es2015/moment/src/index.js.map +1 -0
  26. package/es2015/moment/src/misc/tokens.js +15 -0
  27. package/es2015/moment/src/misc/tokens.js.map +1 -0
  28. package/es2015/moment/src/services/momentDateApi.service.js +398 -0
  29. package/es2015/moment/src/services/momentDateApi.service.js.map +1 -0
  30. package/{src/datetime.d.ts → es2015/src/index.js} +19 -19
  31. package/es2015/src/index.js.map +1 -0
  32. package/es2015/src/misc/constants.js +33 -0
  33. package/es2015/src/misc/constants.js.map +1 -0
  34. package/es2015/src/misc/datetime.interface.js +2 -0
  35. package/es2015/src/misc/datetime.interface.js.map +1 -0
  36. package/es2015/src/misc/tokens.js +19 -0
  37. package/es2015/src/misc/tokens.js.map +1 -0
  38. package/es2015/src/misc/validators.js +58 -0
  39. package/es2015/src/misc/validators.js.map +1 -0
  40. package/es2015/src/modules/datePipes.module.js +33 -0
  41. package/es2015/src/modules/datePipes.module.js.map +1 -0
  42. package/es2015/src/picker/components/dayPicker/dayPicker.component.js +172 -0
  43. package/es2015/src/picker/components/dayPicker/dayPicker.component.js.map +1 -0
  44. package/es2015/src/picker/components/dayPicker/dayPicker.interfaces.js +2 -0
  45. package/es2015/src/picker/components/dayPicker/dayPicker.interfaces.js.map +1 -0
  46. package/es2015/src/picker/components/monthPicker/monthPicker.component.js +114 -0
  47. package/es2015/src/picker/components/monthPicker/monthPicker.component.js.map +1 -0
  48. package/es2015/src/picker/components/monthPicker/monthPicker.interfaces.js +2 -0
  49. package/es2015/src/picker/components/monthPicker/monthPicker.interfaces.js.map +1 -0
  50. package/es2015/src/picker/components/picker/picker.component.animations.js +71 -0
  51. package/es2015/src/picker/components/picker/picker.component.animations.js.map +1 -0
  52. package/es2015/src/picker/components/picker/picker.component.js +241 -0
  53. package/es2015/src/picker/components/picker/picker.component.js.map +1 -0
  54. package/es2015/src/picker/components/pickerBase.component.js +243 -0
  55. package/es2015/src/picker/components/pickerBase.component.js.map +1 -0
  56. package/es2015/src/picker/components/yearPicker/yearPicker.component.js +126 -0
  57. package/es2015/src/picker/components/yearPicker/yearPicker.component.js.map +1 -0
  58. package/es2015/src/picker/components/yearPicker/yearPicker.interfaces.js +2 -0
  59. package/es2015/src/picker/components/yearPicker/yearPicker.interfaces.js.map +1 -0
  60. package/es2015/src/picker/interfaces.js +5 -0
  61. package/es2015/src/picker/interfaces.js.map +1 -0
  62. package/es2015/src/picker/misc/datetimePicker.interface.js +2 -0
  63. package/es2015/src/picker/misc/datetimePicker.interface.js.map +1 -0
  64. package/es2015/src/picker/misc/tokens.js +6 -0
  65. package/es2015/src/picker/misc/tokens.js.map +1 -0
  66. package/es2015/src/picker/modules/picker.module.js +46 -0
  67. package/es2015/src/picker/modules/picker.module.js.map +1 -0
  68. package/es2015/src/picker/types.js +8 -0
  69. package/es2015/src/picker/types.js.map +1 -0
  70. package/es2015/src/pipes/asRequiredType.js +22 -0
  71. package/es2015/src/pipes/asRequiredType.js.map +1 -0
  72. package/es2015/src/pipes/dateConvert.pipe.js +35 -0
  73. package/es2015/src/pipes/dateConvert.pipe.js.map +1 -0
  74. package/es2015/src/pipes/dateFormat.pipe.js +45 -0
  75. package/es2015/src/pipes/dateFormat.pipe.js.map +1 -0
  76. package/es2015/src/selector/components/inputDateTime/inputDateTime.component.js +421 -0
  77. package/es2015/src/selector/components/inputDateTime/inputDateTime.component.js.map +1 -0
  78. package/es2015/src/selector/components/selector/selector.component.animations.js +15 -0
  79. package/es2015/src/selector/components/selector/selector.component.animations.js.map +1 -0
  80. package/es2015/src/selector/components/selector/selector.component.js +344 -0
  81. package/es2015/src/selector/components/selector/selector.component.js.map +1 -0
  82. package/es2015/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js +317 -0
  83. package/es2015/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js.map +1 -0
  84. package/es2015/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js +51 -0
  85. package/es2015/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js.map +1 -0
  86. package/es2015/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js +51 -0
  87. package/es2015/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js.map +1 -0
  88. package/es2015/src/selector/directives/datetimeValidator/datetimeValidator.directive.js +47 -0
  89. package/es2015/src/selector/directives/datetimeValidator/datetimeValidator.directive.js.map +1 -0
  90. package/es2015/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js +119 -0
  91. package/es2015/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js.map +1 -0
  92. package/es2015/src/selector/interfaces.js +2 -0
  93. package/es2015/src/selector/interfaces.js.map +1 -0
  94. package/es2015/src/selector/misc/datetimeSelector.interface.js +2 -0
  95. package/es2015/src/selector/misc/datetimeSelector.interface.js.map +1 -0
  96. package/es2015/src/selector/misc/tokens.js +6 -0
  97. package/es2015/src/selector/misc/tokens.js.map +1 -0
  98. package/es2015/src/selector/modules/basicSelector.module.js +20 -0
  99. package/es2015/src/selector/modules/basicSelector.module.js.map +1 -0
  100. package/es2015/src/selector/modules/selector.module.js +60 -0
  101. package/es2015/src/selector/modules/selector.module.js.map +1 -0
  102. package/es2015/src/selector/types.js +10 -0
  103. package/es2015/src/selector/types.js.map +1 -0
  104. package/es2015/src/services/dateApi.interface.js +2 -0
  105. package/es2015/src/services/dateApi.interface.js.map +1 -0
  106. package/es2015/src/services/datePositionParser.interface.js +2 -0
  107. package/es2015/src/services/datePositionParser.interface.js.map +1 -0
  108. package/es2015/src/services/datePositionParser.service.js +227 -0
  109. package/es2015/src/services/datePositionParser.service.js.map +1 -0
  110. package/es2015/src/services/dateTimeRelativeParser.service.js +66 -0
  111. package/es2015/src/services/dateTimeRelativeParser.service.js.map +1 -0
  112. package/es2015/src/services/dateValueProvider.service.js +58 -0
  113. package/es2015/src/services/dateValueProvider.service.js.map +1 -0
  114. package/es2015/src/services/formatProvider.interface.js +2 -0
  115. package/es2015/src/services/formatProvider.interface.js.map +1 -0
  116. package/es2015/src/services/index.js +4 -0
  117. package/es2015/src/services/index.js.map +1 -0
  118. package/es2020/date-fns/src/index.js +4 -0
  119. package/es2020/date-fns/src/index.js.map +1 -0
  120. package/es2020/date-fns/src/misc/tokens.js +20 -0
  121. package/es2020/date-fns/src/misc/tokens.js.map +1 -0
  122. package/es2020/date-fns/src/services/dateFnsDateApi.service.js +437 -0
  123. package/es2020/date-fns/src/services/dateFnsDateApi.service.js.map +1 -0
  124. package/es2020/date-fns/src/services/dateFnsLocale.service.js +2 -0
  125. package/es2020/date-fns/src/services/dateFnsLocale.service.js.map +1 -0
  126. package/es2020/karma.conf.js +57 -0
  127. package/es2020/karma.conf.js.map +1 -0
  128. package/es2020/moment/src/index.js +3 -0
  129. package/es2020/moment/src/index.js.map +1 -0
  130. package/es2020/moment/src/misc/tokens.js +15 -0
  131. package/es2020/moment/src/misc/tokens.js.map +1 -0
  132. package/es2020/moment/src/services/momentDateApi.service.js +398 -0
  133. package/es2020/moment/src/services/momentDateApi.service.js.map +1 -0
  134. package/es2020/src/index.js +19 -0
  135. package/es2020/src/index.js.map +1 -0
  136. package/es2020/src/misc/constants.js +33 -0
  137. package/es2020/src/misc/constants.js.map +1 -0
  138. package/es2020/src/misc/datetime.interface.js +2 -0
  139. package/es2020/src/misc/datetime.interface.js.map +1 -0
  140. package/es2020/src/misc/tokens.js +19 -0
  141. package/es2020/src/misc/tokens.js.map +1 -0
  142. package/es2020/src/misc/validators.js +58 -0
  143. package/es2020/src/misc/validators.js.map +1 -0
  144. package/es2020/src/modules/datePipes.module.js +33 -0
  145. package/es2020/src/modules/datePipes.module.js.map +1 -0
  146. package/es2020/src/picker/components/dayPicker/dayPicker.component.js +172 -0
  147. package/es2020/src/picker/components/dayPicker/dayPicker.component.js.map +1 -0
  148. package/es2020/src/picker/components/dayPicker/dayPicker.interfaces.js +2 -0
  149. package/es2020/src/picker/components/dayPicker/dayPicker.interfaces.js.map +1 -0
  150. package/es2020/src/picker/components/monthPicker/monthPicker.component.js +114 -0
  151. package/es2020/src/picker/components/monthPicker/monthPicker.component.js.map +1 -0
  152. package/es2020/src/picker/components/monthPicker/monthPicker.interfaces.js +2 -0
  153. package/es2020/src/picker/components/monthPicker/monthPicker.interfaces.js.map +1 -0
  154. package/es2020/src/picker/components/picker/picker.component.animations.js +71 -0
  155. package/es2020/src/picker/components/picker/picker.component.animations.js.map +1 -0
  156. package/es2020/src/picker/components/picker/picker.component.js +236 -0
  157. package/es2020/src/picker/components/picker/picker.component.js.map +1 -0
  158. package/es2020/src/picker/components/pickerBase.component.js +243 -0
  159. package/es2020/src/picker/components/pickerBase.component.js.map +1 -0
  160. package/es2020/src/picker/components/yearPicker/yearPicker.component.js +126 -0
  161. package/es2020/src/picker/components/yearPicker/yearPicker.component.js.map +1 -0
  162. package/es2020/src/picker/components/yearPicker/yearPicker.interfaces.js +2 -0
  163. package/es2020/src/picker/components/yearPicker/yearPicker.interfaces.js.map +1 -0
  164. package/es2020/src/picker/interfaces.js +5 -0
  165. package/es2020/src/picker/interfaces.js.map +1 -0
  166. package/es2020/src/picker/misc/datetimePicker.interface.js +2 -0
  167. package/es2020/src/picker/misc/datetimePicker.interface.js.map +1 -0
  168. package/es2020/src/picker/misc/tokens.js +6 -0
  169. package/es2020/src/picker/misc/tokens.js.map +1 -0
  170. package/es2020/src/picker/modules/picker.module.js +46 -0
  171. package/es2020/src/picker/modules/picker.module.js.map +1 -0
  172. package/es2020/src/picker/types.js +8 -0
  173. package/es2020/src/picker/types.js.map +1 -0
  174. package/es2020/src/pipes/asRequiredType.js +22 -0
  175. package/es2020/src/pipes/asRequiredType.js.map +1 -0
  176. package/es2020/src/pipes/dateConvert.pipe.js +35 -0
  177. package/es2020/src/pipes/dateConvert.pipe.js.map +1 -0
  178. package/es2020/src/pipes/dateFormat.pipe.js +45 -0
  179. package/es2020/src/pipes/dateFormat.pipe.js.map +1 -0
  180. package/es2020/src/selector/components/inputDateTime/inputDateTime.component.js +417 -0
  181. package/es2020/src/selector/components/inputDateTime/inputDateTime.component.js.map +1 -0
  182. package/es2020/src/selector/components/selector/selector.component.animations.js +15 -0
  183. package/es2020/src/selector/components/selector/selector.component.animations.js.map +1 -0
  184. package/es2020/src/selector/components/selector/selector.component.js +334 -0
  185. package/es2020/src/selector/components/selector/selector.component.js.map +1 -0
  186. package/es2020/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js +314 -0
  187. package/es2020/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js.map +1 -0
  188. package/es2020/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js +51 -0
  189. package/es2020/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js.map +1 -0
  190. package/es2020/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js +51 -0
  191. package/es2020/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js.map +1 -0
  192. package/es2020/src/selector/directives/datetimeValidator/datetimeValidator.directive.js +47 -0
  193. package/es2020/src/selector/directives/datetimeValidator/datetimeValidator.directive.js.map +1 -0
  194. package/es2020/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js +118 -0
  195. package/es2020/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js.map +1 -0
  196. package/es2020/src/selector/interfaces.js +2 -0
  197. package/es2020/src/selector/interfaces.js.map +1 -0
  198. package/es2020/src/selector/misc/datetimeSelector.interface.js +2 -0
  199. package/es2020/src/selector/misc/datetimeSelector.interface.js.map +1 -0
  200. package/es2020/src/selector/misc/tokens.js +6 -0
  201. package/es2020/src/selector/misc/tokens.js.map +1 -0
  202. package/es2020/src/selector/modules/basicSelector.module.js +20 -0
  203. package/es2020/src/selector/modules/basicSelector.module.js.map +1 -0
  204. package/es2020/src/selector/modules/selector.module.js +60 -0
  205. package/es2020/src/selector/modules/selector.module.js.map +1 -0
  206. package/es2020/src/selector/types.js +10 -0
  207. package/es2020/src/selector/types.js.map +1 -0
  208. package/es2020/src/services/dateApi.interface.js +2 -0
  209. package/es2020/src/services/dateApi.interface.js.map +1 -0
  210. package/es2020/src/services/datePositionParser.interface.js +2 -0
  211. package/es2020/src/services/datePositionParser.interface.js.map +1 -0
  212. package/es2020/src/services/datePositionParser.service.js +227 -0
  213. package/es2020/src/services/datePositionParser.service.js.map +1 -0
  214. package/es2020/src/services/dateTimeRelativeParser.service.js +65 -0
  215. package/es2020/src/services/dateTimeRelativeParser.service.js.map +1 -0
  216. package/es2020/src/services/dateValueProvider.service.js +58 -0
  217. package/es2020/src/services/dateValueProvider.service.js.map +1 -0
  218. package/es2020/src/services/formatProvider.interface.js +2 -0
  219. package/es2020/src/services/formatProvider.interface.js.map +1 -0
  220. package/es2020/src/services/index.js +4 -0
  221. package/es2020/src/services/index.js.map +1 -0
  222. package/karma.conf.d.ts +2 -0
  223. package/karma.conf.d.ts.map +1 -0
  224. package/moment/datetime-moment.d.ts +47 -0
  225. package/moment/datetime-moment.internal.d.ts +47 -0
  226. package/moment/package.json +7 -7
  227. package/moment/src/index.d.ts +3 -0
  228. package/moment/src/index.d.ts.map +1 -0
  229. package/moment/src/misc/tokens.d.ts +5 -5
  230. package/moment/src/services/momentDateApi.service.d.ts +35 -32
  231. package/moment/src/services/momentDateApi.service.d.ts.map +1 -1
  232. package/moment/temp/datetime-moment.api.md +36 -0
  233. package/package.json +91 -48
  234. package/src/index.d.ts +19 -0
  235. package/src/index.d.ts.map +1 -0
  236. package/src/misc/constants.d.ts +32 -32
  237. package/src/misc/datetime.interface.d.ts +34 -34
  238. package/src/misc/tokens.d.ts +10 -10
  239. package/src/misc/validators.d.ts +25 -25
  240. package/src/modules/datePipes.module.d.ts +12 -5
  241. package/src/modules/datePipes.module.d.ts.map +1 -1
  242. package/src/picker/components/dayPicker/dayPicker.component.d.ts +68 -65
  243. package/src/picker/components/dayPicker/dayPicker.component.d.ts.map +1 -1
  244. package/src/picker/components/dayPicker/dayPicker.component.html +7 -7
  245. package/src/picker/components/dayPicker/dayPicker.interfaces.d.ts +10 -10
  246. package/src/picker/components/monthPicker/monthPicker.component.d.ts +52 -49
  247. package/src/picker/components/monthPicker/monthPicker.component.d.ts.map +1 -1
  248. package/src/picker/components/monthPicker/monthPicker.component.html +6 -6
  249. package/src/picker/components/monthPicker/monthPicker.interfaces.d.ts +6 -6
  250. package/src/picker/components/picker/picker.component.animations.d.ts +4 -4
  251. package/src/picker/components/picker/picker.component.d.ts +104 -101
  252. package/src/picker/components/picker/picker.component.d.ts.map +1 -1
  253. package/src/picker/components/pickerBase.component.d.ts +169 -166
  254. package/src/picker/components/pickerBase.component.d.ts.map +1 -1
  255. package/src/picker/components/yearPicker/yearPicker.component.d.ts +57 -54
  256. package/src/picker/components/yearPicker/yearPicker.component.d.ts.map +1 -1
  257. package/src/picker/components/yearPicker/yearPicker.component.html +6 -6
  258. package/src/picker/components/yearPicker/yearPicker.interfaces.d.ts +6 -6
  259. package/src/picker/interfaces.d.ts +4 -4
  260. package/src/picker/misc/datetimePicker.interface.d.ts +188 -188
  261. package/src/picker/misc/tokens.d.ts +6 -6
  262. package/src/picker/modules/picker.module.d.ts +16 -5
  263. package/src/picker/modules/picker.module.d.ts.map +1 -1
  264. package/src/picker/types.d.ts +7 -7
  265. package/src/pipes/asRequiredType.d.ts +21 -0
  266. package/src/pipes/asRequiredType.d.ts.map +1 -0
  267. package/src/pipes/dateConvert.pipe.d.ts +18 -15
  268. package/src/pipes/dateConvert.pipe.d.ts.map +1 -1
  269. package/src/pipes/dateFormat.pipe.d.ts +20 -17
  270. package/src/pipes/dateFormat.pipe.d.ts.map +1 -1
  271. package/src/selector/components/inputDateTime/inputDateTime.component.d.ts +187 -184
  272. package/src/selector/components/inputDateTime/inputDateTime.component.d.ts.map +1 -1
  273. package/src/selector/components/selector/selector.component.animations.d.ts +4 -4
  274. package/src/selector/components/selector/selector.component.d.ts +155 -152
  275. package/src/selector/components/selector/selector.component.d.ts.map +1 -1
  276. package/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.d.ts +170 -167
  277. package/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.d.ts.map +1 -1
  278. package/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.d.ts +22 -19
  279. package/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.d.ts.map +1 -1
  280. package/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.d.ts +22 -19
  281. package/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.d.ts.map +1 -1
  282. package/src/selector/directives/datetimeValidator/datetimeValidator.directive.d.ts +21 -18
  283. package/src/selector/directives/datetimeValidator/datetimeValidator.directive.d.ts.map +1 -1
  284. package/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.d.ts +53 -50
  285. package/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.d.ts.map +1 -1
  286. package/src/selector/interfaces.d.ts +1 -1
  287. package/src/selector/misc/datetimeSelector.interface.d.ts +82 -82
  288. package/src/selector/misc/tokens.d.ts +6 -6
  289. package/src/selector/modules/basicSelector.module.d.ts +10 -5
  290. package/src/selector/modules/basicSelector.module.d.ts.map +1 -1
  291. package/src/selector/modules/selector.module.d.ts +18 -5
  292. package/src/selector/modules/selector.module.d.ts.map +1 -1
  293. package/src/selector/types.d.ts +9 -9
  294. package/src/services/dateApi.interface.d.ts +275 -275
  295. package/src/services/datePositionParser.interface.d.ts +40 -40
  296. package/src/services/datePositionParser.service.d.ts +60 -57
  297. package/src/services/datePositionParser.service.d.ts.map +1 -1
  298. package/src/services/dateTimeRelativeParser.service.d.ts +21 -18
  299. package/src/services/dateTimeRelativeParser.service.d.ts.map +1 -1
  300. package/src/services/dateValueProvider.service.d.ts +18 -15
  301. package/src/services/dateValueProvider.service.d.ts.map +1 -1
  302. package/src/services/formatProvider.interface.d.ts +17 -17
  303. package/src/services/index.d.ts +3 -3
  304. package/tsconfig.karma.json +5 -6
  305. package/version.bak +1 -1
  306. package/appveyor.yml +0 -70
  307. package/date-fns/dist/es2015/date-fns/index.js +0 -10
  308. package/date-fns/dist/es2015/date-fns/public_api.js +0 -7
  309. package/date-fns/dist/es2015/date-fns/src/date-fns.js +0 -9
  310. package/date-fns/dist/es2015/date-fns/src/misc/tokens.js +0 -32
  311. package/date-fns/dist/es2015/date-fns/src/services/dateFnsDateApi.service.js +0 -512
  312. package/date-fns/dist/es2015/date-fns/src/services/dateFnsLocale.service.js +0 -18
  313. package/date-fns/dist/es5/date-fns/index.js +0 -10
  314. package/date-fns/dist/es5/date-fns/public_api.js +0 -7
  315. package/date-fns/dist/es5/date-fns/src/date-fns.js +0 -9
  316. package/date-fns/dist/es5/date-fns/src/misc/tokens.js +0 -32
  317. package/date-fns/dist/es5/date-fns/src/services/dateFnsDateApi.service.js +0 -902
  318. package/date-fns/dist/es5/date-fns/src/services/dateFnsLocale.service.js +0 -18
  319. package/date-fns/index.d.ts +0 -5
  320. package/date-fns/index.d.ts.map +0 -1
  321. package/date-fns/index.metadata.json +0 -1
  322. package/date-fns/public_api.d.ts +0 -2
  323. package/date-fns/public_api.d.ts.map +0 -1
  324. package/date-fns/src/date-fns.d.ts.map +0 -1
  325. package/date-fns/src/services/dateFnsDateApi.service.ngfactory.d.ts.map +0 -1
  326. package/datetime.d.ts.map +0 -1
  327. package/datetime.metadata.json +0 -1
  328. package/dist/es2015/datetime.js +0 -10
  329. package/dist/es2015/public_api.js +0 -7
  330. package/dist/es2015/src/datetime.js +0 -24
  331. package/dist/es2015/src/misc/constants.js +0 -46
  332. package/dist/es2015/src/misc/datetime.interface.js +0 -52
  333. package/dist/es2015/src/misc/tokens.js +0 -29
  334. package/dist/es2015/src/misc/validators.js +0 -80
  335. package/dist/es2015/src/modules/datePipes.module.js +0 -26
  336. package/dist/es2015/src/picker/components/dayPicker/dayPicker.component.js +0 -215
  337. package/dist/es2015/src/picker/components/dayPicker/dayPicker.interfaces.js +0 -18
  338. package/dist/es2015/src/picker/components/monthPicker/monthPicker.component.js +0 -138
  339. package/dist/es2015/src/picker/components/monthPicker/monthPicker.interfaces.js +0 -11
  340. package/dist/es2015/src/picker/components/picker/picker.component.animations.js +0 -77
  341. package/dist/es2015/src/picker/components/picker/picker.component.js +0 -386
  342. package/dist/es2015/src/picker/components/pickerBase.component.js +0 -406
  343. package/dist/es2015/src/picker/components/yearPicker/yearPicker.component.js +0 -158
  344. package/dist/es2015/src/picker/components/yearPicker/yearPicker.interfaces.js +0 -11
  345. package/dist/es2015/src/picker/interfaces.js +0 -10
  346. package/dist/es2015/src/picker/misc/datetimePicker.interface.js +0 -245
  347. package/dist/es2015/src/picker/misc/tokens.js +0 -12
  348. package/dist/es2015/src/picker/modules/picker.module.js +0 -35
  349. package/dist/es2015/src/picker/types.js +0 -13
  350. package/dist/es2015/src/pipes/dateConvert.pipe.js +0 -50
  351. package/dist/es2015/src/pipes/dateFormat.pipe.js +0 -64
  352. package/dist/es2015/src/selector/components/inputDateTime/inputDateTime.component.js +0 -588
  353. package/dist/es2015/src/selector/components/selector/selector.component.animations.js +0 -21
  354. package/dist/es2015/src/selector/components/selector/selector.component.js +0 -514
  355. package/dist/es2015/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js +0 -456
  356. package/dist/es2015/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js +0 -73
  357. package/dist/es2015/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js +0 -73
  358. package/dist/es2015/src/selector/directives/datetimeValidator/datetimeValidator.directive.js +0 -70
  359. package/dist/es2015/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js +0 -171
  360. package/dist/es2015/src/selector/interfaces.js +0 -7
  361. package/dist/es2015/src/selector/misc/datetimeSelector.interface.js +0 -106
  362. package/dist/es2015/src/selector/misc/tokens.js +0 -12
  363. package/dist/es2015/src/selector/modules/basicSelector.module.js +0 -20
  364. package/dist/es2015/src/selector/modules/selector.module.js +0 -45
  365. package/dist/es2015/src/selector/types.js +0 -15
  366. package/dist/es2015/src/services/dateApi.interface.js +0 -316
  367. package/dist/es2015/src/services/datePositionParser.interface.js +0 -56
  368. package/dist/es2015/src/services/datePositionParser.service.js +0 -297
  369. package/dist/es2015/src/services/dateTimeRelativeParser.service.js +0 -97
  370. package/dist/es2015/src/services/dateValueProvider.service.js +0 -79
  371. package/dist/es2015/src/services/formatProvider.interface.js +0 -28
  372. package/dist/es2015/src/services/index.js +0 -9
  373. package/dist/es5/datetime.js +0 -10
  374. package/dist/es5/public_api.js +0 -7
  375. package/dist/es5/src/datetime.js +0 -24
  376. package/dist/es5/src/misc/constants.js +0 -46
  377. package/dist/es5/src/misc/datetime.interface.js +0 -52
  378. package/dist/es5/src/misc/tokens.js +0 -29
  379. package/dist/es5/src/misc/validators.js +0 -124
  380. package/dist/es5/src/modules/datePipes.module.js +0 -30
  381. package/dist/es5/src/picker/components/dayPicker/dayPicker.component.js +0 -323
  382. package/dist/es5/src/picker/components/dayPicker/dayPicker.interfaces.js +0 -18
  383. package/dist/es5/src/picker/components/monthPicker/monthPicker.component.js +0 -233
  384. package/dist/es5/src/picker/components/monthPicker/monthPicker.interfaces.js +0 -11
  385. package/dist/es5/src/picker/components/picker/picker.component.animations.js +0 -77
  386. package/dist/es5/src/picker/components/picker/picker.component.js +0 -460
  387. package/dist/es5/src/picker/components/pickerBase.component.js +0 -561
  388. package/dist/es5/src/picker/components/yearPicker/yearPicker.component.js +0 -253
  389. package/dist/es5/src/picker/components/yearPicker/yearPicker.interfaces.js +0 -11
  390. package/dist/es5/src/picker/interfaces.js +0 -10
  391. package/dist/es5/src/picker/misc/datetimePicker.interface.js +0 -245
  392. package/dist/es5/src/picker/misc/tokens.js +0 -12
  393. package/dist/es5/src/picker/modules/picker.module.js +0 -39
  394. package/dist/es5/src/picker/types.js +0 -13
  395. package/dist/es5/src/pipes/dateConvert.pipe.js +0 -63
  396. package/dist/es5/src/pipes/dateFormat.pipe.js +0 -79
  397. package/dist/es5/src/selector/components/inputDateTime/inputDateTime.component.js +0 -808
  398. package/dist/es5/src/selector/components/selector/selector.component.animations.js +0 -21
  399. package/dist/es5/src/selector/components/selector/selector.component.js +0 -653
  400. package/dist/es5/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js +0 -656
  401. package/dist/es5/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js +0 -84
  402. package/dist/es5/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js +0 -84
  403. package/dist/es5/src/selector/directives/datetimeValidator/datetimeValidator.directive.js +0 -82
  404. package/dist/es5/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js +0 -230
  405. package/dist/es5/src/selector/interfaces.js +0 -7
  406. package/dist/es5/src/selector/misc/datetimeSelector.interface.js +0 -106
  407. package/dist/es5/src/selector/misc/tokens.js +0 -12
  408. package/dist/es5/src/selector/modules/basicSelector.module.js +0 -24
  409. package/dist/es5/src/selector/modules/selector.module.js +0 -49
  410. package/dist/es5/src/selector/types.js +0 -15
  411. package/dist/es5/src/services/dateApi.interface.js +0 -316
  412. package/dist/es5/src/services/datePositionParser.interface.js +0 -56
  413. package/dist/es5/src/services/datePositionParser.service.js +0 -366
  414. package/dist/es5/src/services/dateTimeRelativeParser.service.js +0 -108
  415. package/dist/es5/src/services/dateValueProvider.service.js +0 -92
  416. package/dist/es5/src/services/formatProvider.interface.js +0 -28
  417. package/dist/es5/src/services/index.js +0 -9
  418. package/moment/dist/es2015/moment/index.js +0 -10
  419. package/moment/dist/es2015/moment/public_api.js +0 -7
  420. package/moment/dist/es2015/moment/src/misc/tokens.js +0 -26
  421. package/moment/dist/es2015/moment/src/moment.js +0 -8
  422. package/moment/dist/es2015/moment/src/services/momentDateApi.service.js +0 -466
  423. package/moment/dist/es5/moment/index.js +0 -10
  424. package/moment/dist/es5/moment/public_api.js +0 -7
  425. package/moment/dist/es5/moment/src/misc/tokens.js +0 -26
  426. package/moment/dist/es5/moment/src/moment.js +0 -8
  427. package/moment/dist/es5/moment/src/services/momentDateApi.service.js +0 -858
  428. package/moment/index.d.ts +0 -5
  429. package/moment/index.d.ts.map +0 -1
  430. package/moment/index.metadata.json +0 -1
  431. package/moment/public_api.d.ts +0 -2
  432. package/moment/public_api.d.ts.map +0 -1
  433. package/moment/src/moment.d.ts.map +0 -1
  434. package/moment/src/services/momentDateApi.service.ngfactory.d.ts.map +0 -1
  435. package/public_api.d.ts +0 -2
  436. package/public_api.d.ts.map +0 -1
  437. package/src/datetime.d.ts.map +0 -1
  438. package/src/modules/datePipes.module.ngfactory.d.ts.map +0 -1
  439. package/src/picker/components/dayPicker/dayPicker.component.css.shim.ngstyle.d.ts.map +0 -1
  440. package/src/picker/components/dayPicker/dayPicker.component.ngfactory.d.ts.map +0 -1
  441. package/src/picker/components/monthPicker/monthPicker.component.css.shim.ngstyle.d.ts.map +0 -1
  442. package/src/picker/components/monthPicker/monthPicker.component.ngfactory.d.ts.map +0 -1
  443. package/src/picker/components/picker/picker.component.ngfactory.d.ts.map +0 -1
  444. package/src/picker/components/yearPicker/yearPicker.component.css.shim.ngstyle.d.ts.map +0 -1
  445. package/src/picker/components/yearPicker/yearPicker.component.ngfactory.d.ts.map +0 -1
  446. package/src/picker/modules/picker.module.ngfactory.d.ts.map +0 -1
  447. package/src/pipes/dateConvert.pipe.ngfactory.d.ts.map +0 -1
  448. package/src/pipes/dateFormat.pipe.ngfactory.d.ts.map +0 -1
  449. package/src/selector/components/inputDateTime/inputDateTime.component.css.shim.ngstyle.d.ts.map +0 -1
  450. package/src/selector/components/inputDateTime/inputDateTime.component.ngfactory.d.ts.map +0 -1
  451. package/src/selector/components/selector/selector.component.css.shim.ngstyle.d.ts.map +0 -1
  452. package/src/selector/components/selector/selector.component.ngfactory.d.ts.map +0 -1
  453. package/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.css.shim.ngstyle.d.ts.map +0 -1
  454. package/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.ngfactory.d.ts.map +0 -1
  455. package/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.ngfactory.d.ts.map +0 -1
  456. package/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.ngfactory.d.ts.map +0 -1
  457. package/src/selector/directives/datetimeValidator/datetimeValidator.directive.ngfactory.d.ts.map +0 -1
  458. package/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.ngfactory.d.ts.map +0 -1
  459. package/src/selector/modules/basicSelector.module.ngfactory.d.ts.map +0 -1
  460. package/src/selector/modules/selector.module.ngfactory.d.ts.map +0 -1
  461. package/src/services/datePositionParser.service.ngfactory.d.ts.map +0 -1
  462. package/src/services/dateTimeRelativeParser.service.ngfactory.d.ts.map +0 -1
  463. package/src/services/dateValueProvider.service.ngfactory.d.ts.map +0 -1
@@ -1,460 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: src/picker/components/picker/picker.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Component, ChangeDetectionStrategy, Optional, Inject, Input, EventEmitter, Output, ChangeDetectorRef } from '@angular/core';
7
- import { extend } from '@jscrpt/common';
8
- import { Subscription } from 'rxjs';
9
- import { DATE_API } from '../../../misc/tokens';
10
- import { DATE_TIME_PICKER_CONFIGURATION } from '../../misc/tokens';
11
- import { DateTimeDayPickerComponent } from '../dayPicker/dayPicker.component';
12
- import { DateTimeMonthPickerComponent } from '../monthPicker/monthPicker.component';
13
- import { DateTimeYearPickerComponent } from '../yearPicker/yearPicker.component';
14
- import { scaleUpDownTrigger } from './picker.component.animations';
15
- //TODO - merge options
16
- /**
17
- * Default configuration for picker
18
- * @type {?}
19
- */
20
- var defaultConfiguration = {
21
- defaultPeriod: 'day',
22
- pickerPeriodsDefinition: {
23
- "day": DateTimeDayPickerComponent,
24
- "month": DateTimeMonthPickerComponent,
25
- "year": DateTimeYearPickerComponent
26
- },
27
- cssClasses: {}
28
- };
29
- /**
30
- * Component used for displaying date time picker
31
- * @template TDate
32
- */
33
- var DateTimePickerComponent = /** @class */ (function () {
34
- //######################### constructor #########################
35
- function DateTimePickerComponent(configuration, _dateApi, _changeDetector) {
36
- this._dateApi = _dateApi;
37
- this._changeDetector = _changeDetector;
38
- /**
39
- * Array of available picker names
40
- */
41
- this._pickerNames = [];
42
- /**
43
- * Current selected value
44
- */
45
- this._value = null;
46
- /**
47
- * All subscriptions for active picker
48
- */
49
- this._activePickerSubscriptions = new Subscription();
50
- /**
51
- * Minimal possible value that can be picked
52
- */
53
- this._minValue = null;
54
- /**
55
- * Maximal possible value that can be picked
56
- */
57
- this._maxValue = null;
58
- /**
59
- * Active picker index
60
- * \@internal
61
- */
62
- this.activePickerIndex = 0;
63
- //######################### public properties - outputs #########################
64
- /**
65
- * Occurs when value changes
66
- */
67
- this.valueChange = new EventEmitter();
68
- this._options = extend(true, {}, defaultConfiguration, configuration);
69
- // without deep-copy for this attribute
70
- if (configuration === null || configuration === void 0 ? void 0 : configuration.pickerPeriodsDefinition) {
71
- this._options.pickerPeriodsDefinition = configuration.pickerPeriodsDefinition;
72
- }
73
- }
74
- Object.defineProperty(DateTimePickerComponent.prototype, "options", {
75
- //######################### public properties - inputs #########################
76
- /**
77
- * Current options used by picker
78
- */
79
- get:
80
- //######################### public properties - inputs #########################
81
- /**
82
- * Current options used by picker
83
- * @return {?}
84
- */
85
- function () {
86
- return this._options;
87
- },
88
- set: /**
89
- * @param {?} value
90
- * @return {?}
91
- */
92
- function (value) {
93
- this._options = extend(true, this._options, value);
94
- // without deep-copy for this attribute
95
- if (value === null || value === void 0 ? void 0 : value.pickerPeriodsDefinition) {
96
- this._options.pickerPeriodsDefinition = value.pickerPeriodsDefinition;
97
- }
98
- },
99
- enumerable: false,
100
- configurable: true
101
- });
102
- Object.defineProperty(DateTimePickerComponent.prototype, "value", {
103
- /**
104
- * Current selected value
105
- */
106
- get: /**
107
- * Current selected value
108
- * @return {?}
109
- */
110
- function () {
111
- return this._value;
112
- },
113
- set: /**
114
- * @param {?} value
115
- * @return {?}
116
- */
117
- function (value) {
118
- var _a, _b;
119
- this._value = value;
120
- (_a = this._activePicker) === null || _a === void 0 ? void 0 : _a.setValue(value);
121
- (_b = this._activePicker) === null || _b === void 0 ? void 0 : _b.invalidateVisuals();
122
- },
123
- enumerable: false,
124
- configurable: true
125
- });
126
- Object.defineProperty(DateTimePickerComponent.prototype, "minValue", {
127
- /**
128
- * Gets or sets minimal possible value for picker, that can be picked
129
- */
130
- get: /**
131
- * Gets or sets minimal possible value for picker, that can be picked
132
- * @return {?}
133
- */
134
- function () {
135
- return this._minValue;
136
- },
137
- set: /**
138
- * @param {?} value
139
- * @return {?}
140
- */
141
- function (value) {
142
- var _a;
143
- this._minValue = value;
144
- (_a = this._activePicker) === null || _a === void 0 ? void 0 : _a.setMinValue(this._minValue);
145
- },
146
- enumerable: false,
147
- configurable: true
148
- });
149
- Object.defineProperty(DateTimePickerComponent.prototype, "maxValue", {
150
- /**
151
- * Gets or sets maximal possible value for picker, that can be picked
152
- */
153
- get: /**
154
- * Gets or sets maximal possible value for picker, that can be picked
155
- * @return {?}
156
- */
157
- function () {
158
- return this._maxValue;
159
- },
160
- set: /**
161
- * @param {?} value
162
- * @return {?}
163
- */
164
- function (value) {
165
- var _a;
166
- this._maxValue = value;
167
- (_a = this._activePicker) === null || _a === void 0 ? void 0 : _a.setMaxValue(this._maxValue);
168
- },
169
- enumerable: false,
170
- configurable: true
171
- });
172
- //######################### public methods - implementation of OnInit #########################
173
- /**
174
- * Initialize component
175
- */
176
- //######################### public methods - implementation of OnInit #########################
177
- /**
178
- * Initialize component
179
- * @return {?}
180
- */
181
- DateTimePickerComponent.prototype.ngOnInit =
182
- //######################### public methods - implementation of OnInit #########################
183
- /**
184
- * Initialize component
185
- * @return {?}
186
- */
187
- function () {
188
- var _this = this;
189
- if (this._options.pickerPeriodsOrder) {
190
- if (Array.isArray(this._options.pickerPeriodsOrder)) {
191
- this._pickerNames = this._options.pickerPeriodsOrder;
192
- }
193
- else {
194
- this._pickerNames = this._options.pickerPeriodsOrder.split(',')
195
- .map((/**
196
- * @param {?} x
197
- * @return {?}
198
- */
199
- function (x) { return x.trim(); }))
200
- .filter((/**
201
- * @param {?} x
202
- * @return {?}
203
- */
204
- function (x) { return x; }));
205
- }
206
- }
207
- if (this._pickerNames && this._pickerNames.length > 0) {
208
- this._pickerNames.forEach((/**
209
- * @param {?} x
210
- * @return {?}
211
- */
212
- function (x) {
213
- if (!(/** @type {?} */ (_this._options.pickerPeriodsDefinition))[(/** @type {?} */ (x))]) {
214
- throw new Error("There is no period '" + x + "' in picker options");
215
- }
216
- }));
217
- }
218
- else {
219
- this._pickerNames = Object.keys((/** @type {?} */ (this._options.pickerPeriodsDefinition)));
220
- }
221
- if (this._pickerNames.findIndex((/**
222
- * @param {?} x
223
- * @return {?}
224
- */
225
- function (x) { return x == _this._options.defaultPeriod; })) < 0) {
226
- throw new Error("There is no period '" + this._options.defaultPeriod + "' in picker options");
227
- }
228
- this.activePickerComponent = (/** @type {?} */ (this._options.pickerPeriodsDefinition))[(/** @type {?} */ (this._options.defaultPeriod))];
229
- this._activePickerName = (/** @type {?} */ (this._options.defaultPeriod));
230
- this.activePickerIndex = this._pickerNames.indexOf(this._activePickerName);
231
- };
232
- //######################### public methods - implementation of OnDestroy #########################
233
- /**
234
- * Called when component is destroyed
235
- */
236
- //######################### public methods - implementation of OnDestroy #########################
237
- /**
238
- * Called when component is destroyed
239
- * @return {?}
240
- */
241
- DateTimePickerComponent.prototype.ngOnDestroy =
242
- //######################### public methods - implementation of OnDestroy #########################
243
- /**
244
- * Called when component is destroyed
245
- * @return {?}
246
- */
247
- function () {
248
- this._display = undefined;
249
- this._activePickerSubscriptions.unsubscribe();
250
- };
251
- //######################### public methods - template bindings #########################
252
- /**
253
- * Handles created or destroyed date time picker instance
254
- * @param picker - Instance of picker or null
255
- * @internal
256
- */
257
- //######################### public methods - template bindings #########################
258
- /**
259
- * Handles created or destroyed date time picker instance
260
- * \@internal
261
- * @param {?} picker - Instance of picker or null
262
- * @return {?}
263
- */
264
- DateTimePickerComponent.prototype.pickerCreated =
265
- //######################### public methods - template bindings #########################
266
- /**
267
- * Handles created or destroyed date time picker instance
268
- * \@internal
269
- * @param {?} picker - Instance of picker or null
270
- * @return {?}
271
- */
272
- function (picker) {
273
- var _this = this;
274
- var _a, _b;
275
- if (picker == this._activePicker) {
276
- return;
277
- }
278
- this._activePicker = picker;
279
- this._activePickerSubscriptions.unsubscribe();
280
- this._activePickerSubscriptions = new Subscription();
281
- if (!this._activePicker) {
282
- return;
283
- }
284
- this._activePickerSubscriptions.add(picker.valueChange.subscribe((/**
285
- * @return {?}
286
- */
287
- function () {
288
- _this._value = picker.value;
289
- _this.valueChange.emit((/** @type {?} */ (_this._value)));
290
- })));
291
- this._activePickerSubscriptions.add(picker.scaleUp.subscribe((/**
292
- * @param {?} display
293
- * @return {?}
294
- */
295
- function (display) {
296
- _this._display = display;
297
- /** @type {?} */
298
- var index = _this._pickerNames.indexOf(_this._activePickerName) + 1;
299
- _this._activePickerName = _this._pickerNames[index];
300
- _this.activePickerIndex = _this._pickerNames.indexOf(_this._activePickerName);
301
- _this.activePickerComponent = (/** @type {?} */ (_this._options.pickerPeriodsDefinition))[_this._activePickerName];
302
- })));
303
- this._activePickerSubscriptions.add(picker.scaleDown.subscribe((/**
304
- * @param {?} display
305
- * @return {?}
306
- */
307
- function (display) {
308
- _this._display = display;
309
- /** @type {?} */
310
- var index = _this._pickerNames.indexOf(_this._activePickerName) - 1;
311
- _this._activePickerName = _this._pickerNames[index];
312
- _this.activePickerIndex = _this._pickerNames.indexOf(_this._activePickerName);
313
- _this.activePickerComponent = (/** @type {?} */ (_this._options.pickerPeriodsDefinition))[_this._activePickerName];
314
- })));
315
- picker.setCanGoDown(this._pickerNames.indexOf(this._activePickerName) > 0);
316
- picker.setCanGoUp(this._pickerNames.indexOf(this._activePickerName) < this._pickerNames.length - 1);
317
- this._setPickerCssClasses();
318
- picker.setValue(this._value);
319
- picker.setMinValue(this._minValue);
320
- picker.setMaxValue(this._maxValue);
321
- picker.display(this._display ? this._dateApi.getValue(this._display) : this._dateApi.getValue((_b = (_a = this._value) === null || _a === void 0 ? void 0 : _a.from) !== null && _b !== void 0 ? _b : this._dateApi.now().value));
322
- picker.invalidateVisuals();
323
- };
324
- //######################### protected methods #########################
325
- /**
326
- * Sets picker css classes
327
- */
328
- //######################### protected methods #########################
329
- /**
330
- * Sets picker css classes
331
- * @protected
332
- * @return {?}
333
- */
334
- DateTimePickerComponent.prototype._setPickerCssClasses =
335
- //######################### protected methods #########################
336
- /**
337
- * Sets picker css classes
338
- * @protected
339
- * @return {?}
340
- */
341
- function () {
342
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
343
- if (!this._activePicker) {
344
- return;
345
- }
346
- //sets shared css
347
- this._activePicker.setCssClasses((_c = (_b = (_a = this._options) === null || _a === void 0 ? void 0 : _a.cssClasses) === null || _b === void 0 ? void 0 : _b.pickerShared) !== null && _c !== void 0 ? _c : {});
348
- if (((_e = (_d = this._options) === null || _d === void 0 ? void 0 : _d.cssClasses) === null || _e === void 0 ? void 0 : _e.pickerCustom) && ((_g = (_f = this._options) === null || _f === void 0 ? void 0 : _f.cssClasses) === null || _g === void 0 ? void 0 : _g.pickerCustom[this._activePickerName])) {
349
- this._activePicker.setCssClasses((_j = (_h = this._options) === null || _h === void 0 ? void 0 : _h.cssClasses) === null || _j === void 0 ? void 0 : _j.pickerCustom[this._activePickerName]);
350
- }
351
- };
352
- DateTimePickerComponent.decorators = [
353
- { type: Component, args: [{
354
- selector: 'date-time-picker',
355
- template: "<div [@scaleUpDown]=\"activePickerIndex\">\r\n <ng-template [ngComponentOutletEx]=\"activePickerComponent\" (ngComponentOutletExCreated)=\"pickerCreated($event)\"></ng-template>\r\n</div>",
356
- // styleUrls: ['picker.component.scss'],
357
- animations: [scaleUpDownTrigger],
358
- changeDetection: ChangeDetectionStrategy.OnPush
359
- },] }
360
- ];
361
- /** @nocollapse */
362
- DateTimePickerComponent.ctorParameters = function () { return [
363
- { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DATE_TIME_PICKER_CONFIGURATION,] }] },
364
- { type: undefined, decorators: [{ type: Inject, args: [DATE_API,] }] },
365
- { type: ChangeDetectorRef }
366
- ]; };
367
- DateTimePickerComponent.propDecorators = {
368
- options: [{ type: Input }],
369
- value: [{ type: Input }],
370
- minValue: [{ type: Input }],
371
- maxValue: [{ type: Input }],
372
- valueChange: [{ type: Output }]
373
- };
374
- return DateTimePickerComponent;
375
- }());
376
- export { DateTimePickerComponent };
377
- if (false) {
378
- /**
379
- * Instance of active date time picker
380
- * @type {?}
381
- * @protected
382
- */
383
- DateTimePickerComponent.prototype._activePicker;
384
- /**
385
- * Name, id of displayed picker
386
- * @type {?}
387
- * @protected
388
- */
389
- DateTimePickerComponent.prototype._activePickerName;
390
- /**
391
- * Array of available picker names
392
- * @type {?}
393
- * @protected
394
- */
395
- DateTimePickerComponent.prototype._pickerNames;
396
- /**
397
- * Current selected value
398
- * @type {?}
399
- * @protected
400
- */
401
- DateTimePickerComponent.prototype._value;
402
- /**
403
- * All subscriptions for active picker
404
- * @type {?}
405
- * @protected
406
- */
407
- DateTimePickerComponent.prototype._activePickerSubscriptions;
408
- /**
409
- * Date that should be displayed in picker, used when moving up or down in periods
410
- * @type {?}
411
- * @protected
412
- */
413
- DateTimePickerComponent.prototype._display;
414
- /**
415
- * Minimal possible value that can be picked
416
- * @type {?}
417
- * @protected
418
- */
419
- DateTimePickerComponent.prototype._minValue;
420
- /**
421
- * Maximal possible value that can be picked
422
- * @type {?}
423
- * @protected
424
- */
425
- DateTimePickerComponent.prototype._maxValue;
426
- /**
427
- * Current options used by picker
428
- * @type {?}
429
- * @protected
430
- */
431
- DateTimePickerComponent.prototype._options;
432
- /**
433
- * Currently active date time picker component type
434
- * \@internal
435
- * @type {?}
436
- */
437
- DateTimePickerComponent.prototype.activePickerComponent;
438
- /**
439
- * Active picker index
440
- * \@internal
441
- * @type {?}
442
- */
443
- DateTimePickerComponent.prototype.activePickerIndex;
444
- /**
445
- * Occurs when value changes
446
- * @type {?}
447
- */
448
- DateTimePickerComponent.prototype.valueChange;
449
- /**
450
- * @type {?}
451
- * @protected
452
- */
453
- DateTimePickerComponent.prototype._dateApi;
454
- /**
455
- * @type {?}
456
- * @protected
457
- */
458
- DateTimePickerComponent.prototype._changeDetector;
459
- }
460
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9waWNrZXIvY29tcG9uZW50cy9waWNrZXIvcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWdCLFlBQVksRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDNUosT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFHbEMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRzlDLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7SUFPM0Qsb0JBQW9CLEdBQzFCO0lBQ0ksYUFBYSxFQUFFLEtBQUs7SUFDcEIsdUJBQXVCLEVBQ3ZCO1FBQ0ksS0FBSyxFQUFFLDBCQUEwQjtRQUNqQyxPQUFPLEVBQUUsNEJBQTRCO1FBQ3JDLE1BQU0sRUFBRSwyQkFBMkI7S0FDdEM7SUFDRCxVQUFVLEVBQ1YsRUFDQztDQUNKOzs7OztBQUtEO0lBZ0pJLGlFQUFpRTtJQUNqRSxpQ0FBZ0UsYUFBMkQsRUFDbkYsUUFBd0IsRUFDMUMsZUFBa0M7UUFEaEIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDMUMsb0JBQWUs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RyxhQUFBLElBQUksQ0FBQyxRQUFRLDBDQUFFLFVBQVUsMENBQUUsWUFBWSxrQkFBSSxJQUFJLENBQUMsUUFBUSwwQ0FBRSxVQUFVLDBDQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUMsRUFDN0c7WUFDSSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsYUFBQyxJQUFJLENBQUMsUUFBUSwwQ0FBRSxVQUFVLDBDQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUNyRztJQUNMLENBQUM7O2dCQW5TSixTQUFTLFNBQ1Y7b0JBQ0ksUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsME1BQW9DOztvQkFFcEMsVUFBVSxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQ2hDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7OztnREEwSWdCLFFBQVEsWUFBSSxNQUFNLFNBQUMsOEJBQThCO2dEQUNqRCxNQUFNLFNBQUMsUUFBUTtnQkF0THlFLGlCQUFpQjs7OzBCQWdIckgsS0FBSzt3QkFtQkwsS0FBSzsyQkFnQkwsS0FBSzsyQkFjTCxLQUFLOzhCQWdCTCxNQUFNOztJQXVKWCw4QkFBQztDQUFBLEFBcFNELElBb1NDO1NBNVJZLHVCQUF1Qjs7Ozs7OztJQU9oQyxnREFBZ0Q7Ozs7OztJQUtoRCxvREFBcUM7Ozs7OztJQUtyQywrQ0FBc0M7Ozs7OztJQUt0Qyx5Q0FBbUQ7Ozs7OztJQUtuRCw2REFBd0U7Ozs7OztJQUt4RSwyQ0FBMkI7Ozs7OztJQUszQiw0Q0FBdUM7Ozs7OztJQUt2Qyw0Q0FBdUM7Ozs7OztJQUt2QywyQ0FBaUU7Ozs7OztJQVFqRSx3REFBMkQ7Ozs7OztJQU0zRCxvREFBcUM7Ozs7O0lBd0VyQyw4Q0FDa0c7Ozs7O0lBSXRGLDJDQUFvRDs7Ozs7SUFDcEQsa0RBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPcHRpb25hbCwgSW5qZWN0LCBJbnB1dCwgVHlwZSwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7ZXh0ZW5kfSBmcm9tICdAanNjcnB0L2NvbW1vbic7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7RGF0ZVRpbWVWYWx1ZX0gZnJvbSAnLi4vLi4vLi4vbWlzYy9kYXRldGltZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0RBVEVfQVBJfSBmcm9tICcuLi8uLi8uLi9taXNjL3Rva2Vucyc7XHJcbmltcG9ydCB7RGF0ZUFwaX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQge0RhdGVUaW1lUGlja2VyLCBEYXRlVGltZVBpY2tlck9wdGlvbnN9IGZyb20gJy4uLy4uL21pc2MvZGF0ZXRpbWVQaWNrZXIuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtEQVRFX1RJTUVfUElDS0VSX0NPTkZJR1VSQVRJT059IGZyb20gJy4uLy4uL21pc2MvdG9rZW5zJztcclxuaW1wb3J0IHtEYXRlVGltZURheVBpY2tlckNvbXBvbmVudH0gZnJvbSAnLi4vZGF5UGlja2VyL2RheVBpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge0RhdGVUaW1lTW9udGhQaWNrZXJDb21wb25lbnR9IGZyb20gJy4uL21vbnRoUGlja2VyL21vbnRoUGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RGF0ZVRpbWVZZWFyUGlja2VyQ29tcG9uZW50fSBmcm9tICcuLi95ZWFyUGlja2VyL3llYXJQaWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtzY2FsZVVwRG93blRyaWdnZXJ9IGZyb20gJy4vcGlja2VyLmNvbXBvbmVudC5hbmltYXRpb25zJztcclxuXHJcbi8vVE9ETyAtIG1lcmdlIG9wdGlvbnNcclxuXHJcbi8qKlxyXG4gKiBEZWZhdWx0IGNvbmZpZ3VyYXRpb24gZm9yIHBpY2tlclxyXG4gKi9cclxuY29uc3QgZGVmYXVsdENvbmZpZ3VyYXRpb246IERhdGVUaW1lUGlja2VyT3B0aW9uczxEYXRlVGltZVBpY2tlcj4gPVxyXG57XHJcbiAgICBkZWZhdWx0UGVyaW9kOiAnZGF5JyxcclxuICAgIHBpY2tlclBlcmlvZHNEZWZpbml0aW9uOlxyXG4gICAge1xyXG4gICAgICAgIFwiZGF5XCI6IERhdGVUaW1lRGF5UGlja2VyQ29tcG9uZW50LFxyXG4gICAgICAgIFwibW9udGhcIjogRGF0ZVRpbWVNb250aFBpY2tlckNvbXBvbmVudCxcclxuICAgICAgICBcInllYXJcIjogRGF0ZVRpbWVZZWFyUGlja2VyQ29tcG9uZW50XHJcbiAgICB9LFxyXG4gICAgY3NzQ2xhc3NlczpcclxuICAgIHtcclxuICAgIH1cclxufTtcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnQgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRlIHRpbWUgcGlja2VyXHJcbiAqL1xyXG5AQ29tcG9uZW50KFxyXG57XHJcbiAgICBzZWxlY3RvcjogJ2RhdGUtdGltZS1waWNrZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgLy8gc3R5bGVVcmxzOiBbJ3BpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgYW5pbWF0aW9uczogW3NjYWxlVXBEb3duVHJpZ2dlcl0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQ8VERhdGUgPSBhbnk+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcclxue1xyXG4gICAgLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIHByb3RlY3RlZCBmaWVsZHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5zdGFuY2Ugb2YgYWN0aXZlIGRhdGUgdGltZSBwaWNrZXJcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF9hY3RpdmVQaWNrZXI/OiBEYXRlVGltZVBpY2tlcjxURGF0ZT47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBOYW1lLCBpZCBvZiBkaXNwbGF5ZWQgcGlja2VyXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBfYWN0aXZlUGlja2VyTmFtZSE6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEFycmF5IG9mIGF2YWlsYWJsZSBwaWNrZXIgbmFtZXNcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF9waWNrZXJOYW1lczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEN1cnJlbnQgc2VsZWN0ZWQgdmFsdWVcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF92YWx1ZTogRGF0ZVRpbWVWYWx1ZTxURGF0ZT58bnVsbCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBbGwgc3Vic2NyaXB0aW9ucyBmb3IgYWN0aXZlIHBpY2tlclxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX2FjdGl2ZVBpY2tlclN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIERhdGUgdGhhdCBzaG91bGQgYmUgZGlzcGxheWVkIGluIHBpY2tlciwgdXNlZCB3aGVuIG1vdmluZyB1cCBvciBkb3duIGluIHBlcmlvZHNcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF9kaXNwbGF5PzogVERhdGU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNaW5pbWFsIHBvc3NpYmxlIHZhbHVlIHRoYXQgY2FuIGJlIHBpY2tlZFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX21pblZhbHVlOiBURGF0ZXxudWxsID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE1heGltYWwgcG9zc2libGUgdmFsdWUgdGhhdCBjYW4gYmUgcGlja2VkXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBfbWF4VmFsdWU6IFREYXRlfG51bGwgPSBudWxsO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3VycmVudCBvcHRpb25zIHVzZWQgYnkgcGlja2VyXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBfb3B0aW9uczogRGF0ZVRpbWVQaWNrZXJPcHRpb25zPERhdGVUaW1lUGlja2VyPFREYXRlPj47XHJcblxyXG4gICAgLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIHB1YmxpYyBwcm9wZXJ0aWVzIC0gdGVtcGxhdGUgYmluZGluZ3MgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3VycmVudGx5IGFjdGl2ZSBkYXRlIHRpbWUgcGlja2VyIGNvbXBvbmVudCB0eXBlXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFjdGl2ZVBpY2tlckNvbXBvbmVudD86IFR5cGU8RGF0ZVRpbWVQaWNrZXI8VERhdGU+PjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEFjdGl2ZSBwaWNrZXIgaW5kZXhcclxuICAgICAqIEBpbnRlcm5hbFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWN0aXZlUGlja2VySW5kZXg6IG51bWJlciA9IDA7XHJcblxyXG4gICAgLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIHB1YmxpYyBwcm9wZXJ0aWVzIC0gaW5wdXRzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuXHJcbiAgICAvKipcclxuICAgICAqIEN1cnJlbnQgb3B0aW9ucyB1c2VkIGJ5IHBpY2tlclxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBvcHRpb25zKCk6IERhdGVUaW1lUGlja2VyT3B0aW9uczxEYXRlVGltZVBpY2tlcjxURGF0ZT4+XHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IG9wdGlvbnModmFsdWU6IERhdGVUaW1lUGlja2VyT3B0aW9uczxEYXRlVGltZVBpY2tlcjxURGF0ZT4+KVxyXG4gICAge1xyXG4gICAgICAgIHRoaXMuX29wdGlvbnMgPSBleHRlbmQodHJ1ZSwgdGhpcy5fb3B0aW9ucywgdmFsdWUpO1xyXG5cclxuICAgICAgICAvLyB3aXRob3V0IGRlZXAtY29weSBmb3IgdGhpcyBhdHRyaWJ1dGVcclxuICAgICAgICBpZiAodmFsdWU/LnBpY2tlclBlcmlvZHNEZWZpbml0aW9uKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5fb3B0aW9ucy5waWNrZXJQZXJpb2RzRGVmaW5pdGlvbiA9IHZhbHVlLnBpY2tlclBlcmlvZHNEZWZpbml0aW9uXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3VycmVudCBzZWxlY3RlZCB2YWx1ZVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiBEYXRlVGltZVZhbHVlPFREYXRlPnxudWxsXHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogRGF0ZVRpbWVWYWx1ZTxURGF0ZT58bnVsbClcclxuICAgIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG5cclxuICAgICAgICB0aGlzLl9hY3RpdmVQaWNrZXI/LnNldFZhbHVlKHZhbHVlKTtcclxuICAgICAgICB0aGlzLl9hY3RpdmVQaWNrZXI/LmludmFsaWRhdGVWaXN1YWxzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgbWluaW1hbCBwb3NzaWJsZSB2YWx1ZSBmb3IgcGlja2VyLCB0aGF0IGNhbiBiZSBwaWNrZWRcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgbWluVmFsdWUoKTogVERhdGV8bnVsbFxyXG4gICAge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9taW5WYWx1ZTtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgbWluVmFsdWUodmFsdWU6IFREYXRlfG51bGwpXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5fbWluVmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLl9hY3RpdmVQaWNrZXI/LnNldE1pblZhbHVlKHRoaXMuX21pblZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyBtYXhpbWFsIHBvc3NpYmxlIHZhbHVlIGZvciBwaWNrZXIsIHRoYXQgY2FuIGJlIHBpY2tlZFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBtYXhWYWx1ZSgpOiBURGF0ZXxudWxsXHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX21heFZhbHVlO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBtYXhWYWx1ZSh2YWx1ZTogVERhdGV8bnVsbClcclxuICAgIHtcclxuICAgICAgICB0aGlzLl9tYXhWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuX2FjdGl2ZVBpY2tlcj8uc2V0TWF4VmFsdWUodGhpcy5fbWF4VmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBwdWJsaWMgcHJvcGVydGllcyAtIG91dHB1dHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogT2NjdXJzIHdoZW4gdmFsdWUgY2hhbmdlc1xyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGVUaW1lVmFsdWU8VERhdGU+PiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVRpbWVWYWx1ZTxURGF0ZT4+KCk7XHJcblxyXG4gICAgLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIGNvbnN0cnVjdG9yICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoREFURV9USU1FX1BJQ0tFUl9DT05GSUdVUkFUSU9OKSBjb25maWd1cmF0aW9uOiBEYXRlVGltZVBpY2tlck9wdGlvbnM8RGF0ZVRpbWVQaWNrZXI8VERhdGU+PixcclxuICAgICAgICAgICAgICAgIEBJbmplY3QoREFURV9BUEkpIHByb3RlY3RlZCBfZGF0ZUFwaTogRGF0ZUFwaTxURGF0ZT4sXHJcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZilcclxuICAgIHtcclxuICAgICAgICB0aGlzLl9vcHRpb25zID0gZXh0ZW5kKHRydWUsIHt9LCBkZWZhdWx0Q29uZmlndXJhdGlvbiwgY29uZmlndXJhdGlvbik7XHJcbiAgICAgICAgLy8gd2l0aG91dCBkZWVwLWNvcHkgZm9yIHRoaXMgYXR0cmlidXRlXHJcbiAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24/LnBpY2tlclBlcmlvZHNEZWZpbml0aW9uKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5fb3B0aW9ucy5waWNrZXJQZXJpb2RzRGVmaW5pdGlvbiA9IGNvbmZpZ3VyYXRpb24ucGlja2VyUGVyaW9kc0RlZmluaXRpb25cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIHB1YmxpYyBtZXRob2RzIC0gaW1wbGVtZW50YXRpb24gb2YgT25Jbml0ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemUgY29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpXHJcbiAgICB7XHJcbiAgICAgICAgaWYgKHRoaXMuX29wdGlvbnMucGlja2VyUGVyaW9kc09yZGVyKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5fb3B0aW9ucy5waWNrZXJQZXJpb2RzT3JkZXIpKVxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9waWNrZXJOYW1lcyA9IHRoaXMuX29wdGlvbnMucGlja2VyUGVyaW9kc09yZGVyXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9waWNrZXJOYW1lcyA9IHRoaXMuX29wdGlvbnMucGlja2VyUGVyaW9kc09yZGVyLnNwbGl0KCcsJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCh4ID0+IHgudHJpbSgpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKHggPT4geClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5fcGlja2VyTmFtZXMgJiYgdGhpcy5fcGlja2VyTmFtZXMubGVuZ3RoID4gMClcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMuX3BpY2tlck5hbWVzLmZvckVhY2goeCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZighdGhpcy5fb3B0aW9ucy5waWNrZXJQZXJpb2RzRGVmaW5pdGlvbiFbeCFdKVxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlcmUgaXMgbm8gcGVyaW9kICcke3h9JyBpbiBwaWNrZXIgb3B0aW9uc2ApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aGlzLl9waWNrZXJOYW1lcyA9IE9iamVjdC5rZXlzKHRoaXMuX29wdGlvbnMucGlja2VyUGVyaW9kc0RlZmluaXRpb24hKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKHRoaXMuX3BpY2tlck5hbWVzLmZpbmRJbmRleCh4ID0+IHggPT0gdGhpcy5fb3B0aW9ucy5kZWZhdWx0UGVyaW9kKSA8IDApXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZXJlIGlzIG5vIHBlcmlvZCAnJHt0aGlzLl9vcHRpb25zLmRlZmF1bHRQZXJpb2R9JyBpbiBwaWNrZXIgb3B0aW9uc2ApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5hY3RpdmVQaWNrZXJDb21wb25lbnQgPSB0aGlzLl9vcHRpb25zLnBpY2tlclBlcmlvZHNEZWZpbml0aW9uIVt0aGlzLl9vcHRpb25zLmRlZmF1bHRQZXJpb2QhXTtcclxuICAgICAgICB0aGlzLl9hY3RpdmVQaWNrZXJOYW1lID0gdGhpcy5fb3B0aW9ucy5kZWZhdWx0UGVyaW9kITtcclxuICAgICAgICB0aGlzLmFjdGl2ZVBpY2tlckluZGV4ID0gdGhpcy5fcGlja2VyTmFtZXMuaW5kZXhPZih0aGlzLl9hY3RpdmVQaWNrZXJOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgcHVibGljIG1ldGhvZHMgLSBpbXBsZW1lbnRhdGlvbiBvZiBPbkRlc3Ryb3kgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsbGVkIHdoZW4gY29tcG9uZW50IGlzIGRlc3Ryb3llZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKVxyXG4gICAge1xyXG4gICAgICAgIHRoaXMuX2Rpc3BsYXkgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5fYWN0aXZlUGlja2VyU3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBwdWJsaWMgbWV0aG9kcyAtIHRlbXBsYXRlIGJpbmRpbmdzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuXHJcbiAgICAvKipcclxuICAgICAqIEhhbmRsZXMgY3JlYXRlZCBvciBkZXN0cm95ZWQgZGF0ZSB0aW1lIHBpY2tlciBpbnN0YW5jZVxyXG4gICAgICogQHBhcmFtIHBpY2tlciAtIEluc3RhbmNlIG9mIHBpY2tlciBvciBudWxsXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgcHVibGljIHBpY2tlckNyZWF0ZWQocGlja2VyOiBEYXRlVGltZVBpY2tlcjxURGF0ZT4pXHJcbiAgICB7XHJcbiAgICAgICAgaWYocGlja2VyID09IHRoaXMuX2FjdGl2ZVBpY2tlcilcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX2FjdGl2ZVBpY2tlciA9IHBpY2tlcjtcclxuXHJcbiAgICAgICAgdGhpcy5fYWN0aXZlUGlja2VyU3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIHRoaXMuX2FjdGl2ZVBpY2tlclN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gICAgICAgIGlmKCF0aGlzLl9hY3RpdmVQaWNrZXIpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9hY3RpdmVQaWNrZXJTdWJzY3JpcHRpb25zLmFkZChwaWNrZXIudmFsdWVDaGFuZ2Uuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHBpY2tlci52YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlISk7XHJcbiAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICB0aGlzLl9hY3RpdmVQaWNrZXJTdWJzY3JpcHRpb25zLmFkZChwaWNrZXIuc2NhbGVVcC5zdWJzY3JpYmUoZGlzcGxheSA9PlxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5fZGlzcGxheSA9IGRpc3BsYXk7XHJcbiAgICAgICAgICAgIGxldCBpbmRleCA9IHRoaXMuX3BpY2tlck5hbWVzLmluZGV4T2YodGhpcy5fYWN0aXZlUGlja2VyTmFtZSkgKyAxO1xyXG4gICAgICAgICAgICB0aGlzLl9hY3RpdmVQaWNrZXJOYW1lID0gdGhpcy5fcGlja2VyTmFtZXNbaW5kZXhdO1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVBpY2tlckluZGV4ID0gdGhpcy5fcGlja2VyTmFtZXMuaW5kZXhPZih0aGlzLl9hY3RpdmVQaWNrZXJOYW1lKTtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmVQaWNrZXJDb21wb25lbnQgPSB0aGlzLl9vcHRpb25zLnBpY2tlclBlcmlvZHNEZWZpbml0aW9uIVt0aGlzLl9hY3RpdmVQaWNrZXJOYW1lXTtcclxuICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgIHRoaXMuX2FjdGl2ZVBpY2tlclN1YnNjcmlwdGlvbnMuYWRkKHBpY2tlci5zY2FsZURvd24uc3Vic2NyaWJlKGRpc3BsYXkgPT5cclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Rpc3BsYXkgPSBkaXNwbGF5O1xyXG4gICAgICAgICAgICBsZXQgaW5kZXggPSB0aGlzLl9waWNrZXJOYW1lcy5pbmRleE9mKHRoaXMuX2FjdGl2ZVBpY2tlck5hbWUpIC0gMTtcclxuICAgICAgICAgICAgdGhpcy5fYWN0aXZlUGlja2VyTmFtZSA9IHRoaXMuX3BpY2tlck5hbWVzW2luZGV4XTtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmVQaWNrZXJJbmRleCA9IHRoaXMuX3BpY2tlck5hbWVzLmluZGV4T2YodGhpcy5fYWN0aXZlUGlja2VyTmFtZSk7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlUGlja2VyQ29tcG9uZW50ID0gdGhpcy5fb3B0aW9ucy5waWNrZXJQZXJpb2RzRGVmaW5pdGlvbiFbdGhpcy5fYWN0aXZlUGlja2VyTmFtZV07XHJcbiAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICBwaWNrZXIuc2V0Q2FuR29Eb3duKHRoaXMuX3BpY2tlck5hbWVzLmluZGV4T2YodGhpcy5fYWN0aXZlUGlja2VyTmFtZSkgPiAwKTtcclxuICAgICAgICBwaWNrZXIuc2V0Q2FuR29VcCh0aGlzLl9waWNrZXJOYW1lcy5pbmRleE9mKHRoaXMuX2FjdGl2ZVBpY2tlck5hbWUpIDwgdGhpcy5fcGlja2VyTmFtZXMubGVuZ3RoIC0gMSk7XHJcblxyXG4gICAgICAgIHRoaXMuX3NldFBpY2tlckNzc0NsYXNzZXMoKTtcclxuICAgICAgICBwaWNrZXIuc2V0VmFsdWUodGhpcy5fdmFsdWUpO1xyXG4gICAgICAgIHBpY2tlci5zZXRNaW5WYWx1ZSh0aGlzLl9taW5WYWx1ZSk7XHJcbiAgICAgICAgcGlja2VyLnNldE1heFZhbHVlKHRoaXMuX21heFZhbHVlKTtcclxuICAgICAgICBwaWNrZXIuZGlzcGxheSh0aGlzLl9kaXNwbGF5ID8gdGhpcy5fZGF0ZUFwaS5nZXRWYWx1ZSh0aGlzLl9kaXNwbGF5KSA6IHRoaXMuX2RhdGVBcGkuZ2V0VmFsdWUodGhpcy5fdmFsdWU/LmZyb20gPz8gdGhpcy5fZGF0ZUFwaS5ub3coKS52YWx1ZSkpO1xyXG5cclxuICAgICAgICBwaWNrZXIuaW52YWxpZGF0ZVZpc3VhbHMoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgcHJvdGVjdGVkIG1ldGhvZHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyBwaWNrZXIgY3NzIGNsYXNzZXNcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF9zZXRQaWNrZXJDc3NDbGFzc2VzKClcclxuICAgIHtcclxuICAgICAgICBpZighdGhpcy5fYWN0aXZlUGlja2VyKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy9zZXRzIHNoYXJlZCBjc3NcclxuICAgICAgICB0aGlzLl9hY3RpdmVQaWNrZXIuc2V0Q3NzQ2xhc3Nlcyh0aGlzLl9vcHRpb25zPy5jc3NDbGFzc2VzPy5waWNrZXJTaGFyZWQgPz8ge30pO1xyXG5cclxuICAgICAgICBpZih0aGlzLl9vcHRpb25zPy5jc3NDbGFzc2VzPy5waWNrZXJDdXN0b20gJiYgdGhpcy5fb3B0aW9ucz8uY3NzQ2xhc3Nlcz8ucGlja2VyQ3VzdG9tW3RoaXMuX2FjdGl2ZVBpY2tlck5hbWVdKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5fYWN0aXZlUGlja2VyLnNldENzc0NsYXNzZXModGhpcy5fb3B0aW9ucz8uY3NzQ2xhc3Nlcz8ucGlja2VyQ3VzdG9tW3RoaXMuX2FjdGl2ZVBpY2tlck5hbWVdKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19