@impartner/design-components 3.0.2 → 4.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 (442) hide show
  1. package/README.md +9 -8
  2. package/fesm2022/impartner-design-components.mjs +1667 -972
  3. package/fesm2022/impartner-design-components.mjs.map +1 -1
  4. package/index.d.ts +3634 -3
  5. package/package.json +9 -12
  6. package/constants/fontawesome-icons.d.ts +0 -6
  7. package/constants/index.d.ts +0 -1
  8. package/esm2022/constants/fontawesome-icons.mjs +0 -3012
  9. package/esm2022/constants/index.mjs +0 -2
  10. package/esm2022/impartner-design-components.mjs +0 -5
  11. package/esm2022/lib/alert/alert.component.mjs +0 -106
  12. package/esm2022/lib/alert/alert.module.mjs +0 -19
  13. package/esm2022/lib/alert/index.mjs +0 -4
  14. package/esm2022/lib/alert/theme/alert-theme.mjs +0 -2
  15. package/esm2022/lib/alert/theme/index.mjs +0 -2
  16. package/esm2022/lib/avatar/avatar.component.mjs +0 -48
  17. package/esm2022/lib/avatar/avatar.module.mjs +0 -19
  18. package/esm2022/lib/avatar/index.mjs +0 -3
  19. package/esm2022/lib/avatar-group/avatar-group.component.mjs +0 -16
  20. package/esm2022/lib/avatar-group/avatar-group.module.mjs +0 -19
  21. package/esm2022/lib/avatar-group/index.mjs +0 -3
  22. package/esm2022/lib/backdrop/backdrop.component.mjs +0 -52
  23. package/esm2022/lib/backdrop/backdrop.module.mjs +0 -19
  24. package/esm2022/lib/backdrop/index.mjs +0 -3
  25. package/esm2022/lib/badge/badge.component.mjs +0 -121
  26. package/esm2022/lib/badge/badge.module.mjs +0 -20
  27. package/esm2022/lib/badge/index.mjs +0 -4
  28. package/esm2022/lib/badge/types/badge-icon.mjs +0 -2
  29. package/esm2022/lib/badge/types/badge-size.mjs +0 -7
  30. package/esm2022/lib/badge/types/index.mjs +0 -2
  31. package/esm2022/lib/branding/branded.directive.mjs +0 -19
  32. package/esm2022/lib/branding/branding.module.mjs +0 -19
  33. package/esm2022/lib/branding/index.mjs +0 -3
  34. package/esm2022/lib/breadcrumb/breadcrumb-item.component.mjs +0 -25
  35. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -37
  36. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +0 -19
  37. package/esm2022/lib/breadcrumb/index.mjs +0 -4
  38. package/esm2022/lib/button/button.component.mjs +0 -116
  39. package/esm2022/lib/button/button.module.mjs +0 -21
  40. package/esm2022/lib/button/index.mjs +0 -4
  41. package/esm2022/lib/button/themes/button-theme.mjs +0 -2
  42. package/esm2022/lib/button/themes/index.mjs +0 -2
  43. package/esm2022/lib/button-group/button-group.component.mjs +0 -52
  44. package/esm2022/lib/button-group/button-group.module.mjs +0 -20
  45. package/esm2022/lib/button-group/index.mjs +0 -3
  46. package/esm2022/lib/card-heading/card-heading.component.mjs +0 -30
  47. package/esm2022/lib/card-heading/card-heading.module.mjs +0 -19
  48. package/esm2022/lib/card-heading/index.mjs +0 -3
  49. package/esm2022/lib/data-card/data-card.component.mjs +0 -123
  50. package/esm2022/lib/data-card/data-card.module.mjs +0 -21
  51. package/esm2022/lib/data-card/index.mjs +0 -3
  52. package/esm2022/lib/datetime-picker/components/datepicker-nav/datepicker-nav.component.mjs +0 -105
  53. package/esm2022/lib/datetime-picker/components/datepicker-nav/index.mjs +0 -2
  54. package/esm2022/lib/datetime-picker/components/datepicker-template-host/datepicker-template-host.component.mjs +0 -33
  55. package/esm2022/lib/datetime-picker/components/datepicker-template-host/index.mjs +0 -2
  56. package/esm2022/lib/datetime-picker/components/datetime-picker/datetime-picker.component.mjs +0 -369
  57. package/esm2022/lib/datetime-picker/components/datetime-picker/index.mjs +0 -2
  58. package/esm2022/lib/datetime-picker/components/datetime-picker-input/datetime-picker-input.component.mjs +0 -367
  59. package/esm2022/lib/datetime-picker/components/datetime-picker-input/index.mjs +0 -2
  60. package/esm2022/lib/datetime-picker/components/datetime-picker-input-footer/datetime-picker-input-footer.component.mjs +0 -68
  61. package/esm2022/lib/datetime-picker/components/datetime-picker-input-footer/index.mjs +0 -2
  62. package/esm2022/lib/datetime-picker/components/index.mjs +0 -6
  63. package/esm2022/lib/datetime-picker/constants/datetime-picker-defaults.mjs +0 -12
  64. package/esm2022/lib/datetime-picker/constants/index.mjs +0 -2
  65. package/esm2022/lib/datetime-picker/datetime-picker.module.mjs +0 -22
  66. package/esm2022/lib/datetime-picker/index.mjs +0 -4
  67. package/esm2022/lib/datetime-picker/services/datetime-formatter/datetime-formatter.service.mjs +0 -40
  68. package/esm2022/lib/datetime-picker/services/datetime-formatter/index.mjs +0 -2
  69. package/esm2022/lib/datetime-picker/services/index.mjs +0 -2
  70. package/esm2022/lib/datetime-picker/types/datetime-picker-value.interface.mjs +0 -2
  71. package/esm2022/lib/datetime-picker/types/index.mjs +0 -2
  72. package/esm2022/lib/design-components.module.mjs +0 -132
  73. package/esm2022/lib/dropdown/components/dropdown-item/dropdown-item.component.mjs +0 -22
  74. package/esm2022/lib/dropdown/components/index.mjs +0 -2
  75. package/esm2022/lib/dropdown/dropdown.component.mjs +0 -143
  76. package/esm2022/lib/dropdown/dropdown.module.mjs +0 -21
  77. package/esm2022/lib/dropdown/index.mjs +0 -5
  78. package/esm2022/lib/dropdown/types/dropdown-position.mjs +0 -2
  79. package/esm2022/lib/dropdown/types/index.mjs +0 -2
  80. package/esm2022/lib/file-upload/directives/file-drop.directive.mjs +0 -50
  81. package/esm2022/lib/file-upload/directives/index.mjs +0 -2
  82. package/esm2022/lib/file-upload/file-upload.component.mjs +0 -335
  83. package/esm2022/lib/file-upload/file-upload.module.mjs +0 -38
  84. package/esm2022/lib/file-upload/index.mjs +0 -5
  85. package/esm2022/lib/file-upload/pipes/human-readable-byte-size.pipe.mjs +0 -23
  86. package/esm2022/lib/file-upload/pipes/index.mjs +0 -2
  87. package/esm2022/lib/form-field/component/directives/corner-hint.directive.mjs +0 -15
  88. package/esm2022/lib/form-field/component/directives/error.directive.mjs +0 -27
  89. package/esm2022/lib/form-field/component/directives/form-root.directive.mjs +0 -93
  90. package/esm2022/lib/form-field/component/directives/hint.directive.mjs +0 -25
  91. package/esm2022/lib/form-field/component/directives/index.mjs +0 -25
  92. package/esm2022/lib/form-field/component/directives/label.directive.mjs +0 -15
  93. package/esm2022/lib/form-field/component/directives/prefix.directive.mjs +0 -25
  94. package/esm2022/lib/form-field/component/directives/suffix.directive.mjs +0 -25
  95. package/esm2022/lib/form-field/component/form-field.component.mjs +0 -131
  96. package/esm2022/lib/form-field/component/form-field.module.mjs +0 -24
  97. package/esm2022/lib/form-field/component/index.mjs +0 -4
  98. package/esm2022/lib/form-field/controls/checkbox/checkbox.component.mjs +0 -345
  99. package/esm2022/lib/form-field/controls/checkbox/checkbox.module.mjs +0 -16
  100. package/esm2022/lib/form-field/controls/checkbox/index.mjs +0 -3
  101. package/esm2022/lib/form-field/controls/index.mjs +0 -6
  102. package/esm2022/lib/form-field/controls/input/index.mjs +0 -2
  103. package/esm2022/lib/form-field/controls/input/input.directive.mjs +0 -234
  104. package/esm2022/lib/form-field/controls/radio/index.mjs +0 -6
  105. package/esm2022/lib/form-field/controls/radio/injection-tokens.mjs +0 -4
  106. package/esm2022/lib/form-field/controls/radio/interfaces/index.mjs +0 -4
  107. package/esm2022/lib/form-field/controls/radio/interfaces/radio-button.interface.mjs +0 -2
  108. package/esm2022/lib/form-field/controls/radio/interfaces/radio-change-event.interface.mjs +0 -11
  109. package/esm2022/lib/form-field/controls/radio/interfaces/radio-group.interface.mjs +0 -2
  110. package/esm2022/lib/form-field/controls/radio/radio-button/radio-button.component.mjs +0 -262
  111. package/esm2022/lib/form-field/controls/radio/radio-group/radio-group.directive.mjs +0 -290
  112. package/esm2022/lib/form-field/controls/radio/radio.module.mjs +0 -17
  113. package/esm2022/lib/form-field/controls/select/index.mjs +0 -9
  114. package/esm2022/lib/form-field/controls/select/interfaces/index.mjs +0 -2
  115. package/esm2022/lib/form-field/controls/select/interfaces/select-option.interface.mjs +0 -2
  116. package/esm2022/lib/form-field/controls/select/option/index.mjs +0 -2
  117. package/esm2022/lib/form-field/controls/select/option/select-option.component.mjs +0 -44
  118. package/esm2022/lib/form-field/controls/select/option-display/index.mjs +0 -2
  119. package/esm2022/lib/form-field/controls/select/option-display/select-option-display.component.mjs +0 -162
  120. package/esm2022/lib/form-field/controls/select/option-group/index.mjs +0 -2
  121. package/esm2022/lib/form-field/controls/select/option-group/select-option-group.component.mjs +0 -35
  122. package/esm2022/lib/form-field/controls/select/option-parent.mjs +0 -4
  123. package/esm2022/lib/form-field/controls/select/select-model.mjs +0 -150
  124. package/esm2022/lib/form-field/controls/select/select.component.mjs +0 -725
  125. package/esm2022/lib/form-field/controls/select/select.module.mjs +0 -37
  126. package/esm2022/lib/form-field/controls/select/value-tags-display/index.mjs +0 -2
  127. package/esm2022/lib/form-field/controls/select/value-tags-display/select-value-tags-display.component.mjs +0 -91
  128. package/esm2022/lib/form-field/controls/shared/index.mjs +0 -2
  129. package/esm2022/lib/form-field/controls/shared/toggle/components/index.mjs +0 -2
  130. package/esm2022/lib/form-field/controls/shared/toggle/components/toggle-input/toggle-input.component.mjs +0 -17
  131. package/esm2022/lib/form-field/controls/shared/toggle/index.mjs +0 -4
  132. package/esm2022/lib/form-field/controls/shared/toggle/toggle.component.mjs +0 -112
  133. package/esm2022/lib/form-field/controls/shared/toggle/toggle.module.mjs +0 -18
  134. package/esm2022/lib/form-field/controls/tag-select/index.mjs +0 -2
  135. package/esm2022/lib/form-field/controls/tag-select/tag-select.component.mjs +0 -146
  136. package/esm2022/lib/form-field/form-field-errors.mjs +0 -5
  137. package/esm2022/lib/form-field/impdc-forms.mjs +0 -7
  138. package/esm2022/lib/form-field/impdc-forms.module.mjs +0 -53
  139. package/esm2022/lib/form-field/index.mjs +0 -2
  140. package/esm2022/lib/form-field/services/error-state-matcher.service.mjs +0 -28
  141. package/esm2022/lib/form-field/services/index.mjs +0 -3
  142. package/esm2022/lib/form-field/services/unique-selection-dispatcher.service.mjs +0 -48
  143. package/esm2022/lib/form-field/shared/constructors.type.mjs +0 -2
  144. package/esm2022/lib/form-field/shared/disabled.mixin.mjs +0 -15
  145. package/esm2022/lib/form-field/shared/error-state.mixin.mjs +0 -24
  146. package/esm2022/lib/form-field/shared/form-field-control.mjs +0 -10
  147. package/esm2022/lib/form-field/shared/index.mjs +0 -5
  148. package/esm2022/lib/form-field/shared/tab-index.mixin.mjs +0 -19
  149. package/esm2022/lib/icon/icon.component.mjs +0 -83
  150. package/esm2022/lib/icon/icon.module.mjs +0 -19
  151. package/esm2022/lib/icon/index.mjs +0 -3
  152. package/esm2022/lib/index.mjs +0 -29
  153. package/esm2022/lib/modal/index.mjs +0 -4
  154. package/esm2022/lib/modal/modal.component.mjs +0 -266
  155. package/esm2022/lib/modal/modal.module.mjs +0 -37
  156. package/esm2022/lib/modal/types/index.mjs +0 -3
  157. package/esm2022/lib/modal/types/modal-component-sizes.mjs +0 -9
  158. package/esm2022/lib/modal/types/modal-theme.mjs +0 -12
  159. package/esm2022/lib/pagination/index.mjs +0 -3
  160. package/esm2022/lib/pagination/pagination.component.mjs +0 -176
  161. package/esm2022/lib/pagination/pagination.module.mjs +0 -41
  162. package/esm2022/lib/progress-bar/index.mjs +0 -3
  163. package/esm2022/lib/progress-bar/progress-bar.component.mjs +0 -51
  164. package/esm2022/lib/progress-bar/progress-bar.module.mjs +0 -18
  165. package/esm2022/lib/scrollable/index.mjs +0 -3
  166. package/esm2022/lib/scrollable/scrollable.component.mjs +0 -187
  167. package/esm2022/lib/scrollable/scrollable.module.mjs +0 -22
  168. package/esm2022/lib/select-icon/index.mjs +0 -3
  169. package/esm2022/lib/select-icon/select-icon.component.mjs +0 -308
  170. package/esm2022/lib/select-icon/select-icon.module.mjs +0 -39
  171. package/esm2022/lib/size-detection/directive/element-size.interface.mjs +0 -2
  172. package/esm2022/lib/size-detection/directive/index.mjs +0 -3
  173. package/esm2022/lib/size-detection/directive/size-detector.directive.mjs +0 -43
  174. package/esm2022/lib/size-detection/index.mjs +0 -3
  175. package/esm2022/lib/size-detection/size-detection.module.mjs +0 -18
  176. package/esm2022/lib/spinner/index.mjs +0 -3
  177. package/esm2022/lib/spinner/spinner.component.mjs +0 -24
  178. package/esm2022/lib/spinner/spinner.module.mjs +0 -18
  179. package/esm2022/lib/table/components/bulk-actions/bulk-actions.component.mjs +0 -16
  180. package/esm2022/lib/table/components/column-heading/column-heading.component.mjs +0 -38
  181. package/esm2022/lib/table/components/index.mjs +0 -4
  182. package/esm2022/lib/table/components/row-actions/row-actions.component.mjs +0 -61
  183. package/esm2022/lib/table/constants/index.mjs +0 -3
  184. package/esm2022/lib/table/constants/public-table.constants.mjs +0 -2
  185. package/esm2022/lib/table/constants/table.constants.mjs +0 -23
  186. package/esm2022/lib/table/containers/index.mjs +0 -2
  187. package/esm2022/lib/table/containers/table.component.mjs +0 -474
  188. package/esm2022/lib/table/directives/collapse-monitor.directive.mjs +0 -42
  189. package/esm2022/lib/table/directives/index.mjs +0 -4
  190. package/esm2022/lib/table/directives/table-inject-component.directive.mjs +0 -46
  191. package/esm2022/lib/table/directives/table.directive.mjs +0 -55
  192. package/esm2022/lib/table/enumerations/index.mjs +0 -2
  193. package/esm2022/lib/table/enumerations/table-column-type.mjs +0 -21
  194. package/esm2022/lib/table/helpers/index.mjs +0 -2
  195. package/esm2022/lib/table/helpers/table-theme.helper.mjs +0 -31
  196. package/esm2022/lib/table/index.mjs +0 -8
  197. package/esm2022/lib/table/interfaces/cell-renderer.interface.mjs +0 -2
  198. package/esm2022/lib/table/interfaces/collapsible-row-content-context.interface.mjs +0 -2
  199. package/esm2022/lib/table/interfaces/custom-cell-renderer-components.type.mjs +0 -2
  200. package/esm2022/lib/table/interfaces/index.mjs +0 -13
  201. package/esm2022/lib/table/interfaces/sort-by-payload.interface.mjs +0 -2
  202. package/esm2022/lib/table/interfaces/table-cell-option.interface.mjs +0 -2
  203. package/esm2022/lib/table/interfaces/table-column-defs.type.mjs +0 -2
  204. package/esm2022/lib/table/interfaces/table-event-payload.interface.mjs +0 -2
  205. package/esm2022/lib/table/interfaces/table-row-action-payload.interface.mjs +0 -2
  206. package/esm2022/lib/table/interfaces/table-row-action.interface.mjs +0 -2
  207. package/esm2022/lib/table/interfaces/table-row-collapse-change.interface.mjs +0 -2
  208. package/esm2022/lib/table/interfaces/table-row-item.interface.mjs +0 -2
  209. package/esm2022/lib/table/table.module.mjs +0 -101
  210. package/esm2022/lib/tag/index.mjs +0 -2
  211. package/esm2022/lib/tag/tag.component.mjs +0 -104
  212. package/esm2022/lib/text-highlight/index.mjs +0 -3
  213. package/esm2022/lib/text-highlight/text-highlight.component.mjs +0 -101
  214. package/esm2022/lib/text-highlight/text-highlight.module.mjs +0 -17
  215. package/esm2022/public-api.mjs +0 -9
  216. package/esm2022/services/index.mjs +0 -2
  217. package/esm2022/services/interaction.service.mjs +0 -88
  218. package/esm2022/types/component-size.mjs +0 -12
  219. package/esm2022/types/component-theme.mjs +0 -22
  220. package/esm2022/types/index.mjs +0 -3
  221. package/esm2022/utilities/boolean-props.mjs +0 -7
  222. package/esm2022/utilities/dc.mjs +0 -9
  223. package/esm2022/utilities/index.mjs +0 -6
  224. package/esm2022/utilities/lc.mjs +0 -9
  225. package/esm2022/utilities/number-props.mjs +0 -18
  226. package/esm2022/utilities/sanitize.mjs +0 -7
  227. package/lib/alert/alert.component.d.ts +0 -50
  228. package/lib/alert/alert.module.d.ts +0 -9
  229. package/lib/alert/index.d.ts +0 -3
  230. package/lib/alert/theme/alert-theme.d.ts +0 -1
  231. package/lib/alert/theme/index.d.ts +0 -1
  232. package/lib/avatar/avatar.component.d.ts +0 -28
  233. package/lib/avatar/avatar.module.d.ts +0 -9
  234. package/lib/avatar/index.d.ts +0 -2
  235. package/lib/avatar-group/avatar-group.component.d.ts +0 -10
  236. package/lib/avatar-group/avatar-group.module.d.ts +0 -9
  237. package/lib/avatar-group/index.d.ts +0 -2
  238. package/lib/backdrop/backdrop.component.d.ts +0 -24
  239. package/lib/backdrop/backdrop.module.d.ts +0 -9
  240. package/lib/backdrop/index.d.ts +0 -2
  241. package/lib/badge/badge.component.d.ts +0 -63
  242. package/lib/badge/badge.module.d.ts +0 -10
  243. package/lib/badge/index.d.ts +0 -3
  244. package/lib/badge/types/badge-icon.d.ts +0 -1
  245. package/lib/badge/types/badge-size.d.ts +0 -6
  246. package/lib/badge/types/index.d.ts +0 -2
  247. package/lib/branding/branded.directive.d.ts +0 -6
  248. package/lib/branding/branding.module.d.ts +0 -9
  249. package/lib/branding/index.d.ts +0 -2
  250. package/lib/breadcrumb/breadcrumb-item.component.d.ts +0 -7
  251. package/lib/breadcrumb/breadcrumb.component.d.ts +0 -21
  252. package/lib/breadcrumb/breadcrumb.module.d.ts +0 -9
  253. package/lib/breadcrumb/index.d.ts +0 -3
  254. package/lib/button/button.component.d.ts +0 -47
  255. package/lib/button/button.module.d.ts +0 -11
  256. package/lib/button/index.d.ts +0 -3
  257. package/lib/button/themes/button-theme.d.ts +0 -1
  258. package/lib/button/themes/index.d.ts +0 -1
  259. package/lib/button-group/button-group.component.d.ts +0 -22
  260. package/lib/button-group/button-group.module.d.ts +0 -10
  261. package/lib/button-group/index.d.ts +0 -2
  262. package/lib/card-heading/card-heading.component.d.ts +0 -18
  263. package/lib/card-heading/card-heading.module.d.ts +0 -9
  264. package/lib/card-heading/index.d.ts +0 -2
  265. package/lib/data-card/data-card.component.d.ts +0 -68
  266. package/lib/data-card/data-card.module.d.ts +0 -11
  267. package/lib/data-card/index.d.ts +0 -2
  268. package/lib/datetime-picker/components/datepicker-nav/datepicker-nav.component.d.ts +0 -31
  269. package/lib/datetime-picker/components/datepicker-nav/index.d.ts +0 -1
  270. package/lib/datetime-picker/components/datepicker-template-host/datepicker-template-host.component.d.ts +0 -15
  271. package/lib/datetime-picker/components/datepicker-template-host/index.d.ts +0 -1
  272. package/lib/datetime-picker/components/datetime-picker/datetime-picker.component.d.ts +0 -155
  273. package/lib/datetime-picker/components/datetime-picker/index.d.ts +0 -1
  274. package/lib/datetime-picker/components/datetime-picker-input/datetime-picker-input.component.d.ts +0 -160
  275. package/lib/datetime-picker/components/datetime-picker-input/index.d.ts +0 -1
  276. package/lib/datetime-picker/components/datetime-picker-input-footer/datetime-picker-input-footer.component.d.ts +0 -24
  277. package/lib/datetime-picker/components/datetime-picker-input-footer/index.d.ts +0 -1
  278. package/lib/datetime-picker/components/index.d.ts +0 -5
  279. package/lib/datetime-picker/constants/datetime-picker-defaults.d.ts +0 -4
  280. package/lib/datetime-picker/constants/index.d.ts +0 -1
  281. package/lib/datetime-picker/datetime-picker.module.d.ts +0 -8
  282. package/lib/datetime-picker/index.d.ts +0 -4
  283. package/lib/datetime-picker/services/datetime-formatter/datetime-formatter.service.d.ts +0 -20
  284. package/lib/datetime-picker/services/datetime-formatter/index.d.ts +0 -1
  285. package/lib/datetime-picker/services/index.d.ts +0 -1
  286. package/lib/datetime-picker/types/datetime-picker-value.interface.d.ts +0 -5
  287. package/lib/datetime-picker/types/index.d.ts +0 -1
  288. package/lib/design-components.module.d.ts +0 -24
  289. package/lib/dropdown/components/dropdown-item/dropdown-item.component.d.ts +0 -11
  290. package/lib/dropdown/components/index.d.ts +0 -1
  291. package/lib/dropdown/dropdown.component.d.ts +0 -67
  292. package/lib/dropdown/dropdown.module.d.ts +0 -11
  293. package/lib/dropdown/index.d.ts +0 -4
  294. package/lib/dropdown/types/dropdown-position.d.ts +0 -1
  295. package/lib/dropdown/types/index.d.ts +0 -1
  296. package/lib/file-upload/directives/file-drop.directive.d.ts +0 -11
  297. package/lib/file-upload/directives/index.d.ts +0 -1
  298. package/lib/file-upload/file-upload.component.d.ts +0 -105
  299. package/lib/file-upload/file-upload.module.d.ts +0 -14
  300. package/lib/file-upload/index.d.ts +0 -4
  301. package/lib/file-upload/pipes/human-readable-byte-size.pipe.d.ts +0 -7
  302. package/lib/file-upload/pipes/index.d.ts +0 -1
  303. package/lib/form-field/component/directives/corner-hint.directive.d.ts +0 -5
  304. package/lib/form-field/component/directives/error.directive.d.ts +0 -8
  305. package/lib/form-field/component/directives/form-root.directive.d.ts +0 -26
  306. package/lib/form-field/component/directives/hint.directive.d.ts +0 -6
  307. package/lib/form-field/component/directives/index.d.ts +0 -15
  308. package/lib/form-field/component/directives/label.directive.d.ts +0 -5
  309. package/lib/form-field/component/directives/prefix.directive.d.ts +0 -9
  310. package/lib/form-field/component/directives/suffix.directive.d.ts +0 -9
  311. package/lib/form-field/component/form-field.component.d.ts +0 -37
  312. package/lib/form-field/component/form-field.module.d.ts +0 -14
  313. package/lib/form-field/component/index.d.ts +0 -3
  314. package/lib/form-field/controls/checkbox/checkbox.component.d.ts +0 -137
  315. package/lib/form-field/controls/checkbox/checkbox.module.d.ts +0 -7
  316. package/lib/form-field/controls/checkbox/index.d.ts +0 -2
  317. package/lib/form-field/controls/index.d.ts +0 -5
  318. package/lib/form-field/controls/input/index.d.ts +0 -1
  319. package/lib/form-field/controls/input/input.directive.d.ts +0 -84
  320. package/lib/form-field/controls/radio/index.d.ts +0 -5
  321. package/lib/form-field/controls/radio/injection-tokens.d.ts +0 -4
  322. package/lib/form-field/controls/radio/interfaces/index.d.ts +0 -3
  323. package/lib/form-field/controls/radio/interfaces/radio-button.interface.d.ts +0 -6
  324. package/lib/form-field/controls/radio/interfaces/radio-change-event.interface.d.ts +0 -12
  325. package/lib/form-field/controls/radio/interfaces/radio-group.interface.d.ts +0 -13
  326. package/lib/form-field/controls/radio/radio-button/radio-button.component.d.ts +0 -98
  327. package/lib/form-field/controls/radio/radio-group/radio-group.directive.d.ts +0 -104
  328. package/lib/form-field/controls/radio/radio.module.d.ts +0 -8
  329. package/lib/form-field/controls/select/index.d.ts +0 -9
  330. package/lib/form-field/controls/select/interfaces/index.d.ts +0 -1
  331. package/lib/form-field/controls/select/interfaces/select-option.interface.d.ts +0 -6
  332. package/lib/form-field/controls/select/option/index.d.ts +0 -1
  333. package/lib/form-field/controls/select/option/select-option.component.d.ts +0 -21
  334. package/lib/form-field/controls/select/option-display/index.d.ts +0 -1
  335. package/lib/form-field/controls/select/option-display/select-option-display.component.d.ts +0 -64
  336. package/lib/form-field/controls/select/option-group/index.d.ts +0 -1
  337. package/lib/form-field/controls/select/option-group/select-option-group.component.d.ts +0 -11
  338. package/lib/form-field/controls/select/option-parent.d.ts +0 -16
  339. package/lib/form-field/controls/select/select-model.d.ts +0 -36
  340. package/lib/form-field/controls/select/select.component.d.ts +0 -232
  341. package/lib/form-field/controls/select/select.module.d.ts +0 -10
  342. package/lib/form-field/controls/select/value-tags-display/index.d.ts +0 -1
  343. package/lib/form-field/controls/select/value-tags-display/select-value-tags-display.component.d.ts +0 -46
  344. package/lib/form-field/controls/shared/index.d.ts +0 -1
  345. package/lib/form-field/controls/shared/toggle/components/index.d.ts +0 -1
  346. package/lib/form-field/controls/shared/toggle/components/toggle-input/toggle-input.component.d.ts +0 -6
  347. package/lib/form-field/controls/shared/toggle/index.d.ts +0 -3
  348. package/lib/form-field/controls/shared/toggle/toggle.component.d.ts +0 -29
  349. package/lib/form-field/controls/shared/toggle/toggle.module.d.ts +0 -9
  350. package/lib/form-field/controls/tag-select/index.d.ts +0 -1
  351. package/lib/form-field/controls/tag-select/tag-select.component.d.ts +0 -43
  352. package/lib/form-field/form-field-errors.d.ts +0 -2
  353. package/lib/form-field/impdc-forms.d.ts +0 -6
  354. package/lib/form-field/impdc-forms.module.d.ts +0 -13
  355. package/lib/form-field/index.d.ts +0 -1
  356. package/lib/form-field/services/error-state-matcher.service.d.ts +0 -12
  357. package/lib/form-field/services/index.d.ts +0 -2
  358. package/lib/form-field/services/unique-selection-dispatcher.service.d.ts +0 -29
  359. package/lib/form-field/shared/constructors.type.d.ts +0 -7
  360. package/lib/form-field/shared/disabled.mixin.d.ts +0 -10
  361. package/lib/form-field/shared/error-state.mixin.d.ts +0 -31
  362. package/lib/form-field/shared/form-field-control.d.ts +0 -24
  363. package/lib/form-field/shared/index.d.ts +0 -5
  364. package/lib/form-field/shared/tab-index.mixin.d.ts +0 -13
  365. package/lib/icon/icon.component.d.ts +0 -36
  366. package/lib/icon/icon.module.d.ts +0 -9
  367. package/lib/icon/index.d.ts +0 -2
  368. package/lib/index.d.ts +0 -28
  369. package/lib/modal/index.d.ts +0 -3
  370. package/lib/modal/modal.component.d.ts +0 -116
  371. package/lib/modal/modal.module.d.ts +0 -13
  372. package/lib/modal/types/index.d.ts +0 -2
  373. package/lib/modal/types/modal-component-sizes.d.ts +0 -3
  374. package/lib/modal/types/modal-theme.d.ts +0 -7
  375. package/lib/pagination/index.d.ts +0 -2
  376. package/lib/pagination/pagination.component.d.ts +0 -58
  377. package/lib/pagination/pagination.module.d.ts +0 -14
  378. package/lib/progress-bar/index.d.ts +0 -2
  379. package/lib/progress-bar/progress-bar.component.d.ts +0 -31
  380. package/lib/progress-bar/progress-bar.module.d.ts +0 -8
  381. package/lib/scrollable/index.d.ts +0 -2
  382. package/lib/scrollable/scrollable.component.d.ts +0 -41
  383. package/lib/scrollable/scrollable.module.d.ts +0 -12
  384. package/lib/select-icon/index.d.ts +0 -2
  385. package/lib/select-icon/select-icon.component.d.ts +0 -123
  386. package/lib/select-icon/select-icon.module.d.ts +0 -12
  387. package/lib/size-detection/directive/element-size.interface.d.ts +0 -4
  388. package/lib/size-detection/directive/index.d.ts +0 -2
  389. package/lib/size-detection/directive/size-detector.directive.d.ts +0 -14
  390. package/lib/size-detection/index.d.ts +0 -3
  391. package/lib/size-detection/size-detection.module.d.ts +0 -8
  392. package/lib/spinner/index.d.ts +0 -2
  393. package/lib/spinner/spinner.component.d.ts +0 -13
  394. package/lib/spinner/spinner.module.d.ts +0 -8
  395. package/lib/table/components/bulk-actions/bulk-actions.component.d.ts +0 -10
  396. package/lib/table/components/column-heading/column-heading.component.d.ts +0 -14
  397. package/lib/table/components/index.d.ts +0 -3
  398. package/lib/table/components/row-actions/row-actions.component.d.ts +0 -21
  399. package/lib/table/constants/index.d.ts +0 -2
  400. package/lib/table/constants/public-table.constants.d.ts +0 -1
  401. package/lib/table/constants/table.constants.d.ts +0 -9
  402. package/lib/table/containers/index.d.ts +0 -1
  403. package/lib/table/containers/table.component.d.ts +0 -178
  404. package/lib/table/directives/collapse-monitor.directive.d.ts +0 -12
  405. package/lib/table/directives/index.d.ts +0 -3
  406. package/lib/table/directives/table-inject-component.directive.d.ts +0 -16
  407. package/lib/table/directives/table.directive.d.ts +0 -23
  408. package/lib/table/enumerations/index.d.ts +0 -1
  409. package/lib/table/enumerations/table-column-type.d.ts +0 -19
  410. package/lib/table/helpers/index.d.ts +0 -1
  411. package/lib/table/helpers/table-theme.helper.d.ts +0 -7
  412. package/lib/table/index.d.ts +0 -7
  413. package/lib/table/interfaces/cell-renderer.interface.d.ts +0 -13
  414. package/lib/table/interfaces/collapsible-row-content-context.interface.d.ts +0 -39
  415. package/lib/table/interfaces/custom-cell-renderer-components.type.d.ts +0 -3
  416. package/lib/table/interfaces/index.d.ts +0 -12
  417. package/lib/table/interfaces/sort-by-payload.interface.d.ts +0 -11
  418. package/lib/table/interfaces/table-cell-option.interface.d.ts +0 -4
  419. package/lib/table/interfaces/table-column-defs.type.d.ts +0 -53
  420. package/lib/table/interfaces/table-event-payload.interface.d.ts +0 -13
  421. package/lib/table/interfaces/table-row-action-payload.interface.d.ts +0 -13
  422. package/lib/table/interfaces/table-row-action.interface.d.ts +0 -17
  423. package/lib/table/interfaces/table-row-collapse-change.interface.d.ts +0 -11
  424. package/lib/table/interfaces/table-row-item.interface.d.ts +0 -8
  425. package/lib/table/table.module.d.ts +0 -24
  426. package/lib/tag/index.d.ts +0 -1
  427. package/lib/tag/tag.component.d.ts +0 -54
  428. package/lib/text-highlight/index.d.ts +0 -2
  429. package/lib/text-highlight/text-highlight.component.d.ts +0 -37
  430. package/lib/text-highlight/text-highlight.module.d.ts +0 -8
  431. package/public-api.d.ts +0 -4
  432. package/services/index.d.ts +0 -1
  433. package/services/interaction.service.d.ts +0 -28
  434. package/types/component-size.d.ts +0 -12
  435. package/types/component-theme.d.ts +0 -12
  436. package/types/index.d.ts +0 -2
  437. package/utilities/boolean-props.d.ts +0 -8
  438. package/utilities/dc.d.ts +0 -6
  439. package/utilities/index.d.ts +0 -5
  440. package/utilities/lc.d.ts +0 -6
  441. package/utilities/number-props.d.ts +0 -15
  442. package/utilities/sanitize.d.ts +0 -1
@@ -1,367 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EventEmitter, Inject, Input, Optional, Output, Self, ViewChild, booleanAttribute, inject } from '@angular/core';
3
- import { FormControl, ReactiveFormsModule, Validators } from '@angular/forms';
4
- import { NgbDateAdapter, NgbDropdownModule, NgbTimeAdapter } from '@ng-bootstrap/ng-bootstrap';
5
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
- import { nanoid } from 'nanoid';
7
- import { Subject } from 'rxjs';
8
- import { IMPDC_FORM_ROOT, ImpdcFormFieldControl, mixinDisabled, mixinErrorState, mixinTabIndex } from '../../../form-field';
9
- import { ImpdcDatetimeFormatter } from '../../services';
10
- import { DatetimePickerComponent } from '../datetime-picker/datetime-picker.component';
11
- import { DatetimePickerInputFooterComponent } from '../datetime-picker-input-footer';
12
- import { DEFAULT_MAX_DATE, DEFAULT_MIN_DATE } from '../../constants';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "../../../form-field";
15
- import * as i2 from "@angular/forms";
16
- import * as i3 from "@angular/common";
17
- import * as i4 from "@ng-bootstrap/ng-bootstrap";
18
- export const DEFAULT_POPUP_BUTTON_LABELS = {
19
- cancelLabel: 'Cancel',
20
- clearLabel: 'Clear',
21
- saveLabel: 'Save'
22
- };
23
- const _DatetimePickerInputComponentBase = mixinTabIndex(mixinDisabled(mixinErrorState(class {
24
- constructor(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl) {
25
- this._defaultErrorStateMatcher = _defaultErrorStateMatcher;
26
- this._formRoot = _formRoot;
27
- this._parentForm = _parentForm;
28
- this._parentFormGroup = _parentFormGroup;
29
- this.ngControl = ngControl;
30
- this.stateChanges = new Subject();
31
- }
32
- })));
33
- /**
34
- * A control for selecting date or datetime via an interactive dropdown control.
35
- *
36
- * Implements [ControlValueAccessor](https://angular.io/api/forms/ControlValueAccessor) to support two-way binding with
37
- * Angular forms via usage of the \`[(ngModel)]\`, \`[formControl]\`, and \`[formControlName]\` directives.
38
- *
39
- * The date and time controls inside this component leverage the value adapter patterns and services of NG-Bootstrap's
40
- * [Datepicker](https://ng-bootstrap.github.io/#/components/datepicker/overview#date-model) and
41
- * [Timepicker](https://ng-bootstrap.github.io/#/components/timepicker/examples#adapter) components when working with input values.
42
- * This means that `date` values will be [NgbDateStruct](https://ng-bootstrap.github.io/#/components/datepicker/api#NgbDateStruct)
43
- * objects and `time` values will be [NgbTimeStruct](https://ng-bootstrap.github.io/#/components/timepicker/api#NgbTimeStruct) objects
44
- * by default, and the [NgbDateAdapter](https://ng-bootstrap.github.io/#/components/datepicker/api#NgbDateAdapter) and
45
- * [NgbTimeAdapter](https://ng-bootstrap.github.io/#/components/timepicker/api#NgbTimeAdapter) services will be used to handle them respectively.
46
- * If usage of alternative date and time models is desired, consult NG-Bootstrap's documentation for directions.
47
- */
48
- export class DatetimePickerInputComponent extends _DatetimePickerInputComponentBase {
49
- /**
50
- * The earliest allowable date for display or selection.
51
- *
52
- * @default { year: 1900, month: 1, day: 1 }
53
- */
54
- get minDate() {
55
- return { ...this._minDate };
56
- }
57
- set minDate(value) {
58
- this._minDate = value || DEFAULT_MIN_DATE;
59
- }
60
- /**
61
- * The latest allowable date for display or selection.
62
- *
63
- * @default { year: 2099, month: 12, day: 31 }
64
- */
65
- get maxDate() {
66
- return { ...this._maxDate };
67
- }
68
- set maxDate(value) {
69
- this._maxDate = value || DEFAULT_MAX_DATE;
70
- }
71
- /**
72
- * Object dictating the labels used for the buttons displayed in the footer of the datetime picker popup.
73
- *
74
- * @default { cancelLabel: "Cancel", clearLabel: "Clear", saveLabel: "Save" }
75
- */
76
- get popupButtonLabels() {
77
- return this._popupButtonLabels;
78
- }
79
- set popupButtonLabels(value) {
80
- this._popupButtonLabels = {
81
- ...DEFAULT_POPUP_BUTTON_LABELS,
82
- ...value
83
- };
84
- }
85
- /**
86
- * The placeholder text that will be displayed when no selection has been made.
87
- *
88
- * @default YYYY-MM-DD hh:mm
89
- */
90
- get placeholder() {
91
- return this._placeholder;
92
- }
93
- set placeholder(value) {
94
- this._placeholder = value;
95
- this.stateChanges.next();
96
- }
97
- constructor(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl) {
98
- super(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl);
99
- this._changeDetector = inject(ChangeDetectorRef);
100
- this._destroyRef = inject(DestroyRef);
101
- this._ngbDateAdapter = inject((NgbDateAdapter));
102
- this._ngbTimeAdapter = inject((NgbTimeAdapter));
103
- this._datetimeFormatter = inject(ImpdcDatetimeFormatter);
104
- this._uid = `impdc-datetime-picker-input-${nanoid()}`;
105
- this._dropdownOpen = false;
106
- this.datetimePickerControl = new FormControl(null);
107
- this.cvaOnChange = (_) => { };
108
- this.cvaOnTouched = () => { };
109
- this._minDate = DEFAULT_MIN_DATE;
110
- this._maxDate = DEFAULT_MAX_DATE;
111
- /**
112
- * Set whether to display controls for selecting a time value in addition to the date.
113
- */
114
- this.withTime = false;
115
- /**
116
- * Label to be displayed with time controls to allow the user to input 24-hour or meridian-based (AM, PM) time.
117
- */
118
- this.meridianToggleLabel = 'Use 24-hour format';
119
- this._popupButtonLabels = DEFAULT_POPUP_BUTTON_LABELS;
120
- this._placeholder = '';
121
- /**
122
- * Events fire when raw value of picker input changes. Mainly exists to handle
123
- * two-way binding of `value` input property.
124
- * @ignore
125
- */
126
- this.valueChange = new EventEmitter();
127
- this._focused = false;
128
- this.controlType = 'impdc-datetime-picker-input';
129
- this.supportsAffixes = true;
130
- /* Internals */
131
- this.displayedValue = '';
132
- if (this.ngControl) {
133
- this.ngControl.valueAccessor = this;
134
- }
135
- this.id = this.id;
136
- }
137
- /** @ignore */
138
- get empty() {
139
- return !this.value;
140
- }
141
- /** @ignore */
142
- focus(options) {
143
- this._toggleButtonRef.nativeElement.focus(options);
144
- }
145
- /* Lifecycle Hooks */
146
- /** @ignore */
147
- ngDoCheck() {
148
- const ngControl = this.ngControl;
149
- if (!ngControl) {
150
- return;
151
- }
152
- if (this._previousControl !== ngControl.control) {
153
- if (this._previousControl !== undefined &&
154
- ngControl.disabled !== null &&
155
- ngControl.disabled !== this.disabled) {
156
- this.disabled = ngControl?.disabled;
157
- }
158
- this._previousControl = ngControl.control;
159
- }
160
- this.updateErrorState();
161
- }
162
- /** @ignore */
163
- ngOnChanges(changes) {
164
- // Managing disabled state is handled via the `mixinDisabled` mixin/generator, but we still need to signal
165
- // to the parent form field so it can run change detection when disabled state is changed.
166
- if (changes['disabled']) {
167
- this.stateChanges.next();
168
- }
169
- }
170
- /** @ignore */
171
- ngOnDestroy() {
172
- this.stateChanges.complete();
173
- }
174
- /** @ignore */
175
- ngOnInit() {
176
- this.datetimePickerControl.valueChanges
177
- .pipe(takeUntilDestroyed(this._destroyRef))
178
- .subscribe(v => {
179
- this.cvaOnChange(v);
180
- this.valueChange.emit(v);
181
- this._updateDisplayedValue(v);
182
- });
183
- }
184
- /* ControlValueAccessor */
185
- /** @ignore */
186
- writeValue(obj) {
187
- this.datetimePickerControl.setValue(obj, { emitEvent: false });
188
- this._changeDetector.markForCheck();
189
- }
190
- /** @ignore */
191
- registerOnChange(fn) {
192
- this.cvaOnChange = fn;
193
- }
194
- /** @ignore */
195
- registerOnTouched(fn) {
196
- this.cvaOnTouched = fn;
197
- }
198
- /** @ignore */
199
- setDisabledState(isDisabled) {
200
- this.disabled = isDisabled;
201
- if (isDisabled) {
202
- this.datetimePickerControl.disable();
203
- }
204
- else {
205
- this.datetimePickerControl.enable();
206
- }
207
- this._changeDetector.markForCheck();
208
- }
209
- /* ImpdcFormFieldControl */
210
- get value() {
211
- return this.datetimePickerControl.value;
212
- }
213
- set value(value) {
214
- if (value !== this.datetimePickerControl.value) {
215
- this.datetimePickerControl.setValue(value);
216
- this.stateChanges.next();
217
- }
218
- }
219
- get id() {
220
- return this._id;
221
- }
222
- set id(value) {
223
- this._id = value || this._uid;
224
- this.stateChanges.next();
225
- }
226
- /**
227
- * Used to set requiredness of control in a template-based manner;
228
- * not necessary when using the Angular reactive forms API and `required` validator.
229
- *
230
- * @default false
231
- */
232
- get required() {
233
- return (this._required ??
234
- this.ngControl?.control?.hasValidator(Validators.required) ??
235
- false);
236
- }
237
- set required(value) {
238
- this._required = value;
239
- this.stateChanges.next();
240
- }
241
- get focused() {
242
- return this._focused || this._dropdownOpen;
243
- }
244
- get placeholderText() {
245
- return (this.placeholder?.trim() || `YYYY-MM-DD${this.withTime ? ' hh:mm' : ''}`);
246
- }
247
- updateValue(newValue) {
248
- this.datetimePickerControl.setValue(newValue);
249
- }
250
- handleOpenChange(isOpen) {
251
- this._dropdownOpen = isOpen;
252
- if (isOpen) {
253
- this._onFocus();
254
- }
255
- else {
256
- this._onBlur();
257
- }
258
- this.stateChanges.next();
259
- }
260
- _onFocus() {
261
- if (!this.disabled) {
262
- this._focused = true;
263
- this.stateChanges.next();
264
- }
265
- }
266
- _onBlur() {
267
- this._focused = false;
268
- if (!this.disabled && !this._dropdownOpen) {
269
- this.cvaOnTouched();
270
- this._changeDetector.markForCheck();
271
- this.stateChanges.next();
272
- }
273
- }
274
- _updateDisplayedValue(datetimePickerValue) {
275
- let newValue = '';
276
- if (datetimePickerValue) {
277
- const convertedDateValue = this._ngbDateAdapter.fromModel(datetimePickerValue.date);
278
- if (convertedDateValue) {
279
- newValue = this._datetimeFormatter.format(convertedDateValue, {
280
- value: this.withTime
281
- ? this._ngbTimeAdapter.fromModel(datetimePickerValue.time)
282
- : null,
283
- withSeconds: false
284
- });
285
- }
286
- }
287
- this.displayedValue = newValue;
288
- }
289
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DatetimePickerInputComponent, deps: [{ token: i1.ErrorStateMatcher }, { token: IMPDC_FORM_ROOT, optional: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
290
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: DatetimePickerInputComponent, isStandalone: true, selector: "impdc-datetime-picker-input", inputs: { disabled: "disabled", tabIndex: "tabIndex", markDateDisabled: "markDateDisabled", minDate: "minDate", maxDate: "maxDate", withTime: "withTime", meridianToggleLabel: "meridianToggleLabel", popupButtonLabels: "popupButtonLabels", placeholder: "placeholder", errorStateMatcher: "errorStateMatcher", value: "value", id: "id", required: ["required", "required", booleanAttribute] }, outputs: { valueChange: "valueChange" }, host: { listeners: { "focus": "_onFocus(); focus()" }, properties: { "attr.id": "id", "attr.tabindex": "tabIndex", "attr.aria-required": "required.toString()", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "class.form-control": "true", "class.is-invalid": "errorState", "class.impdc-form-field-control": "true", "class.impdc-datetime-picker-input--required": "required", "class.impdc-datetime-picker-input--disabled": "disabled", "class.impdc-datetime-picker-input--invalid": "errorState", "class.impdc-datetime-picker-input--empty": "empty" } }, providers: [
291
- {
292
- provide: ImpdcFormFieldControl,
293
- useExisting: DatetimePickerInputComponent
294
- }
295
- ], viewQueries: [{ propertyName: "_toggleButtonRef", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n ngbDropdown\n #ngbDropdown=\"ngbDropdown\"\n autoClose=\"outside\"\n container=\"body\"\n dropdownClass=\"impartner-hex\"\n placement=\"bottom bottom-start bottom-end top top-start top-end\"\n (openChange)=\"handleOpenChange($event)\"\n class=\"h-100 w-100\">\n <button\n #toggleButton\n class=\"impdc-datetime-picker--toggle btn border-0 h-100 text-start\"\n type=\"button\"\n role=\"combobox\"\n [disabled]=\"disabled\"\n (focus)=\"_onFocus()\"\n ngbDropdownToggle>\n @if (!displayedValue) {\n <span\n class=\"impdc-datetime-picker--text impdc-datetime-picker--placeholder\"\n >{{ placeholderText }}</span\n >\n } @else {\n <span\n class=\"impdc-datetime-picker--text impdc-datetime-picker--value-text\"\n >{{ displayedValue }}</span\n >\n }\n </button>\n <div\n ngbDropdownMenu\n class=\"impdc-datetime-picker--dropdown w-100 bg-white overflow-y-visible text-gray-600\"\n tabindex=\"-1\">\n <ng-container *ngIf=\"ngbDropdown.isOpen()\">\n <impdc-datetime-picker\n #picker\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [markDateDisabled]=\"markDateDisabled\"\n [withTime]=\"withTime\"\n [meridianToggleLabel]=\"meridianToggleLabel\"\n [timeLayout]=\"{ layout: 'stacked', border: true }\" />\n <div\n class=\"border-gray-200 border-top d-flex flex-column gap-4 mt-2 p-4 w-100\">\n <impdc-datetime-picker-input-footer\n [datetimePicker]=\"picker\"\n [initialValue]=\"datetimePickerControl.value\"\n [cancelLabel]=\"popupButtonLabels.cancelLabel\"\n [clearLabel]=\"popupButtonLabels.clearLabel\"\n [saveLabel]=\"popupButtonLabels.saveLabel\"\n (datetimeSelected)=\"updateValue($event)\"\n (closeRequested)=\"ngbDropdown.close()\" />\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [":host{--impartner-hex-form-select-bg-img: none;padding:0!important;position:relative}:host.impdc-datetime-picker--disabled{background-color:var(--impd-color-gray-100)}.impdc-datetime-picker--toggle{font-weight:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%}.impdc-datetime-picker--toggle :host-context(.is-invalid){padding-right:3rem}.impdc-datetime-picker--toggle:disabled{cursor:default}.impdc-datetime-picker--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.impdc-datetime-picker--placeholder{color:var(--impd-color-gray-400)}.impdc-datetime-picker--dropdown{max-height:unset}button[ngbDropdownToggle].dropdown-toggle:after{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: DatetimePickerComponent, selector: "impdc-datetime-picker", inputs: ["disabled", "tabIndex", "markDateDisabled", "minDate", "maxDate", "timeLayout", "meridianToggleLabel", "withTime", "errorStateMatcher", "value", "id", "required"], outputs: ["valueChange", "blur"] }, { kind: "component", type: DatetimePickerInputFooterComponent, selector: "impdc-datetime-picker-input-footer", inputs: ["datetimePicker", "initialValue", "cancelLabel", "clearLabel", "saveLabel"], outputs: ["datetimeSelected", "closeRequested"] }, { kind: "ngmodule", type: NgbDropdownModule }, { kind: "directive", type: i4.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i4.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i4.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
296
- }
297
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DatetimePickerInputComponent, decorators: [{
298
- type: Component,
299
- args: [{ selector: 'impdc-datetime-picker-input', standalone: true, imports: [
300
- CommonModule,
301
- ReactiveFormsModule,
302
- DatetimePickerComponent,
303
- DatetimePickerInputFooterComponent,
304
- NgbDropdownModule
305
- ], changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['disabled', 'tabIndex'], host: {
306
- '[attr.id]': 'id',
307
- '[attr.tabindex]': 'tabIndex',
308
- '[attr.aria-required]': 'required.toString()',
309
- '[attr.aria-disabled]': 'disabled.toString()',
310
- '[attr.aria-invalid]': 'errorState',
311
- '[class.form-control]': 'true',
312
- '[class.is-invalid]': 'errorState',
313
- '[class.impdc-form-field-control]': 'true',
314
- '[class.impdc-datetime-picker-input--required]': 'required',
315
- '[class.impdc-datetime-picker-input--disabled]': 'disabled',
316
- '[class.impdc-datetime-picker-input--invalid]': 'errorState',
317
- '[class.impdc-datetime-picker-input--empty]': 'empty',
318
- '(focus)': '_onFocus(); focus()'
319
- }, providers: [
320
- {
321
- provide: ImpdcFormFieldControl,
322
- useExisting: DatetimePickerInputComponent
323
- }
324
- ], template: "<div\n ngbDropdown\n #ngbDropdown=\"ngbDropdown\"\n autoClose=\"outside\"\n container=\"body\"\n dropdownClass=\"impartner-hex\"\n placement=\"bottom bottom-start bottom-end top top-start top-end\"\n (openChange)=\"handleOpenChange($event)\"\n class=\"h-100 w-100\">\n <button\n #toggleButton\n class=\"impdc-datetime-picker--toggle btn border-0 h-100 text-start\"\n type=\"button\"\n role=\"combobox\"\n [disabled]=\"disabled\"\n (focus)=\"_onFocus()\"\n ngbDropdownToggle>\n @if (!displayedValue) {\n <span\n class=\"impdc-datetime-picker--text impdc-datetime-picker--placeholder\"\n >{{ placeholderText }}</span\n >\n } @else {\n <span\n class=\"impdc-datetime-picker--text impdc-datetime-picker--value-text\"\n >{{ displayedValue }}</span\n >\n }\n </button>\n <div\n ngbDropdownMenu\n class=\"impdc-datetime-picker--dropdown w-100 bg-white overflow-y-visible text-gray-600\"\n tabindex=\"-1\">\n <ng-container *ngIf=\"ngbDropdown.isOpen()\">\n <impdc-datetime-picker\n #picker\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [markDateDisabled]=\"markDateDisabled\"\n [withTime]=\"withTime\"\n [meridianToggleLabel]=\"meridianToggleLabel\"\n [timeLayout]=\"{ layout: 'stacked', border: true }\" />\n <div\n class=\"border-gray-200 border-top d-flex flex-column gap-4 mt-2 p-4 w-100\">\n <impdc-datetime-picker-input-footer\n [datetimePicker]=\"picker\"\n [initialValue]=\"datetimePickerControl.value\"\n [cancelLabel]=\"popupButtonLabels.cancelLabel\"\n [clearLabel]=\"popupButtonLabels.clearLabel\"\n [saveLabel]=\"popupButtonLabels.saveLabel\"\n (datetimeSelected)=\"updateValue($event)\"\n (closeRequested)=\"ngbDropdown.close()\" />\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [":host{--impartner-hex-form-select-bg-img: none;padding:0!important;position:relative}:host.impdc-datetime-picker--disabled{background-color:var(--impd-color-gray-100)}.impdc-datetime-picker--toggle{font-weight:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%}.impdc-datetime-picker--toggle :host-context(.is-invalid){padding-right:3rem}.impdc-datetime-picker--toggle:disabled{cursor:default}.impdc-datetime-picker--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.impdc-datetime-picker--placeholder{color:var(--impd-color-gray-400)}.impdc-datetime-picker--dropdown{max-height:unset}button[ngbDropdownToggle].dropdown-toggle:after{display:none}\n"] }]
325
- }], ctorParameters: () => [{ type: i1.ErrorStateMatcher }, { type: undefined, decorators: [{
326
- type: Optional
327
- }, {
328
- type: Inject,
329
- args: [IMPDC_FORM_ROOT]
330
- }] }, { type: i2.NgForm, decorators: [{
331
- type: Optional
332
- }] }, { type: i2.FormGroupDirective, decorators: [{
333
- type: Optional
334
- }] }, { type: i2.NgControl, decorators: [{
335
- type: Self
336
- }, {
337
- type: Optional
338
- }] }], propDecorators: { _toggleButtonRef: [{
339
- type: ViewChild,
340
- args: ['toggleButton', { static: true, read: ElementRef }]
341
- }], markDateDisabled: [{
342
- type: Input
343
- }], minDate: [{
344
- type: Input
345
- }], maxDate: [{
346
- type: Input
347
- }], withTime: [{
348
- type: Input
349
- }], meridianToggleLabel: [{
350
- type: Input
351
- }], popupButtonLabels: [{
352
- type: Input
353
- }], placeholder: [{
354
- type: Input
355
- }], errorStateMatcher: [{
356
- type: Input
357
- }], valueChange: [{
358
- type: Output
359
- }], value: [{
360
- type: Input
361
- }], id: [{
362
- type: Input
363
- }], required: [{
364
- type: Input,
365
- args: [{ transform: booleanAttribute }]
366
- }] } });
367
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZGF0ZXRpbWUtcGlja2VyL2NvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyLWlucHV0L2RhdGV0aW1lLXBpY2tlci1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2RhdGV0aW1lLXBpY2tlci9jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlci1pbnB1dC9kYXRldGltZS1waWNrZXItaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBRVYsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUVKLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxXQUFXLEVBSVgsbUJBQW1CLEVBQ25CLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFDTCxjQUFjLEVBRWQsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBSUwsZUFBZSxFQUNmLHFCQUFxQixFQUVyQixhQUFhLEVBQ2IsZUFBZSxFQUNmLGFBQWEsRUFDZCxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFRckUsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQXFDO0lBQzNFLFdBQVcsRUFBRSxRQUFRO0lBQ3JCLFVBQVUsRUFBRSxPQUFPO0lBQ25CLFNBQVMsRUFBRSxNQUFNO0NBQ1QsQ0FBQztBQUVYLE1BQU0saUNBQWlDLEdBQUcsYUFBYSxDQUNyRCxhQUFhLENBQ1gsZUFBZSxDQUNiO0lBR0UsWUFDUyx5QkFBNEMsRUFDNUMsU0FBd0IsRUFDeEIsV0FBbUIsRUFDbkIsZ0JBQW9DLEVBQ3BDLFNBQTJCO1FBSjNCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBbUI7UUFDNUMsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQUN4QixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW9CO1FBQ3BDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBUHBCLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVFoRCxDQUFDO0NBQ0wsQ0FDRixDQUNGLENBQ0YsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBdUNILE1BQU0sT0FBTyw0QkFDWCxTQUFRLGlDQUFpQztJQXlDekM7Ozs7T0FJRztJQUNILElBQ1csT0FBTztRQUNoQixPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNELElBQVcsT0FBTyxDQUFDLEtBQTJCO1FBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxJQUFJLGdCQUFnQixDQUFDO0lBQzVDLENBQUM7SUFHRDs7OztPQUlHO0lBQ0gsSUFDVyxPQUFPO1FBQ2hCLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBVyxPQUFPLENBQUMsS0FBMkI7UUFDNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLElBQUksZ0JBQWdCLENBQUM7SUFDNUMsQ0FBQztJQWVEOzs7O09BSUc7SUFDSCxJQUNXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBVyxpQkFBaUIsQ0FDMUIsS0FBZ0Q7UUFFaEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHO1lBQ3hCLEdBQUcsMkJBQTJCO1lBQzlCLEdBQUcsS0FBSztTQUNULENBQUM7SUFDSixDQUFDO0lBR0Q7Ozs7T0FJRztJQUNILElBQ1csV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQVcsV0FBVyxDQUFDLEtBQWE7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBaUJELFlBQ0UseUJBQTRDLEVBQ1AsU0FBd0IsRUFDakQsV0FBbUIsRUFDbkIsZ0JBQW9DLEVBQzVCLFNBQW9CO1FBRXhDLEtBQUssQ0FDSCx5QkFBeUIsRUFDekIsU0FBUyxFQUNULFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsU0FBUyxDQUNWLENBQUM7UUFuSWEsb0JBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1QyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxDQUFBLGNBQW1CLENBQUEsQ0FBQyxDQUFDO1FBQzlDLG9CQUFlLEdBQUcsTUFBTSxDQUFDLENBQUEsY0FBbUIsQ0FBQSxDQUFDLENBQUM7UUFDOUMsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDcEQsU0FBSSxHQUFHLCtCQUErQixNQUFNLEVBQUUsRUFBRSxDQUFDO1FBRTFELGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRVgsMEJBQXFCLEdBQ3RDLElBQUksV0FBVyxDQUF3QyxJQUFJLENBQUMsQ0FBQztRQUNyRCxnQkFBVyxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDN0IsaUJBQVksR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUE4QjFCLGFBQVEsR0FBa0IsZ0JBQWdCLENBQUM7UUFjM0MsYUFBUSxHQUFrQixnQkFBZ0IsQ0FBQztRQUVuRDs7V0FFRztRQUVJLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFeEI7O1dBRUc7UUFFSSx3QkFBbUIsR0FBVyxvQkFBb0IsQ0FBQztRQW1CbEQsdUJBQWtCLEdBQUcsMkJBQTJCLENBQUM7UUFlakQsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFLMUI7Ozs7V0FJRztRQUVhLGdCQUFXLEdBR2YsSUFBSSxZQUFZLEVBQXlDLENBQUM7UUFpSzVELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFWCxnQkFBVyxHQUFXLDZCQUE2QixDQUFDO1FBQ3BELG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBRWhELGVBQWU7UUFFTCxtQkFBYyxHQUFXLEVBQUUsQ0FBQztRQXZKcEMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3RDLENBQUM7UUFFRCxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELGNBQWM7SUFDZCxJQUFXLEtBQUs7UUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsY0FBYztJQUNQLEtBQUssQ0FBQyxPQUFzQjtRQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQscUJBQXFCO0lBRXJCLGNBQWM7SUFDUCxTQUFTO1FBQ2QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUVqQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoRCxJQUNFLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTO2dCQUNuQyxTQUFTLENBQUMsUUFBUSxLQUFLLElBQUk7Z0JBQzNCLFNBQVMsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFDcEMsQ0FBQztnQkFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsRUFBRSxRQUFRLENBQUM7WUFDdEMsQ0FBQztZQUVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1FBQzVDLENBQUM7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsY0FBYztJQUNQLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QywwR0FBMEc7UUFDMUcsMEZBQTBGO1FBQzFGLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWM7SUFDUCxXQUFXO1FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELGNBQWM7SUFDUCxRQUFRO1FBQ2IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVk7YUFDcEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUMxQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCwwQkFBMEI7SUFFMUIsY0FBYztJQUNQLFVBQVUsQ0FBQyxHQUFRO1FBQ3hCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsY0FBYztJQUNQLGdCQUFnQixDQUFDLEVBQU87UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWM7SUFDUCxpQkFBaUIsQ0FBQyxFQUFPO1FBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxjQUFjO0lBQ1AsZ0JBQWdCLENBQUUsVUFBbUI7UUFDMUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFFM0IsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN2QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QyxDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsMkJBQTJCO0lBRTNCLElBQ1csS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQztJQUMxQyxDQUFDO0lBQ0QsSUFBVyxLQUFLLENBQUMsS0FBNEM7UUFDM0QsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQ1csRUFBRTtRQUNYLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBQ0QsSUFBVyxFQUFFLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUdEOzs7OztPQUtHO0lBQ0gsSUFDVyxRQUFRO1FBQ2pCLE9BQU8sQ0FDTCxJQUFJLENBQUMsU0FBUztZQUNkLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzFELEtBQUssQ0FDTixDQUFDO0lBQ0osQ0FBQztJQUNELElBQVcsUUFBUSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBR0QsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFVRCxJQUFjLGVBQWU7UUFDM0IsT0FBTyxDQUNMLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksYUFBYSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUN6RSxDQUFDO0lBQ0osQ0FBQztJQUVTLFdBQVcsQ0FBQyxRQUErQztRQUNuRSxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxNQUFlO1FBQ3hDLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1FBRTVCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVTLFFBQVE7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBRVMsT0FBTztRQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFTyxxQkFBcUIsQ0FDM0IsbUJBQTBEO1FBRTFELElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLG1CQUFtQixFQUFFLENBQUM7WUFDeEIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FDdkQsbUJBQW1CLENBQUMsSUFBSSxDQUN6QixDQUFDO1lBRUYsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO2dCQUN2QixRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRTtvQkFDNUQsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRO3dCQUNsQixDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO3dCQUMxRCxDQUFDLENBQUMsSUFBSTtvQkFDUixXQUFXLEVBQUUsS0FBSztpQkFDbkIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztJQUNqQyxDQUFDOzhHQXJXVSw0QkFBNEIsbURBb0lqQixlQUFlO2tHQXBJMUIsNEJBQTRCLDhhQWdSbkIsZ0JBQWdCLDhuQkF2UnpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLHFCQUFxQjtnQkFDOUIsV0FBVyxFQUFFLDRCQUE0QjthQUMxQztTQUNGLHVIQTRCZ0QsVUFBVSx1RkN2SzdELGc0REF3REEsbXZCRG1ESSxZQUFZLGtJQUNaLG1CQUFtQiwrQkFDbkIsdUJBQXVCLGlSQUN2QixrQ0FBa0MscU5BQ2xDLGlCQUFpQjs7MkZBOEJSLDRCQUE0QjtrQkF0Q3hDLFNBQVM7K0JBQ0UsNkJBQTZCLGNBQzNCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixrQ0FBa0M7d0JBQ2xDLGlCQUFpQjtxQkFDbEIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0sVUFFdkMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLFFBRTFCO3dCQUNKLFdBQVcsRUFBRSxJQUFJO3dCQUNqQixpQkFBaUIsRUFBRSxVQUFVO3dCQUM3QixzQkFBc0IsRUFBRSxxQkFBcUI7d0JBQzdDLHNCQUFzQixFQUFFLHFCQUFxQjt3QkFDN0MscUJBQXFCLEVBQUUsWUFBWTt3QkFDbkMsc0JBQXNCLEVBQUUsTUFBTTt3QkFDOUIsb0JBQW9CLEVBQUUsWUFBWTt3QkFDbEMsa0NBQWtDLEVBQUUsTUFBTTt3QkFDMUMsK0NBQStDLEVBQUUsVUFBVTt3QkFDM0QsK0NBQStDLEVBQUUsVUFBVTt3QkFDM0QsOENBQThDLEVBQUUsWUFBWTt3QkFDNUQsNENBQTRDLEVBQUUsT0FBTzt3QkFDckQsU0FBUyxFQUFFLHFCQUFxQjtxQkFDakMsYUFDVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUscUJBQXFCOzRCQUM5QixXQUFXLDhCQUE4Qjt5QkFDMUM7cUJBQ0Y7OzBCQXNJRSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWU7OzBCQUNsQyxRQUFROzswQkFDUixRQUFROzswQkFDUixJQUFJOzswQkFBSSxRQUFRO3lDQTVHVCxnQkFBZ0I7c0JBRHpCLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQVd0RCxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBWUssT0FBTztzQkFEakIsS0FBSztnQkFlSyxPQUFPO3NCQURqQixLQUFLO2dCQWFDLFFBQVE7c0JBRGQsS0FBSztnQkFPQyxtQkFBbUI7c0JBRHpCLEtBQUs7Z0JBU0ssaUJBQWlCO3NCQUQzQixLQUFLO2dCQW9CSyxXQUFXO3NCQURyQixLQUFLO2dCQVdVLGlCQUFpQjtzQkFEaEMsS0FBSztnQkFTVSxXQUFXO3NCQUQxQixNQUFNO2dCQTBISSxLQUFLO3NCQURmLEtBQUs7Z0JBWUssRUFBRTtzQkFEWixLQUFLO2dCQWlCSyxRQUFRO3NCQURsQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBEb0NoZWNrLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNlbGYsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgTmdDb250cm9sLFxuICBOZ0Zvcm0sXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRvcnNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSURhdGV0aW1lUGlja2VyVmFsdWUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQge1xuICBOZ2JEYXRlQWRhcHRlcixcbiAgTmdiRGF0ZVN0cnVjdCxcbiAgTmdiRHJvcGRvd25Nb2R1bGUsXG4gIE5nYlRpbWVBZGFwdGVyXG59IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IG5hbm9pZCB9IGZyb20gJ25hbm9pZCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBFcnJvclN0YXRlTWF0Y2hlcixcbiAgSUNhblVwZGF0ZUVycm9yU3RhdGUsXG4gIElIYXNFcnJvclN0YXRlLFxuICBJTVBEQ19GT1JNX1JPT1QsXG4gIEltcGRjRm9ybUZpZWxkQ29udHJvbCxcbiAgSW1wZGNGb3JtUm9vdCxcbiAgbWl4aW5EaXNhYmxlZCxcbiAgbWl4aW5FcnJvclN0YXRlLFxuICBtaXhpblRhYkluZGV4XG59IGZyb20gJy4uLy4uLy4uL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgSW1wZGNEYXRldGltZUZvcm1hdHRlciB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IERhdGV0aW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0ZXRpbWUtcGlja2VyL2RhdGV0aW1lLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZXRpbWVQaWNrZXJJbnB1dEZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4uL2RhdGV0aW1lLXBpY2tlci1pbnB1dC1mb290ZXInO1xuaW1wb3J0IHsgREVGQVVMVF9NQVhfREFURSwgREVGQVVMVF9NSU5fREFURSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGV0aW1lUGlja2VyUG9wdXBCdXR0b25MYWJlbHMge1xuICByZWFkb25seSBjYW5jZWxMYWJlbDogc3RyaW5nO1xuICByZWFkb25seSBjbGVhckxhYmVsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNhdmVMYWJlbDogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9QT1BVUF9CVVRUT05fTEFCRUxTOiBJRGF0ZXRpbWVQaWNrZXJQb3B1cEJ1dHRvbkxhYmVscyA9IHtcbiAgY2FuY2VsTGFiZWw6ICdDYW5jZWwnLFxuICBjbGVhckxhYmVsOiAnQ2xlYXInLFxuICBzYXZlTGFiZWw6ICdTYXZlJ1xufSBhcyBjb25zdDtcblxuY29uc3QgX0RhdGV0aW1lUGlja2VySW5wdXRDb21wb25lbnRCYXNlID0gbWl4aW5UYWJJbmRleChcbiAgbWl4aW5EaXNhYmxlZChcbiAgICBtaXhpbkVycm9yU3RhdGUoXG4gICAgICBjbGFzcyB7XG4gICAgICAgIHB1YmxpYyByZWFkb25seSBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICAgIHB1YmxpYyBfZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyOiBFcnJvclN0YXRlTWF0Y2hlcixcbiAgICAgICAgICBwdWJsaWMgX2Zvcm1Sb290OiBJbXBkY0Zvcm1Sb290LFxuICAgICAgICAgIHB1YmxpYyBfcGFyZW50Rm9ybTogTmdGb3JtLFxuICAgICAgICAgIHB1YmxpYyBfcGFyZW50Rm9ybUdyb3VwOiBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgICAgICAgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sIHwgbnVsbFxuICAgICAgICApIHt9XG4gICAgICB9XG4gICAgKVxuICApXG4pO1xuXG4vKipcbiAqIEEgY29udHJvbCBmb3Igc2VsZWN0aW5nIGRhdGUgb3IgZGF0ZXRpbWUgdmlhIGFuIGludGVyYWN0aXZlIGRyb3Bkb3duIGNvbnRyb2wuXG4gKlxuICogSW1wbGVtZW50cyBbQ29udHJvbFZhbHVlQWNjZXNzb3JdKGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvQ29udHJvbFZhbHVlQWNjZXNzb3IpIHRvIHN1cHBvcnQgdHdvLXdheSBiaW5kaW5nIHdpdGhcbiAqIEFuZ3VsYXIgZm9ybXMgdmlhIHVzYWdlIG9mIHRoZSBcXGBbKG5nTW9kZWwpXVxcYCwgXFxgW2Zvcm1Db250cm9sXVxcYCwgYW5kIFxcYFtmb3JtQ29udHJvbE5hbWVdXFxgIGRpcmVjdGl2ZXMuXG4gKlxuICogVGhlIGRhdGUgYW5kIHRpbWUgY29udHJvbHMgaW5zaWRlIHRoaXMgY29tcG9uZW50IGxldmVyYWdlIHRoZSB2YWx1ZSBhZGFwdGVyIHBhdHRlcm5zIGFuZCBzZXJ2aWNlcyBvZiBORy1Cb290c3RyYXAnc1xuICogW0RhdGVwaWNrZXJdKGh0dHBzOi8vbmctYm9vdHN0cmFwLmdpdGh1Yi5pby8jL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9vdmVydmlldyNkYXRlLW1vZGVsKSBhbmRcbiAqIFtUaW1lcGlja2VyXShodHRwczovL25nLWJvb3RzdHJhcC5naXRodWIuaW8vIy9jb21wb25lbnRzL3RpbWVwaWNrZXIvZXhhbXBsZXMjYWRhcHRlcikgY29tcG9uZW50cyB3aGVuIHdvcmtpbmcgd2l0aCBpbnB1dCB2YWx1ZXMuXG4gKiBUaGlzIG1lYW5zIHRoYXQgYGRhdGVgIHZhbHVlcyB3aWxsIGJlIFtOZ2JEYXRlU3RydWN0XShodHRwczovL25nLWJvb3RzdHJhcC5naXRodWIuaW8vIy9jb21wb25lbnRzL2RhdGVwaWNrZXIvYXBpI05nYkRhdGVTdHJ1Y3QpXG4gKiBvYmplY3RzIGFuZCBgdGltZWAgdmFsdWVzIHdpbGwgYmUgW05nYlRpbWVTdHJ1Y3RdKGh0dHBzOi8vbmctYm9vdHN0cmFwLmdpdGh1Yi5pby8jL2NvbXBvbmVudHMvdGltZXBpY2tlci9hcGkjTmdiVGltZVN0cnVjdCkgb2JqZWN0c1xuICogYnkgZGVmYXVsdCwgYW5kIHRoZSBbTmdiRGF0ZUFkYXB0ZXJdKGh0dHBzOi8vbmctYm9vdHN0cmFwLmdpdGh1Yi5pby8jL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9hcGkjTmdiRGF0ZUFkYXB0ZXIpIGFuZFxuICogW05nYlRpbWVBZGFwdGVyXShodHRwczovL25nLWJvb3RzdHJhcC5naXRodWIuaW8vIy9jb21wb25lbnRzL3RpbWVwaWNrZXIvYXBpI05nYlRpbWVBZGFwdGVyKSBzZXJ2aWNlcyB3aWxsIGJlIHVzZWQgdG8gaGFuZGxlIHRoZW0gcmVzcGVjdGl2ZWx5LlxuICogSWYgdXNhZ2Ugb2YgYWx0ZXJuYXRpdmUgZGF0ZSBhbmQgdGltZSBtb2RlbHMgaXMgZGVzaXJlZCwgY29uc3VsdCBORy1Cb290c3RyYXAncyBkb2N1bWVudGF0aW9uIGZvciBkaXJlY3Rpb25zLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbXBkYy1kYXRldGltZS1waWNrZXItaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRGF0ZXRpbWVQaWNrZXJDb21wb25lbnQsXG4gICAgRGF0ZXRpbWVQaWNrZXJJbnB1dEZvb3RlckNvbXBvbmVudCxcbiAgICBOZ2JEcm9wZG93bk1vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXRpbWUtcGlja2VyLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZXRpbWUtcGlja2VyLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAndGFiSW5kZXgnXSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICAnW2F0dHIudGFiaW5kZXhdJzogJ3RhYkluZGV4JyxcbiAgICAnW2F0dHIuYXJpYS1yZXF1aXJlZF0nOiAncmVxdWlyZWQudG9TdHJpbmcoKScsXG4gICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkLnRvU3RyaW5nKCknLFxuICAgICdbYXR0ci5hcmlhLWludmFsaWRdJzogJ2Vycm9yU3RhdGUnLFxuICAgICdbY2xhc3MuZm9ybS1jb250cm9sXSc6ICd0cnVlJyxcbiAgICAnW2NsYXNzLmlzLWludmFsaWRdJzogJ2Vycm9yU3RhdGUnLFxuICAgICdbY2xhc3MuaW1wZGMtZm9ybS1maWVsZC1jb250cm9sXSc6ICd0cnVlJyxcbiAgICAnW2NsYXNzLmltcGRjLWRhdGV0aW1lLXBpY2tlci1pbnB1dC0tcmVxdWlyZWRdJzogJ3JlcXVpcmVkJyxcbiAgICAnW2NsYXNzLmltcGRjLWRhdGV0aW1lLXBpY2tlci1pbnB1dC0tZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAnW2NsYXNzLmltcGRjLWRhdGV0aW1lLXBpY2tlci1pbnB1dC0taW52YWxpZF0nOiAnZXJyb3JTdGF0ZScsXG4gICAgJ1tjbGFzcy5pbXBkYy1kYXRldGltZS1waWNrZXItaW5wdXQtLWVtcHR5XSc6ICdlbXB0eScsXG4gICAgJyhmb2N1cyknOiAnX29uRm9jdXMoKTsgZm9jdXMoKSdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogSW1wZGNGb3JtRmllbGRDb250cm9sLFxuICAgICAgdXNlRXhpc3Rpbmc6IERhdGV0aW1lUGlja2VySW5wdXRDb21wb25lbnRcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXRpbWVQaWNrZXJJbnB1dENvbXBvbmVudFxuICBleHRlbmRzIF9EYXRldGltZVBpY2tlcklucHV0Q29tcG9uZW50QmFzZVxuICBpbXBsZW1lbnRzXG4gICAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gICAgRG9DaGVjayxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBJbXBkY0Zvcm1GaWVsZENvbnRyb2w8SURhdGV0aW1lUGlja2VyVmFsdWU8YW55LCBhbnk+IHwgbnVsbD4sXG4gICAgSUNhblVwZGF0ZUVycm9yU3RhdGUsXG4gICAgSUhhc0Vycm9yU3RhdGVcbntcbiAgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9uZ2JEYXRlQWRhcHRlciA9IGluamVjdChOZ2JEYXRlQWRhcHRlcjxhbnk+KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbmdiVGltZUFkYXB0ZXIgPSBpbmplY3QoTmdiVGltZUFkYXB0ZXI8YW55Pik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RhdGV0aW1lRm9ybWF0dGVyID0gaW5qZWN0KEltcGRjRGF0ZXRpbWVGb3JtYXR0ZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IF91aWQgPSBgaW1wZGMtZGF0ZXRpbWUtcGlja2VyLWlucHV0LSR7bmFub2lkKCl9YDtcbiAgcHJpdmF0ZSBfcHJldmlvdXNDb250cm9sPzogQWJzdHJhY3RDb250cm9sIHwgbnVsbDtcbiAgcHJpdmF0ZSBfZHJvcGRvd25PcGVuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRhdGV0aW1lUGlja2VyQ29udHJvbCA9XG4gICAgbmV3IEZvcm1Db250cm9sPElEYXRldGltZVBpY2tlclZhbHVlPGFueSwgYW55PiB8IG51bGw+KG51bGwpO1xuICBwcm90ZWN0ZWQgY3ZhT25DaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcbiAgcHJvdGVjdGVkIGN2YU9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIEBWaWV3Q2hpbGQoJ3RvZ2dsZUJ1dHRvbicsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHByb3RlY3RlZCBfdG9nZ2xlQnV0dG9uUmVmITogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG5cbiAgLyoqXG4gICAqIEEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBjYW4gYmUgZXZhbHVhdGVkIHRvIGRlY2lkZSBpZiBhIGdpdmVuIGRhdGUgaXMgZGlzYWJsZWRcbiAgICogaW4gdGhlIGNhbGVuZGFyIHZpZXcuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRlIEFuIFtgTmdiRGF0ZWBdKGh0dHBzOi8vbmctYm9vdHN0cmFwLmdpdGh1Yi5pby8jL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9hcGkjTmdiRGF0ZSkgdmFsdWUgZGVzY3JpYmluZyB0aGUgc2luZ3VsYXIgZGF0ZSBiZWluZyBldmFsdWF0ZWQuXG4gICAqIEBwYXJhbSBjdXJyZW50IFRoZSBtb250aCBhbmQgeWVhciBzZWxlY3RlZCBmb3IgdGhlIGN1cnJlbnQgY2FsZW5kYXIgdmlldy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXJrRGF0ZURpc2FibGVkPzogKFxuICAgIGRhdGU6IE5nYkRhdGVTdHJ1Y3QsXG4gICAgY3VycmVudD86IHsgbW9udGg6IG51bWJlcjsgeWVhcjogbnVtYmVyIH1cbiAgKSA9PiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgZWFybGllc3QgYWxsb3dhYmxlIGRhdGUgZm9yIGRpc3BsYXkgb3Igc2VsZWN0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCB7IHllYXI6IDE5MDAsIG1vbnRoOiAxLCBkYXk6IDEgfVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBtaW5EYXRlKCk6IE5nYkRhdGVTdHJ1Y3Qge1xuICAgIHJldHVybiB7IC4uLnRoaXMuX21pbkRhdGUgfTtcbiAgfVxuICBwdWJsaWMgc2V0IG1pbkRhdGUodmFsdWU6IE5nYkRhdGVTdHJ1Y3QgfCBudWxsKSB7XG4gICAgdGhpcy5fbWluRGF0ZSA9IHZhbHVlIHx8IERFRkFVTFRfTUlOX0RBVEU7XG4gIH1cbiAgcHJpdmF0ZSBfbWluRGF0ZTogTmdiRGF0ZVN0cnVjdCA9IERFRkFVTFRfTUlOX0RBVEU7XG5cbiAgLyoqXG4gICAqIFRoZSBsYXRlc3QgYWxsb3dhYmxlIGRhdGUgZm9yIGRpc3BsYXkgb3Igc2VsZWN0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCB7IHllYXI6IDIwOTksIG1vbnRoOiAxMiwgZGF5OiAzMSB9XG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IG1heERhdGUoKTogTmdiRGF0ZVN0cnVjdCB7XG4gICAgcmV0dXJuIHsgLi4udGhpcy5fbWF4RGF0ZSB9O1xuICB9XG4gIHB1YmxpYyBzZXQgbWF4RGF0ZSh2YWx1ZTogTmdiRGF0ZVN0cnVjdCB8IG51bGwpIHtcbiAgICB0aGlzLl9tYXhEYXRlID0gdmFsdWUgfHwgREVGQVVMVF9NQVhfREFURTtcbiAgfVxuICBwcml2YXRlIF9tYXhEYXRlOiBOZ2JEYXRlU3RydWN0ID0gREVGQVVMVF9NQVhfREFURTtcblxuICAvKipcbiAgICogU2V0IHdoZXRoZXIgdG8gZGlzcGxheSBjb250cm9scyBmb3Igc2VsZWN0aW5nIGEgdGltZSB2YWx1ZSBpbiBhZGRpdGlvbiB0byB0aGUgZGF0ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB3aXRoVGltZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBMYWJlbCB0byBiZSBkaXNwbGF5ZWQgd2l0aCB0aW1lIGNvbnRyb2xzIHRvIGFsbG93IHRoZSB1c2VyIHRvIGlucHV0IDI0LWhvdXIgb3IgbWVyaWRpYW4tYmFzZWQgKEFNLCBQTSkgdGltZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtZXJpZGlhblRvZ2dsZUxhYmVsOiBzdHJpbmcgPSAnVXNlIDI0LWhvdXIgZm9ybWF0JztcblxuICAvKipcbiAgICogT2JqZWN0IGRpY3RhdGluZyB0aGUgbGFiZWxzIHVzZWQgZm9yIHRoZSBidXR0b25zIGRpc3BsYXllZCBpbiB0aGUgZm9vdGVyIG9mIHRoZSBkYXRldGltZSBwaWNrZXIgcG9wdXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IHsgY2FuY2VsTGFiZWw6IFwiQ2FuY2VsXCIsIGNsZWFyTGFiZWw6IFwiQ2xlYXJcIiwgc2F2ZUxhYmVsOiBcIlNhdmVcIiB9XG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHBvcHVwQnV0dG9uTGFiZWxzKCk6IElEYXRldGltZVBpY2tlclBvcHVwQnV0dG9uTGFiZWxzIHtcbiAgICByZXR1cm4gdGhpcy5fcG9wdXBCdXR0b25MYWJlbHM7XG4gIH1cbiAgcHVibGljIHNldCBwb3B1cEJ1dHRvbkxhYmVscyhcbiAgICB2YWx1ZTogUGFydGlhbDxJRGF0ZXRpbWVQaWNrZXJQb3B1cEJ1dHRvbkxhYmVscz5cbiAgKSB7XG4gICAgdGhpcy5fcG9wdXBCdXR0b25MYWJlbHMgPSB7XG4gICAgICAuLi5ERUZBVUxUX1BPUFVQX0JVVFRPTl9MQUJFTFMsXG4gICAgICAuLi52YWx1ZVxuICAgIH07XG4gIH1cbiAgcHJpdmF0ZSBfcG9wdXBCdXR0b25MYWJlbHMgPSBERUZBVUxUX1BPUFVQX0JVVFRPTl9MQUJFTFM7XG5cbiAgLyoqXG4gICAqIFRoZSBwbGFjZWhvbGRlciB0ZXh0IHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgd2hlbiBubyBzZWxlY3Rpb24gaGFzIGJlZW4gbWFkZS5cbiAgICpcbiAgICogQGRlZmF1bHQgWVlZWS1NTS1ERCBoaDptbVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9wbGFjZWhvbGRlcjtcbiAgfVxuICBwdWJsaWMgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHZhbHVlO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwcml2YXRlIF9wbGFjZWhvbGRlciA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBlcnJvclN0YXRlTWF0Y2hlciE6IEVycm9yU3RhdGVNYXRjaGVyO1xuXG4gIC8qKlxuICAgKiBFdmVudHMgZmlyZSB3aGVuIHJhdyB2YWx1ZSBvZiBwaWNrZXIgaW5wdXQgY2hhbmdlcy4gTWFpbmx5IGV4aXN0cyB0byBoYW5kbGVcbiAgICogdHdvLXdheSBiaW5kaW5nIG9mIGB2YWx1ZWAgaW5wdXQgcHJvcGVydHkuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJRGF0ZXRpbWVQaWNrZXJWYWx1ZTxcbiAgICBhbnksXG4gICAgYW55XG4gID4gfCBudWxsPiA9IG5ldyBFdmVudEVtaXR0ZXI8SURhdGV0aW1lUGlja2VyVmFsdWU8YW55LCBhbnk+IHwgbnVsbD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBfZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyOiBFcnJvclN0YXRlTWF0Y2hlcixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KElNUERDX0ZPUk1fUk9PVCkgX2Zvcm1Sb290OiBJbXBkY0Zvcm1Sb290LFxuICAgIEBPcHRpb25hbCgpIF9wYXJlbnRGb3JtOiBOZ0Zvcm0sXG4gICAgQE9wdGlvbmFsKCkgX3BhcmVudEZvcm1Hcm91cDogRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgbmdDb250cm9sOiBOZ0NvbnRyb2xcbiAgKSB7XG4gICAgc3VwZXIoXG4gICAgICBfZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyLFxuICAgICAgX2Zvcm1Sb290LFxuICAgICAgX3BhcmVudEZvcm0sXG4gICAgICBfcGFyZW50Rm9ybUdyb3VwLFxuICAgICAgbmdDb250cm9sXG4gICAgKTtcblxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuXG4gICAgdGhpcy5pZCA9IHRoaXMuaWQ7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgZ2V0IGVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy52YWx1ZTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5fdG9nZ2xlQnV0dG9uUmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMob3B0aW9ucyk7XG4gIH1cblxuICAvKiBMaWZlY3ljbGUgSG9va3MgKi9cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGNvbnN0IG5nQ29udHJvbCA9IHRoaXMubmdDb250cm9sO1xuXG4gICAgaWYgKCFuZ0NvbnRyb2wpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcHJldmlvdXNDb250cm9sICE9PSBuZ0NvbnRyb2wuY29udHJvbCkge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLl9wcmV2aW91c0NvbnRyb2wgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBuZ0NvbnRyb2wuZGlzYWJsZWQgIT09IG51bGwgJiZcbiAgICAgICAgbmdDb250cm9sLmRpc2FibGVkICE9PSB0aGlzLmRpc2FibGVkXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IG5nQ29udHJvbD8uZGlzYWJsZWQ7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX3ByZXZpb3VzQ29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlRXJyb3JTdGF0ZSgpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLyBNYW5hZ2luZyBkaXNhYmxlZCBzdGF0ZSBpcyBoYW5kbGVkIHZpYSB0aGUgYG1peGluRGlzYWJsZWRgIG1peGluL2dlbmVyYXRvciwgYnV0IHdlIHN0aWxsIG5lZWQgdG8gc2lnbmFsXG4gICAgLy8gdG8gdGhlIHBhcmVudCBmb3JtIGZpZWxkIHNvIGl0IGNhbiBydW4gY2hhbmdlIGRldGVjdGlvbiB3aGVuIGRpc2FibGVkIHN0YXRlIGlzIGNoYW5nZWQuXG4gICAgaWYgKGNoYW5nZXNbJ2Rpc2FibGVkJ10pIHtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRhdGV0aW1lUGlja2VyQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUodiA9PiB7XG4gICAgICAgIHRoaXMuY3ZhT25DaGFuZ2Uodik7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2KTtcbiAgICAgICAgdGhpcy5fdXBkYXRlRGlzcGxheWVkVmFsdWUodik7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qIENvbnRyb2xWYWx1ZUFjY2Vzc29yICovXG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGV0aW1lUGlja2VyQ29udHJvbC5zZXRWYWx1ZShvYmosIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmN2YU9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY3ZhT25Ub3VjaGVkID0gZm47XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuXG4gICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZGF0ZXRpbWVQaWNrZXJDb250cm9sLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kYXRldGltZVBpY2tlckNvbnRyb2wuZW5hYmxlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKiBJbXBkY0Zvcm1GaWVsZENvbnRyb2wgKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IElEYXRldGltZVBpY2tlclZhbHVlPGFueSwgYW55PiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmRhdGV0aW1lUGlja2VyQ29udHJvbC52YWx1ZTtcbiAgfVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBJRGF0ZXRpbWVQaWNrZXJWYWx1ZTxhbnksIGFueT4gfCBudWxsKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmRhdGV0aW1lUGlja2VyQ29udHJvbC52YWx1ZSkge1xuICAgICAgdGhpcy5kYXRldGltZVBpY2tlckNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cbiAgcHVibGljIHNldCBpZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5faWQgPSB2YWx1ZSB8fCB0aGlzLl91aWQ7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHByb3RlY3RlZCBfaWQhOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gc2V0IHJlcXVpcmVkbmVzcyBvZiBjb250cm9sIGluIGEgdGVtcGxhdGUtYmFzZWQgbWFubmVyO1xuICAgKiBub3QgbmVjZXNzYXJ5IHdoZW4gdXNpbmcgdGhlIEFuZ3VsYXIgcmVhY3RpdmUgZm9ybXMgQVBJIGFuZCBgcmVxdWlyZWRgIHZhbGlkYXRvci5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLl9yZXF1aXJlZCA/P1xuICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSA/P1xuICAgICAgZmFsc2VcbiAgICApO1xuICB9XG4gIHB1YmxpYyBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IHZhbHVlO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWQgfHwgdGhpcy5fZHJvcGRvd25PcGVuO1xuICB9XG4gIHByb3RlY3RlZCBfZm9jdXNlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb250cm9sVHlwZTogc3RyaW5nID0gJ2ltcGRjLWRhdGV0aW1lLXBpY2tlci1pbnB1dCc7XG4gIHB1YmxpYyByZWFkb25seSBzdXBwb3J0c0FmZml4ZXM6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qIEludGVybmFscyAqL1xuXG4gIHByb3RlY3RlZCBkaXNwbGF5ZWRWYWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgcHJvdGVjdGVkIGdldCBwbGFjZWhvbGRlclRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5wbGFjZWhvbGRlcj8udHJpbSgpIHx8IGBZWVlZLU1NLUREJHt0aGlzLndpdGhUaW1lID8gJyBoaDptbScgOiAnJ31gXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVWYWx1ZShuZXdWYWx1ZTogSURhdGV0aW1lUGlja2VyVmFsdWU8YW55LCBhbnk+IHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuZGF0ZXRpbWVQaWNrZXJDb250cm9sLnNldFZhbHVlKG5ld1ZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVPcGVuQ2hhbmdlKGlzT3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX2Ryb3Bkb3duT3BlbiA9IGlzT3BlbjtcblxuICAgIGlmIChpc09wZW4pIHtcbiAgICAgIHRoaXMuX29uRm9jdXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fb25CbHVyKCk7XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9vbkZvY3VzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5fZm9jdXNlZCA9IHRydWU7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9vbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5fZm9jdXNlZCA9IGZhbHNlO1xuXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkICYmICF0aGlzLl9kcm9wZG93bk9wZW4pIHtcbiAgICAgIHRoaXMuY3ZhT25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVEaXNwbGF5ZWRWYWx1ZShcbiAgICBkYXRldGltZVBpY2tlclZhbHVlOiBJRGF0ZXRpbWVQaWNrZXJWYWx1ZTxhbnksIGFueT4gfCBudWxsXG4gICk6IHZvaWQge1xuICAgIGxldCBuZXdWYWx1ZSA9ICcnO1xuICAgIGlmIChkYXRldGltZVBpY2tlclZhbHVlKSB7XG4gICAgICBjb25zdCBjb252ZXJ0ZWREYXRlVmFsdWUgPSB0aGlzLl9uZ2JEYXRlQWRhcHRlci5mcm9tTW9kZWwoXG4gICAgICAgIGRhdGV0aW1lUGlja2VyVmFsdWUuZGF0ZVxuICAgICAgKTtcblxuICAgICAgaWYgKGNvbnZlcnRlZERhdGVWYWx1ZSkge1xuICAgICAgICBuZXdWYWx1ZSA9IHRoaXMuX2RhdGV0aW1lRm9ybWF0dGVyLmZvcm1hdChjb252ZXJ0ZWREYXRlVmFsdWUsIHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy53aXRoVGltZVxuICAgICAgICAgICAgPyB0aGlzLl9uZ2JUaW1lQWRhcHRlci5mcm9tTW9kZWwoZGF0ZXRpbWVQaWNrZXJWYWx1ZS50aW1lKVxuICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICAgIHdpdGhTZWNvbmRzOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmRpc3BsYXllZFZhbHVlID0gbmV3VmFsdWU7XG4gIH1cbn1cbiIsIjxkaXZcbiAgbmdiRHJvcGRvd25cbiAgI25nYkRyb3Bkb3duPVwibmdiRHJvcGRvd25cIlxuICBhdXRvQ2xvc2U9XCJvdXRzaWRlXCJcbiAgY29udGFpbmVyPVwiYm9keVwiXG4gIGRyb3Bkb3duQ2xhc3M9XCJpbXBhcnRuZXItaGV4XCJcbiAgcGxhY2VtZW50PVwiYm90dG9tIGJvdHRvbS1zdGFydCBib3R0b20tZW5kIHRvcCB0b3Atc3RhcnQgdG9wLWVuZFwiXG4gIChvcGVuQ2hhbmdlKT1cImhhbmRsZU9wZW5DaGFuZ2UoJGV2ZW50KVwiXG4gIGNsYXNzPVwiaC0xMDAgdy0xMDBcIj5cbiAgPGJ1dHRvblxuICAgICN0b2dnbGVCdXR0b25cbiAgICBjbGFzcz1cImltcGRjLWRhdGV0aW1lLXBpY2tlci0tdG9nZ2xlIGJ0biBib3JkZXItMCBoLTEwMCB0ZXh0LXN0YXJ0XCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICByb2xlPVwiY29tYm9ib3hcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgKGZvY3VzKT1cIl9vbkZvY3VzKClcIlxuICAgIG5nYkRyb3Bkb3duVG9nZ2xlPlxuICAgIEBpZiAoIWRpc3BsYXllZFZhbHVlKSB7XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwiaW1wZGMtZGF0ZXRpbWUtcGlja2VyLS10ZXh0IGltcGRjLWRhdGV0aW1lLXBpY2tlci0tcGxhY2Vob2xkZXJcIlxuICAgICAgPnt7IHBsYWNlaG9sZGVyVGV4dCB9fTwvc3BhblxuICAgID5cbiAgICB9IEBlbHNlIHtcbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJpbXBkYy1kYXRldGltZS1waWNrZXItLXRleHQgaW1wZGMtZGF0ZXRpbWUtcGlja2VyLS12YWx1ZS10ZXh0XCJcbiAgICAgID57eyBkaXNwbGF5ZWRWYWx1ZSB9fTwvc3BhblxuICAgID5cbiAgICB9XG4gIDwvYnV0dG9uPlxuICA8ZGl2XG4gICAgbmdiRHJvcGRvd25NZW51XG4gICAgY2xhc3M9XCJpbXBkYy1kYXRldGltZS1waWNrZXItLWRyb3Bkb3duIHctMTAwIGJnLXdoaXRlIG92ZXJmbG93LXktdmlzaWJsZSB0ZXh0LWdyYXktNjAwXCJcbiAgICB0YWJpbmRleD1cIi0xXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5nYkRyb3Bkb3duLmlzT3BlbigpXCI+XG4gICAgICA8aW1wZGMtZGF0ZXRpbWUtcGlja2VyXG4gICAgICAgICNwaWNrZXJcbiAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgICBbbWFya0RhdGVEaXNhYmxlZF09XCJtYXJrRGF0ZURpc2FibGVkXCJcbiAgICAgICAgW3dpdGhUaW1lXT1cIndpdGhUaW1lXCJcbiAgICAgICAgW21lcmlkaWFuVG9nZ2xlTGFiZWxdPVwibWVyaWRpYW5Ub2dnbGVMYWJlbFwiXG4gICAgICAgIFt0aW1lTGF5b3V0XT1cInsgbGF5b3V0OiAnc3RhY2tlZCcsIGJvcmRlcjogdHJ1ZSB9XCIgLz5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJib3JkZXItZ3JheS0yMDAgYm9yZGVyLXRvcCBkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTQgbXQtMiBwLTQgdy0xMDBcIj5cbiAgICAgICAgPGltcGRjLWRhdGV0aW1lLXBpY2tlci1pbnB1dC1mb290ZXJcbiAgICAgICAgICBbZGF0ZXRpbWVQaWNrZXJdPVwicGlja2VyXCJcbiAgICAgICAgICBbaW5pdGlhbFZhbHVlXT1cImRhdGV0aW1lUGlja2VyQ29udHJvbC52YWx1ZVwiXG4gICAgICAgICAgW2NhbmNlbExhYmVsXT1cInBvcHVwQnV0dG9uTGFiZWxzLmNhbmNlbExhYmVsXCJcbiAgICAgICAgICBbY2xlYXJMYWJlbF09XCJwb3B1cEJ1dHRvbkxhYmVscy5jbGVhckxhYmVsXCJcbiAgICAgICAgICBbc2F2ZUxhYmVsXT1cInBvcHVwQnV0dG9uTGFiZWxzLnNhdmVMYWJlbFwiXG4gICAgICAgICAgKGRhdGV0aW1lU2VsZWN0ZWQpPVwidXBkYXRlVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgKGNsb3NlUmVxdWVzdGVkKT1cIm5nYkRyb3Bkb3duLmNsb3NlKClcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './datetime-picker-input.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2RhdGV0aW1lLXBpY2tlci9jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlci1pbnB1dC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRldGltZS1waWNrZXItaW5wdXQuY29tcG9uZW50JztcbiJdfQ==
@@ -1,68 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, EventEmitter, Input, Output, inject } from '@angular/core';
3
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
- import { FormControl } from '@angular/forms';
5
- import { ButtonModule } from '../../../button';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../../button/button.component";
8
- export class DatetimePickerInputFooterComponent {
9
- constructor() {
10
- this._cd = inject(ChangeDetectorRef);
11
- this._destroyRef = inject(DestroyRef);
12
- this.datetimePickerFormControl = new FormControl(null);
13
- this.initialValue = null;
14
- this.cancelLabel = 'Cancel';
15
- this.clearLabel = 'Clear';
16
- this.saveLabel = 'Save';
17
- this.datetimeSelected = new EventEmitter();
18
- this.closeRequested = new EventEmitter();
19
- }
20
- ngOnInit() {
21
- this.datetimePickerFormControl.valueChanges
22
- .pipe(takeUntilDestroyed(this._destroyRef))
23
- .subscribe(v => this.datetimePicker.writeValue(v));
24
- this.datetimePickerFormControl.reset(this.initialValue);
25
- this.datetimePicker.registerOnChange((value) => {
26
- this.datetimePickerFormControl.setValue(value, { emitEvent: false });
27
- this._cd.markForCheck();
28
- });
29
- }
30
- allowSave() {
31
- const currentValue = this.datetimePickerFormControl.value;
32
- return (!!currentValue?.date &&
33
- (!this.datetimePicker.withTime || !!currentValue.time));
34
- }
35
- clearAndClose() {
36
- this.datetimePickerFormControl.reset(null);
37
- this.saveAndClose();
38
- }
39
- saveAndClose() {
40
- this.datetimeSelected.emit(this.datetimePickerFormControl.value);
41
- this.closePicker();
42
- }
43
- closePicker() {
44
- this.closeRequested.emit();
45
- }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DatetimePickerInputFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: DatetimePickerInputFooterComponent, isStandalone: true, selector: "impdc-datetime-picker-input-footer", inputs: { datetimePicker: "datetimePicker", initialValue: "initialValue", cancelLabel: "cancelLabel", clearLabel: "clearLabel", saveLabel: "saveLabel" }, outputs: { datetimeSelected: "datetimeSelected", closeRequested: "closeRequested" }, ngImport: i0, template: "<div class=\"d-flex gap-3\">\n <button class=\"btn btn-link me-auto\" type=\"button\" (click)=\"clearAndClose()\">\n {{ clearLabel }}\n </button>\n <button impdcButton theme=\"secondary\" (click)=\"closePicker()\">\n {{ cancelLabel }}\n </button>\n <button\n impdcButton\n theme=\"primary\"\n [disabled]=\"!allowSave()\"\n (click)=\"saveAndClose()\">\n {{ saveLabel }}\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DatetimePickerInputFooterComponent, decorators: [{
50
- type: Component,
51
- args: [{ selector: 'impdc-datetime-picker-input-footer', standalone: true, imports: [CommonModule, ButtonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"d-flex gap-3\">\n <button class=\"btn btn-link me-auto\" type=\"button\" (click)=\"clearAndClose()\">\n {{ clearLabel }}\n </button>\n <button impdcButton theme=\"secondary\" (click)=\"closePicker()\">\n {{ cancelLabel }}\n </button>\n <button\n impdcButton\n theme=\"primary\"\n [disabled]=\"!allowSave()\"\n (click)=\"saveAndClose()\">\n {{ saveLabel }}\n </button>\n</div>\n" }]
52
- }], propDecorators: { datetimePicker: [{
53
- type: Input,
54
- args: [{ required: true }]
55
- }], initialValue: [{
56
- type: Input
57
- }], cancelLabel: [{
58
- type: Input
59
- }], clearLabel: [{
60
- type: Input
61
- }], saveLabel: [{
62
- type: Input
63
- }], datetimeSelected: [{
64
- type: Output
65
- }], closeRequested: [{
66
- type: Output
67
- }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLWlucHV0LWZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2RhdGV0aW1lLXBpY2tlci9jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlci1pbnB1dC1mb290ZXIvZGF0ZXRpbWUtcGlja2VyLWlucHV0LWZvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2RhdGV0aW1lLXBpY2tlci9jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlci1pbnB1dC1mb290ZXIvZGF0ZXRpbWUtcGlja2VyLWlucHV0LWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBWS9DLE1BQU0sT0FBTyxrQ0FBa0M7SUFSL0M7UUFTbUIsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2hDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9CLDhCQUF5QixHQUMxQyxJQUFJLFdBQVcsQ0FBd0MsSUFBSSxDQUFDLENBQUM7UUFNeEQsaUJBQVksR0FBMEMsSUFBSSxDQUFDO1FBRzNELGdCQUFXLEdBQVcsUUFBUSxDQUFDO1FBRy9CLGVBQVUsR0FBVyxPQUFPLENBQUM7UUFHN0IsY0FBUyxHQUFXLE1BQU0sQ0FBQztRQUdsQixxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFHeEMsQ0FBQztRQUdJLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQXFDM0Q7SUFuQ1EsUUFBUTtRQUNiLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZO2FBQ3hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDMUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUNsQyxDQUFDLEtBQW9ELEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sU0FBUztRQUNkLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUM7UUFFMUQsT0FBTyxDQUNMLENBQUMsQ0FBQyxZQUFZLEVBQUUsSUFBSTtZQUNwQixDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FDdkQsQ0FBQztJQUNKLENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7OEdBaEVVLGtDQUFrQztrR0FBbEMsa0NBQWtDLDZVQzFCL0MsbWFBZUEseURETVksWUFBWSw4QkFBRSxZQUFZOzsyRkFLekIsa0NBQWtDO2tCQVI5QyxTQUFTOytCQUNFLG9DQUFvQyxjQUNsQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNOzhCQVN4QyxjQUFjO3NCQURwQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFJbEIsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlVLGdCQUFnQjtzQkFEL0IsTUFBTTtnQkFPUyxjQUFjO3NCQUQ3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9idXR0b24nO1xuaW1wb3J0IHsgSURhdGV0aW1lUGlja2VyVmFsdWUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBEYXRldGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uL2RhdGV0aW1lLXBpY2tlci9kYXRldGltZS1waWNrZXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1wZGMtZGF0ZXRpbWUtcGlja2VyLWlucHV0LWZvb3RlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJ1dHRvbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRldGltZS1waWNrZXItaW5wdXQtZm9vdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZXRpbWUtcGlja2VyLWlucHV0LWZvb3Rlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYXRldGltZVBpY2tlcklucHV0Rm9vdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2QgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0ZXRpbWVQaWNrZXJGb3JtQ29udHJvbCA9XG4gICAgbmV3IEZvcm1Db250cm9sPElEYXRldGltZVBpY2tlclZhbHVlPGFueSwgYW55PiB8IG51bGw+KG51bGwpO1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyBkYXRldGltZVBpY2tlciE6IERhdGV0aW1lUGlja2VyQ29tcG9uZW50O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbml0aWFsVmFsdWU6IElEYXRldGltZVBpY2tlclZhbHVlPGFueSwgYW55PiB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYW5jZWxMYWJlbDogc3RyaW5nID0gJ0NhbmNlbCc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNsZWFyTGFiZWw6IHN0cmluZyA9ICdDbGVhcic7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNhdmVMYWJlbDogc3RyaW5nID0gJ1NhdmUnO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgZGF0ZXRpbWVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SURhdGV0aW1lUGlja2VyVmFsdWU8XG4gICAgYW55LFxuICAgIGFueVxuICA+IHwgbnVsbD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGNsb3NlUmVxdWVzdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRhdGV0aW1lUGlja2VyRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKHYgPT4gdGhpcy5kYXRldGltZVBpY2tlci53cml0ZVZhbHVlKHYpKTtcbiAgICB0aGlzLmRhdGV0aW1lUGlja2VyRm9ybUNvbnRyb2wucmVzZXQodGhpcy5pbml0aWFsVmFsdWUpO1xuICAgIHRoaXMuZGF0ZXRpbWVQaWNrZXIucmVnaXN0ZXJPbkNoYW5nZShcbiAgICAgICh2YWx1ZTogSURhdGV0aW1lUGlja2VyVmFsdWU8dW5rbm93biwgdW5rbm93bj4gfCBudWxsKSA9PiB7XG4gICAgICAgIHRoaXMuZGF0ZXRpbWVQaWNrZXJGb3JtQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFsbG93U2F2ZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLmRhdGV0aW1lUGlja2VyRm9ybUNvbnRyb2wudmFsdWU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgISFjdXJyZW50VmFsdWU/LmRhdGUgJiZcbiAgICAgICghdGhpcy5kYXRldGltZVBpY2tlci53aXRoVGltZSB8fCAhIWN1cnJlbnRWYWx1ZS50aW1lKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBbmRDbG9zZSgpIHtcbiAgICB0aGlzLmRhdGV0aW1lUGlja2VyRm9ybUNvbnRyb2wucmVzZXQobnVsbCk7XG4gICAgdGhpcy5zYXZlQW5kQ2xvc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlQW5kQ2xvc2UoKSB7XG4gICAgdGhpcy5kYXRldGltZVNlbGVjdGVkLmVtaXQodGhpcy5kYXRldGltZVBpY2tlckZvcm1Db250cm9sLnZhbHVlKTtcbiAgICB0aGlzLmNsb3NlUGlja2VyKCk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VQaWNrZXIoKSB7XG4gICAgdGhpcy5jbG9zZVJlcXVlc3RlZC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTNcIj5cbiAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tbGluayBtZS1hdXRvXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjbGVhckFuZENsb3NlKClcIj5cbiAgICB7eyBjbGVhckxhYmVsIH19XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uIGltcGRjQnV0dG9uIHRoZW1lPVwic2Vjb25kYXJ5XCIgKGNsaWNrKT1cImNsb3NlUGlja2VyKClcIj5cbiAgICB7eyBjYW5jZWxMYWJlbCB9fVxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgIGltcGRjQnV0dG9uXG4gICAgdGhlbWU9XCJwcmltYXJ5XCJcbiAgICBbZGlzYWJsZWRdPVwiIWFsbG93U2F2ZSgpXCJcbiAgICAoY2xpY2spPVwic2F2ZUFuZENsb3NlKClcIj5cbiAgICB7eyBzYXZlTGFiZWwgfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './datetime-picker-input-footer.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2RhdGV0aW1lLXBpY2tlci9jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlci1pbnB1dC1mb290ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQ0FBMEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGF0ZXRpbWUtcGlja2VyLWlucHV0LWZvb3Rlci5jb21wb25lbnQnO1xuIl19
@@ -1,6 +0,0 @@
1
- export * from './datepicker-nav';
2
- export * from './datepicker-template-host';
3
- export * from './datetime-picker';
4
- export * from './datetime-picker-input-footer';
5
- export * from './datetime-picker-input';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2RhdGV0aW1lLXBpY2tlci9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGF0ZXBpY2tlci1uYXYnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlcGlja2VyLXRlbXBsYXRlLWhvc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRldGltZS1waWNrZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRldGltZS1waWNrZXItaW5wdXQtZm9vdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZXRpbWUtcGlja2VyLWlucHV0JztcbiJdfQ==
@@ -1,12 +0,0 @@
1
- export const DEFAULT_USE_24HR_TIME_LABEL = 'Use 24-hour format';
2
- export const DEFAULT_MIN_DATE = {
3
- year: 1900,
4
- month: 1,
5
- day: 1
6
- };
7
- export const DEFAULT_MAX_DATE = {
8
- year: 2099,
9
- month: 12,
10
- day: 31
11
- };
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLWRlZmF1bHRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9kYXRldGltZS1waWNrZXIvY29uc3RhbnRzL2RhdGV0aW1lLXBpY2tlci1kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxvQkFBb0IsQ0FBQztBQUNoRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBa0I7SUFDN0MsSUFBSSxFQUFFLElBQUk7SUFDVixLQUFLLEVBQUUsQ0FBQztJQUNSLEdBQUcsRUFBRSxDQUFDO0NBQ0UsQ0FBQztBQUNYLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFrQjtJQUM3QyxJQUFJLEVBQUUsSUFBSTtJQUNWLEtBQUssRUFBRSxFQUFFO0lBQ1QsR0FBRyxFQUFFLEVBQUU7Q0FDQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdiRGF0ZVN0cnVjdCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfVVNFXzI0SFJfVElNRV9MQUJFTCA9ICdVc2UgMjQtaG91ciBmb3JtYXQnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUlOX0RBVEU6IE5nYkRhdGVTdHJ1Y3QgPSB7XG4gIHllYXI6IDE5MDAsXG4gIG1vbnRoOiAxLFxuICBkYXk6IDFcbn0gYXMgY29uc3Q7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVhfREFURTogTmdiRGF0ZVN0cnVjdCA9IHtcbiAgeWVhcjogMjA5OSxcbiAgbW9udGg6IDEyLFxuICBkYXk6IDMxXG59IGFzIGNvbnN0O1xuIl19
@@ -1,2 +0,0 @@
1
- export * from './datetime-picker-defaults';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2RhdGV0aW1lLXBpY2tlci9jb25zdGFudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGF0ZXRpbWUtcGlja2VyLWRlZmF1bHRzJztcbiJdfQ==
@@ -1,22 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { DatetimePickerComponent, DatetimePickerInputComponent } from './components';
3
- import * as i0 from "@angular/core";
4
- const DATETIME_PICKER_DIRECTIVES = [
5
- DatetimePickerComponent,
6
- DatetimePickerInputComponent
7
- ];
8
- export class DatetimePickerModule {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DatetimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: DatetimePickerModule, imports: [DatetimePickerComponent,
11
- DatetimePickerInputComponent], exports: [DatetimePickerComponent,
12
- DatetimePickerInputComponent] }); }
13
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DatetimePickerModule, imports: [DATETIME_PICKER_DIRECTIVES] }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DatetimePickerModule, decorators: [{
16
- type: NgModule,
17
- args: [{
18
- imports: DATETIME_PICKER_DIRECTIVES,
19
- exports: DATETIME_PICKER_DIRECTIVES
20
- }]
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZGF0ZXRpbWUtcGlja2VyL2RhdGV0aW1lLXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLDRCQUE0QixFQUM3QixNQUFNLGNBQWMsQ0FBQzs7QUFFdEIsTUFBTSwwQkFBMEIsR0FBRztJQUNqQyx1QkFBdUI7SUFDdkIsNEJBQTRCO0NBQzdCLENBQUM7QUFNRixNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQixZQVIvQix1QkFBdUI7WUFDdkIsNEJBQTRCLGFBRDVCLHVCQUF1QjtZQUN2Qiw0QkFBNEI7K0dBT2pCLG9CQUFvQixZQUh0QiwwQkFBMEI7OzJGQUd4QixvQkFBb0I7a0JBSmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLDBCQUEwQjtvQkFDbkMsT0FBTyxFQUFFLDBCQUEwQjtpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRGF0ZXRpbWVQaWNrZXJDb21wb25lbnQsXG4gIERhdGV0aW1lUGlja2VySW5wdXRDb21wb25lbnRcbn0gZnJvbSAnLi9jb21wb25lbnRzJztcblxuY29uc3QgREFURVRJTUVfUElDS0VSX0RJUkVDVElWRVMgPSBbXG4gIERhdGV0aW1lUGlja2VyQ29tcG9uZW50LFxuICBEYXRldGltZVBpY2tlcklucHV0Q29tcG9uZW50XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBEQVRFVElNRV9QSUNLRVJfRElSRUNUSVZFUyxcbiAgZXhwb3J0czogREFURVRJTUVfUElDS0VSX0RJUkVDVElWRVNcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXRpbWVQaWNrZXJNb2R1bGUge31cbiJdfQ==
@@ -1,4 +0,0 @@
1
- export { IMPDC_DATETIME_PICKER_FORMATTER_FACTORY, ImpdcDatetimeFormatter, ImpdcDatetimeISOFormatter } from './services';
2
- export { DatepickerNavComponent, DatetimePickerInputFooterComponent, DatepickerTemplateHostComponent, DatetimePickerComponent, DatetimePickerInputComponent } from './components';
3
- export * from './datetime-picker.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2RhdGV0aW1lLXBpY2tlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsdUNBQXVDLEVBQ3ZDLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDMUIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixrQ0FBa0MsRUFDbEMsK0JBQStCLEVBQy9CLHVCQUF1QixFQUN2Qiw0QkFBNEIsRUFDN0IsTUFBTSxjQUFjLENBQUM7QUFDdEIsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IElEYXRldGltZVBpY2tlclZhbHVlIH0gZnJvbSAnLi90eXBlcyc7XG5leHBvcnQge1xuICBJTVBEQ19EQVRFVElNRV9QSUNLRVJfRk9STUFUVEVSX0ZBQ1RPUlksXG4gIEltcGRjRGF0ZXRpbWVGb3JtYXR0ZXIsXG4gIEltcGRjRGF0ZXRpbWVJU09Gb3JtYXR0ZXJcbn0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5leHBvcnQge1xuICBEYXRlcGlja2VyTmF2Q29tcG9uZW50LFxuICBEYXRldGltZVBpY2tlcklucHV0Rm9vdGVyQ29tcG9uZW50LFxuICBEYXRlcGlja2VyVGVtcGxhdGVIb3N0Q29tcG9uZW50LFxuICBEYXRldGltZVBpY2tlckNvbXBvbmVudCxcbiAgRGF0ZXRpbWVQaWNrZXJJbnB1dENvbXBvbmVudFxufSBmcm9tICcuL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRldGltZS1waWNrZXIubW9kdWxlJztcbiJdfQ==