@anglr/datetime 2.0.0-beta.20220221103100 → 2.0.0-beta.20220221120606

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,561 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: src/picker/components/pickerBase.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { ChangeDetectorRef, Directive, HostListener, Inject } from '@angular/core';
7
- import { extend } from '@jscrpt/common';
8
- import { Subject } from 'rxjs';
9
- import { DATE_API } from '../../misc/tokens';
10
- /**
11
- * Base class used as base for picker
12
- * @abstract
13
- * @template TDate, TDateData, TCssClasses
14
- */
15
- var PickerBaseComponent = /** @class */ (function () {
16
- //######################### constructor #########################
17
- function PickerBaseComponent(_dateApi, _changeDetector) {
18
- this._dateApi = _dateApi;
19
- this._changeDetector = _changeDetector;
20
- //######################### protected fields #########################
21
- /**
22
- * Current value of datetime
23
- */
24
- this._value = null;
25
- /**
26
- * Occurs when value changes
27
- */
28
- this._valueChange = new Subject();
29
- /**
30
- * Occurs when user scales up
31
- */
32
- this._scaleUp = new Subject();
33
- /**
34
- * Occurs when user scales down
35
- */
36
- this._scaleDown = new Subject();
37
- /**
38
- * Minimal possible value that can be picked
39
- */
40
- this._minValue = null;
41
- /**
42
- * Maximal possible value that can be picked
43
- */
44
- this._maxValue = null;
45
- //######################### public properties - template bindings #########################
46
- /**
47
- * Date api instance for displayed date
48
- * \@internal
49
- */
50
- this.displayDate = null;
51
- /**
52
- * Indication whether can go up in period
53
- * \@internal
54
- */
55
- this.canGoUp = false;
56
- /**
57
- * Indication whether can go down in period
58
- * \@internal
59
- */
60
- this.canGoDown = false;
61
- /**
62
- * Array of period data to be displayed
63
- * \@internal
64
- */
65
- this.periodData = [];
66
- }
67
- Object.defineProperty(PickerBaseComponent.prototype, "value", {
68
- //######################### public properties - implementation of DateTimePicker #########################
69
- /**
70
- * Gets current value of datetime
71
- */
72
- get:
73
- //######################### public properties - implementation of DateTimePicker #########################
74
- /**
75
- * Gets current value of datetime
76
- * @return {?}
77
- */
78
- function () {
79
- return this._value;
80
- },
81
- enumerable: false,
82
- configurable: true
83
- });
84
- Object.defineProperty(PickerBaseComponent.prototype, "valueChange", {
85
- /**
86
- * Occurs when value changes
87
- */
88
- get: /**
89
- * Occurs when value changes
90
- * @return {?}
91
- */
92
- function () {
93
- return this._valueChange.asObservable();
94
- },
95
- enumerable: false,
96
- configurable: true
97
- });
98
- Object.defineProperty(PickerBaseComponent.prototype, "scaleUp", {
99
- /**
100
- * Occurs when user scales up
101
- */
102
- get: /**
103
- * Occurs when user scales up
104
- * @return {?}
105
- */
106
- function () {
107
- return this._scaleUp.asObservable();
108
- },
109
- enumerable: false,
110
- configurable: true
111
- });
112
- Object.defineProperty(PickerBaseComponent.prototype, "scaleDown", {
113
- /**
114
- * Occurs when user scales down
115
- */
116
- get: /**
117
- * Occurs when user scales down
118
- * @return {?}
119
- */
120
- function () {
121
- return this._scaleDown.asObservable();
122
- },
123
- enumerable: false,
124
- configurable: true
125
- });
126
- //######################### public methods - template bindings #########################
127
- /**
128
- * Changes displayed period to "higher" period
129
- * @param event - Event that occured
130
- * @internal
131
- */
132
- //######################### public methods - template bindings #########################
133
- /**
134
- * Changes displayed period to "higher" period
135
- * \@internal
136
- * @param {?} event - Event that occured
137
- * @return {?}
138
- */
139
- PickerBaseComponent.prototype.goUp =
140
- //######################### public methods - template bindings #########################
141
- /**
142
- * Changes displayed period to "higher" period
143
- * \@internal
144
- * @param {?} event - Event that occured
145
- * @return {?}
146
- */
147
- function (event) {
148
- event.preventDefault();
149
- if (!this.canGoUp) {
150
- return;
151
- }
152
- this._scaleUp.next((/** @type {?} */ (this.displayDate)).value);
153
- };
154
- /**
155
- * Selects period
156
- * @param event - Event that occured
157
- * @param period - Selected period
158
- * @internal
159
- */
160
- /**
161
- * Selects period
162
- * \@internal
163
- * @param {?} event - Event that occured
164
- * @param {?} period - Selected period
165
- * @return {?}
166
- */
167
- PickerBaseComponent.prototype.select = /**
168
- * Selects period
169
- * \@internal
170
- * @param {?} event - Event that occured
171
- * @param {?} period - Selected period
172
- * @return {?}
173
- */
174
- function (event, period) {
175
- event.preventDefault();
176
- if (period.disabled) {
177
- return;
178
- }
179
- //handle selection of value
180
- if (!this.canGoDown) {
181
- this._setPeriod(period);
182
- this._value =
183
- {
184
- from: period.date,
185
- to: this._endOfPeriod(period)
186
- };
187
- this._valueChange.next();
188
- return;
189
- }
190
- this._scaleDown.next(period.date);
191
- };
192
- //######################### public methods - implementation of DateTimePicker #########################
193
- /**
194
- * Sets css classes for picker, allowing to override defaults
195
- * @param cssClasses - Css classes to be set for picker
196
- */
197
- //######################### public methods - implementation of DateTimePicker #########################
198
- /**
199
- * Sets css classes for picker, allowing to override defaults
200
- * @param {?} cssClasses - Css classes to be set for picker
201
- * @return {?}
202
- */
203
- PickerBaseComponent.prototype.setCssClasses =
204
- //######################### public methods - implementation of DateTimePicker #########################
205
- /**
206
- * Sets css classes for picker, allowing to override defaults
207
- * @param {?} cssClasses - Css classes to be set for picker
208
- * @return {?}
209
- */
210
- function (cssClasses) {
211
- this.cssClasses = extend(true, {}, this.cssClasses, cssClasses);
212
- };
213
- /**
214
- * Sets minimal possible value for picker, that can be picked
215
- * @param value - Minimal possible value that can be picked
216
- */
217
- /**
218
- * Sets minimal possible value for picker, that can be picked
219
- * @param {?} value - Minimal possible value that can be picked
220
- * @return {?}
221
- */
222
- PickerBaseComponent.prototype.setMinValue = /**
223
- * Sets minimal possible value for picker, that can be picked
224
- * @param {?} value - Minimal possible value that can be picked
225
- * @return {?}
226
- */
227
- function (value) {
228
- this._minValue = value;
229
- this._updateMinMax();
230
- };
231
- /**
232
- * Sets maximal possible value for picker, that can be picked
233
- * @param value - Maximal possible value that can be picked
234
- */
235
- /**
236
- * Sets maximal possible value for picker, that can be picked
237
- * @param {?} value - Maximal possible value that can be picked
238
- * @return {?}
239
- */
240
- PickerBaseComponent.prototype.setMaxValue = /**
241
- * Sets maximal possible value for picker, that can be picked
242
- * @param {?} value - Maximal possible value that can be picked
243
- * @return {?}
244
- */
245
- function (value) {
246
- this._maxValue = value;
247
- this._updateMinMax();
248
- };
249
- /**
250
- * Sets value of datetime picker
251
- * @param value - Value to be set to this picker
252
- */
253
- /**
254
- * Sets value of datetime picker
255
- * @param {?} value - Value to be set to this picker
256
- * @return {?}
257
- */
258
- PickerBaseComponent.prototype.setValue = /**
259
- * Sets value of datetime picker
260
- * @param {?} value - Value to be set to this picker
261
- * @return {?}
262
- */
263
- function (value) {
264
- this._value = value;
265
- //value is present
266
- if (this._value && this.displayDate) {
267
- /** @type {?} */
268
- var val = this._dateApi.getValue(this._value.from);
269
- //change picker to value
270
- if (!this._isSamePeriodAsDisplayed(val)) {
271
- this.display(val);
272
- return;
273
- }
274
- /** @type {?} */
275
- var period = this._getPeriodData(val);
276
- //was initialized
277
- if (period) {
278
- this._setPeriod(period);
279
- }
280
- }
281
- };
282
- /**
283
- * Sets indication whether can go down
284
- * @param value - Indication whether can go down in period
285
- */
286
- /**
287
- * Sets indication whether can go down
288
- * @param {?} value - Indication whether can go down in period
289
- * @return {?}
290
- */
291
- PickerBaseComponent.prototype.setCanGoDown = /**
292
- * Sets indication whether can go down
293
- * @param {?} value - Indication whether can go down in period
294
- * @return {?}
295
- */
296
- function (value) {
297
- this.canGoDown = value;
298
- };
299
- /**
300
- * Sets indication whether can go up
301
- * @param value - Indication whether can go up in period
302
- */
303
- /**
304
- * Sets indication whether can go up
305
- * @param {?} value - Indication whether can go up in period
306
- * @return {?}
307
- */
308
- PickerBaseComponent.prototype.setCanGoUp = /**
309
- * Sets indication whether can go up
310
- * @param {?} value - Indication whether can go up in period
311
- * @return {?}
312
- */
313
- function (value) {
314
- this.canGoUp = value;
315
- };
316
- /**
317
- * Explicitly runs invalidation of content (change detection)
318
- */
319
- /**
320
- * Explicitly runs invalidation of content (change detection)
321
- * @return {?}
322
- */
323
- PickerBaseComponent.prototype.invalidateVisuals = /**
324
- * Explicitly runs invalidation of content (change detection)
325
- * @return {?}
326
- */
327
- function () {
328
- this._changeDetector.detectChanges();
329
- };
330
- //######################### public methods - host #########################
331
- /**
332
- * Handles click anyway in picker, that blocks blur
333
- * @param event - Event that occured
334
- * @internal
335
- */
336
- //######################### public methods - host #########################
337
- /**
338
- * Handles click anyway in picker, that blocks blur
339
- * \@internal
340
- * @param {?} event - Event that occured
341
- * @return {?}
342
- */
343
- PickerBaseComponent.prototype.handleClick =
344
- //######################### public methods - host #########################
345
- /**
346
- * Handles click anyway in picker, that blocks blur
347
- * \@internal
348
- * @param {?} event - Event that occured
349
- * @return {?}
350
- */
351
- function (event) {
352
- event.preventDefault();
353
- };
354
- //######################### protected methods #########################
355
- /**
356
- * Sets period as active
357
- * @param period - Period to be set as active
358
- */
359
- //######################### protected methods #########################
360
- /**
361
- * Sets period as active
362
- * @protected
363
- * @param {?} period - Period to be set as active
364
- * @return {?}
365
- */
366
- PickerBaseComponent.prototype._setPeriod =
367
- //######################### protected methods #########################
368
- /**
369
- * Sets period as active
370
- * @protected
371
- * @param {?} period - Period to be set as active
372
- * @return {?}
373
- */
374
- function (period) {
375
- this.periodData.forEach((/**
376
- * @param {?} itm
377
- * @return {?}
378
- */
379
- function (itm) { return itm.active = false; }));
380
- period.active = true;
381
- };
382
- /**
383
- * Updates minimal and maximal value for picker
384
- */
385
- /**
386
- * Updates minimal and maximal value for picker
387
- * @protected
388
- * @return {?}
389
- */
390
- PickerBaseComponent.prototype._updateMinMax = /**
391
- * Updates minimal and maximal value for picker
392
- * @protected
393
- * @return {?}
394
- */
395
- function () {
396
- var _this = this;
397
- if (!this.periodData.length) {
398
- return;
399
- }
400
- //no min, no max
401
- if (!this._minValue && !this._maxValue) {
402
- this.periodData.forEach((/**
403
- * @param {?} itm
404
- * @return {?}
405
- */
406
- function (itm) { return itm.disabled = false; }));
407
- return;
408
- }
409
- /** @type {?} */
410
- var minDateApi = this._minValue ? this._dateApi.getValue(this._minValue) : null;
411
- /** @type {?} */
412
- var maxDateApi = this._maxValue ? this._dateApi.getValue(this._maxValue) : null;
413
- /** @type {?} */
414
- var restAfter = false;
415
- this.periodData.forEach((/**
416
- * @param {?} period
417
- * @return {?}
418
- */
419
- function (period) {
420
- if (!!minDateApi && minDateApi.isAfter(period.date) && !_this._isSamePeriod(minDateApi, period.date)) {
421
- period.disabled = true;
422
- }
423
- if (restAfter || (!!maxDateApi && maxDateApi.isBefore(period.date) && !_this._isSamePeriod(maxDateApi, period.date))) {
424
- restAfter = true;
425
- period.disabled = true;
426
- }
427
- }));
428
- };
429
- PickerBaseComponent.decorators = [
430
- { type: Directive }
431
- ];
432
- /** @nocollapse */
433
- PickerBaseComponent.ctorParameters = function () { return [
434
- { type: undefined, decorators: [{ type: Inject, args: [DATE_API,] }] },
435
- { type: ChangeDetectorRef }
436
- ]; };
437
- PickerBaseComponent.propDecorators = {
438
- handleClick: [{ type: HostListener, args: ['mousedown', ['$event'],] }]
439
- };
440
- return PickerBaseComponent;
441
- }());
442
- export { PickerBaseComponent };
443
- if (false) {
444
- /**
445
- * Current value of datetime
446
- * @type {?}
447
- * @protected
448
- */
449
- PickerBaseComponent.prototype._value;
450
- /**
451
- * Occurs when value changes
452
- * @type {?}
453
- * @protected
454
- */
455
- PickerBaseComponent.prototype._valueChange;
456
- /**
457
- * Occurs when user scales up
458
- * @type {?}
459
- * @protected
460
- */
461
- PickerBaseComponent.prototype._scaleUp;
462
- /**
463
- * Occurs when user scales down
464
- * @type {?}
465
- * @protected
466
- */
467
- PickerBaseComponent.prototype._scaleDown;
468
- /**
469
- * Minimal possible value that can be picked
470
- * @type {?}
471
- * @protected
472
- */
473
- PickerBaseComponent.prototype._minValue;
474
- /**
475
- * Maximal possible value that can be picked
476
- * @type {?}
477
- * @protected
478
- */
479
- PickerBaseComponent.prototype._maxValue;
480
- /**
481
- * Date api instance for displayed date
482
- * \@internal
483
- * @type {?}
484
- */
485
- PickerBaseComponent.prototype.displayDate;
486
- /**
487
- * Indication whether can go up in period
488
- * \@internal
489
- * @type {?}
490
- */
491
- PickerBaseComponent.prototype.canGoUp;
492
- /**
493
- * Indication whether can go down in period
494
- * \@internal
495
- * @type {?}
496
- */
497
- PickerBaseComponent.prototype.canGoDown;
498
- /**
499
- * Array of period data to be displayed
500
- * \@internal
501
- * @type {?}
502
- */
503
- PickerBaseComponent.prototype.periodData;
504
- /**
505
- * Css classes that are used within picker
506
- * \@internal
507
- * @type {?}
508
- */
509
- PickerBaseComponent.prototype.cssClasses;
510
- /**
511
- * @type {?}
512
- * @protected
513
- */
514
- PickerBaseComponent.prototype._dateApi;
515
- /**
516
- * @type {?}
517
- * @protected
518
- */
519
- PickerBaseComponent.prototype._changeDetector;
520
- /**
521
- * Set displays date to be displayed
522
- * @abstract
523
- * @param {?} value - Value that identifies period that is going to be displayed
524
- * @return {?}
525
- */
526
- PickerBaseComponent.prototype.display = function (value) { };
527
- /**
528
- * Obtains end of period
529
- * @abstract
530
- * @protected
531
- * @param {?} period - Period for which should be end obtained
532
- * @return {?}
533
- */
534
- PickerBaseComponent.prototype._endOfPeriod = function (period) { };
535
- /**
536
- * Tests whether provided value is in same period as displayed picker
537
- * @abstract
538
- * @protected
539
- * @param {?} val - Tested value for same period as displayed picker
540
- * @return {?}
541
- */
542
- PickerBaseComponent.prototype._isSamePeriodAsDisplayed = function (val) { };
543
- /**
544
- * Tests whether provided value is in same period target value
545
- * @abstract
546
- * @protected
547
- * @param {?} val - Tested value
548
- * @param {?} target - Target value to be tested against
549
- * @return {?}
550
- */
551
- PickerBaseComponent.prototype._isSamePeriod = function (val, target) { };
552
- /**
553
- * Gets period data for specified value
554
- * @abstract
555
- * @protected
556
- * @param {?} val - Value for which is period data obtained
557
- * @return {?}
558
- */
559
- PickerBaseComponent.prototype._getPeriodData = function (val) { };
560
- }
561
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyQmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcGlja2VyL2NvbXBvbmVudHMvcGlja2VyQmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBYSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFHekMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7QUFPM0M7SUFxR0ksaUVBQWlFO0lBQ2pFLDZCQUF3QyxRQUF3QixFQUMxQyxlQUFrQztRQURoQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUMxQyxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7Ozs7O1FBL0Y5QyxXQUFNLEdBQThCLElBQUksQ0FBQzs7OztRQUt6QyxpQkFBWSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDOzs7O1FBS2xELGFBQVEsR0FBbUIsSUFBSSxPQUFPLEVBQVMsQ0FBQzs7OztRQUtoRCxlQUFVLEdBQW1CLElBQUksT0FBTyxFQUFTLENBQUM7Ozs7UUFLbEQsY0FBUyxHQUFlLElBQUksQ0FBQzs7OztRQUs3QixjQUFTLEdBQWUsSUFBSSxDQUFDOzs7Ozs7UUEwQ2hDLGdCQUFXLEdBQThCLElBQUksQ0FBQzs7Ozs7UUFNOUMsWUFBTyxHQUFZLEtBQUssQ0FBQzs7Ozs7UUFNekIsY0FBUyxHQUFZLEtBQUssQ0FBQzs7Ozs7UUFNM0IsZUFBVSxHQUFnQixFQUFFLENBQUM7SUFZcEMsQ0FBQztJQWpFRCxzQkFBVyxzQ0FBSztRQUxoQiwwR0FBMEc7UUFFMUc7O1dBRUc7Ozs7Ozs7UUFDSDtZQUVJLE9BQU8sSUFBSSxDQUFDLE1BQU0s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LENBQUM7SUFDUCxDQUFDOztnQkEzVEosU0FBUzs7OztnREFzR08sTUFBTSxTQUFDLFFBQVE7Z0JBbEh4QixpQkFBaUI7Ozs4QkFpUnBCLFlBQVksU0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0lBZ0Z6QywwQkFBQztDQUFBLEFBclZELElBcVZDO1NBcFZxQixtQkFBbUI7Ozs7Ozs7SUFPckMscUNBQW1EOzs7Ozs7SUFLbkQsMkNBQTREOzs7Ozs7SUFLNUQsdUNBQTBEOzs7Ozs7SUFLMUQseUNBQTREOzs7Ozs7SUFLNUQsd0NBQXVDOzs7Ozs7SUFLdkMsd0NBQXVDOzs7Ozs7SUEwQ3ZDLDBDQUFxRDs7Ozs7O0lBTXJELHNDQUFnQzs7Ozs7O0lBTWhDLHdDQUFrQzs7Ozs7O0lBTWxDLHlDQUFvQzs7Ozs7O0lBTXBDLHlDQUFnQzs7Ozs7SUFHcEIsdUNBQW9EOzs7OztJQUNwRCw4Q0FBNEM7Ozs7Ozs7SUEySHhELDZEQUEyRDs7Ozs7Ozs7SUErRjNELG1FQUFrRTs7Ozs7Ozs7SUFNbEUsNEVBQWdGOzs7Ozs7Ozs7SUFPaEYseUVBQW9GOzs7Ozs7OztJQU1wRixrRUFBZ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtleHRlbmR9IGZyb20gJ0Bqc2NycHQvY29tbW9uJztcclxuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7RGF0ZVRpbWVWYWx1ZX0gZnJvbSAnLi4vLi4vbWlzYy9kYXRldGltZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0RBVEVfQVBJfSBmcm9tICcuLi8uLi9taXNjL3Rva2Vucyc7XHJcbmltcG9ydCB7RGF0ZUFwaSwgRGF0ZUFwaU9iamVjdH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0ZUFwaS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0RhdGVUaW1lUGlja2VyLCBQZXJpb2REYXRhfSBmcm9tICcuLi9taXNjL2RhdGV0aW1lUGlja2VyLmludGVyZmFjZSc7XHJcblxyXG4vKipcclxuICogQmFzZSBjbGFzcyB1c2VkIGFzIGJhc2UgZm9yIHBpY2tlclxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQaWNrZXJCYXNlQ29tcG9uZW50PFREYXRlID0gYW55LCBURGF0ZURhdGEgZXh0ZW5kcyBQZXJpb2REYXRhPFREYXRlPiA9IGFueSwgVENzc0NsYXNzZXMgPSBvYmplY3Q+IGltcGxlbWVudHMgRGF0ZVRpbWVQaWNrZXI8VERhdGUsIFRDc3NDbGFzc2VzPlxyXG57XHJcbiAgICAvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgcHJvdGVjdGVkIGZpZWxkcyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDdXJyZW50IHZhbHVlIG9mIGRhdGV0aW1lXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBfdmFsdWU6IERhdGVUaW1lVmFsdWU8VERhdGU+fG51bGwgPSBudWxsO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogT2NjdXJzIHdoZW4gdmFsdWUgY2hhbmdlc1xyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX3ZhbHVlQ2hhbmdlOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBPY2N1cnMgd2hlbiB1c2VyIHNjYWxlcyB1cFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX3NjYWxlVXA6IFN1YmplY3Q8VERhdGU+ID0gbmV3IFN1YmplY3Q8VERhdGU+KCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPY2N1cnMgd2hlbiB1c2VyIHNjYWxlcyBkb3duXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBfc2NhbGVEb3duOiBTdWJqZWN0PFREYXRlPiA9IG5ldyBTdWJqZWN0PFREYXRlPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWluaW1hbCBwb3NzaWJsZSB2YWx1ZSB0aGF0IGNhbiBiZSBwaWNrZWRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF9taW5WYWx1ZTogVERhdGV8bnVsbCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNYXhpbWFsIHBvc3NpYmxlIHZhbHVlIHRoYXQgY2FuIGJlIHBpY2tlZFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX21heFZhbHVlOiBURGF0ZXxudWxsID0gbnVsbDtcclxuXHJcbiAgICAvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgcHVibGljIHByb3BlcnRpZXMgLSBpbXBsZW1lbnRhdGlvbiBvZiBEYXRlVGltZVBpY2tlciAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIGN1cnJlbnQgdmFsdWUgb2YgZGF0ZXRpbWVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiBEYXRlVGltZVZhbHVlPFREYXRlPnxudWxsXHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT2NjdXJzIHdoZW4gdmFsdWUgY2hhbmdlc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHZhbHVlQ2hhbmdlKCk6IE9ic2VydmFibGU8dm9pZD5cclxuICAgIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWVDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPY2N1cnMgd2hlbiB1c2VyIHNjYWxlcyB1cFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHNjYWxlVXAoKTogT2JzZXJ2YWJsZTxURGF0ZT5cclxuICAgIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2NhbGVVcC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9jY3VycyB3aGVuIHVzZXIgc2NhbGVzIGRvd25cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBzY2FsZURvd24oKTogT2JzZXJ2YWJsZTxURGF0ZT5cclxuICAgIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2NhbGVEb3duLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBwdWJsaWMgcHJvcGVydGllcyAtIHRlbXBsYXRlIGJpbmRpbmdzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuXHJcbiAgICAvKipcclxuICAgICAqIERhdGUgYXBpIGluc3RhbmNlIGZvciBkaXNwbGF5ZWQgZGF0ZVxyXG4gICAgICogQGludGVybmFsXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkaXNwbGF5RGF0ZTogRGF0ZUFwaU9iamVjdDxURGF0ZT58bnVsbCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0aW9uIHdoZXRoZXIgY2FuIGdvIHVwIGluIHBlcmlvZFxyXG4gICAgICogQGludGVybmFsXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjYW5Hb1VwOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0aW9uIHdoZXRoZXIgY2FuIGdvIGRvd24gaW4gcGVyaW9kXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNhbkdvRG93bjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQXJyYXkgb2YgcGVyaW9kIGRhdGEgdG8gYmUgZGlzcGxheWVkXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgcHVibGljIHBlcmlvZERhdGE6IFREYXRlRGF0YVtdID0gW107XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDc3MgY2xhc3NlcyB0aGF0IGFyZSB1c2VkIHdpdGhpbiBwaWNrZXJcclxuICAgICAqIEBpbnRlcm5hbFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY3NzQ2xhc3NlcyE6IFRDc3NDbGFzc2VzO1xyXG5cclxuICAgIC8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBjb25zdHJ1Y3RvciAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KERBVEVfQVBJKSBwcm90ZWN0ZWQgX2RhdGVBcGk6IERhdGVBcGk8VERhdGU+LFxyXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpXHJcbiAgICB7XHJcbiAgICB9XHJcblxyXG4gICAgLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIHB1YmxpYyBtZXRob2RzIC0gdGVtcGxhdGUgYmluZGluZ3MgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2hhbmdlcyBkaXNwbGF5ZWQgcGVyaW9kIHRvIFwiaGlnaGVyXCIgcGVyaW9kXHJcbiAgICAgKiBAcGFyYW0gZXZlbnQgLSBFdmVudCB0aGF0IG9jY3VyZWRcclxuICAgICAqIEBpbnRlcm5hbFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ29VcChldmVudDogRXZlbnQpXHJcbiAgICB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuXHJcbiAgICAgICAgaWYoIXRoaXMuY2FuR29VcClcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX3NjYWxlVXAubmV4dCh0aGlzLmRpc3BsYXlEYXRlIS52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZWxlY3RzIHBlcmlvZFxyXG4gICAgICogQHBhcmFtIGV2ZW50IC0gRXZlbnQgdGhhdCBvY2N1cmVkXHJcbiAgICAgKiBAcGFyYW0gcGVyaW9kIC0gU2VsZWN0ZWQgcGVyaW9kXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNlbGVjdChldmVudDogRXZlbnQsIHBlcmlvZDogUGVyaW9kRGF0YTxURGF0ZT4pXHJcbiAgICB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuXHJcbiAgICAgICAgaWYocGVyaW9kLmRpc2FibGVkKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy9oYW5kbGUgc2VsZWN0aW9uIG9mIHZhbHVlXHJcbiAgICAgICAgaWYoIXRoaXMuY2FuR29Eb3duKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5fc2V0UGVyaW9kKHBlcmlvZCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9XHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGZyb206IHBlcmlvZC5kYXRlLFxyXG4gICAgICAgICAgICAgICAgdG86IHRoaXMuX2VuZE9mUGVyaW9kKHBlcmlvZClcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlQ2hhbmdlLm5leHQoKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX3NjYWxlRG93bi5uZXh0KHBlcmlvZC5kYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgcHVibGljIG1ldGhvZHMgLSBpbXBsZW1lbnRhdGlvbiBvZiBEYXRlVGltZVBpY2tlciAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIGNzcyBjbGFzc2VzIGZvciBwaWNrZXIsIGFsbG93aW5nIHRvIG92ZXJyaWRlIGRlZmF1bHRzXHJcbiAgICAgKiBAcGFyYW0gY3NzQ2xhc3NlcyAtIENzcyBjbGFzc2VzIHRvIGJlIHNldCBmb3IgcGlja2VyXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRDc3NDbGFzc2VzKGNzc0NsYXNzZXM6IFRDc3NDbGFzc2VzKTogdm9pZFxyXG4gICAge1xyXG4gICAgICAgIHRoaXMuY3NzQ2xhc3NlcyA9IGV4dGVuZCh0cnVlLCB7fSwgdGhpcy5jc3NDbGFzc2VzLCBjc3NDbGFzc2VzKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgbWluaW1hbCBwb3NzaWJsZSB2YWx1ZSBmb3IgcGlja2VyLCB0aGF0IGNhbiBiZSBwaWNrZWRcclxuICAgICAqIEBwYXJhbSB2YWx1ZSAtIE1pbmltYWwgcG9zc2libGUgdmFsdWUgdGhhdCBjYW4gYmUgcGlja2VkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRNaW5WYWx1ZSh2YWx1ZTogVERhdGV8bnVsbCk6IHZvaWRcclxuICAgIHtcclxuICAgICAgICB0aGlzLl9taW5WYWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuX3VwZGF0ZU1pbk1heCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyBtYXhpbWFsIHBvc3NpYmxlIHZhbHVlIGZvciBwaWNrZXIsIHRoYXQgY2FuIGJlIHBpY2tlZFxyXG4gICAgICogQHBhcmFtIHZhbHVlIC0gTWF4aW1hbCBwb3NzaWJsZSB2YWx1ZSB0aGF0IGNhbiBiZSBwaWNrZWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNldE1heFZhbHVlKHZhbHVlOiBURGF0ZXxudWxsKTogdm9pZFxyXG4gICAge1xyXG4gICAgICAgIHRoaXMuX21heFZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5fdXBkYXRlTWluTWF4KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHZhbHVlIG9mIGRhdGV0aW1lIHBpY2tlclxyXG4gICAgICogQHBhcmFtIHZhbHVlIC0gVmFsdWUgdG8gYmUgc2V0IHRvIHRoaXMgcGlja2VyXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRWYWx1ZSh2YWx1ZTogRGF0ZVRpbWVWYWx1ZTxURGF0ZT58bnVsbCk6IHZvaWRcclxuICAgIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG5cclxuICAgICAgICAvL3ZhbHVlIGlzIHByZXNlbnRcclxuICAgICAgICBpZih0aGlzLl92YWx1ZSAmJiB0aGlzLmRpc3BsYXlEYXRlKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgbGV0IHZhbCA9IHRoaXMuX2RhdGVBcGkuZ2V0VmFsdWUodGhpcy5fdmFsdWUuZnJvbSk7XHJcblxyXG4gICAgICAgICAgICAvL2NoYW5nZSBwaWNrZXIgdG8gdmFsdWVcclxuICAgICAgICAgICAgaWYoIXRoaXMuX2lzU2FtZVBlcmlvZEFzRGlzcGxheWVkKHZhbCkpXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheSh2YWwpO1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGV0IHBlcmlvZCA9IHRoaXMuX2dldFBlcmlvZERhdGEodmFsKTtcclxuXHJcbiAgICAgICAgICAgIC8vd2FzIGluaXRpYWxpemVkXHJcbiAgICAgICAgICAgIGlmKHBlcmlvZClcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0UGVyaW9kKHBlcmlvZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXQgZGlzcGxheXMgZGF0ZSB0byBiZSBkaXNwbGF5ZWRcclxuICAgICAqIEBwYXJhbSB2YWx1ZSAtIFZhbHVlIHRoYXQgaWRlbnRpZmllcyBwZXJpb2QgdGhhdCBpcyBnb2luZyB0byBiZSBkaXNwbGF5ZWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFic3RyYWN0IGRpc3BsYXkodmFsdWU6IERhdGVBcGlPYmplY3Q8VERhdGU+KTogdm9pZDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgaW5kaWNhdGlvbiB3aGV0aGVyIGNhbiBnbyBkb3duXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgLSBJbmRpY2F0aW9uIHdoZXRoZXIgY2FuIGdvIGRvd24gaW4gcGVyaW9kXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRDYW5Hb0Rvd24odmFsdWU6IGJvb2xlYW4pOiB2b2lkXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5jYW5Hb0Rvd24gPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgaW5kaWNhdGlvbiB3aGV0aGVyIGNhbiBnbyB1cFxyXG4gICAgICogQHBhcmFtIHZhbHVlIC0gSW5kaWNhdGlvbiB3aGV0aGVyIGNhbiBnbyB1cCBpbiBwZXJpb2RcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNldENhbkdvVXAodmFsdWU6IGJvb2xlYW4pOiB2b2lkXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5jYW5Hb1VwID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFeHBsaWNpdGx5IHJ1bnMgaW52YWxpZGF0aW9uIG9mIGNvbnRlbnQgKGNoYW5nZSBkZXRlY3Rpb24pXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpbnZhbGlkYXRlVmlzdWFscygpOiB2b2lkXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBwdWJsaWMgbWV0aG9kcyAtIGhvc3QgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGFuZGxlcyBjbGljayBhbnl3YXkgaW4gcGlja2VyLCB0aGF0IGJsb2NrcyBibHVyXHJcbiAgICAgKiBAcGFyYW0gZXZlbnQgLSBFdmVudCB0aGF0IG9jY3VyZWRcclxuICAgICAqIEBpbnRlcm5hbFxyXG4gICAgICovXHJcbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxyXG4gICAgcHVibGljIGhhbmRsZUNsaWNrKGV2ZW50OiBFdmVudClcclxuICAgIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBwcm90ZWN0ZWQgbWV0aG9kcyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHBlcmlvZCBhcyBhY3RpdmVcclxuICAgICAqIEBwYXJhbSBwZXJpb2QgLSBQZXJpb2QgdG8gYmUgc2V0IGFzIGFjdGl2ZVxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX3NldFBlcmlvZChwZXJpb2Q6IFBlcmlvZERhdGE8VERhdGU+KVxyXG4gICAge1xyXG4gICAgICAgIHRoaXMucGVyaW9kRGF0YS5mb3JFYWNoKGl0bSA9PiBpdG0uYWN0aXZlID0gZmFsc2UpO1xyXG5cclxuICAgICAgICBwZXJpb2QuYWN0aXZlID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFVwZGF0ZXMgbWluaW1hbCBhbmQgbWF4aW1hbCB2YWx1ZSBmb3IgcGlja2VyXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBfdXBkYXRlTWluTWF4KClcclxuICAgIHtcclxuICAgICAgICBpZighdGhpcy5wZXJpb2REYXRhLmxlbmd0aClcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vbm8gbWluLCBubyBtYXhcclxuICAgICAgICBpZighdGhpcy5fbWluVmFsdWUgJiYgIXRoaXMuX21heFZhbHVlKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5wZXJpb2REYXRhLmZvckVhY2goaXRtID0+IGl0bS5kaXNhYmxlZCA9IGZhbHNlKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBtaW5EYXRlQXBpID0gdGhpcy5fbWluVmFsdWUgPyB0aGlzLl9kYXRlQXBpLmdldFZhbHVlKHRoaXMuX21pblZhbHVlKSA6IG51bGw7XHJcbiAgICAgICAgbGV0IG1heERhdGVBcGkgPSB0aGlzLl9tYXhWYWx1ZSA/IHRoaXMuX2RhdGVBcGkuZ2V0VmFsdWUodGhpcy5fbWF4VmFsdWUpIDogbnVsbDtcclxuICAgICAgICBsZXQgcmVzdEFmdGVyID0gZmFsc2U7XHJcblxyXG4gICAgICAgIHRoaXMucGVyaW9kRGF0YS5mb3JFYWNoKHBlcmlvZCA9PlxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgaWYoISFtaW5EYXRlQXBpICYmIG1pbkRhdGVBcGkuaXNBZnRlcihwZXJpb2QuZGF0ZSkgJiYgIXRoaXMuX2lzU2FtZVBlcmlvZChtaW5EYXRlQXBpLCBwZXJpb2QuZGF0ZSkpXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHBlcmlvZC5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmKHJlc3RBZnRlciB8fCAoISFtYXhEYXRlQXBpICYmIG1heERhdGVBcGkuaXNCZWZvcmUocGVyaW9kLmRhdGUpICYmICF0aGlzLl9pc1NhbWVQZXJpb2QobWF4RGF0ZUFwaSwgcGVyaW9kLmRhdGUpKSlcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgcmVzdEFmdGVyID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHBlcmlvZC5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9idGFpbnMgZW5kIG9mIHBlcmlvZFxyXG4gICAgICogQHBhcmFtIHBlcmlvZCAtIFBlcmlvZCBmb3Igd2hpY2ggc2hvdWxkIGJlIGVuZCBvYnRhaW5lZFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgX2VuZE9mUGVyaW9kKHBlcmlvZDogUGVyaW9kRGF0YTxURGF0ZT4pOiBURGF0ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRlc3RzIHdoZXRoZXIgcHJvdmlkZWQgdmFsdWUgaXMgaW4gc2FtZSBwZXJpb2QgYXMgZGlzcGxheWVkIHBpY2tlclxyXG4gICAgICogQHBhcmFtIHZhbCAtIFRlc3RlZCB2YWx1ZSBmb3Igc2FtZSBwZXJpb2QgYXMgZGlzcGxheWVkIHBpY2tlclxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgX2lzU2FtZVBlcmlvZEFzRGlzcGxheWVkKHZhbDogRGF0ZUFwaU9iamVjdDxURGF0ZT4pOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGVzdHMgd2hldGhlciBwcm92aWRlZCB2YWx1ZSBpcyBpbiBzYW1lIHBlcmlvZCB0YXJnZXQgdmFsdWVcclxuICAgICAqIEBwYXJhbSB2YWwgLSBUZXN0ZWQgdmFsdWVcclxuICAgICAqIEBwYXJhbSB0YXJnZXQgLSBUYXJnZXQgdmFsdWUgdG8gYmUgdGVzdGVkIGFnYWluc3RcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IF9pc1NhbWVQZXJpb2QodmFsOiBEYXRlQXBpT2JqZWN0PFREYXRlPiwgdGFyZ2V0OiBURGF0ZSk6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHBlcmlvZCBkYXRhIGZvciBzcGVjaWZpZWQgdmFsdWVcclxuICAgICAqIEBwYXJhbSB2YWwgLSBWYWx1ZSBmb3Igd2hpY2ggaXMgcGVyaW9kIGRhdGEgb2J0YWluZWRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IF9nZXRQZXJpb2REYXRhKHZhbDogRGF0ZUFwaU9iamVjdDxURGF0ZT4pOiBQZXJpb2REYXRhPFREYXRlPjtcclxufSJdfQ==