@alfresco/adf-content-services 8.1.0-15902121227 → 8.1.0-15972188736

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 (408) hide show
  1. package/fesm2022/adf-content-services.mjs +808 -829
  2. package/fesm2022/adf-content-services.mjs.map +1 -1
  3. package/lib/new-version-uploader/new-version-uploader.dialog.scss +1 -1
  4. package/lib/upload/components/base-upload/upload-base.d.ts +1 -1
  5. package/package.json +4 -6
  6. package/esm2022/adf-content-services.mjs +0 -5
  7. package/esm2022/lib/agent/index.mjs +0 -18
  8. package/esm2022/lib/agent/public-api.mjs +0 -18
  9. package/esm2022/lib/agent/services/agent.service.mjs +0 -60
  10. package/esm2022/lib/alfresco-icon/alfresco-icon.component.mjs +0 -27
  11. package/esm2022/lib/api-factories/alfresco-api-no-auth.service.mjs +0 -42
  12. package/esm2022/lib/api-factories/alfresco-api-v2-loader.service.mjs +0 -77
  13. package/esm2022/lib/api-factories/index.mjs +0 -18
  14. package/esm2022/lib/api-factories/public-api.mjs +0 -19
  15. package/esm2022/lib/aspect-list/aspect-list-dialog-data.interface.mjs +0 -18
  16. package/esm2022/lib/aspect-list/aspect-list-dialog.component.mjs +0 -78
  17. package/esm2022/lib/aspect-list/aspect-list.component.mjs +0 -140
  18. package/esm2022/lib/aspect-list/aspect-list.module.mjs +0 -35
  19. package/esm2022/lib/aspect-list/index.mjs +0 -18
  20. package/esm2022/lib/aspect-list/public-api.mjs +0 -24
  21. package/esm2022/lib/aspect-list/services/aspect-list.service.mjs +0 -83
  22. package/esm2022/lib/aspect-list/services/dialog-aspect-list.service.mjs +0 -86
  23. package/esm2022/lib/aspect-list/services/node-aspect.service.mjs +0 -52
  24. package/esm2022/lib/auth-loader/content-auth-loader-factory.mjs +0 -26
  25. package/esm2022/lib/auth-loader/content-auth-loader.service.mjs +0 -42
  26. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -167
  27. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +0 -35
  28. package/esm2022/lib/breadcrumb/dropdown-breadcrumb.component.mjs +0 -66
  29. package/esm2022/lib/breadcrumb/index.mjs +0 -18
  30. package/esm2022/lib/breadcrumb/public-api.mjs +0 -20
  31. package/esm2022/lib/category/categories-management/categories-management-mode.mjs +0 -22
  32. package/esm2022/lib/category/categories-management/categories-management.component.mjs +0 -309
  33. package/esm2022/lib/category/category.module.mjs +0 -33
  34. package/esm2022/lib/category/index.mjs +0 -18
  35. package/esm2022/lib/category/models/category-node.interface.mjs +0 -18
  36. package/esm2022/lib/category/public-api.mjs +0 -23
  37. package/esm2022/lib/category/services/category-tree-datasource.service.mjs +0 -80
  38. package/esm2022/lib/category/services/category.service.mjs +0 -159
  39. package/esm2022/lib/common/events/file.event.mjs +0 -46
  40. package/esm2022/lib/common/index.mjs +0 -18
  41. package/esm2022/lib/common/interfaces/saved-search.interface.mjs +0 -18
  42. package/esm2022/lib/common/interfaces/search-configuration.interface.mjs +0 -18
  43. package/esm2022/lib/common/mocks/ecm-user.service.mock.mjs +0 -37
  44. package/esm2022/lib/common/models/allowable-operations.enum.mjs +0 -30
  45. package/esm2022/lib/common/models/ecm-company.model.mjs +0 -19
  46. package/esm2022/lib/common/models/ecm-user.model.mjs +0 -45
  47. package/esm2022/lib/common/models/file.model.mjs +0 -53
  48. package/esm2022/lib/common/models/node-metadata.model.mjs +0 -23
  49. package/esm2022/lib/common/models/permissions.enum.mjs +0 -32
  50. package/esm2022/lib/common/public-api.mjs +0 -37
  51. package/esm2022/lib/common/services/card-view-content-update.service.mjs +0 -55
  52. package/esm2022/lib/common/services/content.service.mjs +0 -180
  53. package/esm2022/lib/common/services/discovery-api.service.mjs +0 -79
  54. package/esm2022/lib/common/services/favorites-api.service.mjs +0 -84
  55. package/esm2022/lib/common/services/nodes-api.service.mjs +0 -251
  56. package/esm2022/lib/common/services/people-content.service.mjs +0 -138
  57. package/esm2022/lib/common/services/rendition.service.mjs +0 -270
  58. package/esm2022/lib/common/services/saved-searches.service.mjs +0 -206
  59. package/esm2022/lib/common/services/sites.service.mjs +0 -243
  60. package/esm2022/lib/common/services/upload.service.mjs +0 -391
  61. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata-header.component.mjs +0 -55
  62. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata.component.mjs +0 -491
  63. package/esm2022/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.mjs +0 -129
  64. package/esm2022/lib/content-metadata/content-metadata.module.mjs +0 -36
  65. package/esm2022/lib/content-metadata/index.mjs +0 -18
  66. package/esm2022/lib/content-metadata/interfaces/aspect-oriented-config.interface.mjs +0 -18
  67. package/esm2022/lib/content-metadata/interfaces/card-view-group.interface.mjs +0 -18
  68. package/esm2022/lib/content-metadata/interfaces/content-metadata-config.interface.mjs +0 -18
  69. package/esm2022/lib/content-metadata/interfaces/content-metadata-custom-panel.interface.mjs +0 -18
  70. package/esm2022/lib/content-metadata/interfaces/content-metadata-panel.interface.mjs +0 -18
  71. package/esm2022/lib/content-metadata/interfaces/content-metadata.interfaces.mjs +0 -28
  72. package/esm2022/lib/content-metadata/interfaces/indifferent-config.interface.mjs +0 -18
  73. package/esm2022/lib/content-metadata/interfaces/layout-oriented-config.interface.mjs +0 -18
  74. package/esm2022/lib/content-metadata/interfaces/organised-property-group.interface.mjs +0 -18
  75. package/esm2022/lib/content-metadata/interfaces/preset-config.interface.mjs +0 -18
  76. package/esm2022/lib/content-metadata/interfaces/property-group.interface.mjs +0 -18
  77. package/esm2022/lib/content-metadata/interfaces/property.interface.mjs +0 -18
  78. package/esm2022/lib/content-metadata/public-api.mjs +0 -31
  79. package/esm2022/lib/content-metadata/services/basic-properties.service.mjs +0 -107
  80. package/esm2022/lib/content-metadata/services/config/aspect-oriented-config.service.mjs +0 -106
  81. package/esm2022/lib/content-metadata/services/config/content-metadata-config.factory.mjs +0 -76
  82. package/esm2022/lib/content-metadata/services/config/indifferent-config.service.mjs +0 -40
  83. package/esm2022/lib/content-metadata/services/config/layout-oriented-config.service.mjs +0 -108
  84. package/esm2022/lib/content-metadata/services/config/property-group-reader.mjs +0 -33
  85. package/esm2022/lib/content-metadata/services/content-metadata.service.mjs +0 -99
  86. package/esm2022/lib/content-metadata/services/content-type-property.service.mjs +0 -134
  87. package/esm2022/lib/content-metadata/services/property-descriptors.service.mjs +0 -52
  88. package/esm2022/lib/content-metadata/services/property-groups-translator.service.mjs +0 -169
  89. package/esm2022/lib/content-node-selector/content-node-dialog.service.mjs +0 -256
  90. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.mjs +0 -618
  91. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.service.mjs +0 -66
  92. package/esm2022/lib/content-node-selector/content-node-selector.component-data.interface.mjs +0 -18
  93. package/esm2022/lib/content-node-selector/content-node-selector.component.mjs +0 -206
  94. package/esm2022/lib/content-node-selector/content-node-selector.module.mjs +0 -50
  95. package/esm2022/lib/content-node-selector/index.mjs +0 -18
  96. package/esm2022/lib/content-node-selector/name-location-cell/name-location-cell.component.mjs +0 -48
  97. package/esm2022/lib/content-node-selector/public-api.mjs +0 -25
  98. package/esm2022/lib/content-node-selector/site-dropdown/sites-dropdown.component.mjs +0 -168
  99. package/esm2022/lib/content-node-share/content-node-share.dialog.mjs +0 -288
  100. package/esm2022/lib/content-node-share/content-node-share.directive.mjs +0 -102
  101. package/esm2022/lib/content-node-share/content-node-share.module.mjs +0 -35
  102. package/esm2022/lib/content-node-share/content-node-share.settings.mjs +0 -18
  103. package/esm2022/lib/content-node-share/index.mjs +0 -18
  104. package/esm2022/lib/content-node-share/public-api.mjs +0 -22
  105. package/esm2022/lib/content-node-share/services/shared-links-api.service.mjs +0 -83
  106. package/esm2022/lib/content-type/content-type-dialog.component.mjs +0 -58
  107. package/esm2022/lib/content-type/content-type-metadata.interface.mjs +0 -18
  108. package/esm2022/lib/content-type/content-type.service.mjs +0 -52
  109. package/esm2022/lib/content-type/index.mjs +0 -20
  110. package/esm2022/lib/content.module.mjs +0 -277
  111. package/esm2022/lib/dialogs/category-selector/category-selector.dialog.mjs +0 -52
  112. package/esm2022/lib/dialogs/dialog.module.mjs +0 -52
  113. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.mjs +0 -111
  114. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.module.mjs +0 -38
  115. package/esm2022/lib/dialogs/download-zip/services/download-zip.service.mjs +0 -66
  116. package/esm2022/lib/dialogs/folder/folder-name.validators.mjs +0 -44
  117. package/esm2022/lib/dialogs/folder/folder.dialog.mjs +0 -147
  118. package/esm2022/lib/dialogs/index.mjs +0 -18
  119. package/esm2022/lib/dialogs/library/library.dialog.mjs +0 -225
  120. package/esm2022/lib/dialogs/node-lock/node-lock.dialog.mjs +0 -116
  121. package/esm2022/lib/dialogs/public-api.mjs +0 -25
  122. package/esm2022/lib/directives/auto-focus.directive.mjs +0 -38
  123. package/esm2022/lib/directives/check-allowable-operation.directive.mjs +0 -126
  124. package/esm2022/lib/directives/content-directive.module.mjs +0 -75
  125. package/esm2022/lib/directives/index.mjs +0 -18
  126. package/esm2022/lib/directives/library-favorite.directive.mjs +0 -119
  127. package/esm2022/lib/directives/library-membership.directive.mjs +0 -202
  128. package/esm2022/lib/directives/node-counter.directive.mjs +0 -60
  129. package/esm2022/lib/directives/node-delete.directive.mjs +0 -177
  130. package/esm2022/lib/directives/node-download.directive.mjs +0 -138
  131. package/esm2022/lib/directives/node-favorite.directive.mjs +0 -193
  132. package/esm2022/lib/directives/node-lock.directive.mjs +0 -57
  133. package/esm2022/lib/directives/node-restore.directive.mjs +0 -218
  134. package/esm2022/lib/directives/public-api.mjs +0 -28
  135. package/esm2022/lib/document-list/components/content-action/content-action-list.component.mjs +0 -60
  136. package/esm2022/lib/document-list/components/content-action/content-action.component.mjs +0 -196
  137. package/esm2022/lib/document-list/components/document-list.component.mjs +0 -964
  138. package/esm2022/lib/document-list/components/document-list.token.mjs +0 -21
  139. package/esm2022/lib/document-list/components/file-auto-download/file-auto-download.component.mjs +0 -43
  140. package/esm2022/lib/document-list/components/filter-header/filter-header.component.mjs +0 -107
  141. package/esm2022/lib/document-list/components/library-name-column/library-name-column.component.mjs +0 -133
  142. package/esm2022/lib/document-list/components/library-role-column/library-role-column.component.mjs +0 -93
  143. package/esm2022/lib/document-list/components/library-status-column/library-status-column.component.mjs +0 -88
  144. package/esm2022/lib/document-list/components/name-column/name-column.component.mjs +0 -120
  145. package/esm2022/lib/document-list/components/node.event.mjs +0 -30
  146. package/esm2022/lib/document-list/components/trashcan-name-column/trashcan-name-column.component.mjs +0 -83
  147. package/esm2022/lib/document-list/data/image-resolver.model.mjs +0 -18
  148. package/esm2022/lib/document-list/data/row-filter.model.mjs +0 -18
  149. package/esm2022/lib/document-list/data/share-data-row.model.mjs +0 -102
  150. package/esm2022/lib/document-list/data/share-datatable-adapter.mjs +0 -258
  151. package/esm2022/lib/document-list/document-list.module.mjs +0 -79
  152. package/esm2022/lib/document-list/index.mjs +0 -18
  153. package/esm2022/lib/document-list/interfaces/document-list-loader.interface.mjs +0 -18
  154. package/esm2022/lib/document-list/models/content-action.model.mjs +0 -59
  155. package/esm2022/lib/document-list/models/document-folder.model.mjs +0 -23
  156. package/esm2022/lib/document-list/models/node-action.enum.mjs +0 -27
  157. package/esm2022/lib/document-list/models/permissions-style.model.mjs +0 -27
  158. package/esm2022/lib/document-list/models/permissions.model.mjs +0 -26
  159. package/esm2022/lib/document-list/models/preset.model.mjs +0 -257
  160. package/esm2022/lib/document-list/public-api.mjs +0 -47
  161. package/esm2022/lib/document-list/services/custom-resources.service.mjs +0 -378
  162. package/esm2022/lib/document-list/services/document-actions.service.mjs +0 -142
  163. package/esm2022/lib/document-list/services/document-list.service.mjs +0 -175
  164. package/esm2022/lib/document-list/services/folder-actions.service.mjs +0 -137
  165. package/esm2022/lib/document-list/services/lock.service.mjs +0 -72
  166. package/esm2022/lib/document-list/services/node-actions.service.mjs +0 -122
  167. package/esm2022/lib/group/index.mjs +0 -18
  168. package/esm2022/lib/group/public-api.mjs +0 -18
  169. package/esm2022/lib/group/services/group.service.mjs +0 -84
  170. package/esm2022/lib/infinite-scroll-datasource/index.mjs +0 -18
  171. package/esm2022/lib/infinite-scroll-datasource/infinite-scroll-datasource.mjs +0 -69
  172. package/esm2022/lib/infinite-scroll-datasource/public-api.mjs +0 -18
  173. package/esm2022/lib/interfaces/base-card-view-content-update.interface.mjs +0 -18
  174. package/esm2022/lib/interfaces/index.mjs +0 -18
  175. package/esm2022/lib/interfaces/library-entity.interface.mjs +0 -18
  176. package/esm2022/lib/interfaces/library-membership-error-event.interface.mjs +0 -18
  177. package/esm2022/lib/interfaces/library-membership-toggle-event.interface.mjs +0 -18
  178. package/esm2022/lib/interfaces/node-allowable-operation-subject.interface.mjs +0 -18
  179. package/esm2022/lib/interfaces/public-api.mjs +0 -23
  180. package/esm2022/lib/interfaces/restore-message-model.interface.mjs +0 -19
  181. package/esm2022/lib/legal-hold/index.mjs +0 -18
  182. package/esm2022/lib/legal-hold/public-api.mjs +0 -18
  183. package/esm2022/lib/legal-hold/services/legal-hold.service.mjs +0 -136
  184. package/esm2022/lib/material.module.mjs +0 -183
  185. package/esm2022/lib/mock/alfresco-api.service.mock.mjs +0 -43
  186. package/esm2022/lib/mock/date-range-search-filter.mock.mjs +0 -65
  187. package/esm2022/lib/mock/document-library.model.mock.mjs +0 -84
  188. package/esm2022/lib/mock/document-list.component.mock.mjs +0 -364
  189. package/esm2022/lib/mock/index.mjs +0 -18
  190. package/esm2022/lib/mock/new-version-uploader.service.mock.mjs +0 -161
  191. package/esm2022/lib/mock/public-api.mjs +0 -27
  192. package/esm2022/lib/mock/search-filter-mock.mjs +0 -637
  193. package/esm2022/lib/mock/search-query.mock.mjs +0 -40
  194. package/esm2022/lib/mock/search.component.mock.mjs +0 -165
  195. package/esm2022/lib/mock/search.service.mock.mjs +0 -61
  196. package/esm2022/lib/mock/sites-dropdown.component.mock.mjs +0 -281
  197. package/esm2022/lib/new-version-uploader/index.mjs +0 -18
  198. package/esm2022/lib/new-version-uploader/models/index.mjs +0 -18
  199. package/esm2022/lib/new-version-uploader/models/new-version-uploader.model.mjs +0 -24
  200. package/esm2022/lib/new-version-uploader/new-version-uploader.dialog.mjs +0 -75
  201. package/esm2022/lib/new-version-uploader/new-version-uploader.module.mjs +0 -33
  202. package/esm2022/lib/new-version-uploader/new-version-uploader.service.mjs +0 -103
  203. package/esm2022/lib/new-version-uploader/public-api.mjs +0 -21
  204. package/esm2022/lib/node-comments/index.mjs +0 -18
  205. package/esm2022/lib/node-comments/node-comments.component.mjs +0 -44
  206. package/esm2022/lib/node-comments/node-comments.module.mjs +0 -33
  207. package/esm2022/lib/node-comments/public-api.mjs +0 -20
  208. package/esm2022/lib/node-comments/services/node-comments.service.mjs +0 -85
  209. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog-data.interface.mjs +0 -18
  210. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog.component.mjs +0 -124
  211. package/esm2022/lib/permission-manager/components/add-permission/add-permission-panel.component.mjs +0 -103
  212. package/esm2022/lib/permission-manager/components/add-permission/add-permission.component.mjs +0 -70
  213. package/esm2022/lib/permission-manager/components/add-permission/search-config-permission.service.mjs +0 -45
  214. package/esm2022/lib/permission-manager/components/inherited-button.directive.mjs +0 -67
  215. package/esm2022/lib/permission-manager/components/node-path-column/node-path-column.component.mjs +0 -56
  216. package/esm2022/lib/permission-manager/components/permission-container/permission-container.component.mjs +0 -103
  217. package/esm2022/lib/permission-manager/components/permission-list/permission-list.component.mjs +0 -88
  218. package/esm2022/lib/permission-manager/components/permission-list/permission-list.service.mjs +0 -219
  219. package/esm2022/lib/permission-manager/components/pop-over.directive.mjs +0 -134
  220. package/esm2022/lib/permission-manager/components/user-icon-column/user-icon-column.component.mjs +0 -88
  221. package/esm2022/lib/permission-manager/components/user-name-column/user-name-column.component.mjs +0 -82
  222. package/esm2022/lib/permission-manager/components/user-role-column/user-role-column.component.mjs +0 -112
  223. package/esm2022/lib/permission-manager/index.mjs +0 -18
  224. package/esm2022/lib/permission-manager/models/member.model.mjs +0 -59
  225. package/esm2022/lib/permission-manager/models/permission.model.mjs +0 -29
  226. package/esm2022/lib/permission-manager/models/role.model.mjs +0 -18
  227. package/esm2022/lib/permission-manager/permission-manager.module.mjs +0 -84
  228. package/esm2022/lib/permission-manager/public-api.mjs +0 -36
  229. package/esm2022/lib/permission-manager/services/node-permission-dialog.service.mjs +0 -78
  230. package/esm2022/lib/permission-manager/services/node-permission.service.mjs +0 -299
  231. package/esm2022/lib/pipes/content-pipe.module.mjs +0 -37
  232. package/esm2022/lib/pipes/index.mjs +0 -18
  233. package/esm2022/lib/pipes/node-name-tooltip.pipe.mjs +0 -69
  234. package/esm2022/lib/pipes/public-api.mjs +0 -19
  235. package/esm2022/lib/prediction/index.mjs +0 -18
  236. package/esm2022/lib/prediction/public-api.mjs +0 -18
  237. package/esm2022/lib/prediction/services/index.mjs +0 -18
  238. package/esm2022/lib/prediction/services/prediction.service.mjs +0 -57
  239. package/esm2022/lib/search/components/empty-search-result.component.mjs +0 -27
  240. package/esm2022/lib/search/components/index.mjs +0 -43
  241. package/esm2022/lib/search/components/reset-search.directive.mjs +0 -41
  242. package/esm2022/lib/search/components/search-check-list/index.mjs +0 -18
  243. package/esm2022/lib/search/components/search-check-list/search-check-list.component.mjs +0 -159
  244. package/esm2022/lib/search/components/search-chip-autocomplete-input/index.mjs +0 -18
  245. package/esm2022/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.mjs +0 -170
  246. package/esm2022/lib/search/components/search-chip-list/search-chip-list.component.mjs +0 -47
  247. package/esm2022/lib/search/components/search-control.component.mjs +0 -181
  248. package/esm2022/lib/search/components/search-date-range-tabbed/index.mjs +0 -22
  249. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/date-range-type.mjs +0 -23
  250. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/in-last-date-type.mjs +0 -23
  251. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.mjs +0 -197
  252. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.mjs +0 -18
  253. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.mjs +0 -201
  254. package/esm2022/lib/search/components/search-datetime-range/index.mjs +0 -18
  255. package/esm2022/lib/search/components/search-datetime-range/search-datetime-range.component.mjs +0 -224
  256. package/esm2022/lib/search/components/search-facet-field/index.mjs +0 -18
  257. package/esm2022/lib/search/components/search-facet-field/search-facet-field.component.mjs +0 -133
  258. package/esm2022/lib/search/components/search-filter/index.mjs +0 -19
  259. package/esm2022/lib/search/components/search-filter/search-filter-card/search-filter-card.component.mjs +0 -46
  260. package/esm2022/lib/search/components/search-filter/search-filter.component.mjs +0 -81
  261. package/esm2022/lib/search/components/search-filter-autocomplete-chips/index.mjs +0 -18
  262. package/esm2022/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.mjs +0 -155
  263. package/esm2022/lib/search/components/search-filter-chips/index.mjs +0 -23
  264. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip/search-facet-chip.component.mjs +0 -105
  265. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-chip-tabbed.component.mjs +0 -110
  266. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-tabbed-content.component.mjs +0 -129
  267. package/esm2022/lib/search/components/search-filter-chips/search-filter-chips.component.mjs +0 -64
  268. package/esm2022/lib/search/components/search-filter-chips/search-filter-menu-card/search-filter-menu-card.component.mjs +0 -44
  269. package/esm2022/lib/search/components/search-filter-chips/search-widget-chip/search-widget-chip.component.mjs +0 -110
  270. package/esm2022/lib/search/components/search-filter-container/index.mjs +0 -18
  271. package/esm2022/lib/search/components/search-filter-container/search-filter-container.component.mjs +0 -123
  272. package/esm2022/lib/search/components/search-filter-tabbed/index.mjs +0 -19
  273. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tab.directive.mjs +0 -36
  274. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tabbed.component.mjs +0 -64
  275. package/esm2022/lib/search/components/search-form/index.mjs +0 -18
  276. package/esm2022/lib/search/components/search-form/search-form.component.mjs +0 -53
  277. package/esm2022/lib/search/components/search-input/index.mjs +0 -18
  278. package/esm2022/lib/search/components/search-input/search-input.component.mjs +0 -109
  279. package/esm2022/lib/search/components/search-logical-filter/index.mjs +0 -18
  280. package/esm2022/lib/search/components/search-logical-filter/search-logical-filter.component.mjs +0 -164
  281. package/esm2022/lib/search/components/search-number-range/index.mjs +0 -18
  282. package/esm2022/lib/search/components/search-number-range/search-number-range.component.mjs +0 -155
  283. package/esm2022/lib/search/components/search-panel/index.mjs +0 -18
  284. package/esm2022/lib/search/components/search-panel/search-panel.component.mjs +0 -44
  285. package/esm2022/lib/search/components/search-properties/file-size-condition.mjs +0 -18
  286. package/esm2022/lib/search/components/search-properties/file-size-operator.enum.mjs +0 -23
  287. package/esm2022/lib/search/components/search-properties/file-size-unit.enum.mjs +0 -26
  288. package/esm2022/lib/search/components/search-properties/index.mjs +0 -22
  289. package/esm2022/lib/search/components/search-properties/search-properties.component.mjs +0 -244
  290. package/esm2022/lib/search/components/search-properties/search-properties.mjs +0 -18
  291. package/esm2022/lib/search/components/search-radio/index.mjs +0 -18
  292. package/esm2022/lib/search/components/search-radio/search-radio.component.mjs +0 -146
  293. package/esm2022/lib/search/components/search-slider/index.mjs +0 -18
  294. package/esm2022/lib/search/components/search-slider/search-slider.component.mjs +0 -120
  295. package/esm2022/lib/search/components/search-sorting-picker/index.mjs +0 -18
  296. package/esm2022/lib/search/components/search-sorting-picker/search-sorting-picker.component.mjs +0 -77
  297. package/esm2022/lib/search/components/search-text/index.mjs +0 -18
  298. package/esm2022/lib/search/components/search-text/search-text.component.mjs +0 -135
  299. package/esm2022/lib/search/components/search-widget-container/index.mjs +0 -18
  300. package/esm2022/lib/search/components/search-widget-container/search-widget-container.component.mjs +0 -113
  301. package/esm2022/lib/search/components/search.component.mjs +0 -153
  302. package/esm2022/lib/search/forms/index.mjs +0 -19
  303. package/esm2022/lib/search/forms/live-error-state-matcher.mjs +0 -23
  304. package/esm2022/lib/search/forms/search-term-validator.mjs +0 -26
  305. package/esm2022/lib/search/index.mjs +0 -18
  306. package/esm2022/lib/search/mocks/index.mjs +0 -18
  307. package/esm2022/lib/search/mocks/search.service.mock.mjs +0 -56
  308. package/esm2022/lib/search/models/autocomplete-option.interface.mjs +0 -22
  309. package/esm2022/lib/search/models/facet-field-bucket.interface.mjs +0 -18
  310. package/esm2022/lib/search/models/facet-field.interface.mjs +0 -29
  311. package/esm2022/lib/search/models/facet-query.interface.mjs +0 -18
  312. package/esm2022/lib/search/models/facet-widget.interface.mjs +0 -18
  313. package/esm2022/lib/search/models/filter-query.interface.mjs +0 -18
  314. package/esm2022/lib/search/models/filter-search.interface.mjs +0 -18
  315. package/esm2022/lib/search/models/index.mjs +0 -34
  316. package/esm2022/lib/search/models/response-facet-query-list.model.mjs +0 -31
  317. package/esm2022/lib/search/models/search-category.interface.mjs +0 -18
  318. package/esm2022/lib/search/models/search-configuration.interface.mjs +0 -18
  319. package/esm2022/lib/search/models/search-filter-list.model.mjs +0 -148
  320. package/esm2022/lib/search/models/search-form.interface.mjs +0 -18
  321. package/esm2022/lib/search/models/search-range.interface.mjs +0 -18
  322. package/esm2022/lib/search/models/search-sorting-definition.interface.mjs +0 -18
  323. package/esm2022/lib/search/models/search-widget-settings.interface.mjs +0 -18
  324. package/esm2022/lib/search/models/search-widget.interface.mjs +0 -18
  325. package/esm2022/lib/search/models/tabbed-facet-field.interface.mjs +0 -18
  326. package/esm2022/lib/search/public-api.mjs +0 -24
  327. package/esm2022/lib/search/search-configuration.token.mjs +0 -19
  328. package/esm2022/lib/search/search.module.mjs +0 -192
  329. package/esm2022/lib/search/services/base-query-builder.service.mjs +0 -509
  330. package/esm2022/lib/search/services/index.mjs +0 -24
  331. package/esm2022/lib/search/services/search-configuration.service.mjs +0 -50
  332. package/esm2022/lib/search/services/search-facet-filters.service.mjs +0 -374
  333. package/esm2022/lib/search/services/search-filter.service.mjs +0 -56
  334. package/esm2022/lib/search/services/search-header-query-builder.service.mjs +0 -136
  335. package/esm2022/lib/search/services/search-query-builder.service.mjs +0 -48
  336. package/esm2022/lib/search/services/search.service.mjs +0 -89
  337. package/esm2022/lib/search-ai/index.mjs +0 -18
  338. package/esm2022/lib/search-ai/models/search-ai-input-state.mjs +0 -18
  339. package/esm2022/lib/search-ai/public-api.mjs +0 -19
  340. package/esm2022/lib/search-ai/services/search-ai.service.mjs +0 -103
  341. package/esm2022/lib/security/index.mjs +0 -18
  342. package/esm2022/lib/security/public-api.mjs +0 -18
  343. package/esm2022/lib/security/services/models/security-controls-group-response.interface.mjs +0 -18
  344. package/esm2022/lib/security/services/models/security-controls-mark-response.interface.mjs +0 -18
  345. package/esm2022/lib/security/services/security-controls-groups-marks-security.service.mjs +0 -274
  346. package/esm2022/lib/security-options-loader/security-options-loader.service.mjs +0 -43
  347. package/esm2022/lib/services/alfresco-api.interface.mjs +0 -18
  348. package/esm2022/lib/services/alfresco-api.service.mjs +0 -120
  349. package/esm2022/lib/services/index.mjs +0 -18
  350. package/esm2022/lib/services/public-api.mjs +0 -18
  351. package/esm2022/lib/tag/index.mjs +0 -18
  352. package/esm2022/lib/tag/public-api.mjs +0 -24
  353. package/esm2022/lib/tag/services/tag.service.mjs +0 -171
  354. package/esm2022/lib/tag/tag-actions/tag-actions.component.mjs +0 -115
  355. package/esm2022/lib/tag/tag-list/tag-list.component.mjs +0 -98
  356. package/esm2022/lib/tag/tag-node-list/tag-node-list.component.mjs +0 -80
  357. package/esm2022/lib/tag/tag.module.mjs +0 -37
  358. package/esm2022/lib/tag/tags-creator/tags-creator-mode.mjs +0 -27
  359. package/esm2022/lib/tag/tags-creator/tags-creator.component.mjs +0 -371
  360. package/esm2022/lib/testing/content.testing.module.mjs +0 -56
  361. package/esm2022/lib/tree/components/tree.component.mjs +0 -313
  362. package/esm2022/lib/tree/index.mjs +0 -18
  363. package/esm2022/lib/tree/models/tree-context-menu-result.interface.mjs +0 -18
  364. package/esm2022/lib/tree/models/tree-node.interface.mjs +0 -22
  365. package/esm2022/lib/tree/models/tree-response.interface.mjs +0 -18
  366. package/esm2022/lib/tree/public-api.mjs +0 -23
  367. package/esm2022/lib/tree/services/tree.service.mjs +0 -134
  368. package/esm2022/lib/tree/tree.module.mjs +0 -33
  369. package/esm2022/lib/tree-view/components/tree-view.component.mjs +0 -76
  370. package/esm2022/lib/tree-view/data/tree-view-datasource.mjs +0 -99
  371. package/esm2022/lib/tree-view/index.mjs +0 -18
  372. package/esm2022/lib/tree-view/models/tree-view.model.mjs +0 -28
  373. package/esm2022/lib/tree-view/public-api.mjs +0 -22
  374. package/esm2022/lib/tree-view/services/tree-view.service.mjs +0 -38
  375. package/esm2022/lib/tree-view/tree-view.module.mjs +0 -33
  376. package/esm2022/lib/upload/components/base-upload/upload-base.mjs +0 -176
  377. package/esm2022/lib/upload/components/file-uploading-dialog.component.mjs +0 -191
  378. package/esm2022/lib/upload/components/file-uploading-list-row.component.mjs +0 -93
  379. package/esm2022/lib/upload/components/file-uploading-list.component.mjs +0 -124
  380. package/esm2022/lib/upload/components/upload-button.component.mjs +0 -134
  381. package/esm2022/lib/upload/components/upload-drag-area.component.mjs +0 -112
  382. package/esm2022/lib/upload/components/upload-files.event.mjs +0 -41
  383. package/esm2022/lib/upload/components/upload-version-button.component.mjs +0 -55
  384. package/esm2022/lib/upload/directives/file-draggable.directive.mjs +0 -154
  385. package/esm2022/lib/upload/directives/toggle-icon.directive.mjs +0 -75
  386. package/esm2022/lib/upload/index.mjs +0 -18
  387. package/esm2022/lib/upload/pipes/file-upload-error.pipe.mjs +0 -39
  388. package/esm2022/lib/upload/public-api.mjs +0 -29
  389. package/esm2022/lib/upload/upload.module.mjs +0 -72
  390. package/esm2022/lib/version-compatibility/index.mjs +0 -18
  391. package/esm2022/lib/version-compatibility/public-api.mjs +0 -20
  392. package/esm2022/lib/version-compatibility/version-compatibility-factory.mjs +0 -26
  393. package/esm2022/lib/version-compatibility/version-compatibility.directive.mjs +0 -53
  394. package/esm2022/lib/version-compatibility/version-compatibility.module.mjs +0 -33
  395. package/esm2022/lib/version-compatibility/version-compatibility.service.mjs +0 -76
  396. package/esm2022/lib/version-manager/content-version.service.mjs +0 -53
  397. package/esm2022/lib/version-manager/index.mjs +0 -18
  398. package/esm2022/lib/version-manager/public-api.mjs +0 -23
  399. package/esm2022/lib/version-manager/version-comparison.component.mjs +0 -43
  400. package/esm2022/lib/version-manager/version-list.component.mjs +0 -216
  401. package/esm2022/lib/version-manager/version-manager.component.mjs +0 -146
  402. package/esm2022/lib/version-manager/version-manager.module.mjs +0 -48
  403. package/esm2022/lib/version-manager/version-upload.component.mjs +0 -155
  404. package/esm2022/lib/viewer/alfresco-viewer.module.mjs +0 -33
  405. package/esm2022/lib/viewer/components/alfresco-viewer.component.mjs +0 -409
  406. package/esm2022/lib/viewer/index.mjs +0 -18
  407. package/esm2022/lib/viewer/public-api.mjs +0 -19
  408. package/esm2022/public-api.mjs +0 -56
@@ -1,170 +0,0 @@
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, ElementRef, EventEmitter, inject, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
18
- import { ENTER } from '@angular/cdk/keycodes';
19
- import { FormControl, ReactiveFormsModule } from '@angular/forms';
20
- import { MatAutocompleteModule } from '@angular/material/autocomplete';
21
- import { MatChipsModule } from '@angular/material/chips';
22
- import { EMPTY, Observable, timer } from 'rxjs';
23
- import { debounce, startWith, tap } from 'rxjs/operators';
24
- import { CommonModule } from '@angular/common';
25
- import { MatFormFieldModule } from '@angular/material/form-field';
26
- import { TranslateModule } from '@ngx-translate/core';
27
- import { MatIconModule } from '@angular/material/icon';
28
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
29
- import * as i0 from "@angular/core";
30
- import * as i1 from "@angular/common";
31
- import * as i2 from "@angular/material/form-field";
32
- import * as i3 from "@angular/material/chips";
33
- import * as i4 from "@ngx-translate/core";
34
- import * as i5 from "@angular/material/icon";
35
- import * as i6 from "@angular/forms";
36
- import * as i7 from "@angular/material/autocomplete";
37
- import * as i8 from "@angular/material/core";
38
- export class SearchChipAutocompleteInputComponent {
39
- constructor() {
40
- this.autocompleteOptions = [];
41
- this.preselectedOptions = [];
42
- this.allowOnlyPredefinedValues = true;
43
- this.placeholder = 'SEARCH.FILTER.ACTIONS.ADD_OPTION';
44
- this.filter = (options, value) => {
45
- const filterValue = value.toLowerCase();
46
- return options.filter((option) => option.value.toLowerCase().includes(filterValue)).slice(0, 15);
47
- };
48
- this.optionsChanged = new EventEmitter();
49
- this.inputChanged = new EventEmitter();
50
- this.separatorKeysCodes = [ENTER];
51
- this.formCtrl = new FormControl('');
52
- this.filteredOptions = [];
53
- this.selectedOptions = [];
54
- this._activeAnyOption = false;
55
- this.destroyRef = inject(DestroyRef);
56
- }
57
- set activeAnyOption(active) {
58
- this._activeAnyOption = active;
59
- }
60
- ngOnInit() {
61
- this.formCtrl.valueChanges
62
- .pipe(startWith(''), tap(() => (this.activeAnyOption = false)), debounce((value) => (value ? timer(300) : EMPTY)), takeUntilDestroyed(this.destroyRef))
63
- .subscribe((value) => {
64
- this.filteredOptions = value ? this.filter(this.autocompleteOptions, value) : [];
65
- this.inputChanged.emit(value);
66
- });
67
- this.onReset$?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.reset());
68
- this.selectedOptions = this.preselectedOptions ?? [];
69
- }
70
- ngOnChanges(changes) {
71
- if (changes.autocompleteOptions) {
72
- this.filteredOptions =
73
- changes.autocompleteOptions.currentValue?.length > 0
74
- ? this.filter(changes.autocompleteOptions.currentValue, this.formCtrl.value)
75
- : [];
76
- }
77
- }
78
- add(event) {
79
- if (!this._activeAnyOption) {
80
- let value = (event.value || '').trim();
81
- if (this.formatChipValue) {
82
- value = this.formatChipValue(value);
83
- }
84
- if (value && this.isExists(value) && !this.isAdded(value)) {
85
- if (this.allowOnlyPredefinedValues) {
86
- const index = this.autocompleteOptions.findIndex((option) => option.value.toLowerCase() === value.toLowerCase());
87
- this.selectedOptions.push(this.autocompleteOptions[index]);
88
- }
89
- else {
90
- this.selectedOptions.push({ value });
91
- }
92
- this.optionsChanged.emit(this.selectedOptions);
93
- event.chipInput.clear();
94
- this.formCtrl.setValue('');
95
- }
96
- }
97
- }
98
- remove(value) {
99
- const index = this.selectedOptions.indexOf(value);
100
- if (index >= 0) {
101
- this.selectedOptions.splice(index, 1);
102
- this.optionsChanged.emit(this.selectedOptions);
103
- }
104
- }
105
- selected(event) {
106
- this.selectedOptions.push(event.option.value);
107
- this.optionInput.nativeElement.value = '';
108
- this.formCtrl.setValue('');
109
- this.optionsChanged.emit(this.selectedOptions);
110
- }
111
- /**
112
- * Determines if a given option is already selected.
113
- *
114
- * This method checks if the provided `option` is present in the `selectedOptions` array.
115
- * If a custom comparison function (`compareOption`) is provided, it uses this function to determine equality.
116
- * Otherwise, it falls back to using strict equality comparison.
117
- *
118
- * @param option - The option to check for selection.
119
- * @returns `true` if the option is selected, `false` otherwise.
120
- */
121
- isOptionSelected(option) {
122
- const compare = this.compareOption;
123
- const array = this.selectedOptions;
124
- return compare ? array.some((arrayValue) => compare(option, arrayValue)) : array.includes(option);
125
- }
126
- isAdded(value) {
127
- const valueLowerCase = value.toLowerCase();
128
- return this.selectedOptions.some((option) => option.value.toLowerCase() === valueLowerCase);
129
- }
130
- isExists(value) {
131
- const valueLowerCase = value.toLowerCase();
132
- return this.allowOnlyPredefinedValues ? this.autocompleteOptions.some((option) => option.value.toLowerCase() === valueLowerCase) : true;
133
- }
134
- reset() {
135
- this.selectedOptions = [];
136
- this.optionsChanged.emit(this.selectedOptions);
137
- this.formCtrl.setValue('');
138
- this.optionInput.nativeElement.value = '';
139
- }
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchChipAutocompleteInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
141
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchChipAutocompleteInputComponent, isStandalone: true, selector: "adf-search-chip-autocomplete-input", inputs: { autocompleteOptions: "autocompleteOptions", preselectedOptions: "preselectedOptions", onReset$: "onReset$", allowOnlyPredefinedValues: "allowOnlyPredefinedValues", placeholder: "placeholder", compareOption: "compareOption", formatChipValue: "formatChipValue", filter: "filter" }, outputs: { optionsChanged: "optionsChanged", inputChanged: "inputChanged" }, viewQueries: [{ propertyName: "optionInput", first: true, predicate: ["optionInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-form-field class=\"adf-chip-list\" appearance=\"outline\">\n <mat-chip-grid #chipList [attr.aria-label]=\"'SEARCH.FILTER.ARIA-LABEL.OPTIONS-SELECTION' | translate\">\n <mat-chip-row\n class=\"adf-option-chips adf-autocomplete-added-option-chips\"\n *ngFor=\"let option of selectedOptions\"\n (removed)=\"remove(option)\">\n <span [title]=\"option.fullPath ? ('SEARCH.RESULTS.WILL_CONTAIN' | translate:{searchTerm: option.fullPath}) : undefined\">\n {{ option.value }}\n </span>\n <button\n matChipRemove\n class=\"adf-option-chips-delete-button adf-autocomplete-added-option-chips-delete-button\"\n [title]=\"'SEARCH.FILTER.BUTTONS.REMOVE' | translate\"\n >\n <mat-icon class=\"adf-option-chips-delete-icon adf-autocomplete-added-option-chips-delete-icon\">close</mat-icon>\n </button>\n </mat-chip-row>\n <input\n placeholder=\"{{ placeholder | translate }}\"\n aria-controls=\"adf-search-chip-autocomplete\"\n #optionInput\n #autocompleteTrigger=\"matAutocompleteTrigger\"\n [formControl]=\"formCtrl\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"chipList\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n [attr.aria-label]=\"placeholder | translate\"\n class=\"adf-search-properties-file-input\"\n (matChipInputTokenEnd)=\"add($event)\"\n (blur)=\"activeAnyOption = false; autocompleteTrigger.closePanel()\"\n data-automation-id=\"adf-search-chip-autocomplete-input\">\n </mat-chip-grid>\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"selected($event)\" id=\"adf-search-chip-autocomplete\"\n (optionActivated)=\"activeAnyOption = true\" (closed)=\"activeAnyOption = false\">\n <ng-container *ngIf=\"optionInput.value.length > 0\">\n <mat-option\n *ngFor=\"let option of filteredOptions\"\n [value]=\"option\"\n (mousedown)=$event.preventDefault()\n [disabled]=\"isOptionSelected(option)\"\n [attr.data-automation-id]=\"'option-' + option.value\"\n [title]=\"option.fullPath ? ('SEARCH.RESULTS.WILL_CONTAIN' | translate : { searchTerm: option.fullPath || option.value }) : undefined\"\n class=\"adf-search-chip-autocomplete-added-option\"\n [ngClass]=\"isOptionSelected(option) && 'adf-autocomplete-added-option'\"\n >\n {{ option.fullPath || option.value }}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n</mat-form-field>\n", styles: ["adf-search-chip-autocomplete-input .adf-chip-list{width:100%}adf-search-chip-autocomplete-input .adf-chip-list:has(.mdc-notched-outline){margin-top:4px}adf-search-chip-autocomplete-input .mat-mdc-form-text-infix{border:none}adf-search-chip-autocomplete-input .adf-chip-list.mat-mdc-form-field .mat-mdc-form-field-infix{padding-top:14px;padding-bottom:14px;min-height:unset}adf-search-chip-autocomplete-input .adf-search-properties-file-input{margin-left:3px}adf-search-chip-autocomplete-input .adf-autocomplete-added-option-chips.adf-option-chips{border:1px solid var(--theme-text-color);border-radius:10px;background-color:var(--theme-primary-color-default-contrast);height:auto;word-break:break-word;padding:4px 0}adf-search-chip-autocomplete-input .mdc-evolution-chip-set .mdc-evolution-chip{margin-left:0;margin-right:4px}adf-search-chip-autocomplete-input .adf-option-chips-delete-button.adf-autocomplete-added-option-chips-delete-button{font-size:13px;height:13px;width:13px}adf-search-chip-autocomplete-input .adf-option-chips-delete-button.adf-autocomplete-added-option-chips-delete-button .adf-option-chips-delete-icon.adf-autocomplete-added-option-chips-delete-icon{font-size:13px;height:13px;width:13px}.adf-search-chip-autocomplete-added-option.adf-autocomplete-added-option{background:var(--adf-theme-mat-grey-color-a200);color:var(--adf-theme-primary-300)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i3.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i3.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i3.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i3.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i7.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i7.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }], encapsulation: i0.ViewEncapsulation.None }); }
142
- }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchChipAutocompleteInputComponent, decorators: [{
144
- type: Component,
145
- args: [{ selector: 'adf-search-chip-autocomplete-input', standalone: true, imports: [CommonModule, MatFormFieldModule, MatChipsModule, TranslateModule, MatIconModule, ReactiveFormsModule, MatAutocompleteModule], encapsulation: ViewEncapsulation.None, template: "<mat-form-field class=\"adf-chip-list\" appearance=\"outline\">\n <mat-chip-grid #chipList [attr.aria-label]=\"'SEARCH.FILTER.ARIA-LABEL.OPTIONS-SELECTION' | translate\">\n <mat-chip-row\n class=\"adf-option-chips adf-autocomplete-added-option-chips\"\n *ngFor=\"let option of selectedOptions\"\n (removed)=\"remove(option)\">\n <span [title]=\"option.fullPath ? ('SEARCH.RESULTS.WILL_CONTAIN' | translate:{searchTerm: option.fullPath}) : undefined\">\n {{ option.value }}\n </span>\n <button\n matChipRemove\n class=\"adf-option-chips-delete-button adf-autocomplete-added-option-chips-delete-button\"\n [title]=\"'SEARCH.FILTER.BUTTONS.REMOVE' | translate\"\n >\n <mat-icon class=\"adf-option-chips-delete-icon adf-autocomplete-added-option-chips-delete-icon\">close</mat-icon>\n </button>\n </mat-chip-row>\n <input\n placeholder=\"{{ placeholder | translate }}\"\n aria-controls=\"adf-search-chip-autocomplete\"\n #optionInput\n #autocompleteTrigger=\"matAutocompleteTrigger\"\n [formControl]=\"formCtrl\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"chipList\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n [attr.aria-label]=\"placeholder | translate\"\n class=\"adf-search-properties-file-input\"\n (matChipInputTokenEnd)=\"add($event)\"\n (blur)=\"activeAnyOption = false; autocompleteTrigger.closePanel()\"\n data-automation-id=\"adf-search-chip-autocomplete-input\">\n </mat-chip-grid>\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"selected($event)\" id=\"adf-search-chip-autocomplete\"\n (optionActivated)=\"activeAnyOption = true\" (closed)=\"activeAnyOption = false\">\n <ng-container *ngIf=\"optionInput.value.length > 0\">\n <mat-option\n *ngFor=\"let option of filteredOptions\"\n [value]=\"option\"\n (mousedown)=$event.preventDefault()\n [disabled]=\"isOptionSelected(option)\"\n [attr.data-automation-id]=\"'option-' + option.value\"\n [title]=\"option.fullPath ? ('SEARCH.RESULTS.WILL_CONTAIN' | translate : { searchTerm: option.fullPath || option.value }) : undefined\"\n class=\"adf-search-chip-autocomplete-added-option\"\n [ngClass]=\"isOptionSelected(option) && 'adf-autocomplete-added-option'\"\n >\n {{ option.fullPath || option.value }}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n</mat-form-field>\n", styles: ["adf-search-chip-autocomplete-input .adf-chip-list{width:100%}adf-search-chip-autocomplete-input .adf-chip-list:has(.mdc-notched-outline){margin-top:4px}adf-search-chip-autocomplete-input .mat-mdc-form-text-infix{border:none}adf-search-chip-autocomplete-input .adf-chip-list.mat-mdc-form-field .mat-mdc-form-field-infix{padding-top:14px;padding-bottom:14px;min-height:unset}adf-search-chip-autocomplete-input .adf-search-properties-file-input{margin-left:3px}adf-search-chip-autocomplete-input .adf-autocomplete-added-option-chips.adf-option-chips{border:1px solid var(--theme-text-color);border-radius:10px;background-color:var(--theme-primary-color-default-contrast);height:auto;word-break:break-word;padding:4px 0}adf-search-chip-autocomplete-input .mdc-evolution-chip-set .mdc-evolution-chip{margin-left:0;margin-right:4px}adf-search-chip-autocomplete-input .adf-option-chips-delete-button.adf-autocomplete-added-option-chips-delete-button{font-size:13px;height:13px;width:13px}adf-search-chip-autocomplete-input .adf-option-chips-delete-button.adf-autocomplete-added-option-chips-delete-button .adf-option-chips-delete-icon.adf-autocomplete-added-option-chips-delete-icon{font-size:13px;height:13px;width:13px}.adf-search-chip-autocomplete-added-option.adf-autocomplete-added-option{background:var(--adf-theme-mat-grey-color-a200);color:var(--adf-theme-primary-300)}\n"] }]
146
- }], propDecorators: { optionInput: [{
147
- type: ViewChild,
148
- args: ['optionInput']
149
- }], autocompleteOptions: [{
150
- type: Input
151
- }], preselectedOptions: [{
152
- type: Input
153
- }], onReset$: [{
154
- type: Input
155
- }], allowOnlyPredefinedValues: [{
156
- type: Input
157
- }], placeholder: [{
158
- type: Input
159
- }], compareOption: [{
160
- type: Input
161
- }], formatChipValue: [{
162
- type: Input
163
- }], filter: [{
164
- type: Input
165
- }], optionsChanged: [{
166
- type: Output
167
- }], inputChanged: [{
168
- type: Output
169
- }] } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNoaXAtYXV0b2NvbXBsZXRlLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvc2VhcmNoL2NvbXBvbmVudHMvc2VhcmNoLWNoaXAtYXV0b2NvbXBsZXRlLWlucHV0L3NlYXJjaC1jaGlwLWF1dG9jb21wbGV0ZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlYXJjaC9jb21wb25lbnRzL3NlYXJjaC1jaGlwLWF1dG9jb21wbGV0ZS1pbnB1dC9zZWFyY2gtY2hpcC1hdXRvY29tcGxldGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFnQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JHLE9BQU8sRUFBcUIsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFELE9BQU8sRUFBRSxZQUFZLEVBQUUs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cUI7OzRGQUs3SCxvQ0FBb0M7a0JBUmhELFNBQVM7K0JBQ0ksb0NBQW9DLGNBQ2xDLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsQ0FBQyxpQkFHeEgsaUJBQWlCLENBQUMsSUFBSTs4QkFJckMsV0FBVztzQkFEVixTQUFTO3VCQUFDLGFBQWE7Z0JBSXhCLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFJTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLHlCQUF5QjtzQkFEeEIsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBT04sY0FBYztzQkFEYixNQUFNO2dCQUlQLFlBQVk7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFTlRFUiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSwgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRDaGlwSW5wdXRFdmVudCwgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBFTVBUWSwgT2JzZXJ2YWJsZSwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlLCBzdGFydFdpdGgsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZU9wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9hdXRvY29tcGxldGUtb3B0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2VhcmNoLWNoaXAtYXV0b2NvbXBsZXRlLWlucHV0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0Q2hpcHNNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTWF0QXV0b2NvbXBsZXRlTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWNoaXAtYXV0b2NvbXBsZXRlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtY2hpcC1hdXRvY29tcGxldGUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaENoaXBBdXRvY29tcGxldGVJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBAVmlld0NoaWxkKCdvcHRpb25JbnB1dCcpXG4gICAgb3B0aW9uSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBASW5wdXQoKVxuICAgIGF1dG9jb21wbGV0ZU9wdGlvbnM6IEF1dG9jb21wbGV0ZU9wdGlvbltdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIHByZXNlbGVjdGVkT3B0aW9uczogQXV0b2NvbXBsZXRlT3B0aW9uW10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgb25SZXNldCQ6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgICBASW5wdXQoKVxuICAgIGFsbG93T25seVByZWRlZmluZWRWYWx1ZXMgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwbGFjZWhvbGRlciA9ICdTRUFSQ0guRklMVEVSLkFDVElPTlMuQUREX09QVElPTic7XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbXBhcmVPcHRpb24/OiAob3B0aW9uMTogQXV0b2NvbXBsZXRlT3B0aW9uLCBvcHRpb24yOiBBdXRvY29tcGxldGVPcHRpb24pID0+IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKVxuICAgIGZvcm1hdENoaXBWYWx1ZT86IChvcHRpb246IHN0cmluZykgPT4gc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBmaWx0ZXIgPSAob3B0aW9uczogQXV0b2NvbXBsZXRlT3B0aW9uW10sIHZhbHVlOiBzdHJpbmcpOiBBdXRvY29tcGxldGVPcHRpb25bXSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuIG9wdGlvbnMuZmlsdGVyKChvcHRpb24pID0+IG9wdGlvbi52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKSkuc2xpY2UoMCwgMTUpO1xuICAgIH07XG5cbiAgICBAT3V0cHV0KClcbiAgICBvcHRpb25zQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8QXV0b2NvbXBsZXRlT3B0aW9uW10+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBpbnB1dENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIHJlYWRvbmx5IHNlcGFyYXRvcktleXNDb2RlcyA9IFtFTlRFUl0gYXMgY29uc3Q7XG4gICAgZm9ybUN0cmwgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuICAgIGZpbHRlcmVkT3B0aW9uczogQXV0b2NvbXBsZXRlT3B0aW9uW10gPSBbXTtcbiAgICBzZWxlY3RlZE9wdGlvbnM6IEF1dG9jb21wbGV0ZU9wdGlvbltdID0gW107XG5cbiAgICBwcml2YXRlIF9hY3RpdmVBbnlPcHRpb24gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIHNldCBhY3RpdmVBbnlPcHRpb24oYWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZUFueU9wdGlvbiA9IGFjdGl2ZTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5mb3JtQ3RybC52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aCgnJyksXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+ICh0aGlzLmFjdGl2ZUFueU9wdGlvbiA9IGZhbHNlKSksXG4gICAgICAgICAgICAgICAgZGVib3VuY2UoKHZhbHVlOiBzdHJpbmcpID0+ICh2YWx1ZSA/IHRpbWVyKDMwMCkgOiBFTVBUWSkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB2YWx1ZSA/IHRoaXMuZmlsdGVyKHRoaXMuYXV0b2NvbXBsZXRlT3B0aW9ucywgdmFsdWUpIDogW107XG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dENoYW5nZWQuZW1pdCh2YWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vblJlc2V0JD8ucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXQoKSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zID0gdGhpcy5wcmVzZWxlY3RlZE9wdGlvbnMgPz8gW107XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy5hdXRvY29tcGxldGVPcHRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9XG4gICAgICAgICAgICAgICAgY2hhbmdlcy5hdXRvY29tcGxldGVPcHRpb25zLmN1cnJlbnRWYWx1ZT8ubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuZmlsdGVyKGNoYW5nZXMuYXV0b2NvbXBsZXRlT3B0aW9ucy5jdXJyZW50VmFsdWUsIHRoaXMuZm9ybUN0cmwudmFsdWUpXG4gICAgICAgICAgICAgICAgICAgIDogW107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhZGQoZXZlbnQ6IE1hdENoaXBJbnB1dEV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5fYWN0aXZlQW55T3B0aW9uKSB7XG4gICAgICAgICAgICBsZXQgdmFsdWUgPSAoZXZlbnQudmFsdWUgfHwgJycpLnRyaW0oKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmZvcm1hdENoaXBWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gdGhpcy5mb3JtYXRDaGlwVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodmFsdWUgJiYgdGhpcy5pc0V4aXN0cyh2YWx1ZSkgJiYgIXRoaXMuaXNBZGRlZCh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hbGxvd09ubHlQcmVkZWZpbmVkVmFsdWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5hdXRvY29tcGxldGVPcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gdmFsdWUudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zLnB1c2godGhpcy5hdXRvY29tcGxldGVPcHRpb25zW2luZGV4XSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMucHVzaCh7IHZhbHVlIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnNDaGFuZ2VkLmVtaXQodGhpcy5zZWxlY3RlZE9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIGV2ZW50LmNoaXBJbnB1dC5jbGVhcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybUN0cmwuc2V0VmFsdWUoJycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlKHZhbHVlOiBBdXRvY29tcGxldGVPcHRpb24pIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkT3B0aW9ucy5pbmRleE9mKHZhbHVlKTtcblxuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIHRoaXMub3B0aW9uc0NoYW5nZWQuZW1pdCh0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RlZChldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucy5wdXNoKGV2ZW50Lm9wdGlvbi52YWx1ZSk7XG4gICAgICAgIHRoaXMub3B0aW9uSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgICB0aGlzLmZvcm1DdHJsLnNldFZhbHVlKCcnKTtcbiAgICAgICAgdGhpcy5vcHRpb25zQ2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRPcHRpb25zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIGlmIGEgZ2l2ZW4gb3B0aW9uIGlzIGFscmVhZHkgc2VsZWN0ZWQuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBjaGVja3MgaWYgdGhlIHByb3ZpZGVkIGBvcHRpb25gIGlzIHByZXNlbnQgaW4gdGhlIGBzZWxlY3RlZE9wdGlvbnNgIGFycmF5LlxuICAgICAqIElmIGEgY3VzdG9tIGNvbXBhcmlzb24gZnVuY3Rpb24gKGBjb21wYXJlT3B0aW9uYCkgaXMgcHJvdmlkZWQsIGl0IHVzZXMgdGhpcyBmdW5jdGlvbiB0byBkZXRlcm1pbmUgZXF1YWxpdHkuXG4gICAgICogT3RoZXJ3aXNlLCBpdCBmYWxscyBiYWNrIHRvIHVzaW5nIHN0cmljdCBlcXVhbGl0eSBjb21wYXJpc29uLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdGlvbiAtIFRoZSBvcHRpb24gdG8gY2hlY2sgZm9yIHNlbGVjdGlvbi5cbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIG9wdGlvbiBpcyBzZWxlY3RlZCwgYGZhbHNlYCBvdGhlcndpc2UuXG4gICAgICovXG4gICAgaXNPcHRpb25TZWxlY3RlZChvcHRpb246IEF1dG9jb21wbGV0ZU9wdGlvbik6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBjb21wYXJlID0gdGhpcy5jb21wYXJlT3B0aW9uO1xuICAgICAgICBjb25zdCBhcnJheSA9IHRoaXMuc2VsZWN0ZWRPcHRpb25zO1xuXG4gICAgICAgIHJldHVybiBjb21wYXJlID8gYXJyYXkuc29tZSgoYXJyYXlWYWx1ZSkgPT4gY29tcGFyZShvcHRpb24sIGFycmF5VmFsdWUpKSA6IGFycmF5LmluY2x1ZGVzKG9wdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0FkZGVkKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdmFsdWVMb3dlckNhc2UgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZE9wdGlvbnMuc29tZSgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gdmFsdWVMb3dlckNhc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNFeGlzdHModmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB2YWx1ZUxvd2VyQ2FzZSA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHJldHVybiB0aGlzLmFsbG93T25seVByZWRlZmluZWRWYWx1ZXMgPyB0aGlzLmF1dG9jb21wbGV0ZU9wdGlvbnMuc29tZSgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gdmFsdWVMb3dlckNhc2UpIDogdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0KCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IFtdO1xuICAgICAgICB0aGlzLm9wdGlvbnNDaGFuZ2VkLmVtaXQodGhpcy5zZWxlY3RlZE9wdGlvbnMpO1xuICAgICAgICB0aGlzLmZvcm1DdHJsLnNldFZhbHVlKCcnKTtcbiAgICAgICAgdGhpcy5vcHRpb25JbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiYWRmLWNoaXAtbGlzdFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgPG1hdC1jaGlwLWdyaWQgI2NoaXBMaXN0IFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NFQVJDSC5GSUxURVIuQVJJQS1MQUJFTC5PUFRJT05TLVNFTEVDVElPTicgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgPG1hdC1jaGlwLXJvd1xuICAgICAgICAgICAgY2xhc3M9XCJhZGYtb3B0aW9uLWNoaXBzIGFkZi1hdXRvY29tcGxldGUtYWRkZWQtb3B0aW9uLWNoaXBzXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2VsZWN0ZWRPcHRpb25zXCJcbiAgICAgICAgICAgIChyZW1vdmVkKT1cInJlbW92ZShvcHRpb24pXCI+XG4gICAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwib3B0aW9uLmZ1bGxQYXRoID8gKCdTRUFSQ0guUkVTVUxUUy5XSUxMX0NPTlRBSU4nIHwgdHJhbnNsYXRlOntzZWFyY2hUZXJtOiBvcHRpb24uZnVsbFBhdGh9KSA6IHVuZGVmaW5lZFwiPlxuICAgICAgICAgICAgICAgIHt7IG9wdGlvbi52YWx1ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdENoaXBSZW1vdmVcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1vcHRpb24tY2hpcHMtZGVsZXRlLWJ1dHRvbiBhZGYtYXV0b2NvbXBsZXRlLWFkZGVkLW9wdGlvbi1jaGlwcy1kZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ1NFQVJDSC5GSUxURVIuQlVUVE9OUy5SRU1PVkUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhZGYtb3B0aW9uLWNoaXBzLWRlbGV0ZS1pY29uIGFkZi1hdXRvY29tcGxldGUtYWRkZWQtb3B0aW9uLWNoaXBzLWRlbGV0ZS1pY29uXCI+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbWF0LWNoaXAtcm93PlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgYXJpYS1jb250cm9scz1cImFkZi1zZWFyY2gtY2hpcC1hdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgI29wdGlvbklucHV0XG4gICAgICAgICAgICAjYXV0b2NvbXBsZXRlVHJpZ2dlcj1cIm1hdEF1dG9jb21wbGV0ZVRyaWdnZXJcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1DdHJsXCJcbiAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICAgICAgICBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBMaXN0XCJcbiAgICAgICAgICAgIFttYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2Rlc109XCJzZXBhcmF0b3JLZXlzQ29kZXNcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1zZWFyY2gtcHJvcGVydGllcy1maWxlLWlucHV0XCJcbiAgICAgICAgICAgIChtYXRDaGlwSW5wdXRUb2tlbkVuZCk9XCJhZGQoJGV2ZW50KVwiXG4gICAgICAgICAgICAoYmx1cik9XCJhY3RpdmVBbnlPcHRpb24gPSBmYWxzZTsgYXV0b2NvbXBsZXRlVHJpZ2dlci5jbG9zZVBhbmVsKClcIlxuICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXNlYXJjaC1jaGlwLWF1dG9jb21wbGV0ZS1pbnB1dFwiPlxuICAgIDwvbWF0LWNoaXAtZ3JpZD5cbiAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9XCJzZWxlY3RlZCgkZXZlbnQpXCIgaWQ9XCJhZGYtc2VhcmNoLWNoaXAtYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAob3B0aW9uQWN0aXZhdGVkKT1cImFjdGl2ZUFueU9wdGlvbiA9IHRydWVcIiAoY2xvc2VkKT1cImFjdGl2ZUFueU9wdGlvbiA9IGZhbHNlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25JbnB1dC52YWx1ZS5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgICAgICAgICAgICAobW91c2Vkb3duKT0kZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc09wdGlvblNlbGVjdGVkKG9wdGlvbilcIlxuICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInb3B0aW9uLScgKyBvcHRpb24udmFsdWVcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJvcHRpb24uZnVsbFBhdGggPyAoJ1NFQVJDSC5SRVNVTFRTLldJTExfQ09OVEFJTicgfCB0cmFuc2xhdGUgOiB7IHNlYXJjaFRlcm06IG9wdGlvbi5mdWxsUGF0aCB8fCBvcHRpb24udmFsdWUgfSkgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNlYXJjaC1jaGlwLWF1dG9jb21wbGV0ZS1hZGRlZC1vcHRpb25cIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImlzT3B0aW9uU2VsZWN0ZWQob3B0aW9uKSAmJiAnYWRmLWF1dG9jb21wbGV0ZS1hZGRlZC1vcHRpb24nXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBvcHRpb24uZnVsbFBhdGggfHwgb3B0aW9uLnZhbHVlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
@@ -1,47 +0,0 @@
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, ViewEncapsulation, Input } from '@angular/core';
18
- import { SearchFilterComponent } from '../../components/search-filter/search-filter.component';
19
- import { SearchFacetFiltersService } from '../../services/search-facet-filters.service';
20
- import { CommonModule } from '@angular/common';
21
- import { MatChipsModule } from '@angular/material/chips';
22
- import { TranslateModule } from '@ngx-translate/core';
23
- import { MatIconModule } from '@angular/material/icon';
24
- import * as i0 from "@angular/core";
25
- import * as i1 from "../../services/search-facet-filters.service";
26
- import * as i2 from "@angular/common";
27
- import * as i3 from "@angular/material/chips";
28
- import * as i4 from "@ngx-translate/core";
29
- import * as i5 from "@angular/material/icon";
30
- export class SearchChipListComponent {
31
- constructor(facetFiltersService) {
32
- this.facetFiltersService = facetFiltersService;
33
- /** Flag used to enable the display of a clear-all-filters button. */
34
- this.clearAll = false;
35
- }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchChipListComponent, deps: [{ token: i1.SearchFacetFiltersService }], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchChipListComponent, isStandalone: true, selector: "adf-search-chip-list", inputs: { searchFilter: "searchFilter", clearAll: "clearAll" }, host: { classAttribute: "adf-search-chip-list" }, ngImport: i0, template: "<mat-chip-listbox>\n <ng-container *ngIf=\"facetFiltersService.selectedBuckets.length\">\n <mat-chip-option *ngIf=\"clearAll && facetFiltersService.selectedBuckets.length > 1\"\n data-automation-id=\"reset-filter\"\n color=\"primary\"\n selected\n class=\"adf-search-chip-list-item\"\n title=\"{{ 'SEARCH.FILTER.BUTTONS.CLEAR-ALL.TOOLTIP' | translate }}\"\n (click)=\"facetFiltersService.resetAllSelectedBuckets()\">\n {{ 'SEARCH.FILTER.BUTTONS.CLEAR-ALL.LABEL' | translate }}\n </mat-chip-option>\n\n <mat-chip-option\n data-automation-id=\"chip-list-entry\"\n class=\"adf-search-chip-list-item\"\n *ngFor=\"let selection of facetFiltersService.selectedBuckets\"\n [removable]=\"true\"\n (removed)=\"facetFiltersService.unselectFacetBucket(selection.field, selection.bucket)\">\n {{ (selection.bucket.display || selection.bucket.label) | translate }}\n <mat-icon class=\"adf-search-chip-list-item-remove\" matChipRemove>cancel</mat-icon>\n </mat-chip-option>\n </ng-container>\n</mat-chip-listbox>\n", styles: [".adf-search-chip-list-item:focus{color:var(--theme-accent-color-default-contrast);background-color:var(--theme-accent-color)}.adf-search-chip-list-item:focus .adf-search-chip-list-item-remove{color:var(--theme-accent-color-default-contrast);opacity:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i3.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i3.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "directive", type: i3.MatChipRemove, selector: "[matChipRemove]" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchChipListComponent, decorators: [{
40
- type: Component,
41
- args: [{ selector: 'adf-search-chip-list', standalone: true, imports: [CommonModule, MatChipsModule, TranslateModule, MatIconModule], encapsulation: ViewEncapsulation.None, host: { class: 'adf-search-chip-list' }, template: "<mat-chip-listbox>\n <ng-container *ngIf=\"facetFiltersService.selectedBuckets.length\">\n <mat-chip-option *ngIf=\"clearAll && facetFiltersService.selectedBuckets.length > 1\"\n data-automation-id=\"reset-filter\"\n color=\"primary\"\n selected\n class=\"adf-search-chip-list-item\"\n title=\"{{ 'SEARCH.FILTER.BUTTONS.CLEAR-ALL.TOOLTIP' | translate }}\"\n (click)=\"facetFiltersService.resetAllSelectedBuckets()\">\n {{ 'SEARCH.FILTER.BUTTONS.CLEAR-ALL.LABEL' | translate }}\n </mat-chip-option>\n\n <mat-chip-option\n data-automation-id=\"chip-list-entry\"\n class=\"adf-search-chip-list-item\"\n *ngFor=\"let selection of facetFiltersService.selectedBuckets\"\n [removable]=\"true\"\n (removed)=\"facetFiltersService.unselectFacetBucket(selection.field, selection.bucket)\">\n {{ (selection.bucket.display || selection.bucket.label) | translate }}\n <mat-icon class=\"adf-search-chip-list-item-remove\" matChipRemove>cancel</mat-icon>\n </mat-chip-option>\n </ng-container>\n</mat-chip-listbox>\n", styles: [".adf-search-chip-list-item:focus{color:var(--theme-accent-color-default-contrast);background-color:var(--theme-accent-color)}.adf-search-chip-list-item:focus .adf-search-chip-list-item-remove{color:var(--theme-accent-color-default-contrast);opacity:1}\n"] }]
42
- }], ctorParameters: () => [{ type: i1.SearchFacetFiltersService }], propDecorators: { searchFilter: [{
43
- type: Input
44
- }], clearAll: [{
45
- type: Input
46
- }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNoaXAtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlYXJjaC9jb21wb25lbnRzL3NlYXJjaC1jaGlwLWxpc3Qvc2VhcmNoLWNoaXAtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlYXJjaC9jb21wb25lbnRzL3NlYXJjaC1jaGlwLWxpc3Qvc2VhcmNoLWNoaXAtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUMvRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7QUFXdkQsTUFBTSxPQUFPLHVCQUF1QjtJQVloQyxZQUFtQixtQkFBOEM7UUFBOUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEyQjtRQUpqRSxxRUFBcUU7UUFFckUsYUFBUSxHQUFZLEtBQUssQ0FBQztJQUUwQyxDQUFDOytHQVo1RCx1QkFBdUI7bUdBQXZCLHVCQUF1QixrTUNsQ3BDLHNxQ0F1QkEsc1RES2MsWUFBWSwrUEFBRSxjQUFjLDBoQkFBRSxlQUFlLDJGQUFFLGFBQWE7OzRGQU03RCx1QkFBdUI7a0JBVG5DLFNBQVM7K0JBQ0ksc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQyxpQkFHeEQsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRTs4RkFRdkMsWUFBWTtzQkFEWCxLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlYXJjaEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2VhcmNoLWZpbHRlci9zZWFyY2gtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hGYWNldEZpbHRlcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VhcmNoLWZhY2V0LWZpbHRlcnMuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2VhcmNoLWNoaXAtbGlzdCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRDaGlwc01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWNoaXAtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWNoaXAtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi1zZWFyY2gtY2hpcC1saXN0JyB9XG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaENoaXBMaXN0Q29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiBTZWFyY2ggZmlsdGVyIHRvIHN1cHBseSB0aGUgZGF0YSBmb3IgdGhlIGNoaXBzLlxuICAgICAqIE5vdCByZXF1aXJlZCBmcm9tIDQuNS4wIGFuZCBsYXRlciB2ZXJzaW9ucyBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2VhcmNoRmlsdGVyOiBTZWFyY2hGaWx0ZXJDb21wb25lbnQ7XG5cbiAgICAvKiogRmxhZyB1c2VkIHRvIGVuYWJsZSB0aGUgZGlzcGxheSBvZiBhIGNsZWFyLWFsbC1maWx0ZXJzIGJ1dHRvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNsZWFyQWxsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZmFjZXRGaWx0ZXJzU2VydmljZTogU2VhcmNoRmFjZXRGaWx0ZXJzU2VydmljZSkge31cbn1cbiIsIjxtYXQtY2hpcC1saXN0Ym94PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmYWNldEZpbHRlcnNTZXJ2aWNlLnNlbGVjdGVkQnVja2V0cy5sZW5ndGhcIj5cbiAgICAgICAgPG1hdC1jaGlwLW9wdGlvbiAqbmdJZj1cImNsZWFyQWxsICYmIGZhY2V0RmlsdGVyc1NlcnZpY2Uuc2VsZWN0ZWRCdWNrZXRzLmxlbmd0aCA+IDFcIlxuICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwicmVzZXQtZmlsdGVyXCJcbiAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBzZWxlY3RlZFxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2VhcmNoLWNoaXAtbGlzdC1pdGVtXCJcbiAgICAgICAgICAgIHRpdGxlPVwie3sgJ1NFQVJDSC5GSUxURVIuQlVUVE9OUy5DTEVBUi1BTEwuVE9PTFRJUCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImZhY2V0RmlsdGVyc1NlcnZpY2UucmVzZXRBbGxTZWxlY3RlZEJ1Y2tldHMoKVwiPlxuICAgICAgICAgICAge3sgJ1NFQVJDSC5GSUxURVIuQlVUVE9OUy5DTEVBUi1BTEwuTEFCRUwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWNoaXAtb3B0aW9uPlxuXG4gICAgICAgIDxtYXQtY2hpcC1vcHRpb25cbiAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImNoaXAtbGlzdC1lbnRyeVwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1zZWFyY2gtY2hpcC1saXN0LWl0ZW1cIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNlbGVjdGlvbiBvZiBmYWNldEZpbHRlcnNTZXJ2aWNlLnNlbGVjdGVkQnVja2V0c1wiXG4gICAgICAgICAgICBbcmVtb3ZhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgKHJlbW92ZWQpPVwiZmFjZXRGaWx0ZXJzU2VydmljZS51bnNlbGVjdEZhY2V0QnVja2V0KHNlbGVjdGlvbi5maWVsZCwgc2VsZWN0aW9uLmJ1Y2tldClcIj5cbiAgICAgICAgICAgIHt7IChzZWxlY3Rpb24uYnVja2V0LmRpc3BsYXkgfHwgc2VsZWN0aW9uLmJ1Y2tldC5sYWJlbCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFkZi1zZWFyY2gtY2hpcC1saXN0LWl0ZW0tcmVtb3ZlXCIgbWF0Q2hpcFJlbW92ZT5jYW5jZWw8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1jaGlwLW9wdGlvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LWNoaXAtbGlzdGJveD5cbiJdfQ==
@@ -1,181 +0,0 @@
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 { AuthenticationService, HighlightPipe, SearchTextInputComponent, ThumbnailService } from '@alfresco/adf-core';
18
- import { Component, ContentChild, EventEmitter, Input, Output, QueryList, ViewChild, ViewChildren, ViewEncapsulation } from '@angular/core';
19
- import { Subject } from 'rxjs';
20
- import { SearchComponent } from './search.component';
21
- import { MatListItem, MatListModule } from '@angular/material/list';
22
- import { EmptySearchResultComponent } from './empty-search-result.component';
23
- import { CommonModule } from '@angular/common';
24
- import { MatIconModule } from '@angular/material/icon';
25
- import { TranslateModule } from '@ngx-translate/core';
26
- import * as i0 from "@angular/core";
27
- import * as i1 from "@alfresco/adf-core";
28
- import * as i2 from "@angular/common";
29
- import * as i3 from "@angular/material/list";
30
- import * as i4 from "@angular/material/icon";
31
- import * as i5 from "@ngx-translate/core";
32
- export class SearchControlComponent {
33
- constructor(authService, thumbnailService) {
34
- this.authService = authService;
35
- this.thumbnailService = thumbnailService;
36
- /** Toggles highlighting of the search term in the results. */
37
- this.highlight = false;
38
- /** Type of the input field to render, e.g. "search" or "text" (default). */
39
- this.inputType = 'text';
40
- /** Toggles "find-as-you-type" suggestions for possible matches. */
41
- this.liveSearchEnabled = true;
42
- /** Toggles auto-completion of the search input field. */
43
- this.autocomplete = false;
44
- /**
45
- * Toggles whether to use an expanding search control. If false
46
- * then a regular input is used.
47
- */
48
- this.expandable = true;
49
- /** Maximum number of results to show in the live search. */
50
- this.liveSearchMaxResults = 5;
51
- /**
52
- * Emitted when the search is submitted by pressing the ENTER key.
53
- * The search term is provided as the value of the event.
54
- */
55
- this.submit = new EventEmitter();
56
- /**
57
- * Emitted when the search term is changed. The search term is provided
58
- * in the 'value' property of the returned object. If the term is less
59
- * than three characters in length then it is truncated to an empty
60
- * string.
61
- */
62
- this.searchChange = new EventEmitter();
63
- /** Emitted when a file item from the list of "find-as-you-type" results is selected. */
64
- this.optionClicked = new EventEmitter();
65
- this.focusSubject = new Subject();
66
- this.noSearchResultTemplate = null;
67
- this.searchTerm = '';
68
- }
69
- isNoSearchTemplatePresent() {
70
- return !!this.emptySearchTemplate;
71
- }
72
- isLoggedIn() {
73
- return this.authService.isEcmLoggedIn();
74
- }
75
- inputChange(value) {
76
- this.searchTerm = value;
77
- this.searchChange.emit(value);
78
- }
79
- getMimeTypeIcon(node) {
80
- const mimeType = this.getMimeType(node);
81
- return this.thumbnailService.getMimeTypeIcon(mimeType);
82
- }
83
- getMimeType(node) {
84
- let mimeType;
85
- if (node.entry.content?.mimeType) {
86
- mimeType = node.entry.content.mimeType;
87
- }
88
- if (node.entry.isFolder) {
89
- mimeType = 'folder';
90
- }
91
- return mimeType;
92
- }
93
- elementClicked(item) {
94
- if (item.entry) {
95
- this.optionClicked.next(item);
96
- this.focusSubject.next(new FocusEvent('blur'));
97
- }
98
- }
99
- onFocus(event) {
100
- this.focusSubject.next(event);
101
- }
102
- onBlur(event) {
103
- const nextElement = this.getNextElementSibling(event.target);
104
- if (!nextElement && !this.isListElement(event)) {
105
- this.focusSubject.next(event);
106
- }
107
- }
108
- onSelectFirstResult() {
109
- if (this.listResultElement && this.listResultElement.length > 0) {
110
- const firstElement = this.listResultElement.first;
111
- // eslint-disable-next-line no-underscore-dangle
112
- firstElement._hostElement.focus();
113
- }
114
- }
115
- onRowArrowDown(event) {
116
- const nextElement = this.getNextElementSibling(event.target);
117
- if (nextElement) {
118
- nextElement.focus();
119
- }
120
- }
121
- onRowArrowUp(event) {
122
- const previousElement = this.getPreviousElementSibling(event.target);
123
- if (previousElement) {
124
- previousElement.focus();
125
- }
126
- else {
127
- this.focusSubject.next(new FocusEvent('focus'));
128
- }
129
- }
130
- onReset(status) {
131
- if (status) {
132
- this.searchAutocomplete.resetResults();
133
- }
134
- }
135
- isListElement(event) {
136
- return event.relatedTarget?.children[0] && event.relatedTarget.children[0].className === 'mat-list-item-content';
137
- }
138
- getNextElementSibling(node) {
139
- return node.nextElementSibling;
140
- }
141
- getPreviousElementSibling(node) {
142
- return node.previousElementSibling;
143
- }
144
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchControlComponent, deps: [{ token: i1.AuthenticationService }, { token: i1.ThumbnailService }], target: i0.ɵɵFactoryTarget.Component }); }
145
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchControlComponent, isStandalone: true, selector: "adf-search-control", inputs: { highlight: "highlight", inputType: "inputType", liveSearchEnabled: "liveSearchEnabled", autocomplete: "autocomplete", expandable: "expandable", liveSearchMaxResults: "liveSearchMaxResults" }, outputs: { submit: "submit", searchChange: "searchChange", optionClicked: "optionClicked" }, host: { classAttribute: "adf-search-control" }, queries: [{ propertyName: "emptySearchTemplate", first: true, predicate: EmptySearchResultComponent, descendants: true }], viewQueries: [{ propertyName: "searchTextInput", first: true, predicate: ["searchTextInput"], descendants: true }, { propertyName: "searchAutocomplete", first: true, predicate: ["search"], descendants: true }, { propertyName: "listResultElement", predicate: MatListItem, descendants: true }], ngImport: i0, template: "<div *ngIf=\"isLoggedIn()\">\n <adf-search-text-input #searchTextInput\n [searchTerm]= \"searchTerm\"\n [expandable]=\"expandable\"\n [autocomplete]=\"autocomplete\"\n [liveSearchEnabled]=\"liveSearchEnabled\"\n [focusListener]=\"focusSubject.asObservable()\"\n [searchAutocomplete]=\"auto\"\n (searchChange)=\"inputChange($event)\"\n (reset)=\"onReset($event)\"\n (selectResult)=\"onSelectFirstResult()\"\n (submit)=\"submit.emit($event)\" />\n\n <adf-search #search\n #auto=\"searchAutocomplete\"\n class=\"adf-search-result-autocomplete\"\n [maxResults]=\"liveSearchMaxResults\">\n <ng-template let-data>\n <mat-list *ngIf=\"searchTextInput?.isSearchBarActive()\" id=\"autocomplete-search-result-list\">\n <mat-list-item\n *ngFor=\"let item of data?.list?.entries; let idx = index\"\n id=\"result_option_{{idx}}\"\n [attr.data-automation-id]=\"'autocomplete_for_' + item.entry.name\"\n [tabindex]=\"0\"\n (blur)=\"onBlur($event)\"\n (keyup.arrowdown)=\"onRowArrowDown($event)\"\n (keyup.arrowup)=\"onRowArrowUp($event)\"\n class=\"adf-search-autocomplete-item\"\n (click)=\"elementClicked(item)\"\n (keyup.enter)=\"elementClicked(item)\"\n (touchend)=\"elementClicked(item)\">\n <!-- This is a comment -->\n <mat-icon matListItemLine>\n <img [alt]=\"getMimeType(item)\" [src]=\"getMimeTypeIcon(item)\"/>\n </mat-icon>\n <h4 matListItemTitle id=\"result_name_{{idx}}\"\n *ngIf=\"highlight; else elseBlock\"\n class=\"adf-search-fixed-text\"\n [innerHtml]=\"item.entry.name | highlight: searchTerm\">\n {{ item?.entry.name }}\n </h4>\n <ng-template #elseBlock>\n <h4 class=\"adf-search-fixed-text\" matListItemTitle id=\"result_name_{{idx}}\"\n [innerHtml]=\"item.entry.name\"></h4>\n </ng-template>\n <p matListItemLine class=\"adf-search-fixed-text\"> {{item?.entry.createdByUser.displayName}} </p>\n </mat-list-item>\n <mat-list-item id=\"search_no_result\"\n data-automation-id=\"search_no_result_found\"\n *ngIf=\"data?.list?.entries.length === 0\">\n <ng-content\n selector=\"adf-empty-search-result\"\n *ngIf=\"isNoSearchTemplatePresent() else defaultNoResult\" />\n <ng-template #defaultNoResult>\n <p matListItemLine class=\"adf-search-fixed-text\">{{ 'SEARCH.RESULTS.NONE' | translate:{searchTerm:\n searchTerm} }}</p>\n </ng-template>\n </mat-list-item>\n </mat-list>\n </ng-template>\n </adf-search>\n</div>\n", styles: [".adf-search-result-autocomplete{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;transform-origin:top left;transform:translate(-40px);position:absolute;max-height:400px;margin-left:45px;margin-top:-22px;font-size:var(--theme-subheading-1-font-size);z-index:5;color:var(--adf-theme-foreground-text-color);background-color:var(--adf-theme-background-card-color);border-radius:2px}.adf-search-result-autocomplete:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}@media (max-width: 959.9px){.adf-search-result-autocomplete{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}.adf-search-autocomplete-item:hover{background-color:var(--adf-theme-background-hover-color);opacity:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SearchTextInputComponent, selector: "adf-search-text-input", inputs: ["autocomplete", "expandable", "inputType", "liveSearchEnabled", "searchAutocomplete", "searchTerm", "debounceTime", "focusListener", "collapseOnSubmit", "defaultState", "collapseOnBlur", "showClearButton", "placeholder", "label", "hintLabel"], outputs: ["searchChange", "submit", "selectResult", "reset", "searchVisibility"] }, { kind: "component", type: SearchComponent, selector: "adf-search", inputs: ["displayWith", "maxResults", "skipResults", "searchTerm", "class"], outputs: ["resultLoaded", "error"], exportAs: ["searchAutocomplete"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i3.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i3.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i3.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: HighlightPipe, name: "highlight" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
146
- }
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchControlComponent, decorators: [{
148
- type: Component,
149
- args: [{ selector: 'adf-search-control', standalone: true, imports: [CommonModule, SearchTextInputComponent, SearchComponent, MatListModule, MatIconModule, HighlightPipe, TranslateModule], encapsulation: ViewEncapsulation.None, host: { class: 'adf-search-control' }, template: "<div *ngIf=\"isLoggedIn()\">\n <adf-search-text-input #searchTextInput\n [searchTerm]= \"searchTerm\"\n [expandable]=\"expandable\"\n [autocomplete]=\"autocomplete\"\n [liveSearchEnabled]=\"liveSearchEnabled\"\n [focusListener]=\"focusSubject.asObservable()\"\n [searchAutocomplete]=\"auto\"\n (searchChange)=\"inputChange($event)\"\n (reset)=\"onReset($event)\"\n (selectResult)=\"onSelectFirstResult()\"\n (submit)=\"submit.emit($event)\" />\n\n <adf-search #search\n #auto=\"searchAutocomplete\"\n class=\"adf-search-result-autocomplete\"\n [maxResults]=\"liveSearchMaxResults\">\n <ng-template let-data>\n <mat-list *ngIf=\"searchTextInput?.isSearchBarActive()\" id=\"autocomplete-search-result-list\">\n <mat-list-item\n *ngFor=\"let item of data?.list?.entries; let idx = index\"\n id=\"result_option_{{idx}}\"\n [attr.data-automation-id]=\"'autocomplete_for_' + item.entry.name\"\n [tabindex]=\"0\"\n (blur)=\"onBlur($event)\"\n (keyup.arrowdown)=\"onRowArrowDown($event)\"\n (keyup.arrowup)=\"onRowArrowUp($event)\"\n class=\"adf-search-autocomplete-item\"\n (click)=\"elementClicked(item)\"\n (keyup.enter)=\"elementClicked(item)\"\n (touchend)=\"elementClicked(item)\">\n <!-- This is a comment -->\n <mat-icon matListItemLine>\n <img [alt]=\"getMimeType(item)\" [src]=\"getMimeTypeIcon(item)\"/>\n </mat-icon>\n <h4 matListItemTitle id=\"result_name_{{idx}}\"\n *ngIf=\"highlight; else elseBlock\"\n class=\"adf-search-fixed-text\"\n [innerHtml]=\"item.entry.name | highlight: searchTerm\">\n {{ item?.entry.name }}\n </h4>\n <ng-template #elseBlock>\n <h4 class=\"adf-search-fixed-text\" matListItemTitle id=\"result_name_{{idx}}\"\n [innerHtml]=\"item.entry.name\"></h4>\n </ng-template>\n <p matListItemLine class=\"adf-search-fixed-text\"> {{item?.entry.createdByUser.displayName}} </p>\n </mat-list-item>\n <mat-list-item id=\"search_no_result\"\n data-automation-id=\"search_no_result_found\"\n *ngIf=\"data?.list?.entries.length === 0\">\n <ng-content\n selector=\"adf-empty-search-result\"\n *ngIf=\"isNoSearchTemplatePresent() else defaultNoResult\" />\n <ng-template #defaultNoResult>\n <p matListItemLine class=\"adf-search-fixed-text\">{{ 'SEARCH.RESULTS.NONE' | translate:{searchTerm:\n searchTerm} }}</p>\n </ng-template>\n </mat-list-item>\n </mat-list>\n </ng-template>\n </adf-search>\n</div>\n", styles: [".adf-search-result-autocomplete{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;transform-origin:top left;transform:translate(-40px);position:absolute;max-height:400px;margin-left:45px;margin-top:-22px;font-size:var(--theme-subheading-1-font-size);z-index:5;color:var(--adf-theme-foreground-text-color);background-color:var(--adf-theme-background-card-color);border-radius:2px}.adf-search-result-autocomplete:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}@media (max-width: 959.9px){.adf-search-result-autocomplete{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}.adf-search-autocomplete-item:hover{background-color:var(--adf-theme-background-hover-color);opacity:1}\n"] }]
150
- }], ctorParameters: () => [{ type: i1.AuthenticationService }, { type: i1.ThumbnailService }], propDecorators: { highlight: [{
151
- type: Input
152
- }], inputType: [{
153
- type: Input
154
- }], liveSearchEnabled: [{
155
- type: Input
156
- }], autocomplete: [{
157
- type: Input
158
- }], expandable: [{
159
- type: Input
160
- }], liveSearchMaxResults: [{
161
- type: Input
162
- }], submit: [{
163
- type: Output
164
- }], searchChange: [{
165
- type: Output
166
- }], optionClicked: [{
167
- type: Output
168
- }], searchTextInput: [{
169
- type: ViewChild,
170
- args: ['searchTextInput']
171
- }], searchAutocomplete: [{
172
- type: ViewChild,
173
- args: ['search']
174
- }], listResultElement: [{
175
- type: ViewChildren,
176
- args: [MatListItem]
177
- }], emptySearchTemplate: [{
178
- type: ContentChild,
179
- args: [EmptySearchResultComponent]
180
- }] } });
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9zZWFyY2gvY29tcG9uZW50cy9zZWFyY2gtY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlYXJjaC9jb21wb25lbnRzL3NlYXJjaC1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0SCxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7OztBQVd0RCxNQUFNLE9BQU8sc0JBQXNCO0lBZ0UvQixZQUFtQixXQUFrQyxFQUFVLGdCQUFrQztRQUE5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QUNuQyxDQUFDO0lBRU8seUJBQXlCLENBQUMsSUFBYTtRQUMzQyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUN2QyxDQUFDOytHQXpKUSxzQkFBc0I7bUdBQXRCLHNCQUFzQixzZEF5RGpCLDBCQUEwQiwwUkFIMUIsV0FBVyxnREN0RzdCLHM1R0E4REEsdXpCRHBCYyxZQUFZLGdRQUFFLHdCQUF3QixpWkFBRSxlQUFlLHlNQUFFLGFBQWEseWJBQUUsYUFBYSwrS0FBRSxhQUFhLGlEQUFFLGVBQWU7OzRGQU10SCxzQkFBc0I7a0JBVGxDLFNBQVM7K0JBQ0ksb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSx3QkFBd0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLGlCQUdqSCxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO3lIQUtyQyxTQUFTO3NCQURSLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFLTixZQUFZO3NCQURYLEtBQUs7Z0JBUU4sVUFBVTtzQkFEVCxLQUFLO2dCQUtOLG9CQUFvQjtzQkFEbkIsS0FBSztnQkFRTixNQUFNO3NCQURMLE1BQU07Z0JBVVAsWUFBWTtzQkFEWCxNQUFNO2dCQUtQLGFBQWE7c0JBRFosTUFBTTtnQkFJUCxlQUFlO3NCQURkLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUk1QixrQkFBa0I7c0JBRGpCLFNBQVM7dUJBQUMsUUFBUTtnQkFJWCxpQkFBaUI7c0JBRHhCLFlBQVk7dUJBQUMsV0FBVztnQkFJekIsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlLCBIaWdobGlnaHRQaXBlLCBTZWFyY2hUZXh0SW5wdXRDb21wb25lbnQsIFRodW1ibmFpbFNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlRW50cnkgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRMaXN0SXRlbSwgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgRW1wdHlTZWFyY2hSZXN1bHRDb21wb25lbnQgfSBmcm9tICcuL2VtcHR5LXNlYXJjaC1yZXN1bHQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2VhcmNoLWNvbnRyb2wnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2VhcmNoVGV4dElucHV0Q29tcG9uZW50LCBTZWFyY2hDb21wb25lbnQsIE1hdExpc3RNb2R1bGUsIE1hdEljb25Nb2R1bGUsIEhpZ2hsaWdodFBpcGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi1zZWFyY2gtY29udHJvbCcgfVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hDb250cm9sQ29tcG9uZW50IHtcbiAgICAvKiogVG9nZ2xlcyBoaWdobGlnaHRpbmcgb2YgdGhlIHNlYXJjaCB0ZXJtIGluIHRoZSByZXN1bHRzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaGlnaGxpZ2h0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogVHlwZSBvZiB0aGUgaW5wdXQgZmllbGQgdG8gcmVuZGVyLCBlLmcuIFwic2VhcmNoXCIgb3IgXCJ0ZXh0XCIgKGRlZmF1bHQpLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5wdXRUeXBlOiBzdHJpbmcgPSAndGV4dCc7XG5cbiAgICAvKiogVG9nZ2xlcyBcImZpbmQtYXMteW91LXR5cGVcIiBzdWdnZXN0aW9ucyBmb3IgcG9zc2libGUgbWF0Y2hlcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGxpdmVTZWFyY2hFbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBUb2dnbGVzIGF1dG8tY29tcGxldGlvbiBvZiB0aGUgc2VhcmNoIGlucHV0IGZpZWxkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXV0b2NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIHdoZXRoZXIgdG8gdXNlIGFuIGV4cGFuZGluZyBzZWFyY2ggY29udHJvbC4gSWYgZmFsc2VcbiAgICAgKiB0aGVuIGEgcmVndWxhciBpbnB1dCBpcyB1c2VkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZXhwYW5kYWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogTWF4aW11bSBudW1iZXIgb2YgcmVzdWx0cyB0byBzaG93IGluIHRoZSBsaXZlIHNlYXJjaC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGxpdmVTZWFyY2hNYXhSZXN1bHRzOiBudW1iZXIgPSA1O1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIHRoZSBzZWFyY2ggaXMgc3VibWl0dGVkIGJ5IHByZXNzaW5nIHRoZSBFTlRFUiBrZXkuXG4gICAgICogVGhlIHNlYXJjaCB0ZXJtIGlzIHByb3ZpZGVkIGFzIHRoZSB2YWx1ZSBvZiB0aGUgZXZlbnQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgc3VibWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiB0aGUgc2VhcmNoIHRlcm0gaXMgY2hhbmdlZC4gVGhlIHNlYXJjaCB0ZXJtIGlzIHByb3ZpZGVkXG4gICAgICogaW4gdGhlICd2YWx1ZScgcHJvcGVydHkgb2YgdGhlIHJldHVybmVkIG9iamVjdC4gIElmIHRoZSB0ZXJtIGlzIGxlc3NcbiAgICAgKiB0aGFuIHRocmVlIGNoYXJhY3RlcnMgaW4gbGVuZ3RoIHRoZW4gaXQgaXMgdHJ1bmNhdGVkIHRvIGFuIGVtcHR5XG4gICAgICogc3RyaW5nLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlYXJjaENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGEgZmlsZSBpdGVtIGZyb20gdGhlIGxpc3Qgb2YgXCJmaW5kLWFzLXlvdS10eXBlXCIgcmVzdWx0cyBpcyBzZWxlY3RlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBvcHRpb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3NlYXJjaFRleHRJbnB1dCcpXG4gICAgc2VhcmNoVGV4dElucHV0OiBTZWFyY2hUZXh0SW5wdXRDb21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdzZWFyY2gnKVxuICAgIHNlYXJjaEF1dG9jb21wbGV0ZTogU2VhcmNoQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZHJlbihNYXRMaXN0SXRlbSlcbiAgICBwcml2YXRlIGxpc3RSZXN1bHRFbGVtZW50OiBRdWVyeUxpc3Q8TWF0TGlzdEl0ZW0+O1xuXG4gICAgQENvbnRlbnRDaGlsZChFbXB0eVNlYXJjaFJlc3VsdENvbXBvbmVudClcbiAgICBlbXB0eVNlYXJjaFRlbXBsYXRlOiBFbXB0eVNlYXJjaFJlc3VsdENvbXBvbmVudDtcblxuICAgIGZvY3VzU3ViamVjdCA9IG5ldyBTdWJqZWN0PEZvY3VzRXZlbnQ+KCk7XG4gICAgbm9TZWFyY2hSZXN1bHRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiA9IG51bGw7XG4gICAgc2VhcmNoVGVybTogc3RyaW5nID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSwgcHJpdmF0ZSB0aHVtYm5haWxTZXJ2aWNlOiBUaHVtYm5haWxTZXJ2aWNlKSB7fVxuXG4gICAgaXNOb1NlYXJjaFRlbXBsYXRlUHJlc2VudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5lbXB0eVNlYXJjaFRlbXBsYXRlO1xuICAgIH1cbiAgICBpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5pc0VjbUxvZ2dlZEluKCk7XG4gICAgfVxuXG4gICAgaW5wdXRDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNlYXJjaFRlcm0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZWFyY2hDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0TWltZVR5cGVJY29uKG5vZGU6IE5vZGVFbnRyeSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG1pbWVUeXBlID0gdGhpcy5nZXRNaW1lVHlwZShub2RlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMudGh1bWJuYWlsU2VydmljZS5nZXRNaW1lVHlwZUljb24obWltZVR5cGUpO1xuICAgIH1cblxuICAgIGdldE1pbWVUeXBlKG5vZGU6IE5vZGVFbnRyeSk6IHN0cmluZyB7XG4gICAgICAgIGxldCBtaW1lVHlwZTogc3RyaW5nO1xuXG4gICAgICAgIGlmIChub2RlLmVudHJ5LmNvbnRlbnQ/Lm1pbWVUeXBlKSB7XG4gICAgICAgICAgICBtaW1lVHlwZSA9IG5vZGUuZW50cnkuY29udGVudC5taW1lVHlwZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5lbnRyeS5pc0ZvbGRlcikge1xuICAgICAgICAgICAgbWltZVR5cGUgPSAnZm9sZGVyJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWltZVR5cGU7XG4gICAgfVxuXG4gICAgZWxlbWVudENsaWNrZWQoaXRlbTogYW55KSB7XG4gICAgICAgIGlmIChpdGVtLmVudHJ5KSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbkNsaWNrZWQubmV4dChpdGVtKTtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNTdWJqZWN0Lm5leHQobmV3IEZvY3VzRXZlbnQoJ2JsdXInKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNTdWJqZWN0Lm5leHQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uQmx1cihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXh0RWxlbWVudDogYW55ID0gdGhpcy5nZXROZXh0RWxlbWVudFNpYmxpbmcoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpO1xuICAgICAgICBpZiAoIW5leHRFbGVtZW50ICYmICF0aGlzLmlzTGlzdEVsZW1lbnQoZXZlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzU3ViamVjdC5uZXh0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2VsZWN0Rmlyc3RSZXN1bHQoKSB7XG4gICAgICAgIGlmICh0aGlzLmxpc3RSZXN1bHRFbGVtZW50ICYmIHRoaXMubGlzdFJlc3VsdEVsZW1lbnQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZmlyc3RFbGVtZW50ID0gdGhpcy5saXN0UmVzdWx0RWxlbWVudC5maXJzdCBhcyBNYXRMaXN0SXRlbTtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuICAgICAgICAgICAgZmlyc3RFbGVtZW50Ll9ob3N0RWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Sb3dBcnJvd0Rvd24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5leHRFbGVtZW50OiBhbnkgPSB0aGlzLmdldE5leHRFbGVtZW50U2libGluZyhldmVudC50YXJnZXQgYXMgRWxlbWVudCk7XG4gICAgICAgIGlmIChuZXh0RWxlbWVudCkge1xuICAgICAgICAgICAgbmV4dEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUm93QXJyb3dVcChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNFbGVtZW50OiBhbnkgPSB0aGlzLmdldFByZXZpb3VzRWxlbWVudFNpYmxpbmcoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpO1xuICAgICAgICBpZiAocHJldmlvdXNFbGVtZW50KSB7XG4gICAgICAgICAgICBwcmV2aW91c0VsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNTdWJqZWN0Lm5leHQobmV3IEZvY3VzRXZlbnQoJ2ZvY3VzJykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25SZXNldChzdGF0dXM6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHN0YXR1cykge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hBdXRvY29tcGxldGUucmVzZXRSZXN1bHRzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzTGlzdEVsZW1lbnQoZXZlbnQ6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZXZlbnQucmVsYXRlZFRhcmdldD8uY2hpbGRyZW5bMF0gJiYgZXZlbnQucmVsYXRlZFRhcmdldC5jaGlsZHJlblswXS5jbGFzc05hbWUgPT09ICdtYXQtbGlzdC1pdGVtLWNvbnRlbnQnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TmV4dEVsZW1lbnRTaWJsaW5nKG5vZGU6IEVsZW1lbnQpOiBFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIG5vZGUubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJldmlvdXNFbGVtZW50U2libGluZyhub2RlOiBFbGVtZW50KTogRWxlbWVudCB7XG4gICAgICAgIHJldHVybiBub2RlLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XG4gICAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImlzTG9nZ2VkSW4oKVwiPlxuICAgIDxhZGYtc2VhcmNoLXRleHQtaW5wdXQgICNzZWFyY2hUZXh0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoVGVybV09IFwic2VhcmNoVGVybVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4cGFuZGFibGVdPVwiZXhwYW5kYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaXZlU2VhcmNoRW5hYmxlZF09XCJsaXZlU2VhcmNoRW5hYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZvY3VzTGlzdGVuZXJdPVwiZm9jdXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoQXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWFyY2hDaGFuZ2UpPVwiaW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlc2V0KT1cIm9uUmVzZXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFJlc3VsdCk9XCJvblNlbGVjdEZpcnN0UmVzdWx0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdWJtaXQpPVwic3VibWl0LmVtaXQoJGV2ZW50KVwiIC8+XG5cbiAgICA8YWRmLXNlYXJjaCAjc2VhcmNoXG4gICAgICAgICAgICAgICAgI2F1dG89XCJzZWFyY2hBdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNlYXJjaC1yZXN1bHQtYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgICAgICBbbWF4UmVzdWx0c109XCJsaXZlU2VhcmNoTWF4UmVzdWx0c1wiPlxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWRhdGE+XG4gICAgICAgICAgICA8bWF0LWxpc3QgKm5nSWY9XCJzZWFyY2hUZXh0SW5wdXQ/LmlzU2VhcmNoQmFyQWN0aXZlKClcIiBpZD1cImF1dG9jb21wbGV0ZS1zZWFyY2gtcmVzdWx0LWxpc3RcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxpc3QtaXRlbVxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhPy5saXN0Py5lbnRyaWVzOyBsZXQgaWR4ID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICBpZD1cInJlc3VsdF9vcHRpb25fe3tpZHh9fVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInYXV0b2NvbXBsZXRlX2Zvcl8nICsgaXRlbS5lbnRyeS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXl1cC5hcnJvd2Rvd24pPVwib25Sb3dBcnJvd0Rvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXl1cC5hcnJvd3VwKT1cIm9uUm93QXJyb3dVcCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2VhcmNoLWF1dG9jb21wbGV0ZS1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVsZW1lbnRDbGlja2VkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImVsZW1lbnRDbGlja2VkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKHRvdWNoZW5kKT1cImVsZW1lbnRDbGlja2VkKGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gVGhpcyBpcyBhIGNvbW1lbnQgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUxpbmU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFthbHRdPVwiZ2V0TWltZVR5cGUoaXRlbSlcIiBbc3JjXT1cImdldE1pbWVUeXBlSWNvbihpdGVtKVwiLz5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPGg0IG1hdExpc3RJdGVtVGl0bGUgaWQ9XCJyZXN1bHRfbmFtZV97e2lkeH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGlnaGxpZ2h0OyBlbHNlIGVsc2VCbG9ja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1zZWFyY2gtZml4ZWQtdGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIdG1sXT1cIml0ZW0uZW50cnkubmFtZSB8IGhpZ2hsaWdodDogc2VhcmNoVGVybVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbT8uZW50cnkubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2g0PlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9jaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cImFkZi1zZWFyY2gtZml4ZWQtdGV4dFwiIG1hdExpc3RJdGVtVGl0bGUgaWQ9XCJyZXN1bHRfbmFtZV97e2lkeH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIdG1sXT1cIml0ZW0uZW50cnkubmFtZVwiPjwvaDQ+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxwIG1hdExpc3RJdGVtTGluZSBjbGFzcz1cImFkZi1zZWFyY2gtZml4ZWQtdGV4dFwiPiB7e2l0ZW0/LmVudHJ5LmNyZWF0ZWRCeVVzZXIuZGlzcGxheU5hbWV9fSA8L3A+XG4gICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1pdGVtIGlkPVwic2VhcmNoX25vX3Jlc3VsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwic2VhcmNoX25vX3Jlc3VsdF9mb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRhPy5saXN0Py5lbnRyaWVzLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3I9XCJhZGYtZW1wdHktc2VhcmNoLXJlc3VsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzTm9TZWFyY2hUZW1wbGF0ZVByZXNlbnQoKSBlbHNlIGRlZmF1bHROb1Jlc3VsdFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE5vUmVzdWx0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgbWF0TGlzdEl0ZW1MaW5lIGNsYXNzPVwiYWRmLXNlYXJjaC1maXhlZC10ZXh0XCI+e3sgJ1NFQVJDSC5SRVNVTFRTLk5PTkUnIHwgdHJhbnNsYXRlOntzZWFyY2hUZXJtOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaFRlcm19IH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgICAgIDwvbWF0LWxpc3Q+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9hZGYtc2VhcmNoPlxuPC9kaXY+XG4iXX0=
@@ -1,22 +0,0 @@
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
- export * from './search-date-range/date-range-type';
18
- export * from './search-date-range/in-last-date-type';
19
- export * from './search-date-range/search-date-range';
20
- export * from './search-date-range/search-date-range.component';
21
- export * from './search-date-range-tabbed.component';
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlYXJjaC9jb21wb25lbnRzL3NlYXJjaC1kYXRlLXJhbmdlLXRhYmJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsc0NBQXNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLWRhdGUtcmFuZ2UvZGF0ZS1yYW5nZS10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLWRhdGUtcmFuZ2UvaW4tbGFzdC1kYXRlLXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtZGF0ZS1yYW5nZS9zZWFyY2gtZGF0ZS1yYW5nZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1kYXRlLXJhbmdlL3NlYXJjaC1kYXRlLXJhbmdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1kYXRlLXJhbmdlLXRhYmJlZC5jb21wb25lbnQnO1xuIl19
@@ -1,23 +0,0 @@
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
- export var DateRangeType;
18
- (function (DateRangeType) {
19
- DateRangeType["ANY"] = "ANY";
20
- DateRangeType["IN_LAST"] = "IN_LAST";
21
- DateRangeType["BETWEEN"] = "BETWEEN";
22
- })(DateRangeType || (DateRangeType = {}));
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9zZWFyY2gvY29tcG9uZW50cy9zZWFyY2gtZGF0ZS1yYW5nZS10YWJiZWQvc2VhcmNoLWRhdGUtcmFuZ2UvZGF0ZS1yYW5nZS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDckIsNEJBQVcsQ0FBQTtJQUNYLG9DQUFtQixDQUFBO0lBQ25CLG9DQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyxhQUFhLEtBQWIsYUFBYSxRQUl4QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0IGVudW0gRGF0ZVJhbmdlVHlwZSB7XG4gICAgQU5ZID0gJ0FOWScsXG4gICAgSU5fTEFTVCA9ICdJTl9MQVNUJyxcbiAgICBCRVRXRUVOID0gJ0JFVFdFRU4nLFxufVxuIl19