geonetwork-ui 2.4.0-dev.6c8dcba0 → 2.4.0-dev.81e72b2e

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 (293) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/index.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.mjs +2 -0
  3. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +1 -1
  4. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.mjs +1 -1
  5. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +1 -1
  6. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +14 -5
  7. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +2 -1
  8. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +3 -1
  9. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +12 -4
  10. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +34 -14
  11. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  12. package/esm2022/libs/common/domain/src/lib/model/record/organization.model.mjs +1 -1
  13. package/esm2022/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.mjs +1 -1
  14. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  15. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  16. package/esm2022/libs/data-access/gn4/src/openapi/model/user.api.model.mjs +1 -1
  17. package/esm2022/libs/feature/catalog/src/index.mjs +2 -1
  18. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +1 -1
  19. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +6 -6
  20. package/esm2022/libs/feature/catalog/src/lib/organization-url.token.mjs +4 -0
  21. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +4 -4
  22. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +7 -4
  23. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +1 -1
  24. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
  25. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +6 -4
  26. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +2 -1
  27. package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +2 -2
  28. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +57 -0
  29. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +64 -50
  30. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +17 -35
  31. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -1
  32. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +4 -3
  33. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +8 -1
  34. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +12 -6
  35. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +7 -4
  36. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +3 -3
  37. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +8 -12
  38. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +2 -1
  39. package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
  40. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +9 -2
  41. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +8 -1
  42. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  43. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +7 -4
  44. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +3 -3
  45. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +49 -0
  46. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +3 -2
  47. package/esm2022/libs/feature/search/src/lib/state/selectors.mjs +4 -1
  48. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +5 -5
  49. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +5 -2
  50. package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +5 -8
  51. package/esm2022/libs/ui/elements/src/index.mjs +1 -2
  52. package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +5 -3
  53. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +5 -6
  54. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +24 -5
  55. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +3 -8
  56. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  57. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +59 -26
  58. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +28 -0
  59. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +11 -10
  60. package/esm2022/libs/ui/layout/src/index.mjs +2 -1
  61. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +71 -0
  62. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +1 -1
  63. package/esm2022/libs/ui/search/src/index.mjs +2 -1
  64. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +120 -0
  65. package/esm2022/libs/ui/widgets/src/index.mjs +1 -2
  66. package/esm2022/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.mjs +5 -3
  67. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +1 -6
  68. package/esm2022/translations/de.json +27 -3
  69. package/esm2022/translations/en.json +30 -3
  70. package/esm2022/translations/es.json +27 -3
  71. package/esm2022/translations/fr.json +31 -4
  72. package/esm2022/translations/it.json +27 -3
  73. package/esm2022/translations/nl.json +27 -3
  74. package/esm2022/translations/pt.json +27 -3
  75. package/fesm2022/geonetwork-ui.mjs +976 -599
  76. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  77. package/libs/api/metadata-converter/src/lib/gn4/types/index.d.ts +1 -0
  78. package/libs/api/metadata-converter/src/lib/gn4/types/index.d.ts.map +1 -1
  79. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +31 -0
  80. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -0
  81. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +3 -2
  82. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  83. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts +1 -1
  84. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts.map +1 -1
  85. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +3 -2
  86. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  87. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +1 -0
  88. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  89. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.d.ts.map +1 -1
  90. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
  91. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +3 -3
  92. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  93. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +8 -5
  94. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  95. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +4 -7
  96. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  97. package/libs/common/domain/src/lib/model/record/organization.model.d.ts +1 -0
  98. package/libs/common/domain/src/lib/model/record/organization.model.d.ts.map +1 -1
  99. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts +12 -5
  100. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts.map +1 -1
  101. package/libs/common/domain/src/lib/platform.service.interface.d.ts +3 -3
  102. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  103. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +3 -1
  104. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  105. package/libs/data-access/gn4/src/openapi/model/user.api.model.d.ts +1 -1
  106. package/libs/feature/catalog/src/index.d.ts +1 -0
  107. package/libs/feature/catalog/src/index.d.ts.map +1 -1
  108. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  109. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
  110. package/libs/feature/catalog/src/lib/organization-url.token.d.ts +3 -0
  111. package/libs/feature/catalog/src/lib/organization-url.token.d.ts.map +1 -0
  112. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +2 -1
  113. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +1 -1
  114. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +1 -0
  115. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  116. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +1 -1
  117. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  118. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +1 -0
  119. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  120. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +25 -0
  121. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -0
  122. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +6 -6
  123. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
  124. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +6 -10
  125. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  126. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -0
  127. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  128. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  129. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  130. package/libs/feature/editor/src/lib/services/editor.service.d.ts +1 -1
  131. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  132. package/libs/feature/record/src/lib/feature-record.module.d.ts +2 -1
  133. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  134. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  135. package/libs/feature/router/src/lib/default/constants.d.ts +1 -0
  136. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  137. package/libs/feature/router/src/lib/default/router.config.d.ts +1 -0
  138. package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
  139. package/libs/feature/router/src/lib/default/router.service.d.ts +1 -0
  140. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  141. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +1 -0
  142. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  143. package/libs/feature/search/src/index.d.ts +1 -1
  144. package/libs/feature/search/src/index.d.ts.map +1 -1
  145. package/libs/feature/search/src/lib/feature-search.module.d.ts +2 -1
  146. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  147. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  148. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +25 -0
  149. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -0
  150. package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -0
  151. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  152. package/libs/feature/search/src/lib/state/selectors.d.ts +1 -0
  153. package/libs/feature/search/src/lib/state/selectors.d.ts.map +1 -1
  154. package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts +2 -2
  155. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +2 -1
  156. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +1 -1
  157. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts +1 -2
  158. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts.map +1 -1
  159. package/libs/ui/elements/src/index.d.ts +0 -1
  160. package/libs/ui/elements/src/index.d.ts.map +1 -1
  161. package/libs/ui/elements/src/lib/error/error.component.d.ts +3 -1
  162. package/libs/ui/elements/src/lib/error/error.component.d.ts.map +1 -1
  163. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +5 -1
  164. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
  165. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +18 -19
  166. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  167. package/libs/ui/inputs/src/index.d.ts +1 -0
  168. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  169. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +7 -4
  170. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  171. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts +11 -0
  172. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -0
  173. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +35 -35
  174. package/libs/ui/layout/src/index.d.ts +1 -0
  175. package/libs/ui/layout/src/index.d.ts.map +1 -1
  176. package/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.d.ts +2 -2
  177. package/libs/ui/layout/src/lib/max-lines/max-lines.component.d.ts.map +1 -0
  178. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  179. package/libs/ui/search/src/index.d.ts +1 -0
  180. package/libs/ui/search/src/index.d.ts.map +1 -1
  181. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +30 -0
  182. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
  183. package/libs/ui/widgets/src/index.d.ts +0 -1
  184. package/libs/ui/widgets/src/index.d.ts.map +1 -1
  185. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts +1 -1
  186. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts.map +1 -1
  187. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +10 -11
  188. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
  189. package/package.json +1 -1
  190. package/src/libs/api/metadata-converter/src/lib/gn4/types/index.ts +1 -0
  191. package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +31 -0
  192. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +2 -2
  193. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.ts +1 -1
  194. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +2 -2
  195. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +21 -8
  196. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +1 -0
  197. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +3 -1
  198. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +25 -4
  199. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +70 -21
  200. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +4 -9
  201. package/src/libs/common/domain/src/lib/model/record/organization.model.ts +1 -0
  202. package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +13 -6
  203. package/src/libs/common/domain/src/lib/platform.service.interface.ts +3 -3
  204. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +4 -1
  205. package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +28 -0
  206. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +8 -0
  207. package/src/libs/data-access/datafeeder/src/openapi/model/datasetMetadata.api.model.ts +4 -0
  208. package/src/libs/data-access/datafeeder/src/openapi/model/datasetUploadStatus.api.model.ts +2 -0
  209. package/src/libs/data-access/gn4/src/openapi/model/user.api.model.ts +1 -1
  210. package/src/libs/feature/catalog/src/index.ts +1 -0
  211. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +0 -1
  212. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.html +1 -1
  213. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +2 -2
  214. package/src/libs/feature/catalog/src/lib/organization-url.token.ts +6 -0
  215. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +2 -1
  216. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +2 -0
  217. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +35 -29
  218. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +1 -0
  219. package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +1 -1
  220. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +19 -0
  221. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +77 -0
  222. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +95 -86
  223. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +7 -22
  224. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +16 -44
  225. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -1
  226. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +2 -1
  227. package/src/libs/feature/editor/src/lib/fields.config.ts +7 -0
  228. package/src/libs/feature/editor/src/lib/services/editor.service.ts +20 -6
  229. package/src/libs/feature/record/src/lib/feature-record.module.ts +3 -2
  230. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +42 -31
  231. package/src/libs/feature/router/src/lib/default/constants.ts +1 -0
  232. package/src/libs/feature/router/src/lib/default/router.config.ts +1 -0
  233. package/src/libs/feature/router/src/lib/default/router.service.ts +13 -1
  234. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +9 -1
  235. package/src/libs/feature/search/src/index.ts +1 -1
  236. package/src/libs/feature/search/src/lib/feature-search.module.ts +2 -1
  237. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +2 -2
  238. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +9 -0
  239. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +49 -0
  240. package/src/libs/feature/search/src/lib/state/search.facade.ts +5 -0
  241. package/src/libs/feature/search/src/lib/state/selectors.ts +7 -0
  242. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.html +8 -6
  243. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +2 -2
  244. package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +2 -0
  245. package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +11 -3
  246. package/src/libs/ui/dataviz/src/lib/figure/figure.component.ts +3 -7
  247. package/src/libs/ui/elements/src/index.ts +0 -1
  248. package/src/libs/ui/elements/src/lib/error/error.component.html +30 -6
  249. package/src/libs/ui/elements/src/lib/error/error.component.ts +2 -0
  250. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
  251. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +22 -1
  252. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +2 -5
  253. package/src/libs/ui/inputs/src/index.ts +1 -0
  254. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +0 -1
  255. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +23 -19
  256. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +79 -27
  257. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +18 -0
  258. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +27 -0
  259. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -3
  260. package/src/libs/ui/layout/src/index.ts +1 -0
  261. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.css +0 -0
  262. package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.ts +9 -5
  263. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -1
  264. package/src/libs/ui/search/src/index.ts +1 -0
  265. package/src/libs/ui/search/src/lib/results-table/results-table.component.css +0 -0
  266. package/src/libs/{feature → ui}/search/src/lib/results-table/results-table.component.html +8 -8
  267. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +138 -0
  268. package/src/libs/ui/widgets/src/index.ts +0 -1
  269. package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.ts +4 -0
  270. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +0 -3
  271. package/translations/de.json +27 -3
  272. package/translations/en.json +30 -3
  273. package/translations/es.json +27 -3
  274. package/translations/fr.json +31 -4
  275. package/translations/it.json +27 -3
  276. package/translations/nl.json +27 -3
  277. package/translations/pt.json +27 -3
  278. package/translations/sk.json +28 -4
  279. package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +0 -136
  280. package/esm2022/libs/ui/elements/src/lib/max-lines/max-lines.component.mjs +0 -69
  281. package/esm2022/libs/ui/widgets/src/lib/badge/badge.component.mjs +0 -18
  282. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +0 -36
  283. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +0 -1
  284. package/libs/ui/elements/src/lib/max-lines/max-lines.component.d.ts.map +0 -1
  285. package/libs/ui/widgets/src/lib/badge/badge.component.d.ts +0 -7
  286. package/libs/ui/widgets/src/lib/badge/badge.component.d.ts.map +0 -1
  287. package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +0 -172
  288. package/src/libs/ui/widgets/src/lib/badge/badge.component.html +0 -10
  289. package/src/libs/ui/widgets/src/lib/badge/badge.component.ts +0 -14
  290. /package/src/libs/feature/{search/src/lib/results-table/results-table.component.css → editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.css} +0 -0
  291. /package/src/libs/{ui/elements/src/lib/max-lines/max-lines.component.css → feature/search/src/lib/results-table/results-table-container.component.css} +0 -0
  292. /package/src/libs/ui/{widgets → inputs}/src/lib/badge/badge.component.css +0 -0
  293. /package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.html +0 -0
@@ -1,52 +1,77 @@
1
1
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
- import { UntypedFormControl } from '@angular/forms';
3
- import { MatAutocomplete, MatAutocompleteTrigger, } from '@angular/material/autocomplete';
4
- import { merge, of, ReplaySubject, Subscription } from 'rxjs';
5
- import { catchError, debounceTime, distinctUntilChanged, filter, finalize, first, map, switchMap, take, tap, } from 'rxjs/operators';
2
+ import { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';
3
+ import { MatAutocomplete, MatAutocompleteModule, MatAutocompleteTrigger, } from '@angular/material/autocomplete';
4
+ import { first, merge, of, ReplaySubject, Subscription } from 'rxjs';
5
+ import { catchError, debounceTime, distinctUntilChanged, filter, finalize, map, switchMap, take, tap, } from 'rxjs/operators';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { PopupAlertComponent } from '../../../../../../libs/ui/widgets/src';
8
+ import { CommonModule } from '@angular/common';
9
+ import { TranslateModule } from '@ngx-translate/core';
6
10
  import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "@ngx-translate/core";
9
- import * as i3 from "@angular/forms";
10
- import * as i4 from "@angular/material/autocomplete";
11
- import * as i5 from "@angular/material/core";
12
- import * as i6 from "@angular/material/icon";
13
- import * as i7 from "../../../../widgets/src/lib/popup-alert/popup-alert.component";
11
+ import * as i1 from "@angular/material/icon";
12
+ import * as i2 from "@angular/material/autocomplete";
13
+ import * as i3 from "@angular/material/core";
14
+ import * as i4 from "@angular/common";
15
+ import * as i5 from "@ngx-translate/core";
16
+ import * as i6 from "@angular/forms";
14
17
  export class AutocompleteComponent {
15
18
  constructor(cdRef) {
16
19
  this.cdRef = cdRef;
17
20
  this.clearOnSelection = false;
18
21
  this.autoFocus = false;
22
+ this.minCharacterCount = 3;
23
+ this.allowSubmit = true;
19
24
  this.itemSelected = new EventEmitter();
20
25
  this.inputSubmitted = new EventEmitter();
21
26
  this.inputCleared = new EventEmitter();
22
27
  this.control = new UntypedFormControl();
23
- this.subscription = new Subscription();
24
28
  this.cancelEnter = true;
25
29
  this.selectionSubject = new ReplaySubject(1);
26
30
  this.lastInputValue$ = new ReplaySubject(1);
27
31
  this.error = null;
28
- this.displayWithFn = (item) => item;
32
+ this.subscription = new Subscription();
33
+ this.displayWithFn = (item) => item.toString();
34
+ this.displayWithFnInternal = (item) => {
35
+ if (item === null || item === undefined)
36
+ return null;
37
+ return this.displayWithFn(item);
38
+ };
29
39
  }
30
40
  ngOnChanges(changes) {
31
41
  const { value } = changes;
32
42
  if (value) {
33
- const previousTextValue = this.displayWithFn(value.previousValue);
34
- const currentTextValue = this.displayWithFn(value.currentValue);
43
+ const previousTextValue = this.displayWithFnInternal(value.previousValue);
44
+ const currentTextValue = this.displayWithFnInternal(value.currentValue);
35
45
  if (previousTextValue !== currentTextValue) {
36
46
  this.updateInputValue(value.currentValue);
37
47
  }
38
48
  }
39
49
  }
40
50
  ngOnInit() {
41
- this.suggestions$ = merge(this.control.valueChanges.pipe(filter((value) => typeof value === 'string'), filter((value) => value.length > 2), debounceTime(400), distinctUntilChanged(), tap(() => (this.searching = true))), this.control.valueChanges.pipe(filter((value) => typeof value === 'object' && value.title), map((item) => item.title))).pipe(switchMap((value) => (value ? this.action(value) : of([]))), catchError((error) => {
51
+ const newValue$ = merge(of(''), this.inputCleared.pipe(map(() => '')), this.control.valueChanges.pipe(filter((value) => typeof value === 'string'), distinctUntilChanged(), debounceTime(400)));
52
+ const externalValueChange$ = this.control.valueChanges.pipe(filter((value) => typeof value === 'object' && value.title), map((item) => item.title));
53
+ // this observable emits arrays of suggestions loaded using the given action
54
+ const suggestionsFromAction = merge(newValue$.pipe(filter((value) => value.length >= this.minCharacterCount)), externalValueChange$).pipe(tap(() => {
55
+ this.searching = true;
56
+ this.error = null;
57
+ }), switchMap((value) => this.action(value)), catchError((error) => {
42
58
  this.error = error.message;
43
59
  return of([]);
44
60
  }), finalize(() => (this.searching = false)));
45
- this.subscription = this.control.valueChanges.subscribe((any) => {
61
+ this.suggestions$ = merge(suggestionsFromAction,
62
+ // if a new value is under the min char count, clear suggestions
63
+ newValue$.pipe(filter((value) => value.length < this.minCharacterCount), map(() => [])));
64
+ // close the panel whenever suggestions are cleared
65
+ this.subscription.add(this.suggestions$
66
+ .pipe(filter((suggestions) => suggestions.length === 0))
67
+ .subscribe(() => {
68
+ this.triggerRef?.closePanel();
69
+ }));
70
+ this.subscription.add(this.control.valueChanges.subscribe((any) => {
46
71
  if (any !== '') {
47
72
  this.cancelEnter = false;
48
73
  }
49
- });
74
+ }));
50
75
  this.control.valueChanges
51
76
  .pipe(filter((value) => typeof value === 'string'))
52
77
  .subscribe(this.lastInputValue$);
@@ -59,7 +84,7 @@ export class AutocompleteComponent {
59
84
  }
60
85
  }
61
86
  ngOnDestroy() {
62
- this.subscription.unsubscribe();
87
+ this.subscription?.unsubscribe();
63
88
  }
64
89
  updateInputValue(value) {
65
90
  if (value) {
@@ -76,17 +101,14 @@ export class AutocompleteComponent {
76
101
  .pipe(take(1))
77
102
  .subscribe((selection) => selection && selection.option.deselect());
78
103
  this.inputRef.nativeElement.focus();
79
- this.triggerRef.closePanel();
80
104
  }
81
105
  handleEnter(any) {
82
- if (!this.cancelEnter) {
106
+ if (!this.cancelEnter && this.allowSubmit) {
83
107
  this.inputSubmitted.emit(any);
84
- this.triggerRef.closePanel();
85
108
  }
86
109
  }
87
110
  handleClickSearch() {
88
111
  this.inputSubmitted.emit(this.inputRef.nativeElement.value);
89
- this.triggerRef.closePanel();
90
112
  }
91
113
  handleSelection(event) {
92
114
  this.cancelEnter = true;
@@ -98,11 +120,18 @@ export class AutocompleteComponent {
98
120
  }
99
121
  }
100
122
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AutocompleteComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
101
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: { placeholder: "placeholder", action: "action", value: "value", clearOnSelection: "clearOnSelection", autoFocus: "autoFocus", displayWithFn: "displayWithFn" }, outputs: { itemSelected: "itemSelected", inputSubmitted: "inputSubmitted", inputCleared: "inputCleared" }, viewQueries: [{ propertyName: "triggerRef", first: true, predicate: MatAutocompleteTrigger, descendants: true }, { propertyName: "autocomplete", first: true, predicate: MatAutocomplete, descendants: true }, { propertyName: "inputRef", first: true, predicate: ["searchInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"relative\">\n <input\n #searchInput\n type=\"text\"\n class=\"appearance-none focus:outline-white focus:outline-2 focus:outline-dotted focus:outline-offset-2 leading-tight rounded w-full text-black shadow-xl focus:shadow-[0_0_24px_0_rgba(21,40,184,0.09)]\"\n [placeholder]=\"placeholder\"\n [formControl]=\"control\"\n [matAutocomplete]=\"auto\"\n (keyup.enter)=\"handleEnter(searchInput.value)\"\n />\n <button\n type=\"button\"\n class=\"text-primary-lightest hover:text-primary hover:bg-gray-50 absolute transition-all duration-100 clear-btn inset-y-0\"\n *ngIf=\"searchInput.value\"\n aria-label=\"Clear\"\n (click)=\"clear()\"\n >\n <mat-icon class=\"material-symbols-outlined\">close</mat-icon>\n </button>\n <button\n type=\"button\"\n class=\"text-primary bg-white hover:text-primary-darkest hover:bg-gray-100 border-gray-300 hover:border-gray-500 absolute transition-all duration-100 search-btn rounded-r inset-y-0 right-0\"\n aria-label=\"Trigger search\"\n (click)=\"handleClickSearch()\"\n >\n <mat-icon class=\"material-symbols-outlined\">search</mat-icon>\n </button>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n class=\"absolute mt-2 w-full top-[100%] left-0\"\n icon=\"error_outline\"\n position=\"top\"\n type=\"warning\"\n >\n <span translate>search.autocomplete.error</span>\n {{ error }}\n </gn-ui-popup-alert>\n</div>\n<mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"handleSelection($event)\"\n [displayWith]=\"displayWithFn\"\n>\n <mat-option\n *ngFor=\"let suggestion of suggestions$ | async\"\n [value]=\"suggestion\"\n class=\"p-2 suggestion\"\n >\n {{ displayWithFn(suggestion) }}\n </mat-option>\n</mat-autocomplete>\n", styles: [":host{--input-height: 3.5em}.clear-btn{width:var(--input-height);right:var(--input-height);height:100%}.search-btn{width:var(--input-height);height:100%;border-left-width:.1em}mat-icon{width:100%;height:100%;padding:.65em;font-size:1.5em}input{height:var(--input-height);padding:1.05em;padding-right:calc(2 * var(--input-height))}input:placeholder-shown{text-overflow:ellipsis}.mat-mdc-option.suggestion.mat-mdc-option-active{background-color:var(--color-primary-lightest)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
123
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AutocompleteComponent, isStandalone: true, selector: "gn-ui-autocomplete", inputs: { placeholder: "placeholder", action: "action", value: "value", clearOnSelection: "clearOnSelection", autoFocus: "autoFocus", minCharacterCount: "minCharacterCount", allowSubmit: "allowSubmit", displayWithFn: "displayWithFn" }, outputs: { itemSelected: "itemSelected", inputSubmitted: "inputSubmitted", inputCleared: "inputCleared" }, viewQueries: [{ propertyName: "triggerRef", first: true, predicate: MatAutocompleteTrigger, descendants: true }, { propertyName: "autocomplete", first: true, predicate: MatAutocomplete, descendants: true }, { propertyName: "inputRef", first: true, predicate: ["searchInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"relative\">\n <input\n #searchInput\n type=\"text\"\n class=\"appearance-none focus:outline-white focus:outline-2 focus:outline-dotted focus:outline-offset-2 leading-tight rounded w-full text-black shadow-xl focus:shadow-[0_0_24px_0_rgba(21,40,184,0.09)]\"\n [placeholder]=\"placeholder\"\n [formControl]=\"control\"\n [matAutocomplete]=\"auto\"\n (keyup.enter)=\"handleEnter(searchInput.value)\"\n />\n <div class=\"flex flex-row absolute inset-y-0 right-0\">\n <button\n type=\"button\"\n class=\"text-primary-lightest hover:text-primary hover:bg-gray-50 transition-all duration-100 clear-btn\"\n *ngIf=\"searchInput.value\"\n aria-label=\"Clear\"\n (click)=\"clear()\"\n >\n <mat-icon class=\"material-symbols-outlined\">close</mat-icon>\n </button>\n <button\n type=\"button\"\n class=\"text-primary bg-white hover:text-primary-darkest hover:bg-gray-100 border-gray-300 hover:border-gray-500 transition-all duration-100 search-btn rounded-r\"\n aria-label=\"Trigger search\"\n *ngIf=\"allowSubmit\"\n data-test=\"autocomplete-submit-btn\"\n (click)=\"handleClickSearch()\"\n >\n <mat-icon class=\"material-symbols-outlined\">search</mat-icon>\n </button>\n </div>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n class=\"absolute mt-2 w-full top-[100%] left-0\"\n icon=\"error_outline\"\n position=\"top\"\n type=\"warning\"\n >\n <span translate>search.autocomplete.error</span>\n {{ error }}\n </gn-ui-popup-alert>\n</div>\n<mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"handleSelection($event)\"\n [displayWith]=\"displayWithFnInternal\"\n>\n <mat-option\n *ngFor=\"let suggestion of suggestions$ | async\"\n [value]=\"suggestion\"\n class=\"p-2 suggestion\"\n >\n {{ displayWithFnInternal(suggestion) }}\n </mat-option>\n</mat-autocomplete>\n", styles: [":host{--input-height: 3.5em}.clear-btn{width:var(--input-height);height:100%}.search-btn{width:var(--input-height);height:100%;border-left-width:.1em}mat-icon{width:100%;height:100%;padding:.65em;font-size:1.5em}input{height:var(--input-height);padding:1.05em;padding-right:calc(2 * var(--input-height))}input:placeholder-shown{text-overflow:ellipsis}.mat-mdc-option.suggestion.mat-mdc-option-active{background-color:var(--color-primary-lightest)}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
102
124
  }
103
125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AutocompleteComponent, decorators: [{
104
126
  type: Component,
105
- args: [{ selector: 'gn-ui-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative\">\n <input\n #searchInput\n type=\"text\"\n class=\"appearance-none focus:outline-white focus:outline-2 focus:outline-dotted focus:outline-offset-2 leading-tight rounded w-full text-black shadow-xl focus:shadow-[0_0_24px_0_rgba(21,40,184,0.09)]\"\n [placeholder]=\"placeholder\"\n [formControl]=\"control\"\n [matAutocomplete]=\"auto\"\n (keyup.enter)=\"handleEnter(searchInput.value)\"\n />\n <button\n type=\"button\"\n class=\"text-primary-lightest hover:text-primary hover:bg-gray-50 absolute transition-all duration-100 clear-btn inset-y-0\"\n *ngIf=\"searchInput.value\"\n aria-label=\"Clear\"\n (click)=\"clear()\"\n >\n <mat-icon class=\"material-symbols-outlined\">close</mat-icon>\n </button>\n <button\n type=\"button\"\n class=\"text-primary bg-white hover:text-primary-darkest hover:bg-gray-100 border-gray-300 hover:border-gray-500 absolute transition-all duration-100 search-btn rounded-r inset-y-0 right-0\"\n aria-label=\"Trigger search\"\n (click)=\"handleClickSearch()\"\n >\n <mat-icon class=\"material-symbols-outlined\">search</mat-icon>\n </button>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n class=\"absolute mt-2 w-full top-[100%] left-0\"\n icon=\"error_outline\"\n position=\"top\"\n type=\"warning\"\n >\n <span translate>search.autocomplete.error</span>\n {{ error }}\n </gn-ui-popup-alert>\n</div>\n<mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"handleSelection($event)\"\n [displayWith]=\"displayWithFn\"\n>\n <mat-option\n *ngFor=\"let suggestion of suggestions$ | async\"\n [value]=\"suggestion\"\n class=\"p-2 suggestion\"\n >\n {{ displayWithFn(suggestion) }}\n </mat-option>\n</mat-autocomplete>\n", styles: [":host{--input-height: 3.5em}.clear-btn{width:var(--input-height);right:var(--input-height);height:100%}.search-btn{width:var(--input-height);height:100%;border-left-width:.1em}mat-icon{width:100%;height:100%;padding:.65em;font-size:1.5em}input{height:var(--input-height);padding:1.05em;padding-right:calc(2 * var(--input-height))}input:placeholder-shown{text-overflow:ellipsis}.mat-mdc-option.suggestion.mat-mdc-option-active{background-color:var(--color-primary-lightest)}\n"] }]
127
+ args: [{ selector: 'gn-ui-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
128
+ MatIconModule,
129
+ PopupAlertComponent,
130
+ MatAutocompleteModule,
131
+ CommonModule,
132
+ TranslateModule,
133
+ ReactiveFormsModule,
134
+ ], template: "<div class=\"relative\">\n <input\n #searchInput\n type=\"text\"\n class=\"appearance-none focus:outline-white focus:outline-2 focus:outline-dotted focus:outline-offset-2 leading-tight rounded w-full text-black shadow-xl focus:shadow-[0_0_24px_0_rgba(21,40,184,0.09)]\"\n [placeholder]=\"placeholder\"\n [formControl]=\"control\"\n [matAutocomplete]=\"auto\"\n (keyup.enter)=\"handleEnter(searchInput.value)\"\n />\n <div class=\"flex flex-row absolute inset-y-0 right-0\">\n <button\n type=\"button\"\n class=\"text-primary-lightest hover:text-primary hover:bg-gray-50 transition-all duration-100 clear-btn\"\n *ngIf=\"searchInput.value\"\n aria-label=\"Clear\"\n (click)=\"clear()\"\n >\n <mat-icon class=\"material-symbols-outlined\">close</mat-icon>\n </button>\n <button\n type=\"button\"\n class=\"text-primary bg-white hover:text-primary-darkest hover:bg-gray-100 border-gray-300 hover:border-gray-500 transition-all duration-100 search-btn rounded-r\"\n aria-label=\"Trigger search\"\n *ngIf=\"allowSubmit\"\n data-test=\"autocomplete-submit-btn\"\n (click)=\"handleClickSearch()\"\n >\n <mat-icon class=\"material-symbols-outlined\">search</mat-icon>\n </button>\n </div>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n class=\"absolute mt-2 w-full top-[100%] left-0\"\n icon=\"error_outline\"\n position=\"top\"\n type=\"warning\"\n >\n <span translate>search.autocomplete.error</span>\n {{ error }}\n </gn-ui-popup-alert>\n</div>\n<mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"handleSelection($event)\"\n [displayWith]=\"displayWithFnInternal\"\n>\n <mat-option\n *ngFor=\"let suggestion of suggestions$ | async\"\n [value]=\"suggestion\"\n class=\"p-2 suggestion\"\n >\n {{ displayWithFnInternal(suggestion) }}\n </mat-option>\n</mat-autocomplete>\n", styles: [":host{--input-height: 3.5em}.clear-btn{width:var(--input-height);height:100%}.search-btn{width:var(--input-height);height:100%;border-left-width:.1em}mat-icon{width:100%;height:100%;padding:.65em;font-size:1.5em}input{height:var(--input-height);padding:1.05em;padding-right:calc(2 * var(--input-height))}input:placeholder-shown{text-overflow:ellipsis}.mat-mdc-option.suggestion.mat-mdc-option-active{background-color:var(--color-primary-lightest)}\n"] }]
106
135
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { placeholder: [{
107
136
  type: Input
108
137
  }], action: [{
@@ -113,6 +142,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
113
142
  type: Input
114
143
  }], autoFocus: [{
115
144
  type: Input
145
+ }], minCharacterCount: [{
146
+ type: Input
147
+ }], allowSubmit: [{
148
+ type: Input
116
149
  }], itemSelected: [{
117
150
  type: Output
118
151
  }], inputSubmitted: [{
@@ -131,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
131
164
  }], displayWithFn: [{
132
165
  type: Input
133
166
  }] } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDbkQsT0FBTyxFQUNMLGVBQWUsRUFFZixzQkFBc0IsR0FDdkIsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3pFLE9BQU8sRUFDTCxVQUFVLEVBQ1YsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxHQUFHLEVBQ0gsU0FBUyxFQUNULElBQUksRUFDSixHQUFHLEdBQ0osTUFBTSxnQkFBZ0IsQ0FBQTs7Ozs7Ozs7O0FBVXZCLE1BQU0sT0FBTyxxQkFBcUI7SUEwQmhDLFlBQW9CLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBcEJuQyxxQkFBZ0IsR0FBRyxLQUFLLENBQUE7UUFDeEIsY0FBUyxHQUFHLEtBQUssQ0FBQTtRQUNoQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFBO1FBQ25ELG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVB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QUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDNEIsVUFBVTtzQkFBNUMsU0FBUzt1QkFBQyxzQkFBc0I7Z0JBQ0wsWUFBWTtzQkFBdkMsU0FBUzt1QkFBQyxlQUFlO2dCQUNBLFFBQVE7c0JBQWpDLFNBQVM7dUJBQUMsYUFBYTtnQkFXZixhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQge1xuICBNYXRBdXRvY29tcGxldGUsXG4gIE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQsXG4gIE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSdcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcydcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGRlYm91bmNlVGltZSxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpbHRlcixcbiAgZmluYWxpemUsXG4gIGZpcnN0LFxuICBtYXAsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZSxcbiAgdGFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuZXhwb3J0IHR5cGUgQXV0b2NvbXBsZXRlSXRlbSA9IHVua25vd25cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktYXV0b2NvbXBsZXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzXG57XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmdcbiAgQElucHV0KCkgYWN0aW9uOiAodmFsdWU6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxBdXRvY29tcGxldGVJdGVtW10+XG4gIEBJbnB1dCgpIHZhbHVlPzogQXV0b2NvbXBsZXRlSXRlbVxuICBASW5wdXQoKSBjbGVhck9uU2VsZWN0aW9uID0gZmFsc2VcbiAgQElucHV0KCkgYXV0b0ZvY3VzID0gZmFsc2VcbiAgQE91dHB1dCgpIGl0ZW1TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8QXV0b2NvbXBsZXRlSXRlbT4oKVxuICBAT3V0cHV0KCkgaW5wdXRTdWJtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxuICBAT3V0cHV0KCkgaW5wdXRDbGVhcmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG4gIEBWaWV3Q2hpbGQoTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcikgdHJpZ2dlclJlZjogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlclxuICBAVmlld0NoaWxkKE1hdEF1dG9jb21wbGV0ZSkgYXV0b2NvbXBsZXRlOiBNYXRBdXRvY29tcGxldGVcbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKSBpbnB1dFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PlxuXG4gIHNlYXJjaGluZzogYm9vbGVhblxuICBzdWdnZXN0aW9ucyQ6IE9ic2VydmFibGU8QXV0b2NvbXBsZXRlSXRlbVtdPlxuICBjb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpXG4gIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKVxuICBjYW5jZWxFbnRlciA9IHRydWVcbiAgc2VsZWN0aW9uU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQ+KDEpXG4gIGxhc3RJbnB1dFZhbHVlJCA9IG5ldyBSZXBsYXlTdWJqZWN0PHN0cmluZz4oMSlcbiAgZXJyb3I6IHN0cmluZyB8IG51bGwgPSBudWxsXG5cbiAgQElucHV0KCkgZGlzcGxheVdpdGhGbjogKEF1dG9jb21wbGV0ZUl0ZW0pID0+IHN0cmluZyA9IChpdGVtKSA9PiBpdGVtXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSBjaGFuZ2VzXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBwcmV2aW91c1RleHRWYWx1ZSA9IHRoaXMuZGlzcGxheVdpdGhGbih2YWx1ZS5wcmV2aW91c1ZhbHVlKVxuICAgICAgY29uc3QgY3VycmVudFRleHRWYWx1ZSA9IHRoaXMuZGlzcGxheVdpdGhGbih2YWx1ZS5jdXJyZW50VmFsdWUpXG4gICAgICBpZiAocHJldmlvdXNUZXh0VmFsdWUgIT09IGN1cnJlbnRUZXh0VmFsdWUpIHtcbiAgICAgICAgdGhpcy51cGRhdGVJbnB1dFZhbHVlKHZhbHVlLmN1cnJlbnRWYWx1ZSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Z2dlc3Rpb25zJCA9IG1lcmdlKFxuICAgICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICBmaWx0ZXIoKHZhbHVlKSA9PiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSxcbiAgICAgICAgZmlsdGVyKCh2YWx1ZTogc3RyaW5nKSA9PiB2YWx1ZS5sZW5ndGggPiAyKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDQwMCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHRhcCgoKSA9PiAodGhpcy5zZWFyY2hpbmcgPSB0cnVlKSlcbiAgICAgICksXG4gICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgIGZpbHRlcigodmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUudGl0bGUpLFxuICAgICAgICBtYXAoKGl0ZW0pID0+IGl0ZW0udGl0bGUpXG4gICAgICApXG4gICAgKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT4gKHZhbHVlID8gdGhpcy5hY3Rpb24odmFsdWUpIDogb2YoW10pKSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5lcnJvciA9IGVycm9yLm1lc3NhZ2VcbiAgICAgICAgcmV0dXJuIG9mKFtdKVxuICAgICAgfSksXG4gICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5zZWFyY2hpbmcgPSBmYWxzZSkpXG4gICAgKVxuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoYW55KSA9PiB7XG4gICAgICBpZiAoYW55ICE9PSAnJykge1xuICAgICAgICB0aGlzLmNhbmNlbEVudGVyID0gZmFsc2VcbiAgICAgIH1cbiAgICB9KVxuICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKGZpbHRlcigodmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLmxhc3RJbnB1dFZhbHVlJClcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZS5vcHRpb25TZWxlY3RlZC5zdWJzY3JpYmUodGhpcy5zZWxlY3Rpb25TdWJqZWN0KVxuICAgIGlmICh0aGlzLmF1dG9Gb2N1cykge1xuICAgICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKClcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICB9XG5cbiAgdXBkYXRlSW5wdXRWYWx1ZSh2YWx1ZTogQXV0b2NvbXBsZXRlSXRlbSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHZhbHVlKVxuICAgIH1cbiAgICBpZiAodGhpcy5pbnB1dFJlZikge1xuICAgICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gKHZhbHVlIGFzIGFueSk/LnRpdGxlIHx8ICcnXG4gICAgfVxuICB9XG5cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gJydcbiAgICB0aGlzLmlucHV0Q2xlYXJlZC5lbWl0KClcbiAgICB0aGlzLnNlbGVjdGlvblN1YmplY3RcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChzZWxlY3Rpb24pID0+IHNlbGVjdGlvbiAmJiBzZWxlY3Rpb24ub3B0aW9uLmRlc2VsZWN0KCkpXG4gICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKClcbiAgICB0aGlzLnRyaWdnZXJSZWYuY2xvc2VQYW5lbCgpXG4gIH1cblxuICBoYW5kbGVFbnRlcihhbnk6IHN0cmluZykge1xuICAgIGlmICghdGhpcy5jYW5jZWxFbnRlcikge1xuICAgICAgdGhpcy5pbnB1dFN1Ym1pdHRlZC5lbWl0KGFueSlcbiAgICAgIHRoaXMudHJpZ2dlclJlZi5jbG9zZVBhbmVsKClcbiAgICB9XG4gIH1cblxuICBoYW5kbGVDbGlja1NlYXJjaCgpIHtcbiAgICB0aGlzLmlucHV0U3VibWl0dGVkLmVtaXQodGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKVxuICAgIHRoaXMudHJpZ2dlclJlZi5jbG9zZVBhbmVsKClcbiAgfVxuXG4gIGhhbmRsZVNlbGVjdGlvbihldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCkge1xuICAgIHRoaXMuY2FuY2VsRW50ZXIgPSB0cnVlXG4gICAgdGhpcy5pdGVtU2VsZWN0ZWQuZW1pdChldmVudC5vcHRpb24udmFsdWUpXG4gICAgaWYgKHRoaXMuY2xlYXJPblNlbGVjdGlvbikge1xuICAgICAgdGhpcy5sYXN0SW5wdXRWYWx1ZSQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKGFueSkgPT4ge1xuICAgICAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBhbnlcbiAgICAgIH0pXG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicmVsYXRpdmVcIj5cbiAgPGlucHV0XG4gICAgI3NlYXJjaElucHV0XG4gICAgdHlwZT1cInRleHRcIlxuICAgIGNsYXNzPVwiYXBwZWFyYW5jZS1ub25lIGZvY3VzOm91dGxpbmUtd2hpdGUgZm9jdXM6b3V0bGluZS0yIGZvY3VzOm91dGxpbmUtZG90dGVkIGZvY3VzOm91dGxpbmUtb2Zmc2V0LTIgbGVhZGluZy10aWdodCByb3VuZGVkIHctZnVsbCB0ZXh0LWJsYWNrIHNoYWRvdy14bCBmb2N1czpzaGFkb3ctWzBfMF8yNHB4XzBfcmdiYSgyMSw0MCwxODQsMC4wOSldXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgIChrZXl1cC5lbnRlcik9XCJoYW5kbGVFbnRlcihzZWFyY2hJbnB1dC52YWx1ZSlcIlxuICAvPlxuICA8YnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJ0ZXh0LXByaW1hcnktbGlnaHRlc3QgaG92ZXI6dGV4dC1wcmltYXJ5IGhvdmVyOmJnLWdyYXktNTAgYWJzb2x1dGUgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMTAwIGNsZWFyLWJ0biBpbnNldC15LTBcIlxuICAgICpuZ0lmPVwic2VhcmNoSW5wdXQudmFsdWVcIlxuICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXG4gICAgKGNsaWNrKT1cImNsZWFyKClcIlxuICA+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPmNsb3NlPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cInRleHQtcHJpbWFyeSBiZy13aGl0ZSBob3Zlcjp0ZXh0LXByaW1hcnktZGFya2VzdCBob3ZlcjpiZy1ncmF5LTEwMCBib3JkZXItZ3JheS0zMDAgaG92ZXI6Ym9yZGVyLWdyYXktNTAwIGFic29sdXRlIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTEwMCBzZWFyY2gtYnRuIHJvdW5kZWQtciBpbnNldC15LTAgcmlnaHQtMFwiXG4gICAgYXJpYS1sYWJlbD1cIlRyaWdnZXIgc2VhcmNoXCJcbiAgICAoY2xpY2spPVwiaGFuZGxlQ2xpY2tTZWFyY2goKVwiXG4gID5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+c2VhcmNoPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG4gIDxnbi11aS1wb3B1cC1hbGVydFxuICAgICpuZ0lmPVwiZXJyb3JcIlxuICAgIGNsYXNzPVwiYWJzb2x1dGUgbXQtMiB3LWZ1bGwgdG9wLVsxMDAlXSBsZWZ0LTBcIlxuICAgIGljb249XCJlcnJvcl9vdXRsaW5lXCJcbiAgICBwb3NpdGlvbj1cInRvcFwiXG4gICAgdHlwZT1cIndhcm5pbmdcIlxuICA+XG4gICAgPHNwYW4gdHJhbnNsYXRlPnNlYXJjaC5hdXRvY29tcGxldGUuZXJyb3I8L3NwYW4+XG4gICAge3sgZXJyb3IgfX1cbiAgPC9nbi11aS1wb3B1cC1hbGVydD5cbjwvZGl2PlxuPG1hdC1hdXRvY29tcGxldGVcbiAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICAob3B0aW9uU2VsZWN0ZWQpPVwiaGFuZGxlU2VsZWN0aW9uKCRldmVudClcIlxuICBbZGlzcGxheVdpdGhdPVwiZGlzcGxheVdpdGhGblwiXG4+XG4gIDxtYXQtb3B0aW9uXG4gICAgKm5nRm9yPVwibGV0IHN1Z2dlc3Rpb24gb2Ygc3VnZ2VzdGlvbnMkIHwgYXN5bmNcIlxuICAgIFt2YWx1ZV09XCJzdWdnZXN0aW9uXCJcbiAgICBjbGFzcz1cInAtMiBzdWdnZXN0aW9uXCJcbiAgPlxuICAgIHt7IGRpc3BsYXlXaXRoRm4oc3VnZ2VzdGlvbikgfX1cbiAgPC9tYXQtb3B0aW9uPlxuPC9tYXQtYXV0b2NvbXBsZXRlPlxuIl19
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDeEUsT0FBTyxFQUNMLGVBQWUsRUFDZixxQkFBcUIsRUFFckIsc0JBQXNCLEdBQ3ZCLE1BQU0sZ0NBQWdDLENBQUE7QUFDdkMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDaEYsT0FBTyxFQUNMLFVBQVUsRUFDVixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixRQUFRLEVBQ1IsR0FBRyxFQUNILFNBQVMsRUFDVCxJQUFJLEVBQ0osR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFBO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7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SSxhQUFhLG9MQUNiLG1CQUFtQixtR0FDbkIscUJBQXFCLGdjQUNyQixZQUFZLG9UQUNaLGVBQWUscUtBQ2YsbUJBQW1COzs0RkFHVixxQkFBcUI7a0JBZmpDLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixtQkFBbUI7cUJBQ3BCO3dHQUtRLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDNEIsVUFBVTtzQkFBNUMsU0FBUzt1QkFBQyxzQkFBc0I7Z0JBQ0wsWUFBWTtzQkFBdkMsU0FBUzt1QkFBQyxlQUFlO2dCQUNBLFFBQVE7c0JBQWpDLFNBQVM7dUJBQUMsYUFBYTtnQkFXZixhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQge1xuICBNYXRBdXRvY29tcGxldGUsXG4gIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCxcbiAgTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJ1xuaW1wb3J0IHsgZmlyc3QsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcydcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGRlYm91bmNlVGltZSxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpbHRlcixcbiAgZmluYWxpemUsXG4gIG1hcCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBQb3B1cEFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5cbmV4cG9ydCB0eXBlIEF1dG9jb21wbGV0ZUl0ZW0gPSB1bmtub3duXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWF1dG9jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdXRvY29tcGxldGUuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgUG9wdXBBbGVydENvbXBvbmVudCxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzXG57XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmdcbiAgQElucHV0KCkgYWN0aW9uOiAodmFsdWU6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxBdXRvY29tcGxldGVJdGVtW10+XG4gIEBJbnB1dCgpIHZhbHVlPzogQXV0b2NvbXBsZXRlSXRlbVxuICBASW5wdXQoKSBjbGVhck9uU2VsZWN0aW9uID0gZmFsc2VcbiAgQElucHV0KCkgYXV0b0ZvY3VzID0gZmFsc2VcbiAgQElucHV0KCkgbWluQ2hhcmFjdGVyQ291bnQ/ID0gM1xuICBASW5wdXQoKSBhbGxvd1N1Ym1pdCA9IHRydWVcbiAgQE91dHB1dCgpIGl0ZW1TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8QXV0b2NvbXBsZXRlSXRlbT4oKVxuICBAT3V0cHV0KCkgaW5wdXRTdWJtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxuICBAT3V0cHV0KCkgaW5wdXRDbGVhcmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG4gIEBWaWV3Q2hpbGQoTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcikgdHJpZ2dlclJlZjogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlclxuICBAVmlld0NoaWxkKE1hdEF1dG9jb21wbGV0ZSkgYXV0b2NvbXBsZXRlOiBNYXRBdXRvY29tcGxldGVcbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKSBpbnB1dFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PlxuXG4gIHNlYXJjaGluZzogYm9vbGVhblxuICBjb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpXG4gIGNhbmNlbEVudGVyID0gdHJ1ZVxuICBzZWxlY3Rpb25TdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8TWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudD4oMSlcbiAgbGFzdElucHV0VmFsdWUkID0gbmV3IFJlcGxheVN1YmplY3Q8c3RyaW5nPigxKVxuICBlcnJvcjogc3RyaW5nIHwgbnVsbCA9IG51bGxcbiAgc3VnZ2VzdGlvbnMkOiBPYnNlcnZhYmxlPEF1dG9jb21wbGV0ZUl0ZW1bXT5cbiAgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpXG5cbiAgQElucHV0KCkgZGlzcGxheVdpdGhGbjogKGl0ZW06IEF1dG9jb21wbGV0ZUl0ZW0pID0+IHN0cmluZyA9IChpdGVtKSA9PlxuICAgIGl0ZW0udG9TdHJpbmcoKVxuXG4gIGRpc3BsYXlXaXRoRm5JbnRlcm5hbCA9IChpdGVtPzogQXV0b2NvbXBsZXRlSXRlbSkgPT4ge1xuICAgIGlmIChpdGVtID09PSBudWxsIHx8IGl0ZW0gPT09IHVuZGVmaW5lZCkgcmV0dXJuIG51bGxcbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5V2l0aEZuKGl0ZW0pXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IHsgdmFsdWUgfSA9IGNoYW5nZXNcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IHByZXZpb3VzVGV4dFZhbHVlID0gdGhpcy5kaXNwbGF5V2l0aEZuSW50ZXJuYWwodmFsdWUucHJldmlvdXNWYWx1ZSlcbiAgICAgIGNvbnN0IGN1cnJlbnRUZXh0VmFsdWUgPSB0aGlzLmRpc3BsYXlXaXRoRm5JbnRlcm5hbCh2YWx1ZS5jdXJyZW50VmFsdWUpXG4gICAgICBpZiAocHJldmlvdXNUZXh0VmFsdWUgIT09IGN1cnJlbnRUZXh0VmFsdWUpIHtcbiAgICAgICAgdGhpcy51cGRhdGVJbnB1dFZhbHVlKHZhbHVlLmN1cnJlbnRWYWx1ZSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdWYWx1ZSQgPSBtZXJnZShcbiAgICAgIG9mKCcnKSxcbiAgICAgIHRoaXMuaW5wdXRDbGVhcmVkLnBpcGUobWFwKCgpID0+ICcnKSksXG4gICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgIGZpbHRlcigodmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoNDAwKVxuICAgICAgKVxuICAgIClcblxuICAgIGNvbnN0IGV4dGVybmFsVmFsdWVDaGFuZ2UkID0gdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgZmlsdGVyKCh2YWx1ZSkgPT4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZS50aXRsZSksXG4gICAgICBtYXAoKGl0ZW0pID0+IGl0ZW0udGl0bGUpXG4gICAgKVxuXG4gICAgLy8gdGhpcyBvYnNlcnZhYmxlIGVtaXRzIGFycmF5cyBvZiBzdWdnZXN0aW9ucyBsb2FkZWQgdXNpbmcgdGhlIGdpdmVuIGFjdGlvblxuICAgIGNvbnN0IHN1Z2dlc3Rpb25zRnJvbUFjdGlvbiA9IG1lcmdlKFxuICAgICAgbmV3VmFsdWUkLnBpcGUoXG4gICAgICAgIGZpbHRlcigodmFsdWU6IHN0cmluZykgPT4gdmFsdWUubGVuZ3RoID49IHRoaXMubWluQ2hhcmFjdGVyQ291bnQpXG4gICAgICApLFxuICAgICAgZXh0ZXJuYWxWYWx1ZUNoYW5nZSRcbiAgICApLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICB0aGlzLnNlYXJjaGluZyA9IHRydWVcbiAgICAgICAgdGhpcy5lcnJvciA9IG51bGxcbiAgICAgIH0pLFxuICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT4gdGhpcy5hY3Rpb24odmFsdWUpKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmVycm9yID0gZXJyb3IubWVzc2FnZVxuICAgICAgICByZXR1cm4gb2YoW10pXG4gICAgICB9KSxcbiAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLnNlYXJjaGluZyA9IGZhbHNlKSlcbiAgICApXG5cbiAgICB0aGlzLnN1Z2dlc3Rpb25zJCA9IG1lcmdlKFxuICAgICAgc3VnZ2VzdGlvbnNGcm9tQWN0aW9uLFxuICAgICAgLy8gaWYgYSBuZXcgdmFsdWUgaXMgdW5kZXIgdGhlIG1pbiBjaGFyIGNvdW50LCBjbGVhciBzdWdnZXN0aW9uc1xuICAgICAgbmV3VmFsdWUkLnBpcGUoXG4gICAgICAgIGZpbHRlcigodmFsdWU6IHN0cmluZykgPT4gdmFsdWUubGVuZ3RoIDwgdGhpcy5taW5DaGFyYWN0ZXJDb3VudCksXG4gICAgICAgIG1hcCgoKSA9PiBbXSlcbiAgICAgIClcbiAgICApXG5cbiAgICAvLyBjbG9zZSB0aGUgcGFuZWwgd2hlbmV2ZXIgc3VnZ2VzdGlvbnMgYXJlIGNsZWFyZWRcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLnN1Z2dlc3Rpb25zJFxuICAgICAgICAucGlwZShmaWx0ZXIoKHN1Z2dlc3Rpb25zKSA9PiBzdWdnZXN0aW9ucy5sZW5ndGggPT09IDApKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnRyaWdnZXJSZWY/LmNsb3NlUGFuZWwoKVxuICAgICAgICB9KVxuICAgIClcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChhbnkpID0+IHtcbiAgICAgICAgaWYgKGFueSAhPT0gJycpIHtcbiAgICAgICAgICB0aGlzLmNhbmNlbEVudGVyID0gZmFsc2VcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApXG5cbiAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShmaWx0ZXIoKHZhbHVlKSA9PiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSlcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5sYXN0SW5wdXRWYWx1ZSQpXG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hdXRvY29tcGxldGUub3B0aW9uU2VsZWN0ZWQuc3Vic2NyaWJlKHRoaXMuc2VsZWN0aW9uU3ViamVjdClcbiAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpXG4gIH1cblxuICB1cGRhdGVJbnB1dFZhbHVlKHZhbHVlOiBBdXRvY29tcGxldGVJdGVtKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUodmFsdWUpXG4gICAgfVxuICAgIGlmICh0aGlzLmlucHV0UmVmKSB7XG4gICAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAodmFsdWUgYXMgYW55KT8udGl0bGUgfHwgJydcbiAgICB9XG4gIH1cblxuICBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJ1xuICAgIHRoaXMuaW5wdXRDbGVhcmVkLmVtaXQoKVxuICAgIHRoaXMuc2VsZWN0aW9uU3ViamVjdFxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGlvbikgPT4gc2VsZWN0aW9uICYmIHNlbGVjdGlvbi5vcHRpb24uZGVzZWxlY3QoKSlcbiAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgaGFuZGxlRW50ZXIoYW55OiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuY2FuY2VsRW50ZXIgJiYgdGhpcy5hbGxvd1N1Ym1pdCkge1xuICAgICAgdGhpcy5pbnB1dFN1Ym1pdHRlZC5lbWl0KGFueSlcbiAgICB9XG4gIH1cblxuICBoYW5kbGVDbGlja1NlYXJjaCgpIHtcbiAgICB0aGlzLmlucHV0U3VibWl0dGVkLmVtaXQodGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKVxuICB9XG5cbiAgaGFuZGxlU2VsZWN0aW9uKGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KSB7XG4gICAgdGhpcy5jYW5jZWxFbnRlciA9IHRydWVcbiAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KGV2ZW50Lm9wdGlvbi52YWx1ZSlcbiAgICBpZiAodGhpcy5jbGVhck9uU2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLmxhc3RJbnB1dFZhbHVlJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoYW55KSA9PiB7XG4gICAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IGFueVxuICAgICAgfSlcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyZWxhdGl2ZVwiPlxuICA8aW5wdXRcbiAgICAjc2VhcmNoSW5wdXRcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgY2xhc3M9XCJhcHBlYXJhbmNlLW5vbmUgZm9jdXM6b3V0bGluZS13aGl0ZSBmb2N1czpvdXRsaW5lLTIgZm9jdXM6b3V0bGluZS1kb3R0ZWQgZm9jdXM6b3V0bGluZS1vZmZzZXQtMiBsZWFkaW5nLXRpZ2h0IHJvdW5kZWQgdy1mdWxsIHRleHQtYmxhY2sgc2hhZG93LXhsIGZvY3VzOnNoYWRvdy1bMF8wXzI0cHhfMF9yZ2JhKDIxLDQwLDE4NCwwLjA5KV1cIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgKGtleXVwLmVudGVyKT1cImhhbmRsZUVudGVyKHNlYXJjaElucHV0LnZhbHVlKVwiXG4gIC8+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFic29sdXRlIGluc2V0LXktMCByaWdodC0wXCI+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cInRleHQtcHJpbWFyeS1saWdodGVzdCBob3Zlcjp0ZXh0LXByaW1hcnkgaG92ZXI6YmctZ3JheS01MCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0xMDAgY2xlYXItYnRuXCJcbiAgICAgICpuZ0lmPVwic2VhcmNoSW5wdXQudmFsdWVcIlxuICAgICAgYXJpYS1sYWJlbD1cIkNsZWFyXCJcbiAgICAgIChjbGljayk9XCJjbGVhcigpXCJcbiAgICA+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgYmctd2hpdGUgaG92ZXI6dGV4dC1wcmltYXJ5LWRhcmtlc3QgaG92ZXI6YmctZ3JheS0xMDAgYm9yZGVyLWdyYXktMzAwIGhvdmVyOmJvcmRlci1ncmF5LTUwMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0xMDAgc2VhcmNoLWJ0biByb3VuZGVkLXJcIlxuICAgICAgYXJpYS1sYWJlbD1cIlRyaWdnZXIgc2VhcmNoXCJcbiAgICAgICpuZ0lmPVwiYWxsb3dTdWJtaXRcIlxuICAgICAgZGF0YS10ZXN0PVwiYXV0b2NvbXBsZXRlLXN1Ym1pdC1idG5cIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrU2VhcmNoKClcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5zZWFyY2g8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGduLXVpLXBvcHVwLWFsZXJ0XG4gICAgKm5nSWY9XCJlcnJvclwiXG4gICAgY2xhc3M9XCJhYnNvbHV0ZSBtdC0yIHctZnVsbCB0b3AtWzEwMCVdIGxlZnQtMFwiXG4gICAgaWNvbj1cImVycm9yX291dGxpbmVcIlxuICAgIHBvc2l0aW9uPVwidG9wXCJcbiAgICB0eXBlPVwid2FybmluZ1wiXG4gID5cbiAgICA8c3BhbiB0cmFuc2xhdGU+c2VhcmNoLmF1dG9jb21wbGV0ZS5lcnJvcjwvc3Bhbj5cbiAgICB7eyBlcnJvciB9fVxuICA8L2duLXVpLXBvcHVwLWFsZXJ0PlxuPC9kaXY+XG48bWF0LWF1dG9jb21wbGV0ZVxuICAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiXG4gIChvcHRpb25TZWxlY3RlZCk9XCJoYW5kbGVTZWxlY3Rpb24oJGV2ZW50KVwiXG4gIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5V2l0aEZuSW50ZXJuYWxcIlxuPlxuICA8bWF0LW9wdGlvblxuICAgICpuZ0Zvcj1cImxldCBzdWdnZXN0aW9uIG9mIHN1Z2dlc3Rpb25zJCB8IGFzeW5jXCJcbiAgICBbdmFsdWVdPVwic3VnZ2VzdGlvblwiXG4gICAgY2xhc3M9XCJwLTIgc3VnZ2VzdGlvblwiXG4gID5cbiAgICB7eyBkaXNwbGF5V2l0aEZuSW50ZXJuYWwoc3VnZ2VzdGlvbikgfX1cbiAgPC9tYXQtb3B0aW9uPlxuPC9tYXQtYXV0b2NvbXBsZXRlPlxuIl19
@@ -0,0 +1,28 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
3
+ import { ButtonComponent } from '../button/button.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class BadgeComponent {
7
+ constructor() {
8
+ this.clickable = false;
9
+ this.removable = false;
10
+ this.badgeRemoveClicked = new EventEmitter();
11
+ }
12
+ removeBadge() {
13
+ this.badgeRemoveClicked.emit();
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BadgeComponent, isStandalone: true, selector: "gn-ui-badge", inputs: { clickable: "clickable", removable: "removable" }, outputs: { badgeRemoveClicked: "badgeRemoveClicked" }, ngImport: i0, template: "<div\n class=\"gn-ui-badge flex items-center gap-1.5\"\n [ngClass]=\"\n clickable\n ? 'hover:bg-primary cursor-pointer transition-colors duration-100'\n : ''\n \"\n>\n <span><ng-content></ng-content></span>\n <gn-ui-button\n class=\"material-symbols-outlined cursor-pointer text-xs\"\n *ngIf=\"removable\"\n (buttonClick)=\"removeBadge()\"\n extraClass=\"p-1 bg-transparent border-0 border-transparent \"\n >\n close\n </gn-ui-button>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BadgeComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ selector: 'gn-ui-badge', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, ButtonComponent], template: "<div\n class=\"gn-ui-badge flex items-center gap-1.5\"\n [ngClass]=\"\n clickable\n ? 'hover:bg-primary cursor-pointer transition-colors duration-100'\n : ''\n \"\n>\n <span><ng-content></ng-content></span>\n <gn-ui-button\n class=\"material-symbols-outlined cursor-pointer text-xs\"\n *ngIf=\"removable\"\n (buttonClick)=\"removeBadge()\"\n extraClass=\"p-1 bg-transparent border-0 border-transparent \"\n >\n close\n </gn-ui-button>\n</div>\n" }]
21
+ }], propDecorators: { clickable: [{
22
+ type: Input
23
+ }], removable: [{
24
+ type: Input
25
+ }], badgeRemoveClicked: [{
26
+ type: Output
27
+ }] } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9iYWRnZS9iYWRnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2JhZGdlL2JhZGdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7OztBQVU1RCxNQUFNLE9BQU8sY0FBYztJQVIzQjtRQVNXLGNBQVMsR0FBSSxLQUFLLENBQUE7UUFDbEIsY0FBUyxHQUFJLEtBQUssQ0FBQTtRQUNqQix1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFBO0tBS3hEO0lBSEMsV0FBVztRQUNULElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNoQyxDQUFDOytHQVBVLGNBQWM7bUdBQWQsY0FBYywwTENsQjNCLGllQWtCQSx5RERGWSxZQUFZLGlPQUFFLGVBQWU7OzRGQUU1QixjQUFjO2tCQVIxQixTQUFTOytCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDOzhCQUcvQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWJhZGdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JhZGdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmFkZ2UuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQnV0dG9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQmFkZ2VDb21wb25lbnQge1xuICBASW5wdXQoKSBjbGlja2FibGU/ID0gZmFsc2VcbiAgQElucHV0KCkgcmVtb3ZhYmxlPyA9IGZhbHNlXG4gIEBPdXRwdXQoKSBiYWRnZVJlbW92ZUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcblxuICByZW1vdmVCYWRnZSgpIHtcbiAgICB0aGlzLmJhZGdlUmVtb3ZlQ2xpY2tlZC5lbWl0KClcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImduLXVpLWJhZGdlIGZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjVcIlxuICBbbmdDbGFzc109XCJcbiAgICBjbGlja2FibGVcbiAgICAgID8gJ2hvdmVyOmJnLXByaW1hcnkgY3Vyc29yLXBvaW50ZXIgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMTAwJ1xuICAgICAgOiAnJ1xuICBcIlxuPlxuICA8c3Bhbj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuICA8Z24tdWktYnV0dG9uXG4gICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGN1cnNvci1wb2ludGVyIHRleHQteHNcIlxuICAgICpuZ0lmPVwicmVtb3ZhYmxlXCJcbiAgICAoYnV0dG9uQ2xpY2spPVwicmVtb3ZlQmFkZ2UoKVwiXG4gICAgZXh0cmFDbGFzcz1cInAtMSBiZy10cmFuc3BhcmVudCBib3JkZXItMCBib3JkZXItdHJhbnNwYXJlbnQgXCJcbiAgPlxuICAgIGNsb3NlXG4gIDwvZ24tdWktYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -4,8 +4,8 @@ import { UtilSharedModule } from '../../../../../libs/util/shared/src';
4
4
  import { TranslateModule } from '@ngx-translate/core';
5
5
  import { TagInputModule } from 'ngx-chips';
6
6
  import { NgxDropzoneModule } from 'ngx-dropzone';
7
- import { AutocompleteComponent } from './autocomplete/autocomplete.component';
8
7
  import { ButtonComponent } from './button/button.component';
8
+ import { BadgeComponent } from './badge/badge.component';
9
9
  import { ChipsInputComponent } from './chips-input/chips-input.component';
10
10
  import { DragAndDropFileInputComponent } from './drag-and-drop-file-input/drag-and-drop-file-input.component';
11
11
  import { DropdownSelectorComponent } from './dropdown-selector/dropdown-selector.component';
@@ -37,8 +37,7 @@ import * as i0 from "@angular/core";
37
37
  import * as i1 from "@ngx-translate/core";
38
38
  export class UiInputsModule {
39
39
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UiInputsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
40
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: UiInputsModule, declarations: [AutocompleteComponent,
41
- TextInputComponent,
40
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: UiInputsModule, declarations: [TextInputComponent,
42
41
  DragAndDropFileInputComponent,
43
42
  ChipsInputComponent,
44
43
  NavigationButtonComponent,
@@ -68,8 +67,8 @@ export class UiInputsModule {
68
67
  ImageInputComponent,
69
68
  DropdownSelectorComponent,
70
69
  DateRangePickerComponent,
71
- CheckToggleComponent], exports: [DropdownSelectorComponent,
72
- AutocompleteComponent,
70
+ CheckToggleComponent,
71
+ BadgeComponent], exports: [DropdownSelectorComponent,
73
72
  ButtonComponent,
74
73
  TextInputComponent,
75
74
  DragAndDropFileInputComponent,
@@ -85,7 +84,8 @@ export class UiInputsModule {
85
84
  SearchInputComponent,
86
85
  DateRangePickerComponent,
87
86
  EditableLabelDirective,
88
- ImageInputComponent] }); }
87
+ ImageInputComponent,
88
+ BadgeComponent] }); }
89
89
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UiInputsModule, imports: [CommonModule,
90
90
  TranslateModule.forChild(),
91
91
  NgxDropzoneModule,
@@ -106,13 +106,13 @@ export class UiInputsModule {
106
106
  ImageInputComponent,
107
107
  DropdownSelectorComponent,
108
108
  DateRangePickerComponent,
109
- CheckToggleComponent] }); }
109
+ CheckToggleComponent,
110
+ BadgeComponent] }); }
110
111
  }
111
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UiInputsModule, decorators: [{
112
113
  type: NgModule,
113
114
  args: [{
114
115
  declarations: [
115
- AutocompleteComponent,
116
116
  TextInputComponent,
117
117
  DragAndDropFileInputComponent,
118
118
  ChipsInputComponent,
@@ -149,10 +149,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
149
149
  DropdownSelectorComponent,
150
150
  DateRangePickerComponent,
151
151
  CheckToggleComponent,
152
+ BadgeComponent,
152
153
  ],
153
154
  exports: [
154
155
  DropdownSelectorComponent,
155
- AutocompleteComponent,
156
156
  ButtonComponent,
157
157
  TextInputComponent,
158
158
  DragAndDropFileInputComponent,
@@ -169,7 +169,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
169
169
  DateRangePickerComponent,
170
170
  EditableLabelDirective,
171
171
  ImageInputComponent,
172
+ BadgeComponent,
172
173
  ],
173
174
  }]
174
175
  }] });
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktaW5wdXRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvdWktaW5wdXRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3pFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLCtEQUErRCxDQUFBO0FBQzdHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFBO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQTtBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUs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WCxjQUFjO2tCQTdEMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1oscUJBQXFCO3dCQUNyQixrQkFBa0I7d0JBQ2xCLDZCQUE2Qjt3QkFDN0IsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLG1CQUFtQjt3QkFDbkIsNEJBQTRCO3dCQUM1Qiw0QkFBNEI7d0JBQzVCLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3dCQUNqQixvQkFBb0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWUsQ0FBQyxRQUFRLEVBQUU7d0JBQzFCLGlCQUFpQjt3QkFDakIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHlCQUF5Qjt3QkFDekIscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsNkJBQTZCO3dCQUM3QixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIseUJBQXlCO3dCQUN6QixtQkFBbUI7d0JBQ25CLDRCQUE0Qjt3QkFDNUIsNEJBQTRCO3dCQUM1QixvQkFBb0I7d0JBQ3BCLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0QixtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IFV0aWxTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBUYWdJbnB1dE1vZHVsZSB9IGZyb20gJ25neC1jaGlwcydcbmltcG9ydCB7IE5neERyb3B6b25lTW9kdWxlIH0gZnJvbSAnbmd4LWRyb3B6b25lJ1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCdcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnXG5pbXBvcnQgeyBDaGlwc0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jaGlwcy1pbnB1dC9jaGlwcy1pbnB1dC5jb21wb25lbnQnXG5pbXBvcnQgeyBEcmFnQW5kRHJvcEZpbGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHJhZy1hbmQtZHJvcC1maWxlLWlucHV0L2RyYWctYW5kLWRyb3AtZmlsZS1pbnB1dC5jb21wb25lbnQnXG5pbXBvcnQgeyBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1zZWxlY3Rvci9kcm9wZG93bi1zZWxlY3Rvci5jb21wb25lbnQnXG5pbXBvcnQgeyBUZXh0QXJlYUNvbXBvbmVudCB9IGZyb20gJy4vdGV4dC1hcmVhL3RleHQtYXJlYS5jb21wb25lbnQnXG5pbXBvcnQgeyBUZXh0SW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQnXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE5hdmlnYXRpb25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL25hdmlnYXRpb24tYnV0dG9uL25hdmlnYXRpb24tYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7IFN0YXJUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL3N0YXItdG9nZ2xlL3N0YXItdG9nZ2xlLmNvbXBvbmVudCdcbmltcG9ydCB7IERyb3Bkb3duTXVsdGlzZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLW11bHRpc2VsZWN0L2Ryb3Bkb3duLW11bHRpc2VsZWN0LmNvbXBvbmVudCdcbmltcG9ydCB7IFVpV2lkZ2V0c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvd2lkZ2V0cy9zcmMnXG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94J1xuaW1wb3J0IHsgVmlld3BvcnRJbnRlcnNlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vdmlld3BvcnQtaW50ZXJzZWN0b3Ivdmlld3BvcnQtaW50ZXJzZWN0b3IuY29tcG9uZW50J1xuaW1wb3J0IHsgQ2hlY2tUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrLXRvZ2dsZS9jaGVjay10b2dnbGUuY29tcG9uZW50J1xuaW1wb3J0IHsgQ29weVRleHRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvcHktdGV4dC1idXR0b24vY29weS10ZXh0LWJ1dHRvbi5jb21wb25lbnQnXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnXG5pbXBvcnQgeyBTZWFyY2hJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudCdcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0J1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInXG5pbXBvcnQgeyBNYXROYXRpdmVEYXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSdcbmltcG9ydCB7IEVkaXRhYmxlTGFiZWxEaXJlY3RpdmUgfSBmcm9tICcuL2VkaXRhYmxlLWxhYmVsL2VkaXRhYmxlLWxhYmVsLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEltYWdlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2ltYWdlLWlucHV0L2ltYWdlLWlucHV0LmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBEcmFnQW5kRHJvcEZpbGVJbnB1dENvbXBvbmVudCxcbiAgICBDaGlwc0lucHV0Q29tcG9uZW50LFxuICAgIE5hdmlnYXRpb25CdXR0b25Db21wb25lbnQsXG4gICAgU3RhclRvZ2dsZUNvbXBvbmVudCxcbiAgICBEcm9wZG93bk11bHRpc2VsZWN0Q29tcG9uZW50LFxuICAgIFZpZXdwb3J0SW50ZXJzZWN0b3JDb21wb25lbnQsXG4gICAgQ29weVRleHRCdXR0b25Db21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgU2VhcmNoSW5wdXRDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCksXG4gICAgTmd4RHJvcHpvbmVNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBUYWdJbnB1dE1vZHVsZSxcbiAgICBVdGlsU2hhcmVkTW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIFVpV2lkZ2V0c01vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBFZGl0YWJsZUxhYmVsRGlyZWN0aXZlLFxuICAgIFRleHRBcmVhQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBJbWFnZUlucHV0Q29tcG9uZW50LFxuICAgIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gICAgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50LFxuICAgIENoZWNrVG9nZ2xlQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudCxcbiAgICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBEcmFnQW5kRHJvcEZpbGVJbnB1dENvbXBvbmVudCxcbiAgICBUZXh0QXJlYUNvbXBvbmVudCxcbiAgICBDaGlwc0lucHV0Q29tcG9uZW50LFxuICAgIE5hdmlnYXRpb25CdXR0b25Db21wb25lbnQsXG4gICAgU3RhclRvZ2dsZUNvbXBvbmVudCxcbiAgICBEcm9wZG93bk11bHRpc2VsZWN0Q29tcG9uZW50LFxuICAgIFZpZXdwb3J0SW50ZXJzZWN0b3JDb21wb25lbnQsXG4gICAgQ2hlY2tUb2dnbGVDb21wb25lbnQsXG4gICAgQ29weVRleHRCdXR0b25Db21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgU2VhcmNoSW5wdXRDb21wb25lbnQsXG4gICAgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50LFxuICAgIEVkaXRhYmxlTGFiZWxEaXJlY3RpdmUsXG4gICAgSW1hZ2VJbnB1dENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVWlJbnB1dHNNb2R1bGUge31cbiJdfQ==
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktaW5wdXRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvdWktaW5wdXRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQTtBQUM3RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQTtBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saURBQWlELENBQUE7QUFDM0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1B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RkF1QkwsY0FBYztrQkE3RDFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIsNkJBQTZCO3dCQUM3QixtQkFBbUI7d0JBQ25CLHlCQUF5Qjt3QkFDekIsbUJBQW1CO3dCQUNuQiw0QkFBNEI7d0JBQzVCLDRCQUE0Qjt3QkFDNUIsdUJBQXVCO3dCQUN2QixpQkFBaUI7d0JBQ2pCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZSxDQUFDLFFBQVEsRUFBRTt3QkFDMUIsaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0QixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDUCx5QkFBeUI7d0JBQ3pCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQiw2QkFBNkI7d0JBQzdCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLG1CQUFtQjt3QkFDbkIsNEJBQTRCO3dCQUM1Qiw0QkFBNEI7d0JBQzVCLG9CQUFvQjt3QkFDcEIsdUJBQXVCO3dCQUN2QixpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4QixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsY0FBYztxQkFDZjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBVdGlsU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgVGFnSW5wdXRNb2R1bGUgfSBmcm9tICduZ3gtY2hpcHMnXG5pbXBvcnQgeyBOZ3hEcm9wem9uZU1vZHVsZSB9IGZyb20gJ25neC1kcm9wem9uZSdcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnXG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4vYmFkZ2UvYmFkZ2UuY29tcG9uZW50J1xuaW1wb3J0IHsgQ2hpcHNJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY2hpcHMtaW5wdXQvY2hpcHMtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgRHJhZ0FuZERyb3BGaWxlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2RyYWctYW5kLWRyb3AtZmlsZS1pbnB1dC9kcmFnLWFuZC1kcm9wLWZpbGUtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tc2VsZWN0b3IvZHJvcGRvd24tc2VsZWN0b3IuY29tcG9uZW50J1xuaW1wb3J0IHsgVGV4dEFyZWFDb21wb25lbnQgfSBmcm9tICcuL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50J1xuaW1wb3J0IHsgVGV4dElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWlucHV0L3RleHQtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJ1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBOYXZpZ2F0aW9uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWJ1dHRvbi9uYXZpZ2F0aW9uLWJ1dHRvbi5jb21wb25lbnQnXG5pbXBvcnQgeyBTdGFyVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9zdGFyLXRvZ2dsZS9zdGFyLXRvZ2dsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBEcm9wZG93bk11bHRpc2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1tdWx0aXNlbGVjdC9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQnXG5pbXBvcnQgeyBVaVdpZGdldHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5J1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCdcbmltcG9ydCB7IFZpZXdwb3J0SW50ZXJzZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdwb3J0LWludGVyc2VjdG9yL3ZpZXdwb3J0LWludGVyc2VjdG9yLmNvbXBvbmVudCdcbmltcG9ydCB7IENoZWNrVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jaGVjay10b2dnbGUvY2hlY2stdG9nZ2xlLmNvbXBvbmVudCdcbmltcG9ydCB7IENvcHlUZXh0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb3B5LXRleHQtYnV0dG9uL2NvcHktdGV4dC1idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50J1xuaW1wb3J0IHsgU2VhcmNoSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQnXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCdcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJ1xuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnXG5pbXBvcnQgeyBFZGl0YWJsZUxhYmVsRGlyZWN0aXZlIH0gZnJvbSAnLi9lZGl0YWJsZS1sYWJlbC9lZGl0YWJsZS1sYWJlbC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBJbWFnZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9pbWFnZS1pbnB1dC9pbWFnZS1pbnB1dC5jb21wb25lbnQnXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBEcmFnQW5kRHJvcEZpbGVJbnB1dENvbXBvbmVudCxcbiAgICBDaGlwc0lucHV0Q29tcG9uZW50LFxuICAgIE5hdmlnYXRpb25CdXR0b25Db21wb25lbnQsXG4gICAgU3RhclRvZ2dsZUNvbXBvbmVudCxcbiAgICBEcm9wZG93bk11bHRpc2VsZWN0Q29tcG9uZW50LFxuICAgIFZpZXdwb3J0SW50ZXJzZWN0b3JDb21wb25lbnQsXG4gICAgQ29weVRleHRCdXR0b25Db21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgU2VhcmNoSW5wdXRDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCksXG4gICAgTmd4RHJvcHpvbmVNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBUYWdJbnB1dE1vZHVsZSxcbiAgICBVdGlsU2hhcmVkTW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIFVpV2lkZ2V0c01vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBFZGl0YWJsZUxhYmVsRGlyZWN0aXZlLFxuICAgIFRleHRBcmVhQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBJbWFnZUlucHV0Q29tcG9uZW50LFxuICAgIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gICAgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50LFxuICAgIENoZWNrVG9nZ2xlQ29tcG9uZW50LFxuICAgIEJhZGdlQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxuICAgIERyYWdBbmREcm9wRmlsZUlucHV0Q29tcG9uZW50LFxuICAgIFRleHRBcmVhQ29tcG9uZW50LFxuICAgIENoaXBzSW5wdXRDb21wb25lbnQsXG4gICAgTmF2aWdhdGlvbkJ1dHRvbkNvbXBvbmVudCxcbiAgICBTdGFyVG9nZ2xlQ29tcG9uZW50LFxuICAgIERyb3Bkb3duTXVsdGlzZWxlY3RDb21wb25lbnQsXG4gICAgVmlld3BvcnRJbnRlcnNlY3RvckNvbXBvbmVudCxcbiAgICBDaGVja1RvZ2dsZUNvbXBvbmVudCxcbiAgICBDb3B5VGV4dEJ1dHRvbkNvbXBvbmVudCxcbiAgICBDaGVja2JveENvbXBvbmVudCxcbiAgICBTZWFyY2hJbnB1dENvbXBvbmVudCxcbiAgICBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQsXG4gICAgRWRpdGFibGVMYWJlbERpcmVjdGl2ZSxcbiAgICBJbWFnZUlucHV0Q29tcG9uZW50LFxuICAgIEJhZGdlQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBVaUlucHV0c01vZHVsZSB7fVxuIl19
@@ -3,9 +3,10 @@ export * from './lib/carousel/carousel.component';
3
3
  export * from './lib/expandable-panel-button/expandable-panel-button.component';
4
4
  export * from './lib/expandable-panel/expandable-panel.component';
5
5
  export * from './lib/form-field-wrapper/form-field-wrapper.component';
6
+ export * from './lib/max-lines/max-lines.component';
6
7
  export * from './lib/interactive-table/interactive-table-column/interactive-table-column.component';
7
8
  export * from './lib/interactive-table/interactive-table.component';
8
9
  export * from './lib/sticky-header/sticky-header.component';
9
10
  export * from './lib/block-list/block-list.component';
10
11
  export * from './lib/ui-layout.module';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsaUVBQWlFLENBQUE7QUFDL0UsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLHVEQUF1RCxDQUFBO0FBQ3JFLGNBQWMscUZBQXFGLENBQUE7QUFDbkcsY0FBYyxxREFBcUQsQ0FBQTtBQUNuRSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYyx3QkFBd0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2FuY2hvci1saW5rL2FuY2hvci1saW5rLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4cGFuZGFibGUtcGFuZWwtYnV0dG9uL2V4cGFuZGFibGUtcGFuZWwtYnV0dG9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4cGFuZGFibGUtcGFuZWwvZXhwYW5kYWJsZS1wYW5lbC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLWZpZWxkLXdyYXBwZXIvZm9ybS1maWVsZC13cmFwcGVyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyYWN0aXZlLXRhYmxlL2ludGVyYWN0aXZlLXRhYmxlLWNvbHVtbi9pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJhY3RpdmUtdGFibGUvaW50ZXJhY3RpdmUtdGFibGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RpY2t5LWhlYWRlci9zdGlja3ktaGVhZGVyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jsb2NrLWxpc3QvYmxvY2stbGlzdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1sYXlvdXQubW9kdWxlJ1xuIl19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsaUVBQWlFLENBQUE7QUFDL0UsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLHVEQUF1RCxDQUFBO0FBQ3JFLGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYyxxRkFBcUYsQ0FBQTtBQUNuRyxjQUFjLHFEQUFxRCxDQUFBO0FBQ25FLGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyx1Q0FBdUMsQ0FBQTtBQUNyRCxjQUFjLHdCQUF3QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvYW5jaG9yLWxpbmsvYW5jaG9yLWxpbmsuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZXhwYW5kYWJsZS1wYW5lbC1idXR0b24vZXhwYW5kYWJsZS1wYW5lbC1idXR0b24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZXhwYW5kYWJsZS1wYW5lbC9leHBhbmRhYmxlLXBhbmVsLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0tZmllbGQtd3JhcHBlci9mb3JtLWZpZWxkLXdyYXBwZXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWF4LWxpbmVzL21heC1saW5lcy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmFjdGl2ZS10YWJsZS9pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4vaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyYWN0aXZlLXRhYmxlL2ludGVyYWN0aXZlLXRhYmxlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0aWNreS1oZWFkZXIvc3RpY2t5LWhlYWRlci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ibG9jay1saXN0L2Jsb2NrLWxpc3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbGF5b3V0Lm1vZHVsZSdcbiJdfQ==
@@ -0,0 +1,71 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, ViewChild, } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { TranslateModule } from '@ngx-translate/core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@ngx-translate/core";
7
+ export class MaxLinesComponent {
8
+ constructor(cdr) {
9
+ this.cdr = cdr;
10
+ this.maxLines = 6;
11
+ this.isExpanded = false;
12
+ this.maxHeight = '';
13
+ this.showToggleButton = false;
14
+ }
15
+ ngAfterViewInit() {
16
+ this.calculateMaxHeight();
17
+ this.observer = new ResizeObserver((mutations) => {
18
+ mutations.forEach(() => {
19
+ this.calculateMaxHeight();
20
+ });
21
+ });
22
+ this.observer.observe(this.container.nativeElement.children[0]);
23
+ }
24
+ toggleDisplay() {
25
+ this.isExpanded = !this.isExpanded;
26
+ this.calculateMaxHeight();
27
+ }
28
+ calculateMaxHeight() {
29
+ const containerElement = this.container.nativeElement;
30
+ const contentElement = containerElement.children[0];
31
+ const contentHeight = contentElement.getBoundingClientRect().height;
32
+ if (contentHeight) {
33
+ if (contentHeight > this.maxLines * this.getLineHeight(contentElement)) {
34
+ this.showToggleButton = true;
35
+ this.maxHeight = this.isExpanded
36
+ ? `${contentHeight}px`
37
+ : `${this.maxLines * this.getLineHeight(contentElement)}px`;
38
+ }
39
+ else {
40
+ this.showToggleButton = false;
41
+ this.maxHeight = `${contentHeight}px`;
42
+ }
43
+ containerElement.setAttribute('style', `max-height: ${this.maxHeight}; overflow: hidden`);
44
+ this.cdr.detectChanges();
45
+ }
46
+ }
47
+ getLineHeight(element) {
48
+ const computedStyle = window.getComputedStyle(element);
49
+ const lineHeight = parseFloat(computedStyle.lineHeight);
50
+ const fontSize = parseFloat(computedStyle.fontSize || '14');
51
+ const result = isNaN(lineHeight) ? fontSize * 1.2 : lineHeight; // Use a default if line height is not specified
52
+ return result;
53
+ }
54
+ ngOnDestroy() {
55
+ if (!this.observer)
56
+ return;
57
+ this.observer.unobserve(this.container.nativeElement.children[0]);
58
+ }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MaxLinesComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MaxLinesComponent, isStandalone: true, selector: "gn-ui-max-lines", inputs: { maxLines: "maxLines" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<div\n #container\n class=\"max-lines overflow-hidden transition-[max-height] duration-300 relative\"\n [ngClass]=\"isExpanded ? 'ease-in' : 'ease-out'\"\n [style.maxHeight]=\"maxHeight\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showToggleButton && !isExpanded\"\n class=\"absolute inset-x-0 bottom-0 bg-gradient-to-b from-transparent to-white h-3\"\n ></div>\n</div>\n<div\n *ngIf=\"showToggleButton\"\n (click)=\"toggleDisplay()\"\n class=\"text-secondary cursor-pointer pt-2.5\"\n>\n {{ (isExpanded ? 'ui.readLess' : 'ui.readMore') | translate }}\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
61
+ }
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MaxLinesComponent, decorators: [{
63
+ type: Component,
64
+ args: [{ selector: 'gn-ui-max-lines', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, TranslateModule], template: "<div\n #container\n class=\"max-lines overflow-hidden transition-[max-height] duration-300 relative\"\n [ngClass]=\"isExpanded ? 'ease-in' : 'ease-out'\"\n [style.maxHeight]=\"maxHeight\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showToggleButton && !isExpanded\"\n class=\"absolute inset-x-0 bottom-0 bg-gradient-to-b from-transparent to-white h-3\"\n ></div>\n</div>\n<div\n *ngIf=\"showToggleButton\"\n (click)=\"toggleDisplay()\"\n class=\"text-secondary cursor-pointer pt-2.5\"\n>\n {{ (isExpanded ? 'ui.readLess' : 'ui.readMore') | translate }}\n</div>\n" }]
65
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { maxLines: [{
66
+ type: Input
67
+ }], container: [{
68
+ type: ViewChild,
69
+ args: ['container']
70
+ }] } });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4LWxpbmVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYy9saWIvbWF4LWxpbmVzL21heC1saW5lcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMvbGliL21heC1saW5lcy9tYXgtbGluZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7Ozs7QUFVckQsTUFBTSxPQUFPLGlCQUFpQjtJQVU1QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVRqQyxhQUFRLEdBQUcsQ0FBQyxDQUFBO1FBRXJCLGVBQVUsR0FBRyxLQUFLLENBQUE7UUFDbEIsY0FBUyxHQUFHLEVBQUUsQ0FBQTtRQUNkLHFCQUFnQixHQUFHLEtBQUssQ0FBQTtJQUtxQixDQUFDO0lBRTlDLGVBQWU7UUFDYixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtRQUV6QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksY0FBYyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDL0MsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO1lBQzNCLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNqRSxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFBO1FBQ2xDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO0lBQzNCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQTtRQUNyRCxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbkQsTUFBTSxhQUFhLEdBQUcsY0FBYyxDQUFDLHFCQUFxQixFQUFFLENBQUMsTUFBTSxDQUFBO1FBRW5FLElBQUksYUFBYSxFQUFFO1lBQ2pCLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDdEUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQTtnQkFFNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVTtvQkFDOUIsQ0FBQyxDQUFDLEdBQUcsYUFBYSxJQUFJO29CQUN0QixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQTthQUM5RDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFBO2dCQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsYUFBYSxJQUFJLENBQUE7YUFDdEM7WUFDRCxnQkFBZ0IsQ0FBQyxZQUFZLENBQzNCLE9BQU8sRUFDUCxlQUFlLElBQUksQ0FBQyxTQUFTLG9CQUFvQixDQUNsRCxDQUFBO1lBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtTQUN6QjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsT0FBb0I7UUFDaEMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3RELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDdkQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUE7UUFDM0QsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUEsQ0FBQyxnREFBZ0Q7UUFDL0csT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU07UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDbkUsQ0FBQzsrR0FqRVUsaUJBQWlCO21HQUFqQixpQkFBaUIscU5DckI5Qix5a0JBbUJBLHlEREFZLFlBQVksZ09BQUUsZUFBZTs7NEZBRTVCLGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDO3dHQUcvQixRQUFRO3NCQUFoQixLQUFLO2dCQU9rQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWF4LWxpbmVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21heC1saW5lcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21heC1saW5lcy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXhMaW5lc0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIG1heExpbmVzID0gNlxuXG4gIGlzRXhwYW5kZWQgPSBmYWxzZVxuICBtYXhIZWlnaHQgPSAnJ1xuICBzaG93VG9nZ2xlQnV0dG9uID0gZmFsc2VcbiAgb2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyXG5cbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJykgY29udGFpbmVyITogRWxlbWVudFJlZlxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jYWxjdWxhdGVNYXhIZWlnaHQoKVxuXG4gICAgdGhpcy5vYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigobXV0YXRpb25zKSA9PiB7XG4gICAgICBtdXRhdGlvbnMuZm9yRWFjaCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlTWF4SGVpZ2h0KClcbiAgICAgIH0pXG4gICAgfSlcblxuICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdKVxuICB9XG5cbiAgdG9nZ2xlRGlzcGxheSgpIHtcbiAgICB0aGlzLmlzRXhwYW5kZWQgPSAhdGhpcy5pc0V4cGFuZGVkXG4gICAgdGhpcy5jYWxjdWxhdGVNYXhIZWlnaHQoKVxuICB9XG5cbiAgY2FsY3VsYXRlTWF4SGVpZ2h0KCkge1xuICAgIGNvbnN0IGNvbnRhaW5lckVsZW1lbnQgPSB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50XG4gICAgY29uc3QgY29udGVudEVsZW1lbnQgPSBjb250YWluZXJFbGVtZW50LmNoaWxkcmVuWzBdXG4gICAgY29uc3QgY29udGVudEhlaWdodCA9IGNvbnRlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodFxuXG4gICAgaWYgKGNvbnRlbnRIZWlnaHQpIHtcbiAgICAgIGlmIChjb250ZW50SGVpZ2h0ID4gdGhpcy5tYXhMaW5lcyAqIHRoaXMuZ2V0TGluZUhlaWdodChjb250ZW50RWxlbWVudCkpIHtcbiAgICAgICAgdGhpcy5zaG93VG9nZ2xlQnV0dG9uID0gdHJ1ZVxuXG4gICAgICAgIHRoaXMubWF4SGVpZ2h0ID0gdGhpcy5pc0V4cGFuZGVkXG4gICAgICAgICAgPyBgJHtjb250ZW50SGVpZ2h0fXB4YFxuICAgICAgICAgIDogYCR7dGhpcy5tYXhMaW5lcyAqIHRoaXMuZ2V0TGluZUhlaWdodChjb250ZW50RWxlbWVudCl9cHhgXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNob3dUb2dnbGVCdXR0b24gPSBmYWxzZVxuICAgICAgICB0aGlzLm1heEhlaWdodCA9IGAke2NvbnRlbnRIZWlnaHR9cHhgXG4gICAgICB9XG4gICAgICBjb250YWluZXJFbGVtZW50LnNldEF0dHJpYnV0ZShcbiAgICAgICAgJ3N0eWxlJyxcbiAgICAgICAgYG1heC1oZWlnaHQ6ICR7dGhpcy5tYXhIZWlnaHR9OyBvdmVyZmxvdzogaGlkZGVuYFxuICAgICAgKVxuXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICB9XG4gIH1cblxuICBnZXRMaW5lSGVpZ2h0KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgICBjb25zdCBjb21wdXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudClcbiAgICBjb25zdCBsaW5lSGVpZ2h0ID0gcGFyc2VGbG9hdChjb21wdXRlZFN0eWxlLmxpbmVIZWlnaHQpXG4gICAgY29uc3QgZm9udFNpemUgPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUuZm9udFNpemUgfHwgJzE0JylcbiAgICBjb25zdCByZXN1bHQgPSBpc05hTihsaW5lSGVpZ2h0KSA/IGZvbnRTaXplICogMS4yIDogbGluZUhlaWdodCAvLyBVc2UgYSBkZWZhdWx0IGlmIGxpbmUgaGVpZ2h0IGlzIG5vdCBzcGVjaWZpZWRcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub2JzZXJ2ZXIpIHJldHVyblxuICAgIHRoaXMub2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0pXG4gIH1cbn1cbiIsIjxkaXZcbiAgI2NvbnRhaW5lclxuICBjbGFzcz1cIm1heC1saW5lcyBvdmVyZmxvdy1oaWRkZW4gdHJhbnNpdGlvbi1bbWF4LWhlaWdodF0gZHVyYXRpb24tMzAwIHJlbGF0aXZlXCJcbiAgW25nQ2xhc3NdPVwiaXNFeHBhbmRlZCA/ICdlYXNlLWluJyA6ICdlYXNlLW91dCdcIlxuICBbc3R5bGUubWF4SGVpZ2h0XT1cIm1heEhlaWdodFwiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPGRpdlxuICAgICpuZ0lmPVwic2hvd1RvZ2dsZUJ1dHRvbiAmJiAhaXNFeHBhbmRlZFwiXG4gICAgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC14LTAgYm90dG9tLTAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLXRyYW5zcGFyZW50IHRvLXdoaXRlIGgtM1wiXG4gID48L2Rpdj5cbjwvZGl2PlxuPGRpdlxuICAqbmdJZj1cInNob3dUb2dnbGVCdXR0b25cIlxuICAoY2xpY2spPVwidG9nZ2xlRGlzcGxheSgpXCJcbiAgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeSBjdXJzb3ItcG9pbnRlciBwdC0yLjVcIlxuPlxuICB7eyAoaXNFeHBhbmRlZCA/ICd1aS5yZWFkTGVzcycgOiAndWkucmVhZE1vcmUnKSB8IHRyYW5zbGF0ZSB9fVxuPC9kaXY+XG4iXX0=
@@ -37,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
37
37
  ],
38
38
  }]
39
39
  }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYy9saWIvdWktbGF5b3V0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUE7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDekUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUE7QUFDNUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBOzs7QUFrQnRELE1BQU0sT0FBTyxjQUFjOytHQUFkLGNBQWM7Z0hBQWQsY0FBYyxpQkFadkIsd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQixtQkFBbUI7WUFDbkIsOEJBQThCLGFBTHRCLFlBQVksRUFBRSxhQUFhLGlDQVFuQyx3QkFBd0I7WUFDeEIscUJBQXFCO1lBQ3JCLG1CQUFtQjtZQUNuQiw4QkFBOEI7Z0hBR3JCLGNBQWMsWUFkZixZQUFZLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUU7OzRGQWN0RCxjQUFjO2tCQWYxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNsRSxZQUFZLEVBQUU7d0JBQ1osd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsOEJBQThCO3FCQUMvQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsOEJBQThCO3FCQUMvQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBFeHBhbmRhYmxlUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2V4cGFuZGFibGUtcGFuZWwvZXhwYW5kYWJsZS1wYW5lbC5jb21wb25lbnQnXG5pbXBvcnQgeyBTdGlja3lIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL3N0aWNreS1oZWFkZXIvc3RpY2t5LWhlYWRlci5jb21wb25lbnQnXG5pbXBvcnQgeyBBbmNob3JMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi9hbmNob3ItbGluay9hbmNob3ItbGluay5kaXJlY3RpdmUnXG5pbXBvcnQgeyBFeHBhbmRhYmxlUGFuZWxCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2V4cGFuZGFibGUtcGFuZWwtYnV0dG9uL2V4cGFuZGFibGUtcGFuZWwtYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgQ2Fyb3VzZWxDb21wb25lbnQgfSBmcm9tICcuL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCldLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBFeHBhbmRhYmxlUGFuZWxDb21wb25lbnQsXG4gICAgU3RpY2t5SGVhZGVyQ29tcG9uZW50LFxuICAgIEFuY2hvckxpbmtEaXJlY3RpdmUsXG4gICAgRXhwYW5kYWJsZVBhbmVsQnV0dG9uQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRXhwYW5kYWJsZVBhbmVsQ29tcG9uZW50LFxuICAgIFN0aWNreUhlYWRlckNvbXBvbmVudCxcbiAgICBBbmNob3JMaW5rRGlyZWN0aXZlLFxuICAgIEV4cGFuZGFibGVQYW5lbEJ1dHRvbkNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVWlMYXlvdXRNb2R1bGUge31cbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYy9saWIvdWktbGF5b3V0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUE7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDekUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUE7QUFDNUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBOzs7QUFpQnRELE1BQU0sT0FBTyxjQUFjOytHQUFkLGNBQWM7Z0hBQWQsY0FBYyxpQkFadkIsd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQixtQkFBbUI7WUFDbkIsOEJBQThCLGFBTHRCLFlBQVksRUFBRSxhQUFhLGlDQVFuQyx3QkFBd0I7WUFDeEIscUJBQXFCO1lBQ3JCLG1CQUFtQjtZQUNuQiw4QkFBOEI7Z0hBR3JCLGNBQWMsWUFkZixZQUFZLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUU7OzRGQWN0RCxjQUFjO2tCQWYxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNsRSxZQUFZLEVBQUU7d0JBQ1osd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsOEJBQThCO3FCQUMvQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsOEJBQThCO3FCQUMvQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBFeHBhbmRhYmxlUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2V4cGFuZGFibGUtcGFuZWwvZXhwYW5kYWJsZS1wYW5lbC5jb21wb25lbnQnXG5pbXBvcnQgeyBTdGlja3lIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL3N0aWNreS1oZWFkZXIvc3RpY2t5LWhlYWRlci5jb21wb25lbnQnXG5pbXBvcnQgeyBBbmNob3JMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi9hbmNob3ItbGluay9hbmNob3ItbGluay5kaXJlY3RpdmUnXG5pbXBvcnQgeyBFeHBhbmRhYmxlUGFuZWxCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2V4cGFuZGFibGUtcGFuZWwtYnV0dG9uL2V4cGFuZGFibGUtcGFuZWwtYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEV4cGFuZGFibGVQYW5lbENvbXBvbmVudCxcbiAgICBTdGlja3lIZWFkZXJDb21wb25lbnQsXG4gICAgQW5jaG9yTGlua0RpcmVjdGl2ZSxcbiAgICBFeHBhbmRhYmxlUGFuZWxCdXR0b25Db21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBFeHBhbmRhYmxlUGFuZWxDb21wb25lbnQsXG4gICAgU3RpY2t5SGVhZGVyQ29tcG9uZW50LFxuICAgIEFuY2hvckxpbmtEaXJlY3RpdmUsXG4gICAgRXhwYW5kYWJsZVBhbmVsQnV0dG9uQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBVaUxheW91dE1vZHVsZSB7fVxuIl19
@@ -17,4 +17,5 @@ export * from './lib/record-preview-title/record-preview-title.component';
17
17
  export * from './lib/record-metric/record-metric.component';
18
18
  export * from './lib/results-list-item/results-list-item.component';
19
19
  export * from './lib/results-hits-number/results-hits-number.component';
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksSUFBSSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMzRSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxnREFBZ0QsQ0FBQTtBQUM5RCxjQUFjLDhDQUE4QyxDQUFBO0FBQzVELGNBQWMsOENBQThDLENBQUE7QUFDNUQsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsdURBQXVELENBQUE7QUFDckUsY0FBYyx5REFBeUQsQ0FBQTtBQUN2RSxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYywyREFBMkQsQ0FBQTtBQUN6RSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYyx5REFBeUQsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEZhY2V0c01vZHVsZSBhcyBVaUZhY2V0c01vZHVsZSB9IGZyb20gJy4vbGliL2ZhY2V0cy9mYWNldHMubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmFjZXRzL2ZhY2V0cy5tb2RlbCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY2V0cy9maXh0dXJlcydcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY2V0cy9mYWNldC1ibG9jay9mYWNldC1ibG9jay5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mYWNldHMvZmFjZXQtbGlzdC9mYWNldC1saXN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY2V0cy9mYWNldC1pdGVtL2ZhY2V0LWl0ZW0uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktc2VhcmNoLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc3VsdHMtbGlzdC9yZXN1bHRzLWxheW91dC5jb25maWcnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLWxpc3QvcmVzdWx0cy1saXN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3L3JlY29yZC1wcmV2aWV3LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LWZlZWQvcmVjb3JkLXByZXZpZXctZmVlZC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy1yb3cvcmVjb3JkLXByZXZpZXctcm93LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LWNhcmQvcmVjb3JkLXByZXZpZXctY2FyZC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy1saXN0L3JlY29yZC1wcmV2aWV3LWxpc3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXctdGV4dC9yZWNvcmQtcHJldmlldy10ZXh0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LXRpdGxlL3JlY29yZC1wcmV2aWV3LXRpdGxlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1tZXRyaWMvcmVjb3JkLW1ldHJpYy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLWxpc3QtaXRlbS9yZXN1bHRzLWxpc3QtaXRlbS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLWhpdHMtbnVtYmVyL3Jlc3VsdHMtaGl0cy1udW1iZXIuY29tcG9uZW50J1xuIl19
20
+ export * from './lib/results-table/results-table.component';
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksSUFBSSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMzRSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxnREFBZ0QsQ0FBQTtBQUM5RCxjQUFjLDhDQUE4QyxDQUFBO0FBQzVELGNBQWMsOENBQThDLENBQUE7QUFDNUQsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsdURBQXVELENBQUE7QUFDckUsY0FBYyx5REFBeUQsQ0FBQTtBQUN2RSxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYywyREFBMkQsQ0FBQTtBQUN6RSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYyx5REFBeUQsQ0FBQTtBQUN2RSxjQUFjLDZDQUE2QyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgRmFjZXRzTW9kdWxlIGFzIFVpRmFjZXRzTW9kdWxlIH0gZnJvbSAnLi9saWIvZmFjZXRzL2ZhY2V0cy5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mYWNldHMvZmFjZXRzLm1vZGVsJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmFjZXRzL2ZpeHR1cmVzJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmFjZXRzL2ZhY2V0LWJsb2NrL2ZhY2V0LWJsb2NrLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY2V0cy9mYWNldC1saXN0L2ZhY2V0LWxpc3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmFjZXRzL2ZhY2V0LWl0ZW0vZmFjZXQtaXRlbS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1zZWFyY2gubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzdWx0cy1saXN0L3Jlc3VsdHMtbGF5b3V0LmNvbmZpZydcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc3VsdHMtbGlzdC9yZXN1bHRzLWxpc3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXcvcmVjb3JkLXByZXZpZXcuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXctZmVlZC9yZWNvcmQtcHJldmlldy1mZWVkLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LXJvdy9yZWNvcmQtcHJldmlldy1yb3cuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXctY2FyZC9yZWNvcmQtcHJldmlldy1jYXJkLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LWxpc3QvcmVjb3JkLXByZXZpZXctbGlzdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy10ZXh0L3JlY29yZC1wcmV2aWV3LXRleHQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXctdGl0bGUvcmVjb3JkLXByZXZpZXctdGl0bGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLW1ldHJpYy9yZWNvcmQtbWV0cmljLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc3VsdHMtbGlzdC1pdGVtL3Jlc3VsdHMtbGlzdC1pdGVtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc3VsdHMtaGl0cy1udW1iZXIvcmVzdWx0cy1oaXRzLW51bWJlci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLXRhYmxlL3Jlc3VsdHMtdGFibGUuY29tcG9uZW50J1xuIl19