geonetwork-ui 2.4.0-dev.344a92f2 → 2.4.0-dev.3b6b95eb

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 (429) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +4 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/common/license.mjs +64 -0
  3. package/esm2022/libs/api/metadata-converter/src/lib/common/url.mjs +14 -0
  4. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +254 -0
  5. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/index.mjs +2 -0
  6. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.mjs +17 -0
  7. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.mjs +196 -0
  8. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.mjs +46 -0
  9. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.mjs +74 -0
  10. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.mjs +2 -0
  11. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.mjs +27 -0
  12. package/esm2022/libs/api/metadata-converter/src/lib/find-converter.mjs +11 -1
  13. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +3 -3
  14. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +8 -23
  15. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +3 -3
  16. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +27 -37
  17. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +35 -3
  18. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +78 -39
  19. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +34 -26
  20. package/esm2022/libs/common/domain/src/lib/model/record/contact.model.mjs +1 -1
  21. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  22. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  23. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +7 -4
  24. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +6 -6
  25. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +10 -7
  26. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +40 -50
  27. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  28. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +5 -5
  29. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +3 -3
  30. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +95 -0
  31. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +72 -0
  32. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +109 -0
  33. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +9 -8
  34. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +38 -60
  35. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +10 -7
  36. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +191 -0
  37. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +5 -4
  38. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +2 -2
  39. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +10 -6
  40. package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +3 -3
  41. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +17 -3
  42. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +5 -5
  43. package/esm2022/libs/feature/map/src/index.mjs +2 -9
  44. package/esm2022/libs/feature/map/src/lib/+state/map.actions.mjs +4 -7
  45. package/esm2022/libs/feature/map/src/lib/+state/map.facade.mjs +9 -15
  46. package/esm2022/libs/feature/map/src/lib/+state/map.reducer.mjs +13 -44
  47. package/esm2022/libs/feature/map/src/lib/+state/map.selectors.mjs +3 -2
  48. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +15 -15
  49. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +16 -10
  50. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +10 -8
  51. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +11 -7
  52. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +10 -6
  53. package/esm2022/libs/feature/map/src/lib/constant/index.mjs +1 -2
  54. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +4 -44
  55. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +43 -29
  56. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +17 -8
  57. package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +27 -0
  58. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +4 -168
  59. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +21 -17
  60. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +14 -8
  61. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +40 -52
  62. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +1 -1
  63. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +11 -6
  64. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +7 -7
  65. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +1 -6
  66. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  67. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +3 -3
  68. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +3 -3
  69. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +3 -3
  70. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +3 -3
  71. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +2 -2
  72. package/esm2022/libs/ui/inputs/src/lib/search-input/search-input.component.mjs +6 -4
  73. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +5 -3
  74. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +2 -7
  75. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +20 -4
  76. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +3 -3
  77. package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +3 -3
  78. package/esm2022/libs/ui/map/src/index.mjs +4 -3
  79. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +8 -6
  80. package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +137 -0
  81. package/esm2022/libs/ui/map/src/lib/components/map-container/map-settings.token.mjs +13 -0
  82. package/esm2022/libs/ui/map/src/lib/map-utils.mjs +37 -0
  83. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +3 -3
  84. package/esm2022/libs/util/app-config/src/index.mjs +2 -1
  85. package/esm2022/libs/util/app-config/src/lib/map-layers.mjs +27 -0
  86. package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
  87. package/esm2022/libs/util/shared/src/lib/utils/no-duplicate-file-name.mjs +19 -0
  88. package/esm2022/translations/de.json +19 -0
  89. package/esm2022/translations/en.json +51 -32
  90. package/esm2022/translations/es.json +19 -0
  91. package/esm2022/translations/fr.json +82 -63
  92. package/esm2022/translations/it.json +19 -0
  93. package/esm2022/translations/nl.json +19 -0
  94. package/esm2022/translations/pt.json +19 -0
  95. package/fesm2022/geonetwork-ui.mjs +6871 -6029
  96. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  97. package/libs/api/metadata-converter/src/index.d.ts +3 -0
  98. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  99. package/libs/api/metadata-converter/src/lib/common/license.d.ts +3 -0
  100. package/libs/api/metadata-converter/src/lib/common/license.d.ts.map +1 -0
  101. package/libs/api/metadata-converter/src/lib/common/url.d.ts +7 -0
  102. package/libs/api/metadata-converter/src/lib/common/url.d.ts.map +1 -0
  103. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts +13 -0
  104. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts.map +1 -0
  105. package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts +2 -0
  106. package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts.map +1 -0
  107. package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts +16 -0
  108. package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts.map +1 -0
  109. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts +20 -0
  110. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts.map +1 -0
  111. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts +9 -0
  112. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts.map +1 -0
  113. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts +8 -0
  114. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts.map +1 -0
  115. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts +2 -0
  116. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts.map +1 -0
  117. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts +6 -0
  118. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts.map +1 -0
  119. package/libs/api/metadata-converter/src/lib/find-converter.d.ts.map +1 -1
  120. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts.map +1 -1
  121. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +0 -1
  122. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  123. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  124. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +4 -6
  125. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  126. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +58 -0
  127. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
  128. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +12 -7
  129. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  130. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +2 -15
  131. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  132. package/libs/common/domain/src/lib/model/record/contact.model.d.ts +1 -1
  133. package/libs/common/domain/src/lib/model/record/contact.model.d.ts.map +1 -1
  134. package/libs/common/domain/src/lib/platform.service.interface.d.ts +2 -3
  135. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  136. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +7 -0
  137. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  138. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts +2 -1
  139. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  140. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +10 -9
  141. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +1 -1
  142. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +13 -20
  143. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
  144. package/libs/feature/editor/src/index.d.ts +1 -0
  145. package/libs/feature/editor/src/index.d.ts.map +1 -1
  146. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  147. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts +34 -0
  148. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -0
  149. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +16 -0
  150. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -0
  151. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts +38 -0
  152. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts.map +1 -0
  153. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +1 -1
  154. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -1
  155. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +6 -13
  156. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +1 -1
  157. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +1 -1
  158. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -1
  159. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts +44 -0
  160. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -0
  161. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +1 -1
  162. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
  163. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  164. package/libs/feature/editor/src/lib/fields.config.d.ts +2 -0
  165. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  166. package/libs/feature/editor/src/lib/services/editor.service.d.ts +2 -2
  167. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  168. package/libs/feature/map/src/index.d.ts +1 -8
  169. package/libs/feature/map/src/index.d.ts.map +1 -1
  170. package/libs/feature/map/src/lib/+state/map.actions.d.ts +13 -39
  171. package/libs/feature/map/src/lib/+state/map.actions.d.ts.map +1 -1
  172. package/libs/feature/map/src/lib/+state/map.facade.d.ts +9 -10
  173. package/libs/feature/map/src/lib/+state/map.facade.d.ts.map +1 -1
  174. package/libs/feature/map/src/lib/+state/map.reducer.d.ts +4 -2
  175. package/libs/feature/map/src/lib/+state/map.reducer.d.ts.map +1 -1
  176. package/libs/feature/map/src/lib/+state/map.selectors.d.ts +6 -1
  177. package/libs/feature/map/src/lib/+state/map.selectors.d.ts.map +1 -1
  178. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts +3 -5
  179. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
  180. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
  181. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +2 -2
  182. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  183. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +1 -1
  184. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
  185. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +1 -1
  186. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
  187. package/libs/feature/map/src/lib/constant/index.d.ts +0 -1
  188. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  189. package/libs/feature/map/src/lib/feature-map.module.d.ts +12 -18
  190. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  191. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +7 -7
  192. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -1
  193. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +4 -3
  194. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  195. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts +14 -0
  196. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts.map +1 -0
  197. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +0 -30
  198. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  199. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +8 -5
  200. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  201. package/libs/feature/record/src/lib/feature-record.module.d.ts +13 -11
  202. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  203. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +13 -19
  204. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  205. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +4 -3
  206. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  207. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts +1 -1
  208. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts.map +1 -1
  209. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +9 -10
  210. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +1 -1
  211. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  212. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
  213. package/libs/ui/inputs/src/index.d.ts +1 -0
  214. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  215. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts +1 -1
  216. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts.map +1 -1
  217. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +1 -0
  218. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -1
  219. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +25 -26
  220. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  221. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +6 -3
  222. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -1
  223. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +1 -1
  224. package/libs/ui/map/src/index.d.ts +3 -2
  225. package/libs/ui/map/src/index.d.ts.map +1 -1
  226. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +3 -4
  227. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  228. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts +37 -0
  229. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -0
  230. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts +18 -0
  231. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts.map +1 -0
  232. package/libs/ui/map/src/lib/map-utils.d.ts +7 -0
  233. package/libs/ui/map/src/lib/map-utils.d.ts.map +1 -0
  234. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +1 -1
  235. package/libs/util/app-config/src/index.d.ts +1 -0
  236. package/libs/util/app-config/src/index.d.ts.map +1 -1
  237. package/libs/util/app-config/src/lib/map-layers.d.ts +4 -0
  238. package/libs/util/app-config/src/lib/map-layers.d.ts.map +1 -0
  239. package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
  240. package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
  241. package/libs/util/shared/src/lib/utils/no-duplicate-file-name.d.ts +2 -0
  242. package/libs/util/shared/src/lib/utils/no-duplicate-file-name.d.ts.map +1 -0
  243. package/package.json +5 -3
  244. package/src/libs/api/metadata-converter/src/index.ts +3 -0
  245. package/src/libs/api/metadata-converter/src/lib/common/license.ts +66 -0
  246. package/src/libs/api/metadata-converter/src/lib/common/url.ts +15 -0
  247. package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +378 -0
  248. package/src/libs/api/metadata-converter/src/lib/dcat-ap/index.ts +1 -0
  249. package/src/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.ts +17 -0
  250. package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +370 -0
  251. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.ts +95 -0
  252. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/individual-name.ts +20 -0
  253. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/keyword.mapper.ts +16 -0
  254. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/role.mapper.ts +48 -0
  255. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.ts +97 -0
  256. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/status.mapper.ts +19 -0
  257. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/update-frequency.mapper.ts +67 -0
  258. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.ts +1 -0
  259. package/src/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.ts +68 -0
  260. package/src/libs/api/metadata-converter/src/lib/find-converter.ts +13 -0
  261. package/src/libs/api/metadata-converter/src/lib/fixtures/eu.dcat-ap.records.ts +272 -0
  262. package/src/libs/api/metadata-converter/src/lib/fixtures/opendataswiss.records.ts +110 -0
  263. package/src/libs/api/metadata-converter/src/lib/fixtures/sextant.records.ts +85 -0
  264. package/src/libs/api/metadata-converter/src/lib/fixtures/vlaanderen.dcat-ap.records.ts +73 -0
  265. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +1 -2
  266. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +7 -35
  267. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +1 -2
  268. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +85 -120
  269. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +37 -2
  270. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +132 -68
  271. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +57 -30
  272. package/src/libs/common/domain/src/lib/model/record/contact.model.ts +1 -1
  273. package/src/libs/common/domain/src/lib/platform.service.interface.ts +2 -2
  274. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +10 -0
  275. package/src/libs/common/fixtures/src/index.ts +3 -0
  276. package/src/libs/common/fixtures/src/lib/individual.fixtures.ts +61 -0
  277. package/src/libs/common/fixtures/src/lib/map/index.ts +1 -0
  278. package/src/libs/common/fixtures/src/lib/map/map-context.fixtures.ts +53 -0
  279. package/src/libs/common/fixtures/src/lib/user.fixtures.ts +13 -0
  280. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +5 -1
  281. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +6 -2
  282. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +5 -2
  283. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +38 -78
  284. package/src/libs/feature/editor/src/index.ts +1 -0
  285. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +11 -4
  286. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +1 -1
  287. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +47 -0
  288. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +132 -0
  289. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +31 -0
  290. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +82 -0
  291. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.html +40 -0
  292. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.ts +170 -0
  293. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +1 -1
  294. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +6 -8
  295. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +1 -4
  296. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts +41 -83
  297. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +20 -11
  298. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +9 -5
  299. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.css +0 -0
  300. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.html +71 -0
  301. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +241 -0
  302. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +4 -3
  303. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +1 -1
  304. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +15 -0
  305. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +7 -3
  306. package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.html +2 -6
  307. package/src/libs/feature/editor/src/lib/fields.config.ts +18 -2
  308. package/src/libs/feature/editor/src/lib/services/editor.service.ts +7 -3
  309. package/src/libs/feature/map/src/index.ts +1 -8
  310. package/src/libs/feature/map/src/lib/+state/map.actions.ts +10 -25
  311. package/src/libs/feature/map/src/lib/+state/map.facade.ts +11 -15
  312. package/src/libs/feature/map/src/lib/+state/map.reducer.ts +16 -53
  313. package/src/libs/feature/map/src/lib/+state/map.selectors.ts +7 -2
  314. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +12 -15
  315. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +17 -11
  316. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +11 -12
  317. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +12 -10
  318. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +11 -9
  319. package/src/libs/feature/map/src/lib/constant/index.ts +0 -1
  320. package/src/libs/feature/map/src/lib/feature-map.module.ts +0 -26
  321. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +38 -20
  322. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +2 -2
  323. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +15 -5
  324. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.css +0 -0
  325. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.html +4 -0
  326. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.ts +29 -0
  327. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +1 -229
  328. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +27 -18
  329. package/src/libs/feature/record/src/lib/feature-record.module.ts +11 -3
  330. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +4 -4
  331. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +44 -71
  332. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +1 -1
  333. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +4 -1
  334. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +4 -2
  335. package/src/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.ts +8 -1
  336. package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +0 -3
  337. package/src/libs/ui/inputs/src/index.ts +1 -0
  338. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +1 -2
  339. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +2 -1
  340. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +2 -1
  341. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +8 -8
  342. package/src/libs/ui/inputs/src/lib/search-input/search-input.component.ts +5 -1
  343. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +1 -1
  344. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +3 -1
  345. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -3
  346. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +5 -1
  347. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +25 -2
  348. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +1 -1
  349. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +2 -2
  350. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +1 -1
  351. package/src/libs/ui/map/src/index.ts +3 -2
  352. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +1 -1
  353. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +8 -5
  354. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.css +0 -0
  355. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +203 -0
  356. package/src/libs/ui/map/src/lib/components/map-container/map-settings.token.ts +23 -0
  357. package/src/libs/ui/map/src/lib/map-utils.ts +54 -0
  358. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +18 -14
  359. package/src/libs/util/app-config/src/index.ts +1 -0
  360. package/src/libs/util/app-config/src/lib/map-layers.ts +31 -0
  361. package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
  362. package/src/libs/util/shared/src/lib/utils/no-duplicate-file-name.ts +23 -0
  363. package/tailwind.base.css +3 -2
  364. package/translations/de.json +19 -0
  365. package/translations/en.json +51 -32
  366. package/translations/es.json +19 -0
  367. package/translations/fr.json +82 -63
  368. package/translations/it.json +19 -0
  369. package/translations/nl.json +19 -0
  370. package/translations/pt.json +19 -0
  371. package/translations/sk.json +19 -0
  372. package/esm2022/libs/feature/map/src/lib/+state/map.effects.mjs +0 -15
  373. package/esm2022/libs/feature/map/src/lib/+state/map.models.mjs +0 -2
  374. package/esm2022/libs/feature/map/src/lib/constant/map-options.mjs +0 -8
  375. package/esm2022/libs/feature/map/src/lib/constant/style.constant.mjs +0 -17
  376. package/esm2022/libs/feature/map/src/lib/feature-info/feature-info.service.mjs +0 -38
  377. package/esm2022/libs/feature/map/src/lib/manager/map-instance.directive.mjs +0 -19
  378. package/esm2022/libs/feature/map/src/lib/manager/map-manager.service.mjs +0 -19
  379. package/esm2022/libs/feature/map/src/lib/map-container/map-container.component.mjs +0 -27
  380. package/esm2022/libs/feature/map/src/lib/map-context/component/map-context.component.mjs +0 -46
  381. package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +0 -10
  382. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +0 -289
  383. package/esm2022/libs/ui/map/src/lib/components/map/map.component.mjs +0 -40
  384. package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +0 -33
  385. package/libs/feature/map/src/lib/+state/map.effects.d.ts +0 -9
  386. package/libs/feature/map/src/lib/+state/map.effects.d.ts.map +0 -1
  387. package/libs/feature/map/src/lib/+state/map.models.d.ts +0 -9
  388. package/libs/feature/map/src/lib/+state/map.models.d.ts.map +0 -1
  389. package/libs/feature/map/src/lib/constant/map-options.d.ts +0 -9
  390. package/libs/feature/map/src/lib/constant/map-options.d.ts.map +0 -1
  391. package/libs/feature/map/src/lib/constant/style.constant.d.ts +0 -4
  392. package/libs/feature/map/src/lib/constant/style.constant.d.ts.map +0 -1
  393. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts +0 -16
  394. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts.map +0 -1
  395. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts +0 -9
  396. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts.map +0 -1
  397. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts +0 -11
  398. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts.map +0 -1
  399. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts +0 -12
  400. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts.map +0 -1
  401. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts +0 -26
  402. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts.map +0 -1
  403. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +0 -77
  404. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +0 -1
  405. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +0 -26
  406. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +0 -1
  407. package/libs/ui/map/src/lib/components/map/map.component.d.ts +0 -19
  408. package/libs/ui/map/src/lib/components/map/map.component.d.ts.map +0 -1
  409. package/libs/ui/map/src/lib/ui-map.module.d.ts +0 -13
  410. package/libs/ui/map/src/lib/ui-map.module.d.ts.map +0 -1
  411. package/src/libs/feature/map/src/lib/+state/map.effects.ts +0 -7
  412. package/src/libs/feature/map/src/lib/+state/map.models.ts +0 -9
  413. package/src/libs/feature/map/src/lib/constant/map-options.ts +0 -17
  414. package/src/libs/feature/map/src/lib/feature-info/feature-info.service.ts +0 -42
  415. package/src/libs/feature/map/src/lib/manager/map-instance.directive.ts +0 -10
  416. package/src/libs/feature/map/src/lib/manager/map-manager.service.ts +0 -13
  417. package/src/libs/feature/map/src/lib/map-container/map-container.component.html +0 -1
  418. package/src/libs/feature/map/src/lib/map-container/map-container.component.ts +0 -26
  419. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.html +0 -1
  420. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.ts +0 -57
  421. package/src/libs/feature/map/src/lib/map-context/map-context.fixtures.ts +0 -55
  422. package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +0 -95
  423. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +0 -318
  424. package/src/libs/ui/map/src/lib/components/map/map.component.ts +0 -57
  425. package/src/libs/ui/map/src/lib/ui-map.module.ts +0 -19
  426. /package/src/libs/feature/{map/src/lib/map-container/map-container.component.css → editor/src/lib/components/import-record/import-record.component.css} +0 -0
  427. /package/src/libs/feature/{map/src/lib/map-context/component/map-context.component.css → editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.css} +0 -0
  428. /package/src/libs/{ui/map/src/lib/components/map/map.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.css} +0 -0
  429. /package/src/libs/ui/map/src/lib/components/{map/map.component.html → map-container/map-container.component.html} +0 -0
@@ -15,11 +15,11 @@ export class BadgeComponent {
15
15
  this.badgeRemoveClicked.emit();
16
16
  }
17
17
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BadgeComponent, isStandalone: true, selector: "gn-ui-badge", inputs: { clickable: "clickable", removable: "removable" }, outputs: { badgeRemoveClicked: "badgeRemoveClicked" }, ngImport: i0, template: "<div\n class=\"gn-ui-badge flex items-center gap-1.5\"\n [ngClass]=\"\n clickable\n ? 'hover:bg-primary cursor-pointer transition-colors duration-100'\n : ''\n \"\n>\n <span><ng-content></ng-content></span>\n <gn-ui-button\n type=\"light\"\n *ngIf=\"removable\"\n (buttonClick)=\"removeBadge()\"\n class=\"ml-1 -my-[0.4em] -mr-[0.45em]\"\n extraClass=\"border-0\"\n style=\"\n --gn-ui-button-padding: 0;\n --gn-ui-button-font-size: 0.8em;\n --gn-ui-button-width: 1.4em;\n --gn-ui-button-height: 1.4em;\n --gn-ui-button-rounded: 1.4em;\n --gn-ui-button-background: white;\n \"\n >\n <mat-icon class=\"material-symbols-outlined leading-[1.1]\">close</mat-icon>\n </gn-ui-button>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BadgeComponent, isStandalone: true, selector: "gn-ui-badge", inputs: { clickable: "clickable", removable: "removable" }, outputs: { badgeRemoveClicked: "badgeRemoveClicked" }, ngImport: i0, template: "<div\n class=\"gn-ui-badge flex items-center gap-1.5\"\n [ngClass]=\"\n clickable\n ? 'hover:bg-primary cursor-pointer transition-colors duration-100'\n : ''\n \"\n>\n <span><ng-content></ng-content></span>\n <gn-ui-button\n type=\"light\"\n *ngIf=\"removable\"\n (buttonClick)=\"removeBadge()\"\n extraClass=\"text-xs border-0 px-0 py-0\"\n style=\"\n --gn-ui-button-padding: 0;\n --gn-ui-button-font-size: 0.8em;\n --gn-ui-button-width: 1.4em;\n --gn-ui-button-height: 1.4em;\n --gn-ui-button-rounded: 1.4em;\n --gn-ui-button-background: white;\n \"\n >\n <mat-icon class=\"material-symbols-outlined leading-[1.1]\">close</mat-icon>\n </gn-ui-button>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
19
  }
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BadgeComponent, decorators: [{
21
21
  type: Component,
22
- args: [{ selector: 'gn-ui-badge', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, ButtonComponent, MatIconModule], template: "<div\n class=\"gn-ui-badge flex items-center gap-1.5\"\n [ngClass]=\"\n clickable\n ? 'hover:bg-primary cursor-pointer transition-colors duration-100'\n : ''\n \"\n>\n <span><ng-content></ng-content></span>\n <gn-ui-button\n type=\"light\"\n *ngIf=\"removable\"\n (buttonClick)=\"removeBadge()\"\n class=\"ml-1 -my-[0.4em] -mr-[0.45em]\"\n extraClass=\"border-0\"\n style=\"\n --gn-ui-button-padding: 0;\n --gn-ui-button-font-size: 0.8em;\n --gn-ui-button-width: 1.4em;\n --gn-ui-button-height: 1.4em;\n --gn-ui-button-rounded: 1.4em;\n --gn-ui-button-background: white;\n \"\n >\n <mat-icon class=\"material-symbols-outlined leading-[1.1]\">close</mat-icon>\n </gn-ui-button>\n</div>\n" }]
22
+ args: [{ selector: 'gn-ui-badge', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, ButtonComponent, MatIconModule], template: "<div\n class=\"gn-ui-badge flex items-center gap-1.5\"\n [ngClass]=\"\n clickable\n ? 'hover:bg-primary cursor-pointer transition-colors duration-100'\n : ''\n \"\n>\n <span><ng-content></ng-content></span>\n <gn-ui-button\n type=\"light\"\n *ngIf=\"removable\"\n (buttonClick)=\"removeBadge()\"\n extraClass=\"text-xs border-0 px-0 py-0\"\n style=\"\n --gn-ui-button-padding: 0;\n --gn-ui-button-font-size: 0.8em;\n --gn-ui-button-width: 1.4em;\n --gn-ui-button-height: 1.4em;\n --gn-ui-button-rounded: 1.4em;\n --gn-ui-button-background: white;\n \"\n >\n <mat-icon class=\"material-symbols-outlined leading-[1.1]\">close</mat-icon>\n </gn-ui-button>\n</div>\n" }]
23
23
  }], propDecorators: { clickable: [{
24
24
  type: Input
25
25
  }], removable: [{
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
27
27
  }], badgeRemoveClicked: [{
28
28
  type: Output
29
29
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9iYWRnZS9iYWRnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2JhZGdlL2JhZGdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBOzs7O0FBVXRELE1BQU0sT0FBTyxjQUFjO0lBUjNCO1FBU1csY0FBUyxHQUFJLEtBQUssQ0FBQTtRQUNsQixjQUFTLEdBQUksS0FBSyxDQUFBO1FBQ2pCLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUE7S0FLeEQ7SUFIQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFBO0lBQ2hDLENBQUM7K0dBUFUsY0FBYzttR0FBZCxjQUFjLDBMQ25CM0IsMHZCQTJCQSx5RERWWSxZQUFZLGlPQUFFLGVBQWUsOEhBQUUsYUFBYTs7NEZBRTNDLGNBQWM7a0JBUjFCLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDOzhCQUc5QyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktYmFkZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFkZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iYWRnZS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCdXR0b25Db21wb25lbnQsIE1hdEljb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBCYWRnZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNsaWNrYWJsZT8gPSBmYWxzZVxuICBASW5wdXQoKSByZW1vdmFibGU/ID0gZmFsc2VcbiAgQE91dHB1dCgpIGJhZGdlUmVtb3ZlQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKVxuXG4gIHJlbW92ZUJhZGdlKCkge1xuICAgIHRoaXMuYmFkZ2VSZW1vdmVDbGlja2VkLmVtaXQoKVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiZ24tdWktYmFkZ2UgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNVwiXG4gIFtuZ0NsYXNzXT1cIlxuICAgIGNsaWNrYWJsZVxuICAgICAgPyAnaG92ZXI6YmctcHJpbWFyeSBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0xMDAnXG4gICAgICA6ICcnXG4gIFwiXG4+XG4gIDxzcGFuPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwYW4+XG4gIDxnbi11aS1idXR0b25cbiAgICB0eXBlPVwibGlnaHRcIlxuICAgICpuZ0lmPVwicmVtb3ZhYmxlXCJcbiAgICAoYnV0dG9uQ2xpY2spPVwicmVtb3ZlQmFkZ2UoKVwiXG4gICAgY2xhc3M9XCJtbC0xIC1teS1bMC40ZW1dIC1tci1bMC40NWVtXVwiXG4gICAgZXh0cmFDbGFzcz1cImJvcmRlci0wXCJcbiAgICBzdHlsZT1cIlxuICAgICAgLS1nbi11aS1idXR0b24tcGFkZGluZzogMDtcbiAgICAgIC0tZ24tdWktYnV0dG9uLWZvbnQtc2l6ZTogMC44ZW07XG4gICAgICAtLWduLXVpLWJ1dHRvbi13aWR0aDogMS40ZW07XG4gICAgICAtLWduLXVpLWJ1dHRvbi1oZWlnaHQ6IDEuNGVtO1xuICAgICAgLS1nbi11aS1idXR0b24tcm91bmRlZDogMS40ZW07XG4gICAgICAtLWduLXVpLWJ1dHRvbi1iYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBcIlxuICA+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBsZWFkaW5nLVsxLjFdXCI+Y2xvc2U8L21hdC1pY29uPlxuICA8L2duLXVpLWJ1dHRvbj5cbjwvZGl2PlxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9iYWRnZS9iYWRnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2JhZGdlL2JhZGdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBOzs7O0FBVXRELE1BQU0sT0FBTyxjQUFjO0lBUjNCO1FBU1csY0FBUyxHQUFJLEtBQUssQ0FBQTtRQUNsQixjQUFTLEdBQUksS0FBSyxDQUFBO1FBQ2pCLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUE7S0FLeEQ7SUFIQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFBO0lBQ2hDLENBQUM7K0dBUFUsY0FBYzttR0FBZCxjQUFjLDBMQ25CM0IsK3RCQTBCQSx5RERUWSxZQUFZLGlPQUFFLGVBQWUsOEhBQUUsYUFBYTs7NEZBRTNDLGNBQWM7a0JBUjFCLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDOzhCQUc5QyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktYmFkZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFkZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iYWRnZS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCdXR0b25Db21wb25lbnQsIE1hdEljb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBCYWRnZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNsaWNrYWJsZT8gPSBmYWxzZVxuICBASW5wdXQoKSByZW1vdmFibGU/ID0gZmFsc2VcbiAgQE91dHB1dCgpIGJhZGdlUmVtb3ZlQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKVxuXG4gIHJlbW92ZUJhZGdlKCkge1xuICAgIHRoaXMuYmFkZ2VSZW1vdmVDbGlja2VkLmVtaXQoKVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiZ24tdWktYmFkZ2UgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNVwiXG4gIFtuZ0NsYXNzXT1cIlxuICAgIGNsaWNrYWJsZVxuICAgICAgPyAnaG92ZXI6YmctcHJpbWFyeSBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0xMDAnXG4gICAgICA6ICcnXG4gIFwiXG4+XG4gIDxzcGFuPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwYW4+XG4gIDxnbi11aS1idXR0b25cbiAgICB0eXBlPVwibGlnaHRcIlxuICAgICpuZ0lmPVwicmVtb3ZhYmxlXCJcbiAgICAoYnV0dG9uQ2xpY2spPVwicmVtb3ZlQmFkZ2UoKVwiXG4gICAgZXh0cmFDbGFzcz1cInRleHQteHMgYm9yZGVyLTAgcHgtMCBweS0wXCJcbiAgICBzdHlsZT1cIlxuICAgICAgLS1nbi11aS1idXR0b24tcGFkZGluZzogMDtcbiAgICAgIC0tZ24tdWktYnV0dG9uLWZvbnQtc2l6ZTogMC44ZW07XG4gICAgICAtLWduLXVpLWJ1dHRvbi13aWR0aDogMS40ZW07XG4gICAgICAtLWduLXVpLWJ1dHRvbi1oZWlnaHQ6IDEuNGVtO1xuICAgICAgLS1nbi11aS1idXR0b24tcm91bmRlZDogMS40ZW07XG4gICAgICAtLWduLXVpLWJ1dHRvbi1iYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBcIlxuICA+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBsZWFkaW5nLVsxLjFdXCI+Y2xvc2U8L21hdC1pY29uPlxuICA8L2duLXVpLWJ1dHRvbj5cbjwvZGl2PlxuIl19
@@ -11,7 +11,7 @@ export class DatePickerComponent {
11
11
  this.dateChange = new EventEmitter();
12
12
  }
13
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DatePickerComponent, isStandalone: true, selector: "gn-ui-date-picker", inputs: { date: "date" }, outputs: { dateChange: "dateChange" }, ngImport: i0, template: "<span class=\"w-full inline-block relative\">\n <input\n class=\"gn-ui-text-input pr-[var(--text-padding)]\"\n [matDatepicker]=\"picker\"\n [value]=\"date\"\n (dateChange)=\"dateChange.emit($event.value)\"\n />\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"picker.open()\"\n extraClass=\"absolute inset-y-[var(--side-padding)] right-[var(--side-padding)]\"\n data-cy=\"date-picker-button\"\n >\n <mat-icon class=\"material-symbols-outlined text-primary\"\n >calendar_today</mat-icon\n >\n </gn-ui-button>\n</span>\n<mat-datepicker #picker></mat-datepicker>\n", styles: [":host{--gn-ui-button-rounded: 8px;--gn-ui-button-width: 32px;--gn-ui-button-padding: 0;--side-padding: calc(var(--gn-ui-text-input-padding, .6em) - 6px);--text-padding: calc(var(--side-padding) + 40px)}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DatePickerComponent, isStandalone: true, selector: "gn-ui-date-picker", inputs: { date: "date" }, outputs: { dateChange: "dateChange" }, ngImport: i0, template: "<span class=\"w-full inline-block relative\">\n <input\n class=\"gn-ui-text-input pr-[var(--text-padding)]\"\n [matDatepicker]=\"picker\"\n [value]=\"date\"\n (dateChange)=\"dateChange.emit($event.value)\"\n />\n <gn-ui-button\n type=\"light\"\n class=\"absolute inset-y-[var(--side-padding)] right-[var(--side-padding)] z-10\"\n (buttonClick)=\"picker.open()\"\n data-cy=\"date-picker-button\"\n extraClass=\"h-full\"\n >\n <mat-icon class=\"material-symbols-outlined text-primary\"\n >calendar_today</mat-icon\n >\n </gn-ui-button>\n</span>\n<mat-datepicker #picker></mat-datepicker>\n", styles: [":host{--gn-ui-button-rounded: 8px;--gn-ui-button-width: 32px;--gn-ui-button-padding: 0;--side-padding: calc(var(--gn-ui-text-input-padding, .6em) - 6px);--text-padding: calc(var(--side-padding) + 40px)}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
15
  }
16
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerComponent, decorators: [{
17
17
  type: Component,
@@ -20,10 +20,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
20
20
  MatNativeDateModule,
21
21
  MatDatepickerModule,
22
22
  ButtonComponent,
23
- ], template: "<span class=\"w-full inline-block relative\">\n <input\n class=\"gn-ui-text-input pr-[var(--text-padding)]\"\n [matDatepicker]=\"picker\"\n [value]=\"date\"\n (dateChange)=\"dateChange.emit($event.value)\"\n />\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"picker.open()\"\n extraClass=\"absolute inset-y-[var(--side-padding)] right-[var(--side-padding)]\"\n data-cy=\"date-picker-button\"\n >\n <mat-icon class=\"material-symbols-outlined text-primary\"\n >calendar_today</mat-icon\n >\n </gn-ui-button>\n</span>\n<mat-datepicker #picker></mat-datepicker>\n", styles: [":host{--gn-ui-button-rounded: 8px;--gn-ui-button-width: 32px;--gn-ui-button-padding: 0;--side-padding: calc(var(--gn-ui-text-input-padding, .6em) - 6px);--text-padding: calc(var(--side-padding) + 40px)}\n"] }]
23
+ ], template: "<span class=\"w-full inline-block relative\">\n <input\n class=\"gn-ui-text-input pr-[var(--text-padding)]\"\n [matDatepicker]=\"picker\"\n [value]=\"date\"\n (dateChange)=\"dateChange.emit($event.value)\"\n />\n <gn-ui-button\n type=\"light\"\n class=\"absolute inset-y-[var(--side-padding)] right-[var(--side-padding)] z-10\"\n (buttonClick)=\"picker.open()\"\n data-cy=\"date-picker-button\"\n extraClass=\"h-full\"\n >\n <mat-icon class=\"material-symbols-outlined text-primary\"\n >calendar_today</mat-icon\n >\n </gn-ui-button>\n</span>\n<mat-datepicker #picker></mat-datepicker>\n", styles: [":host{--gn-ui-button-rounded: 8px;--gn-ui-button-width: 32px;--gn-ui-button-padding: 0;--side-padding: calc(var(--gn-ui-text-input-padding, .6em) - 6px);--text-padding: calc(var(--side-padding) + 40px)}\n"] }]
24
24
  }], propDecorators: { date: [{
25
25
  type: Input
26
26
  }], dateChange: [{
27
27
  type: Output
28
28
  }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7Ozs7QUFlNUQsTUFBTSxPQUFPLG1CQUFtQjtJQWJoQztRQWVZLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFBO0tBQ2hEOytHQUhZLG1CQUFtQjttR0FBbkIsbUJBQW1CLDhJQ3pCaEMsNmxCQW1CQSxxUURBSSxhQUFhLG1MQUNiLG1CQUFtQiw4QkFDbkIsbUJBQW1CLCtUQUNuQixlQUFlOzs0RkFHTixtQkFBbUI7a0JBYi9CLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGVBQWU7cUJBQ2hCOzhCQUdRLElBQUk7c0JBQVosS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcidcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWRhdGUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRhdGU6IERhdGVcbiAgQE91dHB1dCgpIGRhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KClcbn1cbiIsIjxzcGFuIGNsYXNzPVwidy1mdWxsIGlubGluZS1ibG9jayByZWxhdGl2ZVwiPlxuICA8aW5wdXRcbiAgICBjbGFzcz1cImduLXVpLXRleHQtaW5wdXQgcHItW3ZhcigtLXRleHQtcGFkZGluZyldXCJcbiAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIlxuICAgIFt2YWx1ZV09XCJkYXRlXCJcbiAgICAoZGF0ZUNoYW5nZSk9XCJkYXRlQ2hhbmdlLmVtaXQoJGV2ZW50LnZhbHVlKVwiXG4gIC8+XG4gIDxnbi11aS1idXR0b25cbiAgICB0eXBlPVwibGlnaHRcIlxuICAgIChidXR0b25DbGljayk9XCJwaWNrZXIub3BlbigpXCJcbiAgICBleHRyYUNsYXNzPVwiYWJzb2x1dGUgaW5zZXQteS1bdmFyKC0tc2lkZS1wYWRkaW5nKV0gcmlnaHQtW3ZhcigtLXNpZGUtcGFkZGluZyldXCJcbiAgICBkYXRhLWN5PVwiZGF0ZS1waWNrZXItYnV0dG9uXCJcbiAgPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgdGV4dC1wcmltYXJ5XCJcbiAgICAgID5jYWxlbmRhcl90b2RheTwvbWF0LWljb25cbiAgICA+XG4gIDwvZ24tdWktYnV0dG9uPlxuPC9zcGFuPlxuPG1hdC1kYXRlcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7Ozs7QUFlNUQsTUFBTSxPQUFPLG1CQUFtQjtJQWJoQztRQWVZLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFBO0tBQ2hEOytHQUhZLG1CQUFtQjttR0FBbkIsbUJBQW1CLDhJQ3pCaEMsd25CQW9CQSxxUURESSxhQUFhLG1MQUNiLG1CQUFtQiw4QkFDbkIsbUJBQW1CLCtUQUNuQixlQUFlOzs0RkFHTixtQkFBbUI7a0JBYi9CLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGVBQWU7cUJBQ2hCOzhCQUdRLElBQUk7c0JBQVosS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcidcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWRhdGUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRhdGU6IERhdGVcbiAgQE91dHB1dCgpIGRhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KClcbn1cbiIsIjxzcGFuIGNsYXNzPVwidy1mdWxsIGlubGluZS1ibG9jayByZWxhdGl2ZVwiPlxuICA8aW5wdXRcbiAgICBjbGFzcz1cImduLXVpLXRleHQtaW5wdXQgcHItW3ZhcigtLXRleHQtcGFkZGluZyldXCJcbiAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIlxuICAgIFt2YWx1ZV09XCJkYXRlXCJcbiAgICAoZGF0ZUNoYW5nZSk9XCJkYXRlQ2hhbmdlLmVtaXQoJGV2ZW50LnZhbHVlKVwiXG4gIC8+XG4gIDxnbi11aS1idXR0b25cbiAgICB0eXBlPVwibGlnaHRcIlxuICAgIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQteS1bdmFyKC0tc2lkZS1wYWRkaW5nKV0gcmlnaHQtW3ZhcigtLXNpZGUtcGFkZGluZyldIHotMTBcIlxuICAgIChidXR0b25DbGljayk9XCJwaWNrZXIub3BlbigpXCJcbiAgICBkYXRhLWN5PVwiZGF0ZS1waWNrZXItYnV0dG9uXCJcbiAgICBleHRyYUNsYXNzPVwiaC1mdWxsXCJcbiAgPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgdGV4dC1wcmltYXJ5XCJcbiAgICAgID5jYWxlbmRhcl90b2RheTwvbWF0LWljb25cbiAgICA+XG4gIDwvZ24tdWktYnV0dG9uPlxuPC9zcGFuPlxuPG1hdC1kYXRlcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cbiJdfQ==
@@ -12,7 +12,7 @@ export class DateRangePickerComponent {
12
12
  this.endDateChange = new EventEmitter();
13
13
  }
14
14
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateRangePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DateRangePickerComponent, isStandalone: true, selector: "gn-ui-date-range-picker", inputs: { startDate: "startDate", endDate: "endDate" }, outputs: { startDateChange: "startDateChange", endDateChange: "endDateChange" }, ngImport: i0, template: "<span class=\"w-full inline-block relative\">\n <mat-date-range-input [rangePicker]=\"picker\" class=\"gn-ui-text-input\">\n <input\n matStartDate\n placeholder=\"Start date\"\n [value]=\"startDate\"\n (dateInput)=\"startDateChange.emit($event.value)\"\n />\n <input\n matEndDate\n placeholder=\"End date\"\n [value]=\"endDate\"\n (dateInput)=\"endDateChange.emit($event.value)\"\n />\n </mat-date-range-input>\n\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"picker.open()\"\n extraClass=\"absolute inset-y-[var(--side-padding)] right-[var(--side-padding)]\"\n data-cy=\"date-picker-button\"\n >\n <mat-icon class=\"material-symbols-outlined text-primary\"\n >date_range</mat-icon\n >\n </gn-ui-button>\n</span>\n<mat-date-range-picker #picker></mat-date-range-picker>\n", styles: [":host{--gn-ui-button-rounded: 8px;--gn-ui-button-width: 32px;--gn-ui-button-padding: 0;--side-padding: calc(var(--gn-ui-text-input-padding, .6em) - 6px);--text-padding: calc(var(--side-padding) + 40px)}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i2.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i2.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i2.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DateRangePickerComponent, isStandalone: true, selector: "gn-ui-date-range-picker", inputs: { startDate: "startDate", endDate: "endDate" }, outputs: { startDateChange: "startDateChange", endDateChange: "endDateChange" }, ngImport: i0, template: "<span class=\"w-full inline-block relative\">\n <mat-date-range-input [rangePicker]=\"picker\" class=\"gn-ui-text-input\">\n <input\n matStartDate\n placeholder=\"Start date\"\n [value]=\"startDate\"\n (dateInput)=\"startDateChange.emit($event.value)\"\n />\n <input\n matEndDate\n placeholder=\"End date\"\n [value]=\"endDate\"\n (dateInput)=\"endDateChange.emit($event.value)\"\n />\n </mat-date-range-input>\n\n <gn-ui-button\n type=\"light\"\n class=\"absolute inset-y-[var(--side-padding)] right-[var(--side-padding)] z-10\"\n (buttonClick)=\"picker.open()\"\n extraClass=\"h-full\"\n data-cy=\"date-picker-button\"\n >\n <mat-icon class=\"material-symbols-outlined text-primary\"\n >date_range</mat-icon\n >\n </gn-ui-button>\n</span>\n<mat-date-range-picker #picker></mat-date-range-picker>\n", styles: [":host{--gn-ui-button-rounded: 8px;--gn-ui-button-width: 32px;--gn-ui-button-padding: 0;--side-padding: calc(var(--gn-ui-text-input-padding, .6em) - 6px);--text-padding: calc(var(--side-padding) + 40px)}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i2.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i2.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i2.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
16
  }
17
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateRangePickerComponent, decorators: [{
18
18
  type: Component,
@@ -21,7 +21,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
21
21
  MatNativeDateModule,
22
22
  MatDatepickerModule,
23
23
  ButtonComponent,
24
- ], template: "<span class=\"w-full inline-block relative\">\n <mat-date-range-input [rangePicker]=\"picker\" class=\"gn-ui-text-input\">\n <input\n matStartDate\n placeholder=\"Start date\"\n [value]=\"startDate\"\n (dateInput)=\"startDateChange.emit($event.value)\"\n />\n <input\n matEndDate\n placeholder=\"End date\"\n [value]=\"endDate\"\n (dateInput)=\"endDateChange.emit($event.value)\"\n />\n </mat-date-range-input>\n\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"picker.open()\"\n extraClass=\"absolute inset-y-[var(--side-padding)] right-[var(--side-padding)]\"\n data-cy=\"date-picker-button\"\n >\n <mat-icon class=\"material-symbols-outlined text-primary\"\n >date_range</mat-icon\n >\n </gn-ui-button>\n</span>\n<mat-date-range-picker #picker></mat-date-range-picker>\n", styles: [":host{--gn-ui-button-rounded: 8px;--gn-ui-button-width: 32px;--gn-ui-button-padding: 0;--side-padding: calc(var(--gn-ui-text-input-padding, .6em) - 6px);--text-padding: calc(var(--side-padding) + 40px)}\n"] }]
24
+ ], template: "<span class=\"w-full inline-block relative\">\n <mat-date-range-input [rangePicker]=\"picker\" class=\"gn-ui-text-input\">\n <input\n matStartDate\n placeholder=\"Start date\"\n [value]=\"startDate\"\n (dateInput)=\"startDateChange.emit($event.value)\"\n />\n <input\n matEndDate\n placeholder=\"End date\"\n [value]=\"endDate\"\n (dateInput)=\"endDateChange.emit($event.value)\"\n />\n </mat-date-range-input>\n\n <gn-ui-button\n type=\"light\"\n class=\"absolute inset-y-[var(--side-padding)] right-[var(--side-padding)] z-10\"\n (buttonClick)=\"picker.open()\"\n extraClass=\"h-full\"\n data-cy=\"date-picker-button\"\n >\n <mat-icon class=\"material-symbols-outlined text-primary\"\n >date_range</mat-icon\n >\n </gn-ui-button>\n</span>\n<mat-date-range-picker #picker></mat-date-range-picker>\n", styles: [":host{--gn-ui-button-rounded: 8px;--gn-ui-button-width: 32px;--gn-ui-button-padding: 0;--side-padding: calc(var(--gn-ui-text-input-padding, .6em) - 6px);--text-padding: calc(var(--side-padding) + 40px)}\n"] }]
25
25
  }], propDecorators: { startDate: [{
26
26
  type: Input
27
27
  }], endDate: [{
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
31
31
  }], endDateChange: [{
32
32
  type: Output
33
33
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7Ozs7QUFlNUQsTUFBTSxPQUFPLHdCQUF3QjtJQWJyQztRQWdCWSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUE7UUFDMUMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFBO0tBQ25EOytHQUxZLHdCQUF3QjttR0FBeEIsd0JBQXdCLDROQ3pCckMseTFCQTRCQSxxUURUSSxhQUFhLG1MQUNiLG1CQUFtQiw4QkFDbkIsbUJBQW1CLGdyQkFDbkIsZUFBZTs7NEZBR04sd0JBQXdCO2tCQWJwQyxTQUFTOytCQUNFLHlCQUF5QixtQkFHbEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsZUFBZTtxQkFDaEI7OEJBR1EsU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcidcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWRhdGUtcmFuZ2UtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc3RhcnREYXRlOiBEYXRlXG4gIEBJbnB1dCgpIGVuZERhdGU6IERhdGVcbiAgQE91dHB1dCgpIHN0YXJ0RGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKVxuICBAT3V0cHV0KCkgZW5kRGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKVxufVxuIiwiPHNwYW4gY2xhc3M9XCJ3LWZ1bGwgaW5saW5lLWJsb2NrIHJlbGF0aXZlXCI+XG4gIDxtYXQtZGF0ZS1yYW5nZS1pbnB1dCBbcmFuZ2VQaWNrZXJdPVwicGlja2VyXCIgY2xhc3M9XCJnbi11aS10ZXh0LWlucHV0XCI+XG4gICAgPGlucHV0XG4gICAgICBtYXRTdGFydERhdGVcbiAgICAgIHBsYWNlaG9sZGVyPVwiU3RhcnQgZGF0ZVwiXG4gICAgICBbdmFsdWVdPVwic3RhcnREYXRlXCJcbiAgICAgIChkYXRlSW5wdXQpPVwic3RhcnREYXRlQ2hhbmdlLmVtaXQoJGV2ZW50LnZhbHVlKVwiXG4gICAgLz5cbiAgICA8aW5wdXRcbiAgICAgIG1hdEVuZERhdGVcbiAgICAgIHBsYWNlaG9sZGVyPVwiRW5kIGRhdGVcIlxuICAgICAgW3ZhbHVlXT1cImVuZERhdGVcIlxuICAgICAgKGRhdGVJbnB1dCk9XCJlbmREYXRlQ2hhbmdlLmVtaXQoJGV2ZW50LnZhbHVlKVwiXG4gICAgLz5cbiAgPC9tYXQtZGF0ZS1yYW5nZS1pbnB1dD5cblxuICA8Z24tdWktYnV0dG9uXG4gICAgdHlwZT1cImxpZ2h0XCJcbiAgICAoYnV0dG9uQ2xpY2spPVwicGlja2VyLm9wZW4oKVwiXG4gICAgZXh0cmFDbGFzcz1cImFic29sdXRlIGluc2V0LXktW3ZhcigtLXNpZGUtcGFkZGluZyldIHJpZ2h0LVt2YXIoLS1zaWRlLXBhZGRpbmcpXVwiXG4gICAgZGF0YS1jeT1cImRhdGUtcGlja2VyLWJ1dHRvblwiXG4gID5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtcHJpbWFyeVwiXG4gICAgICA+ZGF0ZV9yYW5nZTwvbWF0LWljb25cbiAgICA+XG4gIDwvZ24tdWktYnV0dG9uPlxuPC9zcGFuPlxuPG1hdC1kYXRlLXJhbmdlLXBpY2tlciAjcGlja2VyPjwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyPlxuIl19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7Ozs7QUFlNUQsTUFBTSxPQUFPLHdCQUF3QjtJQWJyQztRQWdCWSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUE7UUFDMUMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFBO0tBQ25EOytHQUxZLHdCQUF3QjttR0FBeEIsd0JBQXdCLDROQ3pCckMsbzNCQTZCQSxxUURWSSxhQUFhLG1MQUNiLG1CQUFtQiw4QkFDbkIsbUJBQW1CLGdyQkFDbkIsZUFBZTs7NEZBR04sd0JBQXdCO2tCQWJwQyxTQUFTOytCQUNFLHlCQUF5QixtQkFHbEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsZUFBZTtxQkFDaEI7OEJBR1EsU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcidcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWRhdGUtcmFuZ2UtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc3RhcnREYXRlOiBEYXRlXG4gIEBJbnB1dCgpIGVuZERhdGU6IERhdGVcbiAgQE91dHB1dCgpIHN0YXJ0RGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKVxuICBAT3V0cHV0KCkgZW5kRGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKVxufVxuIiwiPHNwYW4gY2xhc3M9XCJ3LWZ1bGwgaW5saW5lLWJsb2NrIHJlbGF0aXZlXCI+XG4gIDxtYXQtZGF0ZS1yYW5nZS1pbnB1dCBbcmFuZ2VQaWNrZXJdPVwicGlja2VyXCIgY2xhc3M9XCJnbi11aS10ZXh0LWlucHV0XCI+XG4gICAgPGlucHV0XG4gICAgICBtYXRTdGFydERhdGVcbiAgICAgIHBsYWNlaG9sZGVyPVwiU3RhcnQgZGF0ZVwiXG4gICAgICBbdmFsdWVdPVwic3RhcnREYXRlXCJcbiAgICAgIChkYXRlSW5wdXQpPVwic3RhcnREYXRlQ2hhbmdlLmVtaXQoJGV2ZW50LnZhbHVlKVwiXG4gICAgLz5cbiAgICA8aW5wdXRcbiAgICAgIG1hdEVuZERhdGVcbiAgICAgIHBsYWNlaG9sZGVyPVwiRW5kIGRhdGVcIlxuICAgICAgW3ZhbHVlXT1cImVuZERhdGVcIlxuICAgICAgKGRhdGVJbnB1dCk9XCJlbmREYXRlQ2hhbmdlLmVtaXQoJGV2ZW50LnZhbHVlKVwiXG4gICAgLz5cbiAgPC9tYXQtZGF0ZS1yYW5nZS1pbnB1dD5cblxuICA8Z24tdWktYnV0dG9uXG4gICAgdHlwZT1cImxpZ2h0XCJcbiAgICBjbGFzcz1cImFic29sdXRlIGluc2V0LXktW3ZhcigtLXNpZGUtcGFkZGluZyldIHJpZ2h0LVt2YXIoLS1zaWRlLXBhZGRpbmcpXSB6LTEwXCJcbiAgICAoYnV0dG9uQ2xpY2spPVwicGlja2VyLm9wZW4oKVwiXG4gICAgZXh0cmFDbGFzcz1cImgtZnVsbFwiXG4gICAgZGF0YS1jeT1cImRhdGUtcGlja2VyLWJ1dHRvblwiXG4gID5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtcHJpbWFyeVwiXG4gICAgICA+ZGF0ZV9yYW5nZTwvbWF0LWljb25cbiAgICA+XG4gIDwvZ24tdWktYnV0dG9uPlxuPC9zcGFuPlxuPG1hdC1kYXRlLXJhbmdlLXBpY2tlciAjcGlja2VyPjwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyPlxuIl19
@@ -60,7 +60,7 @@ export class FileInputComponent {
60
60
  this.uploadCancel.emit();
61
61
  }
62
62
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileInputComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
63
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FileInputComponent, isStandalone: true, selector: "gn-ui-file-input", inputs: { maxSizeMB: "maxSizeMB", uploadProgress: "uploadProgress" }, outputs: { fileChange: "fileChange", urlChange: "urlChange", uploadCancel: "uploadCancel" }, ngImport: i0, template: "<div class=\"w-full flex flex-col gap-[16px]\">\n <label\n gnUiFilesDrop\n class=\"flex-1 border-2 border-dashed rounded-lg p-6 flex flex-col items-center justify-center gap-4 transition-colors duration-100\"\n [ngClass]=\"{\n 'border-primary-lighter bg-primary-white': dragFilesOver,\n 'border-gray-300': !dragFilesOver,\n 'cursor-pointer hover:border-gray-500': !isUploadInProgress\n }\"\n [attr.tabindex]=\"isUploadInProgress ? null : 0\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n (keydown.enter)=\"fileInput.click()\"\n >\n <div\n class=\"w-14 h-14 rounded-md bg-gray-50 grid\"\n *ngIf=\"!isUploadInProgress\"\n >\n <mat-icon\n *ngIf=\"!dragFilesOver\"\n class=\"material-symbols-outlined place-self-center text-primary\"\n >cloud_upload</mat-icon\n >\n <mat-icon\n *ngIf=\"dragFilesOver\"\n class=\"material-symbols-outlined place-self-center text-primary\"\n >add_box</mat-icon\n >\n </div>\n <div\n *ngIf=\"isUploadInProgress\"\n class=\"w-14 h-14 grid items-center justify-center relative\"\n >\n <div class=\"text-gray-100 absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"100\"\n ></mat-progress-spinner>\n </div>\n <div class=\"text-primary absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n </div>\n <span class=\"text-sm text-main font-bold\">{{ uploadProgress }}%</span>\n </div>\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">\n {{ getPrimaryText() | translate: { sizeMB: maxSizeMB.toFixed(0) } }}\n </p>\n <p\n class=\"text-sm\"\n [class]=\"\n isUploadInProgress\n ? 'font-bold text-primary cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick($event)\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <p class=\"w-full flex flex-row items-center justify-stretch gap-[16px]\">\n <span class=\"border-b border-gray-300 grow\"></span>\n <span class=\"text-sm font-medium text-gray-500 or-input-url\" translate>\n input.file.orInputUrl</span\n >\n <span class=\"border-b border-gray-300 grow\"></span>\n </p>\n <input\n #fileInput\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"isUploadInProgress\"\n />\n\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"isUploadInProgress\"\n (valueChange)=\"handleUrlChange($event)\"\n ></gn-ui-url-input>\n </label>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: FilesDropDirective, selector: "[gnUiFilesDrop]", outputs: ["dragFilesOver", "dropFiles"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FileInputComponent, isStandalone: true, selector: "gn-ui-file-input", inputs: { maxSizeMB: "maxSizeMB", uploadProgress: "uploadProgress" }, outputs: { fileChange: "fileChange", urlChange: "urlChange", uploadCancel: "uploadCancel" }, ngImport: i0, template: "<div class=\"w-full flex flex-col gap-[16px]\">\n <label\n gnUiFilesDrop\n class=\"flex-1 border-2 border-dashed rounded-lg p-6 flex flex-col items-center justify-center gap-4 transition-colors duration-100\"\n [ngClass]=\"{\n 'border-primary-lighter bg-primary-white': dragFilesOver,\n 'border-gray-300': !dragFilesOver,\n 'cursor-pointer hover:border-gray-500': !isUploadInProgress\n }\"\n [attr.tabindex]=\"isUploadInProgress ? null : 0\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n (keydown.enter)=\"fileInput.click()\"\n >\n <input\n #fileInput\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"isUploadInProgress\"\n />\n\n <div\n class=\"w-14 h-14 rounded-md bg-gray-50 grid\"\n *ngIf=\"!isUploadInProgress\"\n >\n <mat-icon\n *ngIf=\"!dragFilesOver\"\n class=\"material-symbols-outlined place-self-center text-primary\"\n >cloud_upload</mat-icon\n >\n <mat-icon\n *ngIf=\"dragFilesOver\"\n class=\"material-symbols-outlined place-self-center text-primary\"\n >add_box</mat-icon\n >\n </div>\n <div\n *ngIf=\"isUploadInProgress\"\n class=\"w-14 h-14 grid items-center justify-center relative\"\n >\n <div class=\"text-gray-100 absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"100\"\n ></mat-progress-spinner>\n </div>\n <div class=\"text-primary absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n </div>\n <span class=\"text-sm text-main font-bold\">{{ uploadProgress }}%</span>\n </div>\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">\n {{ getPrimaryText() | translate: { sizeMB: maxSizeMB.toFixed(0) } }}\n </p>\n <p\n class=\"text-sm\"\n [class]=\"\n isUploadInProgress\n ? 'font-bold text-primary cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick($event)\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <p class=\"w-full flex flex-row items-center justify-stretch gap-[16px]\">\n <span class=\"border-b border-gray-300 grow\"></span>\n <span class=\"text-sm font-medium text-gray-500 or-input-url\" translate>\n input.file.orInputUrl</span\n >\n <span class=\"border-b border-gray-300 grow\"></span>\n </p>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"isUploadInProgress\"\n (valueChange)=\"handleUrlChange($event)\"\n ></gn-ui-url-input>\n </label>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: FilesDropDirective, selector: "[gnUiFilesDrop]", outputs: ["dragFilesOver", "dropFiles"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "urlCanParse"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
64
64
  }
65
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileInputComponent, decorators: [{
66
66
  type: Component,
@@ -72,7 +72,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
72
72
  MatProgressSpinnerModule,
73
73
  TranslateModule,
74
74
  UrlInputComponent,
75
- ], template: "<div class=\"w-full flex flex-col gap-[16px]\">\n <label\n gnUiFilesDrop\n class=\"flex-1 border-2 border-dashed rounded-lg p-6 flex flex-col items-center justify-center gap-4 transition-colors duration-100\"\n [ngClass]=\"{\n 'border-primary-lighter bg-primary-white': dragFilesOver,\n 'border-gray-300': !dragFilesOver,\n 'cursor-pointer hover:border-gray-500': !isUploadInProgress\n }\"\n [attr.tabindex]=\"isUploadInProgress ? null : 0\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n (keydown.enter)=\"fileInput.click()\"\n >\n <div\n class=\"w-14 h-14 rounded-md bg-gray-50 grid\"\n *ngIf=\"!isUploadInProgress\"\n >\n <mat-icon\n *ngIf=\"!dragFilesOver\"\n class=\"material-symbols-outlined place-self-center text-primary\"\n >cloud_upload</mat-icon\n >\n <mat-icon\n *ngIf=\"dragFilesOver\"\n class=\"material-symbols-outlined place-self-center text-primary\"\n >add_box</mat-icon\n >\n </div>\n <div\n *ngIf=\"isUploadInProgress\"\n class=\"w-14 h-14 grid items-center justify-center relative\"\n >\n <div class=\"text-gray-100 absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"100\"\n ></mat-progress-spinner>\n </div>\n <div class=\"text-primary absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n </div>\n <span class=\"text-sm text-main font-bold\">{{ uploadProgress }}%</span>\n </div>\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">\n {{ getPrimaryText() | translate: { sizeMB: maxSizeMB.toFixed(0) } }}\n </p>\n <p\n class=\"text-sm\"\n [class]=\"\n isUploadInProgress\n ? 'font-bold text-primary cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick($event)\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <p class=\"w-full flex flex-row items-center justify-stretch gap-[16px]\">\n <span class=\"border-b border-gray-300 grow\"></span>\n <span class=\"text-sm font-medium text-gray-500 or-input-url\" translate>\n input.file.orInputUrl</span\n >\n <span class=\"border-b border-gray-300 grow\"></span>\n </p>\n <input\n #fileInput\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"isUploadInProgress\"\n />\n\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"isUploadInProgress\"\n (valueChange)=\"handleUrlChange($event)\"\n ></gn-ui-url-input>\n </label>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
75
+ ], template: "<div class=\"w-full flex flex-col gap-[16px]\">\n <label\n gnUiFilesDrop\n class=\"flex-1 border-2 border-dashed rounded-lg p-6 flex flex-col items-center justify-center gap-4 transition-colors duration-100\"\n [ngClass]=\"{\n 'border-primary-lighter bg-primary-white': dragFilesOver,\n 'border-gray-300': !dragFilesOver,\n 'cursor-pointer hover:border-gray-500': !isUploadInProgress\n }\"\n [attr.tabindex]=\"isUploadInProgress ? null : 0\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n (keydown.enter)=\"fileInput.click()\"\n >\n <input\n #fileInput\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"isUploadInProgress\"\n />\n\n <div\n class=\"w-14 h-14 rounded-md bg-gray-50 grid\"\n *ngIf=\"!isUploadInProgress\"\n >\n <mat-icon\n *ngIf=\"!dragFilesOver\"\n class=\"material-symbols-outlined place-self-center text-primary\"\n >cloud_upload</mat-icon\n >\n <mat-icon\n *ngIf=\"dragFilesOver\"\n class=\"material-symbols-outlined place-self-center text-primary\"\n >add_box</mat-icon\n >\n </div>\n <div\n *ngIf=\"isUploadInProgress\"\n class=\"w-14 h-14 grid items-center justify-center relative\"\n >\n <div class=\"text-gray-100 absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"100\"\n ></mat-progress-spinner>\n </div>\n <div class=\"text-primary absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n </div>\n <span class=\"text-sm text-main font-bold\">{{ uploadProgress }}%</span>\n </div>\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">\n {{ getPrimaryText() | translate: { sizeMB: maxSizeMB.toFixed(0) } }}\n </p>\n <p\n class=\"text-sm\"\n [class]=\"\n isUploadInProgress\n ? 'font-bold text-primary cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick($event)\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <p class=\"w-full flex flex-row items-center justify-stretch gap-[16px]\">\n <span class=\"border-b border-gray-300 grow\"></span>\n <span class=\"text-sm font-medium text-gray-500 or-input-url\" translate>\n input.file.orInputUrl</span\n >\n <span class=\"border-b border-gray-300 grow\"></span>\n </p>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"isUploadInProgress\"\n (valueChange)=\"handleUrlChange($event)\"\n ></gn-ui-url-input>\n </label>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
76
76
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { maxSizeMB: [{
77
77
  type: Input
78
78
  }], uploadProgress: [{
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
84
84
  }], uploadCancel: [{
85
85
  type: Output
86
86
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTs7Ozs7O0FBa0JwRSxNQUFNLE9BQU8sa0JBQWtCO0lBUzdCLElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGNBQWMsS0FBSyxTQUFTLENBQUE7SUFDMUMsQ0FBQztJQUVELFlBQW9CLEVBQXFCO1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBVi9CLGVBQVUsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUNuRCxjQUFTLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUE7UUFDcEQsaUJBQVksR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUUvRCxrQkFBYSxHQUFHLEtBQUssQ0FBQTtJQU11QixDQUFDO0lBRTdDLGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsT0FBTyxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtTQUNoRDtRQUNELE9BQU8sTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixPQUFPLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO1NBQ2pEO1FBQ0QsT0FBTyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsYUFBc0I7UUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUE7UUFDbEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUMvQjtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsS0FBWTtRQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUUsS0FBSyxDQUFDLE1BQTJCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUM1RSxDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQVc7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDMUIsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQVk7UUFDbkMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtZQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUE7U0FDdkI7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDMUIsQ0FBQzsrR0F6RFUsa0JBQWtCO21HQUFsQixrQkFBa0IsK09DakMvQix1N0ZBeUZBLDZIRGpFSSxZQUFZLGdPQUVaLGFBQWEsb0xBQ2Isa0JBQWtCLG9HQUNsQix3QkFBd0Isa09BQ3hCLGVBQWUsbU9BQ2YsaUJBQWlCOzs0RkFHUixrQkFBa0I7a0JBaEI5QixTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLHdCQUF3Qjt3QkFDeEIsZUFBZTt3QkFDZixpQkFBaUI7cUJBQ2xCO3dHQUdRLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7IEZpbGVzRHJvcERpcmVjdGl2ZSB9IGZyb20gJy4uL2ZpbGVzLWRyb3AvZmlsZXMtZHJvcC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHsgVXJsSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi91cmwtaW5wdXQvdXJsLWlucHV0LmNvbXBvbmVudCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZmlsZS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS1pbnB1dC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIEZpbGVzRHJvcERpcmVjdGl2ZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFVybElucHV0Q29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlSW5wdXRDb21wb25lbnQge1xuICBASW5wdXQoKSBtYXhTaXplTUI6IG51bWJlclxuICBASW5wdXQoKSB1cGxvYWRQcm9ncmVzcz86IG51bWJlclxuICBAT3V0cHV0KCkgZmlsZUNoYW5nZTogRXZlbnRFbWl0dGVyPEZpbGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSB1cmxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSB1cGxvYWRDYW5jZWw6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIGRyYWdGaWxlc092ZXIgPSBmYWxzZVxuXG4gIGdldCBpc1VwbG9hZEluUHJvZ3Jlc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBsb2FkUHJvZ3Jlc3MgIT09IHVuZGVmaW5lZFxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgZ2V0UHJpbWFyeVRleHQoKSB7XG4gICAgaWYgKHRoaXMudXBsb2FkUHJvZ3Jlc3MpIHtcbiAgICAgIHJldHVybiBtYXJrZXIoJ2lucHV0LmZpbGUudXBsb2FkUHJvZ3Jlc3NMYWJlbCcpXG4gICAgfVxuICAgIHJldHVybiBtYXJrZXIoJ2lucHV0LmZpbGUuc2VsZWN0RmlsZUxhYmVsJylcbiAgfVxuXG4gIGdldFNlY29uZGFyeVRleHQoKSB7XG4gICAgaWYgKHRoaXMudXBsb2FkUHJvZ3Jlc3MpIHtcbiAgICAgIHJldHVybiBtYXJrZXIoJ2lucHV0LmZpbGUudXBsb2FkUHJvZ3Jlc3NDYW5jZWwnKVxuICAgIH1cbiAgICByZXR1cm4gbWFya2VyKCdpbnB1dC5maWxlLmRyb3BGaWxlTGFiZWwnKVxuICB9XG5cbiAgaGFuZGxlRHJhZ0ZpbGVzT3ZlcihkcmFnRmlsZXNPdmVyOiBib29sZWFuKSB7XG4gICAgdGhpcy5kcmFnRmlsZXNPdmVyID0gZHJhZ0ZpbGVzT3ZlclxuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKClcbiAgfVxuXG4gIGhhbmRsZURyb3BGaWxlcyhmaWxlczogRmlsZVtdKSB7XG4gICAgaWYgKGZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZmlsZUNoYW5nZS5lbWl0KGZpbGVzWzBdKVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUZpbGVJbnB1dChldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmhhbmRsZURyb3BGaWxlcyhBcnJheS5mcm9tKChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuZmlsZXMpKVxuICB9XG5cbiAgaGFuZGxlVXJsQ2hhbmdlKHVybDogc3RyaW5nKSB7XG4gICAgdGhpcy51cmxDaGFuZ2UuZW1pdCh1cmwpXG4gIH1cblxuICBoYW5kbGVTZWNvbmRhcnlUZXh0Q2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKHRoaXMudXBsb2FkUHJvZ3Jlc3MpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2FuY2VsKClcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICB9XG4gIH1cblxuICBoYW5kbGVDYW5jZWwoKSB7XG4gICAgdGhpcy51cGxvYWRDYW5jZWwuZW1pdCgpXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3LWZ1bGwgZmxleCBmbGV4LWNvbCBnYXAtWzE2cHhdXCI+XG4gIDxsYWJlbFxuICAgIGduVWlGaWxlc0Ryb3BcbiAgICBjbGFzcz1cImZsZXgtMSBib3JkZXItMiBib3JkZXItZGFzaGVkIHJvdW5kZWQtbGcgcC02IGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC00IHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTEwMFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ2JvcmRlci1wcmltYXJ5LWxpZ2h0ZXIgYmctcHJpbWFyeS13aGl0ZSc6IGRyYWdGaWxlc092ZXIsXG4gICAgICAnYm9yZGVyLWdyYXktMzAwJzogIWRyYWdGaWxlc092ZXIsXG4gICAgICAnY3Vyc29yLXBvaW50ZXIgaG92ZXI6Ym9yZGVyLWdyYXktNTAwJzogIWlzVXBsb2FkSW5Qcm9ncmVzc1xuICAgIH1cIlxuICAgIFthdHRyLnRhYmluZGV4XT1cImlzVXBsb2FkSW5Qcm9ncmVzcyA/IG51bGwgOiAwXCJcbiAgICAoZHJhZ0ZpbGVzT3Zlcik9XCJoYW5kbGVEcmFnRmlsZXNPdmVyKCRldmVudClcIlxuICAgIChkcm9wRmlsZXMpPVwiaGFuZGxlRHJvcEZpbGVzKCRldmVudClcIlxuICAgIChrZXlkb3duLmVudGVyKT1cImZpbGVJbnB1dC5jbGljaygpXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwidy0xNCBoLTE0IHJvdW5kZWQtbWQgYmctZ3JheS01MCBncmlkXCJcbiAgICAgICpuZ0lmPVwiIWlzVXBsb2FkSW5Qcm9ncmVzc1wiXG4gICAgPlxuICAgICAgPG1hdC1pY29uXG4gICAgICAgICpuZ0lmPVwiIWRyYWdGaWxlc092ZXJcIlxuICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgcGxhY2Utc2VsZi1jZW50ZXIgdGV4dC1wcmltYXJ5XCJcbiAgICAgICAgPmNsb3VkX3VwbG9hZDwvbWF0LWljb25cbiAgICAgID5cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICAqbmdJZj1cImRyYWdGaWxlc092ZXJcIlxuICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgcGxhY2Utc2VsZi1jZW50ZXIgdGV4dC1wcmltYXJ5XCJcbiAgICAgICAgPmFkZF9ib3g8L21hdC1pY29uXG4gICAgICA+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJpc1VwbG9hZEluUHJvZ3Jlc3NcIlxuICAgICAgY2xhc3M9XCJ3LTE0IGgtMTQgZ3JpZCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcmVsYXRpdmVcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktMTAwIGFic29sdXRlXCI+XG4gICAgICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lclxuICAgICAgICAgIGNsYXNzPVwicGxhY2Utc2VsZi1jZW50ZXJcIlxuICAgICAgICAgIFtkaWFtZXRlcl09XCI1NlwiXG4gICAgICAgICAgbW9kZT1cImRldGVybWluYXRlXCJcbiAgICAgICAgICBbdmFsdWVdPVwiMTAwXCJcbiAgICAgICAgPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgYWJzb2x1dGVcIj5cbiAgICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyXG4gICAgICAgICAgY2xhc3M9XCJwbGFjZS1zZWxmLWNlbnRlclwiXG4gICAgICAgICAgW2RpYW1ldGVyXT1cIjU2XCJcbiAgICAgICAgICBtb2RlPVwiZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgIFt2YWx1ZV09XCJ1cGxvYWRQcm9ncmVzc1wiXG4gICAgICAgID48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gdGV4dC1tYWluIGZvbnQtYm9sZFwiPnt7IHVwbG9hZFByb2dyZXNzIH19JTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgZ2FwLTFcIj5cbiAgICAgIDxwIGNsYXNzPVwiZm9udC1tZWRpdW1cIj5cbiAgICAgICAge3sgZ2V0UHJpbWFyeVRleHQoKSB8IHRyYW5zbGF0ZTogeyBzaXplTUI6IG1heFNpemVNQi50b0ZpeGVkKDApIH0gfX1cbiAgICAgIDwvcD5cbiAgICAgIDxwXG4gICAgICAgIGNsYXNzPVwidGV4dC1zbVwiXG4gICAgICAgIFtjbGFzc109XCJcbiAgICAgICAgICBpc1VwbG9hZEluUHJvZ3Jlc3NcbiAgICAgICAgICAgID8gJ2ZvbnQtYm9sZCB0ZXh0LXByaW1hcnkgY3Vyc29yLXBvaW50ZXInXG4gICAgICAgICAgICA6ICdmb250LW1lZGl1bSB0ZXh0LWdyYXktNTAwJ1xuICAgICAgICBcIlxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2Vjb25kYXJ5VGV4dENsaWNrKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICB7eyBnZXRTZWNvbmRhcnlUZXh0KCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgICA8cCBjbGFzcz1cInctZnVsbCBmbGV4IGZsZXgtcm93IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LXN0cmV0Y2ggZ2FwLVsxNnB4XVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJib3JkZXItYiBib3JkZXItZ3JheS0zMDAgZ3Jvd1wiPjwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWdyYXktNTAwIG9yLWlucHV0LXVybFwiIHRyYW5zbGF0ZT5cbiAgICAgICAgaW5wdXQuZmlsZS5vcklucHV0VXJsPC9zcGFuXG4gICAgICA+XG4gICAgICA8c3BhbiBjbGFzcz1cImJvcmRlci1iIGJvcmRlci1ncmF5LTMwMCBncm93XCI+PC9zcGFuPlxuICAgIDwvcD5cbiAgICA8aW5wdXRcbiAgICAgICNmaWxlSW5wdXRcbiAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgIGNsYXNzPVwiaGlkZGVuXCJcbiAgICAgIChjaGFuZ2UpPVwiaGFuZGxlRmlsZUlucHV0KCRldmVudClcIlxuICAgICAgW2Rpc2FibGVkXT1cImlzVXBsb2FkSW5Qcm9ncmVzc1wiXG4gICAgLz5cblxuICAgIDxnbi11aS11cmwtaW5wdXRcbiAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgIFtkaXNhYmxlZF09XCJpc1VwbG9hZEluUHJvZ3Jlc3NcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cImhhbmRsZVVybENoYW5nZSgkZXZlbnQpXCJcbiAgICA+PC9nbi11aS11cmwtaW5wdXQ+XG4gIDwvbGFiZWw+XG48L2Rpdj5cbiJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTs7Ozs7O0FBa0JwRSxNQUFNLE9BQU8sa0JBQWtCO0lBUzdCLElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGNBQWMsS0FBSyxTQUFTLENBQUE7SUFDMUMsQ0FBQztJQUVELFlBQW9CLEVBQXFCO1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBVi9CLGVBQVUsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUNuRCxjQUFTLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUE7UUFDcEQsaUJBQVksR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUUvRCxrQkFBYSxHQUFHLEtBQUssQ0FBQTtJQU11QixDQUFDO0lBRTdDLGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsT0FBTyxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtTQUNoRDtRQUNELE9BQU8sTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixPQUFPLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO1NBQ2pEO1FBQ0QsT0FBTyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsYUFBc0I7UUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUE7UUFDbEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUMvQjtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsS0FBWTtRQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUUsS0FBSyxDQUFDLE1BQTJCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUM1RSxDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQVc7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDMUIsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQVk7UUFDbkMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtZQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUE7U0FDdkI7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDMUIsQ0FBQzsrR0F6RFUsa0JBQWtCO21HQUFsQixrQkFBa0IsK09DakMvQix1N0ZBeUZBLDZIRGpFSSxZQUFZLGdPQUVaLGFBQWEsb0xBQ2Isa0JBQWtCLG9HQUNsQix3QkFBd0Isa09BQ3hCLGVBQWUsbU9BQ2YsaUJBQWlCOzs0RkFHUixrQkFBa0I7a0JBaEI5QixTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLHdCQUF3Qjt3QkFDeEIsZUFBZTt3QkFDZixpQkFBaUI7cUJBQ2xCO3dHQUdRLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7IEZpbGVzRHJvcERpcmVjdGl2ZSB9IGZyb20gJy4uL2ZpbGVzLWRyb3AvZmlsZXMtZHJvcC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHsgVXJsSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi91cmwtaW5wdXQvdXJsLWlucHV0LmNvbXBvbmVudCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZmlsZS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS1pbnB1dC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIEZpbGVzRHJvcERpcmVjdGl2ZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFVybElucHV0Q29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlSW5wdXRDb21wb25lbnQge1xuICBASW5wdXQoKSBtYXhTaXplTUI6IG51bWJlclxuICBASW5wdXQoKSB1cGxvYWRQcm9ncmVzcz86IG51bWJlclxuICBAT3V0cHV0KCkgZmlsZUNoYW5nZTogRXZlbnRFbWl0dGVyPEZpbGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSB1cmxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSB1cGxvYWRDYW5jZWw6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIGRyYWdGaWxlc092ZXIgPSBmYWxzZVxuXG4gIGdldCBpc1VwbG9hZEluUHJvZ3Jlc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBsb2FkUHJvZ3Jlc3MgIT09IHVuZGVmaW5lZFxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgZ2V0UHJpbWFyeVRleHQoKSB7XG4gICAgaWYgKHRoaXMudXBsb2FkUHJvZ3Jlc3MpIHtcbiAgICAgIHJldHVybiBtYXJrZXIoJ2lucHV0LmZpbGUudXBsb2FkUHJvZ3Jlc3NMYWJlbCcpXG4gICAgfVxuICAgIHJldHVybiBtYXJrZXIoJ2lucHV0LmZpbGUuc2VsZWN0RmlsZUxhYmVsJylcbiAgfVxuXG4gIGdldFNlY29uZGFyeVRleHQoKSB7XG4gICAgaWYgKHRoaXMudXBsb2FkUHJvZ3Jlc3MpIHtcbiAgICAgIHJldHVybiBtYXJrZXIoJ2lucHV0LmZpbGUudXBsb2FkUHJvZ3Jlc3NDYW5jZWwnKVxuICAgIH1cbiAgICByZXR1cm4gbWFya2VyKCdpbnB1dC5maWxlLmRyb3BGaWxlTGFiZWwnKVxuICB9XG5cbiAgaGFuZGxlRHJhZ0ZpbGVzT3ZlcihkcmFnRmlsZXNPdmVyOiBib29sZWFuKSB7XG4gICAgdGhpcy5kcmFnRmlsZXNPdmVyID0gZHJhZ0ZpbGVzT3ZlclxuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKClcbiAgfVxuXG4gIGhhbmRsZURyb3BGaWxlcyhmaWxlczogRmlsZVtdKSB7XG4gICAgaWYgKGZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZmlsZUNoYW5nZS5lbWl0KGZpbGVzWzBdKVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUZpbGVJbnB1dChldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmhhbmRsZURyb3BGaWxlcyhBcnJheS5mcm9tKChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuZmlsZXMpKVxuICB9XG5cbiAgaGFuZGxlVXJsQ2hhbmdlKHVybDogc3RyaW5nKSB7XG4gICAgdGhpcy51cmxDaGFuZ2UuZW1pdCh1cmwpXG4gIH1cblxuICBoYW5kbGVTZWNvbmRhcnlUZXh0Q2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKHRoaXMudXBsb2FkUHJvZ3Jlc3MpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2FuY2VsKClcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICB9XG4gIH1cblxuICBoYW5kbGVDYW5jZWwoKSB7XG4gICAgdGhpcy51cGxvYWRDYW5jZWwuZW1pdCgpXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3LWZ1bGwgZmxleCBmbGV4LWNvbCBnYXAtWzE2cHhdXCI+XG4gIDxsYWJlbFxuICAgIGduVWlGaWxlc0Ryb3BcbiAgICBjbGFzcz1cImZsZXgtMSBib3JkZXItMiBib3JkZXItZGFzaGVkIHJvdW5kZWQtbGcgcC02IGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC00IHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTEwMFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ2JvcmRlci1wcmltYXJ5LWxpZ2h0ZXIgYmctcHJpbWFyeS13aGl0ZSc6IGRyYWdGaWxlc092ZXIsXG4gICAgICAnYm9yZGVyLWdyYXktMzAwJzogIWRyYWdGaWxlc092ZXIsXG4gICAgICAnY3Vyc29yLXBvaW50ZXIgaG92ZXI6Ym9yZGVyLWdyYXktNTAwJzogIWlzVXBsb2FkSW5Qcm9ncmVzc1xuICAgIH1cIlxuICAgIFthdHRyLnRhYmluZGV4XT1cImlzVXBsb2FkSW5Qcm9ncmVzcyA/IG51bGwgOiAwXCJcbiAgICAoZHJhZ0ZpbGVzT3Zlcik9XCJoYW5kbGVEcmFnRmlsZXNPdmVyKCRldmVudClcIlxuICAgIChkcm9wRmlsZXMpPVwiaGFuZGxlRHJvcEZpbGVzKCRldmVudClcIlxuICAgIChrZXlkb3duLmVudGVyKT1cImZpbGVJbnB1dC5jbGljaygpXCJcbiAgPlxuICAgIDxpbnB1dFxuICAgICAgI2ZpbGVJbnB1dFxuICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgY2xhc3M9XCJoaWRkZW5cIlxuICAgICAgKGNoYW5nZSk9XCJoYW5kbGVGaWxlSW5wdXQoJGV2ZW50KVwiXG4gICAgICBbZGlzYWJsZWRdPVwiaXNVcGxvYWRJblByb2dyZXNzXCJcbiAgICAvPlxuXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJ3LTE0IGgtMTQgcm91bmRlZC1tZCBiZy1ncmF5LTUwIGdyaWRcIlxuICAgICAgKm5nSWY9XCIhaXNVcGxvYWRJblByb2dyZXNzXCJcbiAgICA+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgKm5nSWY9XCIhZHJhZ0ZpbGVzT3ZlclwiXG4gICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBwbGFjZS1zZWxmLWNlbnRlciB0ZXh0LXByaW1hcnlcIlxuICAgICAgICA+Y2xvdWRfdXBsb2FkPC9tYXQtaWNvblxuICAgICAgPlxuICAgICAgPG1hdC1pY29uXG4gICAgICAgICpuZ0lmPVwiZHJhZ0ZpbGVzT3ZlclwiXG4gICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBwbGFjZS1zZWxmLWNlbnRlciB0ZXh0LXByaW1hcnlcIlxuICAgICAgICA+YWRkX2JveDwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImlzVXBsb2FkSW5Qcm9ncmVzc1wiXG4gICAgICBjbGFzcz1cInctMTQgaC0xNCBncmlkIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByZWxhdGl2ZVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS0xMDAgYWJzb2x1dGVcIj5cbiAgICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyXG4gICAgICAgICAgY2xhc3M9XCJwbGFjZS1zZWxmLWNlbnRlclwiXG4gICAgICAgICAgW2RpYW1ldGVyXT1cIjU2XCJcbiAgICAgICAgICBtb2RlPVwiZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgIFt2YWx1ZV09XCIxMDBcIlxuICAgICAgICA+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtcHJpbWFyeSBhYnNvbHV0ZVwiPlxuICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICAgICBjbGFzcz1cInBsYWNlLXNlbGYtY2VudGVyXCJcbiAgICAgICAgICBbZGlhbWV0ZXJdPVwiNTZcIlxuICAgICAgICAgIG1vZGU9XCJkZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgW3ZhbHVlXT1cInVwbG9hZFByb2dyZXNzXCJcbiAgICAgICAgPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSB0ZXh0LW1haW4gZm9udC1ib2xkXCI+e3sgdXBsb2FkUHJvZ3Jlc3MgfX0lPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtMVwiPlxuICAgICAgPHAgY2xhc3M9XCJmb250LW1lZGl1bVwiPlxuICAgICAgICB7eyBnZXRQcmltYXJ5VGV4dCgpIHwgdHJhbnNsYXRlOiB7IHNpemVNQjogbWF4U2l6ZU1CLnRvRml4ZWQoMCkgfSB9fVxuICAgICAgPC9wPlxuICAgICAgPHBcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXNtXCJcbiAgICAgICAgW2NsYXNzXT1cIlxuICAgICAgICAgIGlzVXBsb2FkSW5Qcm9ncmVzc1xuICAgICAgICAgICAgPyAnZm9udC1ib2xkIHRleHQtcHJpbWFyeSBjdXJzb3ItcG9pbnRlcidcbiAgICAgICAgICAgIDogJ2ZvbnQtbWVkaXVtIHRleHQtZ3JheS01MDAnXG4gICAgICAgIFwiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVTZWNvbmRhcnlUZXh0Q2xpY2soJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIHt7IGdldFNlY29uZGFyeVRleHQoKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICAgIDxwIGNsYXNzPVwidy1mdWxsIGZsZXggZmxleC1yb3cgaXRlbXMtY2VudGVyIGp1c3RpZnktc3RyZXRjaCBnYXAtWzE2cHhdXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImJvcmRlci1iIGJvcmRlci1ncmF5LTMwMCBncm93XCI+PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS01MDAgb3ItaW5wdXQtdXJsXCIgdHJhbnNsYXRlPlxuICAgICAgICBpbnB1dC5maWxlLm9ySW5wdXRVcmw8L3NwYW5cbiAgICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYm9yZGVyLWIgYm9yZGVyLWdyYXktMzAwIGdyb3dcIj48L3NwYW4+XG4gICAgPC9wPlxuICAgIDxnbi11aS11cmwtaW5wdXRcbiAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgIFtkaXNhYmxlZF09XCJpc1VwbG9hZEluUHJvZ3Jlc3NcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cImhhbmRsZVVybENoYW5nZSgkZXZlbnQpXCJcbiAgICA+PC9nbi11aS11cmwtaW5wdXQ+XG4gIDwvbGFiZWw+XG48L2Rpdj5cbiJdfQ==
@@ -149,7 +149,7 @@ export class ImageInputComponent {
149
149
  });
150
150
  }
151
151
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageInputComponent, deps: [{ token: i1.HttpClient }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
152
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ImageInputComponent, isStandalone: true, selector: "gn-ui-image-input", inputs: { maxSizeMB: "maxSizeMB", previewUrl: "previewUrl", altText: "altText", uploadProgress: "uploadProgress", uploadError: "uploadError" }, outputs: { fileChange: "fileChange", urlChange: "urlChange", uploadCancel: "uploadCancel", delete: "delete", altTextChange: "altTextChange" }, ngImport: i0, template: "<ng-container *ngIf=\"previewUrl; then withImage; else withoutImage\">\n</ng-container>\n\n<ng-template #withImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <div class=\"flex-1 group relative\">\n <img\n class=\"w-full object-cover border-2 border-gray-300 rounded-lg h-[172px]\"\n [alt]=\"altText\"\n loading=\"lazy\"\n [src]=\"previewUrl\"\n />\n <gn-ui-button\n type=\"outline\"\n style=\"--gn-ui-button-height: 40px; --gn-ui-button-width: 40px\"\n extraClass=\"absolute right-2 bottom-2 invisible group-hover:visible bg-background\"\n (buttonClick)=\"handleDelete()\"\n >\n <mat-icon class=\"material-symbols-outlined\">delete</mat-icon>\n </gn-ui-button>\n </div>\n <gn-ui-text-input\n *ngIf=\"showAltTextInput\"\n [placeholder]=\"'input.image.altTextPlaceholder' | translate\"\n [value]=\"altText ?? ''\"\n (valueChange)=\"handleAltTextChange($event)\"\n extraClass=\"gn-ui-editor-textarea\"\n ></gn-ui-text-input>\n <div class=\"flex flex-row gap-2 mt-2\">\n <gn-ui-button type=\"gray\" (buttonClick)=\"handleDelete()\">\n <mat-icon class=\"material-symbols-outlined me-1 text-primary\"\n >delete</mat-icon\n >\n {{ 'input.image.delete' | translate }}\n </gn-ui-button>\n <gn-ui-button\n *ngIf=\"!showAltTextInput\"\n type=\"gray\"\n (buttonClick)=\"toggleAltTextInput()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1 text-primary\"\n >add</mat-icon\n >\n {{ 'input.image.displayAltTextInput' | translate }}\n </gn-ui-button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #withoutImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <label\n gnUiFilesDrop\n class=\"flex-1 border-2 border-dashed rounded-lg p-6 flex flex-col items-center justify-center gap-4 transition-colors duration-100\"\n [ngClass]=\"{\n 'border-primary-lighter bg-primary-white': dragFilesOver,\n 'border-gray-300': !dragFilesOver,\n 'cursor-pointer hover:border-gray-500':\n !isUploadInProgress && !uploadError && !showUrlInput\n }\"\n [attr.tabindex]=\"\n isUploadInProgress || uploadError || showUrlInput ? null : 0\n \"\n (keydown.enter)=\"fileInput.click()\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n >\n <div\n class=\"w-14 h-14 rounded-md bg-gray-50 grid\"\n *ngIf=\"!isUploadInProgress && !uploadError\"\n >\n <mat-icon\n *ngIf=\"!dragFilesOver\"\n class=\"material-symbols-outlined place-self-center text-primary\"\n >image</mat-icon\n >\n <mat-icon\n *ngIf=\"dragFilesOver\"\n class=\"material-symbols-outlined place-self-center text-primary\"\n >add_box</mat-icon\n >\n </div>\n\n <div\n *ngIf=\"isUploadInProgress && !uploadError\"\n class=\"w-14 h-14 grid items-center justify-center relative\"\n >\n <div class=\"text-gray-100 absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"100\"\n ></mat-progress-spinner>\n </div>\n <div class=\"text-primary absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n </div>\n <span class=\"text-sm text-main font-bold\">{{ uploadProgress }}%</span>\n </div>\n\n <div class=\"w-14 h-14 rounded-md bg-gray-50 grid\" *ngIf=\"uploadError\">\n <mat-icon\n class=\"material-symbols-outlined place-self-center text-rose-500\"\n >broken_image</mat-icon\n >\n </div>\n\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">{{ getPrimaryText() | translate }}</p>\n <p\n class=\"text-sm\"\n [class]=\"\n isUploadInProgress || uploadError\n ? 'font-bold text-blue-500 cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick($event)\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <input\n #fileInput\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"showUrlInput || isUploadInProgress || uploadError\"\n />\n </label>\n\n <div *ngIf=\"!showUrlInput\" class=\"flex-none mt-2\">\n <gn-ui-button (buttonClick)=\"displayUrlInput()\" type=\"gray\">\n <mat-icon class=\"material-symbols-outlined me-1 text-primary\"\n >link</mat-icon\n >\n {{ 'input.image.displayUrlInput' | translate }}\n </gn-ui-button>\n </div>\n\n <gn-ui-url-input\n *ngIf=\"showUrlInput\"\n class=\"mt-3.5\"\n (valueChange)=\"downloadUrl($event)\"\n [disabled]=\"isUploadInProgress\"\n >\n </gn-ui-url-input>\n </div>\n</ng-template>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: FilesDropDirective, selector: "[gnUiFilesDrop]", outputs: ["dragFilesOver", "dropFiles"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
152
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ImageInputComponent, isStandalone: true, selector: "gn-ui-image-input", inputs: { maxSizeMB: "maxSizeMB", previewUrl: "previewUrl", altText: "altText", uploadProgress: "uploadProgress", uploadError: "uploadError" }, outputs: { fileChange: "fileChange", urlChange: "urlChange", uploadCancel: "uploadCancel", delete: "delete", altTextChange: "altTextChange" }, ngImport: i0, template: "<ng-container *ngIf=\"previewUrl; then withImage; else withoutImage\">\n</ng-container>\n\n<ng-template #withImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <div class=\"flex-1 group relative\">\n <img\n class=\"w-full object-cover border-2 border-gray-300 rounded-lg h-[172px]\"\n [alt]=\"altText\"\n loading=\"lazy\"\n [src]=\"previewUrl\"\n />\n <gn-ui-button\n type=\"outline\"\n style=\"--gn-ui-button-height: 40px; --gn-ui-button-width: 40px\"\n extraClass=\"absolute right-2 bottom-2 invisible group-hover:visible bg-background\"\n (buttonClick)=\"handleDelete()\"\n >\n <mat-icon class=\"material-symbols-outlined\">delete</mat-icon>\n </gn-ui-button>\n </div>\n <gn-ui-text-input\n *ngIf=\"showAltTextInput\"\n [placeholder]=\"'input.image.altTextPlaceholder' | translate\"\n [value]=\"altText ?? ''\"\n (valueChange)=\"handleAltTextChange($event)\"\n extraClass=\"gn-ui-editor-textarea\"\n ></gn-ui-text-input>\n <div class=\"flex flex-row gap-2 mt-2\">\n <gn-ui-button type=\"gray\" (buttonClick)=\"handleDelete()\">\n <mat-icon class=\"material-symbols-outlined me-1 text-primary\"\n >delete</mat-icon\n >\n {{ 'input.image.delete' | translate }}\n </gn-ui-button>\n <gn-ui-button\n *ngIf=\"!showAltTextInput\"\n type=\"gray\"\n (buttonClick)=\"toggleAltTextInput()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1 text-primary\"\n >add</mat-icon\n >\n {{ 'input.image.displayAltTextInput' | translate }}\n </gn-ui-button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #withoutImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <label\n gnUiFilesDrop\n class=\"flex-1 border-2 border-dashed rounded-lg p-6 flex flex-col items-center justify-center gap-4 transition-colors duration-100\"\n [ngClass]=\"{\n 'border-primary-lighter bg-primary-white': dragFilesOver,\n 'border-gray-300': !dragFilesOver,\n 'cursor-pointer hover:border-gray-500':\n !isUploadInProgress && !uploadError && !showUrlInput\n }\"\n [attr.tabindex]=\"\n isUploadInProgress || uploadError || showUrlInput ? null : 0\n \"\n (keydown.enter)=\"fileInput.click()\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n >\n <div\n class=\"w-14 h-14 rounded-md bg-gray-50 grid\"\n *ngIf=\"!isUploadInProgress && !uploadError\"\n >\n <mat-icon\n *ngIf=\"!dragFilesOver\"\n class=\"material-symbols-outlined place-self-center text-primary\"\n >image</mat-icon\n >\n <mat-icon\n *ngIf=\"dragFilesOver\"\n class=\"material-symbols-outlined place-self-center text-primary\"\n >add_box</mat-icon\n >\n </div>\n\n <div\n *ngIf=\"isUploadInProgress && !uploadError\"\n class=\"w-14 h-14 grid items-center justify-center relative\"\n >\n <div class=\"text-gray-100 absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"100\"\n ></mat-progress-spinner>\n </div>\n <div class=\"text-primary absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n </div>\n <span class=\"text-sm text-main font-bold\">{{ uploadProgress }}%</span>\n </div>\n\n <div class=\"w-14 h-14 rounded-md bg-gray-50 grid\" *ngIf=\"uploadError\">\n <mat-icon\n class=\"material-symbols-outlined place-self-center text-rose-500\"\n >broken_image</mat-icon\n >\n </div>\n\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">{{ getPrimaryText() | translate }}</p>\n <p\n class=\"text-sm\"\n [class]=\"\n isUploadInProgress || uploadError\n ? 'font-bold text-blue-500 cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick($event)\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <input\n #fileInput\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"showUrlInput || isUploadInProgress || uploadError\"\n />\n </label>\n\n <div *ngIf=\"!showUrlInput\" class=\"flex-none mt-2\">\n <gn-ui-button (buttonClick)=\"displayUrlInput()\" type=\"gray\">\n <mat-icon class=\"material-symbols-outlined me-1 text-primary\"\n >link</mat-icon\n >\n {{ 'input.image.displayUrlInput' | translate }}\n </gn-ui-button>\n </div>\n\n <gn-ui-url-input\n *ngIf=\"showUrlInput\"\n class=\"mt-3.5\"\n (valueChange)=\"downloadUrl($event)\"\n [disabled]=\"isUploadInProgress\"\n >\n </gn-ui-url-input>\n </div>\n</ng-template>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: FilesDropDirective, selector: "[gnUiFilesDrop]", outputs: ["dragFilesOver", "dropFiles"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "urlCanParse"], outputs: ["valueChange"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
153
153
  }
154
154
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageInputComponent, decorators: [{
155
155
  type: Component,
@@ -184,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
184
184
  }], altTextChange: [{
185
185
  type: Output
186
186
  }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9pbWFnZS1pbnB1dC9pbWFnZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2ltYWdlLWlucHV0L2ltYWdlLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FB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fSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJ1xuaW1wb3J0IHsgZG93bmdyYWRlSW1hZ2UsIG1lZ2FieXRlc1RvQnl0ZXMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHsgRmlsZXNEcm9wRGlyZWN0aXZlIH0gZnJvbSAnLi4vZmlsZXMtZHJvcC9maWxlcy1kcm9wLmRpcmVjdGl2ZSdcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgeyBVcmxJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL3VybC1pbnB1dC91cmwtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgVGV4dElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktaW1hZ2UtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbWFnZS1pbnB1dC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIEZpbGVzRHJvcERpcmVjdGl2ZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFVybElucHV0Q29tcG9uZW50LFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VJbnB1dENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1heFNpemVNQjogbnVtYmVyXG4gIEBJbnB1dCgpIHByZXZpZXdVcmw/OiBzdHJpbmdcbiAgQElucHV0KCkgYWx0VGV4dD86IHN0cmluZ1xuICBASW5wdXQoKSB1cGxvYWRQcm9ncmVzcz86IG51bWJlclxuICBASW5wdXQoKSB1cGxvYWRFcnJvcj86IGJvb2xlYW5cbiAgQE91dHB1dCgpIGZpbGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxGaWxlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgdXJsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgdXBsb2FkQ2FuY2VsOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQE91dHB1dCgpIGRlbGV0ZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBhbHRUZXh0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIGRyYWdGaWxlc092ZXIgPSBmYWxzZVxuICBzaG93VXJsSW5wdXQgPSBmYWxzZVxuICBkb3dubG9hZEVycm9yID0gZmFsc2VcbiAgc2hvd0FsdFRleHRJbnB1dCA9IGZhbHNlXG5cbiAgbGFzdFVwbG9hZFR5cGU/OiAnZmlsZScgfCAndXJsJ1xuICBsYXN0VXBsb2FkQ29udGVudD86IHN0cmluZyB8IEZpbGVcblxuICBnZXQgaXNVcGxvYWRJblByb2dyZXNzKCkge1xuICAgIHJldHVybiB0aGlzLnVwbG9hZFByb2dyZXNzICE9PSB1bmRlZmluZWRcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgZ2V0UHJpbWFyeVRleHQoKSB7XG4gICAgaWYgKHRoaXMudXBsb2FkRXJyb3IpIHtcbiAgICAgIHJldHVybiBtYXJrZXIoJ2lucHV0LmltYWdlLnVwbG9hZEVycm9yTGFiZWwnKVxuICAgIH1cbiAgICBpZiAodGhpcy51cGxvYWRQcm9ncmVzcykge1xuICAgICAgcmV0dXJuIG1hcmtlcignaW5wdXQuaW1hZ2UudXBsb2FkUHJvZ3Jlc3NMYWJlbCcpXG4gICAgfVxuICAgIHJldHVybiBtYXJrZXIoJ2lucHV0LmltYWdlLnNlbGVjdEZpbGVMYWJlbCcpXG4gIH1cblxuICBnZXRTZWNvbmRhcnlUZXh0KCkge1xuICAgIGlmICh0aGlzLnVwbG9hZEVycm9yKSB7XG4gICAgICByZXR1cm4gbWFya2VyKCdpbnB1dC5pbWFnZS51cGxvYWRFcnJvclJldHJ5JylcbiAgICB9XG4gICAgaWYgKHRoaXMudXBsb2FkUHJvZ3Jlc3MpIHtcbiAgICAgIHJldHVybiBtYXJrZXIoJ2lucHV0LmltYWdlLnVwbG9hZFByb2dyZXNzQ2FuY2VsJylcbiAgICB9XG4gICAgcmV0dXJuIG1hcmtlcignaW5wdXQuaW1hZ2UuZHJvcEZpbGVMYWJlbCcpXG4gIH1cblxuICBoYW5kbGVEcmFnRmlsZXNPdmVyKGRyYWdGaWxlc092ZXI6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuc2hvd1VybElucHV0KSB7XG4gICAgICB0aGlzLmRyYWdGaWxlc092ZXIgPSBkcmFnRmlsZXNPdmVyXG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlRHJvcEZpbGVzKGZpbGVzOiBGaWxlW10pIHtcbiAgICBpZiAoIXRoaXMuc2hvd1VybElucHV0KSB7XG4gICAgICBjb25zdCB2YWxpZEZpbGVzID0gdGhpcy5maWx0ZXJUeXBlSW1hZ2UoZmlsZXMpXG4gICAgICBpZiAodmFsaWRGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMucmVzaXplQW5kRW1pdCh2YWxpZEZpbGVzWzBdKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUZpbGVJbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBpbnB1dEZpbGVzID0gQXJyYXkuZnJvbSgoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmZpbGVzKVxuICAgIGNvbnN0IHZhbGlkRmlsZXMgPSB0aGlzLmZpbHRlclR5cGVJbWFnZShpbnB1dEZpbGVzKVxuICAgIGlmICh2YWxpZEZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMucmVzaXplQW5kRW1pdCh2YWxpZEZpbGVzWzBdKVxuICAgIH1cbiAgfVxuXG4gIGRpc3BsYXlVcmxJbnB1dCgpIHtcbiAgICB0aGlzLnVwbG9hZENhbmNlbC5lbWl0KClcbiAgICB0aGlzLnNob3dVcmxJbnB1dCA9IHRydWVcbiAgfVxuXG4gIGFzeW5jIGRvd25sb2FkVXJsKHVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5kb3dubG9hZEVycm9yID0gZmFsc2VcbiAgICBjb25zdCBuYW1lID0gdXJsLnNwbGl0KCcvJykucG9wKClcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICB0aGlzLmh0dHAuaGVhZCh1cmwsIHsgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyB9KVxuICAgICAgKVxuICAgICAgaWYgKFxuICAgICAgICByZXNwb25zZS5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJyk/LnN0YXJ0c1dpdGgoJ2ltYWdlLycpICYmXG4gICAgICAgIHBhcnNlSW50KHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LWxlbmd0aCcpKSA8XG4gICAgICAgICAgbWVnYWJ5dGVzVG9CeXRlcyh0aGlzLm1heFNpemVNQilcbiAgICAgICkge1xuICAgICAgICB0aGlzLmh0dHAuZ2V0KHVybCwgeyByZXNwb25zZVR5cGU6ICdibG9iJyB9KS5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChibG9iKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpXG4gICAgICAgICAgICBjb25zdCBmaWxlID0gbmV3IEZpbGUoW2Jsb2JdLCBuYW1lKVxuICAgICAgICAgICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQoZmlsZSlcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRvd25sb2FkRXJyb3IgPSB0cnVlXG4gICAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpXG4gICAgICAgICAgICB0aGlzLnVybENoYW5nZS5lbWl0KHVybClcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgdGhpcy5kb3dubG9hZEVycm9yID0gdHJ1ZVxuICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlU2Vjb25kYXJ5VGV4dENsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGlmICh0aGlzLnVwbG9hZEVycm9yKSB7XG4gICAgICB0aGlzLmhhbmRsZVJldHJ5KClcbiAgICB9IGVsc2UgaWYgKHRoaXMudXBsb2FkUHJvZ3Jlc3MpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2FuY2VsKClcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICB9XG4gIH1cblxuICBoYW5kbGVDYW5jZWwoKSB7XG4gICAgdGhpcy51cGxvYWRDYW5jZWwuZW1pdCgpXG4gIH1cblxuICBoYW5kbGVSZXRyeSgpIHtcbiAgICBzd2l0Y2ggKHRoaXMubGFzdFVwbG9hZFR5cGUpIHtcbiAgICAgIGNhc2UgJ2ZpbGUnOlxuICAgICAgICB0aGlzLmZpbGVDaGFuZ2UuZW1pdCh0aGlzLmxhc3RVcGxvYWRDb250ZW50IGFzIEZpbGUpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICd1cmwnOlxuICAgICAgICB0aGlzLnVybENoYW5nZS5lbWl0KHRoaXMubGFzdFVwbG9hZENvbnRlbnQgYXMgc3RyaW5nKVxuICAgICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZURlbGV0ZSgpIHtcbiAgICB0aGlzLmRlbGV0ZS5lbWl0KClcbiAgfVxuXG4gIHRvZ2dsZUFsdFRleHRJbnB1dCgpIHtcbiAgICB0aGlzLnNob3dBbHRUZXh0SW5wdXQgPSAhdGhpcy5zaG93QWx0VGV4dElucHV0XG4gIH1cblxuICBoYW5kbGVBbHRUZXh0Q2hhbmdlKGFsdFRleHQ6IHN0cmluZykge1xuICAgIHRoaXMuYWx0VGV4dENoYW5nZS5lbWl0KGFsdFRleHQpXG4gIH1cblxuICBwcml2YXRlIGZpbHRlclR5cGVJbWFnZShmaWxlczogRmlsZVtdKSB7XG4gICAgcmV0dXJuIGZpbGVzLmZpbHRlcigoZmlsZSkgPT4ge1xuICAgICAgcmV0dXJuIGZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKVxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIHJlc2l6ZUFuZEVtaXQoaW1hZ2VUb1Jlc2l6ZTogRmlsZSkge1xuICAgIGNvbnN0IG1heFNpemVCeXRlcyA9IG1lZ2FieXRlc1RvQnl0ZXModGhpcy5tYXhTaXplTUIpXG4gICAgZG93bmdyYWRlSW1hZ2UoaW1hZ2VUb1Jlc2l6ZSwgbWF4U2l6ZUJ5dGVzKS50aGVuKChyZXNpemVkSW1hZ2UpID0+IHtcbiAgICAgIGNvbnN0IGZpbGVUb0VtaXQgPSBuZXcgRmlsZShbcmVzaXplZEltYWdlXSwgaW1hZ2VUb1Jlc2l6ZS5uYW1lKVxuICAgICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQoZmlsZVRvRW1pdClcbiAgICB9KVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwicHJldmlld1VybDsgdGhlbiB3aXRoSW1hZ2U7IGVsc2Ugd2l0aG91dEltYWdlXCI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICN3aXRoSW1hZ2U+XG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIGZsZXggZmxleC1jb2wgZ2FwLTJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleC0xIGdyb3VwIHJlbGF0aXZlXCI+XG4gICAgICA8aW1nXG4gICAgICAgIGNsYXNzPVwidy1mdWxsIG9iamVjdC1jb3ZlciBib3JkZXItMiBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1sZyBoLVsxNzJweF1cIlxuICAgICAgICBbYWx0XT1cImFsdFRleHRcIlxuICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgIFtzcmNdPVwicHJldmlld1VybFwiXG4gICAgICAvPlxuICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICB0eXBlPVwib3V0bGluZVwiXG4gICAgICAgIHN0eWxlPVwiLS1nbi11aS1idXR0b24taGVpZ2h0OiA0MHB4OyAtLWduLXVpLWJ1dHRvbi13aWR0aDogNDBweFwiXG4gICAgICAgIGV4dHJhQ2xhc3M9XCJhYnNvbHV0ZSByaWdodC0yIGJvdHRvbS0yIGludmlzaWJsZSBncm91cC1ob3Zlcjp2aXNpYmxlIGJnLWJhY2tncm91bmRcIlxuICAgICAgICAoYnV0dG9uQ2xpY2spPVwiaGFuZGxlRGVsZXRlKClcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxnbi11aS10ZXh0LWlucHV0XG4gICAgICAqbmdJZj1cInNob3dBbHRUZXh0SW5wdXRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidpbnB1dC5pbWFnZS5hbHRUZXh0UGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIFt2YWx1ZV09XCJhbHRUZXh0ID8/ICcnXCJcbiAgICAgICh2YWx1ZUNoYW5nZSk9XCJoYW5kbGVBbHRUZXh0Q2hhbmdlKCRldmVudClcIlxuICAgICAgZXh0cmFDbGFzcz1cImduLXVpLWVkaXRvci10ZXh0YXJlYVwiXG4gICAgPjwvZ24tdWktdGV4dC1pbnB1dD5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtMiBtdC0yXCI+XG4gICAgICA8Z24tdWktYnV0dG9uIHR5cGU9XCJncmF5XCIgKGJ1dHRvbkNsaWNrKT1cImhhbmRsZURlbGV0ZSgpXCI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgbWUtMSB0ZXh0LXByaW1hcnlcIlxuICAgICAgICAgID5kZWxldGU8L21hdC1pY29uXG4gICAgICAgID5cbiAgICAgICAge3sgJ2lucHV0LmltYWdlLmRlbGV0ZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAqbmdJZj1cIiFzaG93QWx0VGV4dElucHV0XCJcbiAgICAgICAgdHlwZT1cImdyYXlcIlxuICAgICAgICAoYnV0dG9uQ2xpY2spPVwidG9nZ2xlQWx0VGV4dElucHV0KClcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIG1lLTEgdGV4dC1wcmltYXJ5XCJcbiAgICAgICAgICA+YWRkPC9tYXQtaWNvblxuICAgICAgICA+XG4gICAgICAgIHt7ICdpbnB1dC5pbWFnZS5kaXNwbGF5QWx0VGV4dElucHV0JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN3aXRob3V0SW1hZ2U+XG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIGZsZXggZmxleC1jb2wgZ2FwLTJcIj5cbiAgICA8bGFiZWxcbiAgICAgIGduVWlGaWxlc0Ryb3BcbiAgICAgIGNsYXNzPVwiZmxleC0xIGJvcmRlci0yIGJvcmRlci1kYXNoZWQgcm91bmRlZC1sZyBwLTYgZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTQgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMTAwXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2JvcmRlci1wcmltYXJ5LWxpZ2h0ZXIgYmctcHJpbWFyeS13aGl0ZSc6IGRyYWdGaWxlc092ZXIsXG4gICAgICAgICdib3JkZXItZ3JheS0zMDAnOiAhZHJhZ0ZpbGVzT3ZlcixcbiAgICAgICAgJ2N1cnNvci1wb2ludGVyIGhvdmVyOmJvcmRlci1ncmF5LTUwMCc6XG4gICAgICAgICAgIWlzVXBsb2FkSW5Qcm9ncmVzcyAmJiAhdXBsb2FkRXJyb3IgJiYgIXNob3dVcmxJbnB1dFxuICAgICAgfVwiXG4gICAgICBbYXR0ci50YWJpbmRleF09XCJcbiAgICAgICAgaXNVcGxvYWRJblByb2dyZXNzIHx8IHVwbG9hZEVycm9yIHx8IHNob3dVcmxJbnB1dCA/IG51bGwgOiAwXG4gICAgICBcIlxuICAgICAgKGtleWRvd24uZW50ZXIpPVwiZmlsZUlucHV0LmNsaWNrKClcIlxuICAgICAgKGRyYWdGaWxlc092ZXIpPVwiaGFuZGxlRHJhZ0ZpbGVzT3ZlcigkZXZlbnQpXCJcbiAgICAgIChkcm9wRmlsZXMpPVwiaGFuZGxlRHJvcEZpbGVzKCRldmVudClcIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ3LTE0IGgtMTQgcm91bmRlZC1tZCBiZy1ncmF5LTUwIGdyaWRcIlxuICAgICAgICAqbmdJZj1cIiFpc1VwbG9hZEluUHJvZ3Jlc3MgJiYgIXVwbG9hZEVycm9yXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgKm5nSWY9XCIhZHJhZ0ZpbGVzT3ZlclwiXG4gICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHBsYWNlLXNlbGYtY2VudGVyIHRleHQtcHJpbWFyeVwiXG4gICAgICAgICAgPmltYWdlPC9tYXQtaWNvblxuICAgICAgICA+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICpuZ0lmPVwiZHJhZ0ZpbGVzT3ZlclwiXG4gICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHBsYWNlLXNlbGYtY2VudGVyIHRleHQtcHJpbWFyeVwiXG4gICAgICAgICAgPmFkZF9ib3g8L21hdC1pY29uXG4gICAgICAgID5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiaXNVcGxvYWRJblByb2dyZXNzICYmICF1cGxvYWRFcnJvclwiXG4gICAgICAgIGNsYXNzPVwidy0xNCBoLTE0IGdyaWQgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJlbGF0aXZlXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS0xMDAgYWJzb2x1dGVcIj5cbiAgICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICAgICAgIGNsYXNzPVwicGxhY2Utc2VsZi1jZW50ZXJcIlxuICAgICAgICAgICAgW2RpYW1ldGVyXT1cIjU2XCJcbiAgICAgICAgICAgIG1vZGU9XCJkZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiMTAwXCJcbiAgICAgICAgICA+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgYWJzb2x1dGVcIj5cbiAgICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICAgICAgIGNsYXNzPVwicGxhY2Utc2VsZi1jZW50ZXJcIlxuICAgICAgICAgICAgW2RpYW1ldGVyXT1cIjU2XCJcbiAgICAgICAgICAgIG1vZGU9XCJkZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwidXBsb2FkUHJvZ3Jlc3NcIlxuICAgICAgICAgID48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIHRleHQtbWFpbiBmb250LWJvbGRcIj57eyB1cGxvYWRQcm9ncmVzcyB9fSU8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInctMTQgaC0xNCByb3VuZGVkLW1kIGJnLWdyYXktNTAgZ3JpZFwiICpuZ0lmPVwidXBsb2FkRXJyb3JcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHBsYWNlLXNlbGYtY2VudGVyIHRleHQtcm9zZS01MDBcIlxuICAgICAgICAgID5icm9rZW5faW1hZ2U8L21hdC1pY29uXG4gICAgICAgID5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgZ2FwLTFcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJmb250LW1lZGl1bVwiPnt7IGdldFByaW1hcnlUZXh0KCkgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgIDxwXG4gICAgICAgICAgY2xhc3M9XCJ0ZXh0LXNtXCJcbiAgICAgICAgICBbY2xhc3NdPVwiXG4gICAgICAgICAgICBpc1VwbG9hZEluUHJvZ3Jlc3MgfHwgdXBsb2FkRXJyb3JcbiAgICAgICAgICAgICAgPyAnZm9udC1ib2xkIHRleHQtYmx1ZS01MDAgY3Vyc29yLXBvaW50ZXInXG4gICAgICAgICAgICAgIDogJ2ZvbnQtbWVkaXVtIHRleHQtZ3JheS01MDAnXG4gICAgICAgICAgXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2Vjb25kYXJ5VGV4dENsaWNrKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZ2V0U2Vjb25kYXJ5VGV4dCgpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlucHV0XG4gICAgICAgICNmaWxlSW5wdXRcbiAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICBjbGFzcz1cImhpZGRlblwiXG4gICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlRmlsZUlucHV0KCRldmVudClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwic2hvd1VybElucHV0IHx8IGlzVXBsb2FkSW5Qcm9ncmVzcyB8fCB1cGxvYWRFcnJvclwiXG4gICAgICAvPlxuICAgIDwvbGFiZWw+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiIXNob3dVcmxJbnB1dFwiIGNsYXNzPVwiZmxleC1ub25lIG10LTJcIj5cbiAgICAgIDxnbi11aS1idXR0b24gKGJ1dHRvbkNsaWNrKT1cImRpc3BsYXlVcmxJbnB1dCgpXCIgdHlwZT1cImdyYXlcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBtZS0xIHRleHQtcHJpbWFyeVwiXG4gICAgICAgICAgPmxpbms8L21hdC1pY29uXG4gICAgICAgID5cbiAgICAgICAge3sgJ2lucHV0LmltYWdlLmRpc3BsYXlVcmxJbnB1dCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGduLXVpLXVybC1pbnB1dFxuICAgICAgKm5nSWY9XCJzaG93VXJsSW5wdXRcIlxuICAgICAgY2xhc3M9XCJtdC0zLjVcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cImRvd25sb2FkVXJsKCRldmVudClcIlxuICAgICAgW2Rpc2FibGVkXT1cImlzVXBsb2FkSW5Qcm9ncmVzc1wiXG4gICAgPlxuICAgIDwvZ24tdWktdXJsLWlucHV0PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9pbWFnZS1pbnB1dC9pbWFnZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2ltYWdlLWlucHV0L2ltYWdlLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FB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fSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJ1xuaW1wb3J0IHsgZG93bmdyYWRlSW1hZ2UsIG1lZ2FieXRlc1RvQnl0ZXMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHsgRmlsZXNEcm9wRGlyZWN0aXZlIH0gZnJvbSAnLi4vZmlsZXMtZHJvcC9maWxlcy1kcm9wLmRpcmVjdGl2ZSdcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgeyBVcmxJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL3VybC1pbnB1dC91cmwtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgVGV4dElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktaW1hZ2UtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbWFnZS1pbnB1dC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIEZpbGVzRHJvcERpcmVjdGl2ZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFVybElucHV0Q29tcG9uZW50LFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VJbnB1dENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1heFNpemVNQjogbnVtYmVyXG4gIEBJbnB1dCgpIHByZXZpZXdVcmw/OiBzdHJpbmdcbiAgQElucHV0KCkgYWx0VGV4dD86IHN0cmluZ1xuICBASW5wdXQoKSB1cGxvYWRQcm9ncmVzcz86IG51bWJlclxuICBASW5wdXQoKSB1cGxvYWRFcnJvcj86IGJvb2xlYW5cbiAgQE91dHB1dCgpIGZpbGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxGaWxlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgdXJsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgdXBsb2FkQ2FuY2VsOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQE91dHB1dCgpIGRlbGV0ZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBhbHRUZXh0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIGRyYWdGaWxlc092ZXIgPSBmYWxzZVxuICBzaG93VXJsSW5wdXQgPSBmYWxzZVxuICBkb3dubG9hZEVycm9yID0gZmFsc2VcbiAgc2hvd0FsdFRleHRJbnB1dCA9IGZhbHNlXG5cbiAgbGFzdFVwbG9hZFR5cGU/OiAnZmlsZScgfCAndXJsJ1xuICBsYXN0VXBsb2FkQ29udGVudD86IHN0cmluZyB8IEZpbGVcblxuICBnZXQgaXNVcGxvYWRJblByb2dyZXNzKCkge1xuICAgIHJldHVybiB0aGlzLnVwbG9hZFByb2dyZXNzICE9PSB1bmRlZmluZWRcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgZ2V0UHJpbWFyeVRleHQoKSB7XG4gICAgaWYgKHRoaXMudXBsb2FkRXJyb3IpIHtcbiAgICAgIHJldHVybiBtYXJrZXIoJ2lucHV0LmltYWdlLnVwbG9hZEVycm9yTGFiZWwnKVxuICAgIH1cbiAgICBpZiAodGhpcy51cGxvYWRQcm9ncmVzcykge1xuICAgICAgcmV0dXJuIG1hcmtlcignaW5wdXQuaW1hZ2UudXBsb2FkUHJvZ3Jlc3NMYWJlbCcpXG4gICAgfVxuICAgIHJldHVybiBtYXJrZXIoJ2lucHV0LmltYWdlLnNlbGVjdEZpbGVMYWJlbCcpXG4gIH1cblxuICBnZXRTZWNvbmRhcnlUZXh0KCkge1xuICAgIGlmICh0aGlzLnVwbG9hZEVycm9yKSB7XG4gICAgICByZXR1cm4gbWFya2VyKCdpbnB1dC5pbWFnZS51cGxvYWRFcnJvclJldHJ5JylcbiAgICB9XG4gICAgaWYgKHRoaXMudXBsb2FkUHJvZ3Jlc3MpIHtcbiAgICAgIHJldHVybiBtYXJrZXIoJ2lucHV0LmltYWdlLnVwbG9hZFByb2dyZXNzQ2FuY2VsJylcbiAgICB9XG4gICAgcmV0dXJuIG1hcmtlcignaW5wdXQuaW1hZ2UuZHJvcEZpbGVMYWJlbCcpXG4gIH1cblxuICBoYW5kbGVEcmFnRmlsZXNPdmVyKGRyYWdGaWxlc092ZXI6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuc2hvd1VybElucHV0KSB7XG4gICAgICB0aGlzLmRyYWdGaWxlc092ZXIgPSBkcmFnRmlsZXNPdmVyXG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlRHJvcEZpbGVzKGZpbGVzOiBGaWxlW10pIHtcbiAgICBpZiAoIXRoaXMuc2hvd1VybElucHV0KSB7XG4gICAgICBjb25zdCB2YWxpZEZpbGVzID0gdGhpcy5maWx0ZXJUeXBlSW1hZ2UoZmlsZXMpXG4gICAgICBpZiAodmFsaWRGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMucmVzaXplQW5kRW1pdCh2YWxpZEZpbGVzWzBdKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUZpbGVJbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBpbnB1dEZpbGVzID0gQXJyYXkuZnJvbSgoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmZpbGVzKVxuICAgIGNvbnN0IHZhbGlkRmlsZXMgPSB0aGlzLmZpbHRlclR5cGVJbWFnZShpbnB1dEZpbGVzKVxuICAgIGlmICh2YWxpZEZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMucmVzaXplQW5kRW1pdCh2YWxpZEZpbGVzWzBdKVxuICAgIH1cbiAgfVxuXG4gIGRpc3BsYXlVcmxJbnB1dCgpIHtcbiAgICB0aGlzLnVwbG9hZENhbmNlbC5lbWl0KClcbiAgICB0aGlzLnNob3dVcmxJbnB1dCA9IHRydWVcbiAgfVxuXG4gIGFzeW5jIGRvd25sb2FkVXJsKHVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5kb3dubG9hZEVycm9yID0gZmFsc2VcbiAgICBjb25zdCBuYW1lID0gdXJsLnNwbGl0KCcvJykucG9wKClcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICB0aGlzLmh0dHAuaGVhZCh1cmwsIHsgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyB9KVxuICAgICAgKVxuICAgICAgaWYgKFxuICAgICAgICByZXNwb25zZS5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJyk/LnN0YXJ0c1dpdGgoJ2ltYWdlLycpICYmXG4gICAgICAgIHBhcnNlSW50KHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LWxlbmd0aCcpKSA8XG4gICAgICAgICAgbWVnYWJ5dGVzVG9CeXRlcyh0aGlzLm1heFNpemVNQilcbiAgICAgICkge1xuICAgICAgICB0aGlzLmh0dHAuZ2V0KHVybCwgeyByZXNwb25zZVR5cGU6ICdibG9iJyB9KS5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChibG9iKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpXG4gICAgICAgICAgICBjb25zdCBmaWxlID0gbmV3IEZpbGUoW2Jsb2JdLCBuYW1lKVxuICAgICAgICAgICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQoZmlsZSlcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRvd25sb2FkRXJyb3IgPSB0cnVlXG4gICAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpXG4gICAgICAgICAgICB0aGlzLnVybENoYW5nZS5lbWl0KHVybClcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgdGhpcy5kb3dubG9hZEVycm9yID0gdHJ1ZVxuICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlU2Vjb25kYXJ5VGV4dENsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGlmICh0aGlzLnVwbG9hZEVycm9yKSB7XG4gICAgICB0aGlzLmhhbmRsZVJldHJ5KClcbiAgICB9IGVsc2UgaWYgKHRoaXMudXBsb2FkUHJvZ3Jlc3MpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2FuY2VsKClcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICB9XG4gIH1cblxuICBoYW5kbGVDYW5jZWwoKSB7XG4gICAgdGhpcy51cGxvYWRDYW5jZWwuZW1pdCgpXG4gIH1cblxuICBoYW5kbGVSZXRyeSgpIHtcbiAgICBzd2l0Y2ggKHRoaXMubGFzdFVwbG9hZFR5cGUpIHtcbiAgICAgIGNhc2UgJ2ZpbGUnOlxuICAgICAgICB0aGlzLmZpbGVDaGFuZ2UuZW1pdCh0aGlzLmxhc3RVcGxvYWRDb250ZW50IGFzIEZpbGUpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICd1cmwnOlxuICAgICAgICB0aGlzLnVybENoYW5nZS5lbWl0KHRoaXMubGFzdFVwbG9hZENvbnRlbnQgYXMgc3RyaW5nKVxuICAgICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZURlbGV0ZSgpIHtcbiAgICB0aGlzLmRlbGV0ZS5lbWl0KClcbiAgfVxuXG4gIHRvZ2dsZUFsdFRleHRJbnB1dCgpIHtcbiAgICB0aGlzLnNob3dBbHRUZXh0SW5wdXQgPSAhdGhpcy5zaG93QWx0VGV4dElucHV0XG4gIH1cblxuICBoYW5kbGVBbHRUZXh0Q2hhbmdlKGFsdFRleHQ6IHN0cmluZykge1xuICAgIHRoaXMuYWx0VGV4dENoYW5nZS5lbWl0KGFsdFRleHQpXG4gIH1cblxuICBwcml2YXRlIGZpbHRlclR5cGVJbWFnZShmaWxlczogRmlsZVtdKSB7XG4gICAgcmV0dXJuIGZpbGVzLmZpbHRlcigoZmlsZSkgPT4ge1xuICAgICAgcmV0dXJuIGZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKVxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIHJlc2l6ZUFuZEVtaXQoaW1hZ2VUb1Jlc2l6ZTogRmlsZSkge1xuICAgIGNvbnN0IG1heFNpemVCeXRlcyA9IG1lZ2FieXRlc1RvQnl0ZXModGhpcy5tYXhTaXplTUIpXG4gICAgZG93bmdyYWRlSW1hZ2UoaW1hZ2VUb1Jlc2l6ZSwgbWF4U2l6ZUJ5dGVzKS50aGVuKChyZXNpemVkSW1hZ2UpID0+IHtcbiAgICAgIGNvbnN0IGZpbGVUb0VtaXQgPSBuZXcgRmlsZShbcmVzaXplZEltYWdlXSwgaW1hZ2VUb1Jlc2l6ZS5uYW1lKVxuICAgICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQoZmlsZVRvRW1pdClcbiAgICB9KVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwicHJldmlld1VybDsgdGhlbiB3aXRoSW1hZ2U7IGVsc2Ugd2l0aG91dEltYWdlXCI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICN3aXRoSW1hZ2U+XG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIGZsZXggZmxleC1jb2wgZ2FwLTJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleC0xIGdyb3VwIHJlbGF0aXZlXCI+XG4gICAgICA8aW1nXG4gICAgICAgIGNsYXNzPVwidy1mdWxsIG9iamVjdC1jb3ZlciBib3JkZXItMiBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1sZyBoLVsxNzJweF1cIlxuICAgICAgICBbYWx0XT1cImFsdFRleHRcIlxuICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgIFtzcmNdPVwicHJldmlld1VybFwiXG4gICAgICAvPlxuICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICB0eXBlPVwib3V0bGluZVwiXG4gICAgICAgIHN0eWxlPVwiLS1nbi11aS1idXR0b24taGVpZ2h0OiA0MHB4OyAtLWduLXVpLWJ1dHRvbi13aWR0aDogNDBweFwiXG4gICAgICAgIGV4dHJhQ2xhc3M9XCJhYnNvbHV0ZSByaWdodC0yIGJvdHRvbS0yIGludmlzaWJsZSBncm91cC1ob3Zlcjp2aXNpYmxlIGJnLWJhY2tncm91bmRcIlxuICAgICAgICAoYnV0dG9uQ2xpY2spPVwiaGFuZGxlRGVsZXRlKClcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxnbi11aS10ZXh0LWlucHV0XG4gICAgICAqbmdJZj1cInNob3dBbHRUZXh0SW5wdXRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidpbnB1dC5pbWFnZS5hbHRUZXh0UGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIFt2YWx1ZV09XCJhbHRUZXh0ID8/ICcnXCJcbiAgICAgICh2YWx1ZUNoYW5nZSk9XCJoYW5kbGVBbHRUZXh0Q2hhbmdlKCRldmVudClcIlxuICAgICAgZXh0cmFDbGFzcz1cImduLXVpLWVkaXRvci10ZXh0YXJlYVwiXG4gICAgPjwvZ24tdWktdGV4dC1pbnB1dD5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtMiBtdC0yXCI+XG4gICAgICA8Z24tdWktYnV0dG9uIHR5cGU9XCJncmF5XCIgKGJ1dHRvbkNsaWNrKT1cImhhbmRsZURlbGV0ZSgpXCI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgbWUtMSB0ZXh0LXByaW1hcnlcIlxuICAgICAgICAgID5kZWxldGU8L21hdC1pY29uXG4gICAgICAgID5cbiAgICAgICAge3sgJ2lucHV0LmltYWdlLmRlbGV0ZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAqbmdJZj1cIiFzaG93QWx0VGV4dElucHV0XCJcbiAgICAgICAgdHlwZT1cImdyYXlcIlxuICAgICAgICAoYnV0dG9uQ2xpY2spPVwidG9nZ2xlQWx0VGV4dElucHV0KClcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIG1lLTEgdGV4dC1wcmltYXJ5XCJcbiAgICAgICAgICA+YWRkPC9tYXQtaWNvblxuICAgICAgICA+XG4gICAgICAgIHt7ICdpbnB1dC5pbWFnZS5kaXNwbGF5QWx0VGV4dElucHV0JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN3aXRob3V0SW1hZ2U+XG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIGZsZXggZmxleC1jb2wgZ2FwLTJcIj5cbiAgICA8bGFiZWxcbiAgICAgIGduVWlGaWxlc0Ryb3BcbiAgICAgIGNsYXNzPVwiZmxleC0xIGJvcmRlci0yIGJvcmRlci1kYXNoZWQgcm91bmRlZC1sZyBwLTYgZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTQgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMTAwXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2JvcmRlci1wcmltYXJ5LWxpZ2h0ZXIgYmctcHJpbWFyeS13aGl0ZSc6IGRyYWdGaWxlc092ZXIsXG4gICAgICAgICdib3JkZXItZ3JheS0zMDAnOiAhZHJhZ0ZpbGVzT3ZlcixcbiAgICAgICAgJ2N1cnNvci1wb2ludGVyIGhvdmVyOmJvcmRlci1ncmF5LTUwMCc6XG4gICAgICAgICAgIWlzVXBsb2FkSW5Qcm9ncmVzcyAmJiAhdXBsb2FkRXJyb3IgJiYgIXNob3dVcmxJbnB1dFxuICAgICAgfVwiXG4gICAgICBbYXR0ci50YWJpbmRleF09XCJcbiAgICAgICAgaXNVcGxvYWRJblByb2dyZXNzIHx8IHVwbG9hZEVycm9yIHx8IHNob3dVcmxJbnB1dCA/IG51bGwgOiAwXG4gICAgICBcIlxuICAgICAgKGtleWRvd24uZW50ZXIpPVwiZmlsZUlucHV0LmNsaWNrKClcIlxuICAgICAgKGRyYWdGaWxlc092ZXIpPVwiaGFuZGxlRHJhZ0ZpbGVzT3ZlcigkZXZlbnQpXCJcbiAgICAgIChkcm9wRmlsZXMpPVwiaGFuZGxlRHJvcEZpbGVzKCRldmVudClcIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ3LTE0IGgtMTQgcm91bmRlZC1tZCBiZy1ncmF5LTUwIGdyaWRcIlxuICAgICAgICAqbmdJZj1cIiFpc1VwbG9hZEluUHJvZ3Jlc3MgJiYgIXVwbG9hZEVycm9yXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgKm5nSWY9XCIhZHJhZ0ZpbGVzT3ZlclwiXG4gICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHBsYWNlLXNlbGYtY2VudGVyIHRleHQtcHJpbWFyeVwiXG4gICAgICAgICAgPmltYWdlPC9tYXQtaWNvblxuICAgICAgICA+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICpuZ0lmPVwiZHJhZ0ZpbGVzT3ZlclwiXG4gICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHBsYWNlLXNlbGYtY2VudGVyIHRleHQtcHJpbWFyeVwiXG4gICAgICAgICAgPmFkZF9ib3g8L21hdC1pY29uXG4gICAgICAgID5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiaXNVcGxvYWRJblByb2dyZXNzICYmICF1cGxvYWRFcnJvclwiXG4gICAgICAgIGNsYXNzPVwidy0xNCBoLTE0IGdyaWQgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJlbGF0aXZlXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS0xMDAgYWJzb2x1dGVcIj5cbiAgICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICAgICAgIGNsYXNzPVwicGxhY2Utc2VsZi1jZW50ZXJcIlxuICAgICAgICAgICAgW2RpYW1ldGVyXT1cIjU2XCJcbiAgICAgICAgICAgIG1vZGU9XCJkZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiMTAwXCJcbiAgICAgICAgICA+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgYWJzb2x1dGVcIj5cbiAgICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICAgICAgIGNsYXNzPVwicGxhY2Utc2VsZi1jZW50ZXJcIlxuICAgICAgICAgICAgW2RpYW1ldGVyXT1cIjU2XCJcbiAgICAgICAgICAgIG1vZGU9XCJkZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwidXBsb2FkUHJvZ3Jlc3NcIlxuICAgICAgICAgID48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIHRleHQtbWFpbiBmb250LWJvbGRcIj57eyB1cGxvYWRQcm9ncmVzcyB9fSU8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInctMTQgaC0xNCByb3VuZGVkLW1kIGJnLWdyYXktNTAgZ3JpZFwiICpuZ0lmPVwidXBsb2FkRXJyb3JcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHBsYWNlLXNlbGYtY2VudGVyIHRleHQtcm9zZS01MDBcIlxuICAgICAgICAgID5icm9rZW5faW1hZ2U8L21hdC1pY29uXG4gICAgICAgID5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgZ2FwLTFcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJmb250LW1lZGl1bVwiPnt7IGdldFByaW1hcnlUZXh0KCkgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgIDxwXG4gICAgICAgICAgY2xhc3M9XCJ0ZXh0LXNtXCJcbiAgICAgICAgICBbY2xhc3NdPVwiXG4gICAgICAgICAgICBpc1VwbG9hZEluUHJvZ3Jlc3MgfHwgdXBsb2FkRXJyb3JcbiAgICAgICAgICAgICAgPyAnZm9udC1ib2xkIHRleHQtYmx1ZS01MDAgY3Vyc29yLXBvaW50ZXInXG4gICAgICAgICAgICAgIDogJ2ZvbnQtbWVkaXVtIHRleHQtZ3JheS01MDAnXG4gICAgICAgICAgXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2Vjb25kYXJ5VGV4dENsaWNrKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZ2V0U2Vjb25kYXJ5VGV4dCgpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlucHV0XG4gICAgICAgICNmaWxlSW5wdXRcbiAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICBjbGFzcz1cImhpZGRlblwiXG4gICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlRmlsZUlucHV0KCRldmVudClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwic2hvd1VybElucHV0IHx8IGlzVXBsb2FkSW5Qcm9ncmVzcyB8fCB1cGxvYWRFcnJvclwiXG4gICAgICAvPlxuICAgIDwvbGFiZWw+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiIXNob3dVcmxJbnB1dFwiIGNsYXNzPVwiZmxleC1ub25lIG10LTJcIj5cbiAgICAgIDxnbi11aS1idXR0b24gKGJ1dHRvbkNsaWNrKT1cImRpc3BsYXlVcmxJbnB1dCgpXCIgdHlwZT1cImdyYXlcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBtZS0xIHRleHQtcHJpbWFyeVwiXG4gICAgICAgICAgPmxpbms8L21hdC1pY29uXG4gICAgICAgID5cbiAgICAgICAge3sgJ2lucHV0LmltYWdlLmRpc3BsYXlVcmxJbnB1dCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGduLXVpLXVybC1pbnB1dFxuICAgICAgKm5nSWY9XCJzaG93VXJsSW5wdXRcIlxuICAgICAgY2xhc3M9XCJtdC0zLjVcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cImRvd25sb2FkVXJsKCRldmVudClcIlxuICAgICAgW2Rpc2FibGVkXT1cImlzVXBsb2FkSW5Qcm9ncmVzc1wiXG4gICAgPlxuICAgIDwvZ24tdWktdXJsLWlucHV0PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,5 +1,7 @@
1
1
  import { ChangeDetectionStrategy, Component, Input, Output, } from '@angular/core';
2
- import { Subject, distinctUntilChanged } from 'rxjs';
2
+ import { distinctUntilChanged, Subject } from 'rxjs';
3
+ import { MatIconModule } from '@angular/material/icon';
4
+ import { CommonModule } from '@angular/common';
3
5
  import * as i0 from "@angular/core";
4
6
  import * as i1 from "@angular/common";
5
7
  import * as i2 from "@angular/material/icon";
@@ -19,11 +21,11 @@ export class SearchInputComponent {
19
21
  this.rawChange.next(null);
20
22
  }
21
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SearchInputComponent, selector: "gn-ui-search-input", inputs: { value: "value", placeholder: "placeholder" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"h-full relative text-gray-300\">\n <input\n #input\n class=\"peer h-full appearance-none border border-gray-300 rounded w-full p-2 pl-10 text-gray-700 leading-tight hover:border-primary focus:text-primary focus:outline-none focus:border-primary focus:border-2\"\n type=\"text\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n />\n <div\n class=\"absolute inset-y-0 left-0 pl-2.5 flex items-center peer-hover:text-primary peer-focus:text-primary\"\n >\n <mat-icon class=\"material-symbols-outlined\">search</mat-icon>\n </div>\n <button\n *ngIf=\"rawChange | async\"\n type=\"button\"\n class=\"text-primary-lightest hover:text-primary absolute transition-all duration-100 inset-y-0 right-0 pr-2.5\"\n aria-label=\"Clear\"\n (click)=\"clear()\"\n >\n <mat-icon class=\"material-symbols-outlined align-middle\">close</mat-icon>\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SearchInputComponent, isStandalone: true, selector: "gn-ui-search-input", inputs: { value: "value", placeholder: "placeholder" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"h-full relative text-gray-300\">\n <input\n #input\n class=\"peer h-full appearance-none border border-gray-300 rounded w-full p-2 pl-10 text-gray-700 leading-tight hover:border-primary focus:text-primary focus:outline-none focus:border-primary focus:border-2\"\n type=\"text\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n />\n <div\n class=\"absolute inset-y-0 left-0 pl-2.5 flex items-center peer-hover:text-primary peer-focus:text-primary\"\n >\n <mat-icon class=\"material-symbols-outlined\">search</mat-icon>\n </div>\n <button\n *ngIf=\"rawChange | async\"\n type=\"button\"\n class=\"text-primary-lightest hover:text-primary absolute transition-all duration-100 inset-y-0 right-0 pr-2.5\"\n aria-label=\"Clear\"\n (click)=\"clear()\"\n >\n <mat-icon class=\"material-symbols-outlined align-middle\">close</mat-icon>\n </button>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
25
  }
24
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SearchInputComponent, decorators: [{
25
27
  type: Component,
26
- args: [{ selector: 'gn-ui-search-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"h-full relative text-gray-300\">\n <input\n #input\n class=\"peer h-full appearance-none border border-gray-300 rounded w-full p-2 pl-10 text-gray-700 leading-tight hover:border-primary focus:text-primary focus:outline-none focus:border-primary focus:border-2\"\n type=\"text\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n />\n <div\n class=\"absolute inset-y-0 left-0 pl-2.5 flex items-center peer-hover:text-primary peer-focus:text-primary\"\n >\n <mat-icon class=\"material-symbols-outlined\">search</mat-icon>\n </div>\n <button\n *ngIf=\"rawChange | async\"\n type=\"button\"\n class=\"text-primary-lightest hover:text-primary absolute transition-all duration-100 inset-y-0 right-0 pr-2.5\"\n aria-label=\"Clear\"\n (click)=\"clear()\"\n >\n <mat-icon class=\"material-symbols-outlined align-middle\">close</mat-icon>\n </button>\n</div>\n" }]
28
+ args: [{ selector: 'gn-ui-search-input', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, MatIconModule], template: "<div class=\"h-full relative text-gray-300\">\n <input\n #input\n class=\"peer h-full appearance-none border border-gray-300 rounded w-full p-2 pl-10 text-gray-700 leading-tight hover:border-primary focus:text-primary focus:outline-none focus:border-primary focus:border-2\"\n type=\"text\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n />\n <div\n class=\"absolute inset-y-0 left-0 pl-2.5 flex items-center peer-hover:text-primary peer-focus:text-primary\"\n >\n <mat-icon class=\"material-symbols-outlined\">search</mat-icon>\n </div>\n <button\n *ngIf=\"rawChange | async\"\n type=\"button\"\n class=\"text-primary-lightest hover:text-primary absolute transition-all duration-100 inset-y-0 right-0 pr-2.5\"\n aria-label=\"Clear\"\n (click)=\"clear()\"\n >\n <mat-icon class=\"material-symbols-outlined align-middle\">close</mat-icon>\n </button>\n</div>\n" }]
27
29
  }], propDecorators: { value: [{
28
30
  type: Input
29
31
  }], placeholder: [{
@@ -31,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
31
33
  }], valueChange: [{
32
34
  type: Output
33
35
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFBOzs7O0FBT3BELE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUFNVyxVQUFLLEdBQUcsRUFBRSxDQUFBO1FBQ1YsZ0JBQVcsR0FBRyxFQUFFLENBQUE7UUFDekIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUE7UUFDdkIsZ0JBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUE7S0FXcEU7SUFUQyxZQUFZLENBQUMsTUFBTTtRQUNqQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQTtRQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM1QixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzNCLENBQUM7K0dBZFUsb0JBQW9CO21HQUFwQixvQkFBb0IsMkpDYmpDLGcrQkF5QkE7OzRGRFphLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBRWIsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXNlYXJjaC1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoSW5wdXRDb21wb25lbnQge1xuICBASW5wdXQoKSB2YWx1ZSA9ICcnXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJydcbiAgcmF3Q2hhbmdlID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IHRoaXMucmF3Q2hhbmdlLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcblxuICBoYW5kbGVDaGFuZ2UoJGV2ZW50KSB7XG4gICAgY29uc3QgdmFsdWUgPSAkZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgdGhpcy5yYXdDaGFuZ2UubmV4dCh2YWx1ZSlcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMudmFsdWUgPSBudWxsXG4gICAgdGhpcy5yYXdDaGFuZ2UubmV4dChudWxsKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaC1mdWxsIHJlbGF0aXZlIHRleHQtZ3JheS0zMDBcIj5cbiAgPGlucHV0XG4gICAgI2lucHV0XG4gICAgY2xhc3M9XCJwZWVyIGgtZnVsbCBhcHBlYXJhbmNlLW5vbmUgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkIHctZnVsbCBwLTIgcGwtMTAgdGV4dC1ncmF5LTcwMCBsZWFkaW5nLXRpZ2h0IGhvdmVyOmJvcmRlci1wcmltYXJ5IGZvY3VzOnRleHQtcHJpbWFyeSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6Ym9yZGVyLXByaW1hcnkgZm9jdXM6Ym9yZGVyLTJcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgKGNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGlucHV0KT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgLz5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQteS0wIGxlZnQtMCBwbC0yLjUgZmxleCBpdGVtcy1jZW50ZXIgcGVlci1ob3Zlcjp0ZXh0LXByaW1hcnkgcGVlci1mb2N1czp0ZXh0LXByaW1hcnlcIlxuICA+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPnNlYXJjaDwvbWF0LWljb24+XG4gIDwvZGl2PlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJyYXdDaGFuZ2UgfCBhc3luY1wiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJ0ZXh0LXByaW1hcnktbGlnaHRlc3QgaG92ZXI6dGV4dC1wcmltYXJ5IGFic29sdXRlIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTEwMCBpbnNldC15LTAgcmlnaHQtMCBwci0yLjVcIlxuICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXG4gICAgKGNsaWNrKT1cImNsZWFyKClcIlxuICA+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBhbGlnbi1taWRkbGVcIj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7Ozs7QUFTOUMsTUFBTSxPQUFPLG9CQUFvQjtJQVBqQztRQVFXLFVBQUssR0FBRyxFQUFFLENBQUE7UUFDVixnQkFBVyxHQUFHLEVBQUUsQ0FBQTtRQUN6QixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQTtRQUN2QixnQkFBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQTtLQVdwRTtJQVRDLFlBQVksQ0FBQyxNQUFNO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFBO1FBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzVCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUE7UUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDM0IsQ0FBQzsrR0FkVSxvQkFBb0I7bUdBQXBCLG9CQUFvQiwrS0NqQmpDLGcrQkF5QkEsMkNEVlksWUFBWSx1TEFBRSxhQUFhOzs0RkFFMUIsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLG9CQUFvQixtQkFFYix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7OEJBRzdCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXNlYXJjaC1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0SWNvbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaElucHV0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgdmFsdWUgPSAnJ1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnXG4gIHJhd0NoYW5nZSA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKVxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSB0aGlzLnJhd0NoYW5nZS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG5cbiAgaGFuZGxlQ2hhbmdlKCRldmVudCkge1xuICAgIGNvbnN0IHZhbHVlID0gJGV2ZW50LnRhcmdldC52YWx1ZVxuICAgIHRoaXMucmF3Q2hhbmdlLm5leHQodmFsdWUpXG4gIH1cblxuICBjbGVhcigpIHtcbiAgICB0aGlzLnZhbHVlID0gbnVsbFxuICAgIHRoaXMucmF3Q2hhbmdlLm5leHQobnVsbClcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImgtZnVsbCByZWxhdGl2ZSB0ZXh0LWdyYXktMzAwXCI+XG4gIDxpbnB1dFxuICAgICNpbnB1dFxuICAgIGNsYXNzPVwicGVlciBoLWZ1bGwgYXBwZWFyYW5jZS1ub25lIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZCB3LWZ1bGwgcC0yIHBsLTEwIHRleHQtZ3JheS03MDAgbGVhZGluZy10aWdodCBob3Zlcjpib3JkZXItcHJpbWFyeSBmb2N1czp0ZXh0LXByaW1hcnkgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOmJvcmRlci1wcmltYXJ5IGZvY3VzOmJvcmRlci0yXCJcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIChjaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgIChpbnB1dCk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gIC8+XG4gIDxkaXZcbiAgICBjbGFzcz1cImFic29sdXRlIGluc2V0LXktMCBsZWZ0LTAgcGwtMi41IGZsZXggaXRlbXMtY2VudGVyIHBlZXItaG92ZXI6dGV4dC1wcmltYXJ5IHBlZXItZm9jdXM6dGV4dC1wcmltYXJ5XCJcbiAgPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5zZWFyY2g8L21hdC1pY29uPlxuICA8L2Rpdj5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwicmF3Q2hhbmdlIHwgYXN5bmNcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwidGV4dC1wcmltYXJ5LWxpZ2h0ZXN0IGhvdmVyOnRleHQtcHJpbWFyeSBhYnNvbHV0ZSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0xMDAgaW5zZXQteS0wIHJpZ2h0LTAgcHItMi41XCJcbiAgICBhcmlhLWxhYmVsPVwiQ2xlYXJcIlxuICAgIChjbGljayk9XCJjbGVhcigpXCJcbiAgPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgYWxpZ24tbWlkZGxlXCI+Y2xvc2U8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -1,9 +1,11 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
3
3
  import { MatButtonToggleModule } from '@angular/material/button-toggle';
4
+ import { TranslateModule } from '@ngx-translate/core';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/material/button-toggle";
6
7
  import * as i2 from "@angular/common";
8
+ import * as i3 from "@ngx-translate/core";
7
9
  export class SwitchToggleComponent {
8
10
  constructor() {
9
11
  this.ariaLabel = '';
@@ -15,11 +17,11 @@ export class SwitchToggleComponent {
15
17
  this.selectedValue.emit(selectedOption);
16
18
  }
17
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SwitchToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SwitchToggleComponent, isStandalone: true, selector: "gn-ui-switch-toggle", inputs: { options: "options", ariaLabel: "ariaLabel", extraClasses: "extraClasses" }, outputs: { selectedValue: "selectedValue" }, ngImport: i0, template: "<mat-button-toggle-group\n #group=\"matButtonToggleGroup\"\n multiple=\"false\"\n class=\"flex w-full\"\n>\n <mat-button-toggle\n *ngFor=\"let option of options\"\n [aria-label]=\"option.label\"\n [checked]=\"option.checked\"\n (change)=\"onChange(option)\"\n [class]=\"extraClasses\"\n >{{ option.label }}</mat-button-toggle\n >\n</mat-button-toggle-group>\n", styles: [":host{--mat-standard-button-toggle-height: 32px}.mat-button-toggle-group-appearance-standard{background-color:var(--color-gray-200);padding:4px;display:flex;gap:4px;border-radius:8px}.mat-button-toggle-appearance-standard{color:#000;background-color:var(--color-gray-200);border-radius:4px;border-left:none;font-family:var(--font-family-main)}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{background-color:#000;color:var(--color-background)}button.mat-button-toggle-button.mat-focus-indicator.mat-button-toggle-label-content,.mat-button-toggle-label-content{line-height:32px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SwitchToggleComponent, isStandalone: true, selector: "gn-ui-switch-toggle", inputs: { options: "options", ariaLabel: "ariaLabel", extraClasses: "extraClasses" }, outputs: { selectedValue: "selectedValue" }, ngImport: i0, template: "<mat-button-toggle-group\n #group=\"matButtonToggleGroup\"\n multiple=\"false\"\n class=\"flex w-full\"\n>\n <mat-button-toggle\n *ngFor=\"let option of options\"\n [aria-label]=\"option.label\"\n [checked]=\"option.checked\"\n (change)=\"onChange(option)\"\n [class]=\"extraClasses\"\n >{{ option.label | translate }}</mat-button-toggle\n >\n</mat-button-toggle-group>\n", styles: [":host{--mat-standard-button-toggle-height: 32px}.mat-button-toggle-group-appearance-standard{background-color:var(--color-gray-200);padding:4px;display:flex;gap:4px;border-radius:8px}.mat-button-toggle-appearance-standard{color:#000;background-color:var(--color-gray-200);border-radius:4px;border-left:none;font-family:var(--font-family-main)}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{background-color:#000;color:var(--color-background)}button.mat-button-toggle-button.mat-focus-indicator.mat-button-toggle-label-content,.mat-button-toggle-label-content{line-height:32px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
21
  }
20
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SwitchToggleComponent, decorators: [{
21
23
  type: Component,
22
- args: [{ selector: 'gn-ui-switch-toggle', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatButtonToggleModule, CommonModule], template: "<mat-button-toggle-group\n #group=\"matButtonToggleGroup\"\n multiple=\"false\"\n class=\"flex w-full\"\n>\n <mat-button-toggle\n *ngFor=\"let option of options\"\n [aria-label]=\"option.label\"\n [checked]=\"option.checked\"\n (change)=\"onChange(option)\"\n [class]=\"extraClasses\"\n >{{ option.label }}</mat-button-toggle\n >\n</mat-button-toggle-group>\n", styles: [":host{--mat-standard-button-toggle-height: 32px}.mat-button-toggle-group-appearance-standard{background-color:var(--color-gray-200);padding:4px;display:flex;gap:4px;border-radius:8px}.mat-button-toggle-appearance-standard{color:#000;background-color:var(--color-gray-200);border-radius:4px;border-left:none;font-family:var(--font-family-main)}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{background-color:#000;color:var(--color-background)}button.mat-button-toggle-button.mat-focus-indicator.mat-button-toggle-label-content,.mat-button-toggle-label-content{line-height:32px}\n"] }]
24
+ args: [{ selector: 'gn-ui-switch-toggle', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatButtonToggleModule, CommonModule, TranslateModule], template: "<mat-button-toggle-group\n #group=\"matButtonToggleGroup\"\n multiple=\"false\"\n class=\"flex w-full\"\n>\n <mat-button-toggle\n *ngFor=\"let option of options\"\n [aria-label]=\"option.label\"\n [checked]=\"option.checked\"\n (change)=\"onChange(option)\"\n [class]=\"extraClasses\"\n >{{ option.label | translate }}</mat-button-toggle\n >\n</mat-button-toggle-group>\n", styles: [":host{--mat-standard-button-toggle-height: 32px}.mat-button-toggle-group-appearance-standard{background-color:var(--color-gray-200);padding:4px;display:flex;gap:4px;border-radius:8px}.mat-button-toggle-appearance-standard{color:#000;background-color:var(--color-gray-200);border-radius:4px;border-left:none;font-family:var(--font-family-main)}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{background-color:#000;color:var(--color-background)}button.mat-button-toggle-button.mat-focus-indicator.mat-button-toggle-label-content,.mat-button-toggle-label-content{line-height:32px}\n"] }]
23
25
  }], propDecorators: { options: [{
24
26
  type: Input
25
27
  }], ariaLabel: [{
@@ -29,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
29
31
  }], selectedValue: [{
30
32
  type: Output
31
33
  }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLXRvZ2dsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3N3aXRjaC10b2dnbGUvc3dpdGNoLXRvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3N3aXRjaC10b2dnbGUvc3dpdGNoLXRvZ2dsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUE7Ozs7QUFldkUsTUFBTSxPQUFPLHFCQUFxQjtJQVJsQztRQVVXLGNBQVMsR0FBSSxFQUFFLENBQUE7UUFDZixpQkFBWSxHQUFJLEVBQUUsQ0FBQTtRQUNqQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFzQixDQUFBO0tBU2pFO0lBUEMsUUFBUSxDQUFDLGNBQWtDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNmLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLGNBQWMsQ0FBQyxLQUFLLENBQ2xELENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtRQUVoQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN6QyxDQUFDOytHQVpVLHFCQUFxQjttR0FBckIscUJBQXFCLGtOQ3ZCbEMsZ1lBY0EsNm9CRE9ZLHFCQUFxQixzaEJBQUUsWUFBWTs7NEZBRWxDLHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxxQkFBcUIsRUFBRSxZQUFZLENBQUM7OEJBR3JDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnXG5cbmV4cG9ydCB0eXBlIFN3aXRjaFRvZ2dsZU9wdGlvbiA9IHtcbiAgbGFiZWw6IHN0cmluZ1xuICBjaGVja2VkOiBib29sZWFuXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXN3aXRjaC10b2dnbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3dpdGNoLXRvZ2dsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N3aXRjaC10b2dnbGUuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdEJ1dHRvblRvZ2dsZU1vZHVsZSwgQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU3dpdGNoVG9nZ2xlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgb3B0aW9uczogU3dpdGNoVG9nZ2xlT3B0aW9uW11cbiAgQElucHV0KCkgYXJpYUxhYmVsPyA9ICcnXG4gIEBJbnB1dCgpIGV4dHJhQ2xhc3Nlcz8gPSAnJ1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8U3dpdGNoVG9nZ2xlT3B0aW9uPigpXG5cbiAgb25DaGFuZ2Uoc2VsZWN0ZWRPcHRpb246IFN3aXRjaFRvZ2dsZU9wdGlvbikge1xuICAgIHRoaXMub3B0aW9ucy5maW5kKFxuICAgICAgKG9wdGlvbikgPT4gb3B0aW9uLmxhYmVsID09PSBzZWxlY3RlZE9wdGlvbi5sYWJlbFxuICAgICkuY2hlY2tlZCA9IHRydWVcblxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZS5lbWl0KHNlbGVjdGVkT3B0aW9uKVxuICB9XG59XG4iLCI8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXBcbiAgI2dyb3VwPVwibWF0QnV0dG9uVG9nZ2xlR3JvdXBcIlxuICBtdWx0aXBsZT1cImZhbHNlXCJcbiAgY2xhc3M9XCJmbGV4IHctZnVsbFwiXG4+XG4gIDxtYXQtYnV0dG9uLXRvZ2dsZVxuICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiXG4gICAgW2FyaWEtbGFiZWxdPVwib3B0aW9uLmxhYmVsXCJcbiAgICBbY2hlY2tlZF09XCJvcHRpb24uY2hlY2tlZFwiXG4gICAgKGNoYW5nZSk9XCJvbkNoYW5nZShvcHRpb24pXCJcbiAgICBbY2xhc3NdPVwiZXh0cmFDbGFzc2VzXCJcbiAgICA+e3sgb3B0aW9uLmxhYmVsIH19PC9tYXQtYnV0dG9uLXRvZ2dsZVxuICA+XG48L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuIl19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLXRvZ2dsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3N3aXRjaC10b2dnbGUvc3dpdGNoLXRvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3N3aXRjaC10b2dnbGUvc3dpdGNoLXRvZ2dsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBOzs7OztBQWdCckQsTUFBTSxPQUFPLHFCQUFxQjtJQVJsQztRQVVXLGNBQVMsR0FBSSxFQUFFLENBQUE7UUFDZixpQkFBWSxHQUFJLEVBQUUsQ0FBQTtRQUNqQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFzQixDQUFBO0tBU2pFO0lBUEMsUUFBUSxDQUFDLGNBQWtDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNmLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLGNBQWMsQ0FBQyxLQUFLLENBQ2xELENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtRQUVoQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN6QyxDQUFDOytHQVpVLHFCQUFxQjttR0FBckIscUJBQXFCLGtOQ3pCbEMsNFlBY0EsNm9CRFNZLHFCQUFxQixzaEJBQUUsWUFBWSwySkFBRSxlQUFlOzs0RkFFbkQscUJBQXFCO2tCQVJqQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLHFCQUFxQixFQUFFLFlBQVksRUFBRSxlQUFlLENBQUM7OEJBR3RELE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuXG5leHBvcnQgdHlwZSBTd2l0Y2hUb2dnbGVPcHRpb24gPSB7XG4gIGxhYmVsOiBzdHJpbmdcbiAgdmFsdWU/OiB1bmtub3duXG4gIGNoZWNrZWQ6IGJvb2xlYW5cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktc3dpdGNoLXRvZ2dsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zd2l0Y2gtdG9nZ2xlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3dpdGNoLXRvZ2dsZS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLCBDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFN3aXRjaFRvZ2dsZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IFN3aXRjaFRvZ2dsZU9wdGlvbltdXG4gIEBJbnB1dCgpIGFyaWFMYWJlbD8gPSAnJ1xuICBASW5wdXQoKSBleHRyYUNsYXNzZXM/ID0gJydcbiAgQE91dHB1dCgpIHNlbGVjdGVkVmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyPFN3aXRjaFRvZ2dsZU9wdGlvbj4oKVxuXG4gIG9uQ2hhbmdlKHNlbGVjdGVkT3B0aW9uOiBTd2l0Y2hUb2dnbGVPcHRpb24pIHtcbiAgICB0aGlzLm9wdGlvbnMuZmluZChcbiAgICAgIChvcHRpb24pID0+IG9wdGlvbi5sYWJlbCA9PT0gc2VsZWN0ZWRPcHRpb24ubGFiZWxcbiAgICApLmNoZWNrZWQgPSB0cnVlXG5cbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUuZW1pdChzZWxlY3RlZE9wdGlvbilcbiAgfVxufVxuIiwiPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwXG4gICNncm91cD1cIm1hdEJ1dHRvblRvZ2dsZUdyb3VwXCJcbiAgbXVsdGlwbGU9XCJmYWxzZVwiXG4gIGNsYXNzPVwiZmxleCB3LWZ1bGxcIlxuPlxuICA8bWF0LWJ1dHRvbi10b2dnbGVcbiAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIlxuICAgIFthcmlhLWxhYmVsXT1cIm9wdGlvbi5sYWJlbFwiXG4gICAgW2NoZWNrZWRdPVwib3B0aW9uLmNoZWNrZWRcIlxuICAgIChjaGFuZ2UpPVwib25DaGFuZ2Uob3B0aW9uKVwiXG4gICAgW2NsYXNzXT1cImV4dHJhQ2xhc3Nlc1wiXG4gICAgPnt7IG9wdGlvbi5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvbWF0LWJ1dHRvbi10b2dnbGVcbiAgPlxuPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiJdfQ==