geonetwork-ui 2.6.0-dev.582b4530a → 2.6.0-dev.70b25ba3b

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 (305) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/base.converter.mjs +1 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/common/resource-types.mjs +17 -15
  4. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +3 -3
  5. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +3 -3
  6. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -4
  7. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +2 -10
  8. package/esm2022/libs/api/repository/src/lib/gn4/gn4.provider.mjs +7 -1
  9. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  10. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +2 -3
  11. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +1 -1
  12. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +5 -5
  13. package/esm2022/libs/feature/record/src/index.mjs +1 -2
  14. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +5 -9
  15. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +7 -11
  16. package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +1 -1
  17. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +8 -5
  18. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +4 -6
  19. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +3 -1
  20. package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
  21. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +10 -2
  22. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +9 -3
  23. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  24. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +8 -7
  25. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +13 -19
  26. package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -2
  27. package/esm2022/libs/feature/search/src/lib/results-hits/results-hits.container.component.mjs +41 -0
  28. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +26 -10
  29. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +70 -1
  30. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +4 -3
  31. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +3 -3
  32. package/esm2022/libs/ui/elements/src/index.mjs +3 -1
  33. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
  34. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +3 -3
  35. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +18 -7
  36. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +3 -3
  37. package/esm2022/libs/ui/elements/src/lib/kind-badge/kind-badge.component.mjs +51 -0
  38. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +3 -3
  39. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  40. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +8 -5
  41. package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +161 -0
  42. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +16 -4
  43. package/esm2022/libs/ui/inputs/src/index.mjs +2 -2
  44. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
  45. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.mjs +42 -0
  46. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.mjs +2 -0
  47. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +4 -3
  48. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +7 -2
  49. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +43 -3
  50. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +48 -11
  51. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
  52. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +15 -3
  53. package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +6 -6
  54. package/esm2022/libs/ui/map/src/index.mjs +2 -1
  55. package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +79 -0
  56. package/esm2022/libs/ui/search/src/index.mjs +2 -1
  57. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +3 -3
  58. package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +53 -0
  59. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +5 -4
  60. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +11 -3
  61. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
  62. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +2 -1
  63. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -1
  64. package/esm2022/libs/util/shared/src/index.mjs +2 -1
  65. package/esm2022/libs/util/shared/src/lib/gn-ui-version.mjs +6 -0
  66. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +2 -1
  67. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +13 -6
  68. package/esm2022/translations/de.json +31 -5
  69. package/esm2022/translations/en.json +32 -6
  70. package/esm2022/translations/es.json +31 -5
  71. package/esm2022/translations/fr.json +32 -6
  72. package/esm2022/translations/it.json +31 -5
  73. package/esm2022/translations/nl.json +31 -5
  74. package/esm2022/translations/pt.json +31 -5
  75. package/fesm2022/geonetwork-ui.mjs +1342 -566
  76. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  77. package/libs/api/metadata-converter/src/index.d.ts +1 -0
  78. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  79. package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -1
  80. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts +21 -0
  81. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts.map +1 -1
  82. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  83. package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts.map +1 -1
  84. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +2 -2
  85. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  86. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
  87. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +6 -6
  88. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  89. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
  90. package/libs/feature/record/src/index.d.ts +0 -1
  91. package/libs/feature/record/src/index.d.ts.map +1 -1
  92. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +9 -1
  93. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  94. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +2 -3
  95. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  96. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +1 -2
  97. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  98. package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts +2 -2
  99. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +3 -1
  100. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  101. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
  102. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  103. package/libs/feature/router/src/lib/default/constants.d.ts +2 -0
  104. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  105. package/libs/feature/router/src/lib/default/router.config.d.ts +2 -0
  106. package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
  107. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  108. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +5 -0
  109. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  110. package/libs/feature/search/src/index.d.ts +1 -1
  111. package/libs/feature/search/src/index.d.ts.map +1 -1
  112. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  113. package/libs/feature/search/src/lib/feature-search.module.d.ts +4 -2
  114. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  115. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -1
  116. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -1
  117. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts +21 -0
  118. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts.map +1 -0
  119. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +5 -3
  120. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
  121. package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -0
  122. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  123. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  124. package/libs/ui/elements/src/index.d.ts +2 -0
  125. package/libs/ui/elements/src/index.d.ts.map +1 -1
  126. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +1 -1
  127. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  128. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -1
  129. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  130. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts +11 -0
  131. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts.map +1 -0
  132. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +1 -1
  133. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  134. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +2 -2
  135. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  136. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts +30 -0
  137. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -0
  138. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +3 -1
  139. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  140. package/libs/ui/inputs/src/index.d.ts +1 -1
  141. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  142. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts +14 -0
  143. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts.map +1 -0
  144. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts +6 -0
  145. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts.map +1 -0
  146. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts.map +1 -1
  147. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +25 -24
  148. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  149. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts +10 -3
  150. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts.map +1 -1
  151. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +9 -2
  152. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
  153. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +2 -0
  154. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  155. package/libs/ui/map/src/index.d.ts +1 -0
  156. package/libs/ui/map/src/index.d.ts.map +1 -1
  157. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts +15 -0
  158. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts.map +1 -0
  159. package/libs/ui/search/src/index.d.ts +1 -0
  160. package/libs/ui/search/src/index.d.ts.map +1 -1
  161. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts +17 -0
  162. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts.map +1 -0
  163. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  164. package/libs/ui/search/src/lib/ui-search.module.d.ts +21 -19
  165. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  166. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  167. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  168. package/libs/util/shared/src/index.d.ts +1 -0
  169. package/libs/util/shared/src/index.d.ts.map +1 -1
  170. package/libs/util/shared/src/lib/gn-ui-version.d.ts +3 -0
  171. package/libs/util/shared/src/lib/gn-ui-version.d.ts.map +1 -0
  172. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  173. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  174. package/libs/util/shared/src/lib/links/link-utils.d.ts +14 -7
  175. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  176. package/package.json +1 -1
  177. package/src/libs/api/metadata-converter/src/index.ts +1 -0
  178. package/src/libs/api/metadata-converter/src/lib/base.converter.ts +1 -4
  179. package/src/libs/api/metadata-converter/src/lib/common/resource-types.ts +29 -15
  180. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +2 -2
  181. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +2 -2
  182. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +2 -2
  183. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +2 -2
  184. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +2 -2
  185. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +2 -2
  186. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +3 -3
  187. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +1 -9
  188. package/src/libs/api/repository/src/lib/gn4/gn4.provider.ts +6 -0
  189. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +2 -2
  190. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +26 -26
  191. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +2 -2
  192. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +5 -5
  193. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +1 -2
  194. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +2 -2
  195. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +2 -2
  196. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -2
  197. package/src/libs/feature/record/src/index.ts +0 -1
  198. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +2 -3
  199. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +4 -5
  200. package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +2 -2
  201. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +5 -3
  202. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +4 -7
  203. package/src/libs/feature/router/src/lib/default/constants.ts +2 -0
  204. package/src/libs/feature/router/src/lib/default/router.config.ts +2 -0
  205. package/src/libs/feature/router/src/lib/default/router.service.ts +10 -0
  206. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +10 -1
  207. package/src/libs/feature/search/src/index.ts +1 -1
  208. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +0 -6
  209. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +16 -8
  210. package/src/libs/feature/search/src/lib/feature-search.module.ts +9 -10
  211. package/src/libs/feature/search/src/lib/record-url.token.ts +10 -1
  212. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.html +16 -0
  213. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.ts +59 -0
  214. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.css +6 -0
  215. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +1 -0
  216. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +24 -5
  217. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +4 -5
  218. package/src/libs/feature/search/src/lib/utils/service/fields.ts +99 -0
  219. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
  220. package/src/libs/ui/elements/src/index.ts +2 -0
  221. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +4 -4
  222. package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +8 -5
  223. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +2 -2
  224. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +38 -7
  225. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +29 -2
  226. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +2 -2
  227. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.css +6 -0
  228. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.html +9 -0
  229. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.ts +51 -0
  230. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +5 -2
  231. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -7
  232. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +1 -1
  233. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +9 -0
  234. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +13 -4
  235. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -4
  236. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.css +0 -0
  237. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +96 -0
  238. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +183 -0
  239. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +6 -0
  240. package/src/libs/ui/inputs/src/index.ts +1 -1
  241. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  242. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.html +23 -0
  243. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.ts +44 -0
  244. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.ts +5 -0
  245. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +5 -5
  246. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +2 -1
  247. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -0
  248. package/src/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.ts +46 -2
  249. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +22 -0
  250. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +2 -2
  251. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +43 -5
  252. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -1
  253. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -1
  254. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +3 -7
  255. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +13 -0
  256. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +17 -5
  257. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +3 -3
  258. package/src/libs/ui/map/src/index.ts +1 -0
  259. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.css +0 -0
  260. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.html +4 -0
  261. package/src/libs/{feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts → ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts} +7 -8
  262. package/src/libs/ui/search/src/index.ts +1 -0
  263. package/src/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.html +1 -1
  264. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.html +24 -0
  265. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.ts +53 -0
  266. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +7 -4
  267. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +2 -1
  268. package/src/libs/ui/search/src/lib/ui-search.module.ts +5 -0
  269. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +2 -1
  270. package/src/libs/util/app-config/src/lib/app-config.ts +1 -0
  271. package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
  272. package/src/libs/util/shared/src/index.ts +1 -0
  273. package/src/libs/util/shared/src/lib/gn-ui-version.ts +8 -0
  274. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +12 -3
  275. package/src/libs/util/shared/src/lib/links/link-utils.ts +30 -12
  276. package/tailwind.base.config.js +3 -0
  277. package/tailwind.base.css +19 -26
  278. package/translations/de.json +31 -5
  279. package/translations/en.json +32 -6
  280. package/translations/es.json +31 -5
  281. package/translations/fr.json +32 -6
  282. package/translations/it.json +31 -5
  283. package/translations/nl.json +31 -5
  284. package/translations/pt.json +31 -5
  285. package/translations/sk.json +31 -5
  286. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +0 -79
  287. package/esm2022/libs/feature/record/src/lib/gn-ui-version.token.mjs +0 -3
  288. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +0 -18
  289. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +0 -16
  290. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +0 -15
  291. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +0 -1
  292. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts +0 -3
  293. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts.map +0 -1
  294. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts +0 -9
  295. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts.map +0 -1
  296. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts +0 -8
  297. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts.map +0 -1
  298. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +0 -1
  299. package/src/libs/feature/record/src/lib/gn-ui-version.token.ts +0 -3
  300. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.html +0 -4
  301. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.ts +0 -10
  302. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +0 -3
  303. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +0 -9
  304. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.ts +0 -15
  305. /package/src/libs/feature/{editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.css → search/src/lib/results-hits/results-hits.container.component.css} +0 -0
@@ -15,7 +15,7 @@ export * from './lib/dropdown-selector/dropdown-selector.model';
15
15
  export * from './lib/editable-label/editable-label.directive';
16
16
  export * from './lib/file-input/file-input.component';
17
17
  export * from './lib/files-drop/files-drop.directive';
18
- export * from './lib/navigation-button/navigation-button.component';
18
+ export * from './lib/inline-filter/inline-filter.component';
19
19
  export * from './lib/search-input/search-input.component';
20
20
  export * from './lib/star-toggle/star-toggle.component';
21
21
  export * from './lib/switch-toggle/switch-toggle.component';
@@ -24,4 +24,4 @@ export * from './lib/text-input/text-input.component';
24
24
  export * from './lib/ui-inputs.module';
25
25
  export * from './lib/url-input/url-input.component';
26
26
  export * from './lib/viewport-intersector/viewport-intersector.component';
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsbURBQW1ELENBQUE7QUFDakUsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYyxtRUFBbUUsQ0FBQTtBQUNqRixjQUFjLDJEQUEyRCxDQUFBO0FBQ3pFLGNBQWMsdURBQXVELENBQUE7QUFDckUsY0FBYyxxREFBcUQsQ0FBQTtBQUNuRSxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsK0NBQStDLENBQUE7QUFDN0QsY0FBYyx1Q0FBdUMsQ0FBQTtBQUNyRCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLDJEQUEyRCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYWRnZS9iYWRnZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoZWNrLXRvZ2dsZS9jaGVjay10b2dnbGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29weS10ZXh0LWJ1dHRvbi9jb3B5LXRleHQtYnV0dG9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtcmFuZ2UtZHJvcGRvd24vZGF0ZS1yYW5nZS1kcm9wZG93bi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcmFnLWFuZC1kcm9wLWZpbGUtaW5wdXQvZHJhZy1hbmQtZHJvcC1maWxlLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duLW11bHRpc2VsZWN0L2Ryb3Bkb3duLW11bHRpc2VsZWN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duLW11bHRpc2VsZWN0L2Ryb3Bkb3duLW11bHRpc2VsZWN0Lm1vZGVsJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24tc2VsZWN0b3IvZHJvcGRvd24tc2VsZWN0b3IuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24tc2VsZWN0b3IvZHJvcGRvd24tc2VsZWN0b3IubW9kZWwnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lZGl0YWJsZS1sYWJlbC9lZGl0YWJsZS1sYWJlbC5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlLWlucHV0L2ZpbGUtaW5wdXQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZXMtZHJvcC9maWxlcy1kcm9wLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmlnYXRpb24tYnV0dG9uL25hdmlnYXRpb24tYnV0dG9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3Rhci10b2dnbGUvc3Rhci10b2dnbGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3dpdGNoLXRvZ2dsZS9zd2l0Y2gtdG9nZ2xlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWlucHV0cy5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi91cmwtaW5wdXQvdXJsLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZpZXdwb3J0LWludGVyc2VjdG9yL3ZpZXdwb3J0LWludGVyc2VjdG9yLmNvbXBvbmVudCdcbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsbURBQW1ELENBQUE7QUFDakUsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYyxtRUFBbUUsQ0FBQTtBQUNqRixjQUFjLDJEQUEyRCxDQUFBO0FBQ3pFLGNBQWMsdURBQXVELENBQUE7QUFDckUsY0FBYyxxREFBcUQsQ0FBQTtBQUNuRSxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsK0NBQStDLENBQUE7QUFDN0QsY0FBYyx1Q0FBdUMsQ0FBQTtBQUNyRCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLDJEQUEyRCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYWRnZS9iYWRnZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoZWNrLXRvZ2dsZS9jaGVjay10b2dnbGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29weS10ZXh0LWJ1dHRvbi9jb3B5LXRleHQtYnV0dG9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtcmFuZ2UtZHJvcGRvd24vZGF0ZS1yYW5nZS1kcm9wZG93bi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcmFnLWFuZC1kcm9wLWZpbGUtaW5wdXQvZHJhZy1hbmQtZHJvcC1maWxlLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duLW11bHRpc2VsZWN0L2Ryb3Bkb3duLW11bHRpc2VsZWN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duLW11bHRpc2VsZWN0L2Ryb3Bkb3duLW11bHRpc2VsZWN0Lm1vZGVsJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24tc2VsZWN0b3IvZHJvcGRvd24tc2VsZWN0b3IuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24tc2VsZWN0b3IvZHJvcGRvd24tc2VsZWN0b3IubW9kZWwnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lZGl0YWJsZS1sYWJlbC9lZGl0YWJsZS1sYWJlbC5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlLWlucHV0L2ZpbGUtaW5wdXQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZXMtZHJvcC9maWxlcy1kcm9wLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lubGluZS1maWx0ZXIvaW5saW5lLWZpbHRlci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWFyY2gtaW5wdXQvc2VhcmNoLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXItdG9nZ2xlL3N0YXItdG9nZ2xlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N3aXRjaC10b2dnbGUvc3dpdGNoLXRvZ2dsZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZXh0LWFyZWEvdGV4dC1hcmVhLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1pbnB1dHMubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXJsLWlucHV0L3VybC1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi92aWV3cG9ydC1pbnRlcnNlY3Rvci92aWV3cG9ydC1pbnRlcnNlY3Rvci5jb21wb25lbnQnXG4iXX0=
@@ -155,11 +155,11 @@ export class DropdownMultiselectComponent {
155
155
  this.setFocus();
156
156
  }
157
157
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownMultiselectComponent, deps: [{ token: i1.ScrollStrategyOptions }], target: i0.ɵɵFactoryTarget.Component }); }
158
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DropdownMultiselectComponent, selector: "gn-ui-dropdown-multiselect", inputs: { title: "title", choices: "choices", selected: "selected", allowSearch: "allowSearch", maxRows: "maxRows", searchInputValue: "searchInputValue" }, outputs: { selectValues: "selectValues" }, viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: ["overlayOrigin"], descendants: true }, { propertyName: "overlay", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "overlayContainer", first: true, predicate: ["overlayContainer"], descendants: true, read: ElementRef }, { propertyName: "searchFieldInput", first: true, predicate: ["searchFieldInput"], descendants: true }, { propertyName: "checkboxes", predicate: ["checkBox"], descendants: true, read: ElementRef }], ngImport: i0, template: "<gn-ui-button\n type=\"outline\"\n extraClass=\"bg-background w-full !p-[8px] !pl-[16px]\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n (keydown)=\"handleTriggerKeydown($event)\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n>\n <div class=\"grow flex items-center mr-2 gap-2 overflow-hidden\">\n <div class=\"text-left font-medium truncate py-1\">\n {{ title }}\n </div>\n <div\n *ngIf=\"hasSelectedChoices\"\n class=\"gn-ui-multiselect-counter shrink-0 rounded-full font-bold text-[12px] w-5 h-5 flex items-center justify-center mr-1 selected-count\"\n >\n {{ selected.length }}\n </div>\n </div>\n <button class=\"h-6 w-6\" data-cy=\"clearSelection\">\n <ng-icon\n class=\"shrink-0 opacity-40 mr-1.5 hover:opacity-80 transition-colors clear-btn\"\n *ngIf=\"hasSelectedChoices && !overlayOpen\"\n (click)=\"clearSelection($event)\"\n name=\"matClose\"\n ></ng-icon>\n </button>\n <ng-icon\n [name]=\"overlayOpen ? 'matExpandLess' : 'matExpandMore'\"\n class=\"shrink-0 opacity-40\"\n >\n </ng-icon>\n</gn-ui-button>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n #overlayContainer\n >\n <div\n class=\"border border-gray-300 rounded mb-2 mx-2 min-h-[44px] flex flex-row flex-wrap p-2 focus-within:rounded focus-within:border-2 focus-within:border-primary\"\n >\n <button\n type=\"button\"\n *ngFor=\"let selected of selectedChoices\"\n [title]=\"selected.label\"\n class=\"max-w-full bg-main text-white rounded pr-[7px] flex gap-1 items-center opacity-70 hover:opacity-100 focus:opacity-100 transition-opacity mb-1\"\n (click)=\"select(selected, false)\"\n >\n <div class=\"text-sm truncate leading-[26px] px-2\">\n {{ selected.label }}\n </div>\n <div\n class=\"flex items-center justify-center rounded-full bg-white text-main h-[13px] w-[13px] pt-px -mt-px shrink-0\"\n >\n <ng-icon\n name=\"matClose\"\n class=\"!h-[12px] !w-[11px] text-[12px]\"\n ></ng-icon>\n </div>\n </button>\n\n <div *ngIf=\"allowSearch\" class=\"w-[50%] relative grow shrink\">\n <input\n #searchFieldInput\n class=\"w-full px-2 truncate text-[14px] h-full overlaySearchInput focus:outline-none\"\n [(ngModel)]=\"searchInputValue\"\n [placeholder]=\"'multiselect.filter.placeholder' | translate\"\n />\n <button\n *ngIf=\"!!searchInputValue\"\n class=\"absolute top-1/2 -translate-y-1/2 right-0 px-[7px] leading-tight clear-search-input mr-2\"\n (click)=\"clearSearchInputValue($event)\"\n >\n <ng-icon class=\"!h-[10px] !w-[12px] text-[12px]\" name=\"matClose\">\n </ng-icon>\n </button>\n </div>\n </div>\n\n <label\n *ngFor=\"let choice of filteredChoicesByText\"\n [title]=\"choice.label\"\n class=\"flex px-5 py-1 w-full text-gray-900 cursor-pointer hover:text-primary-darkest hover:bg-gray-50 focus-within:text-primary-darkest focus-within:bg-gray-50 transition-colors\"\n >\n <input\n class=\"w-[18px] h-[18px] align-text-top shrink-0\"\n type=\"checkbox\"\n #checkBox\n [checked]=\"isSelected(choice)\"\n (change)=\"select(choice, checkBox.checked)\"\n />\n <span class=\"ml-[8px] text-[14px] truncate\">\n {{ choice.label }}\n </span>\n </label>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i4.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: i5.NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
158
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DropdownMultiselectComponent, selector: "gn-ui-dropdown-multiselect", inputs: { title: "title", choices: "choices", selected: "selected", allowSearch: "allowSearch", maxRows: "maxRows", searchInputValue: "searchInputValue" }, outputs: { selectValues: "selectValues" }, viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: ["overlayOrigin"], descendants: true }, { propertyName: "overlay", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "overlayContainer", first: true, predicate: ["overlayContainer"], descendants: true, read: ElementRef }, { propertyName: "searchFieldInput", first: true, predicate: ["searchFieldInput"], descendants: true }, { propertyName: "checkboxes", predicate: ["checkBox"], descendants: true, read: ElementRef }], ngImport: i0, template: "<gn-ui-button\n type=\"outline\"\n extraClass=\"bg-background w-full !p-[8px] !pl-[16px]\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n (keydown)=\"handleTriggerKeydown($event)\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n>\n <div class=\"grow flex items-center mr-2 gap-2 overflow-hidden\">\n <div class=\"text-left font-medium truncate py-1\">\n {{ title }}\n </div>\n <div\n *ngIf=\"hasSelectedChoices\"\n class=\"gn-ui-multiselect-counter shrink-0 rounded-full font-bold text-[12px] w-5 h-5 flex items-center justify-center mr-1 selected-count\"\n >\n {{ selected.length }}\n </div>\n </div>\n <button class=\"h-6 w-6\" data-cy=\"clearSelection\">\n <ng-icon\n class=\"shrink-0 opacity-40 mr-1.5 hover:opacity-80 transition-colors clear-btn\"\n *ngIf=\"hasSelectedChoices && !overlayOpen\"\n (click)=\"clearSelection($event)\"\n name=\"matClose\"\n ></ng-icon>\n </button>\n <ng-icon\n [name]=\"overlayOpen ? 'matExpandLess' : 'matExpandMore'\"\n class=\"shrink-0 opacity-40\"\n >\n </ng-icon>\n</gn-ui-button>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n #overlayContainer\n >\n <div\n class=\"border border-gray-300 rounded mb-2 mx-2 min-h-[44px] flex flex-row gap-[2px] flex-wrap p-2 focus-within:rounded focus-within:border-2 focus-within:border-primary\"\n >\n <button\n type=\"button\"\n *ngFor=\"let selected of selectedChoices\"\n [title]=\"selected.label\"\n class=\"max-w-full bg-main text-white rounded pr-[7px] flex gap-1 items-center opacity-70 hover:opacity-100 focus:opacity-100 transition-opacity mb-1\"\n (click)=\"select(selected, false)\"\n >\n <div class=\"text-sm truncate leading-[26px] px-2\">\n {{ selected.label }}\n </div>\n <div\n class=\"flex items-center justify-center rounded-full bg-white text-main h-[13px] w-[13px] pt-px -mt-px shrink-0\"\n >\n <ng-icon\n name=\"matClose\"\n class=\"!h-[12px] !w-[11px] text-[12px]\"\n ></ng-icon>\n </div>\n </button>\n\n <div *ngIf=\"allowSearch\" class=\"w-[50%] relative grow shrink\">\n <input\n #searchFieldInput\n class=\"w-full px-2 truncate text-[14px] h-full overlaySearchInput focus:outline-none\"\n [(ngModel)]=\"searchInputValue\"\n [placeholder]=\"'multiselect.filter.placeholder' | translate\"\n />\n <button\n *ngIf=\"!!searchInputValue\"\n class=\"absolute top-1/2 -translate-y-1/2 right-0 px-[7px] leading-tight clear-search-input mr-2\"\n (click)=\"clearSearchInputValue($event)\"\n >\n <ng-icon class=\"!h-[10px] !w-[12px] text-[12px]\" name=\"matClose\">\n </ng-icon>\n </button>\n </div>\n </div>\n\n <label\n *ngFor=\"let choice of filteredChoicesByText\"\n [title]=\"choice.label\"\n class=\"flex px-5 py-1 w-full text-gray-900 cursor-pointer hover:text-primary-darkest hover:bg-gray-50 focus-within:text-primary-darkest focus-within:bg-gray-50 transition-colors\"\n >\n <input\n class=\"w-[18px] h-[18px] align-text-top shrink-0\"\n type=\"checkbox\"\n #checkBox\n [checked]=\"isSelected(choice)\"\n (change)=\"select(choice, checkBox.checked)\"\n />\n <span class=\"ml-[8px] text-[14px] truncate\">\n {{ choice.label }}\n </span>\n </label>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i4.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: i5.NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
159
159
  }
160
160
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownMultiselectComponent, decorators: [{
161
161
  type: Component,
162
- args: [{ selector: 'gn-ui-dropdown-multiselect', changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-button\n type=\"outline\"\n extraClass=\"bg-background w-full !p-[8px] !pl-[16px]\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n (keydown)=\"handleTriggerKeydown($event)\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n>\n <div class=\"grow flex items-center mr-2 gap-2 overflow-hidden\">\n <div class=\"text-left font-medium truncate py-1\">\n {{ title }}\n </div>\n <div\n *ngIf=\"hasSelectedChoices\"\n class=\"gn-ui-multiselect-counter shrink-0 rounded-full font-bold text-[12px] w-5 h-5 flex items-center justify-center mr-1 selected-count\"\n >\n {{ selected.length }}\n </div>\n </div>\n <button class=\"h-6 w-6\" data-cy=\"clearSelection\">\n <ng-icon\n class=\"shrink-0 opacity-40 mr-1.5 hover:opacity-80 transition-colors clear-btn\"\n *ngIf=\"hasSelectedChoices && !overlayOpen\"\n (click)=\"clearSelection($event)\"\n name=\"matClose\"\n ></ng-icon>\n </button>\n <ng-icon\n [name]=\"overlayOpen ? 'matExpandLess' : 'matExpandMore'\"\n class=\"shrink-0 opacity-40\"\n >\n </ng-icon>\n</gn-ui-button>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n #overlayContainer\n >\n <div\n class=\"border border-gray-300 rounded mb-2 mx-2 min-h-[44px] flex flex-row flex-wrap p-2 focus-within:rounded focus-within:border-2 focus-within:border-primary\"\n >\n <button\n type=\"button\"\n *ngFor=\"let selected of selectedChoices\"\n [title]=\"selected.label\"\n class=\"max-w-full bg-main text-white rounded pr-[7px] flex gap-1 items-center opacity-70 hover:opacity-100 focus:opacity-100 transition-opacity mb-1\"\n (click)=\"select(selected, false)\"\n >\n <div class=\"text-sm truncate leading-[26px] px-2\">\n {{ selected.label }}\n </div>\n <div\n class=\"flex items-center justify-center rounded-full bg-white text-main h-[13px] w-[13px] pt-px -mt-px shrink-0\"\n >\n <ng-icon\n name=\"matClose\"\n class=\"!h-[12px] !w-[11px] text-[12px]\"\n ></ng-icon>\n </div>\n </button>\n\n <div *ngIf=\"allowSearch\" class=\"w-[50%] relative grow shrink\">\n <input\n #searchFieldInput\n class=\"w-full px-2 truncate text-[14px] h-full overlaySearchInput focus:outline-none\"\n [(ngModel)]=\"searchInputValue\"\n [placeholder]=\"'multiselect.filter.placeholder' | translate\"\n />\n <button\n *ngIf=\"!!searchInputValue\"\n class=\"absolute top-1/2 -translate-y-1/2 right-0 px-[7px] leading-tight clear-search-input mr-2\"\n (click)=\"clearSearchInputValue($event)\"\n >\n <ng-icon class=\"!h-[10px] !w-[12px] text-[12px]\" name=\"matClose\">\n </ng-icon>\n </button>\n </div>\n </div>\n\n <label\n *ngFor=\"let choice of filteredChoicesByText\"\n [title]=\"choice.label\"\n class=\"flex px-5 py-1 w-full text-gray-900 cursor-pointer hover:text-primary-darkest hover:bg-gray-50 focus-within:text-primary-darkest focus-within:bg-gray-50 transition-colors\"\n >\n <input\n class=\"w-[18px] h-[18px] align-text-top shrink-0\"\n type=\"checkbox\"\n #checkBox\n [checked]=\"isSelected(choice)\"\n (change)=\"select(choice, checkBox.checked)\"\n />\n <span class=\"ml-[8px] text-[14px] truncate\">\n {{ choice.label }}\n </span>\n </label>\n </div>\n</ng-template>\n" }]
162
+ args: [{ selector: 'gn-ui-dropdown-multiselect', changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-button\n type=\"outline\"\n extraClass=\"bg-background w-full !p-[8px] !pl-[16px]\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n (keydown)=\"handleTriggerKeydown($event)\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n>\n <div class=\"grow flex items-center mr-2 gap-2 overflow-hidden\">\n <div class=\"text-left font-medium truncate py-1\">\n {{ title }}\n </div>\n <div\n *ngIf=\"hasSelectedChoices\"\n class=\"gn-ui-multiselect-counter shrink-0 rounded-full font-bold text-[12px] w-5 h-5 flex items-center justify-center mr-1 selected-count\"\n >\n {{ selected.length }}\n </div>\n </div>\n <button class=\"h-6 w-6\" data-cy=\"clearSelection\">\n <ng-icon\n class=\"shrink-0 opacity-40 mr-1.5 hover:opacity-80 transition-colors clear-btn\"\n *ngIf=\"hasSelectedChoices && !overlayOpen\"\n (click)=\"clearSelection($event)\"\n name=\"matClose\"\n ></ng-icon>\n </button>\n <ng-icon\n [name]=\"overlayOpen ? 'matExpandLess' : 'matExpandMore'\"\n class=\"shrink-0 opacity-40\"\n >\n </ng-icon>\n</gn-ui-button>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n #overlayContainer\n >\n <div\n class=\"border border-gray-300 rounded mb-2 mx-2 min-h-[44px] flex flex-row gap-[2px] flex-wrap p-2 focus-within:rounded focus-within:border-2 focus-within:border-primary\"\n >\n <button\n type=\"button\"\n *ngFor=\"let selected of selectedChoices\"\n [title]=\"selected.label\"\n class=\"max-w-full bg-main text-white rounded pr-[7px] flex gap-1 items-center opacity-70 hover:opacity-100 focus:opacity-100 transition-opacity mb-1\"\n (click)=\"select(selected, false)\"\n >\n <div class=\"text-sm truncate leading-[26px] px-2\">\n {{ selected.label }}\n </div>\n <div\n class=\"flex items-center justify-center rounded-full bg-white text-main h-[13px] w-[13px] pt-px -mt-px shrink-0\"\n >\n <ng-icon\n name=\"matClose\"\n class=\"!h-[12px] !w-[11px] text-[12px]\"\n ></ng-icon>\n </div>\n </button>\n\n <div *ngIf=\"allowSearch\" class=\"w-[50%] relative grow shrink\">\n <input\n #searchFieldInput\n class=\"w-full px-2 truncate text-[14px] h-full overlaySearchInput focus:outline-none\"\n [(ngModel)]=\"searchInputValue\"\n [placeholder]=\"'multiselect.filter.placeholder' | translate\"\n />\n <button\n *ngIf=\"!!searchInputValue\"\n class=\"absolute top-1/2 -translate-y-1/2 right-0 px-[7px] leading-tight clear-search-input mr-2\"\n (click)=\"clearSearchInputValue($event)\"\n >\n <ng-icon class=\"!h-[10px] !w-[12px] text-[12px]\" name=\"matClose\">\n </ng-icon>\n </button>\n </div>\n </div>\n\n <label\n *ngFor=\"let choice of filteredChoicesByText\"\n [title]=\"choice.label\"\n class=\"flex px-5 py-1 w-full text-gray-900 cursor-pointer hover:text-primary-darkest hover:bg-gray-50 focus-within:text-primary-darkest focus-within:bg-gray-50 transition-colors\"\n >\n <input\n class=\"w-[18px] h-[18px] align-text-top shrink-0\"\n type=\"checkbox\"\n #checkBox\n [checked]=\"isSelected(choice)\"\n (change)=\"select(choice, checkBox.checked)\"\n />\n <span class=\"ml-[8px] text-[14px] truncate\">\n {{ choice.label }}\n </span>\n </label>\n </div>\n</ng-template>\n" }]
163
163
  }], ctorParameters: () => [{ type: i1.ScrollStrategyOptions }], propDecorators: { title: [{
164
164
  type: Input
165
165
  }], choices: [{
@@ -190,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
190
190
  type: ViewChildren,
191
191
  args: ['checkBox', { read: ElementRef }]
192
192
  }] } });
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9kcm9wZG93bi1tdWx0aXNlbGVjdC9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2Ryb3Bkb3duLW11bHRpc2VsZWN0L2Ryb3Bkb3duLW11bHRpc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUVoQixxQkFBcUIsR0FDdEIsTUFBTSxzQkFBc0IsQ0FBQTtBQUM3QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFckMsT0FBTyxFQUNMLGlCQUFpQixFQUNqQix1QkFBdUIsR0FDeEIsTUFBTSx3Q0FBd0MsQ0FBQTs7Ozs7Ozs7QUFRL0MsTUFBTSxPQUFPLDRCQUE0QjtJQXNDdkMsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUN4QixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUNyRCxDQUFBO0lBQ0gsQ0FBQztJQUVELElB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Q0FBQTtJQUNqQixDQUFDOytHQXpLVSw0QkFBNEI7bUdBQTVCLDRCQUE0QixtWkFTNUIsbUJBQW1CLGtJQUNTLFVBQVUsMkxBSWYsVUFBVSw2QkM1QzlDLDJ6SUF1SEE7OzRGRHpGYSw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNOzBGQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ3FCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDTSxPQUFPO3NCQUF0QyxTQUFTO3VCQUFDLG1CQUFtQjtnQkFFOUIsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUduRCxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBRzdCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcbiAgQ2RrT3ZlcmxheU9yaWdpbixcbiAgQ29ubmVjdGVkUG9zaXRpb24sXG4gIFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBDaG9pY2UgfSBmcm9tICcuL2Ryb3Bkb3duLW11bHRpc2VsZWN0Lm1vZGVsJ1xuaW1wb3J0IHtcbiAgY3JlYXRlRnV6enlGaWx0ZXIsXG4gIHByb3BhZ2F0ZVRvRG9jdW1lbnRPbmx5LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZHJvcGRvd24tbXVsdGlzZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bk11bHRpc2VsZWN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZ1xuICBASW5wdXQoKSBjaG9pY2VzOiBDaG9pY2VbXVxuICBASW5wdXQoKSBzZWxlY3RlZDogdW5rbm93bltdID0gW11cbiAgQElucHV0KCkgYWxsb3dTZWFyY2ggPSB0cnVlXG4gIEBJbnB1dCgpIG1heFJvd3M6IG51bWJlclxuICBASW5wdXQoKSBzZWFyY2hJbnB1dFZhbHVlID0gJydcbiAgQE91dHB1dCgpIHNlbGVjdFZhbHVlcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bltdPigpXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlPcmlnaW4nKSBvdmVybGF5T3JpZ2luOiBDZGtPdmVybGF5T3JpZ2luXG4gIEBWaWV3Q2hpbGQoQ2RrQ29ubmVjdGVkT3ZlcmxheSkgb3ZlcmxheTogQ2RrQ29ubmVjdGVkT3ZlcmxheVxuICBAVmlld0NoaWxkKCdvdmVybGF5Q29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIG92ZXJsYXlDb250YWluZXI6IEVsZW1lbnRSZWZcbiAgQFZpZXdDaGlsZCgnc2VhcmNoRmllbGRJbnB1dCcpXG4gIHNlYXJjaEZpZWxkSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cbiAgQFZpZXdDaGlsZHJlbignY2hlY2tCb3gnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgY2hlY2tib3hlczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+XG4gIG92ZXJsYXlQb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXG4gICAge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICBvZmZzZXRZOiA4LFxuICAgIH0sXG4gICAge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICBvZmZzZXRZOiAtOCxcbiAgICB9LFxuICBdXG4gIHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICBvdmVybGF5T3BlbiA9IGZhbHNlXG4gIG92ZXJsYXlXaWR0aCA9ICdhdXRvJ1xuICBvdmVybGF5TWF4SGVpZ2h0ID0gJ25vbmUnXG4gIGlkID0gYGRyb3Bkb3duLW11bHRpc2VsZWN0LSR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDApfWBcblxuICBnZXQgaGFzU2VsZWN0ZWRDaG9pY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmxlbmd0aCA+IDBcbiAgfVxuXG4gIGdldCBzZWxlY3RlZENob2ljZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hvaWNlcy5maWx0ZXIoXG4gICAgICAoY2hvaWNlKSA9PiB0aGlzLnNlbGVjdGVkLmluZGV4T2YoY2hvaWNlLnZhbHVlKSA+IC0xXG4gICAgKVxuICB9XG5cbiAgZ2V0IGZpbHRlcmVkQ2hvaWNlc0J5VGV4dCgpIHtcbiAgICBpZiAoIXRoaXMuc2VhcmNoSW5wdXRWYWx1ZSkgcmV0dXJuIHRoaXMuY2hvaWNlc1xuICAgIGNvbnN0IGZpbHRlciA9IGNyZWF0ZUZ1enp5RmlsdGVyKHRoaXMuc2VhcmNoSW5wdXRWYWx1ZSlcbiAgICByZXR1cm4gdGhpcy5jaG9pY2VzLmZpbHRlcigoY2hvaWNlKSA9PiBmaWx0ZXIoY2hvaWNlLmxhYmVsKSlcbiAgfVxuXG4gIGdldCBmb2N1c2VkSW5kZXgoKTogbnVtYmVyIHwgLTEge1xuICAgIHJldHVybiB0aGlzLmNoZWNrYm94ZXMucmVkdWNlKFxuICAgICAgKHByZXYsIGN1cnIsIGN1ckluZGV4KSA9PlxuICAgICAgICBjdXJyLm5hdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPyBjdXJJbmRleCA6IHByZXYsXG4gICAgICAtMVxuICAgIClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2Nyb2xsU3RyYXRlZ2llczogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zKSB7fVxuXG4gIHByaXZhdGUgc2V0Rm9jdXMoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNlYXJjaEZpZWxkSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgfSwgMClcbiAgfVxuXG4gIG9wZW5PdmVybGF5KCkge1xuICAgIHRoaXMub3ZlcmxheVdpZHRoID1cbiAgICAgIHRoaXMub3ZlcmxheU9yaWdpbi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgICAgLndpZHRoICsgJ3B4J1xuICAgIHRoaXMub3ZlcmxheU1heEhlaWdodCA9IHRoaXMubWF4Um93c1xuICAgICAgPyBgJHt0aGlzLm1heFJvd3MgKiAyOSArIDYwfXB4YFxuICAgICAgOiAnbm9uZSdcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gdHJ1ZVxuICAgIHRoaXMuc2V0Rm9jdXMoKVxuXG4gICAgLy8gdGhpcyB3aWxsIHdhaXQgZm9yIHRoZSBjaGVja2JveGVzIHRvIGJlIHJlZmVyZW5jZWQgYW5kIHRoZSBvdmVybGF5IHRvIGJlIGF0dGFjaGVkXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICAgIHRoaXMub3ZlcmxheS5hdHRhY2gucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKSxcbiAgICAgIHRoaXMuY2hlY2tib3hlcy5jaGFuZ2VzLnBpcGUodGFrZSgxKSkudG9Qcm9taXNlKCksXG4gICAgXSlcbiAgfVxuXG4gIGNsb3NlT3ZlcmxheSgpIHtcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gZmFsc2VcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZVRyaWdnZXJLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmNvZGVcbiAgICBjb25zdCBpc09wZW5LZXkgPVxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93RG93bicgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1VwJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93TGVmdCcgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0JyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0VudGVyJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ1NwYWNlJ1xuICAgIGNvbnN0IGlzQ2xvc2VLZXkgPSBrZXlDb2RlID09PSAnRXNjYXBlJyB8fCBpc09wZW5LZXlcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4gJiYgaXNPcGVuS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBhd2FpdCB0aGlzLm9wZW5PdmVybGF5KClcbiAgICAgIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHRoaXMuZm9jdXNMYXN0SXRlbSgpXG4gICAgICBlbHNlIHRoaXMuZm9jdXNGaXJzdEl0ZW0oKVxuICAgIH0gZWxzZSBpZiAodGhpcy5vdmVybGF5T3BlbiAmJiBpc0Nsb3NlS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlT3ZlcmxheUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4pIHJldHVyblxuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5jb2RlXG4gICAgaWYgKGtleUNvZGUgPT09ICdBcnJvd0Rvd24nIHx8IGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnRbJ3R5cGUnXSAhPT0gJ2NoZWNrYm94Jykge1xuICAgICAgICB0aGlzLmZvY3VzRmlyc3RJdGVtKClcbiAgICAgIH0gZWxzZSB0aGlzLnNoaWZ0SXRlbUZvY3VzKDEpXG4gICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIHRoaXMuc2hpZnRJdGVtRm9jdXMoLTEpXG4gICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5jbG9zZU92ZXJsYXkoKVxuICAgIH1cbiAgfVxuXG4gIGZvY3VzRmlyc3RJdGVtKCkge1xuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQoMCkubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gIH1cblxuICBmb2N1c0xhc3RJdGVtKCkge1xuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQodGhpcy5jaGVja2JveGVzLmxlbmd0aCAtIDEpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgc2hpZnRJdGVtRm9jdXMoc2hpZnQ6IG51bWJlcikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mb2N1c2VkSW5kZXhcbiAgICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm5cbiAgICBjb25zdCBtYXggPSB0aGlzLmNoZWNrYm94ZXMubGVuZ3RoXG4gICAgLy8gbW9kdWxvLCBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvT3BlcmF0b3JzL1JlbWFpbmRlclxuICAgIGNvbnN0IG5ld0luZGV4ID0gKCgoaW5kZXggKyBzaGlmdCkgJSBtYXgpICsgbWF4KSAlIG1heFxuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQobmV3SW5kZXgpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgaXNTZWxlY3RlZChjaG9pY2U6IENob2ljZSkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmluZGV4T2YoY2hvaWNlLnZhbHVlKSA+IC0xXG4gIH1cblxuICBzZWxlY3QoY2hvaWNlOiBDaG9pY2UsIHNlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkXG4gICAgICA/IFsuLi50aGlzLnNlbGVjdGVkLmZpbHRlcigodikgPT4gdiAhPT0gY2hvaWNlLnZhbHVlKSwgY2hvaWNlLnZhbHVlXVxuICAgICAgOiB0aGlzLnNlbGVjdGVkLmZpbHRlcigodikgPT4gdiAhPT0gY2hvaWNlLnZhbHVlKVxuICAgIHRoaXMuc2VsZWN0VmFsdWVzLmVtaXQodGhpcy5zZWxlY3RlZClcbiAgfVxuXG4gIHRvZ2dsZShjaG9pY2U6IENob2ljZSkge1xuICAgIHRoaXMuc2VsZWN0KGNob2ljZSwgIXRoaXMuaXNTZWxlY3RlZChjaG9pY2UpKVxuICB9XG5cbiAgY2xlYXJTZWxlY3Rpb24oZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3RWYWx1ZXMuZW1pdChbXSlcbiAgICBwcm9wYWdhdGVUb0RvY3VtZW50T25seShldmVudClcbiAgfVxuXG4gIGNsZWFyU2VhcmNoSW5wdXRWYWx1ZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLnNlYXJjaElucHV0VmFsdWUgPSAnJ1xuICAgIHByb3BhZ2F0ZVRvRG9jdW1lbnRPbmx5KGV2ZW50KVxuICAgIHRoaXMuc2V0Rm9jdXMoKVxuICB9XG59XG4iLCI8Z24tdWktYnV0dG9uXG4gIHR5cGU9XCJvdXRsaW5lXCJcbiAgZXh0cmFDbGFzcz1cImJnLWJhY2tncm91bmQgdy1mdWxsICFwLVs4cHhdICFwbC1bMTZweF1cIlxuICBbdGl0bGVdPVwidGl0bGVcIlxuICBbYXR0ci5hcmlhLW93bnNdPVwiaWRcIlxuICAoYnV0dG9uQ2xpY2spPVwib3Blbk92ZXJsYXkoKVwiXG4gIChrZXlkb3duKT1cImhhbmRsZVRyaWdnZXJLZXlkb3duKCRldmVudClcIlxuICBjZGtPdmVybGF5T3JpZ2luXG4gICNvdmVybGF5T3JpZ2luPVwiY2RrT3ZlcmxheU9yaWdpblwiXG4+XG4gIDxkaXYgY2xhc3M9XCJncm93IGZsZXggaXRlbXMtY2VudGVyIG1yLTIgZ2FwLTIgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgPGRpdiBjbGFzcz1cInRleHQtbGVmdCBmb250LW1lZGl1bSB0cnVuY2F0ZSBweS0xXCI+XG4gICAgICB7eyB0aXRsZSB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiaGFzU2VsZWN0ZWRDaG9pY2VzXCJcbiAgICAgIGNsYXNzPVwiZ24tdWktbXVsdGlzZWxlY3QtY291bnRlciBzaHJpbmstMCByb3VuZGVkLWZ1bGwgZm9udC1ib2xkIHRleHQtWzEycHhdIHctNSBoLTUgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbXItMSBzZWxlY3RlZC1jb3VudFwiXG4gICAgPlxuICAgICAge3sgc2VsZWN0ZWQubGVuZ3RoIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YnV0dG9uIGNsYXNzPVwiaC02IHctNlwiIGRhdGEtY3k9XCJjbGVhclNlbGVjdGlvblwiPlxuICAgIDxuZy1pY29uXG4gICAgICBjbGFzcz1cInNocmluay0wIG9wYWNpdHktNDAgbXItMS41IGhvdmVyOm9wYWNpdHktODAgdHJhbnNpdGlvbi1jb2xvcnMgY2xlYXItYnRuXCJcbiAgICAgICpuZ0lmPVwiaGFzU2VsZWN0ZWRDaG9pY2VzICYmICFvdmVybGF5T3BlblwiXG4gICAgICAoY2xpY2spPVwiY2xlYXJTZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgICBuYW1lPVwibWF0Q2xvc2VcIlxuICAgID48L25nLWljb24+XG4gIDwvYnV0dG9uPlxuICA8bmctaWNvblxuICAgIFtuYW1lXT1cIm92ZXJsYXlPcGVuID8gJ21hdEV4cGFuZExlc3MnIDogJ21hdEV4cGFuZE1vcmUnXCJcbiAgICBjbGFzcz1cInNocmluay0wIG9wYWNpdHktNDBcIlxuICA+XG4gIDwvbmctaWNvbj5cbjwvZ24tdWktYnV0dG9uPlxuXG48bmctdGVtcGxhdGVcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICBjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3M9XCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cIm92ZXJsYXlPcmlnaW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwib3ZlcmxheU9wZW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJvdmVybGF5UG9zaXRpb25zXCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlTY3JvbGxTdHJhdGVneV09XCJzY3JvbGxTdHJhdGVneVwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5RmxleGlibGVEaW1lbnNpb25zXT1cInRydWVcIlxuICAob3ZlcmxheU91dHNpZGVDbGljayk9XCJjbG9zZU92ZXJsYXkoKVwiXG4gIChkZXRhY2gpPVwiY2xvc2VPdmVybGF5KClcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQgc2hhZG93LWxnIHB5LTIgdy1mdWxsIG92ZXJmbG93LXgtaGlkZGVuIG92ZXJmbG93LXktYXV0byBvdmVybGF5LWNvbnRhaW5lclwiXG4gICAgW3N0eWxlLm1heC1oZWlnaHRdPVwib3ZlcmxheU1heEhlaWdodFwiXG4gICAgW3N0eWxlLndpZHRoXT1cIm92ZXJsYXlXaWR0aFwiXG4gICAgcm9sZT1cImxpc3Rib3hcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIFthdHRyLmlkXT1cImlkXCJcbiAgICBbYXR0ci5hcmlhLW11bHRpc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRpdGxlXCJcbiAgICAoa2V5ZG93bik9XCJoYW5kbGVPdmVybGF5S2V5ZG93bigkZXZlbnQpXCJcbiAgICAjb3ZlcmxheUNvbnRhaW5lclxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQgbWItMiBteC0yIG1pbi1oLVs0NHB4XSBmbGV4IGZsZXgtcm93IGZsZXgtd3JhcCBwLTIgZm9jdXMtd2l0aGluOnJvdW5kZWQgZm9jdXMtd2l0aGluOmJvcmRlci0yIGZvY3VzLXdpdGhpbjpib3JkZXItcHJpbWFyeVwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IHNlbGVjdGVkIG9mIHNlbGVjdGVkQ2hvaWNlc1wiXG4gICAgICAgIFt0aXRsZV09XCJzZWxlY3RlZC5sYWJlbFwiXG4gICAgICAgIGNsYXNzPVwibWF4LXctZnVsbCBiZy1tYWluIHRleHQtd2hpdGUgcm91bmRlZCBwci1bN3B4XSBmbGV4IGdhcC0xIGl0ZW1zLWNlbnRlciBvcGFjaXR5LTcwIGhvdmVyOm9wYWNpdHktMTAwIGZvY3VzOm9wYWNpdHktMTAwIHRyYW5zaXRpb24tb3BhY2l0eSBtYi0xXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdChzZWxlY3RlZCwgZmFsc2UpXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gdHJ1bmNhdGUgbGVhZGluZy1bMjZweF0gcHgtMlwiPlxuICAgICAgICAgIHt7IHNlbGVjdGVkLmxhYmVsIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgYmctd2hpdGUgdGV4dC1tYWluIGgtWzEzcHhdIHctWzEzcHhdIHB0LXB4IC1tdC1weCBzaHJpbmstMFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctaWNvblxuICAgICAgICAgICAgbmFtZT1cIm1hdENsb3NlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiIWgtWzEycHhdICF3LVsxMXB4XSB0ZXh0LVsxMnB4XVwiXG4gICAgICAgICAgPjwvbmctaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGRpdiAqbmdJZj1cImFsbG93U2VhcmNoXCIgY2xhc3M9XCJ3LVs1MCVdIHJlbGF0aXZlIGdyb3cgc2hyaW5rXCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICNzZWFyY2hGaWVsZElucHV0XG4gICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcHgtMiB0cnVuY2F0ZSB0ZXh0LVsxNHB4XSBoLWZ1bGwgb3ZlcmxheVNlYXJjaElucHV0IGZvY3VzOm91dGxpbmUtbm9uZVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hJbnB1dFZhbHVlXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ211bHRpc2VsZWN0LmZpbHRlci5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAvPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCIhIXNlYXJjaElucHV0VmFsdWVcIlxuICAgICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgdG9wLTEvMiAtdHJhbnNsYXRlLXktMS8yIHJpZ2h0LTAgcHgtWzdweF0gbGVhZGluZy10aWdodCBjbGVhci1zZWFyY2gtaW5wdXQgbXItMlwiXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VhcmNoSW5wdXRWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1pY29uIGNsYXNzPVwiIWgtWzEwcHhdICF3LVsxMnB4XSB0ZXh0LVsxMnB4XVwiIG5hbWU9XCJtYXRDbG9zZVwiPlxuICAgICAgICAgIDwvbmctaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxsYWJlbFxuICAgICAgKm5nRm9yPVwibGV0IGNob2ljZSBvZiBmaWx0ZXJlZENob2ljZXNCeVRleHRcIlxuICAgICAgW3RpdGxlXT1cImNob2ljZS5sYWJlbFwiXG4gICAgICBjbGFzcz1cImZsZXggcHgtNSBweS0xIHctZnVsbCB0ZXh0LWdyYXktOTAwIGN1cnNvci1wb2ludGVyIGhvdmVyOnRleHQtcHJpbWFyeS1kYXJrZXN0IGhvdmVyOmJnLWdyYXktNTAgZm9jdXMtd2l0aGluOnRleHQtcHJpbWFyeS1kYXJrZXN0IGZvY3VzLXdpdGhpbjpiZy1ncmF5LTUwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICA+XG4gICAgICA8aW5wdXRcbiAgICAgICAgY2xhc3M9XCJ3LVsxOHB4XSBoLVsxOHB4XSBhbGlnbi10ZXh0LXRvcCBzaHJpbmstMFwiXG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICNjaGVja0JveFxuICAgICAgICBbY2hlY2tlZF09XCJpc1NlbGVjdGVkKGNob2ljZSlcIlxuICAgICAgICAoY2hhbmdlKT1cInNlbGVjdChjaG9pY2UsIGNoZWNrQm94LmNoZWNrZWQpXCJcbiAgICAgIC8+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1sLVs4cHhdIHRleHQtWzE0cHhdIHRydW5jYXRlXCI+XG4gICAgICAgIHt7IGNob2ljZS5sYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9kcm9wZG93bi1tdWx0aXNlbGVjdC9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2Ryb3Bkb3duLW11bHRpc2VsZWN0L2Ryb3Bkb3duLW11bHRpc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUVoQixxQkFBcUIsR0FDdEIsTUFBTSxzQkFBc0IsQ0FBQTtBQUM3QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFckMsT0FBTyxFQUNMLGlCQUFpQixFQUNqQix1QkFBdUIsR0FDeEIsTUFBTSx3Q0FBd0MsQ0FBQTs7Ozs7Ozs7QUFRL0MsTUFBTSxPQUFPLDRCQUE0QjtJQXNDdkMsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUN4QixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUNyRCxDQUFBO0lBQ0gsQ0FBQztJQUVELElB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Q0FBQTtJQUNqQixDQUFDOytHQXpLVSw0QkFBNEI7bUdBQTVCLDRCQUE0QixtWkFTNUIsbUJBQW1CLGtJQUNTLFVBQVUsMkxBSWYsVUFBVSw2QkM1QzlDLHEwSUF1SEE7OzRGRHpGYSw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNOzBGQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ3FCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDTSxPQUFPO3NCQUF0QyxTQUFTO3VCQUFDLG1CQUFtQjtnQkFFOUIsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUduRCxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBRzdCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcbiAgQ2RrT3ZlcmxheU9yaWdpbixcbiAgQ29ubmVjdGVkUG9zaXRpb24sXG4gIFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBDaG9pY2UgfSBmcm9tICcuL2Ryb3Bkb3duLW11bHRpc2VsZWN0Lm1vZGVsJ1xuaW1wb3J0IHtcbiAgY3JlYXRlRnV6enlGaWx0ZXIsXG4gIHByb3BhZ2F0ZVRvRG9jdW1lbnRPbmx5LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZHJvcGRvd24tbXVsdGlzZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bk11bHRpc2VsZWN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZ1xuICBASW5wdXQoKSBjaG9pY2VzOiBDaG9pY2VbXVxuICBASW5wdXQoKSBzZWxlY3RlZDogdW5rbm93bltdID0gW11cbiAgQElucHV0KCkgYWxsb3dTZWFyY2ggPSB0cnVlXG4gIEBJbnB1dCgpIG1heFJvd3M6IG51bWJlclxuICBASW5wdXQoKSBzZWFyY2hJbnB1dFZhbHVlID0gJydcbiAgQE91dHB1dCgpIHNlbGVjdFZhbHVlcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bltdPigpXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlPcmlnaW4nKSBvdmVybGF5T3JpZ2luOiBDZGtPdmVybGF5T3JpZ2luXG4gIEBWaWV3Q2hpbGQoQ2RrQ29ubmVjdGVkT3ZlcmxheSkgb3ZlcmxheTogQ2RrQ29ubmVjdGVkT3ZlcmxheVxuICBAVmlld0NoaWxkKCdvdmVybGF5Q29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIG92ZXJsYXlDb250YWluZXI6IEVsZW1lbnRSZWZcbiAgQFZpZXdDaGlsZCgnc2VhcmNoRmllbGRJbnB1dCcpXG4gIHNlYXJjaEZpZWxkSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cbiAgQFZpZXdDaGlsZHJlbignY2hlY2tCb3gnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgY2hlY2tib3hlczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+XG4gIG92ZXJsYXlQb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXG4gICAge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICBvZmZzZXRZOiA4LFxuICAgIH0sXG4gICAge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICBvZmZzZXRZOiAtOCxcbiAgICB9LFxuICBdXG4gIHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICBvdmVybGF5T3BlbiA9IGZhbHNlXG4gIG92ZXJsYXlXaWR0aCA9ICdhdXRvJ1xuICBvdmVybGF5TWF4SGVpZ2h0ID0gJ25vbmUnXG4gIGlkID0gYGRyb3Bkb3duLW11bHRpc2VsZWN0LSR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDApfWBcblxuICBnZXQgaGFzU2VsZWN0ZWRDaG9pY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmxlbmd0aCA+IDBcbiAgfVxuXG4gIGdldCBzZWxlY3RlZENob2ljZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hvaWNlcy5maWx0ZXIoXG4gICAgICAoY2hvaWNlKSA9PiB0aGlzLnNlbGVjdGVkLmluZGV4T2YoY2hvaWNlLnZhbHVlKSA+IC0xXG4gICAgKVxuICB9XG5cbiAgZ2V0IGZpbHRlcmVkQ2hvaWNlc0J5VGV4dCgpIHtcbiAgICBpZiAoIXRoaXMuc2VhcmNoSW5wdXRWYWx1ZSkgcmV0dXJuIHRoaXMuY2hvaWNlc1xuICAgIGNvbnN0IGZpbHRlciA9IGNyZWF0ZUZ1enp5RmlsdGVyKHRoaXMuc2VhcmNoSW5wdXRWYWx1ZSlcbiAgICByZXR1cm4gdGhpcy5jaG9pY2VzLmZpbHRlcigoY2hvaWNlKSA9PiBmaWx0ZXIoY2hvaWNlLmxhYmVsKSlcbiAgfVxuXG4gIGdldCBmb2N1c2VkSW5kZXgoKTogbnVtYmVyIHwgLTEge1xuICAgIHJldHVybiB0aGlzLmNoZWNrYm94ZXMucmVkdWNlKFxuICAgICAgKHByZXYsIGN1cnIsIGN1ckluZGV4KSA9PlxuICAgICAgICBjdXJyLm5hdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPyBjdXJJbmRleCA6IHByZXYsXG4gICAgICAtMVxuICAgIClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2Nyb2xsU3RyYXRlZ2llczogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zKSB7fVxuXG4gIHByaXZhdGUgc2V0Rm9jdXMoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNlYXJjaEZpZWxkSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgfSwgMClcbiAgfVxuXG4gIG9wZW5PdmVybGF5KCkge1xuICAgIHRoaXMub3ZlcmxheVdpZHRoID1cbiAgICAgIHRoaXMub3ZlcmxheU9yaWdpbi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgICAgLndpZHRoICsgJ3B4J1xuICAgIHRoaXMub3ZlcmxheU1heEhlaWdodCA9IHRoaXMubWF4Um93c1xuICAgICAgPyBgJHt0aGlzLm1heFJvd3MgKiAyOSArIDYwfXB4YFxuICAgICAgOiAnbm9uZSdcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gdHJ1ZVxuICAgIHRoaXMuc2V0Rm9jdXMoKVxuXG4gICAgLy8gdGhpcyB3aWxsIHdhaXQgZm9yIHRoZSBjaGVja2JveGVzIHRvIGJlIHJlZmVyZW5jZWQgYW5kIHRoZSBvdmVybGF5IHRvIGJlIGF0dGFjaGVkXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICAgIHRoaXMub3ZlcmxheS5hdHRhY2gucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKSxcbiAgICAgIHRoaXMuY2hlY2tib3hlcy5jaGFuZ2VzLnBpcGUodGFrZSgxKSkudG9Qcm9taXNlKCksXG4gICAgXSlcbiAgfVxuXG4gIGNsb3NlT3ZlcmxheSgpIHtcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gZmFsc2VcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZVRyaWdnZXJLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmNvZGVcbiAgICBjb25zdCBpc09wZW5LZXkgPVxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93RG93bicgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1VwJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93TGVmdCcgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0JyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0VudGVyJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ1NwYWNlJ1xuICAgIGNvbnN0IGlzQ2xvc2VLZXkgPSBrZXlDb2RlID09PSAnRXNjYXBlJyB8fCBpc09wZW5LZXlcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4gJiYgaXNPcGVuS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBhd2FpdCB0aGlzLm9wZW5PdmVybGF5KClcbiAgICAgIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHRoaXMuZm9jdXNMYXN0SXRlbSgpXG4gICAgICBlbHNlIHRoaXMuZm9jdXNGaXJzdEl0ZW0oKVxuICAgIH0gZWxzZSBpZiAodGhpcy5vdmVybGF5T3BlbiAmJiBpc0Nsb3NlS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlT3ZlcmxheUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4pIHJldHVyblxuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5jb2RlXG4gICAgaWYgKGtleUNvZGUgPT09ICdBcnJvd0Rvd24nIHx8IGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnRbJ3R5cGUnXSAhPT0gJ2NoZWNrYm94Jykge1xuICAgICAgICB0aGlzLmZvY3VzRmlyc3RJdGVtKClcbiAgICAgIH0gZWxzZSB0aGlzLnNoaWZ0SXRlbUZvY3VzKDEpXG4gICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIHRoaXMuc2hpZnRJdGVtRm9jdXMoLTEpXG4gICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5jbG9zZU92ZXJsYXkoKVxuICAgIH1cbiAgfVxuXG4gIGZvY3VzRmlyc3RJdGVtKCkge1xuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQoMCkubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gIH1cblxuICBmb2N1c0xhc3RJdGVtKCkge1xuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQodGhpcy5jaGVja2JveGVzLmxlbmd0aCAtIDEpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgc2hpZnRJdGVtRm9jdXMoc2hpZnQ6IG51bWJlcikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mb2N1c2VkSW5kZXhcbiAgICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm5cbiAgICBjb25zdCBtYXggPSB0aGlzLmNoZWNrYm94ZXMubGVuZ3RoXG4gICAgLy8gbW9kdWxvLCBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvT3BlcmF0b3JzL1JlbWFpbmRlclxuICAgIGNvbnN0IG5ld0luZGV4ID0gKCgoaW5kZXggKyBzaGlmdCkgJSBtYXgpICsgbWF4KSAlIG1heFxuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQobmV3SW5kZXgpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgaXNTZWxlY3RlZChjaG9pY2U6IENob2ljZSkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmluZGV4T2YoY2hvaWNlLnZhbHVlKSA+IC0xXG4gIH1cblxuICBzZWxlY3QoY2hvaWNlOiBDaG9pY2UsIHNlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkXG4gICAgICA/IFsuLi50aGlzLnNlbGVjdGVkLmZpbHRlcigodikgPT4gdiAhPT0gY2hvaWNlLnZhbHVlKSwgY2hvaWNlLnZhbHVlXVxuICAgICAgOiB0aGlzLnNlbGVjdGVkLmZpbHRlcigodikgPT4gdiAhPT0gY2hvaWNlLnZhbHVlKVxuICAgIHRoaXMuc2VsZWN0VmFsdWVzLmVtaXQodGhpcy5zZWxlY3RlZClcbiAgfVxuXG4gIHRvZ2dsZShjaG9pY2U6IENob2ljZSkge1xuICAgIHRoaXMuc2VsZWN0KGNob2ljZSwgIXRoaXMuaXNTZWxlY3RlZChjaG9pY2UpKVxuICB9XG5cbiAgY2xlYXJTZWxlY3Rpb24oZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3RWYWx1ZXMuZW1pdChbXSlcbiAgICBwcm9wYWdhdGVUb0RvY3VtZW50T25seShldmVudClcbiAgfVxuXG4gIGNsZWFyU2VhcmNoSW5wdXRWYWx1ZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLnNlYXJjaElucHV0VmFsdWUgPSAnJ1xuICAgIHByb3BhZ2F0ZVRvRG9jdW1lbnRPbmx5KGV2ZW50KVxuICAgIHRoaXMuc2V0Rm9jdXMoKVxuICB9XG59XG4iLCI8Z24tdWktYnV0dG9uXG4gIHR5cGU9XCJvdXRsaW5lXCJcbiAgZXh0cmFDbGFzcz1cImJnLWJhY2tncm91bmQgdy1mdWxsICFwLVs4cHhdICFwbC1bMTZweF1cIlxuICBbdGl0bGVdPVwidGl0bGVcIlxuICBbYXR0ci5hcmlhLW93bnNdPVwiaWRcIlxuICAoYnV0dG9uQ2xpY2spPVwib3Blbk92ZXJsYXkoKVwiXG4gIChrZXlkb3duKT1cImhhbmRsZVRyaWdnZXJLZXlkb3duKCRldmVudClcIlxuICBjZGtPdmVybGF5T3JpZ2luXG4gICNvdmVybGF5T3JpZ2luPVwiY2RrT3ZlcmxheU9yaWdpblwiXG4+XG4gIDxkaXYgY2xhc3M9XCJncm93IGZsZXggaXRlbXMtY2VudGVyIG1yLTIgZ2FwLTIgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgPGRpdiBjbGFzcz1cInRleHQtbGVmdCBmb250LW1lZGl1bSB0cnVuY2F0ZSBweS0xXCI+XG4gICAgICB7eyB0aXRsZSB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiaGFzU2VsZWN0ZWRDaG9pY2VzXCJcbiAgICAgIGNsYXNzPVwiZ24tdWktbXVsdGlzZWxlY3QtY291bnRlciBzaHJpbmstMCByb3VuZGVkLWZ1bGwgZm9udC1ib2xkIHRleHQtWzEycHhdIHctNSBoLTUgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbXItMSBzZWxlY3RlZC1jb3VudFwiXG4gICAgPlxuICAgICAge3sgc2VsZWN0ZWQubGVuZ3RoIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YnV0dG9uIGNsYXNzPVwiaC02IHctNlwiIGRhdGEtY3k9XCJjbGVhclNlbGVjdGlvblwiPlxuICAgIDxuZy1pY29uXG4gICAgICBjbGFzcz1cInNocmluay0wIG9wYWNpdHktNDAgbXItMS41IGhvdmVyOm9wYWNpdHktODAgdHJhbnNpdGlvbi1jb2xvcnMgY2xlYXItYnRuXCJcbiAgICAgICpuZ0lmPVwiaGFzU2VsZWN0ZWRDaG9pY2VzICYmICFvdmVybGF5T3BlblwiXG4gICAgICAoY2xpY2spPVwiY2xlYXJTZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgICBuYW1lPVwibWF0Q2xvc2VcIlxuICAgID48L25nLWljb24+XG4gIDwvYnV0dG9uPlxuICA8bmctaWNvblxuICAgIFtuYW1lXT1cIm92ZXJsYXlPcGVuID8gJ21hdEV4cGFuZExlc3MnIDogJ21hdEV4cGFuZE1vcmUnXCJcbiAgICBjbGFzcz1cInNocmluay0wIG9wYWNpdHktNDBcIlxuICA+XG4gIDwvbmctaWNvbj5cbjwvZ24tdWktYnV0dG9uPlxuXG48bmctdGVtcGxhdGVcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICBjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3M9XCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cIm92ZXJsYXlPcmlnaW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwib3ZlcmxheU9wZW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJvdmVybGF5UG9zaXRpb25zXCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlTY3JvbGxTdHJhdGVneV09XCJzY3JvbGxTdHJhdGVneVwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5RmxleGlibGVEaW1lbnNpb25zXT1cInRydWVcIlxuICAob3ZlcmxheU91dHNpZGVDbGljayk9XCJjbG9zZU92ZXJsYXkoKVwiXG4gIChkZXRhY2gpPVwiY2xvc2VPdmVybGF5KClcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQgc2hhZG93LWxnIHB5LTIgdy1mdWxsIG92ZXJmbG93LXgtaGlkZGVuIG92ZXJmbG93LXktYXV0byBvdmVybGF5LWNvbnRhaW5lclwiXG4gICAgW3N0eWxlLm1heC1oZWlnaHRdPVwib3ZlcmxheU1heEhlaWdodFwiXG4gICAgW3N0eWxlLndpZHRoXT1cIm92ZXJsYXlXaWR0aFwiXG4gICAgcm9sZT1cImxpc3Rib3hcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIFthdHRyLmlkXT1cImlkXCJcbiAgICBbYXR0ci5hcmlhLW11bHRpc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRpdGxlXCJcbiAgICAoa2V5ZG93bik9XCJoYW5kbGVPdmVybGF5S2V5ZG93bigkZXZlbnQpXCJcbiAgICAjb3ZlcmxheUNvbnRhaW5lclxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQgbWItMiBteC0yIG1pbi1oLVs0NHB4XSBmbGV4IGZsZXgtcm93IGdhcC1bMnB4XSBmbGV4LXdyYXAgcC0yIGZvY3VzLXdpdGhpbjpyb3VuZGVkIGZvY3VzLXdpdGhpbjpib3JkZXItMiBmb2N1cy13aXRoaW46Ym9yZGVyLXByaW1hcnlcIlxuICAgID5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBzZWxlY3RlZCBvZiBzZWxlY3RlZENob2ljZXNcIlxuICAgICAgICBbdGl0bGVdPVwic2VsZWN0ZWQubGFiZWxcIlxuICAgICAgICBjbGFzcz1cIm1heC13LWZ1bGwgYmctbWFpbiB0ZXh0LXdoaXRlIHJvdW5kZWQgcHItWzdweF0gZmxleCBnYXAtMSBpdGVtcy1jZW50ZXIgb3BhY2l0eS03MCBob3ZlcjpvcGFjaXR5LTEwMCBmb2N1czpvcGFjaXR5LTEwMCB0cmFuc2l0aW9uLW9wYWNpdHkgbWItMVwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3Qoc2VsZWN0ZWQsIGZhbHNlKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXNtIHRydW5jYXRlIGxlYWRpbmctWzI2cHhdIHB4LTJcIj5cbiAgICAgICAgICB7eyBzZWxlY3RlZC5sYWJlbCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIGJnLXdoaXRlIHRleHQtbWFpbiBoLVsxM3B4XSB3LVsxM3B4XSBwdC1weCAtbXQtcHggc2hyaW5rLTBcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWljb25cbiAgICAgICAgICAgIG5hbWU9XCJtYXRDbG9zZVwiXG4gICAgICAgICAgICBjbGFzcz1cIiFoLVsxMnB4XSAhdy1bMTFweF0gdGV4dC1bMTJweF1cIlxuICAgICAgICAgID48L25nLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJhbGxvd1NlYXJjaFwiIGNsYXNzPVwidy1bNTAlXSByZWxhdGl2ZSBncm93IHNocmlua1wiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAjc2VhcmNoRmllbGRJbnB1dFxuICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTIgdHJ1bmNhdGUgdGV4dC1bMTRweF0gaC1mdWxsIG92ZXJsYXlTZWFyY2hJbnB1dCBmb2N1czpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoSW5wdXRWYWx1ZVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidtdWx0aXNlbGVjdC5maWx0ZXIucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiISFzZWFyY2hJbnB1dFZhbHVlXCJcbiAgICAgICAgICBjbGFzcz1cImFic29sdXRlIHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiByaWdodC0wIHB4LVs3cHhdIGxlYWRpbmctdGlnaHQgY2xlYXItc2VhcmNoLWlucHV0IG1yLTJcIlxuICAgICAgICAgIChjbGljayk9XCJjbGVhclNlYXJjaElucHV0VmFsdWUoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctaWNvbiBjbGFzcz1cIiFoLVsxMHB4XSAhdy1bMTJweF0gdGV4dC1bMTJweF1cIiBuYW1lPVwibWF0Q2xvc2VcIj5cbiAgICAgICAgICA8L25nLWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bGFiZWxcbiAgICAgICpuZ0Zvcj1cImxldCBjaG9pY2Ugb2YgZmlsdGVyZWRDaG9pY2VzQnlUZXh0XCJcbiAgICAgIFt0aXRsZV09XCJjaG9pY2UubGFiZWxcIlxuICAgICAgY2xhc3M9XCJmbGV4IHB4LTUgcHktMSB3LWZ1bGwgdGV4dC1ncmF5LTkwMCBjdXJzb3ItcG9pbnRlciBob3Zlcjp0ZXh0LXByaW1hcnktZGFya2VzdCBob3ZlcjpiZy1ncmF5LTUwIGZvY3VzLXdpdGhpbjp0ZXh0LXByaW1hcnktZGFya2VzdCBmb2N1cy13aXRoaW46YmctZ3JheS01MCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgPlxuICAgICAgPGlucHV0XG4gICAgICAgIGNsYXNzPVwidy1bMThweF0gaC1bMThweF0gYWxpZ24tdGV4dC10b3Agc2hyaW5rLTBcIlxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAjY2hlY2tCb3hcbiAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChjaG9pY2UpXCJcbiAgICAgICAgKGNoYW5nZSk9XCJzZWxlY3QoY2hvaWNlLCBjaGVja0JveC5jaGVja2VkKVwiXG4gICAgICAvPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtbC1bOHB4XSB0ZXh0LVsxNHB4XSB0cnVuY2F0ZVwiPlxuICAgICAgICB7eyBjaG9pY2UubGFiZWwgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,42 @@
1
+ import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class InlineFilterComponent {
5
+ constructor() {
6
+ this.selected = [];
7
+ this.selectValues = new EventEmitter();
8
+ }
9
+ isSelected(choice) {
10
+ return (this.selected.indexOf(choice.value) > -1 ||
11
+ (this.selected.length === 0 && choice.value === 'all'));
12
+ }
13
+ select(choice, selected) {
14
+ if (choice.value === 'all' && selected) {
15
+ this.selected = [choice.value];
16
+ }
17
+ else {
18
+ this.selected = selected
19
+ ? [...this.selected.filter((v) => v !== choice.value), choice.value]
20
+ : this.selected.filter((v) => v !== choice.value);
21
+ // If any value selected, unselect all
22
+ this.selected = this.selected.filter((v) => v !== 'all');
23
+ }
24
+ this.selectValues.emit(this.selected);
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InlineFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InlineFilterComponent, selector: "gn-ui-inline-filter", inputs: { choices: "choices", selected: "selected" }, outputs: { selectValues: "selectValues" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ul class=\"flex flex-wrap list-none gap-2\">\n <li *ngFor=\"let choice of choices\">\n <label\n class=\"\"\n [ngClass]=\"{\n selected: isSelected(choice),\n }\"\n >\n <input\n class=\"hidden\"\n type=\"checkbox\"\n #checkBox\n [checked]=\"isSelected(choice)\"\n (change)=\"select(choice, checkBox.checked)\"\n [attr.data-cy]=\"'inlineFilter-' + choice.value\"\n />\n <ng-container\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: choice }\"\n >\n </ng-container>\n </label>\n </li>\n</ul>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InlineFilterComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'gn-ui-inline-filter', template: "<ul class=\"flex flex-wrap list-none gap-2\">\n <li *ngFor=\"let choice of choices\">\n <label\n class=\"\"\n [ngClass]=\"{\n selected: isSelected(choice),\n }\"\n >\n <input\n class=\"hidden\"\n type=\"checkbox\"\n #checkBox\n [checked]=\"isSelected(choice)\"\n (change)=\"select(choice, checkBox.checked)\"\n [attr.data-cy]=\"'inlineFilter-' + choice.value\"\n />\n <ng-container\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: choice }\"\n >\n </ng-container>\n </label>\n </li>\n</ul>\n" }]
32
+ }], propDecorators: { choices: [{
33
+ type: Input
34
+ }], selected: [{
35
+ type: Input
36
+ }], selectValues: [{
37
+ type: Output
38
+ }], itemTemplate: [{
39
+ type: ContentChild,
40
+ args: [TemplateRef]
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2lubGluZS1maWx0ZXIvaW5saW5lLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2lubGluZS1maWx0ZXIvaW5saW5lLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUE7OztBQU90QixNQUFNLE9BQU8scUJBQXFCO0lBSmxDO1FBTVcsYUFBUSxHQUFjLEVBQUUsQ0FBQTtRQUV2QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFhLENBQUE7S0F5QnZEO0lBckJDLFVBQVUsQ0FBQyxNQUFjO1FBQ3ZCLE9BQU8sQ0FDTCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQ3ZELENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWMsRUFBRSxRQUFpQjtRQUN0QyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDaEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVE7Z0JBQ3RCLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDcEUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBRW5ELHNDQUFzQztZQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUE7UUFDMUQsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUN2QyxDQUFDOytHQTVCVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixzTUFNbEIsV0FBVyxnRENwQjNCLGltQkF1QkE7OzRGRFRhLHFCQUFxQjtrQkFKakMsU0FBUzsrQkFDRSxxQkFBcUI7OEJBSXRCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBRW9CLFlBQVk7c0JBQXRDLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ2hvaWNlIH0gZnJvbSAnLi9pbmxpbmUtZmlsdGVyLm1vZGVsJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1pbmxpbmUtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lubGluZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBJbmxpbmVGaWx0ZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBjaG9pY2VzOiBDaG9pY2VbXVxuICBASW5wdXQoKSBzZWxlY3RlZDogdW5rbm93bltdID0gW11cblxuICBAT3V0cHV0KCkgc2VsZWN0VmFsdWVzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duW10+KClcblxuICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmKSBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT5cblxuICBpc1NlbGVjdGVkKGNob2ljZTogQ2hvaWNlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2VsZWN0ZWQuaW5kZXhPZihjaG9pY2UudmFsdWUpID4gLTEgfHxcbiAgICAgICh0aGlzLnNlbGVjdGVkLmxlbmd0aCA9PT0gMCAmJiBjaG9pY2UudmFsdWUgPT09ICdhbGwnKVxuICAgIClcbiAgfVxuXG4gIHNlbGVjdChjaG9pY2U6IENob2ljZSwgc2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoY2hvaWNlLnZhbHVlID09PSAnYWxsJyAmJiBzZWxlY3RlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZCA9IFtjaG9pY2UudmFsdWVdXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZFxuICAgICAgICA/IFsuLi50aGlzLnNlbGVjdGVkLmZpbHRlcigodikgPT4gdiAhPT0gY2hvaWNlLnZhbHVlKSwgY2hvaWNlLnZhbHVlXVxuICAgICAgICA6IHRoaXMuc2VsZWN0ZWQuZmlsdGVyKCh2KSA9PiB2ICE9PSBjaG9pY2UudmFsdWUpXG5cbiAgICAgIC8vIElmIGFueSB2YWx1ZSBzZWxlY3RlZCwgdW5zZWxlY3QgYWxsXG4gICAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZC5maWx0ZXIoKHYpID0+IHYgIT09ICdhbGwnKVxuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0VmFsdWVzLmVtaXQodGhpcy5zZWxlY3RlZClcbiAgfVxufVxuIiwiPHVsIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgbGlzdC1ub25lIGdhcC0yXCI+XG4gIDxsaSAqbmdGb3I9XCJsZXQgY2hvaWNlIG9mIGNob2ljZXNcIj5cbiAgICA8bGFiZWxcbiAgICAgIGNsYXNzPVwiXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgc2VsZWN0ZWQ6IGlzU2VsZWN0ZWQoY2hvaWNlKSxcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cImhpZGRlblwiXG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICNjaGVja0JveFxuICAgICAgICBbY2hlY2tlZF09XCJpc1NlbGVjdGVkKGNob2ljZSlcIlxuICAgICAgICAoY2hhbmdlKT1cInNlbGVjdChjaG9pY2UsIGNoZWNrQm94LmNoZWNrZWQpXCJcbiAgICAgICAgW2F0dHIuZGF0YS1jeV09XCInaW5saW5lRmlsdGVyLScgKyBjaG9pY2UudmFsdWVcIlxuICAgICAgLz5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjaG9pY2UgfVwiXG4gICAgICA+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2xhYmVsPlxuICA8L2xpPlxuPC91bD5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWZpbHRlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvaW5saW5lLWZpbHRlci9pbmxpbmUtZmlsdGVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENob2ljZSB7XG4gIHZhbHVlOiB1bmtub3duXG4gIGxhYmVsOiBzdHJpbmdcbiAgaWNvbj86IHN0cmluZ1xufVxuIl19
@@ -3,6 +3,7 @@ import { propagateToDocumentOnly } from '../../../../../../libs/util/shared/src'
3
3
  import { NgIcon, provideIcons } from '@ng-icons/core';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { matStar, matStarBorder } from '@ng-icons/material-icons/baseline';
6
+ import { ButtonComponent } from '../button/button.component';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@angular/common";
8
9
  export class StarToggleComponent {
@@ -24,11 +25,11 @@ export class StarToggleComponent {
24
25
  event.preventDefault();
25
26
  }
26
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StarToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StarToggleComponent, isStandalone: true, selector: "gn-ui-star-toggle", inputs: { toggled: "toggled", disabled: "disabled" }, outputs: { newValue: "newValue" }, viewQueries: [{ propertyName: "overlay", first: true, predicate: ["starOverlay"], descendants: true }], ngImport: i0, template: "<div class=\"inline-block relative align-middle\" style=\"line-height: 0.7em\">\n <button\n type=\"button\"\n class=\"-m-[8px] p-[8px]\"\n (click)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n 'disabled opacity-45': !toggled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n 'cursor-default': disabled,\n }\"\n >\n <ng-icon [name]=\"toggled ? 'matStar' : 'matStarBorder'\"></ng-icon>\n </button>\n <svg\n #starOverlay\n class=\"star-toggle-overlay\"\n width=\"40px\"\n height=\"40px\"\n viewBox=\"-15 -15 30 30\"\n >\n <g>\n <path d=\"M 0,13.229167 V 0\" />\n <path d=\"M -12.484186,4.0880377 0,0\" />\n <path d=\"M -7.6784102,-10.70262 0,0\" />\n <path d=\"M 7.8734079,-10.70262 0,0\" />\n <path d=\"M 12.679184,4.0880376 0,0\" />\n </g>\n </svg>\n</div>\n", styles: ["button.enabled{color:var(--star-toggle-enabled-color, var(--color-secondary))}button.disabled{color:var(--star-toggle-disabled-color, var(--color-primary))}.star-filled{font-variation-settings:\"FILL\" 1}.star-toggle-overlay{stroke:var(--color-secondary);stroke-width:3.5px;stroke-linecap:round;position:absolute;top:50%;left:50%;width:2.5em;height:2.5em;transform:translate(-50%,-50%);pointer-events:none;stroke-dasharray:5 20;stroke-dashoffset:-15;animation:overlay-dash .8s cubic-bezier(.16,.66,.44,.96) forwards;animation-play-state:paused}@keyframes overlay-dash{to{stroke-dashoffset:7}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], viewProviders: [provideIcons({ matStar, matStarBorder })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StarToggleComponent, isStandalone: true, selector: "gn-ui-star-toggle", inputs: { toggled: "toggled", disabled: "disabled" }, outputs: { newValue: "newValue" }, viewQueries: [{ propertyName: "overlay", first: true, predicate: ["starOverlay"], descendants: true }], ngImport: i0, template: "<div class=\"inline-block relative align-middle\" style=\"line-height: 0.7em\">\n <gn-ui-button\n [type]=\"'outline'\"\n class=\"-m-[8px] p-[8px]\"\n (buttonClick)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n disabled: !toggled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n 'cursor-default': disabled,\n }\"\n >\n <ng-icon [name]=\"toggled ? 'matStar' : 'matStarBorder'\"></ng-icon>\n </gn-ui-button>\n <svg\n #starOverlay\n class=\"star-toggle-overlay\"\n width=\"40px\"\n height=\"40px\"\n viewBox=\"-15 -15 30 30\"\n >\n <g>\n <path d=\"M 0,13.229167 V 0\" />\n <path d=\"M -12.484186,4.0880377 0,0\" />\n <path d=\"M -7.6784102,-10.70262 0,0\" />\n <path d=\"M 7.8734079,-10.70262 0,0\" />\n <path d=\"M 12.679184,4.0880376 0,0\" />\n </g>\n </svg>\n</div>\n", styles: ["button.enabled{color:var(--star-toggle-enabled-color, var(--color-secondary))}button.disabled{color:var(--star-toggle-disabled-color, var(--color-primary))}.star-filled{font-variation-settings:\"FILL\" 1}.star-toggle-overlay{stroke:var(--color-secondary);stroke-width:3.5px;stroke-linecap:round;position:absolute;top:50%;left:50%;width:2.5em;height:2.5em;transform:translate(-50%,-50%);pointer-events:none;stroke-dasharray:5 20;stroke-dashoffset:-15;animation:overlay-dash .8s cubic-bezier(.16,.66,.44,.96) forwards;animation-play-state:paused}@keyframes overlay-dash{to{stroke-dashoffset:7}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }], viewProviders: [provideIcons({ matStar, matStarBorder })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
29
  }
29
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StarToggleComponent, decorators: [{
30
31
  type: Component,
31
- args: [{ selector: 'gn-ui-star-toggle', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, NgIcon], viewProviders: [provideIcons({ matStar, matStarBorder })], template: "<div class=\"inline-block relative align-middle\" style=\"line-height: 0.7em\">\n <button\n type=\"button\"\n class=\"-m-[8px] p-[8px]\"\n (click)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n 'disabled opacity-45': !toggled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n 'cursor-default': disabled,\n }\"\n >\n <ng-icon [name]=\"toggled ? 'matStar' : 'matStarBorder'\"></ng-icon>\n </button>\n <svg\n #starOverlay\n class=\"star-toggle-overlay\"\n width=\"40px\"\n height=\"40px\"\n viewBox=\"-15 -15 30 30\"\n >\n <g>\n <path d=\"M 0,13.229167 V 0\" />\n <path d=\"M -12.484186,4.0880377 0,0\" />\n <path d=\"M -7.6784102,-10.70262 0,0\" />\n <path d=\"M 7.8734079,-10.70262 0,0\" />\n <path d=\"M 12.679184,4.0880376 0,0\" />\n </g>\n </svg>\n</div>\n", styles: ["button.enabled{color:var(--star-toggle-enabled-color, var(--color-secondary))}button.disabled{color:var(--star-toggle-disabled-color, var(--color-primary))}.star-filled{font-variation-settings:\"FILL\" 1}.star-toggle-overlay{stroke:var(--color-secondary);stroke-width:3.5px;stroke-linecap:round;position:absolute;top:50%;left:50%;width:2.5em;height:2.5em;transform:translate(-50%,-50%);pointer-events:none;stroke-dasharray:5 20;stroke-dashoffset:-15;animation:overlay-dash .8s cubic-bezier(.16,.66,.44,.96) forwards;animation-play-state:paused}@keyframes overlay-dash{to{stroke-dashoffset:7}}\n"] }]
32
+ args: [{ selector: 'gn-ui-star-toggle', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, NgIcon, ButtonComponent], viewProviders: [provideIcons({ matStar, matStarBorder })], template: "<div class=\"inline-block relative align-middle\" style=\"line-height: 0.7em\">\n <gn-ui-button\n [type]=\"'outline'\"\n class=\"-m-[8px] p-[8px]\"\n (buttonClick)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n disabled: !toggled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n 'cursor-default': disabled,\n }\"\n >\n <ng-icon [name]=\"toggled ? 'matStar' : 'matStarBorder'\"></ng-icon>\n </gn-ui-button>\n <svg\n #starOverlay\n class=\"star-toggle-overlay\"\n width=\"40px\"\n height=\"40px\"\n viewBox=\"-15 -15 30 30\"\n >\n <g>\n <path d=\"M 0,13.229167 V 0\" />\n <path d=\"M -12.484186,4.0880377 0,0\" />\n <path d=\"M -7.6784102,-10.70262 0,0\" />\n <path d=\"M 7.8734079,-10.70262 0,0\" />\n <path d=\"M 12.679184,4.0880376 0,0\" />\n </g>\n </svg>\n</div>\n", styles: ["button.enabled{color:var(--star-toggle-enabled-color, var(--color-secondary))}button.disabled{color:var(--star-toggle-disabled-color, var(--color-primary))}.star-filled{font-variation-settings:\"FILL\" 1}.star-toggle-overlay{stroke:var(--color-secondary);stroke-width:3.5px;stroke-linecap:round;position:absolute;top:50%;left:50%;width:2.5em;height:2.5em;transform:translate(-50%,-50%);pointer-events:none;stroke-dasharray:5 20;stroke-dashoffset:-15;animation:overlay-dash .8s cubic-bezier(.16,.66,.44,.96) forwards;animation-play-state:paused}@keyframes overlay-dash{to{stroke-dashoffset:7}}\n"] }]
32
33
  }], propDecorators: { toggled: [{
33
34
  type: Input
34
35
  }], disabled: [{
@@ -39,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
39
40
  type: ViewChild,
40
41
  args: ['starOverlay']
41
42
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci10b2dnbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9zdGFyLXRvZ2dsZS9zdGFyLXRvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3N0YXItdG9nZ2xlL3N0YXItdG9nZ2xlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDaEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTs7O0FBVzFFLE1BQU0sT0FBTyxtQkFBbUI7SUFUaEM7UUFXVyxhQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ2YsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUE7S0FnQmpEO0lBYkMsTUFBTSxDQUFDLEtBQVk7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtZQUM1QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDakIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQzFELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtnQkFDYixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDYixDQUFDO1lBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ2xDLENBQUM7UUFDRCx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM5QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUE7SUFDeEIsQ0FBQzsrR0FsQlUsbUJBQW1CO21HQUFuQixtQkFBbUIsOFFDdkJoQyw4MkJBOEJBLDJvQkRWWSxZQUFZLDZIQUFFLE1BQU0sa0dBQ2YsQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQzs7NEZBRTlDLG1CQUFtQjtrQkFUL0IsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLGlCQUNoQixDQUFDLFlBQVksQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDOzhCQUdoRCxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNtQixPQUFPO3NCQUFoQyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IHByb3BhZ2F0ZVRvRG9jdW1lbnRPbmx5IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBOZ0ljb24sIHByb3ZpZGVJY29ucyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgbWF0U3RhciwgbWF0U3RhckJvcmRlciB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9iYXNlbGluZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktc3Rhci10b2dnbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3Rhci10b2dnbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGFyLXRvZ2dsZS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ0ljb25dLFxuICB2aWV3UHJvdmlkZXJzOiBbcHJvdmlkZUljb25zKHsgbWF0U3RhciwgbWF0U3RhckJvcmRlciB9KV0sXG59KVxuZXhwb3J0IGNsYXNzIFN0YXJUb2dnbGVDb21wb25lbnQge1xuICBASW5wdXQoKSB0b2dnbGVkITogYm9vbGVhblxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlXG4gIEBPdXRwdXQoKSBuZXdWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKVxuICBAVmlld0NoaWxkKCdzdGFyT3ZlcmxheScpIG92ZXJsYXk6IEVsZW1lbnRSZWZcblxuICB0b2dnbGUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnRvZ2dsZWQgPSAhdGhpcy50b2dnbGVkXG4gICAgICBpZiAodGhpcy50b2dnbGVkKSB7XG4gICAgICAgIGNvbnN0IGFuaW0gPSB0aGlzLm92ZXJsYXkubmF0aXZlRWxlbWVudC5nZXRBbmltYXRpb25zKClbMF1cbiAgICAgICAgYW5pbS5jYW5jZWwoKVxuICAgICAgICBhbmltLnBsYXkoKVxuICAgICAgfVxuICAgICAgdGhpcy5uZXdWYWx1ZS5lbWl0KHRoaXMudG9nZ2xlZClcbiAgICB9XG4gICAgcHJvcGFnYXRlVG9Eb2N1bWVudE9ubHkoZXZlbnQpXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaW5saW5lLWJsb2NrIHJlbGF0aXZlIGFsaWduLW1pZGRsZVwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDAuN2VtXCI+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cIi1tLVs4cHhdIHAtWzhweF1cIlxuICAgIChjbGljayk9XCJ0b2dnbGUoJGV2ZW50KVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgZW5hYmxlZDogdG9nZ2xlZCxcbiAgICAgICdkaXNhYmxlZCBvcGFjaXR5LTQ1JzogIXRvZ2dsZWQsXG4gICAgICAndHJhbnNpdGlvbiBob3ZlcjpzY2FsZS0xMjUgd2lsbC1jaGFuZ2UtdHJhbnNmb3JtJzogIWRpc2FibGVkLFxuICAgICAgJ2N1cnNvci1kZWZhdWx0JzogZGlzYWJsZWQsXG4gICAgfVwiXG4gID5cbiAgICA8bmctaWNvbiBbbmFtZV09XCJ0b2dnbGVkID8gJ21hdFN0YXInIDogJ21hdFN0YXJCb3JkZXInXCI+PC9uZy1pY29uPlxuICA8L2J1dHRvbj5cbiAgPHN2Z1xuICAgICNzdGFyT3ZlcmxheVxuICAgIGNsYXNzPVwic3Rhci10b2dnbGUtb3ZlcmxheVwiXG4gICAgd2lkdGg9XCI0MHB4XCJcbiAgICBoZWlnaHQ9XCI0MHB4XCJcbiAgICB2aWV3Qm94PVwiLTE1IC0xNSAzMCAzMFwiXG4gID5cbiAgICA8Zz5cbiAgICAgIDxwYXRoIGQ9XCJNIDAsMTMuMjI5MTY3IFYgMFwiIC8+XG4gICAgICA8cGF0aCBkPVwiTSAtMTIuNDg0MTg2LDQuMDg4MDM3NyAwLDBcIiAvPlxuICAgICAgPHBhdGggZD1cIk0gLTcuNjc4NDEwMiwtMTAuNzAyNjIgMCwwXCIgLz5cbiAgICAgIDxwYXRoIGQ9XCJNIDcuODczNDA3OSwtMTAuNzAyNjIgMCwwXCIgLz5cbiAgICAgIDxwYXRoIGQ9XCJNIDEyLjY3OTE4NCw0LjA4ODAzNzYgMCwwXCIgLz5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuPC9kaXY+XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci10b2dnbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9zdGFyLXRvZ2dsZS9zdGFyLXRvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3N0YXItdG9nZ2xlL3N0YXItdG9nZ2xlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDaEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7OztBQVc1RCxNQUFNLE9BQU8sbUJBQW1CO0lBVGhDO1FBV1csYUFBUSxHQUFHLEtBQUssQ0FBQTtRQUNmLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFBO0tBZ0JqRDtJQWJDLE1BQU0sQ0FBQyxLQUFZO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7WUFDNUIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUMxRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUE7Z0JBQ2IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO1lBQ2IsQ0FBQztZQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNsQyxDQUFDO1FBQ0QsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDOUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFBO0lBQ3hCLENBQUM7K0dBbEJVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDhRQ3hCaEMsdzNCQThCQSwyb0JEVFksWUFBWSw2SEFBRSxNQUFNLDZHQUFFLGVBQWUsb0hBQ2hDLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7OzRGQUU5QyxtQkFBbUI7a0JBVC9CLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUMsaUJBQ2pDLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7OEJBR2hELE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ21CLE9BQU87c0JBQWhDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgcHJvcGFnYXRlVG9Eb2N1bWVudE9ubHkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IE5nSWNvbiwgcHJvdmlkZUljb25zIH0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBtYXRTdGFyLCBtYXRTdGFyQm9yZGVyIH0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL2Jhc2VsaW5lJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXN0YXItdG9nZ2xlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0YXItdG9nZ2xlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3Rhci10b2dnbGUuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmdJY29uLCBCdXR0b25Db21wb25lbnRdLFxuICB2aWV3UHJvdmlkZXJzOiBbcHJvdmlkZUljb25zKHsgbWF0U3RhciwgbWF0U3RhckJvcmRlciB9KV0sXG59KVxuZXhwb3J0IGNsYXNzIFN0YXJUb2dnbGVDb21wb25lbnQge1xuICBASW5wdXQoKSB0b2dnbGVkITogYm9vbGVhblxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlXG4gIEBPdXRwdXQoKSBuZXdWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKVxuICBAVmlld0NoaWxkKCdzdGFyT3ZlcmxheScpIG92ZXJsYXk6IEVsZW1lbnRSZWZcblxuICB0b2dnbGUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnRvZ2dsZWQgPSAhdGhpcy50b2dnbGVkXG4gICAgICBpZiAodGhpcy50b2dnbGVkKSB7XG4gICAgICAgIGNvbnN0IGFuaW0gPSB0aGlzLm92ZXJsYXkubmF0aXZlRWxlbWVudC5nZXRBbmltYXRpb25zKClbMF1cbiAgICAgICAgYW5pbS5jYW5jZWwoKVxuICAgICAgICBhbmltLnBsYXkoKVxuICAgICAgfVxuICAgICAgdGhpcy5uZXdWYWx1ZS5lbWl0KHRoaXMudG9nZ2xlZClcbiAgICB9XG4gICAgcHJvcGFnYXRlVG9Eb2N1bWVudE9ubHkoZXZlbnQpXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaW5saW5lLWJsb2NrIHJlbGF0aXZlIGFsaWduLW1pZGRsZVwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDAuN2VtXCI+XG4gIDxnbi11aS1idXR0b25cbiAgICBbdHlwZV09XCInb3V0bGluZSdcIlxuICAgIGNsYXNzPVwiLW0tWzhweF0gcC1bOHB4XVwiXG4gICAgKGJ1dHRvbkNsaWNrKT1cInRvZ2dsZSgkZXZlbnQpXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICBlbmFibGVkOiB0b2dnbGVkLFxuICAgICAgZGlzYWJsZWQ6ICF0b2dnbGVkLFxuICAgICAgJ3RyYW5zaXRpb24gaG92ZXI6c2NhbGUtMTI1IHdpbGwtY2hhbmdlLXRyYW5zZm9ybSc6ICFkaXNhYmxlZCxcbiAgICAgICdjdXJzb3ItZGVmYXVsdCc6IGRpc2FibGVkLFxuICAgIH1cIlxuICA+XG4gICAgPG5nLWljb24gW25hbWVdPVwidG9nZ2xlZCA/ICdtYXRTdGFyJyA6ICdtYXRTdGFyQm9yZGVyJ1wiPjwvbmctaWNvbj5cbiAgPC9nbi11aS1idXR0b24+XG4gIDxzdmdcbiAgICAjc3Rhck92ZXJsYXlcbiAgICBjbGFzcz1cInN0YXItdG9nZ2xlLW92ZXJsYXlcIlxuICAgIHdpZHRoPVwiNDBweFwiXG4gICAgaGVpZ2h0PVwiNDBweFwiXG4gICAgdmlld0JveD1cIi0xNSAtMTUgMzAgMzBcIlxuICA+XG4gICAgPGc+XG4gICAgICA8cGF0aCBkPVwiTSAwLDEzLjIyOTE2NyBWIDBcIiAvPlxuICAgICAgPHBhdGggZD1cIk0gLTEyLjQ4NDE4Niw0LjA4ODAzNzcgMCwwXCIgLz5cbiAgICAgIDxwYXRoIGQ9XCJNIC03LjY3ODQxMDIsLTEwLjcwMjYyIDAsMFwiIC8+XG4gICAgICA8cGF0aCBkPVwiTSA3Ljg3MzQwNzksLTEwLjcwMjYyIDAsMFwiIC8+XG4gICAgICA8cGF0aCBkPVwiTSAxMi42NzkxODQsNC4wODgwMzc2IDAsMFwiIC8+XG4gICAgPC9nPlxuICA8L3N2Zz5cbjwvZGl2PlxuIl19
@@ -25,6 +25,7 @@ import { DragAndDropFileInputComponent } from './drag-and-drop-file-input/drag-a
25
25
  import { DropdownMultiselectComponent } from './dropdown-multiselect/dropdown-multiselect.component';
26
26
  import { DropdownSelectorComponent } from './dropdown-selector/dropdown-selector.component';
27
27
  import { EditableLabelDirective } from './editable-label/editable-label.directive';
28
+ import { InlineFilterComponent } from './inline-filter/inline-filter.component';
28
29
  import { TextAreaComponent } from './text-area/text-area.component';
29
30
  import { ViewportIntersectorComponent } from './viewport-intersector/viewport-intersector.component';
30
31
  import * as i0 from "@angular/core";
@@ -34,7 +35,8 @@ export class UiInputsModule {
34
35
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UiInputsModule, declarations: [DragAndDropFileInputComponent,
35
36
  DropdownMultiselectComponent,
36
37
  ViewportIntersectorComponent,
37
- CheckboxComponent], imports: [CommonModule, i1.TranslateModule, NgxDropzoneModule,
38
+ CheckboxComponent,
39
+ InlineFilterComponent], imports: [CommonModule, i1.TranslateModule, NgxDropzoneModule,
38
40
  FormsModule,
39
41
  ReactiveFormsModule,
40
42
  TagInputModule,
@@ -65,6 +67,7 @@ export class UiInputsModule {
65
67
  CheckboxComponent,
66
68
  DateRangePickerComponent,
67
69
  EditableLabelDirective,
70
+ InlineFilterComponent,
68
71
  BadgeComponent] }); }
69
72
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiInputsModule, providers: [
70
73
  provideIcons({
@@ -106,6 +109,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
106
109
  DropdownMultiselectComponent,
107
110
  ViewportIntersectorComponent,
108
111
  CheckboxComponent,
112
+ InlineFilterComponent,
109
113
  ],
110
114
  imports: [
111
115
  CommonModule,
@@ -154,8 +158,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
154
158
  CheckboxComponent,
155
159
  DateRangePickerComponent,
156
160
  EditableLabelDirective,
161
+ InlineFilterComponent,
157
162
  BadgeComponent,
158
163
  ],
159
164
  }]
160
165
  }] });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktaW5wdXRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvdWktaW5wdXRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUNMLGVBQWUsRUFDZixZQUFZLEVBQ1osb0JBQW9CLEdBQ3JCLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUNMLFFBQVEsRUFDUixhQUFhLEVBQ2IsYUFBYSxHQUNkLE1BQU0sbUNBQW1DLENBQUE7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUE7QUFDMUYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0RBQStELENBQUE7QUFDN0csT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdURBQXVELENBQUE7QUFDcEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saURBQWlELENBQUE7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDbkUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdURBQXVELENBQUE7OztBQTJEcEcsTUFBTSxPQUFPLGNBQWM7K0dBQWQsY0FBYztnSEFBZCxjQUFjLGlCQXZEdkIsNkJBQTZCO1lBQzdCLDRCQUE0QjtZQUM1Qiw0QkFBNEI7WUFDNUIsaUJBQWlCLGFBR2pCLFlBQVksc0JBRVosaUJBQWlCO1lBQ2pCLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixzQkFBc0I7WUFDdEIsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZix5QkFBeUI7WUFDekIsd0JBQXdCO1lBQ3hCLG9CQUFvQjtZQUNwQixjQUFjO1lBQ2QsZUFBZSxhQWFmLHlCQUF5QjtZQUN6QixlQUFlO1lBQ2YsNkJBQTZCO1lBQzdCLGlCQUFpQjtZQUNqQiw0QkFBNEI7WUFDNUIsNEJBQTRCO1lBQzVCLG9CQUFvQjtZQUNwQixpQkFBaUI7WUFDakIsd0JBQXdCO1lBQ3hCLHNCQUFzQjtZQUN0QixjQUFjO2dIQUdMLGNBQWMsYUF4QmQ7WUFDVCxZQUFZLENBQUM7Z0JBQ1gsUUFBUTtnQkFDUixhQUFhO2dCQUNiLGFBQWE7YUFDZCxDQUFDO1lBQ0Ysb0JBQW9CLENBQUM7Z0JBQ25CLElBQUksRUFBRSxPQUFPO2FBQ2QsQ0FBQztTQUNILFlBbENDLFlBQVk7WUFDWixlQUFlLENBQUMsUUFBUSxFQUFFO1lBQzFCLGlCQUFpQjtZQUNqQixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIscUJBQXFCO1lBQ3JCLGVBQWU7WUFDZixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFFbkIsaUJBQWlCO1lBRWpCLHlCQUF5QjtZQUN6Qix3QkFBd0I7WUFDeEIsb0JBQW9CO1lBQ3BCLGNBQWM7WUFDZCxlQUFlOzs0RkEwQk4sY0FBYztrQkF6RDFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDZCQUE2Qjt3QkFDN0IsNEJBQTRCO3dCQUM1Qiw0QkFBNEI7d0JBQzVCLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZSxDQUFDLFFBQVEsRUFBRTt3QkFDMUIsaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsZUFBZTtxQkFDaEI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULFlBQVksQ0FBQzs0QkFDWCxRQUFROzRCQUNSLGFBQWE7NEJBQ2IsYUFBYTt5QkFDZCxDQUFDO3dCQUNGLG9CQUFvQixDQUFDOzRCQUNuQixJQUFJLEVBQUUsT0FBTzt5QkFDZCxDQUFDO3FCQUNIO29CQUNELE9BQU8sRUFBRTt3QkFDUCx5QkFBeUI7d0JBQ3pCLGVBQWU7d0JBQ2YsNkJBQTZCO3dCQUM3QixpQkFBaUI7d0JBQ2pCLDRCQUE0Qjt3QkFDNUIsNEJBQTRCO3dCQUM1QixvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsd0JBQXdCO3dCQUN4QixzQkFBc0I7d0JBQ3RCLGNBQWM7cUJBQ2Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJ1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCdcbmltcG9ydCB7IE1hdE5hdGl2ZURhdGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJ1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCdcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHsgVWlXaWRnZXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7IFV0aWxTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7XG4gIE5nSWNvbkNvbXBvbmVudCxcbiAgcHJvdmlkZUljb25zLFxuICBwcm92aWRlTmdJY29uc0NvbmZpZyxcbn0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQge1xuICBtYXRDbG9zZSxcbiAgbWF0RXhwYW5kTGVzcyxcbiAgbWF0RXhwYW5kTW9yZSxcbn0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL2Jhc2VsaW5lJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFRhZ0lucHV0TW9kdWxlIH0gZnJvbSAnbmd4LWNoaXBzJ1xuaW1wb3J0IHsgTmd4RHJvcHpvbmVNb2R1bGUgfSBmcm9tICduZ3gtZHJvcHpvbmUnXG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4vYmFkZ2UvYmFkZ2UuY29tcG9uZW50J1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7IENoZWNrVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jaGVjay10b2dnbGUvY2hlY2stdG9nZ2xlLmNvbXBvbmVudCdcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudCdcbmltcG9ydCB7IERyYWdBbmREcm9wRmlsZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9kcmFnLWFuZC1kcm9wLWZpbGUtaW5wdXQvZHJhZy1hbmQtZHJvcC1maWxlLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IERyb3Bkb3duTXVsdGlzZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLW11bHRpc2VsZWN0L2Ryb3Bkb3duLW11bHRpc2VsZWN0LmNvbXBvbmVudCdcbmltcG9ydCB7IERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLXNlbGVjdG9yL2Ryb3Bkb3duLXNlbGVjdG9yLmNvbXBvbmVudCdcbmltcG9ydCB7IEVkaXRhYmxlTGFiZWxEaXJlY3RpdmUgfSBmcm9tICcuL2VkaXRhYmxlLWxhYmVsL2VkaXRhYmxlLWxhYmVsLmRpcmVjdGl2ZSdcbmltcG9ydCB7IFRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWFyZWEvdGV4dC1hcmVhLmNvbXBvbmVudCdcbmltcG9ydCB7IFZpZXdwb3J0SW50ZXJzZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdwb3J0LWludGVyc2VjdG9yL3ZpZXdwb3J0LWludGVyc2VjdG9yLmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRHJhZ0FuZERyb3BGaWxlSW5wdXRDb21wb25lbnQsXG4gICAgRHJvcGRvd25NdWx0aXNlbGVjdENvbXBvbmVudCxcbiAgICBWaWV3cG9ydEludGVyc2VjdG9yQ29tcG9uZW50LFxuICAgIENoZWNrYm94Q29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIE5neERyb3B6b25lTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVGFnSW5wdXRNb2R1bGUsXG4gICAgVXRpbFNoYXJlZE1vZHVsZSxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgVWlXaWRnZXRzTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXROYXRpdmVEYXRlTW9kdWxlLFxuICAgIEVkaXRhYmxlTGFiZWxEaXJlY3RpdmUsXG4gICAgVGV4dEFyZWFDb21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gICAgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50LFxuICAgIENoZWNrVG9nZ2xlQ29tcG9uZW50LFxuICAgIEJhZGdlQ29tcG9uZW50LFxuICAgIE5nSWNvbkNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUljb25zKHtcbiAgICAgIG1hdENsb3NlLFxuICAgICAgbWF0RXhwYW5kTW9yZSxcbiAgICAgIG1hdEV4cGFuZExlc3MsXG4gICAgfSksXG4gICAgcHJvdmlkZU5nSWNvbnNDb25maWcoe1xuICAgICAgc2l6ZTogJzAuOWVtJyxcbiAgICB9KSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIERyYWdBbmREcm9wRmlsZUlucHV0Q29tcG9uZW50LFxuICAgIFRleHRBcmVhQ29tcG9uZW50LFxuICAgIERyb3Bkb3duTXVsdGlzZWxlY3RDb21wb25lbnQsXG4gICAgVmlld3BvcnRJbnRlcnNlY3RvckNvbXBvbmVudCxcbiAgICBDaGVja1RvZ2dsZUNvbXBvbmVudCxcbiAgICBDaGVja2JveENvbXBvbmVudCxcbiAgICBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQsXG4gICAgRWRpdGFibGVMYWJlbERpcmVjdGl2ZSxcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVWlJbnB1dHNNb2R1bGUge31cbiJdfQ==
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktaW5wdXRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvdWktaW5wdXRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUNMLGVBQWUsRUFDZixZQUFZLEVBQ1osb0JBQW9CLEdBQ3JCLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUNMLFFBQVEsRUFDUixhQUFhLEVBQ2IsYUFBYSxHQUNkLE1BQU0sbUNBQW1DLENBQUE7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFN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QWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGVBQWU7cUJBQ2hCO29CQUNELFNBQVMsRUFBRTt3QkFDVCxZQUFZLENBQUM7NEJBQ1gsUUFBUTs0QkFDUixhQUFhOzRCQUNiLGFBQWE7eUJBQ2QsQ0FBQzt3QkFDRixvQkFBb0IsQ0FBQzs0QkFDbkIsSUFBSSxFQUFFLE9BQU87eUJBQ2QsQ0FBQztxQkFDSDtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AseUJBQXlCO3dCQUN6QixlQUFlO3dCQUNmLDZCQUE2Qjt3QkFDN0IsaUJBQWlCO3dCQUNqQiw0QkFBNEI7d0JBQzVCLDRCQUE0Qjt3QkFDNUIsb0JBQW9CO3dCQUNwQixpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLGNBQWM7cUJBQ2Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJ1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCdcbmltcG9ydCB7IE1hdE5hdGl2ZURhdGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJ1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCdcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHsgVWlXaWRnZXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7IFV0aWxTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7XG4gIE5nSWNvbkNvbXBvbmVudCxcbiAgcHJvdmlkZUljb25zLFxuICBwcm92aWRlTmdJY29uc0NvbmZpZyxcbn0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQge1xuICBtYXRDbG9zZSxcbiAgbWF0RXhwYW5kTGVzcyxcbiAgbWF0RXhwYW5kTW9yZSxcbn0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL2Jhc2VsaW5lJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFRhZ0lucHV0TW9kdWxlIH0gZnJvbSAnbmd4LWNoaXBzJ1xuaW1wb3J0IHsgTmd4RHJvcHpvbmVNb2R1bGUgfSBmcm9tICduZ3gtZHJvcHpvbmUnXG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4vYmFkZ2UvYmFkZ2UuY29tcG9uZW50J1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7IENoZWNrVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jaGVjay10b2dnbGUvY2hlY2stdG9nZ2xlLmNvbXBvbmVudCdcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudCdcbmltcG9ydCB7IERyYWdBbmREcm9wRmlsZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9kcmFnLWFuZC1kcm9wLWZpbGUtaW5wdXQvZHJhZy1hbmQtZHJvcC1maWxlLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IERyb3Bkb3duTXVsdGlzZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLW11bHRpc2VsZWN0L2Ryb3Bkb3duLW11bHRpc2VsZWN0LmNvbXBvbmVudCdcbmltcG9ydCB7IERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLXNlbGVjdG9yL2Ryb3Bkb3duLXNlbGVjdG9yLmNvbXBvbmVudCdcbmltcG9ydCB7IEVkaXRhYmxlTGFiZWxEaXJlY3RpdmUgfSBmcm9tICcuL2VkaXRhYmxlLWxhYmVsL2VkaXRhYmxlLWxhYmVsLmRpcmVjdGl2ZSdcbmltcG9ydCB7IElubGluZUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vaW5saW5lLWZpbHRlci9pbmxpbmUtZmlsdGVyLmNvbXBvbmVudCdcbmltcG9ydCB7IFRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWFyZWEvdGV4dC1hcmVhLmNvbXBvbmVudCdcbmltcG9ydCB7IFZpZXdwb3J0SW50ZXJzZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdwb3J0LWludGVyc2VjdG9yL3ZpZXdwb3J0LWludGVyc2VjdG9yLmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRHJhZ0FuZERyb3BGaWxlSW5wdXRDb21wb25lbnQsXG4gICAgRHJvcGRvd25NdWx0aXNlbGVjdENvbXBvbmVudCxcbiAgICBWaWV3cG9ydEludGVyc2VjdG9yQ29tcG9uZW50LFxuICAgIENoZWNrYm94Q29tcG9uZW50LFxuICAgIElubGluZUZpbHRlckNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBOZ3hEcm9wem9uZU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFRhZ0lucHV0TW9kdWxlLFxuICAgIFV0aWxTaGFyZWRNb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIFVpV2lkZ2V0c01vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBFZGl0YWJsZUxhYmVsRGlyZWN0aXZlLFxuICAgIFRleHRBcmVhQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LFxuICAgIERhdGVSYW5nZVBpY2tlckNvbXBvbmVudCxcbiAgICBDaGVja1RvZ2dsZUNvbXBvbmVudCxcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgICBOZ0ljb25Db21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7XG4gICAgICBtYXRDbG9zZSxcbiAgICAgIG1hdEV4cGFuZE1vcmUsXG4gICAgICBtYXRFeHBhbmRMZXNzLFxuICAgIH0pLFxuICAgIHByb3ZpZGVOZ0ljb25zQ29uZmlnKHtcbiAgICAgIHNpemU6ICcwLjllbScsXG4gICAgfSksXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBEcmFnQW5kRHJvcEZpbGVJbnB1dENvbXBvbmVudCxcbiAgICBUZXh0QXJlYUNvbXBvbmVudCxcbiAgICBEcm9wZG93bk11bHRpc2VsZWN0Q29tcG9uZW50LFxuICAgIFZpZXdwb3J0SW50ZXJzZWN0b3JDb21wb25lbnQsXG4gICAgQ2hlY2tUb2dnbGVDb21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50LFxuICAgIEVkaXRhYmxlTGFiZWxEaXJlY3RpdmUsXG4gICAgSW5saW5lRmlsdGVyQ29tcG9uZW50LFxuICAgIEJhZGdlQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBVaUlucHV0c01vZHVsZSB7fVxuIl19
@@ -2,7 +2,15 @@ import { ChangeDetectorRef, Directive, HostBinding, HostListener, Input, } from
2
2
  import * as i0 from "@angular/core";
3
3
  export class AnchorLinkDirective {
4
4
  get elementClass() {
5
- return this.disabled ? this.disabledClass : this.enabledClass;
5
+ if (this.disabled) {
6
+ return this.disabledClass;
7
+ }
8
+ if (this.inView) {
9
+ return `${this.inViewClass} ${this.enabledClass}`;
10
+ }
11
+ else {
12
+ return `${this.outOfViewClass} ${this.enabledClass}`;
13
+ }
6
14
  }
7
15
  constructor(changeDetector) {
8
16
  this.changeDetector = changeDetector;
@@ -10,6 +18,8 @@ export class AnchorLinkDirective {
10
18
  this.observer = new MutationObserver(() => {
11
19
  this.refreshDisabledState();
12
20
  });
21
+ this.inView = false;
22
+ this.initialized = false;
13
23
  }
14
24
  ngOnInit() {
15
25
  this.observer.observe(document.body, {
@@ -18,8 +28,32 @@ export class AnchorLinkDirective {
18
28
  });
19
29
  this.refreshDisabledState();
20
30
  }
31
+ ngAfterViewChecked() {
32
+ if (!this.initialized && !this.disabled) {
33
+ const target = document.getElementById(this.targetId);
34
+ if (target) {
35
+ this.initializeIntersectionObserver(target);
36
+ this.initialized = true;
37
+ }
38
+ }
39
+ }
40
+ initializeIntersectionObserver(target) {
41
+ this.intersectionObserver = new IntersectionObserver((entries) => {
42
+ entries.forEach((entry) => {
43
+ this.inView = entry.isIntersecting;
44
+ this.changeDetector.detectChanges();
45
+ });
46
+ }, {
47
+ root: null,
48
+ rootMargin: '-30% 0% -60% 0%',
49
+ });
50
+ this.intersectionObserver.observe(target);
51
+ }
21
52
  ngOnDestroy() {
22
53
  this.observer.disconnect();
54
+ if (this.intersectionObserver) {
55
+ this.intersectionObserver.disconnect();
56
+ }
23
57
  }
24
58
  refreshDisabledState() {
25
59
  const targetNotPresent = !document.getElementById(this.targetId);
@@ -38,7 +72,7 @@ export class AnchorLinkDirective {
38
72
  });
39
73
  }
40
74
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnchorLinkDirective, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
41
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AnchorLinkDirective, selector: "[gnUiAnchorLink]", inputs: { targetId: ["gnUiAnchorLink", "targetId"], disabledClass: ["gnUiAnchorLinkDisabledClass", "disabledClass"], enabledClass: ["gnUiAnchorLinkEnabledClass", "enabledClass"] }, host: { listeners: { "click": "scrollToTarget()" }, properties: { "class": "this.elementClass" } }, ngImport: i0 }); }
75
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AnchorLinkDirective, selector: "[gnUiAnchorLink]", inputs: { targetId: ["gnUiAnchorLink", "targetId"], disabledClass: ["gnUiAnchorLinkDisabledClass", "disabledClass"], enabledClass: ["gnUiAnchorLinkEnabledClass", "enabledClass"], inViewClass: ["gnUiAnchorLinkInViewClass", "inViewClass"], outOfViewClass: ["gnUiAnchorLinkOutOfViewClass", "outOfViewClass"] }, host: { listeners: { "click": "scrollToTarget()" }, properties: { "class": "this.elementClass" } }, ngImport: i0 }); }
42
76
  }
43
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnchorLinkDirective, decorators: [{
44
78
  type: Directive,
@@ -54,6 +88,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
54
88
  }], enabledClass: [{
55
89
  type: Input,
56
90
  args: ['gnUiAnchorLinkEnabledClass']
91
+ }], inViewClass: [{
92
+ type: Input,
93
+ args: ['gnUiAnchorLinkInViewClass']
94
+ }], outOfViewClass: [{
95
+ type: Input,
96
+ args: ['gnUiAnchorLinkOutOfViewClass']
57
97
  }], elementClass: [{
58
98
  type: HostBinding,
59
99
  args: ['class']
@@ -61,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
61
101
  type: HostListener,
62
102
  args: ['click']
63
103
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjL2xpYi9hbmNob3ItbGluay9hbmNob3ItbGluay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEdBR04sTUFBTSxlQUFlLENBQUE7O0FBS3RCLE1BQU0sT0FBTyxtQkFBbUI7SUFLOUIsSUFDSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFBO0lBQy9ELENBQUM7SUFPRCxZQUFvQixjQUFpQztRQUFqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFMckQsYUFBUSxHQUFHLEtBQUssQ0FBQTtRQUNoQixhQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7WUFDbkMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUE7UUFDN0IsQ0FBQyxDQUFDLENBQUE7SUFFc0QsQ0FBQztJQUV6RCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtZQUNuQyxTQUFTLEVBQUUsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUE7SUFDN0IsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBQzVCLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ2hFLElBQUksZ0JBQWdCLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUE7WUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVzQixjQUFjO1FBQ25DLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3JELElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTTtRQUNuQixNQUFNLENBQUMsY0FBYyxDQUFDO1lBQ3BCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLEtBQUssRUFBRSxPQUFPO1NBQ2YsQ0FBQyxDQUFBO0lBQ0osQ0FBQzsrR0E1Q1UsbUJBQW1CO21HQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7c0ZBRTBCLFFBQVE7c0JBQWhDLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUNlLGFBQWE7c0JBQWxELEtBQUs7dUJBQUMsNkJBQTZCO2dCQUNDLFlBQVk7c0JBQWhELEtBQUs7dUJBQUMsNEJBQTRCO2dCQUcvQixZQUFZO3NCQURmLFdBQVc7dUJBQUMsT0FBTztnQkFnQ0csY0FBYztzQkFBcEMsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZ25VaUFuY2hvckxpbmtdJyxcbn0pXG5leHBvcnQgY2xhc3MgQW5jaG9yTGlua0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCdnblVpQW5jaG9yTGluaycpIHRhcmdldElkOiBzdHJpbmdcbiAgQElucHV0KCdnblVpQW5jaG9yTGlua0Rpc2FibGVkQ2xhc3MnKSBkaXNhYmxlZENsYXNzOiBzdHJpbmdcbiAgQElucHV0KCdnblVpQW5jaG9yTGlua0VuYWJsZWRDbGFzcycpIGVuYWJsZWRDbGFzczogc3RyaW5nXG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBlbGVtZW50Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCA/IHRoaXMuZGlzYWJsZWRDbGFzcyA6IHRoaXMuZW5hYmxlZENsYXNzXG4gIH1cblxuICBkaXNhYmxlZCA9IGZhbHNlXG4gIG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgIHRoaXMucmVmcmVzaERpc2FibGVkU3RhdGUoKVxuICB9KVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7XG4gICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgIH0pXG4gICAgdGhpcy5yZWZyZXNoRGlzYWJsZWRTdGF0ZSgpXG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKVxuICB9XG5cbiAgcmVmcmVzaERpc2FibGVkU3RhdGUoKSB7XG4gICAgY29uc3QgdGFyZ2V0Tm90UHJlc2VudCA9ICFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLnRhcmdldElkKVxuICAgIGlmICh0YXJnZXROb3RQcmVzZW50ICE9PSB0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmRpc2FibGVkID0gdGFyZ2V0Tm90UHJlc2VudFxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpIHNjcm9sbFRvVGFyZ2V0KCkge1xuICAgIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMudGFyZ2V0SWQpXG4gICAgaWYgKCF0YXJnZXQpIHJldHVyblxuICAgIHRhcmdldC5zY3JvbGxJbnRvVmlldyh7XG4gICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICBibG9jazogJ3N0YXJ0JyxcbiAgICB9KVxuICB9XG59XG4iXX0=
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjL2xpYi9hbmNob3ItbGluay9hbmNob3ItbGluay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEdBR04sTUFBTSxlQUFlLENBQUE7O0FBS3RCLE1BQU0sT0FBTyxtQkFBbUI7SUFTOUIsSUFDSSxZQUFZO1FBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFBO1FBQzNCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7UUFDbkQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7UUFDdEQsQ0FBQztJQUNILENBQUM7SUFVRCxZQUFvQixjQUFpQztRQUFqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFSckQsYUFBUSxHQUFHLEtBQUssQ0FBQTtRQUNoQixhQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7WUFDbkMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUE7UUFDN0IsQ0FBQyxDQUFDLENBQUE7UUFDRixXQUFNLEdBQUcsS0FBSyxDQUFBO1FBRWQsZ0JBQVcsR0FBRyxLQUFLLENBQUE7SUFFcUMsQ0FBQztJQUV6RCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtZQUNuQyxTQUFTLEVBQUUsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUE7SUFDN0IsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUNyRCxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtnQkFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUE7WUFDekIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsOEJBQThCLENBQUMsTUFBbUI7UUFDaEQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksb0JBQW9CLENBQ2xELENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDVixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQTtnQkFDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtZQUNyQyxDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUMsRUFDRDtZQUNFLElBQUksRUFBRSxJQUFJO1lBQ1YsVUFBVSxFQUFFLGlCQUFpQjtTQUM5QixDQUNGLENBQUE7UUFDRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUMxQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixNQUFNLGdCQUFnQixHQUFHLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDaEUsSUFBSSxnQkFBZ0IsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQTtZQUNoQyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3JDLENBQUM7SUFDSCxDQUFDO0lBRXNCLGNBQWM7UUFDbkMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDckQsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFNO1FBQ25CLE1BQU0sQ0FBQyxjQUFjLENBQUM7WUFDcEIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsS0FBSyxFQUFFLE9BQU87U0FDZixDQUFDLENBQUE7SUFDSixDQUFDOytHQXZGVSxtQkFBbUI7bUdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2lCQUM3QjtzRkFJMEIsUUFBUTtzQkFBaEMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ2UsYUFBYTtzQkFBbEQsS0FBSzt1QkFBQyw2QkFBNkI7Z0JBQ0MsWUFBWTtzQkFBaEQsS0FBSzt1QkFBQyw0QkFBNEI7Z0JBQ0MsV0FBVztzQkFBOUMsS0FBSzt1QkFBQywyQkFBMkI7Z0JBQ0ssY0FBYztzQkFBcEQsS0FBSzt1QkFBQyw4QkFBOEI7Z0JBR2pDLFlBQVk7c0JBRGYsV0FBVzt1QkFBQyxPQUFPO2dCQXVFRyxjQUFjO3NCQUFwQyxZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tnblVpQW5jaG9yTGlua10nLFxufSlcbmV4cG9ydCBjbGFzcyBBbmNob3JMaW5rRGlyZWN0aXZlXG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdDaGVja2VkLCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KCdnblVpQW5jaG9yTGluaycpIHRhcmdldElkOiBzdHJpbmdcbiAgQElucHV0KCdnblVpQW5jaG9yTGlua0Rpc2FibGVkQ2xhc3MnKSBkaXNhYmxlZENsYXNzOiBzdHJpbmdcbiAgQElucHV0KCdnblVpQW5jaG9yTGlua0VuYWJsZWRDbGFzcycpIGVuYWJsZWRDbGFzczogc3RyaW5nXG4gIEBJbnB1dCgnZ25VaUFuY2hvckxpbmtJblZpZXdDbGFzcycpIGluVmlld0NsYXNzOiBzdHJpbmdcbiAgQElucHV0KCdnblVpQW5jaG9yTGlua091dE9mVmlld0NsYXNzJykgb3V0T2ZWaWV3Q2xhc3M6IHN0cmluZ1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgZWxlbWVudENsYXNzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkQ2xhc3NcbiAgICB9XG4gICAgaWYgKHRoaXMuaW5WaWV3KSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5pblZpZXdDbGFzc30gJHt0aGlzLmVuYWJsZWRDbGFzc31gXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLm91dE9mVmlld0NsYXNzfSAke3RoaXMuZW5hYmxlZENsYXNzfWBcbiAgICB9XG4gIH1cblxuICBkaXNhYmxlZCA9IGZhbHNlXG4gIG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgIHRoaXMucmVmcmVzaERpc2FibGVkU3RhdGUoKVxuICB9KVxuICBpblZpZXcgPSBmYWxzZVxuICBpbnRlcnNlY3Rpb25PYnNlcnZlcjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJcbiAgaW5pdGlhbGl6ZWQgPSBmYWxzZVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7XG4gICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgIH0pXG4gICAgdGhpcy5yZWZyZXNoRGlzYWJsZWRTdGF0ZSgpXG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgaWYgKCF0aGlzLmluaXRpYWxpemVkICYmICF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLnRhcmdldElkKVxuICAgICAgaWYgKHRhcmdldCkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVJbnRlcnNlY3Rpb25PYnNlcnZlcih0YXJnZXQpXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaW5pdGlhbGl6ZUludGVyc2VjdGlvbk9ic2VydmVyKHRhcmdldDogSFRNTEVsZW1lbnQpIHtcbiAgICB0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKFxuICAgICAgKGVudHJpZXMpID0+IHtcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgICAgIHRoaXMuaW5WaWV3ID0gZW50cnkuaXNJbnRlcnNlY3RpbmdcbiAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxuICAgICAgICB9KVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcm9vdDogbnVsbCxcbiAgICAgICAgcm9vdE1hcmdpbjogJy0zMCUgMCUgLTYwJSAwJScsXG4gICAgICB9XG4gICAgKVxuICAgIHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpXG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKVxuICAgIGlmICh0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyKSB7XG4gICAgICB0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKVxuICAgIH1cbiAgfVxuXG4gIHJlZnJlc2hEaXNhYmxlZFN0YXRlKCkge1xuICAgIGNvbnN0IHRhcmdldE5vdFByZXNlbnQgPSAhZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy50YXJnZXRJZClcbiAgICBpZiAodGFyZ2V0Tm90UHJlc2VudCAhPT0gdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5kaXNhYmxlZCA9IHRhcmdldE5vdFByZXNlbnRcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKSBzY3JvbGxUb1RhcmdldCgpIHtcbiAgICBjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLnRhcmdldElkKVxuICAgIGlmICghdGFyZ2V0KSByZXR1cm5cbiAgICB0YXJnZXQuc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgYmxvY2s6ICdzdGFydCcsXG4gICAgfSlcbiAgfVxufVxuIl19