@openmrs/ngx-formentry 3.0.1-pre.8

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 (344) hide show
  1. package/abstract-controls-extension/afe-control-type.d.ts +6 -0
  2. package/abstract-controls-extension/afe-form-array.d.ts +43 -0
  3. package/abstract-controls-extension/afe-form-control.d.ts +46 -0
  4. package/abstract-controls-extension/afe-form-group.d.ts +38 -0
  5. package/abstract-controls-extension/control-extensions.d.ts +4 -0
  6. package/abstract-controls-extension/index.d.ts +4 -0
  7. package/abstract-controls-extension/value-change.listener.d.ts +4 -0
  8. package/bundles/openmrs-ngx-formentry.umd.js +15020 -0
  9. package/bundles/openmrs-ngx-formentry.umd.js.map +1 -0
  10. package/bundles/openmrs-ngx-formentry.umd.min.js +2 -0
  11. package/bundles/openmrs-ngx-formentry.umd.min.js.map +1 -0
  12. package/change-tracking/control-relation.d.ts +12 -0
  13. package/change-tracking/control-relations.d.ts +12 -0
  14. package/components/afe-ng-select.component.d.ts +26 -0
  15. package/components/appointments-overview/appointments-overview.component.d.ts +15 -0
  16. package/components/check-box/checkbox.component.d.ts +16 -0
  17. package/components/check-box/checkbox.module.d.ts +2 -0
  18. package/components/custom-component-wrapper/custom-component-wrapper..module.d.ts +2 -0
  19. package/components/custom-component-wrapper/custom-component-wrapper.component.d.ts +11 -0
  20. package/components/custom-control-wrapper/custom-control-wrapper..module.d.ts +2 -0
  21. package/components/custom-control-wrapper/custom-control-wrapper.component.d.ts +25 -0
  22. package/components/date-time-picker/date-picker/date-picker.component.d.ts +42 -0
  23. package/components/date-time-picker/date-time-picker.component.d.ts +26 -0
  24. package/components/date-time-picker/date-time-picker.module.d.ts +5 -0
  25. package/components/date-time-picker/picker-modal/modal.component.d.ts +10 -0
  26. package/components/date-time-picker/pipes/moment.pipe.d.ts +8 -0
  27. package/components/date-time-picker/time-picker/time-picker.component.d.ts +29 -0
  28. package/components/file-upload/file-upload.component.d.ts +26 -0
  29. package/components/file-upload/file-upload.module.d.ts +2 -0
  30. package/components/file-upload/secure.pipe.d.ts +23 -0
  31. package/components/input/input.directive.d.ts +28 -0
  32. package/components/input/input.module.d.ts +2 -0
  33. package/components/input/label.component.d.ts +87 -0
  34. package/components/input/text-area.directive.d.ts +21 -0
  35. package/components/ngx-datetime-picker/ngx-datetime-picker.component.d.ts +17 -0
  36. package/components/ngx-datetime-picker/ngx-datetime-picker.module.d.ts +5 -0
  37. package/components/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.d.ts +189 -0
  38. package/components/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.d.ts +15 -0
  39. package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.d.ts +73 -0
  40. package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.d.ts +5 -0
  41. package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.d.ts +7 -0
  42. package/components/ngx-pick-datetime/lib/date-time/calendar-body.component.d.ts +77 -0
  43. package/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.d.ts +139 -0
  44. package/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.d.ts +109 -0
  45. package/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.d.ts +120 -0
  46. package/components/ngx-pick-datetime/lib/date-time/calendar.component.d.ts +141 -0
  47. package/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.d.ts +90 -0
  48. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.d.ts +122 -0
  49. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.d.ts +152 -0
  50. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.d.ts +51 -0
  51. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.d.ts +21 -0
  52. package/components/ngx-pick-datetime/lib/date-time/date-time-picker.animations.d.ts +8 -0
  53. package/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.d.ts +157 -0
  54. package/components/ngx-pick-datetime/lib/date-time/date-time.class.d.ts +86 -0
  55. package/components/ngx-pick-datetime/lib/date-time/date-time.module.d.ts +5 -0
  56. package/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.d.ts +7 -0
  57. package/components/ngx-pick-datetime/lib/date-time/timer-box.component.d.ts +35 -0
  58. package/components/ngx-pick-datetime/lib/date-time/timer.component.d.ts +129 -0
  59. package/components/ngx-pick-datetime/lib/dialog/dialog-config.class.d.ts +93 -0
  60. package/components/ngx-pick-datetime/lib/dialog/dialog-container.component.d.ts +56 -0
  61. package/components/ngx-pick-datetime/lib/dialog/dialog-ref.class.d.ts +49 -0
  62. package/components/ngx-pick-datetime/lib/dialog/dialog.module.d.ts +5 -0
  63. package/components/ngx-pick-datetime/lib/dialog/dialog.service.d.ts +70 -0
  64. package/components/ngx-pick-datetime/lib/utils/index.d.ts +4 -0
  65. package/components/ngx-pick-datetime/lib/utils/object.utils.d.ts +11 -0
  66. package/components/ngx-remote-select/ngx-remote-select.component.d.ts +37 -0
  67. package/components/ngx-remote-select/ngx-remote-select.module.d.ts +2 -0
  68. package/components/ngx-tabset/components/tab-set.d.ts +16 -0
  69. package/components/ngx-tabset/components/tab.d.ts +10 -0
  70. package/components/ngx-tabset/directives/hover-class.directive.d.ts +8 -0
  71. package/components/ngx-tabset/modules/ngx-tabset.module.d.ts +11 -0
  72. package/components/number-input/number-input.component.d.ts +148 -0
  73. package/components/number-input/number-input.module.d.ts +2 -0
  74. package/components/select/optgroup.directive.d.ts +3 -0
  75. package/components/select/option.directive.d.ts +3 -0
  76. package/components/select/select.component.d.ts +112 -0
  77. package/components/select/select.module.d.ts +2 -0
  78. package/esm2015/abstract-controls-extension/afe-control-type.js +8 -0
  79. package/esm2015/abstract-controls-extension/afe-form-array.js +85 -0
  80. package/esm2015/abstract-controls-extension/afe-form-control.js +88 -0
  81. package/esm2015/abstract-controls-extension/afe-form-group.js +61 -0
  82. package/esm2015/abstract-controls-extension/control-extensions.js +5 -0
  83. package/esm2015/abstract-controls-extension/index.js +5 -0
  84. package/esm2015/abstract-controls-extension/value-change.listener.js +2 -0
  85. package/esm2015/change-tracking/control-relation.js +44 -0
  86. package/esm2015/change-tracking/control-relations.js +32 -0
  87. package/esm2015/components/afe-ng-select.component.js +87 -0
  88. package/esm2015/components/appointments-overview/appointments-overview.component.js +119 -0
  89. package/esm2015/components/check-box/checkbox.component.js +77 -0
  90. package/esm2015/components/check-box/checkbox.module.js +14 -0
  91. package/esm2015/components/custom-component-wrapper/custom-component-wrapper..module.js +16 -0
  92. package/esm2015/components/custom-component-wrapper/custom-component-wrapper.component.js +18 -0
  93. package/esm2015/components/custom-control-wrapper/custom-control-wrapper..module.js +17 -0
  94. package/esm2015/components/custom-control-wrapper/custom-control-wrapper.component.js +63 -0
  95. package/esm2015/components/date-time-picker/date-picker/date-picker.component.js +182 -0
  96. package/esm2015/components/date-time-picker/date-time-picker.component.js +104 -0
  97. package/esm2015/components/date-time-picker/date-time-picker.module.js +34 -0
  98. package/esm2015/components/date-time-picker/picker-modal/modal.component.js +30 -0
  99. package/esm2015/components/date-time-picker/pipes/moment.pipe.js +13 -0
  100. package/esm2015/components/date-time-picker/time-picker/time-picker.component.js +114 -0
  101. package/esm2015/components/file-upload/file-upload.component.js +110 -0
  102. package/esm2015/components/file-upload/file-upload.module.js +24 -0
  103. package/esm2015/components/file-upload/secure.pipe.js +102 -0
  104. package/esm2015/components/input/input.directive.js +55 -0
  105. package/esm2015/components/input/input.module.js +18 -0
  106. package/esm2015/components/input/label.component.js +177 -0
  107. package/esm2015/components/input/text-area.directive.js +40 -0
  108. package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.component.js +60 -0
  109. package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.module.js +26 -0
  110. package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.js +114 -0
  111. package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.js +7 -0
  112. package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.js +344 -0
  113. package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.js +16 -0
  114. package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.js +30 -0
  115. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-body.component.js +149 -0
  116. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.js +429 -0
  117. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.js +367 -0
  118. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.js +359 -0
  119. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar.component.js +334 -0
  120. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.js +251 -0
  121. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.js +380 -0
  122. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.js +590 -0
  123. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.js +60 -0
  124. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.js +71 -0
  125. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker.animations.js +21 -0
  126. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.js +512 -0
  127. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time.class.js +153 -0
  128. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time.module.js +58 -0
  129. package/esm2015/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.js +24 -0
  130. package/esm2015/components/ngx-pick-datetime/lib/date-time/timer-box.component.js +85 -0
  131. package/esm2015/components/ngx-pick-datetime/lib/date-time/timer.component.js +292 -0
  132. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-config.class.js +56 -0
  133. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-container.component.js +208 -0
  134. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-ref.class.js +119 -0
  135. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog.module.js +22 -0
  136. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog.service.js +222 -0
  137. package/esm2015/components/ngx-pick-datetime/lib/utils/index.js +5 -0
  138. package/esm2015/components/ngx-pick-datetime/lib/utils/object.utils.js +26 -0
  139. package/esm2015/components/ngx-remote-select/ngx-remote-select.component.js +121 -0
  140. package/esm2015/components/ngx-remote-select/ngx-remote-select.module.js +16 -0
  141. package/esm2015/components/ngx-tabset/components/tab-set.js +67 -0
  142. package/esm2015/components/ngx-tabset/components/tab.js +35 -0
  143. package/esm2015/components/ngx-tabset/directives/hover-class.directive.js +26 -0
  144. package/esm2015/components/ngx-tabset/modules/ngx-tabset.module.js +33 -0
  145. package/esm2015/components/number-input/number-input.component.js +203 -0
  146. package/esm2015/components/number-input/number-input.module.js +15 -0
  147. package/esm2015/components/select/optgroup.directive.js +17 -0
  148. package/esm2015/components/select/option.directive.js +17 -0
  149. package/esm2015/components/select/select.component.js +293 -0
  150. package/esm2015/components/select/select.module.js +18 -0
  151. package/esm2015/form-entry/control-alerts/alert-helpers.js +40 -0
  152. package/esm2015/form-entry/control-alerts/can-generate-alert.js +2 -0
  153. package/esm2015/form-entry/control-calculators/can-calculate.js +2 -0
  154. package/esm2015/form-entry/control-hiders-disablers/can-disable.js +2 -0
  155. package/esm2015/form-entry/control-hiders-disablers/can-hide.js +2 -0
  156. package/esm2015/form-entry/control-hiders-disablers/disabler-helper.js +33 -0
  157. package/esm2015/form-entry/control-hiders-disablers/hider-helpers.js +40 -0
  158. package/esm2015/form-entry/data-sources/data-sources.js +30 -0
  159. package/esm2015/form-entry/data-sources/dummy-data-source.js +104 -0
  160. package/esm2015/form-entry/directives/collapse-animations.js +11 -0
  161. package/esm2015/form-entry/directives/collapse.directive.js +157 -0
  162. package/esm2015/form-entry/directives/historical-value-directive.js +66 -0
  163. package/esm2015/form-entry/error-renderer/error-renderer.component.js +55 -0
  164. package/esm2015/form-entry/expression-runner/expression-runner.js +168 -0
  165. package/esm2015/form-entry/form-entry.module.js +107 -0
  166. package/esm2015/form-entry/form-factory/control-relations.factory.js +236 -0
  167. package/esm2015/form-entry/form-factory/form-control.service.js +118 -0
  168. package/esm2015/form-entry/form-factory/form-node.js +81 -0
  169. package/esm2015/form-entry/form-factory/form.factory.js +132 -0
  170. package/esm2015/form-entry/form-factory/form.js +193 -0
  171. package/esm2015/form-entry/form-factory/hiders-disablers.factory.js +66 -0
  172. package/esm2015/form-entry/form-factory/question.factory.js +864 -0
  173. package/esm2015/form-entry/form-factory/show-messages.factory.js +30 -0
  174. package/esm2015/form-entry/form-factory/validation.factory.js +145 -0
  175. package/esm2015/form-entry/form-renderer/form-renderer.component.css.js +179 -0
  176. package/esm2015/form-entry/form-renderer/form-renderer.component.js +231 -0
  177. package/esm2015/form-entry/helpers/historical-expression-helper-service.js +38 -0
  178. package/esm2015/form-entry/helpers/historical-field-helper-service.js +36 -0
  179. package/esm2015/form-entry/helpers/js-expression-helper.js +238 -0
  180. package/esm2015/form-entry/pipes/time-ago.pipe.js +107 -0
  181. package/esm2015/form-entry/question-models/checkbox.model.js +11 -0
  182. package/esm2015/form-entry/question-models/conditional-validation.model.js +9 -0
  183. package/esm2015/form-entry/question-models/custom-control-question.model.js +10 -0
  184. package/esm2015/form-entry/question-models/date-question.js +12 -0
  185. package/esm2015/form-entry/question-models/date-validation.model.js +10 -0
  186. package/esm2015/form-entry/question-models/file-upload-question.js +13 -0
  187. package/esm2015/form-entry/question-models/group-question.js +12 -0
  188. package/esm2015/form-entry/question-models/interfaces/base-options.js +2 -0
  189. package/esm2015/form-entry/question-models/interfaces/checkbox-options.js +2 -0
  190. package/esm2015/form-entry/question-models/interfaces/data-source.js +2 -0
  191. package/esm2015/form-entry/question-models/interfaces/date-question-options.js +2 -0
  192. package/esm2015/form-entry/question-models/interfaces/file-upload-question-options.js +2 -0
  193. package/esm2015/form-entry/question-models/interfaces/group-question-options.js +2 -0
  194. package/esm2015/form-entry/question-models/interfaces/multi-select-options.js +2 -0
  195. package/esm2015/form-entry/question-models/interfaces/nested-questions.js +7 -0
  196. package/esm2015/form-entry/question-models/interfaces/repeating-question-options.js +2 -0
  197. package/esm2015/form-entry/question-models/interfaces/select-option.js +2 -0
  198. package/esm2015/form-entry/question-models/interfaces/select-question-options.js +2 -0
  199. package/esm2015/form-entry/question-models/interfaces/test-order-question-options.js +2 -0
  200. package/esm2015/form-entry/question-models/interfaces/text-area-question-options.js +2 -0
  201. package/esm2015/form-entry/question-models/interfaces/text-question-options.js +2 -0
  202. package/esm2015/form-entry/question-models/interfaces/ui-select-question-options.js +2 -0
  203. package/esm2015/form-entry/question-models/js-expression-validation.model.js +8 -0
  204. package/esm2015/form-entry/question-models/max-validation.model.js +9 -0
  205. package/esm2015/form-entry/question-models/min-validation.model.js +9 -0
  206. package/esm2015/form-entry/question-models/models.js +12 -0
  207. package/esm2015/form-entry/question-models/multi-select-question.js +11 -0
  208. package/esm2015/form-entry/question-models/pair.model.js +7 -0
  209. package/esm2015/form-entry/question-models/question-base.js +25 -0
  210. package/esm2015/form-entry/question-models/rendering-type.js +9 -0
  211. package/esm2015/form-entry/question-models/repeating-question.js +11 -0
  212. package/esm2015/form-entry/question-models/select-option.js +7 -0
  213. package/esm2015/form-entry/question-models/select-question.js +12 -0
  214. package/esm2015/form-entry/question-models/test-order-question.js +15 -0
  215. package/esm2015/form-entry/question-models/text-area-input-question.js +13 -0
  216. package/esm2015/form-entry/question-models/text-input-question.js +10 -0
  217. package/esm2015/form-entry/question-models/ui-select-question.js +11 -0
  218. package/esm2015/form-entry/question-models/validation.model.js +7 -0
  219. package/esm2015/form-entry/services/debug-mode.service.js +22 -0
  220. package/esm2015/form-entry/services/form-errors.service.js +18 -0
  221. package/esm2015/form-entry/services/form-schema-compiler.service.js +246 -0
  222. package/esm2015/form-entry/services/historical-encounter-data.service.js +170 -0
  223. package/esm2015/form-entry/utils/messages.js +12 -0
  224. package/esm2015/form-entry/validators/conditional-answered.validator.js +46 -0
  225. package/esm2015/form-entry/validators/conditional-required.validator.js +40 -0
  226. package/esm2015/form-entry/validators/date.validator.js +18 -0
  227. package/esm2015/form-entry/validators/future-date-restriction.validator.js +21 -0
  228. package/esm2015/form-entry/validators/js-expression.validator.js +26 -0
  229. package/esm2015/form-entry/validators/max-date.validator.js +23 -0
  230. package/esm2015/form-entry/validators/max.validator.js +17 -0
  231. package/esm2015/form-entry/validators/min-date.validator.js +23 -0
  232. package/esm2015/form-entry/validators/min.validator.js +17 -0
  233. package/esm2015/form-entry/validators/required.validator.js +11 -0
  234. package/esm2015/form-entry/validators/validations.js +5 -0
  235. package/esm2015/form-entry/value-adapters/encounter.adapter.js +172 -0
  236. package/esm2015/form-entry/value-adapters/obs-adapter-helper.js +496 -0
  237. package/esm2015/form-entry/value-adapters/obs.adapter.js +545 -0
  238. package/esm2015/form-entry/value-adapters/order.adapter.js +186 -0
  239. package/esm2015/form-entry/value-adapters/person-attribute.adapter.js +87 -0
  240. package/esm2015/form-entry/value-adapters/value.adapter.js +2 -0
  241. package/esm2015/lib/index.js +49 -0
  242. package/esm2015/openmrs-ngx-formentry.js +76 -0
  243. package/esm2015/public_api.js +2 -0
  244. package/esm2015/shared.module.js +15 -0
  245. package/fesm2015/openmrs-ngx-formentry.js +13458 -0
  246. package/fesm2015/openmrs-ngx-formentry.js.map +1 -0
  247. package/form-entry/control-alerts/alert-helpers.d.ts +9 -0
  248. package/form-entry/control-alerts/can-generate-alert.d.ts +18 -0
  249. package/form-entry/control-calculators/can-calculate.d.ts +5 -0
  250. package/form-entry/control-hiders-disablers/can-disable.d.ts +19 -0
  251. package/form-entry/control-hiders-disablers/can-hide.d.ts +20 -0
  252. package/form-entry/control-hiders-disablers/disabler-helper.d.ts +7 -0
  253. package/form-entry/control-hiders-disablers/hider-helpers.d.ts +9 -0
  254. package/form-entry/data-sources/data-sources.d.ts +7 -0
  255. package/form-entry/data-sources/dummy-data-source.d.ts +18 -0
  256. package/form-entry/directives/collapse-animations.d.ts +4 -0
  257. package/form-entry/directives/collapse.directive.d.ts +42 -0
  258. package/form-entry/directives/historical-value-directive.d.ts +13 -0
  259. package/form-entry/error-renderer/error-renderer.component.d.ts +17 -0
  260. package/form-entry/expression-runner/expression-runner.d.ts +15 -0
  261. package/form-entry/form-entry.module.d.ts +2 -0
  262. package/form-entry/form-factory/control-relations.factory.d.ts +15 -0
  263. package/form-entry/form-factory/form-control.service.d.ts +22 -0
  264. package/form-entry/form-factory/form-node.d.ts +51 -0
  265. package/form-entry/form-factory/form.d.ts +28 -0
  266. package/form-entry/form-factory/form.factory.d.ts +23 -0
  267. package/form-entry/form-factory/hiders-disablers.factory.d.ts +17 -0
  268. package/form-entry/form-factory/question.factory.d.ts +56 -0
  269. package/form-entry/form-factory/show-messages.factory.d.ts +12 -0
  270. package/form-entry/form-factory/validation.factory.d.ts +22 -0
  271. package/form-entry/form-renderer/form-renderer.component.css.d.ts +1 -0
  272. package/form-entry/form-renderer/form-renderer.component.d.ts +52 -0
  273. package/form-entry/helpers/historical-expression-helper-service.d.ts +5 -0
  274. package/form-entry/helpers/historical-field-helper-service.d.ts +4 -0
  275. package/form-entry/helpers/js-expression-helper.d.ts +22 -0
  276. package/form-entry/pipes/time-ago.pipe.d.ts +11 -0
  277. package/form-entry/question-models/checkbox.model.d.ts +9 -0
  278. package/form-entry/question-models/conditional-validation.model.d.ts +6 -0
  279. package/form-entry/question-models/custom-control-question.model.d.ts +6 -0
  280. package/form-entry/question-models/date-question.d.ts +7 -0
  281. package/form-entry/question-models/date-validation.model.d.ts +5 -0
  282. package/form-entry/question-models/file-upload-question.d.ts +8 -0
  283. package/form-entry/question-models/group-question.d.ts +8 -0
  284. package/form-entry/question-models/interfaces/base-options.d.ts +28 -0
  285. package/form-entry/question-models/interfaces/checkbox-options.d.ts +7 -0
  286. package/form-entry/question-models/interfaces/data-source.d.ts +10 -0
  287. package/form-entry/question-models/interfaces/date-question-options.d.ts +3 -0
  288. package/form-entry/question-models/interfaces/file-upload-question-options.d.ts +5 -0
  289. package/form-entry/question-models/interfaces/group-question-options.d.ts +5 -0
  290. package/form-entry/question-models/interfaces/multi-select-options.d.ts +4 -0
  291. package/form-entry/question-models/interfaces/nested-questions.d.ts +6 -0
  292. package/form-entry/question-models/interfaces/repeating-question-options.d.ts +5 -0
  293. package/form-entry/question-models/interfaces/select-option.d.ts +4 -0
  294. package/form-entry/question-models/interfaces/select-question-options.d.ts +9 -0
  295. package/form-entry/question-models/interfaces/test-order-question-options.d.ts +14 -0
  296. package/form-entry/question-models/interfaces/text-area-question-options.d.ts +5 -0
  297. package/form-entry/question-models/interfaces/text-question-options.d.ts +4 -0
  298. package/form-entry/question-models/interfaces/ui-select-question-options.d.ts +9 -0
  299. package/form-entry/question-models/js-expression-validation.model.d.ts +5 -0
  300. package/form-entry/question-models/max-validation.model.d.ts +5 -0
  301. package/form-entry/question-models/min-validation.model.d.ts +5 -0
  302. package/form-entry/question-models/models.d.ts +15 -0
  303. package/form-entry/question-models/multi-select-question.d.ts +9 -0
  304. package/form-entry/question-models/pair.model.d.ts +5 -0
  305. package/form-entry/question-models/question-base.d.ts +40 -0
  306. package/form-entry/question-models/rendering-type.d.ts +7 -0
  307. package/form-entry/question-models/repeating-question.d.ts +7 -0
  308. package/form-entry/question-models/select-option.d.ts +6 -0
  309. package/form-entry/question-models/select-question.d.ts +10 -0
  310. package/form-entry/question-models/test-order-question.d.ts +13 -0
  311. package/form-entry/question-models/text-area-input-question.d.ts +7 -0
  312. package/form-entry/question-models/text-input-question.d.ts +6 -0
  313. package/form-entry/question-models/ui-select-question.d.ts +11 -0
  314. package/form-entry/question-models/validation.model.d.ts +5 -0
  315. package/form-entry/services/debug-mode.service.d.ts +5 -0
  316. package/form-entry/services/form-errors.service.d.ts +10 -0
  317. package/form-entry/services/form-schema-compiler.service.d.ts +20 -0
  318. package/form-entry/services/historical-encounter-data.service.d.ts +12 -0
  319. package/form-entry/utils/messages.d.ts +11 -0
  320. package/form-entry/validators/conditional-answered.validator.d.ts +8 -0
  321. package/form-entry/validators/conditional-required.validator.d.ts +8 -0
  322. package/form-entry/validators/date.validator.d.ts +7 -0
  323. package/form-entry/validators/future-date-restriction.validator.d.ts +7 -0
  324. package/form-entry/validators/js-expression.validator.d.ts +8 -0
  325. package/form-entry/validators/max-date.validator.d.ts +6 -0
  326. package/form-entry/validators/max.validator.d.ts +6 -0
  327. package/form-entry/validators/min-date.validator.d.ts +6 -0
  328. package/form-entry/validators/min.validator.d.ts +6 -0
  329. package/form-entry/validators/required.validator.d.ts +6 -0
  330. package/form-entry/validators/validations.d.ts +4 -0
  331. package/form-entry/value-adapters/encounter.adapter.d.ts +23 -0
  332. package/form-entry/value-adapters/obs-adapter-helper.d.ts +27 -0
  333. package/form-entry/value-adapters/obs.adapter.d.ts +35 -0
  334. package/form-entry/value-adapters/order.adapter.d.ts +17 -0
  335. package/form-entry/value-adapters/person-attribute.adapter.d.ts +12 -0
  336. package/form-entry/value-adapters/value.adapter.d.ts +5 -0
  337. package/lib/index.d.ts +49 -0
  338. package/openmrs-ngx-formentry.d.ts +85 -0
  339. package/openmrs-ngx-formentry.metadata.json +1 -0
  340. package/package.json +35 -0
  341. package/public_api.d.ts +1 -0
  342. package/shared.module.d.ts +2 -0
  343. package/styles/ngx-formentry.css +374 -0
  344. package/styles/picker.min.css +770 -0
@@ -0,0 +1,67 @@
1
+ import { Component, ContentChildren, Input, Output, EventEmitter } from '@angular/core';
2
+ import { TabComponent } from './tab';
3
+ export class TabsetComponent {
4
+ constructor() {
5
+ this.disableStyle = false;
6
+ this.customNavClass = '';
7
+ this.customTabsClass = '';
8
+ this.selectedIndex = 0;
9
+ this.onSelect = new EventEmitter();
10
+ }
11
+ ngOnChanges(changes) {
12
+ if (changes.selectedIndex && !changes.selectedIndex.firstChange) {
13
+ this.selectTab(this.tabs.toArray()[changes.selectedIndex.currentValue]);
14
+ }
15
+ }
16
+ // contentChildren are set
17
+ ngAfterContentInit() {
18
+ // get all active tabs
19
+ const activeTabs = this.tabs.filter((tab) => tab.active);
20
+ // if there is no active tab set, activate the first
21
+ setTimeout(() => {
22
+ if (activeTabs.length === 0) {
23
+ this.selectTab(this.tabs.first);
24
+ }
25
+ });
26
+ }
27
+ onHover($event) {
28
+ console.log($event);
29
+ }
30
+ selectTab(tabToSelect) {
31
+ if (tabToSelect.disabled === true || tabToSelect.active === true) {
32
+ return;
33
+ }
34
+ // deactivate all tabs
35
+ this.tabs.toArray().forEach((tab) => (tab.active = false));
36
+ // activate the tab the user has clicked on.
37
+ tabToSelect.active = true;
38
+ this.onSelect.emit(this.tabs.toArray().indexOf(tabToSelect));
39
+ }
40
+ getStatusClasses(active, disabled) {
41
+ if (active) {
42
+ return 'active';
43
+ }
44
+ if (!disabled && !active) {
45
+ return 'enabled';
46
+ }
47
+ if (disabled) {
48
+ return 'disabled';
49
+ }
50
+ }
51
+ }
52
+ TabsetComponent.decorators = [
53
+ { type: Component, args: [{
54
+ selector: 'ngx-tabset',
55
+ template: "<div class=\"tab-container\">\n <div class=\"tab\">\n <button hover-class=\"hover\" class=\"tablinks completed\" *ngFor=\"let tab of tabs\" (click)=\"selectTab(tab)\"\n [class]=\"getStatusClasses(tab.active,tab.disabled)\">\n <span>{{ tab.tabTitle }}</span>\n </button>\n </div>\n\n\n <div id=\"tab\" class=\"tabcontent\">\n <ng-content></ng-content>\n </div>\n\n</div>",
56
+ styles: [".tab-container{overflow-x:hidden;display:flex;width:100%}.tab{width:219px;position:fixed}.tab button{font-family:inherit;display:block;background-color:inherit;width:100%;border:none;outline:none;text-align:left;transition:.3s;min-height:2rem;white-space:normal;word-wrap:break-word;margin:0 0 .063rem}@media screen and (max-width:768px){.tab button{height:3rem;border-bottom:.0125rem solid var(--open-mrs-background-gray);width:203px}}.tab button.active.hover,.tab button.enabled.hover{background-color:var(--gray-gray-10)}.tab button.completed{border-left:.5rem solid var(--inverse-support-02);background-color:var(--color-green-10);font-weight:400}.tab button.active,.tab button.completed{font-size:.875rem;font-stretch:normal;font-style:normal;line-height:1.43;letter-spacing:.16px;color:#161616}.tab button.active{background-color:#ededed;border-left:.5rem solid #009d9a;font-weight:600}.tab button.enabled{background-color:#fff;border-left:.5rem solid #9ef0f0;line-height:1.43;color:var(--color-gray-100)}.tab button.enabled,.tab button.error{font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;letter-spacing:.16px}.tab button.error{background-color:var(--color-red-10);border-left:.5rem solid var(--open-mrs-danger-red-60);line-height:1.29;color:#da1e28}.tab button.disabled{background-color:#fff;border-left:.5rem solid #dae0e0;font-weight:400;line-height:1.43;color:var(--gray-gray-30)}.tab button.active.error,.tab button.disabled{font-size:.875rem;font-stretch:normal;font-style:normal;letter-spacing:.16px}.tab button.active.error{background-color:var(--color-red-20);border-left:.5rem solid var(--open-mrs-danger-red-60);font-weight:600;line-height:1.29;color:#da1e28}.tabcontent{width:100%;padding:0 .625rem;margin-left:230px}"]
57
+ },] }
58
+ ];
59
+ TabsetComponent.propDecorators = {
60
+ tabs: [{ type: ContentChildren, args: [TabComponent,] }],
61
+ disableStyle: [{ type: Input }],
62
+ customNavClass: [{ type: Input }],
63
+ customTabsClass: [{ type: Input }],
64
+ selectedIndex: [{ type: Input }],
65
+ onSelect: [{ type: Output }]
66
+ };
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2NvbXBvbmVudHMvbmd4LXRhYnNldC9jb21wb25lbnRzL3RhYi1zZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBRWYsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBR2IsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQU9yQyxNQUFNLE9BQU8sZUFBZTtJQUw1QjtRQVFrQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixtQkFBYyxHQUFXLEVBQUUsQ0FBQztRQUM1QixvQkFBZSxHQUFXLEVBQUUsQ0FBQztRQUM3QixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUV6QixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQStDakQsQ0FBQztJQTdDQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsYUFBYSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUU7WUFDL0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztTQUN6RTtJQUNILENBQUM7SUFFRCwwQkFBMEI7SUFDbkIsa0JBQWtCO1FBQ3ZCLHNCQUFzQjtRQUN0QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQWlCLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2RSxvREFBb0Q7UUFDcEQsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNqQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE9BQU8sQ0FBQyxNQUFNO1FBQ25CLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUNNLFNBQVMsQ0FBQyxXQUF5QjtRQUN4QyxJQUFJLFdBQVcsQ0FBQyxRQUFRLEtBQUssSUFBSSxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ2hFLE9BQU87U0FDUjtRQUVELHNCQUFzQjtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRXpFLDRDQUE0QztRQUM1QyxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDTSxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsUUFBUTtRQUN0QyxJQUFJLE1BQU0sRUFBRTtZQUNWLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN4QixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELElBQUksUUFBUSxFQUFFO1lBQ1osT0FBTyxVQUFVLENBQUM7U0FDbkI7SUFDSCxDQUFDOzs7WUEzREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUV0QixvWkFBMEI7O2FBQzNCOzs7bUJBRUUsZUFBZSxTQUFDLFlBQVk7MkJBRTVCLEtBQUs7NkJBQ0wsS0FBSzs4QkFDTCxLQUFLOzRCQUNMLEtBQUs7dUJBRUwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBBZnRlckNvbnRlbnRJbml0LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRhYkNvbXBvbmVudCB9IGZyb20gJy4vdGFiJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXRhYnNldCcsXG4gIHN0eWxlVXJsczogWyduZ3gtdGFic2V0LmNzcyddLFxuICB0ZW1wbGF0ZVVybDogJ3RhYnNldC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUYWJzZXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMge1xuICBAQ29udGVudENoaWxkcmVuKFRhYkNvbXBvbmVudCkgcHVibGljIHRhYnM6IFF1ZXJ5TGlzdDxUYWJDb21wb25lbnQ+O1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlU3R5bGUgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbU5hdkNsYXNzOiBTdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbVRhYnNDbGFzczogU3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZEluZGV4OiBOdW1iZXIgPSAwO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLnNlbGVjdGVkSW5kZXggJiYgIWNoYW5nZXMuc2VsZWN0ZWRJbmRleC5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5zZWxlY3RUYWIodGhpcy50YWJzLnRvQXJyYXkoKVtjaGFuZ2VzLnNlbGVjdGVkSW5kZXguY3VycmVudFZhbHVlXSk7XG4gICAgfVxuICB9XG5cbiAgLy8gY29udGVudENoaWxkcmVuIGFyZSBzZXRcbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAvLyBnZXQgYWxsIGFjdGl2ZSB0YWJzXG4gICAgY29uc3QgYWN0aXZlVGFicyA9IHRoaXMudGFicy5maWx0ZXIoKHRhYjogVGFiQ29tcG9uZW50KSA9PiB0YWIuYWN0aXZlKTtcblxuICAgIC8vIGlmIHRoZXJlIGlzIG5vIGFjdGl2ZSB0YWIgc2V0LCBhY3RpdmF0ZSB0aGUgZmlyc3RcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmIChhY3RpdmVUYWJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aGlzLnNlbGVjdFRhYih0aGlzLnRhYnMuZmlyc3QpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uSG92ZXIoJGV2ZW50KSB7XG4gICAgY29uc29sZS5sb2coJGV2ZW50KTtcbiAgfVxuICBwdWJsaWMgc2VsZWN0VGFiKHRhYlRvU2VsZWN0OiBUYWJDb21wb25lbnQpOiB2b2lkIHtcbiAgICBpZiAodGFiVG9TZWxlY3QuZGlzYWJsZWQgPT09IHRydWUgfHwgdGFiVG9TZWxlY3QuYWN0aXZlID09PSB0cnVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gZGVhY3RpdmF0ZSBhbGwgdGFic1xuICAgIHRoaXMudGFicy50b0FycmF5KCkuZm9yRWFjaCgodGFiOiBUYWJDb21wb25lbnQpID0+ICh0YWIuYWN0aXZlID0gZmFsc2UpKTtcblxuICAgIC8vIGFjdGl2YXRlIHRoZSB0YWIgdGhlIHVzZXIgaGFzIGNsaWNrZWQgb24uXG4gICAgdGFiVG9TZWxlY3QuYWN0aXZlID0gdHJ1ZTtcbiAgICB0aGlzLm9uU2VsZWN0LmVtaXQodGhpcy50YWJzLnRvQXJyYXkoKS5pbmRleE9mKHRhYlRvU2VsZWN0KSk7XG4gIH1cbiAgcHVibGljIGdldFN0YXR1c0NsYXNzZXMoYWN0aXZlLCBkaXNhYmxlZCkge1xuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIHJldHVybiAnYWN0aXZlJztcbiAgICB9XG4gICAgaWYgKCFkaXNhYmxlZCAmJiAhYWN0aXZlKSB7XG4gICAgICByZXR1cm4gJ2VuYWJsZWQnO1xuICAgIH1cbiAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnZGlzYWJsZWQnO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,35 @@
1
+ import { Component, Input, ContentChild, TemplateRef } from '@angular/core';
2
+ export class TabComponent {
3
+ constructor() {
4
+ this.active = false;
5
+ this.disabled = false;
6
+ this.bypassDOM = false;
7
+ this.customPaneClass = '';
8
+ }
9
+ }
10
+ TabComponent.decorators = [
11
+ { type: Component, args: [{
12
+ selector: 'ngx-tab',
13
+ template: `
14
+ <div *ngIf="active" class="pane" [ngClass]="customPaneClass">
15
+ <h4>{{ tabTitle }}</h4>
16
+ <div *ngIf="bypassDOM">
17
+ <ng-container [ngTemplateOutlet]="template"></ng-container>
18
+ </div>
19
+ <div *ngIf="!bypassDOM">
20
+ <ng-content></ng-content>
21
+ </div>
22
+ </div>
23
+ `
24
+ },] }
25
+ ];
26
+ TabComponent.propDecorators = {
27
+ tabTitle: [{ type: Input }],
28
+ tabSubTitle: [{ type: Input }],
29
+ active: [{ type: Input }],
30
+ disabled: [{ type: Input }],
31
+ bypassDOM: [{ type: Input }],
32
+ customPaneClass: [{ type: Input }],
33
+ template: [{ type: ContentChild, args: [TemplateRef,] }]
34
+ };
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvY29tcG9uZW50cy9uZ3gtdGFic2V0L2NvbXBvbmVudHMvdGFiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFnQjVFLE1BQU0sT0FBTyxZQUFZO0lBZHpCO1FBaUJrQixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG9CQUFlLEdBQUcsRUFBRSxDQUFDO0lBRXZDLENBQUM7OztZQXRCQSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLFFBQVEsRUFBRTs7Ozs7Ozs7OztHQVVUO2FBQ0Y7Ozt1QkFFRSxLQUFLOzBCQUNMLEtBQUs7cUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3dCQUNMLEtBQUs7OEJBQ0wsS0FBSzt1QkFDTCxZQUFZLFNBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENvbnRlbnRDaGlsZCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXRhYicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiAqbmdJZj1cImFjdGl2ZVwiIGNsYXNzPVwicGFuZVwiIFtuZ0NsYXNzXT1cImN1c3RvbVBhbmVDbGFzc1wiPlxuICAgICAgPGg0Pnt7IHRhYlRpdGxlIH19PC9oND5cbiAgICAgIDxkaXYgKm5nSWY9XCJieXBhc3NET01cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIWJ5cGFzc0RPTVwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBUYWJDb21wb25lbnQge1xuICBASW5wdXQoKSBwdWJsaWMgdGFiVGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHRhYlN1YlRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBhY3RpdmUgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBieXBhc3NET00gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbVBhbmVDbGFzcyA9ICcnO1xuICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmKSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pjtcbn1cbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { Directive, HostListener, ElementRef, Input } from '@angular/core';
2
+ export class HoverClassDirective {
3
+ constructor(elementRef) {
4
+ this.elementRef = elementRef;
5
+ }
6
+ onMouseEnter() {
7
+ this.elementRef.nativeElement.classList.add(this.hoverClass);
8
+ }
9
+ onMouseLeave() {
10
+ this.elementRef.nativeElement.classList.remove(this.hoverClass);
11
+ }
12
+ }
13
+ HoverClassDirective.decorators = [
14
+ { type: Directive, args: [{
15
+ selector: '[hover-class]'
16
+ },] }
17
+ ];
18
+ HoverClassDirective.ctorParameters = () => [
19
+ { type: ElementRef }
20
+ ];
21
+ HoverClassDirective.propDecorators = {
22
+ hoverClass: [{ type: Input, args: ['hover-class',] }],
23
+ onMouseEnter: [{ type: HostListener, args: ['mouseenter',] }],
24
+ onMouseLeave: [{ type: HostListener, args: ['mouseleave',] }]
25
+ };
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXItY2xhc3MuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvY29tcG9uZW50cy9uZ3gtdGFic2V0L2RpcmVjdGl2ZXMvaG92ZXItY2xhc3MuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0UsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztJQUdqQixZQUFZO1FBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFMkIsWUFBWTtRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsRSxDQUFDOzs7WUFiRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7YUFDMUI7OztZQUppQyxVQUFVOzs7eUJBT3pDLEtBQUssU0FBQyxhQUFhOzJCQUVuQixZQUFZLFNBQUMsWUFBWTsyQkFJekIsWUFBWSxTQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2hvdmVyLWNsYXNzXSdcbn0pXG5leHBvcnQgY2xhc3MgSG92ZXJDbGFzc0RpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuICBASW5wdXQoJ2hvdmVyLWNsYXNzJykgaG92ZXJDbGFzczogYW55O1xuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKSBvbk1vdXNlRW50ZXIoKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCh0aGlzLmhvdmVyQ2xhc3MpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpIG9uTW91c2VMZWF2ZSgpIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuaG92ZXJDbGFzcyk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { TabsetComponent } from '../components/tab-set';
4
+ import { TabComponent } from '../components/tab';
5
+ import { HoverClassDirective } from '../directives/hover-class.directive';
6
+ export class NgxTabSetModule {
7
+ /**
8
+ * Use in AppModule: new instance of NgxTabset.
9
+ */
10
+ static forRoot() {
11
+ return {
12
+ ngModule: NgxTabSetModule,
13
+ providers: []
14
+ };
15
+ }
16
+ /**
17
+ * Use in features modules with lazy loading: new instance of NgxTabset.
18
+ */
19
+ static forChild() {
20
+ return {
21
+ ngModule: NgxTabSetModule,
22
+ providers: []
23
+ };
24
+ }
25
+ }
26
+ NgxTabSetModule.decorators = [
27
+ { type: NgModule, args: [{
28
+ declarations: [TabComponent, TabsetComponent, HoverClassDirective],
29
+ exports: [TabComponent, TabsetComponent],
30
+ imports: [CommonModule]
31
+ },] }
32
+ ];
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRhYnNldC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9jb21wb25lbnRzL25neC10YWJzZXQvbW9kdWxlcy9uZ3gtdGFic2V0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQU8xRSxNQUFNLE9BQU8sZUFBZTtJQUMxQjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxPQUFPO1FBQ25CLE9BQU87WUFDTCxRQUFRLEVBQUUsZUFBZTtZQUN6QixTQUFTLEVBQUUsRUFBRTtTQUNkLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsUUFBUTtRQUNwQixPQUFPO1lBQ0wsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFDO0lBQ0osQ0FBQzs7O1lBeEJGLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixDQUFDO2dCQUNsRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDO2dCQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVGFic2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy90YWItc2V0JztcbmltcG9ydCB7IFRhYkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvdGFiJztcbmltcG9ydCB7IEhvdmVyQ2xhc3NEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2hvdmVyLWNsYXNzLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1RhYkNvbXBvbmVudCwgVGFic2V0Q29tcG9uZW50LCBIb3ZlckNsYXNzRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW1RhYkNvbXBvbmVudCwgVGFic2V0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgTmd4VGFiU2V0TW9kdWxlIHtcbiAgLyoqXG4gICAqIFVzZSBpbiBBcHBNb2R1bGU6IG5ldyBpbnN0YW5jZSBvZiBOZ3hUYWJzZXQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hUYWJTZXRNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE5neFRhYlNldE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW11cbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZSBpbiBmZWF0dXJlcyBtb2R1bGVzIHdpdGggbGF6eSBsb2FkaW5nOiBuZXcgaW5zdGFuY2Ugb2YgTmd4VGFic2V0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmb3JDaGlsZCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neFRhYlNldE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmd4VGFiU2V0TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,203 @@
1
+ import { Component, EventEmitter, forwardRef, HostListener, Input, Output, TemplateRef } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ /**
4
+ * Used to emit changes performed on number input components.
5
+ */
6
+ export class NumberChangeEvent {
7
+ }
8
+ export class NumberInputComponent {
9
+ /**
10
+ * Creates an instance of `Number`.
11
+ */
12
+ constructor() {
13
+ /**
14
+ * `light` or `dark` number input theme.
15
+ */
16
+ this.theme = 'dark';
17
+ /**
18
+ * Set to `true` for a disabled number input.
19
+ */
20
+ this.disabled = false;
21
+ /**
22
+ * Set to `true` for a loading number component.
23
+ */
24
+ this.skeleton = false;
25
+ /**
26
+ * Set to `true` for an invalid number component.
27
+ */
28
+ this.invalid = false;
29
+ /**
30
+ * The unique id for the number component.
31
+ */
32
+ this.id = `number-${NumberInputComponent.numberCount}`;
33
+ /**
34
+ * Number input field render size
35
+ */
36
+ this.size = 'md';
37
+ /**
38
+ * Sets the min attribute on the `input` element.
39
+ */
40
+ this.min = null;
41
+ /**
42
+ * Sets the max attribute on the `input` element.
43
+ */
44
+ this.max = null;
45
+ /**
46
+ * Sets the amount the number controls increment and decrement by.
47
+ */
48
+ this.step = 1;
49
+ /**
50
+ * Set to `true` to show a warning (contents set by warningText)
51
+ */
52
+ this.warn = false;
53
+ /**
54
+ * Emits event notifying other classes when a change in state occurs in the input.
55
+ */
56
+ this.change = new EventEmitter();
57
+ /**
58
+ * Sets the decrement label text
59
+ */
60
+ this.decrementLabel = 'Decrease';
61
+ /**
62
+ * Sets the increment label text
63
+ */
64
+ this.incrementLabel = 'Increase';
65
+ this._value = 0;
66
+ /**
67
+ * Called when number input is blurred. Needed to properly implement `ControlValueAccessor`.
68
+ */
69
+ this.onTouched = () => { };
70
+ /**
71
+ * Method set in `registerOnChange` to propagate changes back to the form.
72
+ */
73
+ this.propagateChange = (_) => { };
74
+ NumberInputComponent.numberCount++;
75
+ }
76
+ /**
77
+ * Sets the value attribute on the `input` element.
78
+ */
79
+ set value(v) {
80
+ if (v === '' || v === null) {
81
+ this._value = null;
82
+ return;
83
+ }
84
+ this._value = Number(v);
85
+ }
86
+ get value() {
87
+ return this._value;
88
+ }
89
+ /**
90
+ * This is the initial value set to the component
91
+ * @param value The input value.
92
+ */
93
+ writeValue(value) {
94
+ this.value = value;
95
+ }
96
+ /**
97
+ * Sets a method in order to propagate changes back to the form.
98
+ */
99
+ registerOnChange(fn) {
100
+ this.propagateChange = fn;
101
+ }
102
+ /**
103
+ * Registers a callback to be triggered when the control has been touched.
104
+ * @param fn Callback to be triggered when the number input is touched.
105
+ */
106
+ registerOnTouched(fn) {
107
+ this.onTouched = fn;
108
+ }
109
+ focusOut() {
110
+ this.onTouched();
111
+ }
112
+ /**
113
+ * Sets the disabled state through the model
114
+ */
115
+ setDisabledState(isDisabled) {
116
+ this.disabled = isDisabled;
117
+ }
118
+ /**
119
+ * Adds `step` to the current `value`.
120
+ */
121
+ onIncrement() {
122
+ const val = this._value || 0;
123
+ if (this.max === null || val + this.step <= this.max) {
124
+ this.value = parseFloat((val + this.step).toPrecision(this.precision));
125
+ }
126
+ else {
127
+ this.value = this.max;
128
+ }
129
+ this.emitChangeEvent();
130
+ }
131
+ /**
132
+ * Subtracts `step` to the current `value`.
133
+ */
134
+ onDecrement() {
135
+ const val = this._value || 0;
136
+ if (this.min === null || val - this.step >= this.min) {
137
+ this.value = parseFloat((val - this.step).toPrecision(this.precision));
138
+ }
139
+ else {
140
+ this.value = this.min;
141
+ }
142
+ this.emitChangeEvent();
143
+ }
144
+ /**
145
+ * Creates a class of `NumberChange` to emit the change in the `Number`.
146
+ */
147
+ emitChangeEvent() {
148
+ const event = new NumberChangeEvent();
149
+ event.source = this;
150
+ event.value = this.value;
151
+ this.change.emit(event);
152
+ this.propagateChange(this.value);
153
+ }
154
+ onNumberInputChange(event) {
155
+ this.value = event.target.value;
156
+ this.emitChangeEvent();
157
+ }
158
+ isTemplate(value) {
159
+ return value instanceof TemplateRef;
160
+ }
161
+ }
162
+ /**
163
+ * Variable used for creating unique ids for number input components.
164
+ */
165
+ NumberInputComponent.numberCount = 0;
166
+ NumberInputComponent.decorators = [
167
+ { type: Component, args: [{
168
+ selector: 'number-input',
169
+ template: "<div data-numberinput [attr.data-invalid]=\"invalid ? true : null\" class=\"bx--number\" [ngClass]=\"{\n 'bx--number--light': theme === 'light',\n 'bx--number--nolabel': !label,\n 'bx--number--helpertext': helperText,\n 'bx--skeleton': skeleton,\n 'bx--number--sm': size === 'sm',\n 'bx--number--xl': size === 'xl'\n }\">\n <div class=\"bx--number__input-wrapper\" [ngClass]=\"{\n 'bx--number__input-wrapper--warning': warn\n }\">\n <input type=\"number\" [id]=\"id\" [value]=\"value\" [attr.min]=\"min\" [attr.max]=\"max\" [attr.step]=\"step\"\n [disabled]=\"disabled\" [required]=\"required\" (input)=\"onNumberInputChange($event)\" />\n <div class=\"bx--number__controls\">\n <button type=\"button\" class=\"bx--number__control-btn down-icon\" (click)=\"onDecrement()\" title=\"Decrement number\"\n [attr.aria-label]=\"decrementLabel\" tabindex=\"-1\">\n <svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\" width=\"16\" height=\"16\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" class=\"down-icon\">\n <path d=\"M8 15H24V17H8z\"></path>\n </svg>\n </button>\n <div class=\"bx--number__rule-divider\"></div>\n <button type=\"button\" class=\"bx--number__control-btn up-icon\" (click)=\"onIncrement()\" title=\"Increment number\"\n [attr.aria-label]=\"incrementLabel\" tabindex=\"-1\">\n <svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\" width=\"16\" height=\"16\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" class=\"up-icon\">\n <path d=\"M17 15L17 8 15 8 15 15 8 15 8 17 15 17 15 24 17 24 17 17 24 17 24 15z\"></path>\n </svg>\n </button>\n <div class=\"bx--number__rule-divider\"></div>\n </div>\n </div>\n <div *ngIf=\"helperText && !invalid && !warn\" class=\"bx--form__helper-text\">\n <ng-container *ngIf=\"!isTemplate(helperText)\">{{\n helperText\n }}</ng-container>\n <ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n </div>\n <div *ngIf=\"!warn && invalid\" class=\"bx--form-requirement\">\n <ng-container *ngIf=\"!isTemplate(invalidText)\">{{\n invalidText\n }}</ng-container>\n <ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n </div>\n <div *ngIf=\"!invalid && warn\" class=\"bx--form-requirement\">\n <ng-container *ngIf=\"!isTemplate(warnText)\">{{ warnText }}</ng-container>\n <ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n </div>\n</div>",
170
+ providers: [
171
+ {
172
+ provide: NG_VALUE_ACCESSOR,
173
+ useExisting: forwardRef(() => NumberInputComponent),
174
+ multi: true
175
+ }
176
+ ]
177
+ },] }
178
+ ];
179
+ NumberInputComponent.ctorParameters = () => [];
180
+ NumberInputComponent.propDecorators = {
181
+ theme: [{ type: Input }],
182
+ disabled: [{ type: Input }],
183
+ skeleton: [{ type: Input }],
184
+ invalid: [{ type: Input }],
185
+ id: [{ type: Input }],
186
+ size: [{ type: Input }],
187
+ required: [{ type: Input }],
188
+ value: [{ type: Input }],
189
+ min: [{ type: Input }],
190
+ max: [{ type: Input }],
191
+ label: [{ type: Input }],
192
+ helperText: [{ type: Input }],
193
+ invalidText: [{ type: Input }],
194
+ step: [{ type: Input }],
195
+ precision: [{ type: Input }],
196
+ warn: [{ type: Input }],
197
+ warnText: [{ type: Input }],
198
+ change: [{ type: Output }],
199
+ decrementLabel: [{ type: Input }],
200
+ incrementLabel: [{ type: Input }],
201
+ focusOut: [{ type: HostListener, args: ['focusout',] }]
202
+ };
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2NvbXBvbmVudHMvbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFFekU7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0NBUzdCO0FBYUQsTUFBTSxPQUFPLG9CQUFvQjtJQW1HL0I7O09BRUc7SUFDSDtRQWhHQTs7V0FFRztRQUNNLFVBQUssR0FBcUIsTUFBTSxDQUFDO1FBQzFDOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUMxQjs7V0FFRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDMUI7O1dBRUc7UUFDTSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3pCOztXQUVHO1FBQ00sT0FBRSxHQUFHLFVBQVUsb0JBQW9CLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0Q7O1dBRUc7UUFDTSxTQUFJLEdBQXVCLElBQUksQ0FBQztRQW1CekM7O1dBRUc7UUFDTSxRQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ3BCOztXQUVHO1FBQ00sUUFBRyxHQUFHLElBQUksQ0FBQztRQWFwQjs7V0FFRztRQUNNLFNBQUksR0FBRyxDQUFDLENBQUM7UUFLbEI7O1dBRUc7UUFDTSxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBS3RCOztXQUVHO1FBQ08sV0FBTSxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQ3pEOztXQUVHO1FBQ00sbUJBQWMsR0FBRyxVQUFVLENBQUM7UUFDckM7O1dBRUc7UUFDTSxtQkFBYyxHQUFHLFVBQVUsQ0FBQztRQUUzQixXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBNENyQjs7V0FFRztRQUNILGNBQVMsR0FBYyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFaEM7O1dBRUc7UUFDSCxvQkFBZSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUE5Qy9CLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUF0RUQ7O09BRUc7SUFDSCxJQUFhLEtBQUssQ0FBQyxDQUFNO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQTJERDs7O09BR0c7SUFDSSxVQUFVLENBQUMsS0FBVTtRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0IsQ0FBQyxFQUFPO1FBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxpQkFBaUIsQ0FBQyxFQUFPO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFHRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQzdCLENBQUM7SUFZRDs7T0FFRztJQUNILFdBQVc7UUFDVCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUU3QixJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDcEQsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztTQUN4RTthQUFNO1lBQ0wsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ3ZCO1FBRUQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUU3QixJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDcEQsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztTQUN4RTthQUFNO1lBQ0wsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ3ZCO1FBRUQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWU7UUFDYixNQUFNLEtBQUssR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDdEMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDcEIsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFLO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBSztRQUNyQixPQUFPLEtBQUssWUFBWSxXQUFXLENBQUM7SUFDdEMsQ0FBQzs7QUF0TUQ7O0dBRUc7QUFDSSxnQ0FBVyxHQUFHLENBQUMsQ0FBQzs7WUFmeEIsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2dCQUN4Qiw4c0ZBQTBDO2dCQUMxQyxTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzt3QkFDbkQsS0FBSyxFQUFFLElBQUk7cUJBQ1o7aUJBQ0Y7YUFDRjs7OztvQkFVRSxLQUFLO3VCQUlMLEtBQUs7dUJBSUwsS0FBSztzQkFJTCxLQUFLO2lCQUlMLEtBQUs7bUJBSUwsS0FBSzt1QkFJTCxLQUFLO29CQUlMLEtBQUs7a0JBY0wsS0FBSztrQkFJTCxLQUFLO29CQUlMLEtBQUs7eUJBSUwsS0FBSzswQkFJTCxLQUFLO21CQUlMLEtBQUs7d0JBSUwsS0FBSzttQkFJTCxLQUFLO3VCQUlMLEtBQUs7cUJBSUwsTUFBTTs2QkFJTixLQUFLOzZCQUlMLEtBQUs7dUJBa0NMLFlBQVksU0FBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogVXNlZCB0byBlbWl0IGNoYW5nZXMgcGVyZm9ybWVkIG9uIG51bWJlciBpbnB1dCBjb21wb25lbnRzLlxuICovXG5leHBvcnQgY2xhc3MgTnVtYmVyQ2hhbmdlRXZlbnQge1xuICAvKipcbiAgICogQ29udGFpbnMgdGhlIGBOdW1iZXJJbnB1dENvbXBvbmVudGAgdGhhdCBoYXMgYmVlbiBjaGFuZ2VkLlxuICAgKi9cbiAgc291cmNlOiBOdW1iZXJJbnB1dENvbXBvbmVudDtcbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgYE51bWJlcklucHV0Q29tcG9uZW50YCBmaWVsZCBlbmNvbXBhc3NlZCBpbiB0aGUgYE51bWJlckNoYW5nZWAgY2xhc3MuXG4gICAqL1xuICB2YWx1ZTogbnVtYmVyO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudW1iZXItaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJ251bWJlci1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTnVtYmVySW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVySW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIC8qKlxuICAgKiBWYXJpYWJsZSB1c2VkIGZvciBjcmVhdGluZyB1bmlxdWUgaWRzIGZvciBudW1iZXIgaW5wdXQgY29tcG9uZW50cy5cbiAgICovXG4gIHN0YXRpYyBudW1iZXJDb3VudCA9IDA7XG5cbiAgLyoqXG4gICAqIGBsaWdodGAgb3IgYGRhcmtgIG51bWJlciBpbnB1dCB0aGVtZS5cbiAgICovXG4gIEBJbnB1dCgpIHRoZW1lOiAnbGlnaHQnIHwgJ2RhcmsnID0gJ2RhcmsnO1xuICAvKipcbiAgICogU2V0IHRvIGB0cnVlYCBmb3IgYSBkaXNhYmxlZCBudW1iZXIgaW5wdXQuXG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAvKipcbiAgICogU2V0IHRvIGB0cnVlYCBmb3IgYSBsb2FkaW5nIG51bWJlciBjb21wb25lbnQuXG4gICAqL1xuICBASW5wdXQoKSBza2VsZXRvbiA9IGZhbHNlO1xuICAvKipcbiAgICogU2V0IHRvIGB0cnVlYCBmb3IgYW4gaW52YWxpZCBudW1iZXIgY29tcG9uZW50LlxuICAgKi9cbiAgQElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZCBmb3IgdGhlIG51bWJlciBjb21wb25lbnQuXG4gICAqL1xuICBASW5wdXQoKSBpZCA9IGBudW1iZXItJHtOdW1iZXJJbnB1dENvbXBvbmVudC5udW1iZXJDb3VudH1gO1xuICAvKipcbiAgICogTnVtYmVyIGlucHV0IGZpZWxkIHJlbmRlciBzaXplXG4gICAqL1xuICBASW5wdXQoKSBzaXplOiAnc20nIHwgJ21kJyB8ICd4bCcgPSAnbWQnO1xuICAvKipcbiAgICogUmVmbGVjdHMgdGhlIHJlcXVpcmVkIGF0dHJpYnV0ZSBvZiB0aGUgYGlucHV0YCBlbGVtZW50LlxuICAgKi9cbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBhdHRyaWJ1dGUgb24gdGhlIGBpbnB1dGAgZWxlbWVudC5cbiAgICovXG4gIEBJbnB1dCgpIHNldCB2YWx1ZSh2OiBhbnkpIHtcbiAgICBpZiAodiA9PT0gJycgfHwgdiA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5fdmFsdWUgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl92YWx1ZSA9IE51bWJlcih2KTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cbiAgLyoqXG4gICAqIFNldHMgdGhlIG1pbiBhdHRyaWJ1dGUgb24gdGhlIGBpbnB1dGAgZWxlbWVudC5cbiAgICovXG4gIEBJbnB1dCgpIG1pbiA9IG51bGw7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtYXggYXR0cmlidXRlIG9uIHRoZSBgaW5wdXRgIGVsZW1lbnQuXG4gICAqL1xuICBASW5wdXQoKSBtYXggPSBudWxsO1xuICAvKipcbiAgICogU2V0cyB0aGUgdGV4dCBpbnNpZGUgdGhlIGBsYWJlbGAgdGFnLlxuICAgKi9cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBvcHRpb25hbCBoZWxwZXIgdGV4dC5cbiAgICovXG4gIEBJbnB1dCgpIGhlbHBlclRleHQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBpbnZhbGlkIHRleHQuXG4gICAqL1xuICBASW5wdXQoKSBpbnZhbGlkVGV4dDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PjtcbiAgLyoqXG4gICAqIFNldHMgdGhlIGFtb3VudCB0aGUgbnVtYmVyIGNvbnRyb2xzIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ5LlxuICAgKi9cbiAgQElucHV0KCkgc3RlcCA9IDE7XG4gIC8qKlxuICAgKiBJZiBgc3RlcGAgaXMgYSBkZWNpbWFsLCB3ZSBtYXkgd2FudCBwcmVjaXNpb24gdG8gYmUgc2V0IHRvIGdvIGFyb3VuZCBmbG9hdGluZyBwb2ludCBwcmVjaXNpb24uXG4gICAqL1xuICBASW5wdXQoKSBwcmVjaXNpb246IG51bWJlcjtcbiAgLyoqXG4gICAqIFNldCB0byBgdHJ1ZWAgdG8gc2hvdyBhIHdhcm5pbmcgKGNvbnRlbnRzIHNldCBieSB3YXJuaW5nVGV4dClcbiAgICovXG4gIEBJbnB1dCgpIHdhcm4gPSBmYWxzZTtcbiAgLyoqXG4gICAqIFNldHMgdGhlIHdhcm5pbmcgdGV4dFxuICAgKi9cbiAgQElucHV0KCkgd2FyblRleHQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKlxuICAgKiBFbWl0cyBldmVudCBub3RpZnlpbmcgb3RoZXIgY2xhc3NlcyB3aGVuIGEgY2hhbmdlIGluIHN0YXRlIG9jY3VycyBpbiB0aGUgaW5wdXQuXG4gICAqL1xuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxOdW1iZXJDaGFuZ2VFdmVudD4oKTtcbiAgLyoqXG4gICAqIFNldHMgdGhlIGRlY3JlbWVudCBsYWJlbCB0ZXh0XG4gICAqL1xuICBASW5wdXQoKSBkZWNyZW1lbnRMYWJlbCA9ICdEZWNyZWFzZSc7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBpbmNyZW1lbnQgbGFiZWwgdGV4dFxuICAgKi9cbiAgQElucHV0KCkgaW5jcmVtZW50TGFiZWwgPSAnSW5jcmVhc2UnO1xuXG4gIHByb3RlY3RlZCBfdmFsdWUgPSAwO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIGBOdW1iZXJgLlxuICAgKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgTnVtYmVySW5wdXRDb21wb25lbnQubnVtYmVyQ291bnQrKztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGlzIHRoZSBpbml0aWFsIHZhbHVlIHNldCB0byB0aGUgY29tcG9uZW50XG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgaW5wdXQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgYSBtZXRob2QgaW4gb3JkZXIgdG8gcHJvcGFnYXRlIGNoYW5nZXMgYmFjayB0byB0aGUgZm9ybS5cbiAgICovXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIHRvIGJlIHRyaWdnZXJlZCB3aGVuIHRoZSBjb250cm9sIGhhcyBiZWVuIHRvdWNoZWQuXG4gICAqIEBwYXJhbSBmbiBDYWxsYmFjayB0byBiZSB0cmlnZ2VyZWQgd2hlbiB0aGUgbnVtYmVyIGlucHV0IGlzIHRvdWNoZWQuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcpXG4gIGZvY3VzT3V0KCkge1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgdGhyb3VnaCB0aGUgbW9kZWxcbiAgICovXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIG51bWJlciBpbnB1dCBpcyBibHVycmVkLiBOZWVkZWQgdG8gcHJvcGVybHkgaW1wbGVtZW50IGBDb250cm9sVmFsdWVBY2Nlc3NvcmAuXG4gICAqL1xuICBvblRvdWNoZWQ6ICgpID0+IGFueSA9ICgpID0+IHt9O1xuXG4gIC8qKlxuICAgKiBNZXRob2Qgc2V0IGluIGByZWdpc3Rlck9uQ2hhbmdlYCB0byBwcm9wYWdhdGUgY2hhbmdlcyBiYWNrIHRvIHRoZSBmb3JtLlxuICAgKi9cbiAgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4ge307XG5cbiAgLyoqXG4gICAqIEFkZHMgYHN0ZXBgIHRvIHRoZSBjdXJyZW50IGB2YWx1ZWAuXG4gICAqL1xuICBvbkluY3JlbWVudCgpOiB2b2lkIHtcbiAgICBjb25zdCB2YWwgPSB0aGlzLl92YWx1ZSB8fCAwO1xuXG4gICAgaWYgKHRoaXMubWF4ID09PSBudWxsIHx8IHZhbCArIHRoaXMuc3RlcCA8PSB0aGlzLm1heCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHBhcnNlRmxvYXQoKHZhbCArIHRoaXMuc3RlcCkudG9QcmVjaXNpb24odGhpcy5wcmVjaXNpb24pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubWF4O1xuICAgIH1cblxuICAgIHRoaXMuZW1pdENoYW5nZUV2ZW50KCk7XG4gIH1cblxuICAvKipcbiAgICogU3VidHJhY3RzIGBzdGVwYCB0byB0aGUgY3VycmVudCBgdmFsdWVgLlxuICAgKi9cbiAgb25EZWNyZW1lbnQoKTogdm9pZCB7XG4gICAgY29uc3QgdmFsID0gdGhpcy5fdmFsdWUgfHwgMDtcblxuICAgIGlmICh0aGlzLm1pbiA9PT0gbnVsbCB8fCB2YWwgLSB0aGlzLnN0ZXAgPj0gdGhpcy5taW4pIHtcbiAgICAgIHRoaXMudmFsdWUgPSBwYXJzZUZsb2F0KCh2YWwgLSB0aGlzLnN0ZXApLnRvUHJlY2lzaW9uKHRoaXMucHJlY2lzaW9uKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm1pbjtcbiAgICB9XG5cbiAgICB0aGlzLmVtaXRDaGFuZ2VFdmVudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBjbGFzcyBvZiBgTnVtYmVyQ2hhbmdlYCB0byBlbWl0IHRoZSBjaGFuZ2UgaW4gdGhlIGBOdW1iZXJgLlxuICAgKi9cbiAgZW1pdENoYW5nZUV2ZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IGV2ZW50ID0gbmV3IE51bWJlckNoYW5nZUV2ZW50KCk7XG4gICAgZXZlbnQuc291cmNlID0gdGhpcztcbiAgICBldmVudC52YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdChldmVudCk7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICBvbk51bWJlcklucHV0Q2hhbmdlKGV2ZW50KSB7XG4gICAgdGhpcy52YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLmVtaXRDaGFuZ2VFdmVudCgpO1xuICB9XG5cbiAgcHVibGljIGlzVGVtcGxhdGUodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcbiAgfVxufVxuIl19
@@ -0,0 +1,15 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import { CommonModule } from '@angular/common';
4
+ import { NumberInputComponent } from './number-input.component';
5
+ export class NumberInputModule {
6
+ }
7
+ NumberInputModule.decorators = [
8
+ { type: NgModule, args: [{
9
+ imports: [CommonModule, FormsModule],
10
+ exports: [NumberInputComponent],
11
+ declarations: [NumberInputComponent],
12
+ providers: []
13
+ },] }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2NvbXBvbmVudHMvbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBUWhFLE1BQU0sT0FBTyxpQkFBaUI7OztZQU43QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztnQkFDcEMsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Z0JBQy9CLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO2dCQUNwQyxTQUFTLEVBQUUsRUFBRTthQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTnVtYmVySW5wdXRDb21wb25lbnQgfSBmcm9tICcuL251bWJlci1pbnB1dC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtOdW1iZXJJbnB1dENvbXBvbmVudF0sXG4gIGRlY2xhcmF0aW9uczogW051bWJlcklucHV0Q29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJJbnB1dE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,17 @@
1
+ /* eslint-disable @angular-eslint/component-class-suffix, @angular-eslint/directive-class-suffix */
2
+ import { Directive, HostBinding } from '@angular/core';
3
+ export class OptGroup {
4
+ constructor() {
5
+ this.inputClass = 'bx--select-optgroup';
6
+ }
7
+ }
8
+ OptGroup.decorators = [
9
+ { type: Directive, args: [{
10
+ // eslint-disable-next-line
11
+ selector: 'optgroup'
12
+ },] }
13
+ ];
14
+ OptGroup.propDecorators = {
15
+ inputClass: [{ type: HostBinding, args: ['class',] }]
16
+ };
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0Z3JvdXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvY29tcG9uZW50cy9zZWxlY3Qvb3B0Z3JvdXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1HQUFtRztBQUNuRyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU12RCxNQUFNLE9BQU8sUUFBUTtJQUpyQjtRQUt3QixlQUFVLEdBQUcscUJBQXFCLENBQUM7SUFDM0QsQ0FBQzs7O1lBTkEsU0FBUyxTQUFDO2dCQUNULDJCQUEyQjtnQkFDM0IsUUFBUSxFQUFFLFVBQVU7YUFDckI7Ozt5QkFFRSxXQUFXLFNBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtY2xhc3Mtc3VmZml4LCBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeCAqL1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIHNlbGVjdG9yOiAnb3B0Z3JvdXAnXG59KVxuZXhwb3J0IGNsYXNzIE9wdEdyb3VwIHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGlucHV0Q2xhc3MgPSAnYngtLXNlbGVjdC1vcHRncm91cCc7XG59XG4iXX0=
@@ -0,0 +1,17 @@
1
+ /* eslint-disable @angular-eslint/component-class-suffix, @angular-eslint/directive-class-suffix */
2
+ import { Directive, HostBinding } from '@angular/core';
3
+ export class Option {
4
+ constructor() {
5
+ this.inputClass = 'bx--select-option';
6
+ }
7
+ }
8
+ Option.decorators = [
9
+ { type: Directive, args: [{
10
+ // eslint-disable-next-line
11
+ selector: 'option'
12
+ },] }
13
+ ];
14
+ Option.propDecorators = {
15
+ inputClass: [{ type: HostBinding, args: ['class',] }]
16
+ };
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2NvbXBvbmVudHMvc2VsZWN0L29wdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUdBQW1HO0FBQ25HLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTXZELE1BQU0sT0FBTyxNQUFNO0lBSm5CO1FBS3dCLGVBQVUsR0FBRyxtQkFBbUIsQ0FBQztJQUN6RCxDQUFDOzs7WUFOQSxTQUFTLFNBQUM7Z0JBQ1QsMkJBQTJCO2dCQUMzQixRQUFRLEVBQUUsUUFBUTthQUNuQjs7O3lCQUVFLFdBQVcsU0FBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1jbGFzcy1zdWZmaXgsIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4ICovXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgc2VsZWN0b3I6ICdvcHRpb24nXG59KVxuZXhwb3J0IGNsYXNzIE9wdGlvbiB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBpbnB1dENsYXNzID0gJ2J4LS1zZWxlY3Qtb3B0aW9uJztcbn1cbiJdfQ==