@alfresco/adf-content-services 8.1.0-16295066092 → 8.1.0-16320806191

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 (425) hide show
  1. package/bundles/assets/adf-content-services/i18n/de.json +1 -3
  2. package/bundles/assets/adf-content-services/i18n/en.json +1 -3
  3. package/bundles/assets/adf-content-services/i18n/es.json +1 -3
  4. package/bundles/assets/adf-content-services/i18n/fr.json +1 -3
  5. package/bundles/assets/adf-content-services/i18n/it.json +1 -3
  6. package/bundles/assets/adf-content-services/i18n/pl.json +1 -3
  7. package/bundles/assets/adf-content-services/i18n/pt.json +1 -3
  8. package/esm2022/adf-content-services.mjs +5 -0
  9. package/esm2022/lib/agent/index.mjs +18 -0
  10. package/esm2022/lib/agent/public-api.mjs +18 -0
  11. package/esm2022/lib/agent/services/agent.service.mjs +60 -0
  12. package/esm2022/lib/alfresco-icon/alfresco-icon.component.mjs +27 -0
  13. package/esm2022/lib/api-factories/alfresco-api-no-auth.service.mjs +42 -0
  14. package/esm2022/lib/api-factories/alfresco-api-v2-loader.service.mjs +77 -0
  15. package/esm2022/lib/api-factories/index.mjs +18 -0
  16. package/esm2022/lib/api-factories/public-api.mjs +19 -0
  17. package/esm2022/lib/aspect-list/aspect-list-dialog-data.interface.mjs +18 -0
  18. package/esm2022/lib/aspect-list/aspect-list-dialog.component.mjs +77 -0
  19. package/esm2022/lib/aspect-list/aspect-list.component.mjs +139 -0
  20. package/esm2022/lib/aspect-list/aspect-list.module.mjs +35 -0
  21. package/esm2022/lib/aspect-list/index.mjs +18 -0
  22. package/esm2022/lib/aspect-list/public-api.mjs +24 -0
  23. package/esm2022/lib/aspect-list/services/aspect-list.service.mjs +83 -0
  24. package/esm2022/lib/aspect-list/services/dialog-aspect-list.service.mjs +86 -0
  25. package/esm2022/lib/aspect-list/services/node-aspect.service.mjs +52 -0
  26. package/esm2022/lib/auth-loader/content-auth-loader-factory.mjs +26 -0
  27. package/esm2022/lib/auth-loader/content-auth-loader.service.mjs +42 -0
  28. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +166 -0
  29. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +35 -0
  30. package/esm2022/lib/breadcrumb/dropdown-breadcrumb.component.mjs +65 -0
  31. package/esm2022/lib/breadcrumb/index.mjs +18 -0
  32. package/esm2022/lib/breadcrumb/public-api.mjs +20 -0
  33. package/esm2022/lib/category/categories-management/categories-management-mode.mjs +22 -0
  34. package/esm2022/lib/category/categories-management/categories-management.component.mjs +308 -0
  35. package/esm2022/lib/category/category.module.mjs +33 -0
  36. package/esm2022/lib/category/index.mjs +18 -0
  37. package/esm2022/lib/category/models/category-node.interface.mjs +18 -0
  38. package/esm2022/lib/category/public-api.mjs +23 -0
  39. package/esm2022/lib/category/services/category-tree-datasource.service.mjs +80 -0
  40. package/esm2022/lib/category/services/category.service.mjs +159 -0
  41. package/esm2022/lib/common/events/file.event.mjs +46 -0
  42. package/esm2022/lib/common/index.mjs +18 -0
  43. package/esm2022/lib/common/interfaces/saved-search.interface.mjs +18 -0
  44. package/esm2022/lib/common/interfaces/search-configuration.interface.mjs +18 -0
  45. package/esm2022/lib/common/mocks/ecm-user.service.mock.mjs +37 -0
  46. package/esm2022/lib/common/models/allowable-operations.enum.mjs +30 -0
  47. package/esm2022/lib/common/models/ecm-company.model.mjs +19 -0
  48. package/esm2022/lib/common/models/ecm-user.model.mjs +45 -0
  49. package/esm2022/lib/common/models/file.model.mjs +53 -0
  50. package/esm2022/lib/common/models/node-metadata.model.mjs +23 -0
  51. package/esm2022/lib/common/models/permissions.enum.mjs +32 -0
  52. package/esm2022/lib/common/public-api.mjs +37 -0
  53. package/esm2022/lib/common/services/card-view-content-update.service.mjs +55 -0
  54. package/esm2022/lib/common/services/content.service.mjs +180 -0
  55. package/esm2022/lib/common/services/discovery-api.service.mjs +79 -0
  56. package/esm2022/lib/common/services/favorites-api.service.mjs +84 -0
  57. package/esm2022/lib/common/services/nodes-api.service.mjs +251 -0
  58. package/esm2022/lib/common/services/people-content.service.mjs +138 -0
  59. package/esm2022/lib/common/services/rendition.service.mjs +270 -0
  60. package/esm2022/lib/common/services/saved-searches.service.mjs +206 -0
  61. package/esm2022/lib/common/services/sites.service.mjs +243 -0
  62. package/esm2022/lib/common/services/upload.service.mjs +391 -0
  63. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata-header.component.mjs +54 -0
  64. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata.component.mjs +490 -0
  65. package/esm2022/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.mjs +128 -0
  66. package/esm2022/lib/content-metadata/content-metadata.module.mjs +36 -0
  67. package/esm2022/lib/content-metadata/index.mjs +18 -0
  68. package/esm2022/lib/content-metadata/interfaces/aspect-oriented-config.interface.mjs +18 -0
  69. package/esm2022/lib/content-metadata/interfaces/card-view-group.interface.mjs +18 -0
  70. package/esm2022/lib/content-metadata/interfaces/content-metadata-config.interface.mjs +18 -0
  71. package/esm2022/lib/content-metadata/interfaces/content-metadata-custom-panel.interface.mjs +18 -0
  72. package/esm2022/lib/content-metadata/interfaces/content-metadata-panel.interface.mjs +18 -0
  73. package/esm2022/lib/content-metadata/interfaces/content-metadata.interfaces.mjs +28 -0
  74. package/esm2022/lib/content-metadata/interfaces/indifferent-config.interface.mjs +18 -0
  75. package/esm2022/lib/content-metadata/interfaces/layout-oriented-config.interface.mjs +18 -0
  76. package/esm2022/lib/content-metadata/interfaces/organised-property-group.interface.mjs +18 -0
  77. package/esm2022/lib/content-metadata/interfaces/preset-config.interface.mjs +18 -0
  78. package/esm2022/lib/content-metadata/interfaces/property-group.interface.mjs +18 -0
  79. package/esm2022/lib/content-metadata/interfaces/property.interface.mjs +18 -0
  80. package/esm2022/lib/content-metadata/public-api.mjs +31 -0
  81. package/esm2022/lib/content-metadata/services/basic-properties.service.mjs +107 -0
  82. package/esm2022/lib/content-metadata/services/config/aspect-oriented-config.service.mjs +106 -0
  83. package/esm2022/lib/content-metadata/services/config/content-metadata-config.factory.mjs +76 -0
  84. package/esm2022/lib/content-metadata/services/config/indifferent-config.service.mjs +40 -0
  85. package/esm2022/lib/content-metadata/services/config/layout-oriented-config.service.mjs +108 -0
  86. package/esm2022/lib/content-metadata/services/config/property-group-reader.mjs +33 -0
  87. package/esm2022/lib/content-metadata/services/content-metadata.service.mjs +99 -0
  88. package/esm2022/lib/content-metadata/services/content-type-property.service.mjs +134 -0
  89. package/esm2022/lib/content-metadata/services/property-descriptors.service.mjs +52 -0
  90. package/esm2022/lib/content-metadata/services/property-groups-translator.service.mjs +169 -0
  91. package/esm2022/lib/content-node-selector/content-node-dialog.service.mjs +256 -0
  92. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.mjs +617 -0
  93. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.service.mjs +66 -0
  94. package/esm2022/lib/content-node-selector/content-node-selector.component-data.interface.mjs +18 -0
  95. package/esm2022/lib/content-node-selector/content-node-selector.component.mjs +205 -0
  96. package/esm2022/lib/content-node-selector/content-node-selector.module.mjs +50 -0
  97. package/esm2022/lib/content-node-selector/index.mjs +18 -0
  98. package/esm2022/lib/content-node-selector/name-location-cell/name-location-cell.component.mjs +48 -0
  99. package/esm2022/lib/content-node-selector/public-api.mjs +25 -0
  100. package/esm2022/lib/content-node-selector/site-dropdown/sites-dropdown.component.mjs +168 -0
  101. package/esm2022/lib/content-node-share/content-node-share.dialog.mjs +287 -0
  102. package/esm2022/lib/content-node-share/content-node-share.directive.mjs +102 -0
  103. package/esm2022/lib/content-node-share/content-node-share.module.mjs +35 -0
  104. package/esm2022/lib/content-node-share/content-node-share.settings.mjs +18 -0
  105. package/esm2022/lib/content-node-share/index.mjs +18 -0
  106. package/esm2022/lib/content-node-share/public-api.mjs +22 -0
  107. package/esm2022/lib/content-node-share/services/shared-links-api.service.mjs +83 -0
  108. package/esm2022/lib/content-type/content-type-dialog.component.mjs +57 -0
  109. package/esm2022/lib/content-type/content-type-metadata.interface.mjs +18 -0
  110. package/esm2022/lib/content-type/content-type.service.mjs +52 -0
  111. package/esm2022/lib/content-type/index.mjs +20 -0
  112. package/esm2022/lib/content.module.mjs +277 -0
  113. package/esm2022/lib/dialogs/category-selector/category-selector.dialog.mjs +51 -0
  114. package/esm2022/lib/dialogs/dialog.module.mjs +52 -0
  115. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.mjs +111 -0
  116. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.module.mjs +38 -0
  117. package/esm2022/lib/dialogs/download-zip/services/download-zip.service.mjs +66 -0
  118. package/esm2022/lib/dialogs/folder/folder-name.validators.mjs +44 -0
  119. package/esm2022/lib/dialogs/folder/folder.dialog.mjs +146 -0
  120. package/esm2022/lib/dialogs/index.mjs +18 -0
  121. package/esm2022/lib/dialogs/library/library.dialog.mjs +224 -0
  122. package/esm2022/lib/dialogs/node-lock/node-lock.dialog.mjs +115 -0
  123. package/esm2022/lib/dialogs/public-api.mjs +25 -0
  124. package/esm2022/lib/directives/auto-focus.directive.mjs +38 -0
  125. package/esm2022/lib/directives/check-allowable-operation.directive.mjs +126 -0
  126. package/esm2022/lib/directives/content-directive.module.mjs +75 -0
  127. package/esm2022/lib/directives/index.mjs +18 -0
  128. package/esm2022/lib/directives/library-favorite.directive.mjs +119 -0
  129. package/esm2022/lib/directives/library-membership.directive.mjs +202 -0
  130. package/esm2022/lib/directives/node-counter.directive.mjs +59 -0
  131. package/esm2022/lib/directives/node-delete.directive.mjs +177 -0
  132. package/esm2022/lib/directives/node-download.directive.mjs +138 -0
  133. package/esm2022/lib/directives/node-favorite.directive.mjs +193 -0
  134. package/esm2022/lib/directives/node-lock.directive.mjs +57 -0
  135. package/esm2022/lib/directives/node-restore.directive.mjs +218 -0
  136. package/esm2022/lib/directives/public-api.mjs +28 -0
  137. package/esm2022/lib/document-list/components/content-action/content-action-list.component.mjs +60 -0
  138. package/esm2022/lib/document-list/components/content-action/content-action.component.mjs +196 -0
  139. package/esm2022/lib/document-list/components/document-list.component.mjs +965 -0
  140. package/esm2022/lib/document-list/components/document-list.token.mjs +21 -0
  141. package/esm2022/lib/document-list/components/file-auto-download/file-auto-download.component.mjs +42 -0
  142. package/esm2022/lib/document-list/components/filter-header/filter-header.component.mjs +107 -0
  143. package/esm2022/lib/document-list/components/library-name-column/library-name-column.component.mjs +131 -0
  144. package/esm2022/lib/document-list/components/library-role-column/library-role-column.component.mjs +91 -0
  145. package/esm2022/lib/document-list/components/library-status-column/library-status-column.component.mjs +86 -0
  146. package/esm2022/lib/document-list/components/name-column/name-column.component.mjs +118 -0
  147. package/esm2022/lib/document-list/components/node.event.mjs +30 -0
  148. package/esm2022/lib/document-list/components/trashcan-name-column/trashcan-name-column.component.mjs +83 -0
  149. package/esm2022/lib/document-list/data/image-resolver.model.mjs +18 -0
  150. package/esm2022/lib/document-list/data/row-filter.model.mjs +18 -0
  151. package/esm2022/lib/document-list/data/share-data-row.model.mjs +102 -0
  152. package/esm2022/lib/document-list/data/share-datatable-adapter.mjs +258 -0
  153. package/esm2022/lib/document-list/document-list.module.mjs +75 -0
  154. package/esm2022/lib/document-list/index.mjs +18 -0
  155. package/esm2022/lib/document-list/interfaces/document-list-loader.interface.mjs +18 -0
  156. package/esm2022/lib/document-list/models/content-action.model.mjs +59 -0
  157. package/esm2022/lib/document-list/models/document-folder.model.mjs +23 -0
  158. package/esm2022/lib/document-list/models/node-action.enum.mjs +27 -0
  159. package/esm2022/lib/document-list/models/permissions-style.model.mjs +27 -0
  160. package/esm2022/lib/document-list/models/permissions.model.mjs +26 -0
  161. package/esm2022/lib/document-list/models/preset.model.mjs +257 -0
  162. package/esm2022/lib/document-list/public-api.mjs +47 -0
  163. package/esm2022/lib/document-list/services/custom-resources.service.mjs +378 -0
  164. package/esm2022/lib/document-list/services/document-actions.service.mjs +142 -0
  165. package/esm2022/lib/document-list/services/document-list.service.mjs +175 -0
  166. package/esm2022/lib/document-list/services/folder-actions.service.mjs +137 -0
  167. package/esm2022/lib/document-list/services/lock.service.mjs +72 -0
  168. package/esm2022/lib/document-list/services/node-actions.service.mjs +122 -0
  169. package/esm2022/lib/group/index.mjs +18 -0
  170. package/esm2022/lib/group/public-api.mjs +18 -0
  171. package/esm2022/lib/group/services/group.service.mjs +84 -0
  172. package/esm2022/lib/infinite-scroll-datasource/index.mjs +18 -0
  173. package/esm2022/lib/infinite-scroll-datasource/infinite-scroll-datasource.mjs +69 -0
  174. package/esm2022/lib/infinite-scroll-datasource/public-api.mjs +18 -0
  175. package/esm2022/lib/interfaces/base-card-view-content-update.interface.mjs +18 -0
  176. package/esm2022/lib/interfaces/index.mjs +18 -0
  177. package/esm2022/lib/interfaces/library-entity.interface.mjs +18 -0
  178. package/esm2022/lib/interfaces/library-membership-error-event.interface.mjs +18 -0
  179. package/esm2022/lib/interfaces/library-membership-toggle-event.interface.mjs +18 -0
  180. package/esm2022/lib/interfaces/node-allowable-operation-subject.interface.mjs +18 -0
  181. package/esm2022/lib/interfaces/public-api.mjs +23 -0
  182. package/esm2022/lib/interfaces/restore-message-model.interface.mjs +19 -0
  183. package/esm2022/lib/legal-hold/index.mjs +18 -0
  184. package/esm2022/lib/legal-hold/public-api.mjs +18 -0
  185. package/esm2022/lib/legal-hold/services/legal-hold.service.mjs +136 -0
  186. package/esm2022/lib/material.module.mjs +183 -0
  187. package/esm2022/lib/mock/alfresco-api.service.mock.mjs +43 -0
  188. package/esm2022/lib/mock/date-range-search-filter.mock.mjs +65 -0
  189. package/esm2022/lib/mock/document-library.model.mock.mjs +84 -0
  190. package/esm2022/lib/mock/document-list.component.mock.mjs +364 -0
  191. package/esm2022/lib/mock/index.mjs +18 -0
  192. package/esm2022/lib/mock/new-version-uploader.service.mock.mjs +161 -0
  193. package/esm2022/lib/mock/public-api.mjs +27 -0
  194. package/esm2022/lib/mock/search-filter-mock.mjs +637 -0
  195. package/esm2022/lib/mock/search-query.mock.mjs +40 -0
  196. package/esm2022/lib/mock/search.component.mock.mjs +165 -0
  197. package/esm2022/lib/mock/search.service.mock.mjs +61 -0
  198. package/esm2022/lib/mock/sites-dropdown.component.mock.mjs +281 -0
  199. package/esm2022/lib/new-version-uploader/index.mjs +18 -0
  200. package/esm2022/lib/new-version-uploader/models/index.mjs +18 -0
  201. package/esm2022/lib/new-version-uploader/models/new-version-uploader.model.mjs +24 -0
  202. package/esm2022/lib/new-version-uploader/new-version-uploader.dialog.mjs +74 -0
  203. package/esm2022/lib/new-version-uploader/new-version-uploader.module.mjs +33 -0
  204. package/esm2022/lib/new-version-uploader/new-version-uploader.service.mjs +103 -0
  205. package/esm2022/lib/new-version-uploader/public-api.mjs +21 -0
  206. package/esm2022/lib/node-comments/index.mjs +18 -0
  207. package/esm2022/lib/node-comments/node-comments.component.mjs +50 -0
  208. package/esm2022/lib/node-comments/node-comments.module.mjs +33 -0
  209. package/esm2022/lib/node-comments/public-api.mjs +20 -0
  210. package/esm2022/lib/node-comments/services/node-comments.service.mjs +85 -0
  211. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog-data.interface.mjs +18 -0
  212. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog.component.mjs +123 -0
  213. package/esm2022/lib/permission-manager/components/add-permission/add-permission-panel.component.mjs +102 -0
  214. package/esm2022/lib/permission-manager/components/add-permission/add-permission.component.mjs +69 -0
  215. package/esm2022/lib/permission-manager/components/add-permission/search-config-permission.service.mjs +45 -0
  216. package/esm2022/lib/permission-manager/components/inherited-button.directive.mjs +67 -0
  217. package/esm2022/lib/permission-manager/components/node-path-column/node-path-column.component.mjs +56 -0
  218. package/esm2022/lib/permission-manager/components/permission-container/permission-container.component.mjs +102 -0
  219. package/esm2022/lib/permission-manager/components/permission-list/permission-list.component.mjs +87 -0
  220. package/esm2022/lib/permission-manager/components/permission-list/permission-list.service.mjs +219 -0
  221. package/esm2022/lib/permission-manager/components/pop-over.directive.mjs +134 -0
  222. package/esm2022/lib/permission-manager/components/user-icon-column/user-icon-column.component.mjs +88 -0
  223. package/esm2022/lib/permission-manager/components/user-name-column/user-name-column.component.mjs +82 -0
  224. package/esm2022/lib/permission-manager/components/user-role-column/user-role-column.component.mjs +111 -0
  225. package/esm2022/lib/permission-manager/index.mjs +18 -0
  226. package/esm2022/lib/permission-manager/models/member.model.mjs +59 -0
  227. package/esm2022/lib/permission-manager/models/permission.model.mjs +29 -0
  228. package/esm2022/lib/permission-manager/models/role.model.mjs +18 -0
  229. package/esm2022/lib/permission-manager/permission-manager.module.mjs +84 -0
  230. package/esm2022/lib/permission-manager/public-api.mjs +36 -0
  231. package/esm2022/lib/permission-manager/services/node-permission-dialog.service.mjs +78 -0
  232. package/esm2022/lib/permission-manager/services/node-permission.service.mjs +299 -0
  233. package/esm2022/lib/pipes/content-pipe.module.mjs +37 -0
  234. package/esm2022/lib/pipes/index.mjs +18 -0
  235. package/esm2022/lib/pipes/node-name-tooltip.pipe.mjs +69 -0
  236. package/esm2022/lib/pipes/public-api.mjs +19 -0
  237. package/esm2022/lib/prediction/index.mjs +18 -0
  238. package/esm2022/lib/prediction/public-api.mjs +18 -0
  239. package/esm2022/lib/prediction/services/index.mjs +18 -0
  240. package/esm2022/lib/prediction/services/prediction.service.mjs +57 -0
  241. package/esm2022/lib/search/components/empty-search-result.component.mjs +27 -0
  242. package/esm2022/lib/search/components/index.mjs +43 -0
  243. package/esm2022/lib/search/components/reset-search.directive.mjs +41 -0
  244. package/esm2022/lib/search/components/search-check-list/index.mjs +18 -0
  245. package/esm2022/lib/search/components/search-check-list/search-check-list.component.mjs +158 -0
  246. package/esm2022/lib/search/components/search-chip-autocomplete-input/index.mjs +18 -0
  247. package/esm2022/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.mjs +169 -0
  248. package/esm2022/lib/search/components/search-chip-list/search-chip-list.component.mjs +46 -0
  249. package/esm2022/lib/search/components/search-control.component.mjs +180 -0
  250. package/esm2022/lib/search/components/search-date-range-tabbed/index.mjs +22 -0
  251. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/date-range-type.mjs +23 -0
  252. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/in-last-date-type.mjs +23 -0
  253. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.mjs +196 -0
  254. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.mjs +18 -0
  255. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.mjs +201 -0
  256. package/esm2022/lib/search/components/search-datetime-range/index.mjs +18 -0
  257. package/esm2022/lib/search/components/search-datetime-range/search-datetime-range.component.mjs +223 -0
  258. package/esm2022/lib/search/components/search-facet-field/index.mjs +18 -0
  259. package/esm2022/lib/search/components/search-facet-field/search-facet-field.component.mjs +132 -0
  260. package/esm2022/lib/search/components/search-filter/index.mjs +19 -0
  261. package/esm2022/lib/search/components/search-filter/search-filter-card/search-filter-card.component.mjs +45 -0
  262. package/esm2022/lib/search/components/search-filter/search-filter.component.mjs +80 -0
  263. package/esm2022/lib/search/components/search-filter-autocomplete-chips/index.mjs +18 -0
  264. package/esm2022/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.mjs +154 -0
  265. package/esm2022/lib/search/components/search-filter-chips/index.mjs +23 -0
  266. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip/search-facet-chip.component.mjs +104 -0
  267. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-chip-tabbed.component.mjs +109 -0
  268. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-tabbed-content.component.mjs +129 -0
  269. package/esm2022/lib/search/components/search-filter-chips/search-filter-chips.component.mjs +63 -0
  270. package/esm2022/lib/search/components/search-filter-chips/search-filter-menu-card/search-filter-menu-card.component.mjs +43 -0
  271. package/esm2022/lib/search/components/search-filter-chips/search-widget-chip/search-widget-chip.component.mjs +109 -0
  272. package/esm2022/lib/search/components/search-filter-container/index.mjs +18 -0
  273. package/esm2022/lib/search/components/search-filter-container/search-filter-container.component.mjs +122 -0
  274. package/esm2022/lib/search/components/search-filter-tabbed/index.mjs +19 -0
  275. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tab.directive.mjs +36 -0
  276. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tabbed.component.mjs +63 -0
  277. package/esm2022/lib/search/components/search-form/index.mjs +18 -0
  278. package/esm2022/lib/search/components/search-form/search-form.component.mjs +52 -0
  279. package/esm2022/lib/search/components/search-input/index.mjs +18 -0
  280. package/esm2022/lib/search/components/search-input/search-input.component.mjs +108 -0
  281. package/esm2022/lib/search/components/search-logical-filter/index.mjs +18 -0
  282. package/esm2022/lib/search/components/search-logical-filter/search-logical-filter.component.mjs +163 -0
  283. package/esm2022/lib/search/components/search-number-range/index.mjs +18 -0
  284. package/esm2022/lib/search/components/search-number-range/search-number-range.component.mjs +154 -0
  285. package/esm2022/lib/search/components/search-panel/index.mjs +18 -0
  286. package/esm2022/lib/search/components/search-panel/search-panel.component.mjs +44 -0
  287. package/esm2022/lib/search/components/search-properties/file-size-condition.mjs +18 -0
  288. package/esm2022/lib/search/components/search-properties/file-size-operator.enum.mjs +23 -0
  289. package/esm2022/lib/search/components/search-properties/file-size-unit.enum.mjs +26 -0
  290. package/esm2022/lib/search/components/search-properties/index.mjs +22 -0
  291. package/esm2022/lib/search/components/search-properties/search-properties.component.mjs +244 -0
  292. package/esm2022/lib/search/components/search-properties/search-properties.mjs +18 -0
  293. package/esm2022/lib/search/components/search-radio/index.mjs +18 -0
  294. package/esm2022/lib/search/components/search-radio/search-radio.component.mjs +145 -0
  295. package/esm2022/lib/search/components/search-slider/index.mjs +18 -0
  296. package/esm2022/lib/search/components/search-slider/search-slider.component.mjs +119 -0
  297. package/esm2022/lib/search/components/search-sorting-picker/index.mjs +18 -0
  298. package/esm2022/lib/search/components/search-sorting-picker/search-sorting-picker.component.mjs +77 -0
  299. package/esm2022/lib/search/components/search-text/index.mjs +18 -0
  300. package/esm2022/lib/search/components/search-text/search-text.component.mjs +134 -0
  301. package/esm2022/lib/search/components/search-widget-container/index.mjs +18 -0
  302. package/esm2022/lib/search/components/search-widget-container/search-widget-container.component.mjs +113 -0
  303. package/esm2022/lib/search/components/search.component.mjs +152 -0
  304. package/esm2022/lib/search/forms/index.mjs +19 -0
  305. package/esm2022/lib/search/forms/live-error-state-matcher.mjs +23 -0
  306. package/esm2022/lib/search/forms/search-term-validator.mjs +26 -0
  307. package/esm2022/lib/search/index.mjs +18 -0
  308. package/esm2022/lib/search/mocks/index.mjs +18 -0
  309. package/esm2022/lib/search/mocks/search.service.mock.mjs +56 -0
  310. package/esm2022/lib/search/models/autocomplete-option.interface.mjs +22 -0
  311. package/esm2022/lib/search/models/facet-field-bucket.interface.mjs +18 -0
  312. package/esm2022/lib/search/models/facet-field.interface.mjs +29 -0
  313. package/esm2022/lib/search/models/facet-query.interface.mjs +18 -0
  314. package/esm2022/lib/search/models/facet-widget.interface.mjs +18 -0
  315. package/esm2022/lib/search/models/filter-query.interface.mjs +18 -0
  316. package/esm2022/lib/search/models/filter-search.interface.mjs +18 -0
  317. package/esm2022/lib/search/models/index.mjs +34 -0
  318. package/esm2022/lib/search/models/response-facet-query-list.model.mjs +31 -0
  319. package/esm2022/lib/search/models/search-category.interface.mjs +18 -0
  320. package/esm2022/lib/search/models/search-configuration.interface.mjs +18 -0
  321. package/esm2022/lib/search/models/search-filter-list.model.mjs +148 -0
  322. package/esm2022/lib/search/models/search-form.interface.mjs +18 -0
  323. package/esm2022/lib/search/models/search-range.interface.mjs +18 -0
  324. package/esm2022/lib/search/models/search-sorting-definition.interface.mjs +18 -0
  325. package/esm2022/lib/search/models/search-widget-settings.interface.mjs +18 -0
  326. package/esm2022/lib/search/models/search-widget.interface.mjs +18 -0
  327. package/esm2022/lib/search/models/tabbed-facet-field.interface.mjs +18 -0
  328. package/esm2022/lib/search/public-api.mjs +24 -0
  329. package/esm2022/lib/search/search-configuration.token.mjs +19 -0
  330. package/esm2022/lib/search/search.module.mjs +192 -0
  331. package/esm2022/lib/search/services/base-query-builder.service.mjs +509 -0
  332. package/esm2022/lib/search/services/index.mjs +24 -0
  333. package/esm2022/lib/search/services/search-configuration.service.mjs +50 -0
  334. package/esm2022/lib/search/services/search-facet-filters.service.mjs +374 -0
  335. package/esm2022/lib/search/services/search-filter.service.mjs +56 -0
  336. package/esm2022/lib/search/services/search-header-query-builder.service.mjs +136 -0
  337. package/esm2022/lib/search/services/search-query-builder.service.mjs +48 -0
  338. package/esm2022/lib/search/services/search.service.mjs +89 -0
  339. package/esm2022/lib/search-ai/index.mjs +18 -0
  340. package/esm2022/lib/search-ai/models/search-ai-input-state.mjs +18 -0
  341. package/esm2022/lib/search-ai/public-api.mjs +19 -0
  342. package/esm2022/lib/search-ai/services/search-ai.service.mjs +103 -0
  343. package/esm2022/lib/security/index.mjs +18 -0
  344. package/esm2022/lib/security/public-api.mjs +18 -0
  345. package/esm2022/lib/security/services/models/security-controls-group-response.interface.mjs +18 -0
  346. package/esm2022/lib/security/services/models/security-controls-mark-response.interface.mjs +18 -0
  347. package/esm2022/lib/security/services/security-controls-groups-marks-security.service.mjs +274 -0
  348. package/esm2022/lib/security-options-loader/security-options-loader.service.mjs +43 -0
  349. package/esm2022/lib/services/alfresco-api.interface.mjs +18 -0
  350. package/esm2022/lib/services/alfresco-api.service.mjs +120 -0
  351. package/esm2022/lib/services/index.mjs +18 -0
  352. package/esm2022/lib/services/public-api.mjs +18 -0
  353. package/esm2022/lib/tag/index.mjs +18 -0
  354. package/esm2022/lib/tag/public-api.mjs +24 -0
  355. package/esm2022/lib/tag/services/tag.service.mjs +171 -0
  356. package/esm2022/lib/tag/tag-actions/tag-actions.component.mjs +114 -0
  357. package/esm2022/lib/tag/tag-list/tag-list.component.mjs +98 -0
  358. package/esm2022/lib/tag/tag-node-list/tag-node-list.component.mjs +80 -0
  359. package/esm2022/lib/tag/tag.module.mjs +37 -0
  360. package/esm2022/lib/tag/tags-creator/tags-creator-mode.mjs +27 -0
  361. package/esm2022/lib/tag/tags-creator/tags-creator.component.mjs +370 -0
  362. package/esm2022/lib/testing/content.testing.module.mjs +56 -0
  363. package/esm2022/lib/tree/components/tree.component.mjs +312 -0
  364. package/esm2022/lib/tree/index.mjs +18 -0
  365. package/esm2022/lib/tree/models/tree-context-menu-result.interface.mjs +18 -0
  366. package/esm2022/lib/tree/models/tree-node.interface.mjs +22 -0
  367. package/esm2022/lib/tree/models/tree-response.interface.mjs +18 -0
  368. package/esm2022/lib/tree/public-api.mjs +23 -0
  369. package/esm2022/lib/tree/services/tree.service.mjs +134 -0
  370. package/esm2022/lib/tree/tree.module.mjs +33 -0
  371. package/esm2022/lib/tree-view/components/tree-view.component.mjs +75 -0
  372. package/esm2022/lib/tree-view/data/tree-view-datasource.mjs +99 -0
  373. package/esm2022/lib/tree-view/index.mjs +18 -0
  374. package/esm2022/lib/tree-view/models/tree-view.model.mjs +28 -0
  375. package/esm2022/lib/tree-view/public-api.mjs +22 -0
  376. package/esm2022/lib/tree-view/services/tree-view.service.mjs +38 -0
  377. package/esm2022/lib/tree-view/tree-view.module.mjs +33 -0
  378. package/esm2022/lib/upload/components/base-upload/upload-base.mjs +176 -0
  379. package/esm2022/lib/upload/components/file-uploading-dialog.component.mjs +190 -0
  380. package/esm2022/lib/upload/components/file-uploading-list-row.component.mjs +92 -0
  381. package/esm2022/lib/upload/components/file-uploading-list.component.mjs +124 -0
  382. package/esm2022/lib/upload/components/upload-button.component.mjs +133 -0
  383. package/esm2022/lib/upload/components/upload-drag-area.component.mjs +112 -0
  384. package/esm2022/lib/upload/components/upload-files.event.mjs +41 -0
  385. package/esm2022/lib/upload/components/upload-version-button.component.mjs +54 -0
  386. package/esm2022/lib/upload/directives/file-draggable.directive.mjs +154 -0
  387. package/esm2022/lib/upload/directives/toggle-icon.directive.mjs +75 -0
  388. package/esm2022/lib/upload/index.mjs +18 -0
  389. package/esm2022/lib/upload/pipes/file-upload-error.pipe.mjs +39 -0
  390. package/esm2022/lib/upload/public-api.mjs +29 -0
  391. package/esm2022/lib/upload/upload.module.mjs +72 -0
  392. package/esm2022/lib/version-compatibility/index.mjs +18 -0
  393. package/esm2022/lib/version-compatibility/public-api.mjs +20 -0
  394. package/esm2022/lib/version-compatibility/version-compatibility-factory.mjs +26 -0
  395. package/esm2022/lib/version-compatibility/version-compatibility.directive.mjs +53 -0
  396. package/esm2022/lib/version-compatibility/version-compatibility.module.mjs +33 -0
  397. package/esm2022/lib/version-compatibility/version-compatibility.service.mjs +76 -0
  398. package/esm2022/lib/version-manager/content-version.service.mjs +53 -0
  399. package/esm2022/lib/version-manager/index.mjs +18 -0
  400. package/esm2022/lib/version-manager/public-api.mjs +23 -0
  401. package/esm2022/lib/version-manager/version-comparison.component.mjs +42 -0
  402. package/esm2022/lib/version-manager/version-list.component.mjs +215 -0
  403. package/esm2022/lib/version-manager/version-manager.component.mjs +145 -0
  404. package/esm2022/lib/version-manager/version-manager.module.mjs +48 -0
  405. package/esm2022/lib/version-manager/version-upload.component.mjs +154 -0
  406. package/esm2022/lib/viewer/alfresco-viewer.module.mjs +33 -0
  407. package/esm2022/lib/viewer/components/alfresco-viewer.component.mjs +408 -0
  408. package/esm2022/lib/viewer/index.mjs +18 -0
  409. package/esm2022/lib/viewer/public-api.mjs +19 -0
  410. package/esm2022/public-api.mjs +56 -0
  411. package/fesm2022/adf-content-services.mjs +827 -870
  412. package/fesm2022/adf-content-services.mjs.map +1 -1
  413. package/lib/aspect-list/aspect-list.component.d.ts +0 -4
  414. package/lib/aspect-list/public-api.d.ts +0 -1
  415. package/lib/aspect-list/services/aspect-list.service.d.ts +4 -6
  416. package/lib/category/categories-management/categories-management.component.d.ts +0 -4
  417. package/lib/content.module.d.ts +2 -2
  418. package/lib/dialogs/dialog.module.d.ts +5 -6
  419. package/lib/dialogs/download-zip/download-zip.dialog.d.ts +1 -1
  420. package/lib/dialogs/download-zip/download-zip.dialog.module.d.ts +6 -2
  421. package/lib/new-version-uploader/new-version-uploader.dialog.scss +1 -1
  422. package/lib/upload/components/base-upload/upload-base.d.ts +1 -1
  423. package/lib/version-manager/version-list.component.scss +2 -3
  424. package/package.json +5 -3
  425. package/lib/aspect-list/interfaces/custom-aspect-paging.interface.d.ts +0 -21
@@ -0,0 +1,109 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { ChangeDetectorRef, Component, ElementRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';
18
+ import { ConfigurableFocusTrapFactory } from '@angular/cdk/a11y';
19
+ import { MatMenuModule, MatMenuTrigger } from '@angular/material/menu';
20
+ import { Subject } from 'rxjs';
21
+ import { CommonModule } from '@angular/common';
22
+ import { MatChipsModule } from '@angular/material/chips';
23
+ import { TranslatePipe } from '@ngx-translate/core';
24
+ import { MatIconModule } from '@angular/material/icon';
25
+ import { SearchFacetTabbedContentComponent } from './search-facet-tabbed-content.component';
26
+ import { MatButtonModule } from '@angular/material/button';
27
+ import { SearchFilterMenuCardComponent } from '../search-filter-menu-card/search-filter-menu-card.component';
28
+ import * as i0 from "@angular/core";
29
+ import * as i1 from "@angular/cdk/a11y";
30
+ import * as i2 from "@angular/common";
31
+ import * as i3 from "@angular/material/chips";
32
+ import * as i4 from "@angular/material/menu";
33
+ import * as i5 from "@angular/material/icon";
34
+ import * as i6 from "@angular/material/button";
35
+ export class SearchFacetChipTabbedComponent {
36
+ constructor(focusTrapFactory, changeDetectorRef) {
37
+ this.focusTrapFactory = focusTrapFactory;
38
+ this.changeDetectorRef = changeDetectorRef;
39
+ this.resetSubject$ = new Subject();
40
+ this.applySubject$ = new Subject();
41
+ this.displayValue = '';
42
+ this.reset$ = this.resetSubject$.asObservable();
43
+ this.apply$ = this.applySubject$.asObservable();
44
+ this.chipIcon = 'keyboard_arrow_down';
45
+ this.isPopulated = false;
46
+ }
47
+ onMenuOpen() {
48
+ if (this.menuContainer && !this.focusTrap) {
49
+ this.focusTrap = this.focusTrapFactory.create(this.menuContainer.nativeElement);
50
+ }
51
+ this.chipIcon = 'keyboard_arrow_up';
52
+ }
53
+ onClosed() {
54
+ this.focusTrap.destroy();
55
+ this.focusTrap = null;
56
+ this.chipIcon = 'keyboard_arrow_down';
57
+ }
58
+ onRemove() {
59
+ this.resetSubject$.next();
60
+ this.menuTrigger.closeMenu();
61
+ }
62
+ onApply() {
63
+ this.applySubject$.next();
64
+ this.menuTrigger.closeMenu();
65
+ }
66
+ onEnterKeydown() {
67
+ if (this.isPopulated) {
68
+ if (!this.menuTrigger.menuOpen) {
69
+ this.menuTrigger.openMenu();
70
+ }
71
+ else {
72
+ this.menuTrigger.closeMenu();
73
+ }
74
+ }
75
+ }
76
+ onEscKeydown() {
77
+ if (this.menuTrigger.menuOpen) {
78
+ this.menuTrigger.closeMenu();
79
+ }
80
+ }
81
+ onIsPopulatedEventChange(isPopulated) {
82
+ this.isPopulated = isPopulated;
83
+ this.changeDetectorRef.detectChanges();
84
+ }
85
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchFacetChipTabbedComponent, deps: [{ token: i1.ConfigurableFocusTrapFactory }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
86
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchFacetChipTabbedComponent, isStandalone: true, selector: "adf-search-facet-chip-tabbed", inputs: { tabbedFacet: "tabbedFacet" }, viewQueries: [{ propertyName: "menuContainer", first: true, predicate: ["menuContainer"], descendants: true }, { propertyName: "menuTrigger", first: true, predicate: ["menuTrigger"], descendants: true }], ngImport: i0, template: "<mat-chip [attr.data-automation-id]=\"'search-filter-chip-tabbed-' + tabbedFacet.label\"\n [disableRipple]=\"true\"\n class=\"adf-search-filter-chip-tabbed\"\n [class.adf-search-toggle-chip]=\"displayValue || menuTrigger.menuOpen\"\n [disabled]=\"!isPopulated\"\n tabindex=\"0\"\n [matMenuTriggerFor]=\"menu\"\n (menuOpened)=\"onMenuOpen()\"\n (keydown.enter)=\"onEnterKeydown()\"\n (keydown.escape)=\"onEscKeydown()\"\n [attr.title]=\"displayValue\"\n #menuTrigger=\"matMenuTrigger\">\n\n <span class=\"adf-search-filter-placeholder\">{{ tabbedFacet.label | translate }}:</span>\n\n <span class=\"adf-search-filter-ellipsis adf-filter-value\" *ngIf=\"displayValue; else showAny\">\n &nbsp; {{ displayValue | translate }}\n </span>\n <ng-template #showAny><span class=\"adf-search-filter-ellipsis adf-filter-value\">&nbsp;{{ 'SEARCH.FILTER.ANY' | translate }}</span></ng-template>\n <mat-icon class=\"adf-search-filter-chip-icon\" *ngIf=\"isPopulated; else disabledIcon\">{{ chipIcon }}</mat-icon>\n <ng-template #disabledIcon>\n <mat-icon>remove</mat-icon>\n </ng-template>\n</mat-chip>\n\n<mat-menu #menu=\"matMenu\" class=\"adf-search-widget-extra-width\" backdropClass=\"adf-search-filter-chip-menu\" (closed)=\"onClosed()\">\n <div #menuContainer [attr.data-automation-id]=\"'search-field-' + tabbedFacet.label\">\n <adf-search-filter-menu-card (click)=\"$event.stopPropagation()\"\n (keydown.tab)=\"$event.stopPropagation();\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n (close)=\"menuTrigger.closeMenu()\">\n <ng-container ngProjectAs=\"filter-title\">\n {{ tabbedFacet.label | translate }}\n </ng-container>\n <ng-container ngProjectAs=\"filter-content\">\n <adf-search-facet-tabbed-content [tabbedFacet]=\"tabbedFacet\" (isPopulated)=\"onIsPopulatedEventChange($event)\"\n [onReset$]=\"reset$\" [onApply$]=\"apply$\" (displayValue$)=\"displayValue = $event\" />\n </ng-container>\n <ng-container ngProjectAs=\"filter-actions\">\n <button mat-button class=\"adf-search-action-button\" (click)=\"onRemove()\" id=\"cancel-filter-button\">\n {{ 'SEARCH.FILTER.BUTTONS.CLEAR' | translate }}\n </button>\n <button mat-flat-button class=\"adf-search-action-button\" color=\"primary\" (click)=\"onApply()\" id=\"apply-filter-button\">\n {{ 'SEARCH.FILTER.BUTTONS.APPLY' | translate }}\n </button>\n </ng-container>\n </adf-search-filter-menu-card>\n </div>\n</mat-menu>\n", styles: ["adf-search-facet-chip-tabbed .adf-search-filter-chip-tabbed[disabled]{pointer-events:none}adf-search-facet-chip-tabbed .adf-search-filter-chip-tabbed .mdc-evolution-chip__graphic{display:none}adf-search-facet-chip-tabbed .adf-search-filter-chip-icon{padding-top:2px}.adf-search-widget-extra-width.mat-mdc-menu-panel{max-width:500px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i3.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: SearchFacetTabbedContentComponent, selector: "adf-search-facet-tabbed-content", inputs: ["tabbedFacet", "onReset$", "onApply$"], outputs: ["isPopulated", "displayValue$"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: SearchFilterMenuCardComponent, selector: "adf-search-filter-menu-card", outputs: ["close"] }], encapsulation: i0.ViewEncapsulation.None }); }
87
+ }
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchFacetChipTabbedComponent, decorators: [{
89
+ type: Component,
90
+ args: [{ selector: 'adf-search-facet-chip-tabbed', standalone: true, imports: [
91
+ CommonModule,
92
+ MatChipsModule,
93
+ MatMenuModule,
94
+ TranslatePipe,
95
+ MatIconModule,
96
+ SearchFacetTabbedContentComponent,
97
+ MatButtonModule,
98
+ SearchFilterMenuCardComponent
99
+ ], encapsulation: ViewEncapsulation.None, template: "<mat-chip [attr.data-automation-id]=\"'search-filter-chip-tabbed-' + tabbedFacet.label\"\n [disableRipple]=\"true\"\n class=\"adf-search-filter-chip-tabbed\"\n [class.adf-search-toggle-chip]=\"displayValue || menuTrigger.menuOpen\"\n [disabled]=\"!isPopulated\"\n tabindex=\"0\"\n [matMenuTriggerFor]=\"menu\"\n (menuOpened)=\"onMenuOpen()\"\n (keydown.enter)=\"onEnterKeydown()\"\n (keydown.escape)=\"onEscKeydown()\"\n [attr.title]=\"displayValue\"\n #menuTrigger=\"matMenuTrigger\">\n\n <span class=\"adf-search-filter-placeholder\">{{ tabbedFacet.label | translate }}:</span>\n\n <span class=\"adf-search-filter-ellipsis adf-filter-value\" *ngIf=\"displayValue; else showAny\">\n &nbsp; {{ displayValue | translate }}\n </span>\n <ng-template #showAny><span class=\"adf-search-filter-ellipsis adf-filter-value\">&nbsp;{{ 'SEARCH.FILTER.ANY' | translate }}</span></ng-template>\n <mat-icon class=\"adf-search-filter-chip-icon\" *ngIf=\"isPopulated; else disabledIcon\">{{ chipIcon }}</mat-icon>\n <ng-template #disabledIcon>\n <mat-icon>remove</mat-icon>\n </ng-template>\n</mat-chip>\n\n<mat-menu #menu=\"matMenu\" class=\"adf-search-widget-extra-width\" backdropClass=\"adf-search-filter-chip-menu\" (closed)=\"onClosed()\">\n <div #menuContainer [attr.data-automation-id]=\"'search-field-' + tabbedFacet.label\">\n <adf-search-filter-menu-card (click)=\"$event.stopPropagation()\"\n (keydown.tab)=\"$event.stopPropagation();\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n (close)=\"menuTrigger.closeMenu()\">\n <ng-container ngProjectAs=\"filter-title\">\n {{ tabbedFacet.label | translate }}\n </ng-container>\n <ng-container ngProjectAs=\"filter-content\">\n <adf-search-facet-tabbed-content [tabbedFacet]=\"tabbedFacet\" (isPopulated)=\"onIsPopulatedEventChange($event)\"\n [onReset$]=\"reset$\" [onApply$]=\"apply$\" (displayValue$)=\"displayValue = $event\" />\n </ng-container>\n <ng-container ngProjectAs=\"filter-actions\">\n <button mat-button class=\"adf-search-action-button\" (click)=\"onRemove()\" id=\"cancel-filter-button\">\n {{ 'SEARCH.FILTER.BUTTONS.CLEAR' | translate }}\n </button>\n <button mat-flat-button class=\"adf-search-action-button\" color=\"primary\" (click)=\"onApply()\" id=\"apply-filter-button\">\n {{ 'SEARCH.FILTER.BUTTONS.APPLY' | translate }}\n </button>\n </ng-container>\n </adf-search-filter-menu-card>\n </div>\n</mat-menu>\n", styles: ["adf-search-facet-chip-tabbed .adf-search-filter-chip-tabbed[disabled]{pointer-events:none}adf-search-facet-chip-tabbed .adf-search-filter-chip-tabbed .mdc-evolution-chip__graphic{display:none}adf-search-facet-chip-tabbed .adf-search-filter-chip-icon{padding-top:2px}.adf-search-widget-extra-width.mat-mdc-menu-panel{max-width:500px}\n"] }]
100
+ }], ctorParameters: () => [{ type: i1.ConfigurableFocusTrapFactory }, { type: i0.ChangeDetectorRef }], propDecorators: { tabbedFacet: [{
101
+ type: Input
102
+ }], menuContainer: [{
103
+ type: ViewChild,
104
+ args: ['menuContainer', { static: false }]
105
+ }], menuTrigger: [{
106
+ type: ViewChild,
107
+ args: ['menuTrigger', { static: false }]
108
+ }] } });
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZhY2V0LWNoaXAtdGFiYmVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvc2VhcmNoL2NvbXBvbmVudHMvc2VhcmNoLWZpbHRlci1jaGlwcy9zZWFyY2gtZmFjZXQtY2hpcC10YWJiZWQvc2VhcmNoLWZhY2V0LWNoaXAtdGFiYmVkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvc2VhcmNoL2NvbXBvbmVudHMvc2VhcmNoLWZpbHRlci1jaGlwcy9zZWFyY2gtZmFjZXQtY2hpcC10YWJiZWQvc2VhcmNoLWZhY2V0LWNoaXAtdGFiYmVkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUF5Qiw0QkFBNEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7OztBQW1CN0csTUFBTSxPQUFPLDhCQUE4QjtJQW9CdkMsWUFBb0IsZ0JBQThDLEVBQVUsaUJBQW9DO1FBQTVGLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBOEI7UUFBVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBVnhHLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNwQyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFNUMsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsV0FBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0MsV0FBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFM0MsYUFBUSxHQUFHLHFCQUFxQixDQUFDO1FBQ2pDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBRStGLENBQUM7SUFFcEgsVUFBVTtRQUNOLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRixDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQztJQUN4QyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQztJQUMxQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHdCQUF3QixDQUFDLFdBQW9CO1FBQ3pDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQyxDQUFDOytHQWhFUSw4QkFBOEI7bUdBQTlCLDhCQUE4Qiw2VUMvQzNDLHUwRkFpREEsdVlEZlEsWUFBWSxrSUFDWixjQUFjLDBVQUNkLGFBQWEscW1CQUNiLGFBQWEsaURBQ2IsYUFBYSxvTEFDYixpQ0FBaUMsdUtBQ2pDLGVBQWUsNE5BQ2YsNkJBQTZCOzs0RkFNeEIsOEJBQThCO2tCQWpCMUMsU0FBUzsrQkFDSSw4QkFBOEIsY0FDNUIsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixpQ0FBaUM7d0JBQ2pDLGVBQWU7d0JBQ2YsNkJBQTZCO3FCQUNoQyxpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJO2lJQUlyQyxXQUFXO3NCQURWLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBSTdDLFdBQVc7c0JBRFYsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhYmxlRm9jdXNUcmFwLCBDb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSwgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IFRhYmJlZEZhY2V0RmllbGQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdGFiYmVkLWZhY2V0LWZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBTZWFyY2hGYWNldFRhYmJlZENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1mYWNldC10YWJiZWQtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IFNlYXJjaEZpbHRlck1lbnVDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VhcmNoLWZpbHRlci1tZW51LWNhcmQvc2VhcmNoLWZpbHRlci1tZW51LWNhcmQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2VhcmNoLWZhY2V0LWNoaXAtdGFiYmVkJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRDaGlwc01vZHVsZSxcbiAgICAgICAgTWF0TWVudU1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlUGlwZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgU2VhcmNoRmFjZXRUYWJiZWRDb250ZW50Q29tcG9uZW50LFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIFNlYXJjaEZpbHRlck1lbnVDYXJkQ29tcG9uZW50XG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWZhY2V0LWNoaXAtdGFiYmVkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtZmFjZXQtY2hpcC10YWJiZWQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaEZhY2V0Q2hpcFRhYmJlZENvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICB0YWJiZWRGYWNldDogVGFiYmVkRmFjZXRGaWVsZDtcblxuICAgIEBWaWV3Q2hpbGQoJ21lbnVDb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBtZW51Q29udGFpbmVyOiBFbGVtZW50UmVmO1xuXG4gICAgQFZpZXdDaGlsZCgnbWVudVRyaWdnZXInLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBtZW51VHJpZ2dlcjogTWF0TWVudVRyaWdnZXI7XG5cbiAgICBwcml2YXRlIHJlc2V0U3ViamVjdCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgYXBwbHlTdWJqZWN0JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBkaXNwbGF5VmFsdWUgPSAnJztcbiAgICByZXNldCQgPSB0aGlzLnJlc2V0U3ViamVjdCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgYXBwbHkkID0gdGhpcy5hcHBseVN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIGZvY3VzVHJhcDogQ29uZmlndXJhYmxlRm9jdXNUcmFwO1xuICAgIGNoaXBJY29uID0gJ2tleWJvYXJkX2Fycm93X2Rvd24nO1xuICAgIGlzUG9wdWxhdGVkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvY3VzVHJhcEZhY3Rvcnk6IENvbmZpZ3VyYWJsZUZvY3VzVHJhcEZhY3RvcnksIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgb25NZW51T3BlbigpIHtcbiAgICAgICAgaWYgKHRoaXMubWVudUNvbnRhaW5lciAmJiAhdGhpcy5mb2N1c1RyYXApIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNUcmFwID0gdGhpcy5mb2N1c1RyYXBGYWN0b3J5LmNyZWF0ZSh0aGlzLm1lbnVDb250YWluZXIubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jaGlwSWNvbiA9ICdrZXlib2FyZF9hcnJvd191cCc7XG4gICAgfVxuXG4gICAgb25DbG9zZWQoKSB7XG4gICAgICAgIHRoaXMuZm9jdXNUcmFwLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5mb2N1c1RyYXAgPSBudWxsO1xuICAgICAgICB0aGlzLmNoaXBJY29uID0gJ2tleWJvYXJkX2Fycm93X2Rvd24nO1xuICAgIH1cblxuICAgIG9uUmVtb3ZlKCkge1xuICAgICAgICB0aGlzLnJlc2V0U3ViamVjdCQubmV4dCgpO1xuICAgICAgICB0aGlzLm1lbnVUcmlnZ2VyLmNsb3NlTWVudSgpO1xuICAgIH1cblxuICAgIG9uQXBwbHkoKSB7XG4gICAgICAgIHRoaXMuYXBwbHlTdWJqZWN0JC5uZXh0KCk7XG4gICAgICAgIHRoaXMubWVudVRyaWdnZXIuY2xvc2VNZW51KCk7XG4gICAgfVxuXG4gICAgb25FbnRlcktleWRvd24oKSB7XG4gICAgICAgIGlmICh0aGlzLmlzUG9wdWxhdGVkKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMubWVudVRyaWdnZXIubWVudU9wZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVUcmlnZ2VyLm9wZW5NZW51KCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubWVudVRyaWdnZXIuY2xvc2VNZW51KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkVzY0tleWRvd24oKSB7XG4gICAgICAgIGlmICh0aGlzLm1lbnVUcmlnZ2VyLm1lbnVPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVUcmlnZ2VyLmNsb3NlTWVudSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Jc1BvcHVsYXRlZEV2ZW50Q2hhbmdlKGlzUG9wdWxhdGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNQb3B1bGF0ZWQgPSBpc1BvcHVsYXRlZDtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxufVxuIiwiPG1hdC1jaGlwIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInc2VhcmNoLWZpbHRlci1jaGlwLXRhYmJlZC0nICsgdGFiYmVkRmFjZXQubGFiZWxcIlxuICAgICAgICAgIFtkaXNhYmxlUmlwcGxlXT1cInRydWVcIlxuICAgICAgICAgIGNsYXNzPVwiYWRmLXNlYXJjaC1maWx0ZXItY2hpcC10YWJiZWRcIlxuICAgICAgICAgIFtjbGFzcy5hZGYtc2VhcmNoLXRvZ2dsZS1jaGlwXT1cImRpc3BsYXlWYWx1ZSB8fCBtZW51VHJpZ2dlci5tZW51T3BlblwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc1BvcHVsYXRlZFwiXG4gICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXG4gICAgICAgICAgKG1lbnVPcGVuZWQpPVwib25NZW51T3BlbigpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyS2V5ZG93bigpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lc2NhcGUpPVwib25Fc2NLZXlkb3duKClcIlxuICAgICAgICAgIFthdHRyLnRpdGxlXT1cImRpc3BsYXlWYWx1ZVwiXG4gICAgICAgICAgI21lbnVUcmlnZ2VyPVwibWF0TWVudVRyaWdnZXJcIj5cblxuICAgIDxzcGFuIGNsYXNzPVwiYWRmLXNlYXJjaC1maWx0ZXItcGxhY2Vob2xkZXJcIj57eyB0YWJiZWRGYWNldC5sYWJlbCB8IHRyYW5zbGF0ZSB9fTo8L3NwYW4+XG5cbiAgICA8c3BhbiBjbGFzcz1cImFkZi1zZWFyY2gtZmlsdGVyLWVsbGlwc2lzIGFkZi1maWx0ZXItdmFsdWVcIiAqbmdJZj1cImRpc3BsYXlWYWx1ZTsgZWxzZSBzaG93QW55XCI+XG4gICAgICAgICZuYnNwOyB7eyBkaXNwbGF5VmFsdWUgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NwYW4+XG4gICAgPG5nLXRlbXBsYXRlICNzaG93QW55PjxzcGFuIGNsYXNzPVwiYWRmLXNlYXJjaC1maWx0ZXItZWxsaXBzaXMgYWRmLWZpbHRlci12YWx1ZVwiPiZuYnNwO3t7ICdTRUFSQ0guRklMVEVSLkFOWScgfCB0cmFuc2xhdGUgfX08L3NwYW4+PC9uZy10ZW1wbGF0ZT5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJhZGYtc2VhcmNoLWZpbHRlci1jaGlwLWljb25cIiAqbmdJZj1cImlzUG9wdWxhdGVkOyBlbHNlIGRpc2FibGVkSWNvblwiPnt7IGNoaXBJY29uIH19PC9tYXQtaWNvbj5cbiAgICA8bmctdGVtcGxhdGUgI2Rpc2FibGVkSWNvbj5cbiAgICAgICAgPG1hdC1pY29uPnJlbW92ZTwvbWF0LWljb24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbWF0LWNoaXA+XG5cbjxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cImFkZi1zZWFyY2gtd2lkZ2V0LWV4dHJhLXdpZHRoXCIgYmFja2Ryb3BDbGFzcz1cImFkZi1zZWFyY2gtZmlsdGVyLWNoaXAtbWVudVwiIChjbG9zZWQpPVwib25DbG9zZWQoKVwiPlxuICAgIDxkaXYgI21lbnVDb250YWluZXIgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidzZWFyY2gtZmllbGQtJyArIHRhYmJlZEZhY2V0LmxhYmVsXCI+XG4gICAgICAgIDxhZGYtc2VhcmNoLWZpbHRlci1tZW51LWNhcmQgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24udGFiKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLnNoaWZ0LnRhYik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbG9zZSk9XCJtZW51VHJpZ2dlci5jbG9zZU1lbnUoKVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBuZ1Byb2plY3RBcz1cImZpbHRlci10aXRsZVwiPlxuICAgICAgICAgICAgICAgIHt7IHRhYmJlZEZhY2V0LmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbmdQcm9qZWN0QXM9XCJmaWx0ZXItY29udGVudFwiPlxuICAgICAgICAgICAgICAgIDxhZGYtc2VhcmNoLWZhY2V0LXRhYmJlZC1jb250ZW50IFt0YWJiZWRGYWNldF09XCJ0YWJiZWRGYWNldFwiIChpc1BvcHVsYXRlZCk9XCJvbklzUG9wdWxhdGVkRXZlbnRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29uUmVzZXQkXT1cInJlc2V0JFwiIFtvbkFwcGx5JF09XCJhcHBseSRcIiAoZGlzcGxheVZhbHVlJCk9XCJkaXNwbGF5VmFsdWUgPSAkZXZlbnRcIiAvPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG5nUHJvamVjdEFzPVwiZmlsdGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJhZGYtc2VhcmNoLWFjdGlvbi1idXR0b25cIiAoY2xpY2spPVwib25SZW1vdmUoKVwiIGlkPVwiY2FuY2VsLWZpbHRlci1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ1NFQVJDSC5GSUxURVIuQlVUVE9OUy5DTEVBUicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjbGFzcz1cImFkZi1zZWFyY2gtYWN0aW9uLWJ1dHRvblwiIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvbkFwcGx5KClcIiBpZD1cImFwcGx5LWZpbHRlci1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ1NFQVJDSC5GSUxURVIuQlVUVE9OUy5BUFBMWScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2FkZi1zZWFyY2gtZmlsdGVyLW1lbnUtY2FyZD5cbiAgICA8L2Rpdj5cbjwvbWF0LW1lbnU+XG4iXX0=
@@ -0,0 +1,129 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { Component, DestroyRef, EventEmitter, inject, Input, Output, ViewEncapsulation } from '@angular/core';
18
+ import { Observable, Subject } from 'rxjs';
19
+ import { SearchQueryBuilderService } from '../../../services/search-query-builder.service';
20
+ import { TranslationService } from '@alfresco/adf-core';
21
+ import { SearchFacetFiltersService } from '../../../services/search-facet-filters.service';
22
+ import { CommonModule } from '@angular/common';
23
+ import { SearchChipAutocompleteInputComponent } from '../../search-chip-autocomplete-input';
24
+ import { SearchFilterTabbedComponent } from '../../search-filter-tabbed/search-filter-tabbed.component';
25
+ import { SearchFilterTabDirective } from '../../search-filter-tabbed';
26
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
27
+ import * as i0 from "@angular/core";
28
+ import * as i1 from "@angular/common";
29
+ export class SearchFacetTabbedContentComponent {
30
+ constructor() {
31
+ this.queryBuilder = inject(SearchQueryBuilderService);
32
+ this.translationService = inject(TranslationService);
33
+ this.searchFacetFiltersService = inject(SearchFacetFiltersService);
34
+ this.isPopulated = new EventEmitter();
35
+ this.displayValue$ = new EventEmitter();
36
+ this.resetSubject$ = new Subject();
37
+ this.reset$ = this.resetSubject$.asObservable();
38
+ this.chipIcon = 'keyboard_arrow_down';
39
+ this.autocompleteOptions = {};
40
+ this.selectedOptions = {};
41
+ this.destroyRef = inject(DestroyRef);
42
+ }
43
+ ngOnInit() {
44
+ this.tabbedFacet.fields.forEach((field) => {
45
+ Object.defineProperty(this.selectedOptions, field, {
46
+ value: [],
47
+ writable: true
48
+ });
49
+ });
50
+ this.onReset$?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.reset());
51
+ this.onApply$?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.submitValues());
52
+ }
53
+ ngOnChanges(changes) {
54
+ if (changes.tabbedFacet) {
55
+ this.isPopulated.emit(this.tabbedFacet.fields.some((field) => this.tabbedFacet.facets[field]?.buckets.items.length > 0));
56
+ this.tabbedFacet.fields.forEach((field) => {
57
+ const options = this.tabbedFacet.facets[field].buckets.items.map((item) => ({ value: item.display }));
58
+ Object.defineProperty(this.autocompleteOptions, field, {
59
+ value: options,
60
+ writable: true
61
+ });
62
+ });
63
+ }
64
+ }
65
+ onOptionsChange(selectedOptions, field) {
66
+ this.selectedOptions[field] = selectedOptions.map((selectedOption) => selectedOption.value);
67
+ this.isPopulated.emit(this.tabbedFacet.fields.some((facetField) => this.selectedOptions[facetField].length > 0));
68
+ this.updateDisplayValue();
69
+ this.updateUserFacetBuckets();
70
+ }
71
+ updateDisplayValue() {
72
+ let displayValue = '';
73
+ this.tabbedFacet.fields.forEach((field) => {
74
+ if (this.selectedOptions[field].length > 0) {
75
+ const stackedOptions = this.selectedOptions[field].join(', ');
76
+ displayValue += `${this.translationService.instant(this.tabbedFacet.facets[field].label + '_LABEL')}: ${stackedOptions} `;
77
+ }
78
+ });
79
+ this.displayValue$.emit(displayValue);
80
+ }
81
+ reset() {
82
+ this.resetSubject$.next();
83
+ this.updateUserFacetBuckets();
84
+ this.updateDisplayValue();
85
+ this.queryBuilder.update();
86
+ }
87
+ submitValues() {
88
+ this.updateUserFacetBuckets();
89
+ this.searchFacetFiltersService.updateSelectedBuckets();
90
+ this.updateDisplayValue();
91
+ this.queryBuilder.update();
92
+ }
93
+ optionComparator(option1, option2) {
94
+ return option1.value.toUpperCase() === option2.value.toUpperCase();
95
+ }
96
+ updateUserFacetBuckets() {
97
+ this.tabbedFacet.fields.forEach((field) => {
98
+ this.tabbedFacet.facets[field].buckets.items.forEach((item) => {
99
+ const matchedOption = this.selectedOptions[field].find((option) => option === item.display);
100
+ if (matchedOption) {
101
+ item.checked = true;
102
+ this.queryBuilder.addUserFacetBucket(field, item);
103
+ }
104
+ else {
105
+ item.checked = false;
106
+ this.queryBuilder.removeUserFacetBucket(field, item);
107
+ }
108
+ });
109
+ });
110
+ }
111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchFacetTabbedContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
112
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchFacetTabbedContentComponent, isStandalone: true, selector: "adf-search-facet-tabbed-content", inputs: { tabbedFacet: "tabbedFacet", onReset$: "onReset$", onApply$: "onApply$" }, outputs: { isPopulated: "isPopulated", displayValue$: "displayValue$" }, usesOnChanges: true, ngImport: i0, template: "<adf-search-filter-tabbed>\n <ng-container *ngFor=\"let field of tabbedFacet.fields\">\n <adf-search-chip-autocomplete-input\n *adf-search-filter-tab=\"tabbedFacet.facets[field]?.label\"\n [autocompleteOptions]=\"autocompleteOptions[field]\"\n [onReset$]=\"reset$\"\n [allowOnlyPredefinedValues]=\"true\"\n [compareOption]=\"optionComparator\"\n (optionsChanged)=\"onOptionsChange($event, field)\" />\n </ng-container>\n</adf-search-filter-tabbed>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: SearchChipAutocompleteInputComponent, selector: "adf-search-chip-autocomplete-input", inputs: ["autocompleteOptions", "preselectedOptions", "onReset$", "allowOnlyPredefinedValues", "placeholder", "compareOption", "formatChipValue", "filter"], outputs: ["optionsChanged", "inputChanged"] }, { kind: "component", type: SearchFilterTabbedComponent, selector: "adf-search-filter-tabbed" }, { kind: "directive", type: SearchFilterTabDirective, selector: "[adf-search-filter-tab]", inputs: ["adf-search-filter-tab"] }], encapsulation: i0.ViewEncapsulation.None }); }
113
+ }
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchFacetTabbedContentComponent, decorators: [{
115
+ type: Component,
116
+ args: [{ selector: 'adf-search-facet-tabbed-content', standalone: true, imports: [CommonModule, SearchChipAutocompleteInputComponent, SearchFilterTabbedComponent, SearchFilterTabDirective], encapsulation: ViewEncapsulation.None, template: "<adf-search-filter-tabbed>\n <ng-container *ngFor=\"let field of tabbedFacet.fields\">\n <adf-search-chip-autocomplete-input\n *adf-search-filter-tab=\"tabbedFacet.facets[field]?.label\"\n [autocompleteOptions]=\"autocompleteOptions[field]\"\n [onReset$]=\"reset$\"\n [allowOnlyPredefinedValues]=\"true\"\n [compareOption]=\"optionComparator\"\n (optionsChanged)=\"onOptionsChange($event, field)\" />\n </ng-container>\n</adf-search-filter-tabbed>\n" }]
117
+ }], propDecorators: { tabbedFacet: [{
118
+ type: Input,
119
+ args: [{ required: true }]
120
+ }], onReset$: [{
121
+ type: Input
122
+ }], onApply$: [{
123
+ type: Input
124
+ }], isPopulated: [{
125
+ type: Output
126
+ }], displayValue$: [{
127
+ type: Output
128
+ }] } });
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZhY2V0LXRhYmJlZC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvc2VhcmNoL2NvbXBvbmVudHMvc2VhcmNoLWZpbHRlci1jaGlwcy9zZWFyY2gtZmFjZXQtY2hpcC10YWJiZWQvc2VhcmNoLWZhY2V0LXRhYmJlZC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvc2VhcmNoL2NvbXBvbmVudHMvc2VhcmNoLWZpbHRlci1jaGlwcy9zZWFyY2gtZmFjZXQtY2hpcC10YWJiZWQvc2VhcmNoLWZhY2V0LXRhYmJlZC1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hKLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRTNGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3hELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN4RyxPQUFPLEVB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QUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F2R1EsaUNBQWlDO21HQUFqQyxpQ0FBaUMsNlFDdEM5QyxraEJBV0EsMkNEdUJjLFlBQVksNEpBQUUsb0NBQW9DLHlSQUFFLDJCQUEyQixxRUFBRSx3QkFBd0I7OzRGQUkxRyxpQ0FBaUM7a0JBUDdDLFNBQVM7K0JBQ0ksaUNBQWlDLGNBQy9CLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxvQ0FBb0MsRUFBRSwyQkFBMkIsRUFBRSx3QkFBd0IsQ0FBQyxpQkFFckcsaUJBQWlCLENBQUMsSUFBSTs4QkFRckMsV0FBVztzQkFEVixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFJekIsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixXQUFXO3NCQURWLE1BQU07Z0JBSVAsYUFBYTtzQkFEWixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIERlc3Ryb3lSZWYsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlYXJjaFF1ZXJ5QnVpbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zZWFyY2gtcXVlcnktYnVpbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEZhY2V0V2lkZ2V0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ZhY2V0LXdpZGdldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZU9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9hdXRvY29tcGxldGUtb3B0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUYWJiZWRGYWNldEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3RhYmJlZC1mYWNldC1maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2VhcmNoRmFjZXRGaWx0ZXJzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NlYXJjaC1mYWNldC1maWx0ZXJzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNlYXJjaENoaXBBdXRvY29tcGxldGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NlYXJjaC1jaGlwLWF1dG9jb21wbGV0ZS1pbnB1dCc7XG5pbXBvcnQgeyBTZWFyY2hGaWx0ZXJUYWJiZWRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zZWFyY2gtZmlsdGVyLXRhYmJlZC9zZWFyY2gtZmlsdGVyLXRhYmJlZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoRmlsdGVyVGFiRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vc2VhcmNoLWZpbHRlci10YWJiZWQnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1zZWFyY2gtZmFjZXQtdGFiYmVkLWNvbnRlbnQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2VhcmNoQ2hpcEF1dG9jb21wbGV0ZUlucHV0Q29tcG9uZW50LCBTZWFyY2hGaWx0ZXJUYWJiZWRDb21wb25lbnQsIFNlYXJjaEZpbHRlclRhYkRpcmVjdGl2ZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1mYWNldC10YWJiZWQtY29udGVudC5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hGYWNldFRhYmJlZENvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgRmFjZXRXaWRnZXQge1xuICAgIHByaXZhdGUgcXVlcnlCdWlsZGVyID0gaW5qZWN0KFNlYXJjaFF1ZXJ5QnVpbGRlclNlcnZpY2UpO1xuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0aW9uU2VydmljZSk7XG4gICAgcHJpdmF0ZSBzZWFyY2hGYWNldEZpbHRlcnNTZXJ2aWNlID0gaW5qZWN0KFNlYXJjaEZhY2V0RmlsdGVyc1NlcnZpY2UpO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICB0YWJiZWRGYWNldDogVGFiYmVkRmFjZXRGaWVsZDtcblxuICAgIEBJbnB1dCgpXG4gICAgb25SZXNldCQ6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgICBASW5wdXQoKVxuICAgIG9uQXBwbHkkOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gICAgQE91dHB1dCgpXG4gICAgaXNQb3B1bGF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBkaXNwbGF5VmFsdWUkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBwcml2YXRlIHJlc2V0U3ViamVjdCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcmVzZXQkID0gdGhpcy5yZXNldFN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIGNoaXBJY29uID0gJ2tleWJvYXJkX2Fycm93X2Rvd24nO1xuICAgIGF1dG9jb21wbGV0ZU9wdGlvbnMgPSB7fTtcbiAgICBzZWxlY3RlZE9wdGlvbnMgPSB7fTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnRhYmJlZEZhY2V0LmZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMuc2VsZWN0ZWRPcHRpb25zLCBmaWVsZCwge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBbXSxcbiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub25SZXNldCQ/LnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2V0KCkpO1xuICAgICAgICB0aGlzLm9uQXBwbHkkPy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zdWJtaXRWYWx1ZXMoKSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy50YWJiZWRGYWNldCkge1xuICAgICAgICAgICAgdGhpcy5pc1BvcHVsYXRlZC5lbWl0KHRoaXMudGFiYmVkRmFjZXQuZmllbGRzLnNvbWUoKGZpZWxkKSA9PiB0aGlzLnRhYmJlZEZhY2V0LmZhY2V0c1tmaWVsZF0/LmJ1Y2tldHMuaXRlbXMubGVuZ3RoID4gMCkpO1xuICAgICAgICAgICAgdGhpcy50YWJiZWRGYWNldC5maWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zOiBBdXRvY29tcGxldGVPcHRpb25bXSA9IHRoaXMudGFiYmVkRmFjZXQuZmFjZXRzW2ZpZWxkXS5idWNrZXRzLml0ZW1zLm1hcCgoaXRlbSkgPT4gKHsgdmFsdWU6IGl0ZW0uZGlzcGxheSB9KSk7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMuYXV0b2NvbXBsZXRlT3B0aW9ucywgZmllbGQsIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uT3B0aW9uc0NoYW5nZShzZWxlY3RlZE9wdGlvbnM6IEF1dG9jb21wbGV0ZU9wdGlvbltdLCBmaWVsZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zW2ZpZWxkXSA9IHNlbGVjdGVkT3B0aW9ucy5tYXAoKHNlbGVjdGVkT3B0aW9uKSA9PiBzZWxlY3RlZE9wdGlvbi52YWx1ZSk7XG4gICAgICAgIHRoaXMuaXNQb3B1bGF0ZWQuZW1pdCh0aGlzLnRhYmJlZEZhY2V0LmZpZWxkcy5zb21lKChmYWNldEZpZWxkKSA9PiB0aGlzLnNlbGVjdGVkT3B0aW9uc1tmYWNldEZpZWxkXS5sZW5ndGggPiAwKSk7XG4gICAgICAgIHRoaXMudXBkYXRlRGlzcGxheVZhbHVlKCk7XG4gICAgICAgIHRoaXMudXBkYXRlVXNlckZhY2V0QnVja2V0cygpO1xuICAgIH1cblxuICAgIHVwZGF0ZURpc3BsYXlWYWx1ZSgpIHtcbiAgICAgICAgbGV0IGRpc3BsYXlWYWx1ZSA9ICcnO1xuICAgICAgICB0aGlzLnRhYmJlZEZhY2V0LmZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb25zW2ZpZWxkXS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhY2tlZE9wdGlvbnMgPSB0aGlzLnNlbGVjdGVkT3B0aW9uc1tmaWVsZF0uam9pbignLCAnKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5VmFsdWUgKz0gYCR7dGhpcy50cmFuc2xhdGlvblNlcnZpY2UuaW5zdGFudCh0aGlzLnRhYmJlZEZhY2V0LmZhY2V0c1tmaWVsZF0ubGFiZWwgKyAnX0xBQkVMJyl9OiAke3N0YWNrZWRPcHRpb25zfSBgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUkLmVtaXQoZGlzcGxheVZhbHVlKTtcbiAgICB9XG5cbiAgICByZXNldCgpIHtcbiAgICAgICAgdGhpcy5yZXNldFN1YmplY3QkLm5leHQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVVc2VyRmFjZXRCdWNrZXRzKCk7XG4gICAgICAgIHRoaXMudXBkYXRlRGlzcGxheVZhbHVlKCk7XG4gICAgICAgIHRoaXMucXVlcnlCdWlsZGVyLnVwZGF0ZSgpO1xuICAgIH1cblxuICAgIHN1Ym1pdFZhbHVlcygpIHtcbiAgICAgICAgdGhpcy51cGRhdGVVc2VyRmFjZXRCdWNrZXRzKCk7XG4gICAgICAgIHRoaXMuc2VhcmNoRmFjZXRGaWx0ZXJzU2VydmljZS51cGRhdGVTZWxlY3RlZEJ1Y2tldHMoKTtcbiAgICAgICAgdGhpcy51cGRhdGVEaXNwbGF5VmFsdWUoKTtcbiAgICAgICAgdGhpcy5xdWVyeUJ1aWxkZXIudXBkYXRlKCk7XG4gICAgfVxuXG4gICAgb3B0aW9uQ29tcGFyYXRvcihvcHRpb24xOiBBdXRvY29tcGxldGVPcHRpb24sIG9wdGlvbjI6IEF1dG9jb21wbGV0ZU9wdGlvbik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gb3B0aW9uMS52YWx1ZS50b1VwcGVyQ2FzZSgpID09PSBvcHRpb24yLnZhbHVlLnRvVXBwZXJDYXNlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVVc2VyRmFjZXRCdWNrZXRzKCkge1xuICAgICAgICB0aGlzLnRhYmJlZEZhY2V0LmZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50YWJiZWRGYWNldC5mYWNldHNbZmllbGRdLmJ1Y2tldHMuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoZWRPcHRpb24gPSB0aGlzLnNlbGVjdGVkT3B0aW9uc1tmaWVsZF0uZmluZCgob3B0aW9uKSA9PiBvcHRpb24gPT09IGl0ZW0uZGlzcGxheSk7XG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoZWRPcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5jaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWVyeUJ1aWxkZXIuYWRkVXNlckZhY2V0QnVja2V0KGZpZWxkLCBpdGVtKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmNoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWVyeUJ1aWxkZXIucmVtb3ZlVXNlckZhY2V0QnVja2V0KGZpZWxkLCBpdGVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGFkZi1zZWFyY2gtZmlsdGVyLXRhYmJlZD5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWVsZCBvZiB0YWJiZWRGYWNldC5maWVsZHNcIj5cbiAgICAgICAgPGFkZi1zZWFyY2gtY2hpcC1hdXRvY29tcGxldGUtaW5wdXRcbiAgICAgICAgICAgICphZGYtc2VhcmNoLWZpbHRlci10YWI9XCJ0YWJiZWRGYWNldC5mYWNldHNbZmllbGRdPy5sYWJlbFwiXG4gICAgICAgICAgICBbYXV0b2NvbXBsZXRlT3B0aW9uc109XCJhdXRvY29tcGxldGVPcHRpb25zW2ZpZWxkXVwiXG4gICAgICAgICAgICBbb25SZXNldCRdPVwicmVzZXQkXCJcbiAgICAgICAgICAgIFthbGxvd09ubHlQcmVkZWZpbmVkVmFsdWVzXT1cInRydWVcIlxuICAgICAgICAgICAgW2NvbXBhcmVPcHRpb25dPVwib3B0aW9uQ29tcGFyYXRvclwiXG4gICAgICAgICAgICAob3B0aW9uc0NoYW5nZWQpPVwib25PcHRpb25zQ2hhbmdlKCRldmVudCwgZmllbGQpXCIgLz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvYWRmLXNlYXJjaC1maWx0ZXItdGFiYmVkPlxuIl19
@@ -0,0 +1,63 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { Component, DestroyRef, inject, Input, ViewEncapsulation } from '@angular/core';
18
+ import { SearchFacetFiltersService } from '../../services/search-facet-filters.service';
19
+ import { SearchQueryBuilderService } from '../../services/search-query-builder.service';
20
+ import { CommonModule } from '@angular/common';
21
+ import { MatChipsModule } from '@angular/material/chips';
22
+ import { TranslatePipe } from '@ngx-translate/core';
23
+ import { SearchFacetChipTabbedComponent } from './search-facet-chip-tabbed/search-facet-chip-tabbed.component';
24
+ import { SearchFacetChipComponent } from './search-facet-chip/search-facet-chip.component';
25
+ import { SearchWidgetChipComponent } from './search-widget-chip/search-widget-chip.component';
26
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
27
+ import * as i0 from "@angular/core";
28
+ import * as i1 from "@angular/common";
29
+ import * as i2 from "@angular/material/chips";
30
+ export class SearchFilterChipsComponent {
31
+ constructor() {
32
+ this.queryBuilder = inject(SearchQueryBuilderService);
33
+ this.facetFiltersService = inject(SearchFacetFiltersService);
34
+ this.destroyRef = inject(DestroyRef);
35
+ /** Toggles whether to show or not the context facet filters. */
36
+ this.showContextFacets = true;
37
+ this.facetChipTabbedId = '';
38
+ }
39
+ get categories() {
40
+ return this.queryBuilder.categories || [];
41
+ }
42
+ get tabbedFacet() {
43
+ return this.facetFiltersService.tabbedFacet;
44
+ }
45
+ get responseFacets() {
46
+ return this.facetFiltersService.responseFacets || [];
47
+ }
48
+ ngOnInit() {
49
+ this.queryBuilder.executed
50
+ .asObservable()
51
+ .pipe(takeUntilDestroyed(this.destroyRef))
52
+ .subscribe(() => (this.facetChipTabbedId = 'search-fact-chip-tabbed-' + this.facetFiltersService.tabbedFacet?.fields.join('-')));
53
+ }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchFilterChipsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchFilterChipsComponent, isStandalone: true, selector: "adf-search-filter-chips", inputs: { showContextFacets: "showContextFacets" }, ngImport: i0, template: "<mat-chip-set [attr.aria-label]=\"'SEARCH.FILTER.ARIA-LABEL.SEARCH_FILTER' | translate\">\n <ng-container *ngFor=\"let category of categories\">\n <adf-search-widget-chip [category]=\"category\" />\n </ng-container>\n\n <ng-container *ngIf=\"showContextFacets && tabbedFacet\">\n <adf-search-facet-chip-tabbed\n [tabbedFacet]=\"tabbedFacet\"\n [attr.data-automation-id]=\"facetChipTabbedId\" />\n </ng-container>\n\n <ng-container *ngIf=\"showContextFacets && responseFacets\">\n <ng-container *ngFor=\"let field of responseFacets\">\n <adf-search-facet-chip [field]=\"field\" [attr.data-automation-id]=\"'search-fact-chip-' + field.field\" />\n </ng-container>\n </ng-container>\n\n <ng-content />\n</mat-chip-set>\n", styles: [".adf-search-filter-chip,.adf-search-filter-chip-tabbed{height:32px;max-width:320px;text-overflow:ellipsis;overflow:hidden;background:var(--adf-theme-background-unselected-chip-color)}.adf-search-filter-chip.adf-search-toggle-chip,.adf-search-filter-chip-tabbed.adf-search-toggle-chip{background:var(--adf-theme-background-card-color);border:2px solid var(--theme-primary-color)}.adf-search-filter-chip .adf-search-filter-placeholder,.adf-search-filter-chip-tabbed .adf-search-filter-placeholder{flex:1 1 auto;white-space:nowrap;color:var(--adf-theme-foreground-disabled-text-color)}.adf-search-filter-chip.adf-search-filter-facet-chip:after,.adf-search-filter-chip-tabbed.adf-search-filter-facet-chip:after{background:var(--adf-theme-background-unselected-chip-color);color:unset}.adf-search-filter-chip .adf-search-filter-ellipsis,.adf-search-filter-chip-tabbed .adf-search-filter-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:300}.adf-search-filter-chip .adf-filter-value,.adf-search-filter-chip-tabbed .adf-filter-value{font-weight:500}.adf-search-filter-chip .adf-search-filter-chip-icon,.adf-search-filter-chip-tabbed .adf-search-filter-chip-icon{padding-left:5px}.adf-search-filter-chip-menu+* .adf-search-filter-chip-menu-panel,.adf-search-filter-chip-tabbed-menu+* .adf-search-filter-chip-menu-panel{min-width:320px;border-radius:12px;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.adf-search-filter-chip-menu+* .adf-search-filter-chip-menu-panel:has(.adf-search-properties-file-size-operator),.adf-search-filter-chip-tabbed-menu+* .adf-search-filter-chip-menu-panel:has(.adf-search-properties-file-size-operator){min-width:365px}.adf-search-filter-chip.mdc-evolution-chip.mat-mdc-standard-chip{margin-top:0;margin-bottom:0}.mat-mdc-standard-chip{-webkit-font-smoothing:unset}.mdc-evolution-chip-set{margin-top:-4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i2.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: SearchFacetChipTabbedComponent, selector: "adf-search-facet-chip-tabbed", inputs: ["tabbedFacet"] }, { kind: "component", type: SearchFacetChipComponent, selector: "adf-search-facet-chip", inputs: ["field"] }, { kind: "component", type: SearchWidgetChipComponent, selector: "adf-search-widget-chip", inputs: ["category"] }], encapsulation: i0.ViewEncapsulation.None }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchFilterChipsComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'adf-search-filter-chips', standalone: true, imports: [CommonModule, MatChipsModule, TranslatePipe, SearchFacetChipTabbedComponent, SearchFacetChipComponent, SearchWidgetChipComponent], encapsulation: ViewEncapsulation.None, template: "<mat-chip-set [attr.aria-label]=\"'SEARCH.FILTER.ARIA-LABEL.SEARCH_FILTER' | translate\">\n <ng-container *ngFor=\"let category of categories\">\n <adf-search-widget-chip [category]=\"category\" />\n </ng-container>\n\n <ng-container *ngIf=\"showContextFacets && tabbedFacet\">\n <adf-search-facet-chip-tabbed\n [tabbedFacet]=\"tabbedFacet\"\n [attr.data-automation-id]=\"facetChipTabbedId\" />\n </ng-container>\n\n <ng-container *ngIf=\"showContextFacets && responseFacets\">\n <ng-container *ngFor=\"let field of responseFacets\">\n <adf-search-facet-chip [field]=\"field\" [attr.data-automation-id]=\"'search-fact-chip-' + field.field\" />\n </ng-container>\n </ng-container>\n\n <ng-content />\n</mat-chip-set>\n", styles: [".adf-search-filter-chip,.adf-search-filter-chip-tabbed{height:32px;max-width:320px;text-overflow:ellipsis;overflow:hidden;background:var(--adf-theme-background-unselected-chip-color)}.adf-search-filter-chip.adf-search-toggle-chip,.adf-search-filter-chip-tabbed.adf-search-toggle-chip{background:var(--adf-theme-background-card-color);border:2px solid var(--theme-primary-color)}.adf-search-filter-chip .adf-search-filter-placeholder,.adf-search-filter-chip-tabbed .adf-search-filter-placeholder{flex:1 1 auto;white-space:nowrap;color:var(--adf-theme-foreground-disabled-text-color)}.adf-search-filter-chip.adf-search-filter-facet-chip:after,.adf-search-filter-chip-tabbed.adf-search-filter-facet-chip:after{background:var(--adf-theme-background-unselected-chip-color);color:unset}.adf-search-filter-chip .adf-search-filter-ellipsis,.adf-search-filter-chip-tabbed .adf-search-filter-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:300}.adf-search-filter-chip .adf-filter-value,.adf-search-filter-chip-tabbed .adf-filter-value{font-weight:500}.adf-search-filter-chip .adf-search-filter-chip-icon,.adf-search-filter-chip-tabbed .adf-search-filter-chip-icon{padding-left:5px}.adf-search-filter-chip-menu+* .adf-search-filter-chip-menu-panel,.adf-search-filter-chip-tabbed-menu+* .adf-search-filter-chip-menu-panel{min-width:320px;border-radius:12px;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.adf-search-filter-chip-menu+* .adf-search-filter-chip-menu-panel:has(.adf-search-properties-file-size-operator),.adf-search-filter-chip-tabbed-menu+* .adf-search-filter-chip-menu-panel:has(.adf-search-properties-file-size-operator){min-width:365px}.adf-search-filter-chip.mdc-evolution-chip.mat-mdc-standard-chip{margin-top:0;margin-bottom:0}.mat-mdc-standard-chip{-webkit-font-smoothing:unset}.mdc-evolution-chip-set{margin-top:-4px}\n"] }]
60
+ }], propDecorators: { showContextFacets: [{
61
+ type: Input
62
+ }] } });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpbHRlci1jaGlwcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlYXJjaC9jb21wb25lbnRzL3NlYXJjaC1maWx0ZXItY2hpcHMvc2VhcmNoLWZpbHRlci1jaGlwcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlYXJjaC9jb21wb25lbnRzL3NlYXJjaC1maWx0ZXItY2hpcHMvc2VhcmNoLWZpbHRlci1jaGlwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRXhGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBVWhFLE1BQU0sT0FBTywwQkFBMEI7SUFSdkM7UUFTWSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ2pELHdCQUFtQixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRS9DLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakQsZ0VBQWdFO1FBRWhFLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUVsQyxzQkFBaUIsR0FBRyxFQUFFLENBQUM7S0FvQjFCO0lBbEJHLElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQUksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVE7YUFDckIsWUFBWSxFQUFFO2FBQ2QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6SSxDQUFDOytHQTdCUSwwQkFBMEI7bUdBQTFCLDBCQUEwQix1SUNyQ3ZDLGl5QkFtQkEsczVERGFjLFlBQVksK1BBQUUsY0FBYywwSUFBRSxhQUFhLGtEQUFFLDhCQUE4QixrR0FBRSx3QkFBd0IscUZBQUUseUJBQXlCOzs0RkFLakksMEJBQTBCO2tCQVJ0QyxTQUFTOytCQUNJLHlCQUF5QixjQUN2QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSw4QkFBOEIsRUFBRSx3QkFBd0IsRUFBRSx5QkFBeUIsQ0FBQyxpQkFHNUgsaUJBQWlCLENBQUMsSUFBSTs4QkFVckMsaUJBQWlCO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIERlc3Ryb3lSZWYsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlYXJjaEZhY2V0RmlsdGVyc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZWFyY2gtZmFjZXQtZmlsdGVycy5zZXJ2aWNlJztcbmltcG9ydCB7IFNlYXJjaFF1ZXJ5QnVpbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZWFyY2gtcXVlcnktYnVpbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEZhY2V0RmllbGQsIFNlYXJjaENhdGVnb3J5LCBUYWJiZWRGYWNldEZpZWxkIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFNlYXJjaEZhY2V0Q2hpcFRhYmJlZENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLWZhY2V0LWNoaXAtdGFiYmVkL3NlYXJjaC1mYWNldC1jaGlwLXRhYmJlZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoRmFjZXRDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtZmFjZXQtY2hpcC9zZWFyY2gtZmFjZXQtY2hpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoV2lkZ2V0Q2hpcENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLXdpZGdldC1jaGlwL3NlYXJjaC13aWRnZXQtY2hpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1zZWFyY2gtZmlsdGVyLWNoaXBzJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdENoaXBzTW9kdWxlLCBUcmFuc2xhdGVQaXBlLCBTZWFyY2hGYWNldENoaXBUYWJiZWRDb21wb25lbnQsIFNlYXJjaEZhY2V0Q2hpcENvbXBvbmVudCwgU2VhcmNoV2lkZ2V0Q2hpcENvbXBvbmVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1maWx0ZXItY2hpcHMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlYXJjaC1maWx0ZXItY2hpcHMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaEZpbHRlckNoaXBzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcml2YXRlIHF1ZXJ5QnVpbGRlciA9IGluamVjdChTZWFyY2hRdWVyeUJ1aWxkZXJTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGZhY2V0RmlsdGVyc1NlcnZpY2UgPSBpbmplY3QoU2VhcmNoRmFjZXRGaWx0ZXJzU2VydmljZSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogVG9nZ2xlcyB3aGV0aGVyIHRvIHNob3cgb3Igbm90IHRoZSBjb250ZXh0IGZhY2V0IGZpbHRlcnMuICovXG4gICAgQElucHV0KClcbiAgICBzaG93Q29udGV4dEZhY2V0czogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBmYWNldENoaXBUYWJiZWRJZCA9ICcnO1xuXG4gICAgZ2V0IGNhdGVnb3JpZXMoKTogU2VhcmNoQ2F0ZWdvcnlbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnF1ZXJ5QnVpbGRlci5jYXRlZ29yaWVzIHx8IFtdO1xuICAgIH1cblxuICAgIGdldCB0YWJiZWRGYWNldCgpOiBUYWJiZWRGYWNldEZpZWxkIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZhY2V0RmlsdGVyc1NlcnZpY2UudGFiYmVkRmFjZXQ7XG4gICAgfVxuXG4gICAgZ2V0IHJlc3BvbnNlRmFjZXRzKCk6IEZhY2V0RmllbGRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZhY2V0RmlsdGVyc1NlcnZpY2UucmVzcG9uc2VGYWNldHMgfHwgW107XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMucXVlcnlCdWlsZGVyLmV4ZWN1dGVkXG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiAodGhpcy5mYWNldENoaXBUYWJiZWRJZCA9ICdzZWFyY2gtZmFjdC1jaGlwLXRhYmJlZC0nICsgdGhpcy5mYWNldEZpbHRlcnNTZXJ2aWNlLnRhYmJlZEZhY2V0Py5maWVsZHMuam9pbignLScpKSk7XG4gICAgfVxufVxuIiwiPG1hdC1jaGlwLXNldCBbYXR0ci5hcmlhLWxhYmVsXT1cIidTRUFSQ0guRklMVEVSLkFSSUEtTEFCRUwuU0VBUkNIX0ZJTFRFUicgfCB0cmFuc2xhdGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjYXRlZ29yeSBvZiBjYXRlZ29yaWVzXCI+XG4gICAgICAgIDxhZGYtc2VhcmNoLXdpZGdldC1jaGlwIFtjYXRlZ29yeV09XCJjYXRlZ29yeVwiIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0NvbnRleHRGYWNldHMgJiYgdGFiYmVkRmFjZXRcIj5cbiAgICAgICAgPGFkZi1zZWFyY2gtZmFjZXQtY2hpcC10YWJiZWRcbiAgICAgICAgICAgIFt0YWJiZWRGYWNldF09XCJ0YWJiZWRGYWNldFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiZmFjZXRDaGlwVGFiYmVkSWRcIiAvPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dDb250ZXh0RmFjZXRzICYmIHJlc3BvbnNlRmFjZXRzXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIHJlc3BvbnNlRmFjZXRzXCI+XG4gICAgICAgICAgICA8YWRmLXNlYXJjaC1mYWNldC1jaGlwIFtmaWVsZF09XCJmaWVsZFwiIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInc2VhcmNoLWZhY3QtY2hpcC0nICsgZmllbGQuZmllbGRcIiAvPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250ZW50IC8+XG48L21hdC1jaGlwLXNldD5cbiJdfQ==
@@ -0,0 +1,43 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { Component, EventEmitter, Output, ViewEncapsulation } from '@angular/core';
18
+ import { CommonModule } from '@angular/common';
19
+ import { MatButtonModule } from '@angular/material/button';
20
+ import { TranslatePipe } from '@ngx-translate/core';
21
+ import { MatIconModule } from '@angular/material/icon';
22
+ import { MatDividerModule } from '@angular/material/divider';
23
+ import * as i0 from "@angular/core";
24
+ import * as i1 from "@angular/material/button";
25
+ import * as i2 from "@angular/material/icon";
26
+ import * as i3 from "@angular/material/divider";
27
+ export class SearchFilterMenuCardComponent {
28
+ constructor() {
29
+ this.close = new EventEmitter();
30
+ }
31
+ onClose() {
32
+ this.close.emit();
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchFilterMenuCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchFilterMenuCardComponent, isStandalone: true, selector: "adf-search-filter-menu-card", outputs: { close: "close" }, ngImport: i0, template: "<div class=\"adf-search-filter-menu-card\">\n <div class=\"adf-search-filter-title\">\n <ng-content select=\"filter-title\" />\n <button mat-icon-button\n class=\"adf-search-filter-title-action\"\n aria-hidden=\"false\"\n (click)=\"onClose()\"\n [title]=\"'SEARCH.FILTER.BUTTONS.CLOSE' | translate\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n\n <mat-divider />\n\n <div class=\"adf-search-filter-content\">\n <ng-content select=\"filter-content\" />\n </div>\n\n <mat-divider />\n\n <div class=\"adf-search-filter-actions\">\n <ng-content select=\"filter-actions\" />\n </div>\n</div>\n", styles: [".adf-search-filter-menu-card{color:var(--adf-theme-foreground-text-color);background:var(--adf-theme-background-card-color)}.adf-search-filter-menu-card .adf-search-filter-title{display:flex;justify-content:space-between;color:var(--adf-theme-foreground-text-color-054);align-items:center;padding:16px 12px;height:32px;font-size:var(--theme-body-1-font-size);letter-spacing:.15px;font-weight:700;font-style:inherit}.adf-search-filter-menu-card .adf-search-filter-title-action{color:var(--adf-theme-foreground-text-color-087);float:right}.adf-search-filter-menu-card .adf-search-filter-content{padding:16px 12px;overflow:auto}.adf-search-filter-menu-card .adf-search-filter-actions{padding:16px 12px;display:flex;justify-content:space-between}.adf-search-filter-menu-card .adf-search-filter-actions .adf-search-action-button{border-radius:6px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], encapsulation: i0.ViewEncapsulation.None }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchFilterMenuCardComponent, decorators: [{
38
+ type: Component,
39
+ args: [{ selector: 'adf-search-filter-menu-card', standalone: true, imports: [CommonModule, MatButtonModule, TranslatePipe, MatIconModule, MatDividerModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-search-filter-menu-card\">\n <div class=\"adf-search-filter-title\">\n <ng-content select=\"filter-title\" />\n <button mat-icon-button\n class=\"adf-search-filter-title-action\"\n aria-hidden=\"false\"\n (click)=\"onClose()\"\n [title]=\"'SEARCH.FILTER.BUTTONS.CLOSE' | translate\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n\n <mat-divider />\n\n <div class=\"adf-search-filter-content\">\n <ng-content select=\"filter-content\" />\n </div>\n\n <mat-divider />\n\n <div class=\"adf-search-filter-actions\">\n <ng-content select=\"filter-actions\" />\n </div>\n</div>\n", styles: [".adf-search-filter-menu-card{color:var(--adf-theme-foreground-text-color);background:var(--adf-theme-background-card-color)}.adf-search-filter-menu-card .adf-search-filter-title{display:flex;justify-content:space-between;color:var(--adf-theme-foreground-text-color-054);align-items:center;padding:16px 12px;height:32px;font-size:var(--theme-body-1-font-size);letter-spacing:.15px;font-weight:700;font-style:inherit}.adf-search-filter-menu-card .adf-search-filter-title-action{color:var(--adf-theme-foreground-text-color-087);float:right}.adf-search-filter-menu-card .adf-search-filter-content{padding:16px 12px;overflow:auto}.adf-search-filter-menu-card .adf-search-filter-actions{padding:16px 12px;display:flex;justify-content:space-between}.adf-search-filter-menu-card .adf-search-filter-actions .adf-search-action-button{border-radius:6px}\n"] }]
40
+ }], propDecorators: { close: [{
41
+ type: Output
42
+ }] } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpbHRlci1tZW51LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9zZWFyY2gvY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyLWNoaXBzL3NlYXJjaC1maWx0ZXItbWVudS1jYXJkL3NlYXJjaC1maWx0ZXItbWVudS1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvc2VhcmNoL2NvbXBvbmVudHMvc2VhcmNoLWZpbHRlci1jaGlwcy9zZWFyY2gtZmlsdGVyLW1lbnUtY2FyZC9zZWFyY2gtZmlsdGVyLW1lbnUtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQVU3RCxNQUFNLE9BQU8sNkJBQTZCO0lBUjFDO1FBVUksVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0FLOUI7SUFIRyxPQUFPO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDOytHQU5RLDZCQUE2QjttR0FBN0IsNkJBQTZCLG9IQ2hDMUMsd3NCQXdCQSxxNEJER2MsWUFBWSw4QkFBRSxlQUFlLHVJQUFFLGFBQWEsaURBQUUsYUFBYSxtTEFBRSxnQkFBZ0I7OzRGQUs5RSw2QkFBNkI7a0JBUnpDLFNBQVM7K0JBQ0ksNkJBQTZCLGNBQzNCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxpQkFHekUsaUJBQWlCLENBQUMsSUFBSTs4QkFJckMsS0FBSztzQkFESixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLXNlYXJjaC1maWx0ZXItbWVudS1jYXJkJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgVHJhbnNsYXRlUGlwZSwgTWF0SWNvbk1vZHVsZSwgTWF0RGl2aWRlck1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1maWx0ZXItbWVudS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtZmlsdGVyLW1lbnUtY2FyZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoRmlsdGVyTWVudUNhcmRDb21wb25lbnQge1xuICAgIEBPdXRwdXQoKVxuICAgIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgb25DbG9zZSgpIHtcbiAgICAgICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZi1zZWFyY2gtZmlsdGVyLW1lbnUtY2FyZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhZGYtc2VhcmNoLWZpbHRlci10aXRsZVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmaWx0ZXItdGl0bGVcIiAvPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2VhcmNoLWZpbHRlci10aXRsZS1hY3Rpb25cIlxuICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJmYWxzZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25DbG9zZSgpXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCInU0VBUkNILkZJTFRFUi5CVVRUT05TLkNMT1NFJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8bWF0LWRpdmlkZXIgLz5cblxuICAgIDxkaXYgY2xhc3M9XCJhZGYtc2VhcmNoLWZpbHRlci1jb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZpbHRlci1jb250ZW50XCIgLz5cbiAgICA8L2Rpdj5cblxuICAgIDxtYXQtZGl2aWRlciAvPlxuXG4gICAgPGRpdiBjbGFzcz1cImFkZi1zZWFyY2gtZmlsdGVyLWFjdGlvbnNcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmlsdGVyLWFjdGlvbnNcIiAvPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=