@valtimo/components 4.22.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/esm2020/lib/components/alert/alert.component.mjs +138 -0
  2. package/esm2020/lib/components/alert/alert.module.mjs +33 -0
  3. package/esm2020/lib/components/alert/alert.service.mjs +80 -0
  4. package/esm2020/lib/components/bpmn-js-diagram/bpmn-js-diagram.component.mjs +168 -0
  5. package/esm2020/lib/components/bpmn-js-diagram/bpmn-js-diagram.module.mjs +33 -0
  6. package/esm2020/lib/components/breadcrumb-navigation/breadcrumb-navigation.component.mjs +92 -0
  7. package/esm2020/lib/components/breadcrumb-navigation/breadcrumb-navigation.module.mjs +35 -0
  8. package/esm2020/lib/components/camunda/form/camunda-form.components.mjs +41 -0
  9. package/esm2020/lib/components/camunda/form/camunda-form.module.mjs +35 -0
  10. package/esm2020/lib/components/camunda/form/custom/camunda-custom-form.component.mjs +40 -0
  11. package/esm2020/lib/components/camunda/form/custom/camunda-custom-form.module.mjs +33 -0
  12. package/esm2020/lib/components/camunda/form/generated/camunda-generated-form.component.mjs +67 -0
  13. package/esm2020/lib/components/camunda/form/generated/camunda-generated-form.module.mjs +63 -0
  14. package/esm2020/lib/components/camunda/form/generated/formfield/boolean/camunda-boolean-formfield.component.mjs +30 -0
  15. package/esm2020/lib/components/camunda/form/generated/formfield/camunda-formfield-generator.directive.mjs +63 -0
  16. package/esm2020/lib/components/camunda/form/generated/formfield/camunda-formfield.service.mjs +67 -0
  17. package/esm2020/lib/components/camunda/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.mjs +41 -0
  18. package/esm2020/lib/components/camunda/form/generated/formfield/date/camunda-date-formfield.component.mjs +66 -0
  19. package/esm2020/lib/components/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.mjs +33 -0
  20. package/esm2020/lib/components/camunda/form/generated/formfield/formfield.model.mjs +17 -0
  21. package/esm2020/lib/components/camunda/form/generated/formfield/long/camunda-long-formfield.component.mjs +30 -0
  22. package/esm2020/lib/components/camunda/form/generated/formfield/string/camunda-string-formfield.component.mjs +30 -0
  23. package/esm2020/lib/components/camunda/form/generated/formfield/textarea/camunda-textarea-formfield.component.mjs +30 -0
  24. package/esm2020/lib/components/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.mjs +35 -0
  25. package/esm2020/lib/components/camunda/form/generated/formfield/validation/date.validators.mjs +59 -0
  26. package/esm2020/lib/components/card/card.component.mjs +36 -0
  27. package/esm2020/lib/components/card/card.module.mjs +33 -0
  28. package/esm2020/lib/components/components.module.mjs +26 -0
  29. package/esm2020/lib/components/data-list/data-list.component.mjs +33 -0
  30. package/esm2020/lib/components/data-list/data-list.module.mjs +33 -0
  31. package/esm2020/lib/components/dropzone/dropzone.component.mjs +156 -0
  32. package/esm2020/lib/components/dropzone/dropzone.module.mjs +37 -0
  33. package/esm2020/lib/components/field-auto-focus/field-auto-focus.directive.mjs +36 -0
  34. package/esm2020/lib/components/field-auto-focus/field-auto-focus.module.mjs +33 -0
  35. package/esm2020/lib/components/file-size/file-size.module.mjs +33 -0
  36. package/esm2020/lib/components/file-size/file-size.pipe.mjs +42 -0
  37. package/esm2020/lib/components/filter-sidebar/filter-sidebar.component.mjs +46 -0
  38. package/esm2020/lib/components/filter-sidebar/filter-sidebar.module.mjs +33 -0
  39. package/esm2020/lib/components/form-io/form-io-builder.component.mjs +39 -0
  40. package/esm2020/lib/components/form-io/form-io-resource-selector/form-io-resource-selector.formio.mjs +69 -0
  41. package/esm2020/lib/components/form-io/form-io-uploader/form-io-uploader-edit-form.mjs +90 -0
  42. package/esm2020/lib/components/form-io/form-io-uploader/form-io-uploader.component.mjs +78 -0
  43. package/esm2020/lib/components/form-io/form-io-uploader/form-io-uploader.formio.mjs +28 -0
  44. package/esm2020/lib/components/form-io/form-io.component.mjs +166 -0
  45. package/esm2020/lib/components/form-io/form-io.module.mjs +70 -0
  46. package/esm2020/lib/components/form-io/formio-config.mjs +22 -0
  47. package/esm2020/lib/components/form-io/services/form-io-dom.service.mjs +23 -0
  48. package/esm2020/lib/components/form-io/services/form-io-state.service.mjs +37 -0
  49. package/esm2020/lib/components/left-sidebar/left-sidebar.component.mjs +115 -0
  50. package/esm2020/lib/components/left-sidebar/left-sidebar.module.mjs +35 -0
  51. package/esm2020/lib/components/list/ListFilterPipe.directive.mjs +35 -0
  52. package/esm2020/lib/components/list/list.component.mjs +195 -0
  53. package/esm2020/lib/components/list/list.module.mjs +38 -0
  54. package/esm2020/lib/components/menu/menu-item-text.component.mjs +78 -0
  55. package/esm2020/lib/components/menu/menu-routing.module.mjs +33 -0
  56. package/esm2020/lib/components/menu/menu.component.mjs +66 -0
  57. package/esm2020/lib/components/menu/menu.init.mjs +32 -0
  58. package/esm2020/lib/components/menu/menu.module.mjs +39 -0
  59. package/esm2020/lib/components/menu/menu.service.mjs +122 -0
  60. package/esm2020/lib/components/menu/submenu-item-text.component.mjs +67 -0
  61. package/esm2020/lib/components/modal/modal.component.mjs +51 -0
  62. package/esm2020/lib/components/modal/modal.module.mjs +33 -0
  63. package/esm2020/lib/components/multiselect-dropdown/multiselect-dropdown.component.mjs +52 -0
  64. package/esm2020/lib/components/multiselect-dropdown/multiselect-dropdown.module.mjs +35 -0
  65. package/esm2020/lib/components/page-header/page-header.component.mjs +35 -0
  66. package/esm2020/lib/components/page-header/page-header.module.mjs +35 -0
  67. package/esm2020/lib/components/page-title/page-title.component.mjs +75 -0
  68. package/esm2020/lib/components/page-title/page-title.module.mjs +34 -0
  69. package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +26 -0
  70. package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +33 -0
  71. package/esm2020/lib/components/right-sidebar/right-sidebar.component.mjs +112 -0
  72. package/esm2020/lib/components/right-sidebar/right-sidebar.module.mjs +69 -0
  73. package/esm2020/lib/components/searchable-dropdown/searchable-dropdown.component.mjs +201 -0
  74. package/esm2020/lib/components/searchable-dropdown/searchable-dropdown.module.mjs +34 -0
  75. package/esm2020/lib/components/searchable-dropdown-select/searchable-dropdown-select.component.mjs +65 -0
  76. package/esm2020/lib/components/searchable-dropdown-select/searchable-dropdown-select.module.mjs +35 -0
  77. package/esm2020/lib/components/spinner/spinner.component.mjs +54 -0
  78. package/esm2020/lib/components/spinner/spinner.module.mjs +35 -0
  79. package/esm2020/lib/components/timeline/timeline.component.mjs +30 -0
  80. package/esm2020/lib/components/timeline/timeline.module.mjs +34 -0
  81. package/esm2020/lib/components/topbar/topbar.component.mjs +28 -0
  82. package/esm2020/lib/components/topbar/topbar.module.mjs +34 -0
  83. package/esm2020/lib/components/uploader/uploader-drag-drop.directive.mjs +58 -0
  84. package/esm2020/lib/components/uploader/uploader.component.mjs +70 -0
  85. package/esm2020/lib/components/uploader/uploader.module.mjs +35 -0
  86. package/esm2020/lib/components/version/version.service.mjs +36 -0
  87. package/esm2020/lib/components/view-content/type-converters/booleanTypeConverter.mjs +29 -0
  88. package/esm2020/lib/components/view-content/type-converters/dateTypeConverter.mjs +29 -0
  89. package/esm2020/lib/components/view-content/type-converters/enumTypeConverter.mjs +24 -0
  90. package/esm2020/lib/components/view-content/type-converters/relatedFilesTypeConverter.mjs +24 -0
  91. package/esm2020/lib/components/view-content/type-converters/stringReplaceUnderscoreTypeConverter.mjs +27 -0
  92. package/esm2020/lib/components/view-content/type-converters/stringTypeConverter.mjs +24 -0
  93. package/esm2020/lib/components/view-content/type-converters/type-converters.model.mjs +37 -0
  94. package/esm2020/lib/components/view-content/view-content.service.mjs +52 -0
  95. package/esm2020/lib/components/webcam/webcam.component.mjs +102 -0
  96. package/esm2020/lib/components/webcam/webcam.module.mjs +34 -0
  97. package/esm2020/lib/components/widget/widget.component.mjs +89 -0
  98. package/esm2020/lib/components/widget/widget.module.mjs +33 -0
  99. package/esm2020/lib/models/alert.model.mjs +30 -0
  100. package/esm2020/lib/models/form-io.model.mjs +30 -0
  101. package/esm2020/lib/models/index.mjs +24 -0
  102. package/esm2020/lib/models/pagination.model.mjs +2 -0
  103. package/esm2020/lib/models/searchable-dropdown.model.mjs +2 -0
  104. package/esm2020/lib/models/timeline.model.mjs +44 -0
  105. package/esm2020/lib/models/version.model.mjs +17 -0
  106. package/{esm2015/public_api.js → esm2020/public_api.mjs} +3 -1
  107. package/esm2020/valtimo-components.mjs +5 -0
  108. package/fesm2015/valtimo-components.mjs +4934 -0
  109. package/fesm2015/valtimo-components.mjs.map +1 -0
  110. package/fesm2020/valtimo-components.mjs +4956 -0
  111. package/fesm2020/valtimo-components.mjs.map +1 -0
  112. package/lib/components/alert/alert.component.d.ts +4 -0
  113. package/lib/components/alert/alert.component.d.ts.map +1 -0
  114. package/lib/components/alert/alert.module.d.ts +7 -0
  115. package/lib/components/alert/alert.module.d.ts.map +1 -0
  116. package/lib/components/alert/alert.service.d.ts +4 -0
  117. package/lib/components/alert/alert.service.d.ts.map +1 -0
  118. package/lib/components/bpmn-js-diagram/bpmn-js-diagram.component.d.ts +4 -0
  119. package/lib/components/bpmn-js-diagram/bpmn-js-diagram.component.d.ts.map +1 -0
  120. package/lib/components/bpmn-js-diagram/bpmn-js-diagram.module.d.ts +7 -0
  121. package/lib/components/bpmn-js-diagram/bpmn-js-diagram.module.d.ts.map +1 -0
  122. package/lib/components/breadcrumb-navigation/breadcrumb-navigation.component.d.ts +4 -0
  123. package/lib/components/breadcrumb-navigation/breadcrumb-navigation.component.d.ts.map +1 -0
  124. package/lib/components/breadcrumb-navigation/breadcrumb-navigation.module.d.ts +9 -0
  125. package/lib/components/breadcrumb-navigation/breadcrumb-navigation.module.d.ts.map +1 -0
  126. package/lib/components/camunda/form/camunda-form.components.d.ts +4 -0
  127. package/lib/components/camunda/form/camunda-form.components.d.ts.map +1 -0
  128. package/lib/components/camunda/form/camunda-form.module.d.ts +9 -0
  129. package/lib/components/camunda/form/camunda-form.module.d.ts.map +1 -0
  130. package/lib/components/camunda/form/custom/camunda-custom-form.component.d.ts +4 -0
  131. package/lib/components/camunda/form/custom/camunda-custom-form.component.d.ts.map +1 -0
  132. package/lib/components/camunda/form/custom/camunda-custom-form.module.d.ts +7 -0
  133. package/lib/components/camunda/form/custom/camunda-custom-form.module.d.ts.map +1 -0
  134. package/lib/components/camunda/form/generated/camunda-generated-form.component.d.ts +4 -0
  135. package/lib/components/camunda/form/generated/camunda-generated-form.component.d.ts.map +1 -0
  136. package/lib/components/camunda/form/generated/camunda-generated-form.module.d.ts +17 -0
  137. package/lib/components/camunda/form/generated/camunda-generated-form.module.d.ts.map +1 -0
  138. package/lib/components/camunda/form/generated/formfield/boolean/camunda-boolean-formfield.component.d.ts +4 -0
  139. package/lib/components/camunda/form/generated/formfield/boolean/camunda-boolean-formfield.component.d.ts.map +1 -0
  140. package/lib/components/camunda/form/generated/formfield/camunda-formfield-generator.directive.d.ts +4 -0
  141. package/lib/components/camunda/form/generated/formfield/camunda-formfield-generator.directive.d.ts.map +1 -0
  142. package/lib/components/camunda/form/generated/formfield/camunda-formfield.service.d.ts +4 -0
  143. package/lib/components/camunda/form/generated/formfield/camunda-formfield.service.d.ts.map +1 -0
  144. package/lib/components/camunda/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.d.ts +4 -0
  145. package/lib/components/camunda/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.d.ts.map +1 -0
  146. package/lib/components/camunda/form/generated/formfield/date/camunda-date-formfield.component.d.ts +4 -0
  147. package/lib/components/camunda/form/generated/formfield/date/camunda-date-formfield.component.d.ts.map +1 -0
  148. package/lib/components/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.d.ts +4 -0
  149. package/lib/components/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.d.ts.map +1 -0
  150. package/lib/components/camunda/form/generated/formfield/formfield.model.d.ts +1 -0
  151. package/lib/components/camunda/form/generated/formfield/formfield.model.d.ts.map +1 -0
  152. package/lib/components/camunda/form/generated/formfield/long/camunda-long-formfield.component.d.ts +4 -0
  153. package/lib/components/camunda/form/generated/formfield/long/camunda-long-formfield.component.d.ts.map +1 -0
  154. package/lib/components/camunda/form/generated/formfield/string/camunda-string-formfield.component.d.ts +4 -0
  155. package/lib/components/camunda/form/generated/formfield/string/camunda-string-formfield.component.d.ts.map +1 -0
  156. package/lib/components/camunda/form/generated/formfield/textarea/camunda-textarea-formfield.component.d.ts +4 -0
  157. package/lib/components/camunda/form/generated/formfield/textarea/camunda-textarea-formfield.component.d.ts.map +1 -0
  158. package/lib/components/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.d.ts +4 -0
  159. package/lib/components/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.d.ts.map +1 -0
  160. package/lib/components/camunda/form/generated/formfield/validation/date.validators.d.ts +1 -0
  161. package/lib/components/camunda/form/generated/formfield/validation/date.validators.d.ts.map +1 -0
  162. package/lib/components/card/card.component.d.ts +4 -0
  163. package/lib/components/card/card.component.d.ts.map +1 -0
  164. package/lib/components/card/card.module.d.ts +7 -0
  165. package/lib/components/card/card.module.d.ts.map +1 -0
  166. package/lib/components/components.module.d.ts +5 -0
  167. package/lib/components/components.module.d.ts.map +1 -0
  168. package/lib/components/data-list/data-list.component.d.ts +4 -0
  169. package/lib/components/data-list/data-list.component.d.ts.map +1 -0
  170. package/lib/components/data-list/data-list.module.d.ts +7 -0
  171. package/lib/components/data-list/data-list.module.d.ts.map +1 -0
  172. package/lib/components/dropzone/dropzone.component.d.ts +4 -0
  173. package/lib/components/dropzone/dropzone.component.d.ts.map +1 -0
  174. package/lib/components/dropzone/dropzone.module.d.ts +11 -0
  175. package/lib/components/dropzone/dropzone.module.d.ts.map +1 -0
  176. package/lib/components/field-auto-focus/field-auto-focus.directive.d.ts +4 -0
  177. package/lib/components/field-auto-focus/field-auto-focus.directive.d.ts.map +1 -0
  178. package/lib/components/field-auto-focus/field-auto-focus.module.d.ts +7 -0
  179. package/lib/components/field-auto-focus/field-auto-focus.module.d.ts.map +1 -0
  180. package/lib/components/file-size/file-size.module.d.ts +7 -0
  181. package/lib/components/file-size/file-size.module.d.ts.map +1 -0
  182. package/lib/components/file-size/file-size.pipe.d.ts +4 -0
  183. package/lib/components/file-size/file-size.pipe.d.ts.map +1 -0
  184. package/lib/components/filter-sidebar/filter-sidebar.component.d.ts +4 -0
  185. package/lib/components/filter-sidebar/filter-sidebar.component.d.ts.map +1 -0
  186. package/lib/components/filter-sidebar/filter-sidebar.module.d.ts +7 -0
  187. package/lib/components/filter-sidebar/filter-sidebar.module.d.ts.map +1 -0
  188. package/lib/components/form-io/form-io-builder.component.d.ts +4 -0
  189. package/lib/components/form-io/form-io-builder.component.d.ts.map +1 -0
  190. package/lib/components/form-io/form-io-resource-selector/form-io-resource-selector.formio.d.ts +1 -0
  191. package/lib/components/form-io/form-io-resource-selector/form-io-resource-selector.formio.d.ts.map +1 -0
  192. package/lib/components/form-io/form-io-uploader/form-io-uploader-edit-form.d.ts +1 -0
  193. package/lib/components/form-io/form-io-uploader/form-io-uploader-edit-form.d.ts.map +1 -0
  194. package/lib/components/form-io/form-io-uploader/form-io-uploader.component.d.ts +4 -0
  195. package/lib/components/form-io/form-io-uploader/form-io-uploader.component.d.ts.map +1 -0
  196. package/lib/components/form-io/form-io-uploader/form-io-uploader.formio.d.ts +1 -0
  197. package/lib/components/form-io/form-io-uploader/form-io-uploader.formio.d.ts.map +1 -0
  198. package/lib/components/form-io/form-io.component.d.ts +5 -1
  199. package/lib/components/form-io/form-io.component.d.ts.map +1 -0
  200. package/lib/components/form-io/form-io.module.d.ts +16 -0
  201. package/lib/components/form-io/form-io.module.d.ts.map +1 -0
  202. package/lib/components/form-io/formio-config.d.ts +1 -0
  203. package/lib/components/form-io/formio-config.d.ts.map +1 -0
  204. package/lib/components/form-io/services/form-io-dom.service.d.ts +4 -0
  205. package/lib/components/form-io/services/form-io-dom.service.d.ts.map +1 -0
  206. package/lib/components/form-io/services/form-io-state.service.d.ts +4 -0
  207. package/lib/components/form-io/services/form-io-state.service.d.ts.map +1 -0
  208. package/lib/components/left-sidebar/left-sidebar.component.d.ts +4 -0
  209. package/lib/components/left-sidebar/left-sidebar.component.d.ts.map +1 -0
  210. package/lib/components/left-sidebar/left-sidebar.module.d.ts +9 -0
  211. package/lib/components/left-sidebar/left-sidebar.module.d.ts.map +1 -0
  212. package/lib/components/list/ListFilterPipe.directive.d.ts +4 -0
  213. package/lib/components/list/ListFilterPipe.directive.d.ts.map +1 -0
  214. package/lib/components/list/list.component.d.ts +4 -0
  215. package/lib/components/list/list.component.d.ts.map +1 -0
  216. package/lib/components/list/list.module.d.ts +12 -0
  217. package/lib/components/list/list.module.d.ts.map +1 -0
  218. package/lib/components/menu/menu-item-text.component.d.ts +4 -0
  219. package/lib/components/menu/menu-item-text.component.d.ts.map +1 -0
  220. package/lib/components/menu/menu-routing.module.d.ts +6 -0
  221. package/lib/components/menu/menu-routing.module.d.ts.map +1 -0
  222. package/lib/components/menu/menu.component.d.ts +4 -0
  223. package/lib/components/menu/menu.component.d.ts.map +1 -0
  224. package/lib/components/menu/menu.init.d.ts +1 -0
  225. package/lib/components/menu/menu.init.d.ts.map +1 -0
  226. package/lib/components/menu/menu.module.d.ts +12 -0
  227. package/lib/components/menu/menu.module.d.ts.map +1 -0
  228. package/lib/components/menu/menu.service.d.ts +4 -0
  229. package/lib/components/menu/menu.service.d.ts.map +1 -0
  230. package/lib/components/menu/submenu-item-text.component.d.ts +4 -0
  231. package/lib/components/menu/submenu-item-text.component.d.ts.map +1 -0
  232. package/lib/components/modal/modal.component.d.ts +4 -0
  233. package/lib/components/modal/modal.component.d.ts.map +1 -0
  234. package/lib/components/modal/modal.module.d.ts +7 -0
  235. package/lib/components/modal/modal.module.d.ts.map +1 -0
  236. package/lib/components/multiselect-dropdown/multiselect-dropdown.component.d.ts +6 -2
  237. package/lib/components/multiselect-dropdown/multiselect-dropdown.component.d.ts.map +1 -0
  238. package/lib/components/multiselect-dropdown/multiselect-dropdown.module.d.ts +9 -0
  239. package/lib/components/multiselect-dropdown/multiselect-dropdown.module.d.ts.map +1 -0
  240. package/lib/components/page-header/page-header.component.d.ts +8 -1
  241. package/lib/components/page-header/page-header.component.d.ts.map +1 -0
  242. package/lib/components/page-header/page-header.module.d.ts +9 -0
  243. package/lib/components/page-header/page-header.module.d.ts.map +1 -0
  244. package/lib/components/page-title/page-title.component.d.ts +8 -3
  245. package/lib/components/page-title/page-title.component.d.ts.map +1 -0
  246. package/lib/components/page-title/page-title.module.d.ts +8 -0
  247. package/lib/components/page-title/page-title.module.d.ts.map +1 -0
  248. package/lib/components/progress-bar/progress-bar.component.d.ts +4 -0
  249. package/lib/components/progress-bar/progress-bar.component.d.ts.map +1 -0
  250. package/lib/components/progress-bar/progress-bar.module.d.ts +7 -0
  251. package/lib/components/progress-bar/progress-bar.module.d.ts.map +1 -0
  252. package/lib/components/right-sidebar/right-sidebar.component.d.ts +4 -0
  253. package/lib/components/right-sidebar/right-sidebar.component.d.ts.map +1 -0
  254. package/lib/components/right-sidebar/right-sidebar.module.d.ts +11 -0
  255. package/lib/components/right-sidebar/right-sidebar.module.d.ts.map +1 -0
  256. package/lib/components/searchable-dropdown/searchable-dropdown.component.d.ts +4 -0
  257. package/lib/components/searchable-dropdown/searchable-dropdown.component.d.ts.map +1 -0
  258. package/lib/components/searchable-dropdown/searchable-dropdown.module.d.ts +8 -0
  259. package/lib/components/searchable-dropdown/searchable-dropdown.module.d.ts.map +1 -0
  260. package/lib/components/searchable-dropdown-select/searchable-dropdown-select.component.d.ts +4 -0
  261. package/lib/components/searchable-dropdown-select/searchable-dropdown-select.component.d.ts.map +1 -0
  262. package/lib/components/searchable-dropdown-select/searchable-dropdown-select.module.d.ts +9 -0
  263. package/lib/components/searchable-dropdown-select/searchable-dropdown-select.module.d.ts.map +1 -0
  264. package/lib/components/spinner/spinner.component.d.ts +4 -0
  265. package/lib/components/spinner/spinner.component.d.ts.map +1 -0
  266. package/lib/components/spinner/spinner.module.d.ts +9 -0
  267. package/lib/components/spinner/spinner.module.d.ts.map +1 -0
  268. package/lib/components/timeline/timeline.component.d.ts +4 -0
  269. package/lib/components/timeline/timeline.component.d.ts.map +1 -0
  270. package/lib/components/timeline/timeline.module.d.ts +8 -0
  271. package/lib/components/timeline/timeline.module.d.ts.map +1 -0
  272. package/lib/components/topbar/topbar.component.d.ts +4 -0
  273. package/lib/components/topbar/topbar.component.d.ts.map +1 -0
  274. package/lib/components/topbar/topbar.module.d.ts +8 -0
  275. package/lib/components/topbar/topbar.module.d.ts.map +1 -0
  276. package/lib/components/uploader/uploader-drag-drop.directive.d.ts +4 -0
  277. package/lib/components/uploader/uploader-drag-drop.directive.d.ts.map +1 -0
  278. package/lib/components/uploader/uploader.component.d.ts +4 -0
  279. package/lib/components/uploader/uploader.component.d.ts.map +1 -0
  280. package/lib/components/uploader/uploader.module.d.ts +9 -0
  281. package/lib/components/uploader/uploader.module.d.ts.map +1 -0
  282. package/lib/components/version/version.service.d.ts +4 -0
  283. package/lib/components/version/version.service.d.ts.map +1 -0
  284. package/lib/components/view-content/type-converters/booleanTypeConverter.d.ts +1 -0
  285. package/lib/components/view-content/type-converters/booleanTypeConverter.d.ts.map +1 -0
  286. package/lib/components/view-content/type-converters/dateTypeConverter.d.ts +1 -0
  287. package/lib/components/view-content/type-converters/dateTypeConverter.d.ts.map +1 -0
  288. package/lib/components/view-content/type-converters/enumTypeConverter.d.ts +1 -0
  289. package/lib/components/view-content/type-converters/enumTypeConverter.d.ts.map +1 -0
  290. package/lib/components/view-content/type-converters/relatedFilesTypeConverter.d.ts +1 -0
  291. package/lib/components/view-content/type-converters/relatedFilesTypeConverter.d.ts.map +1 -0
  292. package/lib/components/view-content/type-converters/stringReplaceUnderscoreTypeConverter.d.ts +1 -0
  293. package/lib/components/view-content/type-converters/stringReplaceUnderscoreTypeConverter.d.ts.map +1 -0
  294. package/lib/components/view-content/type-converters/stringTypeConverter.d.ts +1 -0
  295. package/lib/components/view-content/type-converters/stringTypeConverter.d.ts.map +1 -0
  296. package/lib/components/view-content/type-converters/type-converters.model.d.ts +1 -0
  297. package/lib/components/view-content/type-converters/type-converters.model.d.ts.map +1 -0
  298. package/lib/components/view-content/view-content.service.d.ts +4 -0
  299. package/lib/components/view-content/view-content.service.d.ts.map +1 -0
  300. package/lib/components/webcam/webcam.component.d.ts +4 -0
  301. package/lib/components/webcam/webcam.component.d.ts.map +1 -0
  302. package/lib/components/webcam/webcam.module.d.ts +8 -0
  303. package/lib/components/webcam/webcam.module.d.ts.map +1 -0
  304. package/lib/components/widget/widget.component.d.ts +4 -0
  305. package/lib/components/widget/widget.component.d.ts.map +1 -0
  306. package/lib/components/widget/widget.module.d.ts +7 -0
  307. package/lib/components/widget/widget.module.d.ts.map +1 -0
  308. package/lib/models/alert.model.d.ts +1 -0
  309. package/lib/models/alert.model.d.ts.map +1 -0
  310. package/lib/models/form-io.model.d.ts +1 -0
  311. package/lib/models/form-io.model.d.ts.map +1 -0
  312. package/lib/models/index.d.ts +1 -0
  313. package/lib/models/index.d.ts.map +1 -0
  314. package/lib/models/pagination.model.d.ts +1 -0
  315. package/lib/models/pagination.model.d.ts.map +1 -0
  316. package/lib/models/searchable-dropdown.model.d.ts +1 -0
  317. package/lib/models/searchable-dropdown.model.d.ts.map +1 -0
  318. package/lib/models/timeline.model.d.ts +1 -0
  319. package/lib/models/timeline.model.d.ts.map +1 -0
  320. package/lib/models/version.model.d.ts +1 -0
  321. package/lib/models/version.model.d.ts.map +1 -0
  322. package/package.json +25 -13
  323. package/public_api.d.ts +3 -0
  324. package/public_api.d.ts.map +1 -0
  325. package/valtimo-components.d.ts +2 -21
  326. package/valtimo-components.d.ts.map +1 -0
  327. package/bundles/valtimo-components.umd.js +0 -5368
  328. package/bundles/valtimo-components.umd.js.map +0 -1
  329. package/bundles/valtimo-components.umd.min.js +0 -17
  330. package/bundles/valtimo-components.umd.min.js.map +0 -1
  331. package/esm2015/lib/components/alert/alert.component.js +0 -140
  332. package/esm2015/lib/components/alert/alert.module.js +0 -28
  333. package/esm2015/lib/components/alert/alert.service.js +0 -81
  334. package/esm2015/lib/components/bpmn-js-diagram/bpmn-js-diagram.component.js +0 -160
  335. package/esm2015/lib/components/bpmn-js-diagram/bpmn-js-diagram.module.js +0 -28
  336. package/esm2015/lib/components/breadcrumb-navigation/breadcrumb-navigation.component.js +0 -93
  337. package/esm2015/lib/components/breadcrumb-navigation/breadcrumb-navigation.module.js +0 -30
  338. package/esm2015/lib/components/camunda/form/camunda-form.components.js +0 -37
  339. package/esm2015/lib/components/camunda/form/camunda-form.module.js +0 -30
  340. package/esm2015/lib/components/camunda/form/custom/camunda-custom-form.component.js +0 -42
  341. package/esm2015/lib/components/camunda/form/custom/camunda-custom-form.module.js +0 -28
  342. package/esm2015/lib/components/camunda/form/generated/camunda-generated-form.component.js +0 -69
  343. package/esm2015/lib/components/camunda/form/generated/camunda-generated-form.module.js +0 -58
  344. package/esm2015/lib/components/camunda/form/generated/formfield/boolean/camunda-boolean-formfield.component.js +0 -27
  345. package/esm2015/lib/components/camunda/form/generated/formfield/camunda-formfield-generator.directive.js +0 -64
  346. package/esm2015/lib/components/camunda/form/generated/formfield/camunda-formfield.service.js +0 -66
  347. package/esm2015/lib/components/camunda/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.js +0 -40
  348. package/esm2015/lib/components/camunda/form/generated/formfield/date/camunda-date-formfield.component.js +0 -66
  349. package/esm2015/lib/components/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.js +0 -30
  350. package/esm2015/lib/components/camunda/form/generated/formfield/formfield.model.js +0 -16
  351. package/esm2015/lib/components/camunda/form/generated/formfield/long/camunda-long-formfield.component.js +0 -27
  352. package/esm2015/lib/components/camunda/form/generated/formfield/string/camunda-string-formfield.component.js +0 -27
  353. package/esm2015/lib/components/camunda/form/generated/formfield/textarea/camunda-textarea-formfield.component.js +0 -27
  354. package/esm2015/lib/components/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.js +0 -35
  355. package/esm2015/lib/components/camunda/form/generated/formfield/validation/date.validators.js +0 -60
  356. package/esm2015/lib/components/card/card.component.js +0 -36
  357. package/esm2015/lib/components/card/card.module.js +0 -28
  358. package/esm2015/lib/components/components.module.js +0 -22
  359. package/esm2015/lib/components/data-list/data-list.component.js +0 -33
  360. package/esm2015/lib/components/data-list/data-list.module.js +0 -28
  361. package/esm2015/lib/components/dropzone/dropzone.component.js +0 -142
  362. package/esm2015/lib/components/dropzone/dropzone.module.js +0 -32
  363. package/esm2015/lib/components/field-auto-focus/field-auto-focus.directive.js +0 -35
  364. package/esm2015/lib/components/field-auto-focus/field-auto-focus.module.js +0 -28
  365. package/esm2015/lib/components/file-size/file-size.module.js +0 -28
  366. package/esm2015/lib/components/file-size/file-size.pipe.js +0 -38
  367. package/esm2015/lib/components/filter-sidebar/filter-sidebar.component.js +0 -46
  368. package/esm2015/lib/components/filter-sidebar/filter-sidebar.module.js +0 -28
  369. package/esm2015/lib/components/form-io/form-io-builder.component.js +0 -38
  370. package/esm2015/lib/components/form-io/form-io-resource-selector/form-io-resource-selector.formio.js +0 -63
  371. package/esm2015/lib/components/form-io/form-io-uploader/form-io-uploader-edit-form.js +0 -90
  372. package/esm2015/lib/components/form-io/form-io-uploader/form-io-uploader.component.js +0 -74
  373. package/esm2015/lib/components/form-io/form-io-uploader/form-io-uploader.formio.js +0 -26
  374. package/esm2015/lib/components/form-io/form-io.component.js +0 -167
  375. package/esm2015/lib/components/form-io/form-io.module.js +0 -51
  376. package/esm2015/lib/components/form-io/formio-config.js +0 -22
  377. package/esm2015/lib/components/form-io/services/form-io-dom.service.js +0 -23
  378. package/esm2015/lib/components/form-io/services/form-io-state.service.js +0 -35
  379. package/esm2015/lib/components/left-sidebar/left-sidebar.component.js +0 -114
  380. package/esm2015/lib/components/left-sidebar/left-sidebar.module.js +0 -30
  381. package/esm2015/lib/components/list/ListFilterPipe.directive.js +0 -31
  382. package/esm2015/lib/components/list/list.component.js +0 -180
  383. package/esm2015/lib/components/list/list.module.js +0 -33
  384. package/esm2015/lib/components/menu/menu-item-text.component.js +0 -38
  385. package/esm2015/lib/components/menu/menu-routing.module.js +0 -27
  386. package/esm2015/lib/components/menu/menu.component.js +0 -67
  387. package/esm2015/lib/components/menu/menu.init.js +0 -34
  388. package/esm2015/lib/components/menu/menu.module.js +0 -34
  389. package/esm2015/lib/components/menu/menu.service.js +0 -134
  390. package/esm2015/lib/components/menu/submenu-item-text.component.js +0 -33
  391. package/esm2015/lib/components/modal/modal.component.js +0 -48
  392. package/esm2015/lib/components/modal/modal.module.js +0 -28
  393. package/esm2015/lib/components/multiselect-dropdown/multiselect-dropdown.component.js +0 -47
  394. package/esm2015/lib/components/multiselect-dropdown/multiselect-dropdown.module.js +0 -30
  395. package/esm2015/lib/components/page-header/page-header.component.js +0 -29
  396. package/esm2015/lib/components/page-header/page-header.module.js +0 -30
  397. package/esm2015/lib/components/page-title/page-title.component.js +0 -76
  398. package/esm2015/lib/components/page-title/page-title.module.js +0 -29
  399. package/esm2015/lib/components/progress-bar/progress-bar.component.js +0 -26
  400. package/esm2015/lib/components/progress-bar/progress-bar.module.js +0 -28
  401. package/esm2015/lib/components/right-sidebar/right-sidebar.component.js +0 -133
  402. package/esm2015/lib/components/right-sidebar/right-sidebar.module.js +0 -49
  403. package/esm2015/lib/components/searchable-dropdown/searchable-dropdown.component.js +0 -187
  404. package/esm2015/lib/components/searchable-dropdown/searchable-dropdown.module.js +0 -29
  405. package/esm2015/lib/components/searchable-dropdown-select/searchable-dropdown-select.component.js +0 -52
  406. package/esm2015/lib/components/searchable-dropdown-select/searchable-dropdown-select.module.js +0 -30
  407. package/esm2015/lib/components/spinner/spinner.component.js +0 -45
  408. package/esm2015/lib/components/spinner/spinner.module.js +0 -30
  409. package/esm2015/lib/components/timeline/timeline.component.js +0 -29
  410. package/esm2015/lib/components/timeline/timeline.module.js +0 -29
  411. package/esm2015/lib/components/topbar/topbar.component.js +0 -28
  412. package/esm2015/lib/components/topbar/topbar.module.js +0 -29
  413. package/esm2015/lib/components/uploader/uploader-drag-drop.directive.js +0 -49
  414. package/esm2015/lib/components/uploader/uploader.component.js +0 -68
  415. package/esm2015/lib/components/uploader/uploader.module.js +0 -30
  416. package/esm2015/lib/components/version/version.service.js +0 -38
  417. package/esm2015/lib/components/view-content/type-converters/booleanTypeConverter.js +0 -29
  418. package/esm2015/lib/components/view-content/type-converters/dateTypeConverter.js +0 -30
  419. package/esm2015/lib/components/view-content/type-converters/enumTypeConverter.js +0 -24
  420. package/esm2015/lib/components/view-content/type-converters/relatedFilesTypeConverter.js +0 -24
  421. package/esm2015/lib/components/view-content/type-converters/stringReplaceUnderscoreTypeConverter.js +0 -27
  422. package/esm2015/lib/components/view-content/type-converters/stringTypeConverter.js +0 -24
  423. package/esm2015/lib/components/view-content/type-converters/type-converters.model.js +0 -37
  424. package/esm2015/lib/components/view-content/view-content.service.js +0 -51
  425. package/esm2015/lib/components/webcam/webcam.component.js +0 -102
  426. package/esm2015/lib/components/webcam/webcam.module.js +0 -29
  427. package/esm2015/lib/components/widget/widget.component.js +0 -80
  428. package/esm2015/lib/components/widget/widget.module.js +0 -28
  429. package/esm2015/lib/models/alert.model.js +0 -30
  430. package/esm2015/lib/models/form-io.model.js +0 -30
  431. package/esm2015/lib/models/index.js +0 -24
  432. package/esm2015/lib/models/pagination.model.js +0 -1
  433. package/esm2015/lib/models/searchable-dropdown.model.js +0 -1
  434. package/esm2015/lib/models/timeline.model.js +0 -44
  435. package/esm2015/lib/models/version.model.js +0 -16
  436. package/esm2015/valtimo-components.js +0 -26
  437. package/fesm2015/valtimo-components.js +0 -4735
  438. package/fesm2015/valtimo-components.js.map +0 -1
  439. package/valtimo-components.metadata.json +0 -1
@@ -0,0 +1,201 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component, EventEmitter, HostListener, Input, Output, ViewChildren, } from '@angular/core';
17
+ import { FormControl } from '@angular/forms';
18
+ import { BehaviorSubject, combineLatest, fromEvent } from 'rxjs';
19
+ import { debounceTime, take } from 'rxjs/operators';
20
+ import * as i0 from "@angular/core";
21
+ import * as i1 from "@angular/common";
22
+ import * as i2 from "@angular/forms";
23
+ export class SearchableDropdownComponent {
24
+ constructor() {
25
+ this.width = 250;
26
+ this.itemSelected = new EventEmitter();
27
+ this.searchId = 'search';
28
+ this.searchTerm = new FormControl('');
29
+ this.focusedItemId$ = new BehaviorSubject(this.searchId);
30
+ this.open$ = new BehaviorSubject(false);
31
+ this.filteredItems$ = new BehaviorSubject(undefined);
32
+ this.wasInside = false;
33
+ this.mouseOnList$ = new BehaviorSubject(false);
34
+ }
35
+ clickInside() {
36
+ this.wasInside = true;
37
+ }
38
+ clickout() {
39
+ if (!this.wasInside) {
40
+ this.closeDropdown();
41
+ }
42
+ this.wasInside = false;
43
+ }
44
+ ngOnInit() {
45
+ this.openKeysSubscription();
46
+ this.openSearchSubscription();
47
+ }
48
+ ngOnChanges(changes) {
49
+ const itemChanges = changes.items;
50
+ const currenItems = itemChanges.currentValue;
51
+ if (itemChanges && !itemChanges.previousValue && currenItems) {
52
+ this.filteredItems$.next(currenItems);
53
+ }
54
+ }
55
+ ngOnDestroy() {
56
+ this.keySubscription.unsubscribe();
57
+ this.searchSubscription.unsubscribe();
58
+ }
59
+ openDropdown() {
60
+ this.open$.next(true);
61
+ }
62
+ hoverOverButton(id) {
63
+ this.focusedItemId$.next(id);
64
+ }
65
+ mouseEnterList() {
66
+ this.mouseOnList$.next(true);
67
+ }
68
+ mouseLeaveList() {
69
+ this.mouseOnList$.next(false);
70
+ }
71
+ resetFocus() {
72
+ this.focusedItemId$.next(this.searchId);
73
+ }
74
+ submit(id) {
75
+ this.itemSelected.emit(id);
76
+ }
77
+ closeDropdown() {
78
+ this.searchTerm.setValue('');
79
+ this.resetFocus();
80
+ this.open$.next(false);
81
+ }
82
+ openKeysSubscription() {
83
+ this.keySubscription = fromEvent(document, 'keyup')
84
+ .pipe(debounceTime(50))
85
+ .subscribe((event) => {
86
+ combineLatest([this.mouseOnList$, this.filteredItems$, this.focusedItemId$])
87
+ .pipe(take(1))
88
+ .subscribe(([mouseOnList, items, focusedId]) => {
89
+ const length = items.length;
90
+ const focusedIndex = items.findIndex(item => item.id === focusedId);
91
+ const code = event.code;
92
+ const shiftKey = event.shiftKey;
93
+ const down = 'ArrowDown';
94
+ const tab = 'Tab';
95
+ const up = 'ArrowUp';
96
+ const enter = 'Enter';
97
+ const escape = 'Escape';
98
+ // close dropdown on pressing escape
99
+ if (code === escape) {
100
+ this.closeDropdown();
101
+ }
102
+ // submit item when focus is on an item in the list and enter is pressed
103
+ if (code === enter && focusedId !== this.searchId) {
104
+ this.submit(focusedId);
105
+ }
106
+ // only handle tab or arrow keypresses when items are shown and the mouse is not on the list
107
+ if (length > 0 && !mouseOnList) {
108
+ // handle moving down in the list with arrow down or tab
109
+ if (code === down || (code === tab && !shiftKey)) {
110
+ // move focus to first item in the list when focus is on search box
111
+ if (focusedId === this.searchId) {
112
+ this.focusedItemId$.next(items[0].id);
113
+ this.scrollButtonIntoView(focusedId);
114
+ // move focus to next item in the list if focus is not on last item
115
+ }
116
+ else if (focusedIndex + 1 < length) {
117
+ this.focusedItemId$.next(items[focusedIndex + 1].id);
118
+ this.scrollButtonIntoView(focusedId);
119
+ }
120
+ // handle moving up in the list with up arrow up or shift+tab
121
+ }
122
+ else if ((code === up || (code === tab && shiftKey)) &&
123
+ focusedId !== this.searchId) {
124
+ // move to previous item if focus is not on the first item in the list
125
+ if (focusedIndex > 0) {
126
+ this.focusedItemId$.next(items[focusedIndex - 1].id);
127
+ this.scrollButtonIntoView(focusedId);
128
+ // move focus to search box if focus is on first item in the list
129
+ }
130
+ else {
131
+ this.resetFocus();
132
+ }
133
+ }
134
+ }
135
+ });
136
+ });
137
+ }
138
+ openSearchSubscription() {
139
+ this.searchSubscription = this.searchTerm.valueChanges.subscribe(searchTerm => {
140
+ this.focusedItemId$.pipe(take(1)).subscribe(focusedItemId => {
141
+ if (!searchTerm) {
142
+ this.filteredItems$.next(this.items);
143
+ }
144
+ else {
145
+ const filteredItems = this.items.filter(item => item.text.toUpperCase().includes(searchTerm.toUpperCase()));
146
+ this.filteredItems$.next(filteredItems);
147
+ // move focus to search box if filtered list length is 0 or previously focused item is not in filtered list anymore
148
+ if (filteredItems.length === 0 ||
149
+ !filteredItems.some(item => item.id === focusedItemId)) {
150
+ this.resetFocus();
151
+ }
152
+ }
153
+ // move scrolling button into view to end of queue, so that DOM can be updated first
154
+ setTimeout(() => {
155
+ this.scrollButtonIntoView(focusedItemId);
156
+ });
157
+ });
158
+ });
159
+ }
160
+ scrollButtonIntoView(id) {
161
+ this.filteredItems$.pipe(take(1)).subscribe(items => {
162
+ const focusItemIndex = items.findIndex(item => item.id === id);
163
+ const focusedButton = this.buttons.toArray()[focusItemIndex];
164
+ if (focusedButton) {
165
+ focusedButton.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
166
+ }
167
+ });
168
+ }
169
+ }
170
+ SearchableDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SearchableDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
171
+ SearchableDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: SearchableDropdownComponent, selector: "valtimo-searchable-dropdown", inputs: { style: "style", items: "items", buttonText: "buttonText", searchText: "searchText", noResultsText: "noResultsText", disabled: "disabled", width: "width" }, outputs: { itemSelected: "itemSelected" }, host: { listeners: { "click": "clickInside()", "document:click": "clickout()" } }, viewQueries: [{ propertyName: "buttons", predicate: ["button"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"buttonText && items\">\n <ng-container [ngTemplateOutlet]=\"(open$ | async) ? opened : closed\"> </ng-container>\n</ng-container>\n\n<ng-template #closed>\n <ng-container *ngIf=\"style === 'button' || !style\">\n <button\n class=\"btn btn-primary btn-sm dropdown-size\"\n (click)=\"openDropdown()\"\n [style.width.px]=\"width\"\n >\n {{ buttonText }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"style === 'underlinedText'\">\n <h5 class=\"underline-button\" (click)=\"openDropdown()\" [style.width.px]=\"width\">\n <b>\n {{ buttonText }}\n </b>\n </h5>\n </ng-container>\n</ng-template>\n\n<ng-template #opened>\n <div class=\"dropdown-container\" [style.width.px]=\"width\">\n <div class=\"dropdown-size search\" [style.width.px]=\"width\">\n <input\n #search\n [ngClass]=\"{disabled: disabled}\"\n [placeholder]=\"searchText\"\n [formControl]=\"searchTerm\"\n />\n {{ search.focus() }}\n </div>\n <div class=\"dropdown-list\" (mouseenter)=\"mouseEnterList()\" (mouseleave)=\"mouseLeaveList()\">\n <ng-container *ngIf=\"filteredItems$ | async as filteredItems\">\n <ng-container\n *ngIf=\"\n filteredItems.length > 0 && focusedItemId$ | async as focusedItemId;\n else noResults\n \"\n >\n <button\n #button\n *ngFor=\"let item of filteredItems\"\n [ngClass]=\"{focus: focusedItemId === item.id, disabled: disabled}\"\n class=\"dropdown-button dropdown-size\"\n (click)=\"submit(item.id)\"\n (mouseenter)=\"hoverOverButton(item.id)\"\n (mouseleave)=\"resetFocus()\"\n [style.width.px]=\"width\"\n >\n <span class=\"dropdown-button-text\">\n {{ item.text }}\n </span>\n </button>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <ng-container [ngTemplateOutlet]=\"space\"> </ng-container>\n</ng-template>\n\n<ng-template #noResults>\n <div class=\"dropdown-button dropdown-size disabled\" [style.width.px]=\"width\">\n <span class=\"dropdown-button-text\">{{ noResultsText }}</span>\n </div>\n</ng-template>\n\n<ng-template #space>\n <div *ngIf=\"style === 'button' || !style\" class=\"dropdown-size\" [style.width.px]=\"width\"></div>\n <h5 *ngIf=\"style === 'underlinedText'\" class=\"underline-button\"><b>-</b></h5>\n</ng-template>\n", styles: [".dropdown-size{width:250px;height:34px}.underline-button{text-decoration:underline;width:250px;cursor:pointer}.dropdown-container{background-color:#fff;position:fixed;z-index:999;border:1px solid #e3e3e3;box-shadow:0 0 6px #0000001f;border-radius:3px;padding:7px 0;overflow:hidden;display:flex;flex-direction:column;width:250px;max-height:300px}.dropdown-list{list-style:none;padding:0;margin:0;overflow:auto;overflow-x:hidden;z-index:9999}.search{border-bottom:1px solid #dee2e6;padding:8px 24px;display:flex;align-items:center;flex-shrink:0;height:44px}.search input{width:100%;border:none;outline:none;padding:0}.search input:focus{border:none;outline:none}.dropdown-button{font-weight:400;color:#504e4e;padding:8px 24px;background-color:#fff;cursor:pointer;font-size:1rem;display:flex;align-items:center;border:none;outline:none}.dropdown-button.focus{background-color:#f5f5f5}.dropdown-button-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.disabled{pointer-events:none;color:#959595;cursor:default}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { 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]" }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i1.AsyncPipe } });
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SearchableDropdownComponent, decorators: [{
173
+ type: Component,
174
+ args: [{ selector: 'valtimo-searchable-dropdown', template: "<ng-container *ngIf=\"buttonText && items\">\n <ng-container [ngTemplateOutlet]=\"(open$ | async) ? opened : closed\"> </ng-container>\n</ng-container>\n\n<ng-template #closed>\n <ng-container *ngIf=\"style === 'button' || !style\">\n <button\n class=\"btn btn-primary btn-sm dropdown-size\"\n (click)=\"openDropdown()\"\n [style.width.px]=\"width\"\n >\n {{ buttonText }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"style === 'underlinedText'\">\n <h5 class=\"underline-button\" (click)=\"openDropdown()\" [style.width.px]=\"width\">\n <b>\n {{ buttonText }}\n </b>\n </h5>\n </ng-container>\n</ng-template>\n\n<ng-template #opened>\n <div class=\"dropdown-container\" [style.width.px]=\"width\">\n <div class=\"dropdown-size search\" [style.width.px]=\"width\">\n <input\n #search\n [ngClass]=\"{disabled: disabled}\"\n [placeholder]=\"searchText\"\n [formControl]=\"searchTerm\"\n />\n {{ search.focus() }}\n </div>\n <div class=\"dropdown-list\" (mouseenter)=\"mouseEnterList()\" (mouseleave)=\"mouseLeaveList()\">\n <ng-container *ngIf=\"filteredItems$ | async as filteredItems\">\n <ng-container\n *ngIf=\"\n filteredItems.length > 0 && focusedItemId$ | async as focusedItemId;\n else noResults\n \"\n >\n <button\n #button\n *ngFor=\"let item of filteredItems\"\n [ngClass]=\"{focus: focusedItemId === item.id, disabled: disabled}\"\n class=\"dropdown-button dropdown-size\"\n (click)=\"submit(item.id)\"\n (mouseenter)=\"hoverOverButton(item.id)\"\n (mouseleave)=\"resetFocus()\"\n [style.width.px]=\"width\"\n >\n <span class=\"dropdown-button-text\">\n {{ item.text }}\n </span>\n </button>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <ng-container [ngTemplateOutlet]=\"space\"> </ng-container>\n</ng-template>\n\n<ng-template #noResults>\n <div class=\"dropdown-button dropdown-size disabled\" [style.width.px]=\"width\">\n <span class=\"dropdown-button-text\">{{ noResultsText }}</span>\n </div>\n</ng-template>\n\n<ng-template #space>\n <div *ngIf=\"style === 'button' || !style\" class=\"dropdown-size\" [style.width.px]=\"width\"></div>\n <h5 *ngIf=\"style === 'underlinedText'\" class=\"underline-button\"><b>-</b></h5>\n</ng-template>\n", styles: [".dropdown-size{width:250px;height:34px}.underline-button{text-decoration:underline;width:250px;cursor:pointer}.dropdown-container{background-color:#fff;position:fixed;z-index:999;border:1px solid #e3e3e3;box-shadow:0 0 6px #0000001f;border-radius:3px;padding:7px 0;overflow:hidden;display:flex;flex-direction:column;width:250px;max-height:300px}.dropdown-list{list-style:none;padding:0;margin:0;overflow:auto;overflow-x:hidden;z-index:9999}.search{border-bottom:1px solid #dee2e6;padding:8px 24px;display:flex;align-items:center;flex-shrink:0;height:44px}.search input{width:100%;border:none;outline:none;padding:0}.search input:focus{border:none;outline:none}.dropdown-button{font-weight:400;color:#504e4e;padding:8px 24px;background-color:#fff;cursor:pointer;font-size:1rem;display:flex;align-items:center;border:none;outline:none}.dropdown-button.focus{background-color:#f5f5f5}.dropdown-button-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.disabled{pointer-events:none;color:#959595;cursor:default}\n"] }]
175
+ }], propDecorators: { style: [{
176
+ type: Input
177
+ }], items: [{
178
+ type: Input
179
+ }], buttonText: [{
180
+ type: Input
181
+ }], searchText: [{
182
+ type: Input
183
+ }], noResultsText: [{
184
+ type: Input
185
+ }], disabled: [{
186
+ type: Input
187
+ }], width: [{
188
+ type: Input
189
+ }], itemSelected: [{
190
+ type: Output
191
+ }], buttons: [{
192
+ type: ViewChildren,
193
+ args: ['button']
194
+ }], clickInside: [{
195
+ type: HostListener,
196
+ args: ['click']
197
+ }], clickout: [{
198
+ type: HostListener,
199
+ args: ['document:click']
200
+ }] } });
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaGFibGUtZHJvcGRvd24vc2VhcmNoYWJsZS1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaGFibGUtZHJvcGRvd24vc2VhcmNoYWJsZS1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxFQUdOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxZQUFZLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFPbEQsTUFBTSxPQUFPLDJCQUEyQjtJQUx4QztRQVlXLFVBQUssR0FBRyxHQUFHLENBQUM7UUFFWCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFJM0IsYUFBUSxHQUFHLFFBQVEsQ0FBQztRQUU1QixlQUFVLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFakMsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBUyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFNUQsVUFBSyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRTVDLG1C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OzRHQUEzQiwyQkFBMkIsa2RDeEN4Qyx3OUVBeUVBOzJGRGpDYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsNkJBQTZCOzhCQUs5QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBRWlCLE9BQU87c0JBQTlCLFlBQVk7dUJBQUMsUUFBUTtnQkFxQnRCLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxPQUFPO2dCQU1yQixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtEcm9wZG93bkJ1dHRvblN0eWxlLCBEcm9wZG93bkl0ZW19IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1zZWFyY2hhYmxlLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaGFibGUtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2hhYmxlLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaGFibGVEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBzdHlsZTogRHJvcGRvd25CdXR0b25TdHlsZTtcbiAgQElucHV0KCkgaXRlbXM6IEFycmF5PERyb3Bkb3duSXRlbT47XG4gIEBJbnB1dCgpIGJ1dHRvblRleHQ6IHN0cmluZztcbiAgQElucHV0KCkgc2VhcmNoVGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBub1Jlc3VsdHNUZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSB3aWR0aCA9IDI1MDtcblxuICBAT3V0cHV0KCkgaXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGRyZW4oJ2J1dHRvbicpIGJ1dHRvbnM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICBwcml2YXRlIHJlYWRvbmx5IHNlYXJjaElkID0gJ3NlYXJjaCc7XG5cbiAgcmVhZG9ubHkgc2VhcmNoVGVybSA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG5cbiAgcmVhZG9ubHkgZm9jdXNlZEl0ZW1JZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odGhpcy5zZWFyY2hJZCk7XG5cbiAgcmVhZG9ubHkgb3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICByZWFkb25seSBmaWx0ZXJlZEl0ZW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8RHJvcGRvd25JdGVtPj4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIHdhc0luc2lkZSA9IGZhbHNlO1xuXG4gIHByaXZhdGUga2V5U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBzZWFyY2hTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIHJlYWRvbmx5IG1vdXNlT25MaXN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgY2xpY2tJbnNpZGUoKSB7XG4gICAgdGhpcy53YXNJbnNpZGUgPSB0cnVlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snKVxuICBjbGlja291dCgpIHtcbiAgICBpZiAoIXRoaXMud2FzSW5zaWRlKSB7XG4gICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICB9XG4gICAgdGhpcy53YXNJbnNpZGUgPSBmYWxzZTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlbktleXNTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm9wZW5TZWFyY2hTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtQ2hhbmdlcyA9IGNoYW5nZXMuaXRlbXM7XG4gICAgY29uc3QgY3VycmVuSXRlbXMgPSBpdGVtQ2hhbmdlcy5jdXJyZW50VmFsdWU7XG4gICAgaWYgKGl0ZW1DaGFuZ2VzICYmICFpdGVtQ2hhbmdlcy5wcmV2aW91c1ZhbHVlICYmIGN1cnJlbkl0ZW1zKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkSXRlbXMkLm5leHQoY3VycmVuSXRlbXMpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMua2V5U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zZWFyY2hTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG9wZW5Ecm9wZG93bigpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW4kLm5leHQodHJ1ZSk7XG4gIH1cblxuICBob3Zlck92ZXJCdXR0b24oaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNlZEl0ZW1JZCQubmV4dChpZCk7XG4gIH1cblxuICBtb3VzZUVudGVyTGlzdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1vdXNlT25MaXN0JC5uZXh0KHRydWUpO1xuICB9XG5cbiAgbW91c2VMZWF2ZUxpc3QoKTogdm9pZCB7XG4gICAgdGhpcy5tb3VzZU9uTGlzdCQubmV4dChmYWxzZSk7XG4gIH1cblxuICByZXNldEZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNlZEl0ZW1JZCQubmV4dCh0aGlzLnNlYXJjaElkKTtcbiAgfVxuXG4gIHN1Ym1pdChpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtU2VsZWN0ZWQuZW1pdChpZCk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hUZXJtLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLnJlc2V0Rm9jdXMoKTtcbiAgICB0aGlzLm9wZW4kLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuS2V5c1N1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmtleVN1YnNjcmlwdGlvbiA9IGZyb21FdmVudChkb2N1bWVudCwgJ2tleXVwJylcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MCkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLm1vdXNlT25MaXN0JCwgdGhpcy5maWx0ZXJlZEl0ZW1zJCwgdGhpcy5mb2N1c2VkSXRlbUlkJF0pXG4gICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKChbbW91c2VPbkxpc3QsIGl0ZW1zLCBmb2N1c2VkSWRdKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsZW5ndGggPSBpdGVtcy5sZW5ndGg7XG4gICAgICAgICAgICBjb25zdCBmb2N1c2VkSW5kZXggPSBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBmb2N1c2VkSWQpO1xuICAgICAgICAgICAgY29uc3QgY29kZSA9IGV2ZW50LmNvZGU7XG4gICAgICAgICAgICBjb25zdCBzaGlmdEtleSA9IGV2ZW50LnNoaWZ0S2V5O1xuICAgICAgICAgICAgY29uc3QgZG93biA9ICdBcnJvd0Rvd24nO1xuICAgICAgICAgICAgY29uc3QgdGFiID0gJ1RhYic7XG4gICAgICAgICAgICBjb25zdCB1cCA9ICdBcnJvd1VwJztcbiAgICAgICAgICAgIGNvbnN0IGVudGVyID0gJ0VudGVyJztcbiAgICAgICAgICAgIGNvbnN0IGVzY2FwZSA9ICdFc2NhcGUnO1xuXG4gICAgICAgICAgICAvLyBjbG9zZSBkcm9wZG93biBvbiBwcmVzc2luZyBlc2NhcGVcbiAgICAgICAgICAgIGlmIChjb2RlID09PSBlc2NhcGUpIHtcbiAgICAgICAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHN1Ym1pdCBpdGVtIHdoZW4gZm9jdXMgaXMgb24gYW4gaXRlbSBpbiB0aGUgbGlzdCBhbmQgZW50ZXIgaXMgcHJlc3NlZFxuICAgICAgICAgICAgaWYgKGNvZGUgPT09IGVudGVyICYmIGZvY3VzZWRJZCAhPT0gdGhpcy5zZWFyY2hJZCkge1xuICAgICAgICAgICAgICB0aGlzLnN1Ym1pdChmb2N1c2VkSWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBvbmx5IGhhbmRsZSB0YWIgb3IgYXJyb3cga2V5cHJlc3NlcyB3aGVuIGl0ZW1zIGFyZSBzaG93biBhbmQgdGhlIG1vdXNlIGlzIG5vdCBvbiB0aGUgbGlzdFxuICAgICAgICAgICAgaWYgKGxlbmd0aCA+IDAgJiYgIW1vdXNlT25MaXN0KSB7XG4gICAgICAgICAgICAgIC8vIGhhbmRsZSBtb3ZpbmcgZG93biBpbiB0aGUgbGlzdCB3aXRoIGFycm93IGRvd24gb3IgdGFiXG4gICAgICAgICAgICAgIGlmIChjb2RlID09PSBkb3duIHx8IChjb2RlID09PSB0YWIgJiYgIXNoaWZ0S2V5KSkge1xuICAgICAgICAgICAgICAgIC8vIG1vdmUgZm9jdXMgdG8gZmlyc3QgaXRlbSBpbiB0aGUgbGlzdCB3aGVuIGZvY3VzIGlzIG9uIHNlYXJjaCBib3hcbiAgICAgICAgICAgICAgICBpZiAoZm9jdXNlZElkID09PSB0aGlzLnNlYXJjaElkKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzZWRJdGVtSWQkLm5leHQoaXRlbXNbMF0uaWQpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxCdXR0b25JbnRvVmlldyhmb2N1c2VkSWQpO1xuICAgICAgICAgICAgICAgICAgLy8gbW92ZSBmb2N1cyB0byBuZXh0IGl0ZW0gaW4gdGhlIGxpc3QgaWYgZm9jdXMgaXMgbm90IG9uIGxhc3QgaXRlbVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZm9jdXNlZEluZGV4ICsgMSA8IGxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c2VkSXRlbUlkJC5uZXh0KGl0ZW1zW2ZvY3VzZWRJbmRleCArIDFdLmlkKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsQnV0dG9uSW50b1ZpZXcoZm9jdXNlZElkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gaGFuZGxlIG1vdmluZyB1cCBpbiB0aGUgbGlzdCB3aXRoIHVwIGFycm93IHVwIG9yIHNoaWZ0K3RhYlxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgIChjb2RlID09PSB1cCB8fCAoY29kZSA9PT0gdGFiICYmIHNoaWZ0S2V5KSkgJiZcbiAgICAgICAgICAgICAgICBmb2N1c2VkSWQgIT09IHRoaXMuc2VhcmNoSWRcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLy8gbW92ZSB0byBwcmV2aW91cyBpdGVtIGlmIGZvY3VzIGlzIG5vdCBvbiB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgbGlzdFxuICAgICAgICAgICAgICAgIGlmIChmb2N1c2VkSW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzZWRJdGVtSWQkLm5leHQoaXRlbXNbZm9jdXNlZEluZGV4IC0gMV0uaWQpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxCdXR0b25JbnRvVmlldyhmb2N1c2VkSWQpO1xuICAgICAgICAgICAgICAgICAgLy8gbW92ZSBmb2N1cyB0byBzZWFyY2ggYm94IGlmIGZvY3VzIGlzIG9uIGZpcnN0IGl0ZW0gaW4gdGhlIGxpc3RcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgdGhpcy5yZXNldEZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblNlYXJjaFN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFN1YnNjcmlwdGlvbiA9IHRoaXMuc2VhcmNoVGVybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHNlYXJjaFRlcm0gPT4ge1xuICAgICAgdGhpcy5mb2N1c2VkSXRlbUlkJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShmb2N1c2VkSXRlbUlkID0+IHtcbiAgICAgICAgaWYgKCFzZWFyY2hUZXJtKSB7XG4gICAgICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zJC5uZXh0KHRoaXMuaXRlbXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGZpbHRlcmVkSXRlbXMgPSB0aGlzLml0ZW1zLmZpbHRlcihpdGVtID0+XG4gICAgICAgICAgICBpdGVtLnRleHQudG9VcHBlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtLnRvVXBwZXJDYXNlKCkpXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyQubmV4dChmaWx0ZXJlZEl0ZW1zKTtcblxuICAgICAgICAgIC8vIG1vdmUgZm9jdXMgdG8gc2VhcmNoIGJveCBpZiBmaWx0ZXJlZCBsaXN0IGxlbmd0aCBpcyAwIG9yIHByZXZpb3VzbHkgZm9jdXNlZCBpdGVtIGlzIG5vdCBpbiBmaWx0ZXJlZCBsaXN0IGFueW1vcmVcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBmaWx0ZXJlZEl0ZW1zLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgICAgICAgIWZpbHRlcmVkSXRlbXMuc29tZShpdGVtID0+IGl0ZW0uaWQgPT09IGZvY3VzZWRJdGVtSWQpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0Rm9jdXMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBtb3ZlIHNjcm9sbGluZyBidXR0b24gaW50byB2aWV3IHRvIGVuZCBvZiBxdWV1ZSwgc28gdGhhdCBET00gY2FuIGJlIHVwZGF0ZWQgZmlyc3RcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zY3JvbGxCdXR0b25JbnRvVmlldyhmb2N1c2VkSXRlbUlkKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsQnV0dG9uSW50b1ZpZXcoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyZWRJdGVtcyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoaXRlbXMgPT4ge1xuICAgICAgY29uc3QgZm9jdXNJdGVtSW5kZXggPSBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBpZCk7XG4gICAgICBjb25zdCBmb2N1c2VkQnV0dG9uID0gdGhpcy5idXR0b25zLnRvQXJyYXkoKVtmb2N1c0l0ZW1JbmRleF07XG5cbiAgICAgIGlmIChmb2N1c2VkQnV0dG9uKSB7XG4gICAgICAgIGZvY3VzZWRCdXR0b24ubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ2NlbnRlcid9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImJ1dHRvblRleHQgJiYgaXRlbXNcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCIob3BlbiQgfCBhc3luYykgPyBvcGVuZWQgOiBjbG9zZWRcIj4gPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNjbG9zZWQ+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdHlsZSA9PT0gJ2J1dHRvbicgfHwgIXN0eWxlXCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIGRyb3Bkb3duLXNpemVcIlxuICAgICAgKGNsaWNrKT1cIm9wZW5Ecm9wZG93bigpXCJcbiAgICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiXG4gICAgPlxuICAgICAge3sgYnV0dG9uVGV4dCB9fVxuICAgIDwvYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0eWxlID09PSAndW5kZXJsaW5lZFRleHQnXCI+XG4gICAgPGg1IGNsYXNzPVwidW5kZXJsaW5lLWJ1dHRvblwiIChjbGljayk9XCJvcGVuRHJvcGRvd24oKVwiIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiPlxuICAgICAgPGI+XG4gICAgICAgIHt7IGJ1dHRvblRleHQgfX1cbiAgICAgIDwvYj5cbiAgICA8L2g1PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjb3BlbmVkPlxuICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tY29udGFpbmVyXCIgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCI+XG4gICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLXNpemUgc2VhcmNoXCIgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgI3NlYXJjaFxuICAgICAgICBbbmdDbGFzc109XCJ7ZGlzYWJsZWQ6IGRpc2FibGVkfVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaFRlcm1cIlxuICAgICAgLz5cbiAgICAgIHt7IHNlYXJjaC5mb2N1cygpIH19XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWxpc3RcIiAobW91c2VlbnRlcik9XCJtb3VzZUVudGVyTGlzdCgpXCIgKG1vdXNlbGVhdmUpPVwibW91c2VMZWF2ZUxpc3QoKVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlcmVkSXRlbXMkIHwgYXN5bmMgYXMgZmlsdGVyZWRJdGVtc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgIGZpbHRlcmVkSXRlbXMubGVuZ3RoID4gMCAmJiBmb2N1c2VkSXRlbUlkJCB8IGFzeW5jIGFzIGZvY3VzZWRJdGVtSWQ7XG4gICAgICAgICAgICBlbHNlIG5vUmVzdWx0c1xuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAjYnV0dG9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZEl0ZW1zXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntmb2N1czogZm9jdXNlZEl0ZW1JZCA9PT0gaXRlbS5pZCwgZGlzYWJsZWQ6IGRpc2FibGVkfVwiXG4gICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWJ1dHRvbiBkcm9wZG93bi1zaXplXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzdWJtaXQoaXRlbS5pZClcIlxuICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwiaG92ZXJPdmVyQnV0dG9uKGl0ZW0uaWQpXCJcbiAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cInJlc2V0Rm9jdXMoKVwiXG4gICAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwid2lkdGhcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcGRvd24tYnV0dG9uLXRleHRcIj5cbiAgICAgICAgICAgICAge3sgaXRlbS50ZXh0IH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNwYWNlXCI+IDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNub1Jlc3VsdHM+XG4gIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1idXR0b24gZHJvcGRvd24tc2l6ZSBkaXNhYmxlZFwiIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiPlxuICAgIDxzcGFuIGNsYXNzPVwiZHJvcGRvd24tYnV0dG9uLXRleHRcIj57eyBub1Jlc3VsdHNUZXh0IH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc3BhY2U+XG4gIDxkaXYgKm5nSWY9XCJzdHlsZSA9PT0gJ2J1dHRvbicgfHwgIXN0eWxlXCIgY2xhc3M9XCJkcm9wZG93bi1zaXplXCIgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCI+PC9kaXY+XG4gIDxoNSAqbmdJZj1cInN0eWxlID09PSAndW5kZXJsaW5lZFRleHQnXCIgY2xhc3M9XCJ1bmRlcmxpbmUtYnV0dG9uXCI+PGI+LTwvYj48L2g1PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,34 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { CommonModule } from '@angular/common';
17
+ import { NgModule } from '@angular/core';
18
+ import { ReactiveFormsModule } from '@angular/forms';
19
+ import { SearchableDropdownComponent } from './searchable-dropdown.component';
20
+ import * as i0 from "@angular/core";
21
+ export class SearchableDropdownModule {
22
+ }
23
+ SearchableDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SearchableDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
+ SearchableDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SearchableDropdownModule, declarations: [SearchableDropdownComponent], imports: [CommonModule, ReactiveFormsModule], exports: [SearchableDropdownComponent] });
25
+ SearchableDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SearchableDropdownModule, imports: [[CommonModule, ReactiveFormsModule]] });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SearchableDropdownModule, decorators: [{
27
+ type: NgModule,
28
+ args: [{
29
+ declarations: [SearchableDropdownComponent],
30
+ imports: [CommonModule, ReactiveFormsModule],
31
+ exports: [SearchableDropdownComponent],
32
+ }]
33
+ }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS1kcm9wZG93bi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaGFibGUtZHJvcGRvd24vc2VhcmNoYWJsZS1kcm9wZG93bi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFPNUUsTUFBTSxPQUFPLHdCQUF3Qjs7cUhBQXhCLHdCQUF3QjtzSEFBeEIsd0JBQXdCLGlCQUpwQiwyQkFBMkIsYUFDaEMsWUFBWSxFQUFFLG1CQUFtQixhQUNqQywyQkFBMkI7c0hBRTFCLHdCQUF3QixZQUgxQixDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQzsyRkFHakMsd0JBQXdCO2tCQUxwQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLDJCQUEyQixDQUFDO29CQUMzQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUM7b0JBQzVDLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDO2lCQUN2QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7U2VhcmNoYWJsZURyb3Bkb3duQ29tcG9uZW50fSBmcm9tICcuL3NlYXJjaGFibGUtZHJvcGRvd24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2VhcmNoYWJsZURyb3Bkb3duQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtTZWFyY2hhYmxlRHJvcGRvd25Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hhYmxlRHJvcGRvd25Nb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,65 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
17
+ import * as i0 from "@angular/core";
18
+ import * as i1 from "../searchable-dropdown/searchable-dropdown.component";
19
+ import * as i2 from "@angular/common";
20
+ export class SearchableDropdownSelectComponent {
21
+ constructor() {
22
+ this.width = 250;
23
+ this.itemSelected = new EventEmitter();
24
+ this.clearSelection = new EventEmitter();
25
+ }
26
+ onSelect(id) {
27
+ this.itemSelected.emit(id);
28
+ }
29
+ onClearSelection() {
30
+ this.clearSelection.emit();
31
+ }
32
+ }
33
+ SearchableDropdownSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SearchableDropdownSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
34
+ SearchableDropdownSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: SearchableDropdownSelectComponent, selector: "valtimo-searchable-dropdown-select", inputs: { style: "style", items: "items", buttonText: "buttonText", searchText: "searchText", noResultsText: "noResultsText", disabled: "disabled", selectedText: "selectedText", selectedTextValue: "selectedTextValue", clearSelectionButtonTitle: "clearSelectionButtonTitle", hasSelection: "hasSelection", width: "width" }, outputs: { itemSelected: "itemSelected", clearSelection: "clearSelection" }, ngImport: i0, template: "<valtimo-searchable-dropdown\n *ngIf=\"!hasSelection; else selection\"\n [style]=\"style\"\n [items]=\"items\"\n [buttonText]=\"buttonText\"\n [searchText]=\"searchText\"\n [noResultsText]=\"noResultsText\"\n [disabled]=\"disabled\"\n [width]=\"width\"\n (itemSelected)=\"onSelect($event)\"\n>\n</valtimo-searchable-dropdown>\n\n<ng-template #selection>\n <div\n class=\"d-flex flex-row align-items-center\"\n [style.height.px]=\"style === 'button' ? 34 : null\"\n >\n <h5 class=\"selected-text\">\n {{ selectedText }} <b>{{ selectedTextValue }}</b>\n </h5>\n <button\n type=\"button\"\n class=\"close p-0 m-0 ml-2 d-flex text-danger\"\n aria-label=\"Close\"\n (click)=\"onClearSelection()\"\n [title]=\"clearSelectionButtonTitle\"\n >\n <i class=\"clear-icon mdi mdi-close text-danger\"></i>\n </button>\n </div>\n</ng-template>\n", styles: [".selected-text{margin:0}.clear-icon{font-size:16px}\n"], components: [{ type: i1.SearchableDropdownComponent, selector: "valtimo-searchable-dropdown", inputs: ["style", "items", "buttonText", "searchText", "noResultsText", "disabled", "width"], outputs: ["itemSelected"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SearchableDropdownSelectComponent, decorators: [{
36
+ type: Component,
37
+ args: [{ selector: 'valtimo-searchable-dropdown-select', template: "<valtimo-searchable-dropdown\n *ngIf=\"!hasSelection; else selection\"\n [style]=\"style\"\n [items]=\"items\"\n [buttonText]=\"buttonText\"\n [searchText]=\"searchText\"\n [noResultsText]=\"noResultsText\"\n [disabled]=\"disabled\"\n [width]=\"width\"\n (itemSelected)=\"onSelect($event)\"\n>\n</valtimo-searchable-dropdown>\n\n<ng-template #selection>\n <div\n class=\"d-flex flex-row align-items-center\"\n [style.height.px]=\"style === 'button' ? 34 : null\"\n >\n <h5 class=\"selected-text\">\n {{ selectedText }} <b>{{ selectedTextValue }}</b>\n </h5>\n <button\n type=\"button\"\n class=\"close p-0 m-0 ml-2 d-flex text-danger\"\n aria-label=\"Close\"\n (click)=\"onClearSelection()\"\n [title]=\"clearSelectionButtonTitle\"\n >\n <i class=\"clear-icon mdi mdi-close text-danger\"></i>\n </button>\n </div>\n</ng-template>\n", styles: [".selected-text{margin:0}.clear-icon{font-size:16px}\n"] }]
38
+ }], propDecorators: { style: [{
39
+ type: Input
40
+ }], items: [{
41
+ type: Input
42
+ }], buttonText: [{
43
+ type: Input
44
+ }], searchText: [{
45
+ type: Input
46
+ }], noResultsText: [{
47
+ type: Input
48
+ }], disabled: [{
49
+ type: Input
50
+ }], selectedText: [{
51
+ type: Input
52
+ }], selectedTextValue: [{
53
+ type: Input
54
+ }], clearSelectionButtonTitle: [{
55
+ type: Input
56
+ }], hasSelection: [{
57
+ type: Input
58
+ }], width: [{
59
+ type: Input
60
+ }], itemSelected: [{
61
+ type: Output
62
+ }], clearSelection: [{
63
+ type: Output
64
+ }] } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS1kcm9wZG93bi1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hhYmxlLWRyb3Bkb3duLXNlbGVjdC9zZWFyY2hhYmxlLWRyb3Bkb3duLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaGFibGUtZHJvcGRvd24tc2VsZWN0L3NlYXJjaGFibGUtZHJvcGRvd24tc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQVFyRSxNQUFNLE9BQU8saUNBQWlDO0lBTDlDO1FBZ0JXLFVBQUssR0FBRyxHQUFHLENBQUM7UUFFWCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBUy9DO0lBUEMsUUFBUSxDQUFDLEVBQVU7UUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7OEhBdEJVLGlDQUFpQztrSEFBakMsaUNBQWlDLHlkQ3hCOUMscTRCQWdDQTsyRkRSYSxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0Usb0NBQW9DOzhCQUtyQyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEcm9wZG93bkJ1dHRvblN0eWxlLCBEcm9wZG93bkl0ZW19IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tc2VhcmNoYWJsZS1kcm9wZG93bi1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoYWJsZS1kcm9wZG93bi1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2hhYmxlLWRyb3Bkb3duLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hhYmxlRHJvcGRvd25TZWxlY3RDb21wb25lbnQge1xuICBASW5wdXQoKSBzdHlsZTogRHJvcGRvd25CdXR0b25TdHlsZTtcbiAgQElucHV0KCkgaXRlbXM6IEFycmF5PERyb3Bkb3duSXRlbT47XG4gIEBJbnB1dCgpIGJ1dHRvblRleHQ6IHN0cmluZztcbiAgQElucHV0KCkgc2VhcmNoVGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBub1Jlc3VsdHNUZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBzZWxlY3RlZFRleHQ6IHN0cmluZztcbiAgQElucHV0KCkgc2VsZWN0ZWRUZXh0VmFsdWU6IHN0cmluZztcbiAgQElucHV0KCkgY2xlYXJTZWxlY3Rpb25CdXR0b25UaXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBoYXNTZWxlY3Rpb246IGJvb2xlYW47XG4gIEBJbnB1dCgpIHdpZHRoID0gMjUwO1xuXG4gIEBPdXRwdXQoKSBpdGVtU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjbGVhclNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBvblNlbGVjdChpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtU2VsZWN0ZWQuZW1pdChpZCk7XG4gIH1cblxuICBvbkNsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24uZW1pdCgpO1xuICB9XG59XG4iLCI8dmFsdGltby1zZWFyY2hhYmxlLWRyb3Bkb3duXG4gICpuZ0lmPVwiIWhhc1NlbGVjdGlvbjsgZWxzZSBzZWxlY3Rpb25cIlxuICBbc3R5bGVdPVwic3R5bGVcIlxuICBbaXRlbXNdPVwiaXRlbXNcIlxuICBbYnV0dG9uVGV4dF09XCJidXR0b25UZXh0XCJcbiAgW3NlYXJjaFRleHRdPVwic2VhcmNoVGV4dFwiXG4gIFtub1Jlc3VsdHNUZXh0XT1cIm5vUmVzdWx0c1RleHRcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbd2lkdGhdPVwid2lkdGhcIlxuICAoaXRlbVNlbGVjdGVkKT1cIm9uU2VsZWN0KCRldmVudClcIlxuPlxuPC92YWx0aW1vLXNlYXJjaGFibGUtZHJvcGRvd24+XG5cbjxuZy10ZW1wbGF0ZSAjc2VsZWN0aW9uPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cInN0eWxlID09PSAnYnV0dG9uJyA/IDM0IDogbnVsbFwiXG4gID5cbiAgICA8aDUgY2xhc3M9XCJzZWxlY3RlZC10ZXh0XCI+XG4gICAgICB7eyBzZWxlY3RlZFRleHQgfX0gPGI+e3sgc2VsZWN0ZWRUZXh0VmFsdWUgfX08L2I+XG4gICAgPC9oNT5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiY2xvc2UgcC0wIG0tMCBtbC0yIGQtZmxleCB0ZXh0LWRhbmdlclwiXG4gICAgICBhcmlhLWxhYmVsPVwiQ2xvc2VcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2xlYXJTZWxlY3Rpb24oKVwiXG4gICAgICBbdGl0bGVdPVwiY2xlYXJTZWxlY3Rpb25CdXR0b25UaXRsZVwiXG4gICAgPlxuICAgICAgPGkgY2xhc3M9XCJjbGVhci1pY29uIG1kaSBtZGktY2xvc2UgdGV4dC1kYW5nZXJcIj48L2k+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { CommonModule } from '@angular/common';
17
+ import { NgModule } from '@angular/core';
18
+ import { ReactiveFormsModule } from '@angular/forms';
19
+ import { SearchableDropdownSelectComponent } from './searchable-dropdown-select.component';
20
+ import { SearchableDropdownModule } from '../searchable-dropdown/searchable-dropdown.module';
21
+ import * as i0 from "@angular/core";
22
+ export class SearchableDropdownSelectModule {
23
+ }
24
+ SearchableDropdownSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SearchableDropdownSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
25
+ SearchableDropdownSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SearchableDropdownSelectModule, declarations: [SearchableDropdownSelectComponent], imports: [CommonModule, ReactiveFormsModule, SearchableDropdownModule], exports: [SearchableDropdownSelectComponent] });
26
+ SearchableDropdownSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SearchableDropdownSelectModule, imports: [[CommonModule, ReactiveFormsModule, SearchableDropdownModule]] });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SearchableDropdownSelectModule, decorators: [{
28
+ type: NgModule,
29
+ args: [{
30
+ declarations: [SearchableDropdownSelectComponent],
31
+ imports: [CommonModule, ReactiveFormsModule, SearchableDropdownModule],
32
+ exports: [SearchableDropdownSelectComponent],
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS1kcm9wZG93bi1zZWxlY3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hhYmxlLWRyb3Bkb3duLXNlbGVjdC9zZWFyY2hhYmxlLWRyb3Bkb3duLXNlbGVjdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQzs7QUFPM0YsTUFBTSxPQUFPLDhCQUE4Qjs7MkhBQTlCLDhCQUE4Qjs0SEFBOUIsOEJBQThCLGlCQUoxQixpQ0FBaUMsYUFDdEMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLHdCQUF3QixhQUMzRCxpQ0FBaUM7NEhBRWhDLDhCQUE4QixZQUhoQyxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0IsQ0FBQzsyRkFHM0QsOEJBQThCO2tCQUwxQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGlDQUFpQyxDQUFDO29CQUNqRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsd0JBQXdCLENBQUM7b0JBQ3RFLE9BQU8sRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2lCQUM3QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7U2VhcmNoYWJsZURyb3Bkb3duU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuL3NlYXJjaGFibGUtZHJvcGRvd24tc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQge1NlYXJjaGFibGVEcm9wZG93bk1vZHVsZX0gZnJvbSAnLi4vc2VhcmNoYWJsZS1kcm9wZG93bi9zZWFyY2hhYmxlLWRyb3Bkb3duLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1NlYXJjaGFibGVEcm9wZG93blNlbGVjdENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFNlYXJjaGFibGVEcm9wZG93bk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtTZWFyY2hhYmxlRHJvcGRvd25TZWxlY3RDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hhYmxlRHJvcGRvd25TZWxlY3RNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,54 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component, Input } from '@angular/core';
17
+ import * as i0 from "@angular/core";
18
+ import * as i1 from "ngx-spinner";
19
+ import * as i2 from "@angular/common";
20
+ import * as i3 from "@ngx-translate/core";
21
+ export class SpinnerComponent {
22
+ constructor() {
23
+ this.useBootstrapSpinner = true;
24
+ this.type = 'ball-clip-rotate';
25
+ this.size = 'medium';
26
+ this.color = 'currentColor';
27
+ this.bdColor = 'rgba(0,0,0,0)';
28
+ this.fullScreen = false;
29
+ this.noMarginTop = false;
30
+ }
31
+ }
32
+ SpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
+ SpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: SpinnerComponent, selector: "valtimo-spinner", inputs: { useBootstrapSpinner: "useBootstrapSpinner", name: "name", type: "type", size: "size", color: "color", bdColor: "bdColor", fullScreen: "fullScreen", noMarginTop: "noMarginTop" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"useBootstrapSpinner; else ngxSpinner\">\n <div class=\"spinner-container\" [ngClass]=\"{'no-margin-top': noMarginTop}\">\n <div class=\"spinner-border text-primary\" role=\"status\">\n <span class=\"sr-only\">{{ 'interface.loading' | translate }}</span>\n </div>\n </div>\n</ng-container>\n\n<ng-template #ngxSpinner>\n <ngx-spinner\n [bdColor]=\"bdColor\"\n [fullScreen]=\"fullScreen\"\n [name]=\"name\"\n [color]=\"color\"\n [size]=\"size\"\n [type]=\"type\"\n >\n </ngx-spinner>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.spinner-container{display:flex;justify-content:center;width:100%;margin-top:30px}.spinner-container.no-margin-top{margin-top:0}\n"], components: [{ type: i1.NgxSpinnerComponent, selector: "ngx-spinner", inputs: ["bdColor", "zIndex", "color", "type", "size", "fullScreen", "name", "template"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i3.TranslatePipe } });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SpinnerComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'valtimo-spinner', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"useBootstrapSpinner; else ngxSpinner\">\n <div class=\"spinner-container\" [ngClass]=\"{'no-margin-top': noMarginTop}\">\n <div class=\"spinner-border text-primary\" role=\"status\">\n <span class=\"sr-only\">{{ 'interface.loading' | translate }}</span>\n </div>\n </div>\n</ng-container>\n\n<ng-template #ngxSpinner>\n <ngx-spinner\n [bdColor]=\"bdColor\"\n [fullScreen]=\"fullScreen\"\n [name]=\"name\"\n [color]=\"color\"\n [size]=\"size\"\n [type]=\"type\"\n >\n </ngx-spinner>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.spinner-container{display:flex;justify-content:center;width:100%;margin-top:30px}.spinner-container.no-margin-top{margin-top:0}\n"] }]
37
+ }], propDecorators: { useBootstrapSpinner: [{
38
+ type: Input
39
+ }], name: [{
40
+ type: Input
41
+ }], type: [{
42
+ type: Input
43
+ }], size: [{
44
+ type: Input
45
+ }], color: [{
46
+ type: Input
47
+ }], bdColor: [{
48
+ type: Input
49
+ }], fullScreen: [{
50
+ type: Input
51
+ }], noMarginTop: [{
52
+ type: Input
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7OztBQU8vQyxNQUFNLE9BQU8sZ0JBQWdCO0lBTDdCO1FBTVcsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBRTNCLFNBQUksR0FBRyxrQkFBa0IsQ0FBQztRQUMxQixTQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ2hCLFVBQUssR0FBRyxjQUFjLENBQUM7UUFDdkIsWUFBTyxHQUFHLGVBQWUsQ0FBQztRQUMxQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBQzlCOzs2R0FUWSxnQkFBZ0I7aUdBQWhCLGdCQUFnQixtUEN2QjdCLDZyQ0FtQ0E7MkZEWmEsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGlCQUFpQjs4QkFLbEIsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1zcGlubmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NwaW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zcGlubmVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNwaW5uZXJDb21wb25lbnQge1xuICBASW5wdXQoKSB1c2VCb290c3RyYXBTcGlubmVyID0gdHJ1ZTtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSB0eXBlID0gJ2JhbGwtY2xpcC1yb3RhdGUnO1xuICBASW5wdXQoKSBzaXplID0gJ21lZGl1bSc7XG4gIEBJbnB1dCgpIGNvbG9yID0gJ2N1cnJlbnRDb2xvcic7XG4gIEBJbnB1dCgpIGJkQ29sb3IgPSAncmdiYSgwLDAsMCwwKSc7XG4gIEBJbnB1dCgpIGZ1bGxTY3JlZW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbm9NYXJnaW5Ub3AgPSBmYWxzZTtcbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZUJvb3RzdHJhcFNwaW5uZXI7IGVsc2Ugbmd4U3Bpbm5lclwiPlxuICA8ZGl2IGNsYXNzPVwic3Bpbm5lci1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7J25vLW1hcmdpbi10b3AnOiBub01hcmdpblRvcH1cIj5cbiAgICA8ZGl2IGNsYXNzPVwic3Bpbm5lci1ib3JkZXIgdGV4dC1wcmltYXJ5XCIgcm9sZT1cInN0YXR1c1wiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+e3sgJ2ludGVyZmFjZS5sb2FkaW5nJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNuZ3hTcGlubmVyPlxuICA8bmd4LXNwaW5uZXJcbiAgICBbYmRDb2xvcl09XCJiZENvbG9yXCJcbiAgICBbZnVsbFNjcmVlbl09XCJmdWxsU2NyZWVuXCJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgIFtzaXplXT1cInNpemVcIlxuICAgIFt0eXBlXT1cInR5cGVcIlxuICA+XG4gIDwvbmd4LXNwaW5uZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { NgModule } from '@angular/core';
17
+ import { CommonModule } from '@angular/common';
18
+ import { SpinnerComponent } from './spinner.component';
19
+ import { NgxSpinnerModule } from 'ngx-spinner';
20
+ import { TranslateModule } from '@ngx-translate/core';
21
+ import * as i0 from "@angular/core";
22
+ export class SpinnerModule {
23
+ }
24
+ SpinnerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
25
+ SpinnerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SpinnerModule, declarations: [SpinnerComponent], imports: [CommonModule, NgxSpinnerModule, TranslateModule], exports: [SpinnerComponent] });
26
+ SpinnerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SpinnerModule, imports: [[CommonModule, NgxSpinnerModule, TranslateModule]] });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SpinnerModule, decorators: [{
28
+ type: NgModule,
29
+ args: [{
30
+ declarations: [SpinnerComponent],
31
+ exports: [SpinnerComponent],
32
+ imports: [CommonModule, NgxSpinnerModule, TranslateModule],
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NwaW5uZXIvc3Bpbm5lci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQU9wRCxNQUFNLE9BQU8sYUFBYTs7MEdBQWIsYUFBYTsyR0FBYixhQUFhLGlCQUpULGdCQUFnQixhQUVyQixZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxhQUQvQyxnQkFBZ0I7MkdBR2YsYUFBYSxZQUZmLENBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsQ0FBQzsyRkFFL0MsYUFBYTtrQkFMekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLENBQUM7aUJBQzNEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7U3Bpbm5lckNvbXBvbmVudH0gZnJvbSAnLi9zcGlubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge05neFNwaW5uZXJNb2R1bGV9IGZyb20gJ25neC1zcGlubmVyJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU3Bpbm5lckNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtTcGlubmVyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmd4U3Bpbm5lck1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU3Bpbm5lck1vZHVsZSB7fVxuIl19
@@ -0,0 +1,30 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component, Input } from '@angular/core';
17
+ import * as i0 from "@angular/core";
18
+ import * as i1 from "@angular/common";
19
+ import * as i2 from "@ngx-translate/core";
20
+ export class TimelineComponent {
21
+ }
22
+ TimelineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: TimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ TimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: TimelineComponent, selector: "valtimo-timeline", inputs: { items: "items" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div>\n <div id=\"no-results\" class=\"p-5\" *ngIf=\"items?.length === 0\">No result found</div>\n <div class=\"pb-5\" *ngIf=\"items?.length > 0\">\n <ul class=\"timeline mb-0 py-5\">\n <li class=\"timeline-item status-done\" *ngFor=\"let item of items\">\n <div class=\"timeline-date\">\n <span>{{ item.date }}</span>\n </div>\n <div class=\"timeline-content mt-1\">\n <div class=\"timeline-header p-0\">\n <span class=\"timeline-time\">{{ item.time }}</span>\n <span class=\"timeline-author\">{{ item.user }}</span>\n <br />\n <p class=\"timeline-activity\">{{ item.activity }}</p>\n <div class=\"timeline-summary\">\n <p\n [innerHTML]=\"item.summaryTranslationKey | translate: item.summaryTranslationParams\"\n ></p>\n </div>\n </div>\n </div>\n </li>\n </ul>\n </div>\n</div>\n", styles: [""], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i2.TranslatePipe } });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: TimelineComponent, decorators: [{
25
+ type: Component,
26
+ args: [{ selector: 'valtimo-timeline', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div>\n <div id=\"no-results\" class=\"p-5\" *ngIf=\"items?.length === 0\">No result found</div>\n <div class=\"pb-5\" *ngIf=\"items?.length > 0\">\n <ul class=\"timeline mb-0 py-5\">\n <li class=\"timeline-item status-done\" *ngFor=\"let item of items\">\n <div class=\"timeline-date\">\n <span>{{ item.date }}</span>\n </div>\n <div class=\"timeline-content mt-1\">\n <div class=\"timeline-header p-0\">\n <span class=\"timeline-time\">{{ item.time }}</span>\n <span class=\"timeline-author\">{{ item.user }}</span>\n <br />\n <p class=\"timeline-activity\">{{ item.activity }}</p>\n <div class=\"timeline-summary\">\n <p\n [innerHTML]=\"item.summaryTranslationKey | translate: item.summaryTranslationParams\"\n ></p>\n </div>\n </div>\n </div>\n </li>\n </ul>\n </div>\n</div>\n", styles: [""] }]
27
+ }], propDecorators: { items: [{
28
+ type: Input
29
+ }] } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90aW1lbGluZS90aW1lbGluZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RpbWVsaW5lL3RpbWVsaW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7QUFRL0MsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjtrR0FBakIsaUJBQWlCLG9GQ3hCOUIsb2xEQXlDQTsyRkRqQmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGtCQUFrQjs4QkFLbkIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VGltZWxpbmVJdGVtfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXRpbWVsaW5lJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbWVsaW5lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGltZWxpbmUuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUaW1lbGluZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGl0ZW1zOiBBcnJheTxUaW1lbGluZUl0ZW0+O1xufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2PlxuICA8ZGl2IGlkPVwibm8tcmVzdWx0c1wiIGNsYXNzPVwicC01XCIgKm5nSWY9XCJpdGVtcz8ubGVuZ3RoID09PSAwXCI+Tm8gcmVzdWx0IGZvdW5kPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJwYi01XCIgKm5nSWY9XCJpdGVtcz8ubGVuZ3RoID4gMFwiPlxuICAgIDx1bCBjbGFzcz1cInRpbWVsaW5lIG1iLTAgcHktNVwiPlxuICAgICAgPGxpIGNsYXNzPVwidGltZWxpbmUtaXRlbSBzdGF0dXMtZG9uZVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lbGluZS1kYXRlXCI+XG4gICAgICAgICAgPHNwYW4+e3sgaXRlbS5kYXRlIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRpbWVsaW5lLWNvbnRlbnQgbXQtMVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lbGluZS1oZWFkZXIgcC0wXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWVsaW5lLXRpbWVcIj57eyBpdGVtLnRpbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWVsaW5lLWF1dGhvclwiPnt7IGl0ZW0udXNlciB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJ0aW1lbGluZS1hY3Rpdml0eVwiPnt7IGl0ZW0uYWN0aXZpdHkgfX08L3A+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZWxpbmUtc3VtbWFyeVwiPlxuICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiaXRlbS5zdW1tYXJ5VHJhbnNsYXRpb25LZXkgfCB0cmFuc2xhdGU6IGl0ZW0uc3VtbWFyeVRyYW5zbGF0aW9uUGFyYW1zXCJcbiAgICAgICAgICAgICAgPjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==