@coolon/angular-ui-powerups 16.1.0-aplpha.5 → 16.1.0-aplpha.51

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 (282) hide show
  1. package/assets/activities/activities.scss +3 -3
  2. package/assets/activities/input-activities.scss +10 -2
  3. package/assets/form.scss +54 -29
  4. package/assets/icons.scss +1 -1
  5. package/assets/interaction/editor/inline-string-editor.scss +4 -0
  6. package/assets/interaction.scss +1 -1
  7. package/assets/place.scss +31 -0
  8. package/assets/styles.scss +2 -0
  9. package/assets/table.scss +19 -17
  10. package/assets/tabs.scss +2 -3
  11. package/esm2022/lib/angular-ui-powerups.module.mjs +9 -9
  12. package/esm2022/lib/components/alignment.mjs +1 -1
  13. package/esm2022/lib/components/busy-overlay/busy-overlay.component.mjs +7 -12
  14. package/esm2022/lib/components/cards/abstract-card-container.component.mjs +4 -4
  15. package/esm2022/lib/components/cards/card-container/card-container.component.mjs +4 -4
  16. package/esm2022/lib/components/commands/command/command.component.mjs +7 -10
  17. package/esm2022/lib/components/commands/command-face/command-face.component.mjs +13 -5
  18. package/esm2022/lib/components/commands/flex.component.mjs +4 -4
  19. package/esm2022/lib/components/commands/group/command-container.mjs +1 -1
  20. package/esm2022/lib/components/commands/group/popup-aware.component.mjs +1 -1
  21. package/esm2022/lib/components/commands/group/popup-container.mjs +1 -1
  22. package/esm2022/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +14 -14
  23. package/esm2022/lib/components/commands/group/popup-menu/more-menu.component.mjs +8 -8
  24. package/esm2022/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +7 -7
  25. package/esm2022/lib/components/commands/group/popup-menu/popup-menu.component.mjs +9 -9
  26. package/esm2022/lib/components/commands/group/tool-bar/tool-bar.component.mjs +11 -18
  27. package/esm2022/lib/components/commands/separator.component.mjs +4 -4
  28. package/esm2022/lib/components/components.module.mjs +41 -38
  29. package/esm2022/lib/components/disposable-component.mjs +11 -40
  30. package/esm2022/lib/components/empty-state/empty-state.component.mjs +5 -9
  31. package/esm2022/lib/components/exports.mjs +6 -3
  32. package/esm2022/lib/components/focus-container/focus-container.component.mjs +4 -4
  33. package/esm2022/lib/components/focusable.component.mjs +5 -5
  34. package/esm2022/lib/components/forms/abstract-input.component.mjs +66 -18
  35. package/esm2022/lib/components/forms/abstract-list-input.component.mjs +4 -4
  36. package/esm2022/lib/components/forms/abstract-value-input.component.mjs +4 -4
  37. package/esm2022/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +11 -12
  38. package/esm2022/lib/components/forms/checkbox-input/checkbox-input.component.mjs +6 -6
  39. package/esm2022/lib/components/forms/form-field.mjs +2 -0
  40. package/esm2022/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +10 -10
  41. package/esm2022/lib/components/forms/number-input/number-input.component.mjs +7 -7
  42. package/esm2022/lib/components/forms/password-input/password-input.component.mjs +7 -7
  43. package/esm2022/lib/components/forms/search-input/search-input.component.mjs +33 -0
  44. package/esm2022/lib/components/forms/select-input/select-input.component.mjs +15 -14
  45. package/esm2022/lib/components/forms/string-input/string-input.component.mjs +9 -9
  46. package/esm2022/lib/components/forms/text-input/text-input.component.mjs +7 -7
  47. package/esm2022/lib/components/icon/icon.component.mjs +9 -6
  48. package/esm2022/lib/components/labelled-value/labelled-value.component.mjs +4 -4
  49. package/esm2022/lib/components/loadable-component.mjs +47 -0
  50. package/esm2022/lib/components/loading-container/loading-container.component.mjs +7 -12
  51. package/esm2022/lib/components/noop/noop.component.mjs +5 -7
  52. package/esm2022/lib/components/resize-aware.component.mjs +64 -27
  53. package/esm2022/lib/components/scroll-container/scroll-container.component.mjs +5 -5
  54. package/esm2022/lib/components/section-header/section-header.component.mjs +4 -4
  55. package/esm2022/lib/components/switch-case/switch-case.component.mjs +12 -12
  56. package/esm2022/lib/components/tables/abstract-table-model.mjs +23 -23
  57. package/esm2022/lib/components/tables/abstract-table.component.mjs +5 -5
  58. package/esm2022/lib/components/tables/column/column-manager.mjs +81 -0
  59. package/esm2022/lib/components/tables/column/column-model.mjs +17 -6
  60. package/esm2022/lib/components/tables/column/column-order-manager.mjs +19 -0
  61. package/esm2022/lib/components/tables/column/column-template/column-template.directive.mjs +4 -4
  62. package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -3
  63. package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +5 -5
  64. package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +5 -5
  65. package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +6 -5
  66. package/esm2022/lib/components/tables/column/property-column-model.mjs +5 -5
  67. package/esm2022/lib/components/tables/column/selection-column-model.mjs +3 -3
  68. package/esm2022/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.mjs +7 -7
  69. package/esm2022/lib/components/tables/editor/edit-session.mjs +4 -2
  70. package/esm2022/lib/components/tables/editor/editable-cell-renderer.mjs +1 -1
  71. package/esm2022/lib/components/tables/filter/column-text-search-formatter.mjs +1 -1
  72. package/esm2022/lib/components/tables/filter/enable-cell-text-search.decorator.mjs +3 -2
  73. package/esm2022/lib/components/tables/filter/table-filter-model.mjs +11 -8
  74. package/esm2022/lib/components/tables/paginator/paginator.component.mjs +5 -5
  75. package/esm2022/lib/components/tables/renderer/cell-editors.mjs +1 -1
  76. package/esm2022/lib/components/tables/renderer/cell-portal-ref.mjs +1 -3
  77. package/esm2022/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +5 -7
  78. package/esm2022/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.mjs +5 -7
  79. package/esm2022/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.mjs +14 -7
  80. package/esm2022/lib/components/tables/renderer/selection-cell/selection-cell.component.mjs +11 -8
  81. package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +28 -28
  82. package/esm2022/lib/components/tables/renderer/table-cell/table-cell.component.mjs +4 -4
  83. package/esm2022/lib/components/tables/renderer/table-header-cell/table-header-cell.component.mjs +5 -7
  84. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.mjs +4 -4
  85. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +13 -8
  86. package/esm2022/lib/components/tables/table/table-model.mjs +1 -1
  87. package/esm2022/lib/components/tables/table/table.component.mjs +6 -6
  88. package/esm2022/lib/components/tables/table-row-menu/table-row-menu.component.mjs +5 -5
  89. package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +1 -1
  90. package/esm2022/lib/components/tables/tree-table/flattened-tree-list-model.mjs +1 -1
  91. package/esm2022/lib/components/tables/tree-table/tree-expansion-model.mjs +1 -1
  92. package/esm2022/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.mjs +5 -7
  93. package/esm2022/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +5 -5
  94. package/esm2022/lib/components/tables/tree-table/tree-label-column-model.mjs +4 -4
  95. package/esm2022/lib/components/tables/tree-table/tree-table-component.mjs +6 -6
  96. package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +2 -2
  97. package/esm2022/lib/components/text/markdown/markdown.component.mjs +5 -5
  98. package/esm2022/lib/components/track.mjs +1 -1
  99. package/esm2022/lib/components/types/bounds.class.mjs +1 -1
  100. package/esm2022/lib/components/vertical-focus-container/vertical-focus-container.component.mjs +4 -4
  101. package/esm2022/lib/directives/command.directive.mjs +11 -11
  102. package/esm2022/lib/directives/directives.module.mjs +10 -10
  103. package/esm2022/lib/directives/exports.mjs +2 -1
  104. package/esm2022/lib/directives/focus-binding-factory.mjs +4 -4
  105. package/esm2022/lib/directives/focus-binding.directive.mjs +5 -5
  106. package/esm2022/lib/directives/focus-binding.mjs +1 -1
  107. package/esm2022/lib/directives/garbage-collector.directive.mjs +5 -4
  108. package/esm2022/lib/directives/highlight-text-model.directive.mjs +4 -4
  109. package/esm2022/lib/directives/highlight.pipe.mjs +4 -4
  110. package/esm2022/lib/directives/resize-observer.directive.mjs +40 -0
  111. package/esm2022/lib/interaction/abstract-interaction-context.mjs +1 -1
  112. package/esm2022/lib/interaction/activity-ref.mjs +2 -2
  113. package/esm2022/lib/interaction/activity.mjs +7 -7
  114. package/esm2022/lib/interaction/alert.mjs +1 -1
  115. package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +4 -4
  116. package/esm2022/lib/interaction/components/abstract-dialog.component.mjs +5 -6
  117. package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +4 -4
  118. package/esm2022/lib/interaction/components/activity-body/activity-body.component.mjs +4 -4
  119. package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +6 -6
  120. package/esm2022/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs +4 -6
  121. package/esm2022/lib/interaction/components/activity-title/activity-title.component.mjs +3 -3
  122. package/esm2022/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.mjs +3 -3
  123. package/esm2022/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +4 -4
  124. package/esm2022/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.mjs +4 -4
  125. package/esm2022/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.mjs +4 -4
  126. package/esm2022/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +4 -4
  127. package/esm2022/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +4 -4
  128. package/esm2022/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +5 -5
  129. package/esm2022/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +5 -5
  130. package/esm2022/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +5 -5
  131. package/esm2022/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +5 -5
  132. package/esm2022/lib/interaction/components/editors/edit-context.mjs +1 -1
  133. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-editor-model.mjs +2 -2
  134. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +8 -8
  135. package/esm2022/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +6 -6
  136. package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +5 -4
  137. package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +7 -4
  138. package/esm2022/lib/interaction/components/input-activities/string-input-activity.mjs +11 -6
  139. package/esm2022/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.mjs +6 -5
  140. package/esm2022/lib/interaction/confirm.mjs +1 -1
  141. package/esm2022/lib/interaction/directives/interaction-context-trigger-for.directive.mjs +5 -5
  142. package/esm2022/lib/interaction/in-place-interaction-context.mjs +1 -1
  143. package/esm2022/lib/interaction/interaction-context.mjs +1 -1
  144. package/esm2022/lib/interaction/interaction.module.mjs +23 -23
  145. package/esm2022/lib/interaction/route-synchronisation-adapter.mjs +1 -1
  146. package/esm2022/lib/interaction/services/interaction-service-routing-adapter.mjs +1 -1
  147. package/esm2022/lib/interaction/services/interaction.service.mjs +6 -6
  148. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +8 -9
  149. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +1 -2
  150. package/esm2022/lib/interaction/services/modal-interaction-context.factory.mjs +1 -1
  151. package/esm2022/lib/place/components/abstract-place-navigation.component.mjs +15 -5
  152. package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +6 -6
  153. package/esm2022/lib/place/components/not-authorised-notice/not-authorised-notice.component.mjs +5 -7
  154. package/esm2022/lib/place/components/place-outlet/place-outlet.component.mjs +5 -5
  155. package/esm2022/lib/place/components/place-outlet/route-animations.mjs +1 -1
  156. package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +15 -10
  157. package/esm2022/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +7 -7
  158. package/esm2022/lib/place/guards/consolidated-param-map.mjs +1 -1
  159. package/esm2022/lib/place/guards/noop-auth-guard.service.mjs +5 -7
  160. package/esm2022/lib/place/guards/place.guard.mjs +5 -5
  161. package/esm2022/lib/place/navigation/place-component-deactivation-handler.mjs +1 -1
  162. package/esm2022/lib/place/navigation/session/abstract-pop-state-navigation.mjs +1 -1
  163. package/esm2022/lib/place/navigation/session/event-cleanup/event-clean-up-session.mjs +1 -1
  164. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.mjs +1 -1
  165. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.mjs +1 -1
  166. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.mjs +1 -1
  167. package/esm2022/lib/place/navigation/session/interactions/navigating-during-interaction.mjs +2 -2
  168. package/esm2022/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.mjs +1 -1
  169. package/esm2022/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.mjs +3 -3
  170. package/esm2022/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +2 -5
  171. package/esm2022/lib/place/navigation/session/navigating.mjs +2 -2
  172. package/esm2022/lib/place/navigation/session/navigation-context.mjs +1 -1
  173. package/esm2022/lib/place/navigation/session/navigation-session.mjs +1 -1
  174. package/esm2022/lib/place/navigation/session/pop-state-navigation.mjs +1 -1
  175. package/esm2022/lib/place/place-access-guard.mjs +1 -1
  176. package/esm2022/lib/place/place-component.mjs +30 -43
  177. package/esm2022/lib/place/place-config.mjs +1 -1
  178. package/esm2022/lib/place/place-definition.mjs +1 -1
  179. package/esm2022/lib/place/place-history.mjs +5 -7
  180. package/esm2022/lib/place/place-router.mjs +20 -18
  181. package/esm2022/lib/place/place.decorator.mjs +1 -1
  182. package/esm2022/lib/place/place.module.mjs +16 -12
  183. package/esm2022/lib/place/route/formatter.mjs +2 -2
  184. package/esm2022/lib/place/route/json-types.mjs +1 -1
  185. package/esm2022/lib/place/route/parameter-decorators.mjs +54 -50
  186. package/esm2022/lib/place/route/parameter-definition.mjs +1 -1
  187. package/esm2022/lib/place/route/parameter-sanitiser.mjs +1 -1
  188. package/esm2022/lib/place/route/parameter-snapshot.mjs +1 -1
  189. package/esm2022/lib/place/route/visit-segment-sanitiser.mjs +1 -1
  190. package/esm2022/lib/place/url-service.mjs +4 -4
  191. package/esm2022/lib/place/url-snapshot.mjs +1 -1
  192. package/esm2022/lib/place/visit-segment.mjs +1 -1
  193. package/esm2022/lib/place/visit.mjs +1 -1
  194. package/esm2022/lib/services/markdown/markdown.service.mjs +5 -7
  195. package/esm2022/lib/services/markdown/pill-plugin.mjs +1 -3
  196. package/esm2022/lib/services/visibility-service.mjs +7 -7
  197. package/fesm2022/coolon-angular-ui-powerups.mjs +2140 -1989
  198. package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
  199. package/lib/angular-ui-powerups.module.d.ts +5 -5
  200. package/lib/components/busy-overlay/busy-overlay.component.d.ts +1 -4
  201. package/lib/components/commands/command/command.component.d.ts +3 -4
  202. package/lib/components/commands/command-face/command-face.component.d.ts +2 -0
  203. package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +3 -3
  204. package/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.d.ts +1 -1
  205. package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +3 -7
  206. package/lib/components/components.module.d.ts +20 -20
  207. package/lib/components/disposable-component.d.ts +3 -8
  208. package/lib/components/empty-state/empty-state.component.d.ts +1 -4
  209. package/lib/components/exports.d.ts +5 -2
  210. package/lib/components/forms/abstract-input.component.d.ts +16 -7
  211. package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +2 -2
  212. package/lib/components/forms/form-field.d.ts +5 -0
  213. package/lib/components/forms/search-input/search-input.component.d.ts +10 -0
  214. package/lib/components/forms/select-input/select-input.component.d.ts +4 -3
  215. package/lib/components/loadable-component.d.ts +14 -0
  216. package/lib/components/loading-container/loading-container.component.d.ts +1 -4
  217. package/lib/components/noop/noop.component.d.ts +0 -1
  218. package/lib/components/resize-aware.component.d.ts +25 -6
  219. package/lib/components/switch-case/switch-case.component.d.ts +4 -4
  220. package/lib/components/tables/abstract-table-model.d.ts +7 -5
  221. package/lib/components/tables/abstract-table.component.d.ts +2 -2
  222. package/lib/components/tables/column/column-manager.d.ts +19 -0
  223. package/lib/components/tables/column/column-model.d.ts +6 -2
  224. package/lib/components/tables/column/column-order-manager.d.ts +20 -0
  225. package/lib/components/tables/column/custom-template-column-model.d.ts +2 -1
  226. package/lib/components/tables/column/custom-value-column-model.d.ts +2 -1
  227. package/lib/components/tables/column/editor-controls-column-model.d.ts +2 -1
  228. package/lib/components/tables/column/list-propery-column-model.d.ts +2 -1
  229. package/lib/components/tables/column/property-column-model.d.ts +2 -1
  230. package/lib/components/tables/column/selection-column-model.d.ts +2 -1
  231. package/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.d.ts +3 -3
  232. package/lib/components/tables/editor/editable-cell-renderer.d.ts +1 -1
  233. package/lib/components/tables/filter/enable-cell-text-search.decorator.d.ts +1 -1
  234. package/lib/components/tables/renderer/cell-portal-ref.d.ts +2 -3
  235. package/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.d.ts +0 -1
  236. package/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.d.ts +0 -1
  237. package/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.d.ts +1 -0
  238. package/lib/components/tables/renderer/table-body/table-body.component.d.ts +9 -9
  239. package/lib/components/tables/renderer/table-header-cell/table-header-cell.component.d.ts +0 -1
  240. package/lib/components/tables/renderer/table-more-menu/table-more-menu.component.d.ts +3 -2
  241. package/lib/components/tables/table/table.component.d.ts +2 -2
  242. package/lib/components/tables/table-row-menu/table-row-menu.component.d.ts +1 -1
  243. package/lib/components/tables/tree-table/tree-expansion-model.d.ts +2 -2
  244. package/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.d.ts +0 -1
  245. package/lib/components/tables/tree-table/tree-label-column-model.d.ts +2 -1
  246. package/lib/components/tables/tree-table/tree-table-component.d.ts +2 -2
  247. package/lib/components/text/markdown/markdown.component.d.ts +1 -1
  248. package/lib/directives/command.directive.d.ts +2 -2
  249. package/lib/directives/directives.module.d.ts +5 -5
  250. package/lib/directives/exports.d.ts +1 -0
  251. package/lib/directives/resize-observer.directive.d.ts +16 -0
  252. package/lib/interaction/activity-ref.d.ts +2 -2
  253. package/lib/interaction/activity.d.ts +2 -2
  254. package/lib/interaction/components/activity-container/activity-container.component.d.ts +1 -1
  255. package/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.d.ts +2 -3
  256. package/lib/interaction/components/editors/edit-context.d.ts +1 -1
  257. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +1 -1
  258. package/lib/interaction/components/input-activities/string-input-activity.d.ts +1 -1
  259. package/lib/interaction/directives/interaction-context-trigger-for.directive.d.ts +3 -3
  260. package/lib/interaction/interaction.module.d.ts +6 -6
  261. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +1 -2
  262. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +1 -2
  263. package/lib/place/components/abstract-place-navigation.component.d.ts +1 -0
  264. package/lib/place/components/not-authorised-notice/not-authorised-notice.component.d.ts +0 -1
  265. package/lib/place/components/side-place-navigation/side-place-navigation.component.d.ts +2 -1
  266. package/lib/place/guards/noop-auth-guard.service.d.ts +0 -1
  267. package/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.d.ts +0 -1
  268. package/lib/place/place-component.d.ts +3 -13
  269. package/lib/place/place-history.d.ts +0 -1
  270. package/lib/place/place-router.d.ts +2 -2
  271. package/lib/place/place.decorator.d.ts +1 -1
  272. package/lib/place/place.module.d.ts +6 -5
  273. package/lib/place/route/json-types.d.ts +1 -3
  274. package/lib/place/visit-segment.d.ts +4 -4
  275. package/lib/place/visit.d.ts +2 -2
  276. package/lib/services/markdown/markdown.service.d.ts +0 -1
  277. package/lib/services/visibility-service.d.ts +1 -1
  278. package/package.json +16 -20
  279. package/esm2022/lib/components/cards/card-stack/card-stack.component.mjs +0 -81
  280. package/esm2022/lib/components/tables/column/column-list-model.mjs +0 -44
  281. package/lib/components/cards/card-stack/card-stack.component.d.ts +0 -68
  282. package/lib/components/tables/column/column-list-model.d.ts +0 -13
@@ -1,13 +1,13 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { Component, ContentChild, Input, TemplateRef } from '@angular/core';
3
- import { Binding, Dsl, ListModel, MutableListModel, StoreInListModel, Proxify, proxify } from '@coolon/pectin';
3
+ import { Binding, Dsl, ListModel, MutableListModel, Proxify, proxify, StoreInListModel } from '@coolon/pectin';
4
4
  import { AbstractListInputComponent } from '../abstract-list-input.component';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common";
7
7
  import * as i2 from "@angular/forms";
8
- import * as i3 from "@angular/material/legacy-form-field";
9
- import * as i4 from "@angular/material/legacy-select";
10
- import * as i5 from "@angular/material/legacy-core";
8
+ import * as i3 from "@angular/material/form-field";
9
+ import * as i4 from "@angular/material/select";
10
+ import * as i5 from "@angular/material/core";
11
11
  import * as i6 from "../../../directives/focus-binding.directive";
12
12
  /**
13
13
  * Using templates:
@@ -41,7 +41,7 @@ export class MultipleSelectInputComponent extends AbstractListInputComponent {
41
41
  const self = this;
42
42
  this.registerDisposable(new Binding(this.componentList$, this.ids$, {
43
43
  toLeft(selectedItems, currentLeftValue) {
44
- const newValues = selectedItems.map(it => lookup.get(it)).filter(it => !it);
44
+ const newValues = selectedItems.map(it => lookup.get(it)).filter(it => !!it);
45
45
  // if our lookup didn't find anything then we return the previous values so we don't clobber selections when the options go empty
46
46
  return newValues.length < 1 && selectedItems.length > 0 ? currentLeftValue : newValues;
47
47
  },
@@ -51,8 +51,8 @@ export class MultipleSelectInputComponent extends AbstractListInputComponent {
51
51
  }
52
52
  })).writeRight();
53
53
  }
54
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: MultipleSelectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
55
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: MultipleSelectInputComponent, selector: "aup-multiple-select-input", inputs: { options$: "options$", options: "options", optionLabel: "optionLabel", optionLabelFormat: "optionLabelFormat" }, queries: [{ propertyName: "optionTemplateRef", first: true, predicate: ["optionTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n multiple\n [ngModel]=\"componentList$.value\"\n (ngModelChange)=\"selectAll($event)\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngFor=\"let option of options$.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <div>{{placeholder}}</div>\n <div class=\"item\" *ngFor=\"let item of options\">{{optionLabelFormat(item)}}</div>\n</div>\n", styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:30px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatLegacyError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i3.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLegacyHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatLegacyLabel, selector: "mat-label" }, { kind: "component", type: i4.MatLegacySelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatLegacyOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i6.FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }] });
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: MultipleSelectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
55
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: MultipleSelectInputComponent, selector: "aup-multiple-select-input", inputs: { options$: "options$", options: "options", optionLabel: "optionLabel", optionLabelFormat: "optionLabelFormat" }, queries: [{ propertyName: "optionTemplateRef", first: true, predicate: ["optionTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n multiple\n [ngModel]=\"componentList$.value\"\n (ngModelChange)=\"selectAll($event)\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngFor=\"let option of options$.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <div>{{placeholder}}</div>\n <div class=\"item\" *ngFor=\"let item of options\">{{optionLabelFormat(item)}}</div>\n</div>\n", styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:30px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i6.FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }] });
56
56
  }
57
57
  __decorate([
58
58
  Proxify(),
@@ -62,9 +62,9 @@ __decorate([
62
62
  StoreInListModel(),
63
63
  __metadata("design:type", Array)
64
64
  ], MultipleSelectInputComponent.prototype, "options", null);
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: MultipleSelectInputComponent, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: MultipleSelectInputComponent, decorators: [{
66
66
  type: Component,
67
- args: [{ selector: 'aup-multiple-select-input', template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n multiple\n [ngModel]=\"componentList$.value\"\n (ngModelChange)=\"selectAll($event)\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngFor=\"let option of options$.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <div>{{placeholder}}</div>\n <div class=\"item\" *ngFor=\"let item of options\">{{optionLabelFormat(item)}}</div>\n</div>\n", styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:30px}\n"] }]
67
+ args: [{ selector: 'aup-multiple-select-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n multiple\n [ngModel]=\"componentList$.value\"\n (ngModelChange)=\"selectAll($event)\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngFor=\"let option of options$.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <div>{{placeholder}}</div>\n <div class=\"item\" *ngFor=\"let item of options\">{{optionLabelFormat(item)}}</div>\n</div>\n", styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:30px}\n"] }]
68
68
  }], ctorParameters: function () { return []; }, propDecorators: { options$: [{
69
69
  type: Input
70
70
  }], options: [{
@@ -77,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
77
77
  }], optionLabelFormat: [{
78
78
  type: Input
79
79
  }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtc2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvbXVsdGlwbGUtc2VsZWN0LWlucHV0L211bHRpcGxlLXNlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL211bHRpcGxlLXNlbGVjdC1pbnB1dC9tdWx0aXBsZS1zZWxlY3QtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUNMLE9BQU8sRUFFUCxHQUFHLEVBQ0gsU0FBUyxFQUNULGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsT0FBTyxFQUFFLE9BQU8sRUFDakIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7QUFFNUU7Ozs7OztHQU1HO0FBTUgsTUFBTSxPQUFPLDRCQUFzQyxTQUFRLDBCQUE2QjtJQUc3RSw2QkFBVyxPQUFPLENBQUMsQ0FBQSxTQUFZLENBQUEsQ0FBQyxDQUFDO0lBQWpDLElBQUEsUUFBUSw4Q0FBeUI7SUFBakMsSUFBQSxRQUFRLG9EQUF5QjtJQUdqQywwQkFBYTtJQUFiLElBQUEsT0FBTyw2Q0FBTTtJQUFiLElBQUEsT0FBTyxtREFBTTtJQUd0QixXQUFXLENBQVU7SUFHckIsaUJBQWlCLENBQW1CO0lBR3BDLGlCQUFpQixHQUF1QixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFFcEcsSUFBSSxHQUFHLElBQUksZ0JBQWdCLEVBQU8sQ0FBQztJQUVwRDtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFVO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFUSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLGlJQUFpSTtRQUNqSSxNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxNQUFNLE1BQU0sR0FBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2xFLE1BQU0sQ0FBQyxhQUFvQixFQUFFLGdCQUFzQjtnQkFDakQsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RSxpSUFBaUk7Z0JBQ2pJLE9BQU8sU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDekYsQ0FBQztZQUNELGFBQWEsRUFBRSxNQUFNO1lBQ3JCLE9BQU8sQ0FBQyxTQUFjLEVBQUUsaUJBQXlCO2dCQUMvQyxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFBLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtZQUMxRSxDQUFDO1NBQ0YsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUE7SUFFbEIsQ0FBQzt1R0E3Q1UsNEJBQTRCOzJGQUE1Qiw0QkFBNEIsbVVDeEJ6QyxpekNBNkJBOztBREZXO0lBREMsT0FBTyxFQUFFOzs0REFDdUI7QUFHakM7SUFEQyxnQkFBZ0IsRUFBRTs7MkRBQ047MkZBTlgsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDJCQUEyQjswRUFPNUIsUUFBUTtzQkFEaEIsS0FBSztnQkFJRyxPQUFPO3NCQURmLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBSTlCLGlCQUFpQjtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDb250ZW50Q2hpbGQsIElucHV0LCBPbkluaXQsIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJpbmRpbmcsXG4gIERlbGVnYXRpbmdMaXN0TW9kZWwsXG4gIERzbCxcbiAgTGlzdE1vZGVsLFxuICBNdXRhYmxlTGlzdE1vZGVsLFxuICBTdG9yZUluTGlzdE1vZGVsLFxuICBQcm94aWZ5LCBwcm94aWZ5XG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7QWJzdHJhY3RMaXN0SW5wdXRDb21wb25lbnR9IGZyb20gJy4uL2Fic3RyYWN0LWxpc3QtaW5wdXQuY29tcG9uZW50JztcblxuLyoqXG4gKiBVc2luZyB0ZW1wbGF0ZXM6XG4gKiA8YXVwLW11bHRpcGxlLXNlbGVjdC1pbnB1dCBbdmFsdWVNb2RlbF09XCJteU1vZGVsXCIgW29wdGlvbnNdPVwibXlPcHRpb25zXCI+XG4gKiAgIDxuZy10ZW1wbGF0ZSAjb3B0aW9uVGVtcGxhdGUgbGV0LW9wdGlvbj57e29wdGlvbi50aGVQcm9wZXJ0eVlvdVdhbnR9fTwvbmctdGVtcGxhdGU+XG4gKiAgIDxuZy10ZW1wbGF0ZSAjbmlsT3B0aW9uVGVtcGxhdGUgbGV0LW9wdGlvbj57e29wdGlvbi50aGVQcm9wZXJ0eVlvdVdhbnR9fTwvbmctdGVtcGxhdGU+XG4gKiA8L2F1cC1tdWx0aXBsZS1zZWxlY3RfaW5wdXQ+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1tdWx0aXBsZS1zZWxlY3QtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGlwbGUtc2VsZWN0LWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGlwbGUtc2VsZWN0LWlucHV0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlwbGVTZWxlY3RJbnB1dENvbXBvbmVudDxUID0gYW55PiBleHRlbmRzIEFic3RyYWN0TGlzdElucHV0Q29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBAUHJveGlmeSgpXG4gIGFjY2Vzc29yIG9wdGlvbnMkID0gcHJveGlmeShMaXN0TW9kZWw8VD4pO1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluTGlzdE1vZGVsKClcbiAgYWNjZXNzb3Igb3B0aW9uczogVFtdO1xuXG4gIEBJbnB1dCgpXG4gIG9wdGlvbkxhYmVsOiBrZXlvZiBUO1xuXG4gIEBDb250ZW50Q2hpbGQoJ29wdGlvblRlbXBsYXRlJylcbiAgb3B0aW9uVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgb3B0aW9uTGFiZWxGb3JtYXQ6IChvcHRpb246IFQpID0+IGFueSA9IChvcHRpb24pID0+IChvcHRpb24gJiYgdGhpcy5vcHRpb25MYWJlbCkgPyBvcHRpb25bdGhpcy5vcHRpb25MYWJlbF0gOiBvcHRpb247XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpZHMkID0gbmV3IE11dGFibGVMaXN0TW9kZWw8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBzZWxlY3RBbGwoaXRlbXM6IFRbXSkge1xuICAgIHRoaXMuaWRzJC52YWx1ZSA9IGl0ZW1zLm1hcChpdGVtID0+IHRoaXMub3B0aW9ucyQuaWRlbnRpdHlPZihpdGVtKSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIC8vIE5PVEU6IHRoaXMgaGFzIHRvIGJlIGRvbmUgYWZ0ZXIgb3VyIHBhcmFtZXRlciBoYXZlIGJlZW4gYm91bmQgb3Igd2UnbGwgY2xvYmJlciB0aGUgaW5pdGlhbCBzZWxlY3RlZCB2YWx1ZXMgd2l0aCB0aGUgd3JpdGVSaWdodFxuICAgIGNvbnN0IHtjaGFpbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgY29uc3QgbG9va3VwID0gIGNoYWluKHRoaXMub3B0aW9ucyQpLmluZGV4VXNpbmcodGhpcy5vcHRpb25zJC5pZGVudGl0eU9mKTtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgQmluZGluZyh0aGlzLmNvbXBvbmVudExpc3QkLCB0aGlzLmlkcyQsIHtcbiAgICAgIHRvTGVmdChzZWxlY3RlZEl0ZW1zOiBhbnlbXSwgY3VycmVudExlZnRWYWx1ZT86IFRbXSk6IFRbXSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlcyA9IHNlbGVjdGVkSXRlbXMubWFwKGl0ID0+IGxvb2t1cC5nZXQoaXQpKS5maWx0ZXIoaXQgPT4gIWl0KTtcbiAgICAgICAgLy8gaWYgb3VyIGxvb2t1cCBkaWRuJ3QgZmluZCBhbnl0aGluZyB0aGVuIHdlIHJldHVybiB0aGUgcHJldmlvdXMgdmFsdWVzIHNvIHdlIGRvbid0IGNsb2JiZXIgc2VsZWN0aW9ucyB3aGVuIHRoZSBvcHRpb25zIGdvIGVtcHR5XG4gICAgICAgIHJldHVybiBuZXdWYWx1ZXMubGVuZ3RoIDwgMSAmJiBzZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDAgPyBjdXJyZW50TGVmdFZhbHVlIDogbmV3VmFsdWVzO1xuICAgICAgfSxcbiAgICAgIGxlZnREZXBlbmRzT246IGxvb2t1cCxcbiAgICAgIHRvUmlnaHQobGVmdFZhbHVlOiBUW10sIGN1cnJlbnRSaWdodFZhbHVlPzogYW55W10pOiBhbnlbXSB7XG4gICAgICAgIHJldHVybiBsZWZ0VmFsdWUgPyBsZWZ0VmFsdWUubWFwKGl0ID0+c2VsZi5vcHRpb25zJC5pZGVudGl0eU9mKGl0KSkgOiBbXVxuICAgICAgfVxuICAgIH0pKS53cml0ZVJpZ2h0KClcblxuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cInN0YW5kYXJkXCIgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiPlxuICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxcIj57e2xhYmVsfX08L21hdC1sYWJlbD5cbiAgPG1hdC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyfX1cIlxuICAgICAgICAgICAgICBtdWx0aXBsZVxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJjb21wb25lbnRMaXN0JC52YWx1ZVwiXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFlbmFibGVkJC52YWx1ZVwiXG4gICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm5vdGlmeUVudGVyS2V5KClcIlxuICAgICAgICAgICAgICAoa2V5ZG93bi5lc2NhcGUpPVwibm90aWZ5RXNjYXBlS2V5KClcIlxuICAgICAgICAgICAgICBbcGVjdGluRm9jdXNCaW5kaW5nXT1cImZvY3VzQ29udGV4dFwiXG4gICAgICAgICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJlcnJvclN0YXRlTWF0Y2hlclwiXG4gID5cbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnMkLnZhbHVlOyBsZXQgaSA9IGluZGV4XCIgW3ZhbHVlXT1cIm9wdGlvblwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFvcHRpb25UZW1wbGF0ZVJlZlwiPnt7b3B0aW9uTGFiZWxGb3JtYXQob3B0aW9uKX19PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uVGVtcGxhdGVSZWZcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25UZW1wbGF0ZVJlZlwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogb3B0aW9uLCBpbmRleDogaSB9XCJcbiAgICAgID5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbWF0LW9wdGlvbj5cbiAgPC9tYXQtc2VsZWN0PlxuICA8bWF0LWhpbnQgKm5nSWY9XCJzaG93SGludFwiPnt7aGludH19PC9tYXQtaGludD5cbiAgPG1hdC1lcnJvciAqbmdJZj1cImhhc0Vycm9yc1wiPnt7Zmlyc3RFcnJvcn19PC9tYXQtZXJyb3I+XG48L21hdC1mb3JtLWZpZWxkPlxuPGRpdiBjbGFzcz1cIndpZHRoLXN0cnV0XCI+XG4gIDxtYXQtbGFiZWwgKm5nSWY9XCJsYWJlbFwiPnt7bGFiZWx9fTwvbWF0LWxhYmVsPlxuICA8ZGl2Pnt7cGxhY2Vob2xkZXJ9fTwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIG9wdGlvbnNcIj57e29wdGlvbkxhYmVsRm9ybWF0KGl0ZW0pfX08L2Rpdj5cbjwvZGl2PlxuIl19
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtc2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvbXVsdGlwbGUtc2VsZWN0LWlucHV0L211bHRpcGxlLXNlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL211bHRpcGxlLXNlbGVjdC1pbnB1dC9tdWx0aXBsZS1zZWxlY3QtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7QUFFNUU7Ozs7OztHQU1HO0FBTUgsTUFBTSxPQUFPLDRCQUFzQyxTQUFRLDBCQUE2QjtJQUc3RSw2QkFBVyxPQUFPLENBQUMsQ0FBQSxTQUFZLENBQUEsQ0FBQyxDQUFDO0lBQWpDLElBQUEsUUFBUSw4Q0FBeUI7SUFBakMsSUFBQSxRQUFRLG9EQUF5QjtJQUdqQywwQkFBYTtJQUFiLElBQUEsT0FBTyw2Q0FBTTtJQUFiLElBQUEsT0FBTyxtREFBTTtJQUd0QixXQUFXLENBQVU7SUFHckIsaUJBQWlCLENBQW1CO0lBR3BDLGlCQUFpQixHQUF1QixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFFcEcsSUFBSSxHQUFHLElBQUksZ0JBQWdCLEVBQU8sQ0FBQztJQUVwRDtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFVO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFUSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLGlJQUFpSTtRQUNqSSxNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxNQUFNLE1BQU0sR0FBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2xFLE1BQU0sQ0FBQyxhQUFvQixFQUFFLGdCQUFzQjtnQkFDakQsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzdFLGlJQUFpSTtnQkFDakksT0FBTyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN6RixDQUFDO1lBQ0QsYUFBYSxFQUFFLE1BQU07WUFDckIsT0FBTyxDQUFDLFNBQWMsRUFBRSxpQkFBeUI7Z0JBQy9DLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1lBQzFFLENBQUM7U0FDRixDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUVsQixDQUFDO3VHQTdDVSw0QkFBNEI7MkZBQTVCLDRCQUE0QixtVUNoQnpDLHl4Q0E2QkE7O0FEVlc7SUFEQyxPQUFPLEVBQUU7OzREQUN1QjtBQUdqQztJQURDLGdCQUFnQixFQUFFOzsyREFDTjsyRkFOWCw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsMkJBQTJCOzBFQU81QixRQUFRO3NCQURoQixLQUFLO2dCQUlHLE9BQU87c0JBRGYsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixZQUFZO3VCQUFDLGdCQUFnQjtnQkFJOUIsaUJBQWlCO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCaW5kaW5nLCBEc2wsIExpc3RNb2RlbCwgTXV0YWJsZUxpc3RNb2RlbCwgUHJveGlmeSwgcHJveGlmeSwgU3RvcmVJbkxpc3RNb2RlbH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtBYnN0cmFjdExpc3RJbnB1dENvbXBvbmVudH0gZnJvbSAnLi4vYWJzdHJhY3QtbGlzdC1pbnB1dC5jb21wb25lbnQnO1xuXG4vKipcbiAqIFVzaW5nIHRlbXBsYXRlczpcbiAqIDxhdXAtbXVsdGlwbGUtc2VsZWN0LWlucHV0IFt2YWx1ZU1vZGVsXT1cIm15TW9kZWxcIiBbb3B0aW9uc109XCJteU9wdGlvbnNcIj5cbiAqICAgPG5nLXRlbXBsYXRlICNvcHRpb25UZW1wbGF0ZSBsZXQtb3B0aW9uPnt7b3B0aW9uLnRoZVByb3BlcnR5WW91V2FudH19PC9uZy10ZW1wbGF0ZT5cbiAqICAgPG5nLXRlbXBsYXRlICNuaWxPcHRpb25UZW1wbGF0ZSBsZXQtb3B0aW9uPnt7b3B0aW9uLnRoZVByb3BlcnR5WW91V2FudH19PC9uZy10ZW1wbGF0ZT5cbiAqIDwvYXVwLW11bHRpcGxlLXNlbGVjdF9pbnB1dD5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLW11bHRpcGxlLXNlbGVjdC1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aXBsZS1zZWxlY3QtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tdWx0aXBsZS1zZWxlY3QtaW5wdXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aXBsZVNlbGVjdElucHV0Q29tcG9uZW50PFQgPSBhbnk+IGV4dGVuZHMgQWJzdHJhY3RMaXN0SW5wdXRDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3Igb3B0aW9ucyQgPSBwcm94aWZ5KExpc3RNb2RlbDxUPik7XG5cbiAgQElucHV0KCkgQFN0b3JlSW5MaXN0TW9kZWwoKVxuICBhY2Nlc3NvciBvcHRpb25zOiBUW107XG5cbiAgQElucHV0KClcbiAgb3B0aW9uTGFiZWw6IGtleW9mIFQ7XG5cbiAgQENvbnRlbnRDaGlsZCgnb3B0aW9uVGVtcGxhdGUnKVxuICBvcHRpb25UZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKVxuICBvcHRpb25MYWJlbEZvcm1hdDogKG9wdGlvbjogVCkgPT4gYW55ID0gKG9wdGlvbikgPT4gKG9wdGlvbiAmJiB0aGlzLm9wdGlvbkxhYmVsKSA/IG9wdGlvblt0aGlzLm9wdGlvbkxhYmVsXSA6IG9wdGlvbjtcblxuICBwcml2YXRlIHJlYWRvbmx5IGlkcyQgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHNlbGVjdEFsbChpdGVtczogVFtdKSB7XG4gICAgdGhpcy5pZHMkLnZhbHVlID0gaXRlbXMubWFwKGl0ZW0gPT4gdGhpcy5vcHRpb25zJC5pZGVudGl0eU9mKGl0ZW0pKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgLy8gTk9URTogdGhpcyBoYXMgdG8gYmUgZG9uZSBhZnRlciBvdXIgcGFyYW1ldGVyIGhhdmUgYmVlbiBib3VuZCBvciB3ZSdsbCBjbG9iYmVyIHRoZSBpbml0aWFsIHNlbGVjdGVkIHZhbHVlcyB3aXRoIHRoZSB3cml0ZVJpZ2h0XG4gICAgY29uc3Qge2NoYWlufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICBjb25zdCBsb29rdXAgPSAgY2hhaW4odGhpcy5vcHRpb25zJCkuaW5kZXhVc2luZyh0aGlzLm9wdGlvbnMkLmlkZW50aXR5T2YpO1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBCaW5kaW5nKHRoaXMuY29tcG9uZW50TGlzdCQsIHRoaXMuaWRzJCwge1xuICAgICAgdG9MZWZ0KHNlbGVjdGVkSXRlbXM6IGFueVtdLCBjdXJyZW50TGVmdFZhbHVlPzogVFtdKTogVFtdIHtcbiAgICAgICAgY29uc3QgbmV3VmFsdWVzID0gc2VsZWN0ZWRJdGVtcy5tYXAoaXQgPT4gbG9va3VwLmdldChpdCkpLmZpbHRlcihpdCA9PiAhIWl0KTtcbiAgICAgICAgLy8gaWYgb3VyIGxvb2t1cCBkaWRuJ3QgZmluZCBhbnl0aGluZyB0aGVuIHdlIHJldHVybiB0aGUgcHJldmlvdXMgdmFsdWVzIHNvIHdlIGRvbid0IGNsb2JiZXIgc2VsZWN0aW9ucyB3aGVuIHRoZSBvcHRpb25zIGdvIGVtcHR5XG4gICAgICAgIHJldHVybiBuZXdWYWx1ZXMubGVuZ3RoIDwgMSAmJiBzZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDAgPyBjdXJyZW50TGVmdFZhbHVlIDogbmV3VmFsdWVzO1xuICAgICAgfSxcbiAgICAgIGxlZnREZXBlbmRzT246IGxvb2t1cCxcbiAgICAgIHRvUmlnaHQobGVmdFZhbHVlOiBUW10sIGN1cnJlbnRSaWdodFZhbHVlPzogYW55W10pOiBhbnlbXSB7XG4gICAgICAgIHJldHVybiBsZWZ0VmFsdWUgPyBsZWZ0VmFsdWUubWFwKGl0ID0+c2VsZi5vcHRpb25zJC5pZGVudGl0eU9mKGl0KSkgOiBbXVxuICAgICAgfVxuICAgIH0pKS53cml0ZVJpZ2h0KClcblxuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiPlxuICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxcIj57e2xhYmVsfX08L21hdC1sYWJlbD5cbiAgPG1hdC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyfX1cIlxuICAgICAgICAgICAgICBtdWx0aXBsZVxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJjb21wb25lbnRMaXN0JC52YWx1ZVwiXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFlbmFibGVkJC52YWx1ZVwiXG4gICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm5vdGlmeUVudGVyS2V5KClcIlxuICAgICAgICAgICAgICAoa2V5ZG93bi5lc2NhcGUpPVwibm90aWZ5RXNjYXBlS2V5KClcIlxuICAgICAgICAgICAgICBbcGVjdGluRm9jdXNCaW5kaW5nXT1cImZvY3VzQ29udGV4dFwiXG4gICAgICAgICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJlcnJvclN0YXRlTWF0Y2hlclwiXG4gID5cbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnMkLnZhbHVlOyBsZXQgaSA9IGluZGV4XCIgW3ZhbHVlXT1cIm9wdGlvblwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFvcHRpb25UZW1wbGF0ZVJlZlwiPnt7b3B0aW9uTGFiZWxGb3JtYXQob3B0aW9uKX19PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uVGVtcGxhdGVSZWZcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25UZW1wbGF0ZVJlZlwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogb3B0aW9uLCBpbmRleDogaSB9XCJcbiAgICAgID5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbWF0LW9wdGlvbj5cbiAgPC9tYXQtc2VsZWN0PlxuICA8bWF0LWhpbnQgKm5nSWY9XCJzaG93SGludFwiPnt7aGludH19PC9tYXQtaGludD5cbiAgPG1hdC1lcnJvciAqbmdJZj1cImhhc0Vycm9yc1wiPnt7Zmlyc3RFcnJvcn19PC9tYXQtZXJyb3I+XG48L21hdC1mb3JtLWZpZWxkPlxuPGRpdiBjbGFzcz1cIndpZHRoLXN0cnV0XCI+XG4gIDxtYXQtbGFiZWwgKm5nSWY9XCJsYWJlbFwiPnt7bGFiZWx9fTwvbWF0LWxhYmVsPlxuICA8ZGl2Pnt7cGxhY2Vob2xkZXJ9fTwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIG9wdGlvbnNcIj57e29wdGlvbkxhYmVsRm9ybWF0KGl0ZW0pfX08L2Rpdj5cbjwvZGl2PlxuIl19
@@ -3,8 +3,8 @@ import { AbstractValueInputComponent } from '../abstract-value-input.component';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
5
  import * as i2 from "@angular/forms";
6
- import * as i3 from "@angular/material/legacy-form-field";
7
- import * as i4 from "@angular/material/legacy-input";
6
+ import * as i3 from "@angular/material/input";
7
+ import * as i4 from "@angular/material/form-field";
8
8
  import * as i5 from "../../../directives/focus-binding.directive";
9
9
  import * as i6 from "../../icon/icon.component";
10
10
  export class NumberInputComponent extends AbstractValueInputComponent {
@@ -15,12 +15,12 @@ export class NumberInputComponent extends AbstractValueInputComponent {
15
15
  constructor() {
16
16
  super();
17
17
  }
18
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: NumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: NumberInputComponent, selector: "aup-number-input", inputs: { autocomplete: "autocomplete", min: "min", max: "max", iconPrefix: "iconPrefix" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"number\"\n matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [min]=\"min\"\n [max]=\"max\"\n >\n <mat-hint *ngIf=\"hint && !dense\" >{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <aup-icon *ngIf=\"iconPrefix\" matPrefix [icon]=\"iconPrefix\"></aup-icon>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatLegacyError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i3.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLegacyHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatLegacyLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatLegacyPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i4.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "directive", type: i5.FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }, { kind: "component", type: i6.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: NumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: NumberInputComponent, selector: "aup-number-input", inputs: { autocomplete: "autocomplete", min: "min", max: "max", iconPrefix: "iconPrefix" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"number\"\n matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [min]=\"min\"\n [max]=\"max\"\n >\n <mat-hint *ngIf=\"hint && !dense\" >{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <aup-icon *ngIf=\"iconPrefix\" matPrefix [icon]=\"iconPrefix\"></aup-icon>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i5.FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }, { kind: "component", type: i6.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: NumberInputComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: NumberInputComponent, decorators: [{
22
22
  type: Component,
23
- args: [{ selector: 'aup-number-input', template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"number\"\n matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [min]=\"min\"\n [max]=\"max\"\n >\n <mat-hint *ngIf=\"hint && !dense\" >{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <aup-icon *ngIf=\"iconPrefix\" matPrefix [icon]=\"iconPrefix\"></aup-icon>\n</mat-form-field>\n" }]
23
+ args: [{ selector: 'aup-number-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"number\"\n matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [min]=\"min\"\n [max]=\"max\"\n >\n <mat-hint *ngIf=\"hint && !dense\" >{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <aup-icon *ngIf=\"iconPrefix\" matPrefix [icon]=\"iconPrefix\"></aup-icon>\n</mat-form-field>\n" }]
24
24
  }], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
25
25
  type: Input
26
26
  }], min: [{
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
30
30
  }], iconPrefix: [{
31
31
  type: Input
32
32
  }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7O0FBUWhGLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSwyQkFBbUM7SUFFbEUsWUFBWSxDQUFTO0lBRzlCLEdBQUcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7SUFHOUIsR0FBRyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztJQUVyQixVQUFVLENBQVM7SUFFNUI7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7dUdBZFUsb0JBQW9COzJGQUFwQixvQkFBb0IsMktDVGpDLDZ5QkFtQkE7OzJGRFZhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7MEVBTW5CLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR04sR0FBRztzQkFERixLQUFLO2dCQUlOLEdBQUc7c0JBREYsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RWYWx1ZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vYWJzdHJhY3QtdmFsdWUtaW5wdXQuY29tcG9uZW50JztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtbnVtYmVyLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL251bWJlci1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL251bWJlci1pbnB1dC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE51bWJlcklucHV0Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RWYWx1ZUlucHV0Q29tcG9uZW50PG51bWJlcj4ge1xuXG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIG1pbiA9IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSO1xuXG4gIEBJbnB1dCgpXG4gIG1heCA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xuXG4gIEBJbnB1dCgpIGljb25QcmVmaXg6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwic3RhbmRhcmRcIiBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCI+XG4gIDxtYXQtbGFiZWwgKm5nSWY9XCJsYWJlbFwiPnt7bGFiZWx9fTwvbWF0LWxhYmVsPlxuICA8aW5wdXQgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyfX1cIlxuICAgICAgICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXG4gICAgICAgICBbKG5nTW9kZWwpXT1cImNvbXBvbmVudFZhbHVlJC52YWx1ZVwiXG4gICAgICAgICBbZGlzYWJsZWRdPVwiIWVuYWJsZWQkLnZhbHVlXCJcbiAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm5vdGlmeUVudGVyS2V5KClcIlxuICAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cIm5vdGlmeUVzY2FwZUtleSgpXCJcbiAgICAgICAgIFtwZWN0aW5Gb2N1c0JpbmRpbmddPVwiZm9jdXNDb250ZXh0XCJcbiAgICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJlcnJvclN0YXRlTWF0Y2hlclwiXG4gICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgICBbbWF4XT1cIm1heFwiXG4gID5cbiAgPG1hdC1oaW50ICpuZ0lmPVwiaGludCAmJiAhZGVuc2VcIiA+e3toaW50fX08L21hdC1oaW50PlxuICA8bWF0LWVycm9yICpuZ0lmPVwiaGFzRXJyb3JzXCI+e3tmaXJzdEVycm9yfX08L21hdC1lcnJvcj5cbiAgPGF1cC1pY29uICpuZ0lmPVwiaWNvblByZWZpeFwiIG1hdFByZWZpeCBbaWNvbl09XCJpY29uUHJlZml4XCI+PC9hdXAtaWNvbj5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7O0FBUTlFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSwyQkFBbUM7SUFFbEUsWUFBWSxDQUFTO0lBRzlCLEdBQUcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7SUFHOUIsR0FBRyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztJQUVyQixVQUFVLENBQVM7SUFFNUI7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7dUdBZFUsb0JBQW9COzJGQUFwQixvQkFBb0IsMktDVGpDLHF4QkFtQkE7OzJGRFZhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7MEVBTW5CLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR04sR0FBRztzQkFERixLQUFLO2dCQUlOLEdBQUc7c0JBREYsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RWYWx1ZUlucHV0Q29tcG9uZW50fSBmcm9tICcuLi9hYnN0cmFjdC12YWx1ZS1pbnB1dC5jb21wb25lbnQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1udW1iZXItaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbnVtYmVyLWlucHV0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVySW5wdXRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFZhbHVlSW5wdXRDb21wb25lbnQ8bnVtYmVyPiB7XG5cbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgbWluID0gTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVI7XG5cbiAgQElucHV0KClcbiAgbWF4ID0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XG5cbiAgQElucHV0KCkgaWNvblByZWZpeDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIj5cbiAgPG1hdC1sYWJlbCAqbmdJZj1cImxhYmVsXCI+e3tsYWJlbH19PC9tYXQtbGFiZWw+XG4gIDxpbnB1dCB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgIG1hdElucHV0XG4gICAgICAgICBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXJ9fVwiXG4gICAgICAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgIFsobmdNb2RlbCldPVwiY29tcG9uZW50VmFsdWUkLnZhbHVlXCJcbiAgICAgICAgIFtkaXNhYmxlZF09XCIhZW5hYmxlZCQudmFsdWVcIlxuICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwibm90aWZ5RW50ZXJLZXkoKVwiXG4gICAgICAgICAoa2V5ZG93bi5lc2NhcGUpPVwibm90aWZ5RXNjYXBlS2V5KClcIlxuICAgICAgICAgW3BlY3RpbkZvY3VzQmluZGluZ109XCJmb2N1c0NvbnRleHRcIlxuICAgICAgICAgW2Vycm9yU3RhdGVNYXRjaGVyXT1cImVycm9yU3RhdGVNYXRjaGVyXCJcbiAgICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgIFttYXhdPVwibWF4XCJcbiAgPlxuICA8bWF0LWhpbnQgKm5nSWY9XCJoaW50ICYmICFkZW5zZVwiID57e2hpbnR9fTwvbWF0LWhpbnQ+XG4gIDxtYXQtZXJyb3IgKm5nSWY9XCJoYXNFcnJvcnNcIj57e2ZpcnN0RXJyb3J9fTwvbWF0LWVycm9yPlxuICA8YXVwLWljb24gKm5nSWY9XCJpY29uUHJlZml4XCIgbWF0UHJlZml4IFtpY29uXT1cImljb25QcmVmaXhcIj48L2F1cC1pY29uPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
@@ -3,21 +3,21 @@ import { AbstractValueInputComponent } from '../abstract-value-input.component';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
5
  import * as i2 from "@angular/forms";
6
- import * as i3 from "@angular/material/legacy-form-field";
7
- import * as i4 from "@angular/material/legacy-input";
6
+ import * as i3 from "@angular/material/input";
7
+ import * as i4 from "@angular/material/form-field";
8
8
  import * as i5 from "../../../directives/focus-binding.directive";
9
9
  export class PasswordInputComponent extends AbstractValueInputComponent {
10
10
  autocomplete;
11
11
  constructor() {
12
12
  super();
13
13
  }
14
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: PasswordInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: PasswordInputComponent, selector: "aup-password-input", inputs: { autocomplete: "autocomplete" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"password\"\n matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatLegacyError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i3.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLegacyHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatLegacyLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "directive", type: i5.FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }] });
14
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PasswordInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PasswordInputComponent, selector: "aup-password-input", inputs: { autocomplete: "autocomplete" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"password\"\n matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i5.FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }] });
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: PasswordInputComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PasswordInputComponent, decorators: [{
18
18
  type: Component,
19
- args: [{ selector: 'aup-password-input', template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"password\"\n matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n" }]
19
+ args: [{ selector: 'aup-password-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"password\"\n matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n" }]
20
20
  }], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
21
21
  type: Input
22
22
  }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9wYXNzd29yZC1pbnB1dC9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3Bhc3N3b3JkLWlucHV0L3Bhc3N3b3JkLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7O0FBT2hGLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSwyQkFBbUM7SUFFcEUsWUFBWSxDQUFTO0lBRTlCO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO3VHQU5VLHNCQUFzQjsyRkFBdEIsc0JBQXNCLDJIQ1JuQyw0cUJBaUJBOzsyRkRUYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9COzBFQU1yQixZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFZhbHVlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdC12YWx1ZS1pbnB1dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtcGFzc3dvcmQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFZhbHVlSW5wdXRDb21wb25lbnQ8c3RyaW5nPiB7XG5cbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG59XG4iLCI8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cInN0YW5kYXJkXCIgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiPlxuICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxcIj57e2xhYmVsfX08L21hdC1sYWJlbD5cbiAgPGlucHV0IHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyfX1cIlxuICAgICAgICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXG4gICAgICAgICBbKG5nTW9kZWwpXT1cImNvbXBvbmVudFZhbHVlJC52YWx1ZVwiXG4gICAgICAgICBbZGlzYWJsZWRdPVwiIWVuYWJsZWQkLnZhbHVlXCJcbiAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm5vdGlmeUVudGVyS2V5KClcIlxuICAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cIm5vdGlmeUVzY2FwZUtleSgpXCJcbiAgICAgICAgIFtwZWN0aW5Gb2N1c0JpbmRpbmddPVwiZm9jdXNDb250ZXh0XCJcbiAgICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJlcnJvclN0YXRlTWF0Y2hlclwiXG4gID5cbiAgPG1hdC1oaW50ICpuZ0lmPVwic2hvd0hpbnRcIj57e2hpbnR9fTwvbWF0LWhpbnQ+XG4gIDxtYXQtZXJyb3IgKm5nSWY9XCJoYXNFcnJvcnNcIj57e2ZpcnN0RXJyb3J9fTwvbWF0LWVycm9yPlxuPC9tYXQtZm9ybS1maWVsZD5cblxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9wYXNzd29yZC1pbnB1dC9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3Bhc3N3b3JkLWlucHV0L3Bhc3N3b3JkLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7O0FBTzlFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSwyQkFBbUM7SUFFcEUsWUFBWSxDQUFTO0lBRTlCO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO3VHQU5VLHNCQUFzQjsyRkFBdEIsc0JBQXNCLDJIQ1JuQyxvcEJBaUJBOzsyRkRUYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9COzBFQU1yQixZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RWYWx1ZUlucHV0Q29tcG9uZW50fSBmcm9tICcuLi9hYnN0cmFjdC12YWx1ZS1pbnB1dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtcGFzc3dvcmQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFZhbHVlSW5wdXRDb21wb25lbnQ8c3RyaW5nPiB7XG5cbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG59XG4iLCI8bWF0LWZvcm0tZmllbGQgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiPlxuICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxcIj57e2xhYmVsfX08L21hdC1sYWJlbD5cbiAgPGlucHV0IHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyfX1cIlxuICAgICAgICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXG4gICAgICAgICBbKG5nTW9kZWwpXT1cImNvbXBvbmVudFZhbHVlJC52YWx1ZVwiXG4gICAgICAgICBbZGlzYWJsZWRdPVwiIWVuYWJsZWQkLnZhbHVlXCJcbiAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm5vdGlmeUVudGVyS2V5KClcIlxuICAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cIm5vdGlmeUVzY2FwZUtleSgpXCJcbiAgICAgICAgIFtwZWN0aW5Gb2N1c0JpbmRpbmddPVwiZm9jdXNDb250ZXh0XCJcbiAgICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJlcnJvclN0YXRlTWF0Y2hlclwiXG4gID5cbiAgPG1hdC1oaW50ICpuZ0lmPVwic2hvd0hpbnRcIj57e2hpbnR9fTwvbWF0LWhpbnQ+XG4gIDxtYXQtZXJyb3IgKm5nSWY9XCJoYXNFcnJvcnNcIj57e2ZpcnN0RXJyb3J9fTwvbWF0LWVycm9yPlxuPC9tYXQtZm9ybS1maWVsZD5cblxuIl19
@@ -0,0 +1,33 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { Command, Dsl } from '@coolon/pectin';
3
+ import { AbstractValueInputComponent } from '../abstract-value-input.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ import * as i2 from "@angular/material/input";
7
+ import * as i3 from "@angular/material/form-field";
8
+ import * as i4 from "../../../directives/command.directive";
9
+ import * as i5 from "../../../directives/focus-binding.directive";
10
+ import * as i6 from "@angular/material/button";
11
+ import * as i7 from "../../icon/icon.component";
12
+ export class SearchInputComponent extends AbstractValueInputComponent {
13
+ autocomplete;
14
+ clearCommand;
15
+ constructor() {
16
+ super();
17
+ this.dense = true;
18
+ const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
19
+ this.clearCommand = Command.create(() => {
20
+ this.componentValue$.value = "";
21
+ });
22
+ this.clearCommand.disableWhile(chain.stringValue(this.componentValue$).isBlank());
23
+ }
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SearchInputComponent, selector: "aup-search-input", inputs: { autocomplete: "autocomplete" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n\n <input matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <aup-icon matPrefix icon=\"mat:search\"></aup-icon>\n <button mat-icon-button matSuffix [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n", styles: ["button[disabled]{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i4.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: i5.FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SearchInputComponent, decorators: [{
28
+ type: Component,
29
+ args: [{ selector: 'aup-search-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\n\n <input matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <aup-icon matPrefix icon=\"mat:search\"></aup-icon>\n <button mat-icon-button matSuffix [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n", styles: ["button[disabled]{visibility:hidden}\n"] }]
30
+ }], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
31
+ type: Input
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLE9BQU8sRUFBRSxHQUFHLEVBQWtELE1BQU0sZ0JBQWdCLENBQUM7QUFDN0YsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7OztBQU85RSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsMkJBQW1DO0lBRWxFLFlBQVksQ0FBUztJQUVyQixZQUFZLENBQWdCO0lBRXJDO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQTtRQUNqQixNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDcEYsQ0FBQzt1R0FkVSxvQkFBb0I7MkZBQXBCLG9CQUFvQix5SENUakMsOG9CQWtCQTs7MkZEVGEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjswRUFNbkIsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1hbmQsIERzbCwgUHJveGlmeSwgcHJveGlmeSwgU3RvcmVJblZhbHVlTW9kZWwsIFZhbHVlTW9kZWx9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7QWJzdHJhY3RWYWx1ZUlucHV0Q29tcG9uZW50fSBmcm9tICcuLi9hYnN0cmFjdC12YWx1ZS1pbnB1dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtc2VhcmNoLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1pbnB1dC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaElucHV0Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RWYWx1ZUlucHV0Q29tcG9uZW50PHN0cmluZz4ge1xuXG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IGNsZWFyQ29tbWFuZDogQ29tbWFuZDx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZGVuc2UgPSB0cnVlXG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLmNsZWFyQ29tbWFuZCA9IENvbW1hbmQuY3JlYXRlKCgpID0+IHtcbiAgICAgIHRoaXMuY29tcG9uZW50VmFsdWUkLnZhbHVlID0gXCJcIjtcbiAgICB9KTtcbiAgICB0aGlzLmNsZWFyQ29tbWFuZC5kaXNhYmxlV2hpbGUoY2hhaW4uc3RyaW5nVmFsdWUodGhpcy5jb21wb25lbnRWYWx1ZSQpLmlzQmxhbmsoKSk7XG4gIH1cblxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIj5cblxuICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgIHBsYWNlaG9sZGVyPVwie3twbGFjZWhvbGRlcn19XCJcbiAgICAgICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgICAgWyhuZ01vZGVsKV09XCJjb21wb25lbnRWYWx1ZSQudmFsdWVcIlxuICAgICAgICAgW2Rpc2FibGVkXT1cIiFlbmFibGVkJC52YWx1ZVwiXG4gICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJub3RpZnlFbnRlcktleSgpXCJcbiAgICAgICAgIChrZXlkb3duLmVzY2FwZSk9XCJub3RpZnlFc2NhcGVLZXkoKVwiXG4gICAgICAgICBbcGVjdGluRm9jdXNCaW5kaW5nXT1cImZvY3VzQ29udGV4dFwiXG4gICAgICAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwiZXJyb3JTdGF0ZU1hdGNoZXJcIlxuICA+XG4gIDxhdXAtaWNvbiBtYXRQcmVmaXggaWNvbj1cIm1hdDpzZWFyY2hcIj48L2F1cC1pY29uPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggW3BlY3RpbkNvbW1hbmRdPVwiY2xlYXJDb21tYW5kXCI+XG4gICAgPGF1cC1pY29uIGljb249XCJtYXQ6Y2xvc2VcIj48L2F1cC1pY29uPlxuICA8L2J1dHRvbj5cbjwvbWF0LWZvcm0tZmllbGQ+XG5cbiJdfQ==
@@ -1,20 +1,21 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { Component, ContentChild, Input, TemplateRef } from '@angular/core';
3
- import { Binding, Dsl, ListModel, MutableValueModel, StoreInListModel, Proxify, proxify } from '@coolon/pectin';
3
+ import { Binding, Dsl, ListModel, MutableValueModel, Proxify, proxify, StoreInListModel } from '@coolon/pectin';
4
4
  import { isNil } from "lodash";
5
5
  import { AbstractValueInputComponent } from '../abstract-value-input.component';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/common";
8
8
  import * as i2 from "@angular/forms";
9
- import * as i3 from "@angular/material/legacy-form-field";
10
- import * as i4 from "@angular/material/legacy-select";
11
- import * as i5 from "@angular/material/legacy-core";
9
+ import * as i3 from "@angular/material/form-field";
10
+ import * as i4 from "@angular/material/select";
11
+ import * as i5 from "@angular/material/core";
12
12
  import * as i6 from "../../../directives/focus-binding.directive";
13
13
  /**
14
14
  * Using templates:
15
- * <aup-select-input [valueModel]="myModel" [options]="myOptions">
15
+ * <aup-select-input [value$]="myModel" [options]="myOptions">
16
16
  * <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
17
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
17
+ * <ng-template #selectedOptionTemplate let-option>{{option.thePropertyYouWant}} note, not used for nils (the placeholder is used)</ng-template>
18
+ * <ng-template #nilOptionTemplate>Uses the placeholder by default but you can customise it</ng-template>
18
19
  * </aup-select_input>
19
20
  */
20
21
  export class SelectInputComponent extends AbstractValueInputComponent {
@@ -78,21 +79,21 @@ export class SelectInputComponent extends AbstractValueInputComponent {
78
79
  id: this.delegatedIdentityOf(value)
79
80
  });
80
81
  let lastIdSnapshot = snapshotValueAndId(this.componentValue$.value);
81
- console.log(lastIdSnapshot);
82
+ // console.log(lastIdSnapshot)
82
83
  before(this.options$).changes(() => {
83
84
  lastIdSnapshot = snapshotValueAndId(this.componentValue$.value);
84
- console.log(lastIdSnapshot);
85
+ // console.log(lastIdSnapshot)
85
86
  });
86
87
  when(this.options$).changes((is, was) => {
87
88
  const newIdSnapshot = snapshotValueAndId(lastIdSnapshot.value);
88
- console.log(lastIdSnapshot, newIdSnapshot);
89
+ // console.log(lastIdSnapshot, newIdSnapshot)
89
90
  if (newIdSnapshot !== lastIdSnapshot.id) {
90
91
  this.id$.value = this.delegatedIdentityOf(this.componentValue$.value);
91
92
  }
92
93
  });
93
94
  }
94
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SelectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
95
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SelectInputComponent, selector: "aup-select-input", inputs: { options$: "options$", options: "options", optionLabel: "optionLabel", allowNil: "allowNil", optionLabelFormat: "optionLabelFormat" }, queries: [{ propertyName: "selectedOptionTemplateRef", first: true, predicate: ["selectedOptionTemplate"], descendants: true }, { propertyName: "optionTemplateRef", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "nilOptionTemplateRef", first: true, predicate: ["nilOptionTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [ngModel]=\"componentValue$.value\"\n (ngModelChange)=\"select($event)\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n\n <!--\n TODO: dave has a scenario where the selected item isn't rendering that I can't reproduce so we explicity render it..\n It typically happens because the ngModel value isn't the one contained in the list - this means our source model\n identifyOf function has changed and our id$/lookup$/componentValue$ are out of sync.\n We get around this for now by explicity rendering the component value.\n Please Note: I haven't been able to reproduce this\n -->\n <mat-select-trigger *ngIf=\"!selectedOptionTemplateRef\">\n {{optionLabelFormat(componentValue$.value)}}\n </mat-select-trigger>\n\n <mat-select-trigger *ngIf=\"selectedOptionTemplateRef\">\n <ng-container [ngTemplateOutlet]=\"selectedOptionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: componentValue$.value}\"></ng-container>\n </mat-select-trigger>\n\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of cookedOptions$.value; trackBy: trackByIdentity;let i = index\"\n [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <div class=\"item\" *ngFor=\"let item of cookedOptions$.value\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(item)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: 0 }\"\n >\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatLegacyError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i3.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLegacyHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatLegacyLabel, selector: "mat-label" }, { kind: "component", type: i4.MatLegacySelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "directive", type: i4.MatLegacySelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i5.MatLegacyOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i6.FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }] });
95
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
96
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SelectInputComponent, selector: "aup-select-input", inputs: { options$: "options$", options: "options", optionLabel: "optionLabel", allowNil: "allowNil", optionLabelFormat: "optionLabelFormat" }, queries: [{ propertyName: "selectedOptionTemplateRef", first: true, predicate: ["selectedOptionTemplate"], descendants: true }, { propertyName: "optionTemplateRef", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "nilOptionTemplateRef", first: true, predicate: ["nilOptionTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [ngModel]=\"componentValue$.value\"\n (ngModelChange)=\"select($event)\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n\n <!--\n TODO: dave has a scenario where the selected item isn't rendering that I can't reproduce so we explicity render it..\n It typically happens because the ngModel value isn't the one contained in the list - this means our source model\n identifyOf function has changed and our id$/lookup$/componentValue$ are out of sync.\n We get around this for now by explicity rendering the component value.\n Please Note: I haven't been able to reproduce this\n -->\n <mat-select-trigger *ngIf=\"!selectedOptionTemplateRef\">\n {{optionLabelFormat(componentValue$.value)}}\n </mat-select-trigger>\n\n <mat-select-trigger *ngIf=\"selectedOptionTemplateRef\">\n <ng-container [ngTemplateOutlet]=\"selectedOptionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: componentValue$.value}\"></ng-container>\n </mat-select-trigger>\n\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of cookedOptions$.value; trackBy: trackByIdentity;let i = index\"\n [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n <ng-content select=\"[select-option-footer]\"></ng-content>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <div class=\"item\" *ngFor=\"let item of cookedOptions$.value\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(item)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: 0 }\"\n >\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i4.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i6.FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }] });
96
97
  }
97
98
  __decorate([
98
99
  Proxify(),
@@ -102,9 +103,9 @@ __decorate([
102
103
  StoreInListModel(),
103
104
  __metadata("design:type", Array)
104
105
  ], SelectInputComponent.prototype, "options", null);
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SelectInputComponent, decorators: [{
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectInputComponent, decorators: [{
106
107
  type: Component,
107
- args: [{ selector: 'aup-select-input', template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [ngModel]=\"componentValue$.value\"\n (ngModelChange)=\"select($event)\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n\n <!--\n TODO: dave has a scenario where the selected item isn't rendering that I can't reproduce so we explicity render it..\n It typically happens because the ngModel value isn't the one contained in the list - this means our source model\n identifyOf function has changed and our id$/lookup$/componentValue$ are out of sync.\n We get around this for now by explicity rendering the component value.\n Please Note: I haven't been able to reproduce this\n -->\n <mat-select-trigger *ngIf=\"!selectedOptionTemplateRef\">\n {{optionLabelFormat(componentValue$.value)}}\n </mat-select-trigger>\n\n <mat-select-trigger *ngIf=\"selectedOptionTemplateRef\">\n <ng-container [ngTemplateOutlet]=\"selectedOptionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: componentValue$.value}\"></ng-container>\n </mat-select-trigger>\n\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of cookedOptions$.value; trackBy: trackByIdentity;let i = index\"\n [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <div class=\"item\" *ngFor=\"let item of cookedOptions$.value\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(item)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: 0 }\"\n >\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:0}\n"] }]
108
+ args: [{ selector: 'aup-select-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [ngModel]=\"componentValue$.value\"\n (ngModelChange)=\"select($event)\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n\n <!--\n TODO: dave has a scenario where the selected item isn't rendering that I can't reproduce so we explicity render it..\n It typically happens because the ngModel value isn't the one contained in the list - this means our source model\n identifyOf function has changed and our id$/lookup$/componentValue$ are out of sync.\n We get around this for now by explicity rendering the component value.\n Please Note: I haven't been able to reproduce this\n -->\n <mat-select-trigger *ngIf=\"!selectedOptionTemplateRef\">\n {{optionLabelFormat(componentValue$.value)}}\n </mat-select-trigger>\n\n <mat-select-trigger *ngIf=\"selectedOptionTemplateRef\">\n <ng-container [ngTemplateOutlet]=\"selectedOptionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: componentValue$.value}\"></ng-container>\n </mat-select-trigger>\n\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of cookedOptions$.value; trackBy: trackByIdentity;let i = index\"\n [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n <ng-content select=\"[select-option-footer]\"></ng-content>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <div class=\"item\" *ngFor=\"let item of cookedOptions$.value\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(item)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: 0 }\"\n >\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:0}\n"] }]
108
109
  }], ctorParameters: function () { return []; }, propDecorators: { options$: [{
109
110
  type: Input
110
111
  }], options: [{
@@ -125,4 +126,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
125
126
  }], optionLabelFormat: [{
126
127
  type: Input
127
128
  }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc2VsZWN0LWlucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3NlbGVjdC1pbnB1dC9zZWxlY3QtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxXQUFXLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFDTCxPQUFPLEVBR1AsR0FBRyxFQUNILFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBRWhCLE9BQU8sRUFBRSxPQUFPLEVBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUM3QixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7QUFFOUU7Ozs7OztHQU1HO0FBTUgsTUFBTSxPQUFPLG9CQUE4QixTQUFRLDJCQUE4QjtJQUd0RSw2QkFBVyxPQUFPLENBQUMsQ0FBQSxTQUFZLENBQUEsQ0FBQyxDQUFDO0lBQWpDLElBQUEsUUFBUSw4Q0FBeUI7SUFBakMsSUFBQSxRQUFRLG9EQUF5QjtJQUlqQywwQkFBc0I7SUFBdEIsSUFBQSxPQUFPLDZDQUFlO0lBQXRCLElBQUEsT0FBTyxtREFBZTtJQUcvQixXQUFXLENBQVU7SUFHckIsUUFBUSxDQUFVO0lBR2xCLHlCQUF5QixDQUFtQjtJQUc1QyxpQkFBaUIsQ0FBbUI7SUFHcEMsb0JBQW9CLENBQW1CO0lBR3ZD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LFNBQVM7K0JBQ0Usa0JBQWtCOzBFQU9uQixRQUFRO3NCQURoQixLQUFLO2dCQUtHLE9BQU87c0JBRGYsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLHlCQUF5QjtzQkFEeEIsWUFBWTt1QkFBQyx3QkFBd0I7Z0JBSXRDLGlCQUFpQjtzQkFEaEIsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBSTlCLG9CQUFvQjtzQkFEbkIsWUFBWTt1QkFBQyxtQkFBbUI7Z0JBSWpDLGlCQUFpQjtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDb250ZW50Q2hpbGQsIElucHV0LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBUcmFja0J5RnVuY3Rpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmluZGluZyxcbiAgQm9vbGVhblZhbHVlTW9kZWxDaGFpbixcbiAgRGVsZWdhdGluZ0xpc3RNb2RlbCxcbiAgRHNsLFxuICBMaXN0TW9kZWwsXG4gIExpc3RNb2RlbENoYWluLFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgU3RvcmVJbkxpc3RNb2RlbCxcbiAgVHJhY2UsXG4gIFByb3hpZnksIHByb3hpZnlcbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtpc05pbH0gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHtBYnN0cmFjdFZhbHVlSW5wdXRDb21wb25lbnR9IGZyb20gJy4uL2Fic3RyYWN0LXZhbHVlLWlucHV0LmNvbXBvbmVudCc7XG5cbi8qKlxuICogVXNpbmcgdGVtcGxhdGVzOlxuICogPGF1cC1zZWxlY3QtaW5wdXQgW3ZhbHVlTW9kZWxdPVwibXlNb2RlbFwiIFtvcHRpb25zXT1cIm15T3B0aW9uc1wiPlxuICogICA8bmctdGVtcGxhdGUgI29wdGlvblRlbXBsYXRlIGxldC1vcHRpb24+e3tvcHRpb24udGhlUHJvcGVydHlZb3VXYW50fX08L25nLXRlbXBsYXRlPlxuICogICA8bmctdGVtcGxhdGUgI25pbE9wdGlvblRlbXBsYXRlIGxldC1vcHRpb24+e3tvcHRpb24udGhlUHJvcGVydHlZb3VXYW50fX08L25nLXRlbXBsYXRlPlxuICogPC9hdXAtc2VsZWN0X2lucHV0PlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtc2VsZWN0LWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1pbnB1dC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdElucHV0Q29tcG9uZW50PFQgPSBhbnk+IGV4dGVuZHMgQWJzdHJhY3RWYWx1ZUlucHV0Q29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBAUHJveGlmeSgpXG4gIGFjY2Vzc29yIG9wdGlvbnMkID0gcHJveGlmeShMaXN0TW9kZWw8VD4pO1xuXG5cbiAgQElucHV0KCkgQFN0b3JlSW5MaXN0TW9kZWwoKVxuICBhY2Nlc3NvciBvcHRpb25zOiByZWFkb25seSBUW107XG5cbiAgQElucHV0KClcbiAgb3B0aW9uTGFiZWw6IGtleW9mIFQ7XG5cbiAgQElucHV0KClcbiAgYWxsb3dOaWw6IGJvb2xlYW47XG5cbiAgQENvbnRlbnRDaGlsZCgnc2VsZWN0ZWRPcHRpb25UZW1wbGF0ZScpXG4gIHNlbGVjdGVkT3B0aW9uVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZCgnb3B0aW9uVGVtcGxhdGUnKVxuICBvcHRpb25UZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKCduaWxPcHRpb25UZW1wbGF0ZScpXG4gIG5pbE9wdGlvblRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIG9wdGlvbkxhYmVsRm9ybWF0OiAob3B0aW9uOiBUKSA9PiBhbnkgPSAob3B0aW9uKSA9PiAob3B0aW9uICYmIHRoaXMub3B0aW9uTGFiZWwpID8gb3B0aW9uW3RoaXMub3B0aW9uTGFiZWxdIDogb3B0aW9uO1xuXG4gIHJlYWRvbmx5IGlzTmlsJDogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcblxuICBwcml2YXRlIHJlYWRvbmx5IGlkJCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxhbnk+KCk7XG5cbiAgcmVhZG9ubHkgY29va2VkT3B0aW9ucyQ6IExpc3RNb2RlbENoYWluPFQ+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVsZWdhdGVkSWRlbnRpdHlPZiA9IChpdGVtOiBUKSA9PiB0aGlzLm9wdGlvbnMkLmlkZW50aXR5T2YoaXRlbSk7XG5cbiAgcmVhZG9ubHkgdHJhY2tCeUlkZW50aXR5OiBUcmFja0J5RnVuY3Rpb248VD4gPSAoaW5kZXg6IG51bWJlciwgaXRlbTogVCkgPT4gdGhpcy5kZWxlZ2F0ZWRJZGVudGl0eU9mKGl0ZW0pID8/IGluZGV4O1xuXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7Y2hhaW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHRoaXMuY29va2VkT3B0aW9ucyQgPSBjaGFpbih0aGlzLm9wdGlvbnMkKVxuICAgICAgLnJlZHVjZVRvTGlzdChvcHRpb25zID0+IHtcbiAgICAgICAgcmV0dXJuIG9wdGlvbnMubGVuZ3RoIDwgMSAmJiAhaXNOaWwodGhpcy5jb21wb25lbnRWYWx1ZSQudmFsdWUpID8gW3RoaXMuY29tcG9uZW50VmFsdWUkLnZhbHVlXSA6IG9wdGlvbnNcbiAgICAgIH0sIHtcbiAgICAgICAgZGVwZW5kc09uOiB0aGlzLmNvbXBvbmVudFZhbHVlJFxuICAgICAgfSlcbiAgICAgIC5pZGVudGlmaWVkV2l0aCh0aGlzLmRlbGVnYXRlZElkZW50aXR5T2YpXG4gIH1cblxuICBzZWxlY3QoaXRlbTogVCkge1xuICAgIHRoaXMuaWQkLnZhbHVlID0gdGhpcy5kZWxlZ2F0ZWRJZGVudGl0eU9mKGl0ZW0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKVxuXG4gICAgLy8gTk9URTogdGhpcyBoYXMgdG8gYmUgZG9uZSBhZnRlciBvdXIgcGFyYW1ldGVyIGhhdmUgYmVlbiBib3VuZCBvciB3ZSdsbCBjbG9iYmVyIHRoZSBpbml0aWFsIHNlbGVjdGVkIHZhbHVlcyB3aXRoIHRoZSB3cml0ZVJpZ2h0XG4gICAgY29uc3Qge2NoYWluLCBiZWZvcmUsIHdoZW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGNvbnN0IGxvb2t1cCA9IGNoYWluKHRoaXMub3B0aW9ucyQpLmluZGV4VXNpbmcodGhpcy5kZWxlZ2F0ZWRJZGVudGl0eU9mKTtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcblxuICAgIGNvbnN0IGJpbmRpbmcgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgQmluZGluZyh0aGlzLmNvbXBvbmVudFZhbHVlJCwgdGhpcy5pZCQsIHtcbiAgICAgIHRvTGVmdChzZWxlY3RlZElkOiBhbnksIGN1cnJlbnRWYWx1ZT86IFQpOiBUIHtcbiAgICAgICAgaWYgKGlzTmlsKHNlbGVjdGVkSWQpKSB7XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGxvb2t1cC5nZXQoc2VsZWN0ZWRJZCk7IC8vIHRoZSBsaXN0IGlzIGVtcHR5IG9yIHdlJ3JlIG1pc3NpbmcgZm9ybSBpdCBzbyBkb24ndCB0b3VjaCB0aGUgcmVhbCB2YWx1ZS5cbiAgICAgICAgcmV0dXJuIGlzTmlsKG5ld1ZhbHVlKSA/IGN1cnJlbnRWYWx1ZSA6IG5ld1ZhbHVlO1xuICAgICAgfSxcbiAgICAgIGxlZnREZXBlbmRzT246IGxvb2t1cCxcbiAgICAgIHRvUmlnaHQoc2VsZWN0ZWRWYWx1ZTogVCwgc2VsZWN0ZWRJZD86IGFueSk6IGFueSB7XG4gICAgICAgIHJldHVybiBzZWxmLmRlbGVnYXRlZElkZW50aXR5T2Yoc2VsZWN0ZWRWYWx1ZSlcbiAgICAgIH1cbiAgICB9KSkud3JpdGVSaWdodCgpO1xuXG4gICAgLy8gVE9ETzogd2UgaGF2ZSB0byBkbyB0aGlzIGFzIHRoZSBvcHRpb25zIGlkZW50aXR5IGZ1bmN0aW9uIGNhbiBjaGFuZ2UgZnJvbSBpZGVudGl0eSB0byBzb21ldGhpZ24gZWxzZSBhZnRlclxuICAgIC8vICAgICAgIHdlIGFscmVhZHkgaGF2ZSBhbiBpbml0aWFsIHZhbHVlLiAgSW4gdGhhdCBjYXNlIHRoZSBzdG9yZWQgaWQgd2lsbCBiZSB3cm9uZy5cbiAgICAvLyAgICAgICBQcm9iYWJseSBhIHJlYXNvbmFibGUgc29sdXRpb24gZm9yIGl0IGJlIHRvIHRyYWNrIGNoYW5nZXMgaW4gdGhlIGlkZW50aXR5IGZ1bmN0aW9uIGFuZCBoYW5kbGUgaXRcbiAgICAvLyAgICAgICBhdCBhIG1vcmUgZnVuZGFtZW50YWwgbGV2ZWwuICBUaGlzIG1heSBpbmNsdWRlIGNoZWNraW5nIGlmIHRoZSBmdW5jdGlvbiBoYXMgY2hhbmdlZC4uLiBidXQgY3VycmVudGx5XG4gICAgLy8gICAgICAgdGhlIGZ1bmN0aW9uIGNoYW5nZSB0aGluZ3MgdW5kZXIgdGhlIGhvb2QuXG4gICAgY29uc3Qgc25hcHNob3RWYWx1ZUFuZElkID0gKHZhbHVlOiBUKTogYW55ID0+ICh7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBpZDogdGhpcy5kZWxlZ2F0ZWRJZGVudGl0eU9mKHZhbHVlKVxuICAgIH0pO1xuICAgIGxldCBsYXN0SWRTbmFwc2hvdDogeyB2YWx1ZTogVCwgaWQ6IGFueSB9ID0gc25hcHNob3RWYWx1ZUFuZElkKHRoaXMuY29tcG9uZW50VmFsdWUkLnZhbHVlKTtcbiAgICBjb25zb2xlLmxvZyhsYXN0SWRTbmFwc2hvdClcbiAgICBiZWZvcmUodGhpcy5vcHRpb25zJCkuY2hhbmdlcygoKSA9PiB7XG4gICAgICBsYXN0SWRTbmFwc2hvdCA9IHNuYXBzaG90VmFsdWVBbmRJZCh0aGlzLmNvbXBvbmVudFZhbHVlJC52YWx1ZSk7XG4gICAgICBjb25zb2xlLmxvZyhsYXN0SWRTbmFwc2hvdClcbiAgICB9KVxuICAgIHdoZW4odGhpcy5vcHRpb25zJCkuY2hhbmdlcygoaXMsIHdhcykgPT4ge1xuICAgICAgY29uc3QgbmV3SWRTbmFwc2hvdCA9IHNuYXBzaG90VmFsdWVBbmRJZChsYXN0SWRTbmFwc2hvdC52YWx1ZSk7XG4gICAgICBjb25zb2xlLmxvZyhsYXN0SWRTbmFwc2hvdCwgbmV3SWRTbmFwc2hvdClcbiAgICAgIGlmIChuZXdJZFNuYXBzaG90ICE9PSBsYXN0SWRTbmFwc2hvdC5pZCkge1xuICAgICAgICB0aGlzLmlkJC52YWx1ZSA9IHRoaXMuZGVsZWdhdGVkSWRlbnRpdHlPZih0aGlzLmNvbXBvbmVudFZhbHVlJC52YWx1ZSlcbiAgICAgIH1cbiAgICB9KVxuXG4gIH1cblxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJzdGFuZGFyZFwiIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIj5cbiAgPG1hdC1sYWJlbCAqbmdJZj1cImxhYmVsXCI+e3tsYWJlbH19PC9tYXQtbGFiZWw+XG4gIDxtYXQtc2VsZWN0IHBsYWNlaG9sZGVyPVwie3twbGFjZWhvbGRlcn19XCJcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwiY29tcG9uZW50VmFsdWUkLnZhbHVlXCJcbiAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0KCRldmVudClcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWVuYWJsZWQkLnZhbHVlXCJcbiAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwibm90aWZ5RW50ZXJLZXkoKVwiXG4gICAgICAgICAgICAgIChrZXlkb3duLmVzY2FwZSk9XCJub3RpZnlFc2NhcGVLZXkoKVwiXG4gICAgICAgICAgICAgIFtwZWN0aW5Gb2N1c0JpbmRpbmddPVwiZm9jdXNDb250ZXh0XCJcbiAgICAgICAgICAgICAgW2Vycm9yU3RhdGVNYXRjaGVyXT1cImVycm9yU3RhdGVNYXRjaGVyXCJcbiAgPlxuXG4gICAgPCEtLVxuICAgIFRPRE86IGRhdmUgaGFzIGEgc2NlbmFyaW8gd2hlcmUgdGhlIHNlbGVjdGVkIGl0ZW0gaXNuJ3QgcmVuZGVyaW5nIHRoYXQgSSBjYW4ndCByZXByb2R1Y2Ugc28gd2UgZXhwbGljaXR5IHJlbmRlciBpdC4uXG4gICAgICAgICAgSXQgdHlwaWNhbGx5IGhhcHBlbnMgYmVjYXVzZSB0aGUgbmdNb2RlbCB2YWx1ZSBpc24ndCB0aGUgb25lIGNvbnRhaW5lZCBpbiB0aGUgbGlzdCAtIHRoaXMgbWVhbnMgb3VyIHNvdXJjZSBtb2RlbFxuICAgICAgICAgIGlkZW50aWZ5T2YgZnVuY3Rpb24gaGFzIGNoYW5nZWQgYW5kIG91ciBpZCQvbG9va3VwJC9jb21wb25lbnRWYWx1ZSQgYXJlIG91dCBvZiBzeW5jLlxuICAgICAgICAgIFdlIGdldCBhcm91bmQgdGhpcyBmb3Igbm93IGJ5IGV4cGxpY2l0eSByZW5kZXJpbmcgdGhlIGNvbXBvbmVudCB2YWx1ZS5cbiAgICAgICAgICBQbGVhc2UgTm90ZTogSSBoYXZlbid0IGJlZW4gYWJsZSB0byByZXByb2R1Y2UgdGhpc1xuICAgIC0tPlxuICAgIDxtYXQtc2VsZWN0LXRyaWdnZXIgKm5nSWY9XCIhc2VsZWN0ZWRPcHRpb25UZW1wbGF0ZVJlZlwiPlxuICAgICAge3tvcHRpb25MYWJlbEZvcm1hdChjb21wb25lbnRWYWx1ZSQudmFsdWUpfX1cbiAgICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cblxuICAgIDxtYXQtc2VsZWN0LXRyaWdnZXIgKm5nSWY9XCJzZWxlY3RlZE9wdGlvblRlbXBsYXRlUmVmXCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlbGVjdGVkT3B0aW9uVGVtcGxhdGVSZWZcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbXBvbmVudFZhbHVlJC52YWx1ZX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cblxuICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiYWxsb3dOaWxcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbmlsT3B0aW9uVGVtcGxhdGVSZWZcIj57e3BsYWNlaG9sZGVyfX08L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJuaWxPcHRpb25UZW1wbGF0ZVJlZlwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5pbE9wdGlvblRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9tYXQtb3B0aW9uPlxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgY29va2VkT3B0aW9ucyQudmFsdWU7IHRyYWNrQnk6IHRyYWNrQnlJZGVudGl0eTtsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW9wdGlvblRlbXBsYXRlUmVmXCI+e3tvcHRpb25MYWJlbEZvcm1hdChvcHRpb24pfX08L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25UZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvblRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBvcHRpb24sIGluZGV4OiBpIH1cIlxuICAgICAgPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9tYXQtb3B0aW9uPlxuICA8L21hdC1zZWxlY3Q+XG4gIDxtYXQtaGludCAqbmdJZj1cInNob3dIaW50XCI+e3toaW50fX08L21hdC1oaW50PlxuICA8bWF0LWVycm9yICpuZ0lmPVwiaGFzRXJyb3JzXCI+e3tmaXJzdEVycm9yfX08L21hdC1lcnJvcj5cbjwvbWF0LWZvcm0tZmllbGQ+XG48ZGl2IGNsYXNzPVwid2lkdGgtc3RydXRcIj5cbiAgPG1hdC1sYWJlbCAqbmdJZj1cImxhYmVsXCI+e3tsYWJlbH19PC9tYXQtbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJpdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29va2VkT3B0aW9ucyQudmFsdWVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW9wdGlvblRlbXBsYXRlUmVmXCI+e3tvcHRpb25MYWJlbEZvcm1hdChpdGVtKX19PC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvblRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvblRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgaW5kZXg6IDAgfVwiXG4gICAgPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc2VsZWN0LWlucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3NlbGVjdC1pbnB1dC9zZWxlY3QtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxXQUFXLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFDTCxPQUFPLEVBRVAsR0FBRyxFQUNILFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsT0FBTyxFQUNQLE9BQU8sRUFDUCxnQkFBZ0IsRUFDakIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzdCLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7OztBQUU5RTs7Ozs7OztHQU9HO0FBTUgsTUFBTSxPQUFPLG9CQUE4QixTQUFRLDJCQUE4QjtJQUd0RSw2QkFBVyxPQUFPLENBQUMsQ0FBQSxTQUFZLENBQUEsQ0FBQyxDQUFDO0lBQWpDLElBQUEsUUFBUSw4Q0FBeUI7SUFBakMsSUFBQSxRQUFRLG9EQUF5QjtJQUlqQywwQkFBc0I7SUFBdEIsSUFBQSxPQUFPLDZDQUFlO0lBQXRCLElBQUEsT0FBTyxtREFBZTtJQUcvQixXQUFXLENBQVU7SUFHckIsUUFBUSxDQUFVO0lBR2xCLHlCQUF5QixDQUFtQjtJQUc1QyxpQkFBaUIsQ0FBbUI7SUFHcEMsb0JBQW9CLENBQW1CO0lBR3ZD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QUFRO3NCQURQLEtBQUs7Z0JBSU4seUJBQXlCO3NCQUR4QixZQUFZO3VCQUFDLHdCQUF3QjtnQkFJdEMsaUJBQWlCO3NCQURoQixZQUFZO3VCQUFDLGdCQUFnQjtnQkFJOUIsb0JBQW9CO3NCQURuQixZQUFZO3VCQUFDLG1CQUFtQjtnQkFJakMsaUJBQWlCO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFRyYWNrQnlGdW5jdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCaW5kaW5nLFxuICBCb29sZWFuVmFsdWVNb2RlbENoYWluLFxuICBEc2wsXG4gIExpc3RNb2RlbCxcbiAgTGlzdE1vZGVsQ2hhaW4sXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBQcm94aWZ5LFxuICBwcm94aWZ5LFxuICBTdG9yZUluTGlzdE1vZGVsXG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7aXNOaWx9IGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCB7QWJzdHJhY3RWYWx1ZUlucHV0Q29tcG9uZW50fSBmcm9tICcuLi9hYnN0cmFjdC12YWx1ZS1pbnB1dC5jb21wb25lbnQnO1xuXG4vKipcbiAqIFVzaW5nIHRlbXBsYXRlczpcbiAqIDxhdXAtc2VsZWN0LWlucHV0IFt2YWx1ZSRdPVwibXlNb2RlbFwiIFtvcHRpb25zXT1cIm15T3B0aW9uc1wiPlxuICogICA8bmctdGVtcGxhdGUgI29wdGlvblRlbXBsYXRlIGxldC1vcHRpb24+e3tvcHRpb24udGhlUHJvcGVydHlZb3VXYW50fX08L25nLXRlbXBsYXRlPlxuICogICA8bmctdGVtcGxhdGUgI3NlbGVjdGVkT3B0aW9uVGVtcGxhdGUgbGV0LW9wdGlvbj57e29wdGlvbi50aGVQcm9wZXJ0eVlvdVdhbnR9fSBub3RlLCBub3QgdXNlZCBmb3IgbmlscyAodGhlIHBsYWNlaG9sZGVyIGlzIHVzZWQpPC9uZy10ZW1wbGF0ZT5cbiAqICAgPG5nLXRlbXBsYXRlICNuaWxPcHRpb25UZW1wbGF0ZT5Vc2VzIHRoZSBwbGFjZWhvbGRlciBieSBkZWZhdWx0IGJ1dCB5b3UgY2FuIGN1c3RvbWlzZSBpdDwvbmctdGVtcGxhdGU+XG4gKiA8L2F1cC1zZWxlY3RfaW5wdXQ+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1zZWxlY3QtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWlucHV0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0SW5wdXRDb21wb25lbnQ8VCA9IGFueT4gZXh0ZW5kcyBBYnN0cmFjdFZhbHVlSW5wdXRDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3Igb3B0aW9ucyQgPSBwcm94aWZ5KExpc3RNb2RlbDxUPik7XG5cblxuICBASW5wdXQoKSBAU3RvcmVJbkxpc3RNb2RlbCgpXG4gIGFjY2Vzc29yIG9wdGlvbnM6IHJlYWRvbmx5IFRbXTtcblxuICBASW5wdXQoKVxuICBvcHRpb25MYWJlbDoga2V5b2YgVDtcblxuICBASW5wdXQoKVxuICBhbGxvd05pbDogYm9vbGVhbjtcblxuICBAQ29udGVudENoaWxkKCdzZWxlY3RlZE9wdGlvblRlbXBsYXRlJylcbiAgc2VsZWN0ZWRPcHRpb25UZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKCdvcHRpb25UZW1wbGF0ZScpXG4gIG9wdGlvblRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoJ25pbE9wdGlvblRlbXBsYXRlJylcbiAgbmlsT3B0aW9uVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgb3B0aW9uTGFiZWxGb3JtYXQ6IChvcHRpb246IFQpID0+IGFueSA9IChvcHRpb24pID0+IChvcHRpb24gJiYgdGhpcy5vcHRpb25MYWJlbCkgPyBvcHRpb25bdGhpcy5vcHRpb25MYWJlbF0gOiBvcHRpb247XG5cbiAgcmVhZG9ubHkgaXNOaWwkOiBCb29sZWFuVmFsdWVNb2RlbENoYWluO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaWQkID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPGFueT4oKTtcblxuICByZWFkb25seSBjb29rZWRPcHRpb25zJDogTGlzdE1vZGVsQ2hhaW48VD47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZWxlZ2F0ZWRJZGVudGl0eU9mID0gKGl0ZW06IFQpID0+IHRoaXMub3B0aW9ucyQuaWRlbnRpdHlPZihpdGVtKTtcblxuICByZWFkb25seSB0cmFja0J5SWRlbnRpdHk6IFRyYWNrQnlGdW5jdGlvbjxUPiA9IChpbmRleDogbnVtYmVyLCBpdGVtOiBUKSA9PiB0aGlzLmRlbGVnYXRlZElkZW50aXR5T2YoaXRlbSkgPz8gaW5kZXg7XG5cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHtjaGFpbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5jb29rZWRPcHRpb25zJCA9IGNoYWluKHRoaXMub3B0aW9ucyQpXG4gICAgICAucmVkdWNlVG9MaXN0KG9wdGlvbnMgPT4ge1xuICAgICAgICByZXR1cm4gb3B0aW9ucy5sZW5ndGggPCAxICYmICFpc05pbCh0aGlzLmNvbXBvbmVudFZhbHVlJC52YWx1ZSkgPyBbdGhpcy5jb21wb25lbnRWYWx1ZSQudmFsdWVdIDogb3B0aW9uc1xuICAgICAgfSwge1xuICAgICAgICBkZXBlbmRzT246IHRoaXMuY29tcG9uZW50VmFsdWUkXG4gICAgICB9KVxuICAgICAgLmlkZW50aWZpZWRXaXRoKHRoaXMuZGVsZWdhdGVkSWRlbnRpdHlPZilcbiAgfVxuXG4gIHNlbGVjdChpdGVtOiBUKSB7XG4gICAgdGhpcy5pZCQudmFsdWUgPSB0aGlzLmRlbGVnYXRlZElkZW50aXR5T2YoaXRlbSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpXG5cbiAgICAvLyBOT1RFOiB0aGlzIGhhcyB0byBiZSBkb25lIGFmdGVyIG91ciBwYXJhbWV0ZXIgaGF2ZSBiZWVuIGJvdW5kIG9yIHdlJ2xsIGNsb2JiZXIgdGhlIGluaXRpYWwgc2VsZWN0ZWQgdmFsdWVzIHdpdGggdGhlIHdyaXRlUmlnaHRcbiAgICBjb25zdCB7Y2hhaW4sIGJlZm9yZSwgd2hlbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgY29uc3QgbG9va3VwID0gY2hhaW4odGhpcy5vcHRpb25zJCkuaW5kZXhVc2luZyh0aGlzLmRlbGVnYXRlZElkZW50aXR5T2YpO1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuXG4gICAgY29uc3QgYmluZGluZyA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBCaW5kaW5nKHRoaXMuY29tcG9uZW50VmFsdWUkLCB0aGlzLmlkJCwge1xuICAgICAgdG9MZWZ0KHNlbGVjdGVkSWQ6IGFueSwgY3VycmVudFZhbHVlPzogVCk6IFQge1xuICAgICAgICBpZiAoaXNOaWwoc2VsZWN0ZWRJZCkpIHtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gbG9va3VwLmdldChzZWxlY3RlZElkKTsgLy8gdGhlIGxpc3QgaXMgZW1wdHkgb3Igd2UncmUgbWlzc2luZyBmb3JtIGl0IHNvIGRvbid0IHRvdWNoIHRoZSByZWFsIHZhbHVlLlxuICAgICAgICByZXR1cm4gaXNOaWwobmV3VmFsdWUpID8gY3VycmVudFZhbHVlIDogbmV3VmFsdWU7XG4gICAgICB9LFxuICAgICAgbGVmdERlcGVuZHNPbjogbG9va3VwLFxuICAgICAgdG9SaWdodChzZWxlY3RlZFZhbHVlOiBULCBzZWxlY3RlZElkPzogYW55KTogYW55IHtcbiAgICAgICAgcmV0dXJuIHNlbGYuZGVsZWdhdGVkSWRlbnRpdHlPZihzZWxlY3RlZFZhbHVlKVxuICAgICAgfVxuICAgIH0pKS53cml0ZVJpZ2h0KCk7XG5cbiAgICAvLyBUT0RPOiB3ZSBoYXZlIHRvIGRvIHRoaXMgYXMgdGhlIG9wdGlvbnMgaWRlbnRpdHkgZnVuY3Rpb24gY2FuIGNoYW5nZSBmcm9tIGlkZW50aXR5IHRvIHNvbWV0aGlnbiBlbHNlIGFmdGVyXG4gICAgLy8gICAgICAgd2UgYWxyZWFkeSBoYXZlIGFuIGluaXRpYWwgdmFsdWUuICBJbiB0aGF0IGNhc2UgdGhlIHN0b3JlZCBpZCB3aWxsIGJlIHdyb25nLlxuICAgIC8vICAgICAgIFByb2JhYmx5IGEgcmVhc29uYWJsZSBzb2x1dGlvbiBmb3IgaXQgYmUgdG8gdHJhY2sgY2hhbmdlcyBpbiB0aGUgaWRlbnRpdHkgZnVuY3Rpb24gYW5kIGhhbmRsZSBpdFxuICAgIC8vICAgICAgIGF0IGEgbW9yZSBmdW5kYW1lbnRhbCBsZXZlbC4gIFRoaXMgbWF5IGluY2x1ZGUgY2hlY2tpbmcgaWYgdGhlIGZ1bmN0aW9uIGhhcyBjaGFuZ2VkLi4uIGJ1dCBjdXJyZW50bHlcbiAgICAvLyAgICAgICB0aGUgZnVuY3Rpb24gY2hhbmdlIHRoaW5ncyB1bmRlciB0aGUgaG9vZC5cbiAgICBjb25zdCBzbmFwc2hvdFZhbHVlQW5kSWQgPSAodmFsdWU6IFQpOiBhbnkgPT4gKHtcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIGlkOiB0aGlzLmRlbGVnYXRlZElkZW50aXR5T2YodmFsdWUpXG4gICAgfSk7XG4gICAgbGV0IGxhc3RJZFNuYXBzaG90OiB7IHZhbHVlOiBULCBpZDogYW55IH0gPSBzbmFwc2hvdFZhbHVlQW5kSWQodGhpcy5jb21wb25lbnRWYWx1ZSQudmFsdWUpO1xuICAgIC8vIGNvbnNvbGUubG9nKGxhc3RJZFNuYXBzaG90KVxuICAgIGJlZm9yZSh0aGlzLm9wdGlvbnMkKS5jaGFuZ2VzKCgpID0+IHtcbiAgICAgIGxhc3RJZFNuYXBzaG90ID0gc25hcHNob3RWYWx1ZUFuZElkKHRoaXMuY29tcG9uZW50VmFsdWUkLnZhbHVlKTtcbiAgICAgIC8vIGNvbnNvbGUubG9nKGxhc3RJZFNuYXBzaG90KVxuICAgIH0pXG4gICAgd2hlbih0aGlzLm9wdGlvbnMkKS5jaGFuZ2VzKChpcywgd2FzKSA9PiB7XG4gICAgICBjb25zdCBuZXdJZFNuYXBzaG90ID0gc25hcHNob3RWYWx1ZUFuZElkKGxhc3RJZFNuYXBzaG90LnZhbHVlKTtcbiAgICAgIC8vIGNvbnNvbGUubG9nKGxhc3RJZFNuYXBzaG90LCBuZXdJZFNuYXBzaG90KVxuICAgICAgaWYgKG5ld0lkU25hcHNob3QgIT09IGxhc3RJZFNuYXBzaG90LmlkKSB7XG4gICAgICAgIHRoaXMuaWQkLnZhbHVlID0gdGhpcy5kZWxlZ2F0ZWRJZGVudGl0eU9mKHRoaXMuY29tcG9uZW50VmFsdWUkLnZhbHVlKVxuICAgICAgfVxuICAgIH0pXG5cbiAgfVxuXG59XG4iLCI8bWF0LWZvcm0tZmllbGQgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiPlxuICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxcIj57e2xhYmVsfX08L21hdC1sYWJlbD5cbiAgPG1hdC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyfX1cIlxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJjb21wb25lbnRWYWx1ZSQudmFsdWVcIlxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhZW5hYmxlZCQudmFsdWVcIlxuICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJub3RpZnlFbnRlcktleSgpXCJcbiAgICAgICAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cIm5vdGlmeUVzY2FwZUtleSgpXCJcbiAgICAgICAgICAgICAgW3BlY3RpbkZvY3VzQmluZGluZ109XCJmb2N1c0NvbnRleHRcIlxuICAgICAgICAgICAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwiZXJyb3JTdGF0ZU1hdGNoZXJcIlxuICA+XG5cbiAgICA8IS0tXG4gICAgVE9ETzogZGF2ZSBoYXMgYSBzY2VuYXJpbyB3aGVyZSB0aGUgc2VsZWN0ZWQgaXRlbSBpc24ndCByZW5kZXJpbmcgdGhhdCBJIGNhbid0IHJlcHJvZHVjZSBzbyB3ZSBleHBsaWNpdHkgcmVuZGVyIGl0Li5cbiAgICAgICAgICBJdCB0eXBpY2FsbHkgaGFwcGVucyBiZWNhdXNlIHRoZSBuZ01vZGVsIHZhbHVlIGlzbid0IHRoZSBvbmUgY29udGFpbmVkIGluIHRoZSBsaXN0IC0gdGhpcyBtZWFucyBvdXIgc291cmNlIG1vZGVsXG4gICAgICAgICAgaWRlbnRpZnlPZiBmdW5jdGlvbiBoYXMgY2hhbmdlZCBhbmQgb3VyIGlkJC9sb29rdXAkL2NvbXBvbmVudFZhbHVlJCBhcmUgb3V0IG9mIHN5bmMuXG4gICAgICAgICAgV2UgZ2V0IGFyb3VuZCB0aGlzIGZvciBub3cgYnkgZXhwbGljaXR5IHJlbmRlcmluZyB0aGUgY29tcG9uZW50IHZhbHVlLlxuICAgICAgICAgIFBsZWFzZSBOb3RlOiBJIGhhdmVuJ3QgYmVlbiBhYmxlIHRvIHJlcHJvZHVjZSB0aGlzXG4gICAgLS0+XG4gICAgPG1hdC1zZWxlY3QtdHJpZ2dlciAqbmdJZj1cIiFzZWxlY3RlZE9wdGlvblRlbXBsYXRlUmVmXCI+XG4gICAgICB7e29wdGlvbkxhYmVsRm9ybWF0KGNvbXBvbmVudFZhbHVlJC52YWx1ZSl9fVxuICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuXG4gICAgPG1hdC1zZWxlY3QtdHJpZ2dlciAqbmdJZj1cInNlbGVjdGVkT3B0aW9uVGVtcGxhdGVSZWZcIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2VsZWN0ZWRPcHRpb25UZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29tcG9uZW50VmFsdWUkLnZhbHVlfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuXG4gICAgPG1hdC1vcHRpb24gKm5nSWY9XCJhbGxvd05pbFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFuaWxPcHRpb25UZW1wbGF0ZVJlZlwiPnt7cGxhY2Vob2xkZXJ9fTwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5pbE9wdGlvblRlbXBsYXRlUmVmXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwibmlsT3B0aW9uVGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L21hdC1vcHRpb24+XG4gICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBjb29rZWRPcHRpb25zJC52YWx1ZTsgdHJhY2tCeTogdHJhY2tCeUlkZW50aXR5O2xldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhb3B0aW9uVGVtcGxhdGVSZWZcIj57e29wdGlvbkxhYmVsRm9ybWF0KG9wdGlvbil9fTwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvblRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uVGVtcGxhdGVSZWZcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IG9wdGlvbiwgaW5kZXg6IGkgfVwiXG4gICAgICA+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L21hdC1vcHRpb24+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NlbGVjdC1vcHRpb24tZm9vdGVyXVwiPjwvbmctY29udGVudD5cbiAgPC9tYXQtc2VsZWN0PlxuICA8bWF0LWhpbnQgKm5nSWY9XCJzaG93SGludFwiPnt7aGludH19PC9tYXQtaGludD5cbiAgPG1hdC1lcnJvciAqbmdJZj1cImhhc0Vycm9yc1wiPnt7Zmlyc3RFcnJvcn19PC9tYXQtZXJyb3I+XG48L21hdC1mb3JtLWZpZWxkPlxuPGRpdiBjbGFzcz1cIndpZHRoLXN0cnV0XCI+XG4gIDxtYXQtbGFiZWwgKm5nSWY9XCJsYWJlbFwiPnt7bGFiZWx9fTwvbWF0LWxhYmVsPlxuICA8ZGl2IGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvb2tlZE9wdGlvbnMkLnZhbHVlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFvcHRpb25UZW1wbGF0ZVJlZlwiPnt7b3B0aW9uTGFiZWxGb3JtYXQoaXRlbSl9fTwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25UZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25UZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0sIGluZGV4OiAwIH1cIlxuICAgID5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,15 +1,15 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { Component, Input } from '@angular/core';
3
- import { Command, Dsl, StoreInValueModel, Proxify, ValueModel, proxify } from '@coolon/pectin';
3
+ import { Command, Dsl, Proxify, proxify, StoreInValueModel, ValueModel } from '@coolon/pectin';
4
4
  import { AbstractValueInputComponent } from '../abstract-value-input.component';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common";
7
7
  import * as i2 from "@angular/forms";
8
- import * as i3 from "@angular/material/legacy-form-field";
9
- import * as i4 from "@angular/material/legacy-input";
8
+ import * as i3 from "@angular/material/input";
9
+ import * as i4 from "@angular/material/form-field";
10
10
  import * as i5 from "../../../directives/command.directive";
11
11
  import * as i6 from "../../../directives/focus-binding.directive";
12
- import * as i7 from "@angular/material/legacy-button";
12
+ import * as i7 from "@angular/material/button";
13
13
  import * as i8 from "../../icon/icon.component";
14
14
  export class StringInputComponent extends AbstractValueInputComponent {
15
15
  autocomplete;
@@ -29,8 +29,8 @@ export class StringInputComponent extends AbstractValueInputComponent {
29
29
  });
30
30
  this.clearCommand.disableWhile(chain.stringValue(this.componentValue$).isBlank());
31
31
  }
32
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: StringInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: StringInputComponent, selector: "aup-string-input", inputs: { autocomplete: "autocomplete", enableClear$: "enableClear$", enableClear: "enableClear", iconPrefix: "iconPrefix" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <aup-icon *ngIf=\"iconPrefix\" matPrefix [icon]=\"iconPrefix\"></aup-icon>\n <button mat-button mat-icon-button matSuffix *ngIf=\"enableClear\" [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n", styles: ["button[disabled]{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatLegacyError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i3.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLegacyHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatLegacyLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatLegacyPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i3.MatLegacySuffix, selector: "[matSuffix]" }, { kind: "directive", type: i4.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "directive", type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: i6.FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }, { kind: "component", type: i7.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
32
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: StringInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: StringInputComponent, selector: "aup-string-input", inputs: { autocomplete: "autocomplete", enableClear$: "enableClear$", enableClear: "enableClear", iconPrefix: "iconPrefix" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <aup-icon *ngIf=\"iconPrefix\" matPrefix [icon]=\"iconPrefix\"></aup-icon>\n <button mat-icon-button matSuffix *ngIf=\"enableClear\" [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n", styles: ["button[disabled]{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: i6.FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
34
34
  }
35
35
  __decorate([
36
36
  Proxify(),
@@ -40,9 +40,9 @@ __decorate([
40
40
  StoreInValueModel(),
41
41
  __metadata("design:type", Object)
42
42
  ], StringInputComponent.prototype, "enableClear", null);
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: StringInputComponent, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: StringInputComponent, decorators: [{
44
44
  type: Component,
45
- args: [{ selector: 'aup-string-input', template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <aup-icon *ngIf=\"iconPrefix\" matPrefix [icon]=\"iconPrefix\"></aup-icon>\n <button mat-button mat-icon-button matSuffix *ngIf=\"enableClear\" [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n", styles: ["button[disabled]{visibility:hidden}\n"] }]
45
+ args: [{ selector: 'aup-string-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <aup-icon *ngIf=\"iconPrefix\" matPrefix [icon]=\"iconPrefix\"></aup-icon>\n <button mat-icon-button matSuffix *ngIf=\"enableClear\" [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n", styles: ["button[disabled]{visibility:hidden}\n"] }]
46
46
  }], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
47
47
  type: Input
48
48
  }], enableClear$: [{
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
52
52
  }], iconPrefix: [{
53
53
  type: Input
54
54
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc3RyaW5nLWlucHV0L3N0cmluZy1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3N0cmluZy1pbnB1dC9zdHJpbmctaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7Ozs7QUFPaEYsTUFBTSxPQUFPLG9CQUFxQixTQUFRLDJCQUFtQztJQUVsRSxZQUFZLENBQVM7SUFHckIsaUNBQWUsT0FBTyxDQUFDLENBQUEsVUFBbUIsQ0FBQSxDQUFDLENBQUM7SUFBNUMsSUFBQSxZQUFZLGtEQUFnQztJQUE1QyxJQUFBLFlBQVksd0RBQWdDO0lBRzVDLGdDQUFjLEtBQUssQ0FBQztJQUFwQixJQUFBLFdBQVcsaURBQVM7SUFBcEIsSUFBQSxXQUFXLHVEQUFTO0lBRXBCLFVBQVUsQ0FBUztJQUduQixZQUFZLENBQWdCO0lBRXJDO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFDUixNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDcEYsQ0FBQzt1R0F0QlUsb0JBQW9COzJGQUFwQixvQkFBb0IsNk1DVGpDLGk0QkFvQkE7O0FETlc7SUFEQyxPQUFPLEVBQUU7O3dEQUNrQztBQUc1QztJQURDLGlCQUFpQixFQUFFOzt1REFDQTsyRkFSbEIsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjswRUFNbkIsWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxZQUFZO3NCQURwQixLQUFLO2dCQUlHLFdBQVc7c0JBRG5CLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tYW5kLCBEc2wsIFN0b3JlSW5WYWx1ZU1vZGVsLCBQcm94aWZ5LCBWYWx1ZU1vZGVsLCBwcm94aWZ5fSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBBYnN0cmFjdFZhbHVlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdC12YWx1ZS1pbnB1dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtc3RyaW5nLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0cmluZy1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0cmluZy1pbnB1dC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFN0cmluZ0lucHV0Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RWYWx1ZUlucHV0Q29tcG9uZW50PHN0cmluZz4ge1xuXG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3IgZW5hYmxlQ2xlYXIkID0gcHJveGlmeShWYWx1ZU1vZGVsPGJvb2xlYW4+KTtcblxuICBASW5wdXQoKSBAU3RvcmVJblZhbHVlTW9kZWwoKVxuICBhY2Nlc3NvciBlbmFibGVDbGVhciA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGljb25QcmVmaXg6IHN0cmluZztcblxuXG4gIHJlYWRvbmx5IGNsZWFyQ29tbWFuZDogQ29tbWFuZDx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5jbGVhckNvbW1hbmQgPSBDb21tYW5kLmNyZWF0ZSgoKSA9PiB7XG4gICAgICB0aGlzLmNvbXBvbmVudFZhbHVlJC52YWx1ZSA9IFwiXCI7XG4gICAgfSk7XG4gICAgdGhpcy5jbGVhckNvbW1hbmQuZGlzYWJsZVdoaWxlKGNoYWluLnN0cmluZ1ZhbHVlKHRoaXMuY29tcG9uZW50VmFsdWUkKS5pc0JsYW5rKCkpO1xuICB9XG5cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwic3RhbmRhcmRcIiBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCI+XG4gIDxtYXQtbGFiZWwgKm5nSWY9XCJsYWJlbFwiPnt7bGFiZWx9fTwvbWF0LWxhYmVsPlxuICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgIHBsYWNlaG9sZGVyPVwie3twbGFjZWhvbGRlcn19XCJcbiAgICAgICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgICAgWyhuZ01vZGVsKV09XCJjb21wb25lbnRWYWx1ZSQudmFsdWVcIlxuICAgICAgICAgW2Rpc2FibGVkXT1cIiFlbmFibGVkJC52YWx1ZVwiXG4gICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJub3RpZnlFbnRlcktleSgpXCJcbiAgICAgICAgIChrZXlkb3duLmVzY2FwZSk9XCJub3RpZnlFc2NhcGVLZXkoKVwiXG4gICAgICAgICBbcGVjdGluRm9jdXNCaW5kaW5nXT1cImZvY3VzQ29udGV4dFwiXG4gICAgICAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwiZXJyb3JTdGF0ZU1hdGNoZXJcIlxuICA+XG4gIDxtYXQtaGludCAqbmdJZj1cInNob3dIaW50XCI+e3toaW50fX08L21hdC1oaW50PlxuICA8bWF0LWVycm9yICpuZ0lmPVwiaGFzRXJyb3JzXCI+e3tmaXJzdEVycm9yfX08L21hdC1lcnJvcj5cbiAgPGF1cC1pY29uICpuZ0lmPVwiaWNvblByZWZpeFwiIG1hdFByZWZpeCBbaWNvbl09XCJpY29uUHJlZml4XCI+PC9hdXAtaWNvbj5cbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggKm5nSWY9XCJlbmFibGVDbGVhclwiIFtwZWN0aW5Db21tYW5kXT1cImNsZWFyQ29tbWFuZFwiPlxuICAgIDxhdXAtaWNvbiBpY29uPVwibWF0OmNsb3NlXCI+PC9hdXAtaWNvbj5cbiAgPC9idXR0b24+XG48L21hdC1mb3JtLWZpZWxkPlxuXG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc3RyaW5nLWlucHV0L3N0cmluZy1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3N0cmluZy1pbnB1dC9zdHJpbmctaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFDTCxPQUFPLEVBRVAsR0FBRyxFQUVILE9BQU8sRUFDUCxPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7O0FBTzlFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSwyQkFBbUM7SUFHbEUsWUFBWSxDQUFTO0lBR3JCLGlDQUFlLE9BQU8sQ0FBQyxDQUFBLFVBQW1CLENBQUEsQ0FBQyxDQUFDO0lBQTVDLElBQUEsWUFBWSxrREFBZ0M7SUFBNUMsSUFBQSxZQUFZLHdEQUFnQztJQUc1QyxnQ0FBYyxLQUFLLENBQUM7SUFBcEIsSUFBQSxXQUFXLGlEQUFTO0lBQXBCLElBQUEsV0FBVyx1REFBUztJQUVwQixVQUFVLENBQVM7SUFFbkIsWUFBWSxDQUFnQjtJQUVyQztRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUN0QyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7dUdBdEJVLG9CQUFvQjsyRkFBcEIsb0JBQW9CLDZNQ2xCakMsODFCQW9CQTs7QURJVztJQURDLE9BQU8sRUFBRTs7d0RBQ2tDO0FBRzVDO0lBREMsaUJBQWlCLEVBQUU7O3VEQUNBOzJGQVRsQixvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0Usa0JBQWtCOzBFQU9uQixZQUFZO3NCQUFwQixLQUFLO2dCQUdHLFlBQVk7c0JBRHBCLEtBQUs7Z0JBSUcsV0FBVztzQkFEbkIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbW1hbmQsXG4gIENvbnZlcnRlZEZvcm1WYWx1ZU1vZGVsLFxuICBEc2wsXG4gIEZvcm1WYWx1ZU1vZGVsLCBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgUHJveGlmeSxcbiAgcHJveGlmeSxcbiAgU3RvcmVJblZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxcbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtBYnN0cmFjdFZhbHVlSW5wdXRDb21wb25lbnR9IGZyb20gJy4uL2Fic3RyYWN0LXZhbHVlLWlucHV0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1zdHJpbmctaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RyaW5nLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RyaW5nLWlucHV0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU3RyaW5nSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFZhbHVlSW5wdXRDb21wb25lbnQ8c3RyaW5nPiB7XG5cblxuICBASW5wdXQoKSBhdXRvY29tcGxldGU6IHN0cmluZztcblxuICBASW5wdXQoKSBAUHJveGlmeSgpXG4gIGFjY2Vzc29yIGVuYWJsZUNsZWFyJCA9IHByb3hpZnkoVmFsdWVNb2RlbDxib29sZWFuPik7XG5cbiAgQElucHV0KCkgQFN0b3JlSW5WYWx1ZU1vZGVsKClcbiAgYWNjZXNzb3IgZW5hYmxlQ2xlYXIgPSBmYWxzZTtcblxuICBASW5wdXQoKSBpY29uUHJlZml4OiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgY2xlYXJDb21tYW5kOiBDb21tYW5kPHZvaWQ+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLmNsZWFyQ29tbWFuZCA9IENvbW1hbmQuY3JlYXRlKCgpID0+IHtcbiAgICAgIHRoaXMuY29tcG9uZW50VmFsdWUkLnZhbHVlID0gXCJcIjtcbiAgICB9KTtcbiAgICB0aGlzLmNsZWFyQ29tbWFuZC5kaXNhYmxlV2hpbGUoY2hhaW4uc3RyaW5nVmFsdWUodGhpcy5jb21wb25lbnRWYWx1ZSQpLmlzQmxhbmsoKSk7XG4gIH1cblxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIj5cbiAgPG1hdC1sYWJlbCAqbmdJZj1cImxhYmVsXCI+e3tsYWJlbH19PC9tYXQtbGFiZWw+XG4gIDxpbnB1dCBtYXRJbnB1dFxuICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyfX1cIlxuICAgICAgICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXG4gICAgICAgICBbKG5nTW9kZWwpXT1cImNvbXBvbmVudFZhbHVlJC52YWx1ZVwiXG4gICAgICAgICBbZGlzYWJsZWRdPVwiIWVuYWJsZWQkLnZhbHVlXCJcbiAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm5vdGlmeUVudGVyS2V5KClcIlxuICAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cIm5vdGlmeUVzY2FwZUtleSgpXCJcbiAgICAgICAgIFtwZWN0aW5Gb2N1c0JpbmRpbmddPVwiZm9jdXNDb250ZXh0XCJcbiAgICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJlcnJvclN0YXRlTWF0Y2hlclwiXG4gID5cbiAgPG1hdC1oaW50ICpuZ0lmPVwic2hvd0hpbnRcIj57e2hpbnR9fTwvbWF0LWhpbnQ+XG4gIDxtYXQtZXJyb3IgKm5nSWY9XCJoYXNFcnJvcnNcIj57e2ZpcnN0RXJyb3J9fTwvbWF0LWVycm9yPlxuICA8YXVwLWljb24gKm5nSWY9XCJpY29uUHJlZml4XCIgbWF0UHJlZml4IFtpY29uXT1cImljb25QcmVmaXhcIj48L2F1cC1pY29uPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggKm5nSWY9XCJlbmFibGVDbGVhclwiIFtwZWN0aW5Db21tYW5kXT1cImNsZWFyQ29tbWFuZFwiPlxuICAgIDxhdXAtaWNvbiBpY29uPVwibWF0OmNsb3NlXCI+PC9hdXAtaWNvbj5cbiAgPC9idXR0b24+XG48L21hdC1mb3JtLWZpZWxkPlxuXG4iXX0=