@alfresco/adf-content-services 8.1.0-16121703802 → 8.1.0-16144344582

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 (418) hide show
  1. package/bundles/assets/adf-content-services/i18n/en.json +3 -1
  2. package/fesm2022/adf-content-services.mjs +866 -823
  3. package/fesm2022/adf-content-services.mjs.map +1 -1
  4. package/lib/aspect-list/aspect-list.component.d.ts +4 -0
  5. package/lib/aspect-list/interfaces/custom-aspect-paging.interface.d.ts +21 -0
  6. package/lib/aspect-list/public-api.d.ts +1 -0
  7. package/lib/aspect-list/services/aspect-list.service.d.ts +6 -4
  8. package/lib/category/categories-management/categories-management.component.d.ts +4 -0
  9. package/lib/content.module.d.ts +2 -2
  10. package/lib/dialogs/dialog.module.d.ts +6 -5
  11. package/lib/dialogs/download-zip/download-zip.dialog.d.ts +1 -1
  12. package/lib/dialogs/download-zip/download-zip.dialog.module.d.ts +2 -6
  13. package/lib/new-version-uploader/new-version-uploader.dialog.scss +1 -1
  14. package/lib/upload/components/base-upload/upload-base.d.ts +1 -1
  15. package/package.json +3 -5
  16. package/esm2022/adf-content-services.mjs +0 -5
  17. package/esm2022/lib/agent/index.mjs +0 -18
  18. package/esm2022/lib/agent/public-api.mjs +0 -18
  19. package/esm2022/lib/agent/services/agent.service.mjs +0 -60
  20. package/esm2022/lib/alfresco-icon/alfresco-icon.component.mjs +0 -27
  21. package/esm2022/lib/api-factories/alfresco-api-no-auth.service.mjs +0 -42
  22. package/esm2022/lib/api-factories/alfresco-api-v2-loader.service.mjs +0 -77
  23. package/esm2022/lib/api-factories/index.mjs +0 -18
  24. package/esm2022/lib/api-factories/public-api.mjs +0 -19
  25. package/esm2022/lib/aspect-list/aspect-list-dialog-data.interface.mjs +0 -18
  26. package/esm2022/lib/aspect-list/aspect-list-dialog.component.mjs +0 -77
  27. package/esm2022/lib/aspect-list/aspect-list.component.mjs +0 -139
  28. package/esm2022/lib/aspect-list/aspect-list.module.mjs +0 -35
  29. package/esm2022/lib/aspect-list/index.mjs +0 -18
  30. package/esm2022/lib/aspect-list/public-api.mjs +0 -24
  31. package/esm2022/lib/aspect-list/services/aspect-list.service.mjs +0 -83
  32. package/esm2022/lib/aspect-list/services/dialog-aspect-list.service.mjs +0 -86
  33. package/esm2022/lib/aspect-list/services/node-aspect.service.mjs +0 -52
  34. package/esm2022/lib/auth-loader/content-auth-loader-factory.mjs +0 -26
  35. package/esm2022/lib/auth-loader/content-auth-loader.service.mjs +0 -42
  36. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -166
  37. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +0 -35
  38. package/esm2022/lib/breadcrumb/dropdown-breadcrumb.component.mjs +0 -65
  39. package/esm2022/lib/breadcrumb/index.mjs +0 -18
  40. package/esm2022/lib/breadcrumb/public-api.mjs +0 -20
  41. package/esm2022/lib/category/categories-management/categories-management-mode.mjs +0 -22
  42. package/esm2022/lib/category/categories-management/categories-management.component.mjs +0 -308
  43. package/esm2022/lib/category/category.module.mjs +0 -33
  44. package/esm2022/lib/category/index.mjs +0 -18
  45. package/esm2022/lib/category/models/category-node.interface.mjs +0 -18
  46. package/esm2022/lib/category/public-api.mjs +0 -23
  47. package/esm2022/lib/category/services/category-tree-datasource.service.mjs +0 -80
  48. package/esm2022/lib/category/services/category.service.mjs +0 -159
  49. package/esm2022/lib/common/events/file.event.mjs +0 -46
  50. package/esm2022/lib/common/index.mjs +0 -18
  51. package/esm2022/lib/common/interfaces/saved-search.interface.mjs +0 -18
  52. package/esm2022/lib/common/interfaces/search-configuration.interface.mjs +0 -18
  53. package/esm2022/lib/common/mocks/ecm-user.service.mock.mjs +0 -37
  54. package/esm2022/lib/common/models/allowable-operations.enum.mjs +0 -30
  55. package/esm2022/lib/common/models/ecm-company.model.mjs +0 -19
  56. package/esm2022/lib/common/models/ecm-user.model.mjs +0 -45
  57. package/esm2022/lib/common/models/file.model.mjs +0 -53
  58. package/esm2022/lib/common/models/node-metadata.model.mjs +0 -23
  59. package/esm2022/lib/common/models/permissions.enum.mjs +0 -32
  60. package/esm2022/lib/common/public-api.mjs +0 -37
  61. package/esm2022/lib/common/services/card-view-content-update.service.mjs +0 -55
  62. package/esm2022/lib/common/services/content.service.mjs +0 -180
  63. package/esm2022/lib/common/services/discovery-api.service.mjs +0 -79
  64. package/esm2022/lib/common/services/favorites-api.service.mjs +0 -84
  65. package/esm2022/lib/common/services/nodes-api.service.mjs +0 -251
  66. package/esm2022/lib/common/services/people-content.service.mjs +0 -138
  67. package/esm2022/lib/common/services/rendition.service.mjs +0 -270
  68. package/esm2022/lib/common/services/saved-searches.service.mjs +0 -206
  69. package/esm2022/lib/common/services/sites.service.mjs +0 -243
  70. package/esm2022/lib/common/services/upload.service.mjs +0 -391
  71. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata-header.component.mjs +0 -54
  72. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata.component.mjs +0 -490
  73. package/esm2022/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.mjs +0 -128
  74. package/esm2022/lib/content-metadata/content-metadata.module.mjs +0 -36
  75. package/esm2022/lib/content-metadata/index.mjs +0 -18
  76. package/esm2022/lib/content-metadata/interfaces/aspect-oriented-config.interface.mjs +0 -18
  77. package/esm2022/lib/content-metadata/interfaces/card-view-group.interface.mjs +0 -18
  78. package/esm2022/lib/content-metadata/interfaces/content-metadata-config.interface.mjs +0 -18
  79. package/esm2022/lib/content-metadata/interfaces/content-metadata-custom-panel.interface.mjs +0 -18
  80. package/esm2022/lib/content-metadata/interfaces/content-metadata-panel.interface.mjs +0 -18
  81. package/esm2022/lib/content-metadata/interfaces/content-metadata.interfaces.mjs +0 -28
  82. package/esm2022/lib/content-metadata/interfaces/indifferent-config.interface.mjs +0 -18
  83. package/esm2022/lib/content-metadata/interfaces/layout-oriented-config.interface.mjs +0 -18
  84. package/esm2022/lib/content-metadata/interfaces/organised-property-group.interface.mjs +0 -18
  85. package/esm2022/lib/content-metadata/interfaces/preset-config.interface.mjs +0 -18
  86. package/esm2022/lib/content-metadata/interfaces/property-group.interface.mjs +0 -18
  87. package/esm2022/lib/content-metadata/interfaces/property.interface.mjs +0 -18
  88. package/esm2022/lib/content-metadata/public-api.mjs +0 -31
  89. package/esm2022/lib/content-metadata/services/basic-properties.service.mjs +0 -107
  90. package/esm2022/lib/content-metadata/services/config/aspect-oriented-config.service.mjs +0 -106
  91. package/esm2022/lib/content-metadata/services/config/content-metadata-config.factory.mjs +0 -76
  92. package/esm2022/lib/content-metadata/services/config/indifferent-config.service.mjs +0 -40
  93. package/esm2022/lib/content-metadata/services/config/layout-oriented-config.service.mjs +0 -108
  94. package/esm2022/lib/content-metadata/services/config/property-group-reader.mjs +0 -33
  95. package/esm2022/lib/content-metadata/services/content-metadata.service.mjs +0 -99
  96. package/esm2022/lib/content-metadata/services/content-type-property.service.mjs +0 -134
  97. package/esm2022/lib/content-metadata/services/property-descriptors.service.mjs +0 -52
  98. package/esm2022/lib/content-metadata/services/property-groups-translator.service.mjs +0 -169
  99. package/esm2022/lib/content-node-selector/content-node-dialog.service.mjs +0 -256
  100. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.mjs +0 -617
  101. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.service.mjs +0 -66
  102. package/esm2022/lib/content-node-selector/content-node-selector.component-data.interface.mjs +0 -18
  103. package/esm2022/lib/content-node-selector/content-node-selector.component.mjs +0 -205
  104. package/esm2022/lib/content-node-selector/content-node-selector.module.mjs +0 -50
  105. package/esm2022/lib/content-node-selector/index.mjs +0 -18
  106. package/esm2022/lib/content-node-selector/name-location-cell/name-location-cell.component.mjs +0 -48
  107. package/esm2022/lib/content-node-selector/public-api.mjs +0 -25
  108. package/esm2022/lib/content-node-selector/site-dropdown/sites-dropdown.component.mjs +0 -168
  109. package/esm2022/lib/content-node-share/content-node-share.dialog.mjs +0 -287
  110. package/esm2022/lib/content-node-share/content-node-share.directive.mjs +0 -102
  111. package/esm2022/lib/content-node-share/content-node-share.module.mjs +0 -35
  112. package/esm2022/lib/content-node-share/content-node-share.settings.mjs +0 -18
  113. package/esm2022/lib/content-node-share/index.mjs +0 -18
  114. package/esm2022/lib/content-node-share/public-api.mjs +0 -22
  115. package/esm2022/lib/content-node-share/services/shared-links-api.service.mjs +0 -83
  116. package/esm2022/lib/content-type/content-type-dialog.component.mjs +0 -57
  117. package/esm2022/lib/content-type/content-type-metadata.interface.mjs +0 -18
  118. package/esm2022/lib/content-type/content-type.service.mjs +0 -52
  119. package/esm2022/lib/content-type/index.mjs +0 -20
  120. package/esm2022/lib/content.module.mjs +0 -277
  121. package/esm2022/lib/dialogs/category-selector/category-selector.dialog.mjs +0 -51
  122. package/esm2022/lib/dialogs/dialog.module.mjs +0 -52
  123. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.mjs +0 -111
  124. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.module.mjs +0 -38
  125. package/esm2022/lib/dialogs/download-zip/services/download-zip.service.mjs +0 -66
  126. package/esm2022/lib/dialogs/folder/folder-name.validators.mjs +0 -44
  127. package/esm2022/lib/dialogs/folder/folder.dialog.mjs +0 -146
  128. package/esm2022/lib/dialogs/index.mjs +0 -18
  129. package/esm2022/lib/dialogs/library/library.dialog.mjs +0 -224
  130. package/esm2022/lib/dialogs/node-lock/node-lock.dialog.mjs +0 -115
  131. package/esm2022/lib/dialogs/public-api.mjs +0 -25
  132. package/esm2022/lib/directives/auto-focus.directive.mjs +0 -38
  133. package/esm2022/lib/directives/check-allowable-operation.directive.mjs +0 -126
  134. package/esm2022/lib/directives/content-directive.module.mjs +0 -75
  135. package/esm2022/lib/directives/index.mjs +0 -18
  136. package/esm2022/lib/directives/library-favorite.directive.mjs +0 -119
  137. package/esm2022/lib/directives/library-membership.directive.mjs +0 -202
  138. package/esm2022/lib/directives/node-counter.directive.mjs +0 -59
  139. package/esm2022/lib/directives/node-delete.directive.mjs +0 -177
  140. package/esm2022/lib/directives/node-download.directive.mjs +0 -138
  141. package/esm2022/lib/directives/node-favorite.directive.mjs +0 -193
  142. package/esm2022/lib/directives/node-lock.directive.mjs +0 -57
  143. package/esm2022/lib/directives/node-restore.directive.mjs +0 -218
  144. package/esm2022/lib/directives/public-api.mjs +0 -28
  145. package/esm2022/lib/document-list/components/content-action/content-action-list.component.mjs +0 -60
  146. package/esm2022/lib/document-list/components/content-action/content-action.component.mjs +0 -196
  147. package/esm2022/lib/document-list/components/document-list.component.mjs +0 -965
  148. package/esm2022/lib/document-list/components/document-list.token.mjs +0 -21
  149. package/esm2022/lib/document-list/components/file-auto-download/file-auto-download.component.mjs +0 -42
  150. package/esm2022/lib/document-list/components/filter-header/filter-header.component.mjs +0 -107
  151. package/esm2022/lib/document-list/components/library-name-column/library-name-column.component.mjs +0 -131
  152. package/esm2022/lib/document-list/components/library-role-column/library-role-column.component.mjs +0 -91
  153. package/esm2022/lib/document-list/components/library-status-column/library-status-column.component.mjs +0 -86
  154. package/esm2022/lib/document-list/components/name-column/name-column.component.mjs +0 -118
  155. package/esm2022/lib/document-list/components/node.event.mjs +0 -30
  156. package/esm2022/lib/document-list/components/trashcan-name-column/trashcan-name-column.component.mjs +0 -83
  157. package/esm2022/lib/document-list/data/image-resolver.model.mjs +0 -18
  158. package/esm2022/lib/document-list/data/row-filter.model.mjs +0 -18
  159. package/esm2022/lib/document-list/data/share-data-row.model.mjs +0 -102
  160. package/esm2022/lib/document-list/data/share-datatable-adapter.mjs +0 -258
  161. package/esm2022/lib/document-list/document-list.module.mjs +0 -75
  162. package/esm2022/lib/document-list/index.mjs +0 -18
  163. package/esm2022/lib/document-list/interfaces/document-list-loader.interface.mjs +0 -18
  164. package/esm2022/lib/document-list/models/content-action.model.mjs +0 -59
  165. package/esm2022/lib/document-list/models/document-folder.model.mjs +0 -23
  166. package/esm2022/lib/document-list/models/node-action.enum.mjs +0 -27
  167. package/esm2022/lib/document-list/models/permissions-style.model.mjs +0 -27
  168. package/esm2022/lib/document-list/models/permissions.model.mjs +0 -26
  169. package/esm2022/lib/document-list/models/preset.model.mjs +0 -257
  170. package/esm2022/lib/document-list/public-api.mjs +0 -47
  171. package/esm2022/lib/document-list/services/custom-resources.service.mjs +0 -378
  172. package/esm2022/lib/document-list/services/document-actions.service.mjs +0 -142
  173. package/esm2022/lib/document-list/services/document-list.service.mjs +0 -175
  174. package/esm2022/lib/document-list/services/folder-actions.service.mjs +0 -137
  175. package/esm2022/lib/document-list/services/lock.service.mjs +0 -72
  176. package/esm2022/lib/document-list/services/node-actions.service.mjs +0 -122
  177. package/esm2022/lib/group/index.mjs +0 -18
  178. package/esm2022/lib/group/public-api.mjs +0 -18
  179. package/esm2022/lib/group/services/group.service.mjs +0 -84
  180. package/esm2022/lib/infinite-scroll-datasource/index.mjs +0 -18
  181. package/esm2022/lib/infinite-scroll-datasource/infinite-scroll-datasource.mjs +0 -69
  182. package/esm2022/lib/infinite-scroll-datasource/public-api.mjs +0 -18
  183. package/esm2022/lib/interfaces/base-card-view-content-update.interface.mjs +0 -18
  184. package/esm2022/lib/interfaces/index.mjs +0 -18
  185. package/esm2022/lib/interfaces/library-entity.interface.mjs +0 -18
  186. package/esm2022/lib/interfaces/library-membership-error-event.interface.mjs +0 -18
  187. package/esm2022/lib/interfaces/library-membership-toggle-event.interface.mjs +0 -18
  188. package/esm2022/lib/interfaces/node-allowable-operation-subject.interface.mjs +0 -18
  189. package/esm2022/lib/interfaces/public-api.mjs +0 -23
  190. package/esm2022/lib/interfaces/restore-message-model.interface.mjs +0 -19
  191. package/esm2022/lib/legal-hold/index.mjs +0 -18
  192. package/esm2022/lib/legal-hold/public-api.mjs +0 -18
  193. package/esm2022/lib/legal-hold/services/legal-hold.service.mjs +0 -136
  194. package/esm2022/lib/material.module.mjs +0 -183
  195. package/esm2022/lib/mock/alfresco-api.service.mock.mjs +0 -43
  196. package/esm2022/lib/mock/date-range-search-filter.mock.mjs +0 -65
  197. package/esm2022/lib/mock/document-library.model.mock.mjs +0 -84
  198. package/esm2022/lib/mock/document-list.component.mock.mjs +0 -364
  199. package/esm2022/lib/mock/index.mjs +0 -18
  200. package/esm2022/lib/mock/new-version-uploader.service.mock.mjs +0 -161
  201. package/esm2022/lib/mock/public-api.mjs +0 -27
  202. package/esm2022/lib/mock/search-filter-mock.mjs +0 -637
  203. package/esm2022/lib/mock/search-query.mock.mjs +0 -40
  204. package/esm2022/lib/mock/search.component.mock.mjs +0 -165
  205. package/esm2022/lib/mock/search.service.mock.mjs +0 -61
  206. package/esm2022/lib/mock/sites-dropdown.component.mock.mjs +0 -281
  207. package/esm2022/lib/new-version-uploader/index.mjs +0 -18
  208. package/esm2022/lib/new-version-uploader/models/index.mjs +0 -18
  209. package/esm2022/lib/new-version-uploader/models/new-version-uploader.model.mjs +0 -24
  210. package/esm2022/lib/new-version-uploader/new-version-uploader.dialog.mjs +0 -74
  211. package/esm2022/lib/new-version-uploader/new-version-uploader.module.mjs +0 -33
  212. package/esm2022/lib/new-version-uploader/new-version-uploader.service.mjs +0 -103
  213. package/esm2022/lib/new-version-uploader/public-api.mjs +0 -21
  214. package/esm2022/lib/node-comments/index.mjs +0 -18
  215. package/esm2022/lib/node-comments/node-comments.component.mjs +0 -50
  216. package/esm2022/lib/node-comments/node-comments.module.mjs +0 -33
  217. package/esm2022/lib/node-comments/public-api.mjs +0 -20
  218. package/esm2022/lib/node-comments/services/node-comments.service.mjs +0 -85
  219. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog-data.interface.mjs +0 -18
  220. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog.component.mjs +0 -123
  221. package/esm2022/lib/permission-manager/components/add-permission/add-permission-panel.component.mjs +0 -102
  222. package/esm2022/lib/permission-manager/components/add-permission/add-permission.component.mjs +0 -69
  223. package/esm2022/lib/permission-manager/components/add-permission/search-config-permission.service.mjs +0 -45
  224. package/esm2022/lib/permission-manager/components/inherited-button.directive.mjs +0 -67
  225. package/esm2022/lib/permission-manager/components/node-path-column/node-path-column.component.mjs +0 -56
  226. package/esm2022/lib/permission-manager/components/permission-container/permission-container.component.mjs +0 -102
  227. package/esm2022/lib/permission-manager/components/permission-list/permission-list.component.mjs +0 -87
  228. package/esm2022/lib/permission-manager/components/permission-list/permission-list.service.mjs +0 -219
  229. package/esm2022/lib/permission-manager/components/pop-over.directive.mjs +0 -134
  230. package/esm2022/lib/permission-manager/components/user-icon-column/user-icon-column.component.mjs +0 -88
  231. package/esm2022/lib/permission-manager/components/user-name-column/user-name-column.component.mjs +0 -82
  232. package/esm2022/lib/permission-manager/components/user-role-column/user-role-column.component.mjs +0 -111
  233. package/esm2022/lib/permission-manager/index.mjs +0 -18
  234. package/esm2022/lib/permission-manager/models/member.model.mjs +0 -59
  235. package/esm2022/lib/permission-manager/models/permission.model.mjs +0 -29
  236. package/esm2022/lib/permission-manager/models/role.model.mjs +0 -18
  237. package/esm2022/lib/permission-manager/permission-manager.module.mjs +0 -84
  238. package/esm2022/lib/permission-manager/public-api.mjs +0 -36
  239. package/esm2022/lib/permission-manager/services/node-permission-dialog.service.mjs +0 -78
  240. package/esm2022/lib/permission-manager/services/node-permission.service.mjs +0 -299
  241. package/esm2022/lib/pipes/content-pipe.module.mjs +0 -37
  242. package/esm2022/lib/pipes/index.mjs +0 -18
  243. package/esm2022/lib/pipes/node-name-tooltip.pipe.mjs +0 -69
  244. package/esm2022/lib/pipes/public-api.mjs +0 -19
  245. package/esm2022/lib/prediction/index.mjs +0 -18
  246. package/esm2022/lib/prediction/public-api.mjs +0 -18
  247. package/esm2022/lib/prediction/services/index.mjs +0 -18
  248. package/esm2022/lib/prediction/services/prediction.service.mjs +0 -57
  249. package/esm2022/lib/search/components/empty-search-result.component.mjs +0 -27
  250. package/esm2022/lib/search/components/index.mjs +0 -43
  251. package/esm2022/lib/search/components/reset-search.directive.mjs +0 -41
  252. package/esm2022/lib/search/components/search-check-list/index.mjs +0 -18
  253. package/esm2022/lib/search/components/search-check-list/search-check-list.component.mjs +0 -158
  254. package/esm2022/lib/search/components/search-chip-autocomplete-input/index.mjs +0 -18
  255. package/esm2022/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.mjs +0 -169
  256. package/esm2022/lib/search/components/search-chip-list/search-chip-list.component.mjs +0 -46
  257. package/esm2022/lib/search/components/search-control.component.mjs +0 -180
  258. package/esm2022/lib/search/components/search-date-range-tabbed/index.mjs +0 -22
  259. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/date-range-type.mjs +0 -23
  260. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/in-last-date-type.mjs +0 -23
  261. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.mjs +0 -196
  262. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.mjs +0 -18
  263. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.mjs +0 -201
  264. package/esm2022/lib/search/components/search-datetime-range/index.mjs +0 -18
  265. package/esm2022/lib/search/components/search-datetime-range/search-datetime-range.component.mjs +0 -223
  266. package/esm2022/lib/search/components/search-facet-field/index.mjs +0 -18
  267. package/esm2022/lib/search/components/search-facet-field/search-facet-field.component.mjs +0 -132
  268. package/esm2022/lib/search/components/search-filter/index.mjs +0 -19
  269. package/esm2022/lib/search/components/search-filter/search-filter-card/search-filter-card.component.mjs +0 -45
  270. package/esm2022/lib/search/components/search-filter/search-filter.component.mjs +0 -80
  271. package/esm2022/lib/search/components/search-filter-autocomplete-chips/index.mjs +0 -18
  272. package/esm2022/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.mjs +0 -154
  273. package/esm2022/lib/search/components/search-filter-chips/index.mjs +0 -23
  274. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip/search-facet-chip.component.mjs +0 -104
  275. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-chip-tabbed.component.mjs +0 -109
  276. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-tabbed-content.component.mjs +0 -129
  277. package/esm2022/lib/search/components/search-filter-chips/search-filter-chips.component.mjs +0 -63
  278. package/esm2022/lib/search/components/search-filter-chips/search-filter-menu-card/search-filter-menu-card.component.mjs +0 -43
  279. package/esm2022/lib/search/components/search-filter-chips/search-widget-chip/search-widget-chip.component.mjs +0 -109
  280. package/esm2022/lib/search/components/search-filter-container/index.mjs +0 -18
  281. package/esm2022/lib/search/components/search-filter-container/search-filter-container.component.mjs +0 -122
  282. package/esm2022/lib/search/components/search-filter-tabbed/index.mjs +0 -19
  283. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tab.directive.mjs +0 -36
  284. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tabbed.component.mjs +0 -63
  285. package/esm2022/lib/search/components/search-form/index.mjs +0 -18
  286. package/esm2022/lib/search/components/search-form/search-form.component.mjs +0 -52
  287. package/esm2022/lib/search/components/search-input/index.mjs +0 -18
  288. package/esm2022/lib/search/components/search-input/search-input.component.mjs +0 -108
  289. package/esm2022/lib/search/components/search-logical-filter/index.mjs +0 -18
  290. package/esm2022/lib/search/components/search-logical-filter/search-logical-filter.component.mjs +0 -163
  291. package/esm2022/lib/search/components/search-number-range/index.mjs +0 -18
  292. package/esm2022/lib/search/components/search-number-range/search-number-range.component.mjs +0 -154
  293. package/esm2022/lib/search/components/search-panel/index.mjs +0 -18
  294. package/esm2022/lib/search/components/search-panel/search-panel.component.mjs +0 -44
  295. package/esm2022/lib/search/components/search-properties/file-size-condition.mjs +0 -18
  296. package/esm2022/lib/search/components/search-properties/file-size-operator.enum.mjs +0 -23
  297. package/esm2022/lib/search/components/search-properties/file-size-unit.enum.mjs +0 -26
  298. package/esm2022/lib/search/components/search-properties/index.mjs +0 -22
  299. package/esm2022/lib/search/components/search-properties/search-properties.component.mjs +0 -244
  300. package/esm2022/lib/search/components/search-properties/search-properties.mjs +0 -18
  301. package/esm2022/lib/search/components/search-radio/index.mjs +0 -18
  302. package/esm2022/lib/search/components/search-radio/search-radio.component.mjs +0 -145
  303. package/esm2022/lib/search/components/search-slider/index.mjs +0 -18
  304. package/esm2022/lib/search/components/search-slider/search-slider.component.mjs +0 -119
  305. package/esm2022/lib/search/components/search-sorting-picker/index.mjs +0 -18
  306. package/esm2022/lib/search/components/search-sorting-picker/search-sorting-picker.component.mjs +0 -77
  307. package/esm2022/lib/search/components/search-text/index.mjs +0 -18
  308. package/esm2022/lib/search/components/search-text/search-text.component.mjs +0 -134
  309. package/esm2022/lib/search/components/search-widget-container/index.mjs +0 -18
  310. package/esm2022/lib/search/components/search-widget-container/search-widget-container.component.mjs +0 -113
  311. package/esm2022/lib/search/components/search.component.mjs +0 -152
  312. package/esm2022/lib/search/forms/index.mjs +0 -19
  313. package/esm2022/lib/search/forms/live-error-state-matcher.mjs +0 -23
  314. package/esm2022/lib/search/forms/search-term-validator.mjs +0 -26
  315. package/esm2022/lib/search/index.mjs +0 -18
  316. package/esm2022/lib/search/mocks/index.mjs +0 -18
  317. package/esm2022/lib/search/mocks/search.service.mock.mjs +0 -56
  318. package/esm2022/lib/search/models/autocomplete-option.interface.mjs +0 -22
  319. package/esm2022/lib/search/models/facet-field-bucket.interface.mjs +0 -18
  320. package/esm2022/lib/search/models/facet-field.interface.mjs +0 -29
  321. package/esm2022/lib/search/models/facet-query.interface.mjs +0 -18
  322. package/esm2022/lib/search/models/facet-widget.interface.mjs +0 -18
  323. package/esm2022/lib/search/models/filter-query.interface.mjs +0 -18
  324. package/esm2022/lib/search/models/filter-search.interface.mjs +0 -18
  325. package/esm2022/lib/search/models/index.mjs +0 -34
  326. package/esm2022/lib/search/models/response-facet-query-list.model.mjs +0 -31
  327. package/esm2022/lib/search/models/search-category.interface.mjs +0 -18
  328. package/esm2022/lib/search/models/search-configuration.interface.mjs +0 -18
  329. package/esm2022/lib/search/models/search-filter-list.model.mjs +0 -148
  330. package/esm2022/lib/search/models/search-form.interface.mjs +0 -18
  331. package/esm2022/lib/search/models/search-range.interface.mjs +0 -18
  332. package/esm2022/lib/search/models/search-sorting-definition.interface.mjs +0 -18
  333. package/esm2022/lib/search/models/search-widget-settings.interface.mjs +0 -18
  334. package/esm2022/lib/search/models/search-widget.interface.mjs +0 -18
  335. package/esm2022/lib/search/models/tabbed-facet-field.interface.mjs +0 -18
  336. package/esm2022/lib/search/public-api.mjs +0 -24
  337. package/esm2022/lib/search/search-configuration.token.mjs +0 -19
  338. package/esm2022/lib/search/search.module.mjs +0 -192
  339. package/esm2022/lib/search/services/base-query-builder.service.mjs +0 -509
  340. package/esm2022/lib/search/services/index.mjs +0 -24
  341. package/esm2022/lib/search/services/search-configuration.service.mjs +0 -50
  342. package/esm2022/lib/search/services/search-facet-filters.service.mjs +0 -374
  343. package/esm2022/lib/search/services/search-filter.service.mjs +0 -56
  344. package/esm2022/lib/search/services/search-header-query-builder.service.mjs +0 -136
  345. package/esm2022/lib/search/services/search-query-builder.service.mjs +0 -48
  346. package/esm2022/lib/search/services/search.service.mjs +0 -89
  347. package/esm2022/lib/search-ai/index.mjs +0 -18
  348. package/esm2022/lib/search-ai/models/search-ai-input-state.mjs +0 -18
  349. package/esm2022/lib/search-ai/public-api.mjs +0 -19
  350. package/esm2022/lib/search-ai/services/search-ai.service.mjs +0 -103
  351. package/esm2022/lib/security/index.mjs +0 -18
  352. package/esm2022/lib/security/public-api.mjs +0 -18
  353. package/esm2022/lib/security/services/models/security-controls-group-response.interface.mjs +0 -18
  354. package/esm2022/lib/security/services/models/security-controls-mark-response.interface.mjs +0 -18
  355. package/esm2022/lib/security/services/security-controls-groups-marks-security.service.mjs +0 -274
  356. package/esm2022/lib/security-options-loader/security-options-loader.service.mjs +0 -43
  357. package/esm2022/lib/services/alfresco-api.interface.mjs +0 -18
  358. package/esm2022/lib/services/alfresco-api.service.mjs +0 -120
  359. package/esm2022/lib/services/index.mjs +0 -18
  360. package/esm2022/lib/services/public-api.mjs +0 -18
  361. package/esm2022/lib/tag/index.mjs +0 -18
  362. package/esm2022/lib/tag/public-api.mjs +0 -24
  363. package/esm2022/lib/tag/services/tag.service.mjs +0 -171
  364. package/esm2022/lib/tag/tag-actions/tag-actions.component.mjs +0 -114
  365. package/esm2022/lib/tag/tag-list/tag-list.component.mjs +0 -98
  366. package/esm2022/lib/tag/tag-node-list/tag-node-list.component.mjs +0 -80
  367. package/esm2022/lib/tag/tag.module.mjs +0 -37
  368. package/esm2022/lib/tag/tags-creator/tags-creator-mode.mjs +0 -27
  369. package/esm2022/lib/tag/tags-creator/tags-creator.component.mjs +0 -370
  370. package/esm2022/lib/testing/content.testing.module.mjs +0 -56
  371. package/esm2022/lib/tree/components/tree.component.mjs +0 -312
  372. package/esm2022/lib/tree/index.mjs +0 -18
  373. package/esm2022/lib/tree/models/tree-context-menu-result.interface.mjs +0 -18
  374. package/esm2022/lib/tree/models/tree-node.interface.mjs +0 -22
  375. package/esm2022/lib/tree/models/tree-response.interface.mjs +0 -18
  376. package/esm2022/lib/tree/public-api.mjs +0 -23
  377. package/esm2022/lib/tree/services/tree.service.mjs +0 -134
  378. package/esm2022/lib/tree/tree.module.mjs +0 -33
  379. package/esm2022/lib/tree-view/components/tree-view.component.mjs +0 -75
  380. package/esm2022/lib/tree-view/data/tree-view-datasource.mjs +0 -99
  381. package/esm2022/lib/tree-view/index.mjs +0 -18
  382. package/esm2022/lib/tree-view/models/tree-view.model.mjs +0 -28
  383. package/esm2022/lib/tree-view/public-api.mjs +0 -22
  384. package/esm2022/lib/tree-view/services/tree-view.service.mjs +0 -38
  385. package/esm2022/lib/tree-view/tree-view.module.mjs +0 -33
  386. package/esm2022/lib/upload/components/base-upload/upload-base.mjs +0 -176
  387. package/esm2022/lib/upload/components/file-uploading-dialog.component.mjs +0 -190
  388. package/esm2022/lib/upload/components/file-uploading-list-row.component.mjs +0 -92
  389. package/esm2022/lib/upload/components/file-uploading-list.component.mjs +0 -124
  390. package/esm2022/lib/upload/components/upload-button.component.mjs +0 -133
  391. package/esm2022/lib/upload/components/upload-drag-area.component.mjs +0 -112
  392. package/esm2022/lib/upload/components/upload-files.event.mjs +0 -41
  393. package/esm2022/lib/upload/components/upload-version-button.component.mjs +0 -54
  394. package/esm2022/lib/upload/directives/file-draggable.directive.mjs +0 -154
  395. package/esm2022/lib/upload/directives/toggle-icon.directive.mjs +0 -75
  396. package/esm2022/lib/upload/index.mjs +0 -18
  397. package/esm2022/lib/upload/pipes/file-upload-error.pipe.mjs +0 -39
  398. package/esm2022/lib/upload/public-api.mjs +0 -29
  399. package/esm2022/lib/upload/upload.module.mjs +0 -72
  400. package/esm2022/lib/version-compatibility/index.mjs +0 -18
  401. package/esm2022/lib/version-compatibility/public-api.mjs +0 -20
  402. package/esm2022/lib/version-compatibility/version-compatibility-factory.mjs +0 -26
  403. package/esm2022/lib/version-compatibility/version-compatibility.directive.mjs +0 -53
  404. package/esm2022/lib/version-compatibility/version-compatibility.module.mjs +0 -33
  405. package/esm2022/lib/version-compatibility/version-compatibility.service.mjs +0 -76
  406. package/esm2022/lib/version-manager/content-version.service.mjs +0 -53
  407. package/esm2022/lib/version-manager/index.mjs +0 -18
  408. package/esm2022/lib/version-manager/public-api.mjs +0 -23
  409. package/esm2022/lib/version-manager/version-comparison.component.mjs +0 -42
  410. package/esm2022/lib/version-manager/version-list.component.mjs +0 -215
  411. package/esm2022/lib/version-manager/version-manager.component.mjs +0 -145
  412. package/esm2022/lib/version-manager/version-manager.module.mjs +0 -48
  413. package/esm2022/lib/version-manager/version-upload.component.mjs +0 -154
  414. package/esm2022/lib/viewer/alfresco-viewer.module.mjs +0 -33
  415. package/esm2022/lib/viewer/components/alfresco-viewer.component.mjs +0 -408
  416. package/esm2022/lib/viewer/index.mjs +0 -18
  417. package/esm2022/lib/viewer/public-api.mjs +0 -19
  418. package/esm2022/public-api.mjs +0 -56
@@ -1,169 +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 { TranslatePipe } 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 "@angular/material/icon";
34
- import * as i5 from "@angular/forms";
35
- import * as i6 from "@angular/material/autocomplete";
36
- import * as i7 from "@angular/material/core";
37
- export class SearchChipAutocompleteInputComponent {
38
- constructor() {
39
- this.autocompleteOptions = [];
40
- this.preselectedOptions = [];
41
- this.allowOnlyPredefinedValues = true;
42
- this.placeholder = 'SEARCH.FILTER.ACTIONS.ADD_OPTION';
43
- this.filter = (options, value) => {
44
- const filterValue = value.toLowerCase();
45
- return options.filter((option) => option.value.toLowerCase().includes(filterValue)).slice(0, 15);
46
- };
47
- this.optionsChanged = new EventEmitter();
48
- this.inputChanged = new EventEmitter();
49
- this.separatorKeysCodes = [ENTER];
50
- this.formCtrl = new FormControl('');
51
- this.filteredOptions = [];
52
- this.selectedOptions = [];
53
- this._activeAnyOption = false;
54
- this.destroyRef = inject(DestroyRef);
55
- }
56
- set activeAnyOption(active) {
57
- this._activeAnyOption = active;
58
- }
59
- ngOnInit() {
60
- this.formCtrl.valueChanges
61
- .pipe(startWith(''), tap(() => (this.activeAnyOption = false)), debounce((value) => (value ? timer(300) : EMPTY)), takeUntilDestroyed(this.destroyRef))
62
- .subscribe((value) => {
63
- this.filteredOptions = value ? this.filter(this.autocompleteOptions, value) : [];
64
- this.inputChanged.emit(value);
65
- });
66
- this.onReset$?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.reset());
67
- this.selectedOptions = this.preselectedOptions ?? [];
68
- }
69
- ngOnChanges(changes) {
70
- if (changes.autocompleteOptions) {
71
- this.filteredOptions =
72
- changes.autocompleteOptions.currentValue?.length > 0
73
- ? this.filter(changes.autocompleteOptions.currentValue, this.formCtrl.value)
74
- : [];
75
- }
76
- }
77
- add(event) {
78
- if (!this._activeAnyOption) {
79
- let value = (event.value || '').trim();
80
- if (this.formatChipValue) {
81
- value = this.formatChipValue(value);
82
- }
83
- if (value && this.isExists(value) && !this.isAdded(value)) {
84
- if (this.allowOnlyPredefinedValues) {
85
- const index = this.autocompleteOptions.findIndex((option) => option.value.toLowerCase() === value.toLowerCase());
86
- this.selectedOptions.push(this.autocompleteOptions[index]);
87
- }
88
- else {
89
- this.selectedOptions.push({ value });
90
- }
91
- this.optionsChanged.emit(this.selectedOptions);
92
- event.chipInput.clear();
93
- this.formCtrl.setValue('');
94
- }
95
- }
96
- }
97
- remove(value) {
98
- const index = this.selectedOptions.indexOf(value);
99
- if (index >= 0) {
100
- this.selectedOptions.splice(index, 1);
101
- this.optionsChanged.emit(this.selectedOptions);
102
- }
103
- }
104
- selected(event) {
105
- this.selectedOptions.push(event.option.value);
106
- this.optionInput.nativeElement.value = '';
107
- this.formCtrl.setValue('');
108
- this.optionsChanged.emit(this.selectedOptions);
109
- }
110
- /**
111
- * Determines if a given option is already selected.
112
- *
113
- * This method checks if the provided `option` is present in the `selectedOptions` array.
114
- * If a custom comparison function (`compareOption`) is provided, it uses this function to determine equality.
115
- * Otherwise, it falls back to using strict equality comparison.
116
- *
117
- * @param option - The option to check for selection.
118
- * @returns `true` if the option is selected, `false` otherwise.
119
- */
120
- isOptionSelected(option) {
121
- const compare = this.compareOption;
122
- const array = this.selectedOptions;
123
- return compare ? array.some((arrayValue) => compare(option, arrayValue)) : array.includes(option);
124
- }
125
- isAdded(value) {
126
- const valueLowerCase = value.toLowerCase();
127
- return this.selectedOptions.some((option) => option.value.toLowerCase() === valueLowerCase);
128
- }
129
- isExists(value) {
130
- const valueLowerCase = value.toLowerCase();
131
- return this.allowOnlyPredefinedValues ? this.autocompleteOptions.some((option) => option.value.toLowerCase() === valueLowerCase) : true;
132
- }
133
- reset() {
134
- this.selectedOptions = [];
135
- this.optionsChanged.emit(this.selectedOptions);
136
- this.formCtrl.setValue('');
137
- this.optionInput.nativeElement.value = '';
138
- }
139
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchChipAutocompleteInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
140
- 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: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i6.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: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }], encapsulation: i0.ViewEncapsulation.None }); }
141
- }
142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchChipAutocompleteInputComponent, decorators: [{
143
- type: Component,
144
- args: [{ selector: 'adf-search-chip-autocomplete-input', standalone: true, imports: [CommonModule, MatFormFieldModule, MatChipsModule, TranslatePipe, 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"] }]
145
- }], propDecorators: { optionInput: [{
146
- type: ViewChild,
147
- args: ['optionInput']
148
- }], autocompleteOptions: [{
149
- type: Input
150
- }], preselectedOptions: [{
151
- type: Input
152
- }], onReset$: [{
153
- type: Input
154
- }], allowOnlyPredefinedValues: [{
155
- type: Input
156
- }], placeholder: [{
157
- type: Input
158
- }], compareOption: [{
159
- type: Input
160
- }], formatChipValue: [{
161
- type: Input
162
- }], filter: [{
163
- type: Input
164
- }], optionsChanged: [{
165
- type: Output
166
- }], inputChanged: [{
167
- type: Output
168
- }] } });
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNoaXAtYXV0b2NvbXBsZXRlLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvc2VhcmNoL2NvbXBvbmVudHMvc2VhcmNoLWNoaXAtYXV0b2NvbXBsZXRlLWlucHV0L3NlYXJjaC1jaGlwLWF1dG9jb21wbGV0ZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlYXJjaC9jb21wb25lbnRzL3NlYXJjaC1jaGlwLWF1dG9jb21wbGV0ZS1pbnB1dC9zZWFyY2gtY2hpcC1hdXRvY29tcGxldGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFnQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JHLE9BQU8sRUFBcUIsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFELE9BQU8sRUFBRSxZQUFZLEVBQUUs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Qjs7NEZBSzNILG9DQUFvQztrQkFSaEQsU0FBUzsrQkFDSSxvQ0FBb0MsY0FDbEMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixDQUFDLGlCQUd0SCxpQkFBaUIsQ0FBQyxJQUFJOzhCQUlyQyxXQUFXO3NCQURWLFNBQVM7dUJBQUMsYUFBYTtnQkFJeEIsbUJBQW1CO3NCQURsQixLQUFLO2dCQUlOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4seUJBQXlCO3NCQUR4QixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFPTixjQUFjO3NCQURiLE1BQU07Z0JBSVAsWUFBWTtzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLCBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdENoaXBJbnB1dEV2ZW50LCBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7IEVNUFRZLCBPYnNlcnZhYmxlLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2UsIHN0YXJ0V2l0aCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2F1dG9jb21wbGV0ZS1vcHRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2VhcmNoLWNoaXAtYXV0b2NvbXBsZXRlLWlucHV0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0Q2hpcHNNb2R1bGUsIFRyYW5zbGF0ZVBpcGUsIE1hdEljb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE1hdEF1dG9jb21wbGV0ZU1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1jaGlwLWF1dG9jb21wbGV0ZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWNoaXAtYXV0b2NvbXBsZXRlLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hDaGlwQXV0b2NvbXBsZXRlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQFZpZXdDaGlsZCgnb3B0aW9uSW5wdXQnKVxuICAgIG9wdGlvbklucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQElucHV0KClcbiAgICBhdXRvY29tcGxldGVPcHRpb25zOiBBdXRvY29tcGxldGVPcHRpb25bXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBwcmVzZWxlY3RlZE9wdGlvbnM6IEF1dG9jb21wbGV0ZU9wdGlvbltdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIG9uUmVzZXQkOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gICAgQElucHV0KClcbiAgICBhbGxvd09ubHlQcmVkZWZpbmVkVmFsdWVzID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcGxhY2Vob2xkZXIgPSAnU0VBUkNILkZJTFRFUi5BQ1RJT05TLkFERF9PUFRJT04nO1xuXG4gICAgQElucHV0KClcbiAgICBjb21wYXJlT3B0aW9uPzogKG9wdGlvbjE6IEF1dG9jb21wbGV0ZU9wdGlvbiwgb3B0aW9uMjogQXV0b2NvbXBsZXRlT3B0aW9uKSA9PiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBmb3JtYXRDaGlwVmFsdWU/OiAob3B0aW9uOiBzdHJpbmcpID0+IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgZmlsdGVyID0gKG9wdGlvbnM6IEF1dG9jb21wbGV0ZU9wdGlvbltdLCB2YWx1ZTogc3RyaW5nKTogQXV0b2NvbXBsZXRlT3B0aW9uW10gPT4ge1xuICAgICAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHJldHVybiBvcHRpb25zLmZpbHRlcigob3B0aW9uKSA9PiBvcHRpb24udmFsdWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSkpLnNsaWNlKDAsIDE1KTtcbiAgICB9O1xuXG4gICAgQE91dHB1dCgpXG4gICAgb3B0aW9uc0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEF1dG9jb21wbGV0ZU9wdGlvbltdPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgaW5wdXRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICByZWFkb25seSBzZXBhcmF0b3JLZXlzQ29kZXMgPSBbRU5URVJdIGFzIGNvbnN0O1xuICAgIGZvcm1DdHJsID0gbmV3IEZvcm1Db250cm9sKCcnKTtcbiAgICBmaWx0ZXJlZE9wdGlvbnM6IEF1dG9jb21wbGV0ZU9wdGlvbltdID0gW107XG4gICAgc2VsZWN0ZWRPcHRpb25zOiBBdXRvY29tcGxldGVPcHRpb25bXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSBfYWN0aXZlQW55T3B0aW9uID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICBzZXQgYWN0aXZlQW55T3B0aW9uKGFjdGl2ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9hY3RpdmVBbnlPcHRpb24gPSBhY3RpdmU7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZm9ybUN0cmwudmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgoJycpLFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiAodGhpcy5hY3RpdmVBbnlPcHRpb24gPSBmYWxzZSkpLFxuICAgICAgICAgICAgICAgIGRlYm91bmNlKCh2YWx1ZTogc3RyaW5nKSA9PiAodmFsdWUgPyB0aW1lcigzMDApIDogRU1QVFkpKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdmFsdWUgPyB0aGlzLmZpbHRlcih0aGlzLmF1dG9jb21wbGV0ZU9wdGlvbnMsIHZhbHVlKSA6IFtdO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRDaGFuZ2VkLmVtaXQodmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub25SZXNldCQ/LnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2V0KCkpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IHRoaXMucHJlc2VsZWN0ZWRPcHRpb25zID8/IFtdO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuYXV0b2NvbXBsZXRlT3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPVxuICAgICAgICAgICAgICAgIGNoYW5nZXMuYXV0b2NvbXBsZXRlT3B0aW9ucy5jdXJyZW50VmFsdWU/Lmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmZpbHRlcihjaGFuZ2VzLmF1dG9jb21wbGV0ZU9wdGlvbnMuY3VycmVudFZhbHVlLCB0aGlzLmZvcm1DdHJsLnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICA6IFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWRkKGV2ZW50OiBNYXRDaGlwSW5wdXRFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuX2FjdGl2ZUFueU9wdGlvbikge1xuICAgICAgICAgICAgbGV0IHZhbHVlID0gKGV2ZW50LnZhbHVlIHx8ICcnKS50cmltKCk7XG4gICAgICAgICAgICBpZiAodGhpcy5mb3JtYXRDaGlwVmFsdWUpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHRoaXMuZm9ybWF0Q2hpcFZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHZhbHVlICYmIHRoaXMuaXNFeGlzdHModmFsdWUpICYmICF0aGlzLmlzQWRkZWQodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYWxsb3dPbmx5UHJlZGVmaW5lZFZhbHVlcykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuYXV0b2NvbXBsZXRlT3B0aW9ucy5maW5kSW5kZXgoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlLnRvTG93ZXJDYXNlKCkgPT09IHZhbHVlLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucy5wdXNoKHRoaXMuYXV0b2NvbXBsZXRlT3B0aW9uc1tpbmRleF0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zLnB1c2goeyB2YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zQ2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRPcHRpb25zKTtcbiAgICAgICAgICAgICAgICBldmVudC5jaGlwSW5wdXQuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1DdHJsLnNldFZhbHVlKCcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZSh2YWx1ZTogQXV0b2NvbXBsZXRlT3B0aW9uKSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZE9wdGlvbnMuaW5kZXhPZih2YWx1ZSk7XG5cbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnNDaGFuZ2VkLmVtaXQodGhpcy5zZWxlY3RlZE9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0ZWQoZXZlbnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMucHVzaChldmVudC5vcHRpb24udmFsdWUpO1xuICAgICAgICB0aGlzLm9wdGlvbklucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgdGhpcy5mb3JtQ3RybC5zZXRWYWx1ZSgnJyk7XG4gICAgICAgIHRoaXMub3B0aW9uc0NoYW5nZWQuZW1pdCh0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyBpZiBhIGdpdmVuIG9wdGlvbiBpcyBhbHJlYWR5IHNlbGVjdGVkLlxuICAgICAqXG4gICAgICogVGhpcyBtZXRob2QgY2hlY2tzIGlmIHRoZSBwcm92aWRlZCBgb3B0aW9uYCBpcyBwcmVzZW50IGluIHRoZSBgc2VsZWN0ZWRPcHRpb25zYCBhcnJheS5cbiAgICAgKiBJZiBhIGN1c3RvbSBjb21wYXJpc29uIGZ1bmN0aW9uIChgY29tcGFyZU9wdGlvbmApIGlzIHByb3ZpZGVkLCBpdCB1c2VzIHRoaXMgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGVxdWFsaXR5LlxuICAgICAqIE90aGVyd2lzZSwgaXQgZmFsbHMgYmFjayB0byB1c2luZyBzdHJpY3QgZXF1YWxpdHkgY29tcGFyaXNvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcHRpb24gLSBUaGUgb3B0aW9uIHRvIGNoZWNrIGZvciBzZWxlY3Rpb24uXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBvcHRpb24gaXMgc2VsZWN0ZWQsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIGlzT3B0aW9uU2VsZWN0ZWQob3B0aW9uOiBBdXRvY29tcGxldGVPcHRpb24pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgY29tcGFyZSA9IHRoaXMuY29tcGFyZU9wdGlvbjtcbiAgICAgICAgY29uc3QgYXJyYXkgPSB0aGlzLnNlbGVjdGVkT3B0aW9ucztcblxuICAgICAgICByZXR1cm4gY29tcGFyZSA/IGFycmF5LnNvbWUoKGFycmF5VmFsdWUpID0+IGNvbXBhcmUob3B0aW9uLCBhcnJheVZhbHVlKSkgOiBhcnJheS5pbmNsdWRlcyhvcHRpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNBZGRlZCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHZhbHVlTG93ZXJDYXNlID0gdmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb25zLnNvbWUoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlLnRvTG93ZXJDYXNlKCkgPT09IHZhbHVlTG93ZXJDYXNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRXhpc3RzKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdmFsdWVMb3dlckNhc2UgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICByZXR1cm4gdGhpcy5hbGxvd09ubHlQcmVkZWZpbmVkVmFsdWVzID8gdGhpcy5hdXRvY29tcGxldGVPcHRpb25zLnNvbWUoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlLnRvTG93ZXJDYXNlKCkgPT09IHZhbHVlTG93ZXJDYXNlKSA6IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldCgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5vcHRpb25zQ2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRPcHRpb25zKTtcbiAgICAgICAgdGhpcy5mb3JtQ3RybC5zZXRWYWx1ZSgnJyk7XG4gICAgICAgIHRoaXMub3B0aW9uSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFkZi1jaGlwLWxpc3RcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgIDxtYXQtY2hpcC1ncmlkICNjaGlwTGlzdCBbYXR0ci5hcmlhLWxhYmVsXT1cIidTRUFSQ0guRklMVEVSLkFSSUEtTEFCRUwuT1BUSU9OUy1TRUxFQ1RJT04nIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgIDxtYXQtY2hpcC1yb3dcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLW9wdGlvbi1jaGlwcyBhZGYtYXV0b2NvbXBsZXRlLWFkZGVkLW9wdGlvbi1jaGlwc1wiXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHNlbGVjdGVkT3B0aW9uc1wiXG4gICAgICAgICAgICAocmVtb3ZlZCk9XCJyZW1vdmUob3B0aW9uKVwiPlxuICAgICAgICAgICAgPHNwYW4gW3RpdGxlXT1cIm9wdGlvbi5mdWxsUGF0aCA/ICgnU0VBUkNILlJFU1VMVFMuV0lMTF9DT05UQUlOJyB8IHRyYW5zbGF0ZTp7c2VhcmNoVGVybTogb3B0aW9uLmZ1bGxQYXRofSkgOiB1bmRlZmluZWRcIj5cbiAgICAgICAgICAgICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBtYXRDaGlwUmVtb3ZlXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtb3B0aW9uLWNoaXBzLWRlbGV0ZS1idXR0b24gYWRmLWF1dG9jb21wbGV0ZS1hZGRlZC1vcHRpb24tY2hpcHMtZGVsZXRlLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidTRUFSQ0guRklMVEVSLkJVVFRPTlMuUkVNT1ZFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiYWRmLW9wdGlvbi1jaGlwcy1kZWxldGUtaWNvbiBhZGYtYXV0b2NvbXBsZXRlLWFkZGVkLW9wdGlvbi1jaGlwcy1kZWxldGUtaWNvblwiPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L21hdC1jaGlwLXJvdz5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJhZGYtc2VhcmNoLWNoaXAtYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgICNvcHRpb25JbnB1dFxuICAgICAgICAgICAgI2F1dG9jb21wbGV0ZVRyaWdnZXI9XCJtYXRBdXRvY29tcGxldGVUcmlnZ2VyXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ3RybFwiXG4gICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgICAgICAgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwTGlzdFwiXG4gICAgICAgICAgICBbbWF0Q2hpcElucHV0U2VwYXJhdG9yS2V5Q29kZXNdPVwic2VwYXJhdG9yS2V5c0NvZGVzXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2VhcmNoLXByb3BlcnRpZXMtZmlsZS1pbnB1dFwiXG4gICAgICAgICAgICAobWF0Q2hpcElucHV0VG9rZW5FbmQpPVwiYWRkKCRldmVudClcIlxuICAgICAgICAgICAgKGJsdXIpPVwiYWN0aXZlQW55T3B0aW9uID0gZmFsc2U7IGF1dG9jb21wbGV0ZVRyaWdnZXIuY2xvc2VQYW5lbCgpXCJcbiAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1zZWFyY2gtY2hpcC1hdXRvY29tcGxldGUtaW5wdXRcIj5cbiAgICA8L21hdC1jaGlwLWdyaWQ+XG4gICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIiAob3B0aW9uU2VsZWN0ZWQpPVwic2VsZWN0ZWQoJGV2ZW50KVwiIGlkPVwiYWRmLXNlYXJjaC1jaGlwLWF1dG9jb21wbGV0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgKG9wdGlvbkFjdGl2YXRlZCk9XCJhY3RpdmVBbnlPcHRpb24gPSB0cnVlXCIgKGNsb3NlZCk9XCJhY3RpdmVBbnlPcHRpb24gPSBmYWxzZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uSW5wdXQudmFsdWUubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZG93bik9JGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNPcHRpb25TZWxlY3RlZChvcHRpb24pXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ29wdGlvbi0nICsgb3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwib3B0aW9uLmZ1bGxQYXRoID8gKCdTRUFSQ0guUkVTVUxUUy5XSUxMX0NPTlRBSU4nIHwgdHJhbnNsYXRlIDogeyBzZWFyY2hUZXJtOiBvcHRpb24uZnVsbFBhdGggfHwgb3B0aW9uLnZhbHVlIH0pIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1zZWFyY2gtY2hpcC1hdXRvY29tcGxldGUtYWRkZWQtb3B0aW9uXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpc09wdGlvblNlbGVjdGVkKG9wdGlvbikgJiYgJ2FkZi1hdXRvY29tcGxldGUtYWRkZWQtb3B0aW9uJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgb3B0aW9uLmZ1bGxQYXRoIHx8IG9wdGlvbi52YWx1ZSB9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L21hdC1hdXRvY29tcGxldGU+XG48L21hdC1mb3JtLWZpZWxkPlxuIl19
@@ -1,46 +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 { TranslatePipe } 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 "@angular/material/icon";
29
- export class SearchChipListComponent {
30
- constructor(facetFiltersService) {
31
- this.facetFiltersService = facetFiltersService;
32
- /** Flag used to enable the display of a clear-all-filters button. */
33
- this.clearAll = false;
34
- }
35
- 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 }); }
36
- 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: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None }); }
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchChipListComponent, decorators: [{
39
- type: Component,
40
- args: [{ selector: 'adf-search-chip-list', standalone: true, imports: [CommonModule, MatChipsModule, TranslatePipe, 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"] }]
41
- }], ctorParameters: () => [{ type: i1.SearchFacetFiltersService }], propDecorators: { searchFilter: [{
42
- type: Input
43
- }], clearAll: [{
44
- type: Input
45
- }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNoaXAtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlYXJjaC9jb21wb25lbnRzL3NlYXJjaC1jaGlwLWxpc3Qvc2VhcmNoLWNoaXAtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlYXJjaC9jb21wb25lbnRzL3NlYXJjaC1jaGlwLWxpc3Qvc2VhcmNoLWNoaXAtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUMvRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQVd2RCxNQUFNLE9BQU8sdUJBQXVCO0lBWWhDLFlBQW1CLG1CQUE4QztRQUE5Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQTJCO1FBSmpFLHFFQUFxRTtRQUVyRSxhQUFRLEdBQVksS0FBSyxDQUFDO0lBRTBDLENBQUM7K0dBWjVELHVCQUF1QjttR0FBdkIsdUJBQXVCLGtNQ2xDcEMsc3FDQXVCQSxzVERLYyxZQUFZLCtQQUFFLGNBQWMsc2hCQUFFLGFBQWEsaURBQUUsYUFBYTs7NEZBTTNELHVCQUF1QjtrQkFUbkMsU0FBUzsrQkFDSSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDLGlCQUd0RCxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFFOzhGQVF2QyxZQUFZO3NCQURYLEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VhcmNoRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyL3NlYXJjaC1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaEZhY2V0RmlsdGVyc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZWFyY2gtZmFjZXQtZmlsdGVycy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2VhcmNoLWNoaXAtbGlzdCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRDaGlwc01vZHVsZSwgVHJhbnNsYXRlUGlwZSwgTWF0SWNvbk1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1jaGlwLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlYXJjaC1jaGlwLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdhZGYtc2VhcmNoLWNoaXAtbGlzdCcgfVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hDaGlwTGlzdENvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICogU2VhcmNoIGZpbHRlciB0byBzdXBwbHkgdGhlIGRhdGEgZm9yIHRoZSBjaGlwcy5cbiAgICAgKiBOb3QgcmVxdWlyZWQgZnJvbSA0LjUuMCBhbmQgbGF0ZXIgdmVyc2lvbnMgQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNlYXJjaEZpbHRlcjogU2VhcmNoRmlsdGVyQ29tcG9uZW50O1xuXG4gICAgLyoqIEZsYWcgdXNlZCB0byBlbmFibGUgdGhlIGRpc3BsYXkgb2YgYSBjbGVhci1hbGwtZmlsdGVycyBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBjbGVhckFsbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGZhY2V0RmlsdGVyc1NlcnZpY2U6IFNlYXJjaEZhY2V0RmlsdGVyc1NlcnZpY2UpIHt9XG59XG4iLCI8bWF0LWNoaXAtbGlzdGJveD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmFjZXRGaWx0ZXJzU2VydmljZS5zZWxlY3RlZEJ1Y2tldHMubGVuZ3RoXCI+XG4gICAgICAgIDxtYXQtY2hpcC1vcHRpb24gKm5nSWY9XCJjbGVhckFsbCAmJiBmYWNldEZpbHRlcnNTZXJ2aWNlLnNlbGVjdGVkQnVja2V0cy5sZW5ndGggPiAxXCJcbiAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cInJlc2V0LWZpbHRlclwiXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgc2VsZWN0ZWRcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNlYXJjaC1jaGlwLWxpc3QtaXRlbVwiXG4gICAgICAgICAgICB0aXRsZT1cInt7ICdTRUFSQ0guRklMVEVSLkJVVFRPTlMuQ0xFQVItQUxMLlRPT0xUSVAnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgIChjbGljayk9XCJmYWNldEZpbHRlcnNTZXJ2aWNlLnJlc2V0QWxsU2VsZWN0ZWRCdWNrZXRzKClcIj5cbiAgICAgICAgICAgIHt7ICdTRUFSQ0guRklMVEVSLkJVVFRPTlMuQ0xFQVItQUxMLkxBQkVMJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1jaGlwLW9wdGlvbj5cblxuICAgICAgICA8bWF0LWNoaXAtb3B0aW9uXG4gICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJjaGlwLWxpc3QtZW50cnlcIlxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2VhcmNoLWNoaXAtbGlzdC1pdGVtXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzZWxlY3Rpb24gb2YgZmFjZXRGaWx0ZXJzU2VydmljZS5zZWxlY3RlZEJ1Y2tldHNcIlxuICAgICAgICAgICAgW3JlbW92YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIChyZW1vdmVkKT1cImZhY2V0RmlsdGVyc1NlcnZpY2UudW5zZWxlY3RGYWNldEJ1Y2tldChzZWxlY3Rpb24uZmllbGQsIHNlbGVjdGlvbi5idWNrZXQpXCI+XG4gICAgICAgICAgICB7eyAoc2VsZWN0aW9uLmJ1Y2tldC5kaXNwbGF5IHx8IHNlbGVjdGlvbi5idWNrZXQubGFiZWwpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhZGYtc2VhcmNoLWNoaXAtbGlzdC1pdGVtLXJlbW92ZVwiIG1hdENoaXBSZW1vdmU+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICAgICAgPC9tYXQtY2hpcC1vcHRpb24+XG4gICAgPC9uZy1jb250YWluZXI+XG48L21hdC1jaGlwLWxpc3Rib3g+XG4iXX0=
@@ -1,180 +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 { TranslatePipe } 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
- export class SearchControlComponent {
32
- constructor(authService, thumbnailService) {
33
- this.authService = authService;
34
- this.thumbnailService = thumbnailService;
35
- /** Toggles highlighting of the search term in the results. */
36
- this.highlight = false;
37
- /** Type of the input field to render, e.g. "search" or "text" (default). */
38
- this.inputType = 'text';
39
- /** Toggles "find-as-you-type" suggestions for possible matches. */
40
- this.liveSearchEnabled = true;
41
- /** Toggles auto-completion of the search input field. */
42
- this.autocomplete = false;
43
- /**
44
- * Toggles whether to use an expanding search control. If false
45
- * then a regular input is used.
46
- */
47
- this.expandable = true;
48
- /** Maximum number of results to show in the live search. */
49
- this.liveSearchMaxResults = 5;
50
- /**
51
- * Emitted when the search is submitted by pressing the ENTER key.
52
- * The search term is provided as the value of the event.
53
- */
54
- this.submit = new EventEmitter();
55
- /**
56
- * Emitted when the search term is changed. The search term is provided
57
- * in the 'value' property of the returned object. If the term is less
58
- * than three characters in length then it is truncated to an empty
59
- * string.
60
- */
61
- this.searchChange = new EventEmitter();
62
- /** Emitted when a file item from the list of "find-as-you-type" results is selected. */
63
- this.optionClicked = new EventEmitter();
64
- this.focusSubject = new Subject();
65
- this.noSearchResultTemplate = null;
66
- this.searchTerm = '';
67
- }
68
- isNoSearchTemplatePresent() {
69
- return !!this.emptySearchTemplate;
70
- }
71
- isLoggedIn() {
72
- return this.authService.isEcmLoggedIn();
73
- }
74
- inputChange(value) {
75
- this.searchTerm = value;
76
- this.searchChange.emit(value);
77
- }
78
- getMimeTypeIcon(node) {
79
- const mimeType = this.getMimeType(node);
80
- return this.thumbnailService.getMimeTypeIcon(mimeType);
81
- }
82
- getMimeType(node) {
83
- let mimeType;
84
- if (node.entry.content?.mimeType) {
85
- mimeType = node.entry.content.mimeType;
86
- }
87
- if (node.entry.isFolder) {
88
- mimeType = 'folder';
89
- }
90
- return mimeType;
91
- }
92
- elementClicked(item) {
93
- if (item.entry) {
94
- this.optionClicked.next(item);
95
- this.focusSubject.next(new FocusEvent('blur'));
96
- }
97
- }
98
- onFocus(event) {
99
- this.focusSubject.next(event);
100
- }
101
- onBlur(event) {
102
- const nextElement = this.getNextElementSibling(event.target);
103
- if (!nextElement && !this.isListElement(event)) {
104
- this.focusSubject.next(event);
105
- }
106
- }
107
- onSelectFirstResult() {
108
- if (this.listResultElement && this.listResultElement.length > 0) {
109
- const firstElement = this.listResultElement.first;
110
- // eslint-disable-next-line no-underscore-dangle
111
- firstElement._hostElement.focus();
112
- }
113
- }
114
- onRowArrowDown(event) {
115
- const nextElement = this.getNextElementSibling(event.target);
116
- if (nextElement) {
117
- nextElement.focus();
118
- }
119
- }
120
- onRowArrowUp(event) {
121
- const previousElement = this.getPreviousElementSibling(event.target);
122
- if (previousElement) {
123
- previousElement.focus();
124
- }
125
- else {
126
- this.focusSubject.next(new FocusEvent('focus'));
127
- }
128
- }
129
- onReset(status) {
130
- if (status) {
131
- this.searchAutocomplete.resetResults();
132
- }
133
- }
134
- isListElement(event) {
135
- return event.relatedTarget?.children[0] && event.relatedTarget.children[0].className === 'mat-list-item-content';
136
- }
137
- getNextElementSibling(node) {
138
- return node.nextElementSibling;
139
- }
140
- getPreviousElementSibling(node) {
141
- return node.previousElementSibling;
142
- }
143
- 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 }); }
144
- 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: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
145
- }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchControlComponent, decorators: [{
147
- type: Component,
148
- args: [{ selector: 'adf-search-control', standalone: true, imports: [CommonModule, SearchTextInputComponent, SearchComponent, MatListModule, MatIconModule, HighlightPipe, TranslatePipe], 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"] }]
149
- }], ctorParameters: () => [{ type: i1.AuthenticationService }, { type: i1.ThumbnailService }], propDecorators: { highlight: [{
150
- type: Input
151
- }], inputType: [{
152
- type: Input
153
- }], liveSearchEnabled: [{
154
- type: Input
155
- }], autocomplete: [{
156
- type: Input
157
- }], expandable: [{
158
- type: Input
159
- }], liveSearchMaxResults: [{
160
- type: Input
161
- }], submit: [{
162
- type: Output
163
- }], searchChange: [{
164
- type: Output
165
- }], optionClicked: [{
166
- type: Output
167
- }], searchTextInput: [{
168
- type: ViewChild,
169
- args: ['searchTextInput']
170
- }], searchAutocomplete: [{
171
- type: ViewChild,
172
- args: ['search']
173
- }], listResultElement: [{
174
- type: ViewChildren,
175
- args: [MatListItem]
176
- }], emptySearchTemplate: [{
177
- type: ContentChild,
178
- args: [EmptySearchResultComponent]
179
- }] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9zZWFyY2gvY29tcG9uZW50cy9zZWFyY2gtY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlYXJjaC9jb21wb25lbnRzL3NlYXJjaC1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0SCxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBV3BELE1BQU0sT0FBTyxzQkFBc0I7SUFnRS9CLFlBQW1CLFdBQWtDLEVBQVUsZ0JBQWtDO1FBQTlF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Q25DLENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxJQUFhO1FBQzNDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3ZDLENBQUM7K0dBekpRLHNCQUFzQjttR0FBdEIsc0JBQXNCLHNkQXlEakIsMEJBQTBCLDBSQUgxQixXQUFXLGdEQ3RHN0IsczVHQThEQSx1ekJEcEJjLFlBQVksZ1FBQUUsd0JBQXdCLGlaQUFFLGVBQWUseU1BQUUsYUFBYSx5YkFBRSxhQUFhLCtLQUFFLGFBQWEsNkNBQUUsYUFBYTs7NEZBTXBILHNCQUFzQjtrQkFUbEMsU0FBUzsrQkFDSSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHdCQUF3QixFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUMsaUJBRy9HLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUU7eUhBS3JDLFNBQVM7c0JBRFIsS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04saUJBQWlCO3NCQURoQixLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFRTixVQUFVO3NCQURULEtBQUs7Z0JBS04sb0JBQW9CO3NCQURuQixLQUFLO2dCQVFOLE1BQU07c0JBREwsTUFBTTtnQkFVUCxZQUFZO3NCQURYLE1BQU07Z0JBS1AsYUFBYTtzQkFEWixNQUFNO2dCQUlQLGVBQWU7c0JBRGQsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBSTVCLGtCQUFrQjtzQkFEakIsU0FBUzt1QkFBQyxRQUFRO2dCQUlYLGlCQUFpQjtzQkFEeEIsWUFBWTt1QkFBQyxXQUFXO2dCQUl6QixtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UsIEhpZ2hsaWdodFBpcGUsIFNlYXJjaFRleHRJbnB1dENvbXBvbmVudCwgVGh1bWJuYWlsU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGVFbnRyeSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2guY29tcG9uZW50JztcbmltcG9ydCB7IE1hdExpc3RJdGVtLCBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBFbXB0eVNlYXJjaFJlc3VsdENvbXBvbmVudCB9IGZyb20gJy4vZW1wdHktc2VhcmNoLXJlc3VsdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2VhcmNoLWNvbnRyb2wnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2VhcmNoVGV4dElucHV0Q29tcG9uZW50LCBTZWFyY2hDb21wb25lbnQsIE1hdExpc3RNb2R1bGUsIE1hdEljb25Nb2R1bGUsIEhpZ2hsaWdodFBpcGUsIFRyYW5zbGF0ZVBpcGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWNvbnRyb2wuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdhZGYtc2VhcmNoLWNvbnRyb2wnIH1cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoQ29udHJvbENvbXBvbmVudCB7XG4gICAgLyoqIFRvZ2dsZXMgaGlnaGxpZ2h0aW5nIG9mIHRoZSBzZWFyY2ggdGVybSBpbiB0aGUgcmVzdWx0cy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGhpZ2hsaWdodDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIFR5cGUgb2YgdGhlIGlucHV0IGZpZWxkIHRvIHJlbmRlciwgZS5nLiBcInNlYXJjaFwiIG9yIFwidGV4dFwiIChkZWZhdWx0KS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGlucHV0VHlwZTogc3RyaW5nID0gJ3RleHQnO1xuXG4gICAgLyoqIFRvZ2dsZXMgXCJmaW5kLWFzLXlvdS10eXBlXCIgc3VnZ2VzdGlvbnMgZm9yIHBvc3NpYmxlIG1hdGNoZXMuICovXG4gICAgQElucHV0KClcbiAgICBsaXZlU2VhcmNoRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogVG9nZ2xlcyBhdXRvLWNvbXBsZXRpb24gb2YgdGhlIHNlYXJjaCBpbnB1dCBmaWVsZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGF1dG9jb21wbGV0ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogVG9nZ2xlcyB3aGV0aGVyIHRvIHVzZSBhbiBleHBhbmRpbmcgc2VhcmNoIGNvbnRyb2wuIElmIGZhbHNlXG4gICAgICogdGhlbiBhIHJlZ3VsYXIgaW5wdXQgaXMgdXNlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGV4cGFuZGFibGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIE1heGltdW0gbnVtYmVyIG9mIHJlc3VsdHMgdG8gc2hvdyBpbiB0aGUgbGl2ZSBzZWFyY2guICovXG4gICAgQElucHV0KClcbiAgICBsaXZlU2VhcmNoTWF4UmVzdWx0czogbnVtYmVyID0gNTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiB0aGUgc2VhcmNoIGlzIHN1Ym1pdHRlZCBieSBwcmVzc2luZyB0aGUgRU5URVIga2V5LlxuICAgICAqIFRoZSBzZWFyY2ggdGVybSBpcyBwcm92aWRlZCBhcyB0aGUgdmFsdWUgb2YgdGhlIGV2ZW50LlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHN1Ym1pdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0dGVkIHdoZW4gdGhlIHNlYXJjaCB0ZXJtIGlzIGNoYW5nZWQuIFRoZSBzZWFyY2ggdGVybSBpcyBwcm92aWRlZFxuICAgICAqIGluIHRoZSAndmFsdWUnIHByb3BlcnR5IG9mIHRoZSByZXR1cm5lZCBvYmplY3QuICBJZiB0aGUgdGVybSBpcyBsZXNzXG4gICAgICogdGhhbiB0aHJlZSBjaGFyYWN0ZXJzIGluIGxlbmd0aCB0aGVuIGl0IGlzIHRydW5jYXRlZCB0byBhbiBlbXB0eVxuICAgICAqIHN0cmluZy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBzZWFyY2hDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBhIGZpbGUgaXRlbSBmcm9tIHRoZSBsaXN0IG9mIFwiZmluZC1hcy15b3UtdHlwZVwiIHJlc3VsdHMgaXMgc2VsZWN0ZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgb3B0aW9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKCdzZWFyY2hUZXh0SW5wdXQnKVxuICAgIHNlYXJjaFRleHRJbnB1dDogU2VhcmNoVGV4dElucHV0Q29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgnc2VhcmNoJylcbiAgICBzZWFyY2hBdXRvY29tcGxldGU6IFNlYXJjaENvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGRyZW4oTWF0TGlzdEl0ZW0pXG4gICAgcHJpdmF0ZSBsaXN0UmVzdWx0RWxlbWVudDogUXVlcnlMaXN0PE1hdExpc3RJdGVtPjtcblxuICAgIEBDb250ZW50Q2hpbGQoRW1wdHlTZWFyY2hSZXN1bHRDb21wb25lbnQpXG4gICAgZW1wdHlTZWFyY2hUZW1wbGF0ZTogRW1wdHlTZWFyY2hSZXN1bHRDb21wb25lbnQ7XG5cbiAgICBmb2N1c1N1YmplY3QgPSBuZXcgU3ViamVjdDxGb2N1c0V2ZW50PigpO1xuICAgIG5vU2VhcmNoUmVzdWx0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gPSBudWxsO1xuICAgIHNlYXJjaFRlcm06IHN0cmluZyA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGF1dGhTZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsIHByaXZhdGUgdGh1bWJuYWlsU2VydmljZTogVGh1bWJuYWlsU2VydmljZSkge31cblxuICAgIGlzTm9TZWFyY2hUZW1wbGF0ZVByZXNlbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZW1wdHlTZWFyY2hUZW1wbGF0ZTtcbiAgICB9XG4gICAgaXNMb2dnZWRJbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UuaXNFY21Mb2dnZWRJbigpO1xuICAgIH1cblxuICAgIGlucHV0Q2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIGdldE1pbWVUeXBlSWNvbihub2RlOiBOb2RlRW50cnkpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBtaW1lVHlwZSA9IHRoaXMuZ2V0TWltZVR5cGUobm9kZSk7XG4gICAgICAgIHJldHVybiB0aGlzLnRodW1ibmFpbFNlcnZpY2UuZ2V0TWltZVR5cGVJY29uKG1pbWVUeXBlKTtcbiAgICB9XG5cbiAgICBnZXRNaW1lVHlwZShub2RlOiBOb2RlRW50cnkpOiBzdHJpbmcge1xuICAgICAgICBsZXQgbWltZVR5cGU6IHN0cmluZztcblxuICAgICAgICBpZiAobm9kZS5lbnRyeS5jb250ZW50Py5taW1lVHlwZSkge1xuICAgICAgICAgICAgbWltZVR5cGUgPSBub2RlLmVudHJ5LmNvbnRlbnQubWltZVR5cGU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUuZW50cnkuaXNGb2xkZXIpIHtcbiAgICAgICAgICAgIG1pbWVUeXBlID0gJ2ZvbGRlcic7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1pbWVUeXBlO1xuICAgIH1cblxuICAgIGVsZW1lbnRDbGlja2VkKGl0ZW06IGFueSkge1xuICAgICAgICBpZiAoaXRlbS5lbnRyeSkge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25DbGlja2VkLm5leHQoaXRlbSk7XG4gICAgICAgICAgICB0aGlzLmZvY3VzU3ViamVjdC5uZXh0KG5ldyBGb2N1c0V2ZW50KCdibHVyJykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Gb2N1cyhldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzU3ViamVjdC5uZXh0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV4dEVsZW1lbnQ6IGFueSA9IHRoaXMuZ2V0TmV4dEVsZW1lbnRTaWJsaW5nKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KTtcbiAgICAgICAgaWYgKCFuZXh0RWxlbWVudCAmJiAhdGhpcy5pc0xpc3RFbGVtZW50KGV2ZW50KSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c1N1YmplY3QubmV4dChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNlbGVjdEZpcnN0UmVzdWx0KCkge1xuICAgICAgICBpZiAodGhpcy5saXN0UmVzdWx0RWxlbWVudCAmJiB0aGlzLmxpc3RSZXN1bHRFbGVtZW50Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0RWxlbWVudCA9IHRoaXMubGlzdFJlc3VsdEVsZW1lbnQuZmlyc3QgYXMgTWF0TGlzdEl0ZW07XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcbiAgICAgICAgICAgIGZpcnN0RWxlbWVudC5faG9zdEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUm93QXJyb3dEb3duKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXh0RWxlbWVudDogYW55ID0gdGhpcy5nZXROZXh0RWxlbWVudFNpYmxpbmcoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpO1xuICAgICAgICBpZiAobmV4dEVsZW1lbnQpIHtcbiAgICAgICAgICAgIG5leHRFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJvd0Fycm93VXAoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzRWxlbWVudDogYW55ID0gdGhpcy5nZXRQcmV2aW91c0VsZW1lbnRTaWJsaW5nKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KTtcbiAgICAgICAgaWYgKHByZXZpb3VzRWxlbWVudCkge1xuICAgICAgICAgICAgcHJldmlvdXNFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzU3ViamVjdC5uZXh0KG5ldyBGb2N1c0V2ZW50KCdmb2N1cycpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUmVzZXQoc3RhdHVzOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChzdGF0dXMpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoQXV0b2NvbXBsZXRlLnJlc2V0UmVzdWx0cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0xpc3RFbGVtZW50KGV2ZW50OiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGV2ZW50LnJlbGF0ZWRUYXJnZXQ/LmNoaWxkcmVuWzBdICYmIGV2ZW50LnJlbGF0ZWRUYXJnZXQuY2hpbGRyZW5bMF0uY2xhc3NOYW1lID09PSAnbWF0LWxpc3QtaXRlbS1jb250ZW50JztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE5leHRFbGVtZW50U2libGluZyhub2RlOiBFbGVtZW50KTogRWxlbWVudCB7XG4gICAgICAgIHJldHVybiBub2RlLm5leHRFbGVtZW50U2libGluZztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByZXZpb3VzRWxlbWVudFNpYmxpbmcobm9kZTogRWxlbWVudCk6IEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gbm9kZS5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO1xuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJpc0xvZ2dlZEluKClcIj5cbiAgICA8YWRmLXNlYXJjaC10ZXh0LWlucHV0ICAjc2VhcmNoVGV4dElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaFRlcm1dPSBcInNlYXJjaFRlcm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleHBhbmRhYmxlXT1cImV4cGFuZGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGl2ZVNlYXJjaEVuYWJsZWRdPVwibGl2ZVNlYXJjaEVuYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb2N1c0xpc3RlbmVyXT1cImZvY3VzU3ViamVjdC5hc09ic2VydmFibGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VhcmNoQ2hhbmdlKT1cImlucHV0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZXNldCk9XCJvblJlc2V0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RSZXN1bHQpPVwib25TZWxlY3RGaXJzdFJlc3VsdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3VibWl0KT1cInN1Ym1pdC5lbWl0KCRldmVudClcIiAvPlxuXG4gICAgPGFkZi1zZWFyY2ggI3NlYXJjaFxuICAgICAgICAgICAgICAgICNhdXRvPVwic2VhcmNoQXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1zZWFyY2gtcmVzdWx0LWF1dG9jb21wbGV0ZVwiXG4gICAgICAgICAgICAgICAgW21heFJlc3VsdHNdPVwibGl2ZVNlYXJjaE1heFJlc3VsdHNcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1kYXRhPlxuICAgICAgICAgICAgPG1hdC1saXN0ICpuZ0lmPVwic2VhcmNoVGV4dElucHV0Py5pc1NlYXJjaEJhckFjdGl2ZSgpXCIgaWQ9XCJhdXRvY29tcGxldGUtc2VhcmNoLXJlc3VsdC1saXN0XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1saXN0LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YT8ubGlzdD8uZW50cmllczsgbGV0IGlkeCA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJyZXN1bHRfb3B0aW9uX3t7aWR4fX1cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2F1dG9jb21wbGV0ZV9mb3JfJyArIGl0ZW0uZW50cnkubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5dXAuYXJyb3dkb3duKT1cIm9uUm93QXJyb3dEb3duKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5dXAuYXJyb3d1cCk9XCJvblJvd0Fycm93VXAoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNlYXJjaC1hdXRvY29tcGxldGUtaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlbGVtZW50Q2xpY2tlZChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJlbGVtZW50Q2xpY2tlZChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICh0b3VjaGVuZCk9XCJlbGVtZW50Q2xpY2tlZChpdGVtKVwiPlxuICAgICAgICAgICAgICAgICAgICA8IS0tIFRoaXMgaXMgYSBjb21tZW50IC0tPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0TGlzdEl0ZW1MaW5lPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbYWx0XT1cImdldE1pbWVUeXBlKGl0ZW0pXCIgW3NyY109XCJnZXRNaW1lVHlwZUljb24oaXRlbSlcIi8+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxoNCBtYXRMaXN0SXRlbVRpdGxlIGlkPVwicmVzdWx0X25hbWVfe3tpZHh9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhpZ2hsaWdodDsgZWxzZSBlbHNlQmxvY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2VhcmNoLWZpeGVkLXRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySHRtbF09XCJpdGVtLmVudHJ5Lm5hbWUgfCBoaWdobGlnaHQ6IHNlYXJjaFRlcm1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0/LmVudHJ5Lm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlQmxvY2s+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJhZGYtc2VhcmNoLWZpeGVkLXRleHRcIiBtYXRMaXN0SXRlbVRpdGxlIGlkPVwicmVzdWx0X25hbWVfe3tpZHh9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySHRtbF09XCJpdGVtLmVudHJ5Lm5hbWVcIj48L2g0PlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8cCBtYXRMaXN0SXRlbUxpbmUgY2xhc3M9XCJhZGYtc2VhcmNoLWZpeGVkLXRleHRcIj4ge3tpdGVtPy5lbnRyeS5jcmVhdGVkQnlVc2VyLmRpc3BsYXlOYW1lfX0gPC9wPlxuICAgICAgICAgICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgICAgICAgICA8bWF0LWxpc3QtaXRlbSBpZD1cInNlYXJjaF9ub19yZXN1bHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cInNlYXJjaF9ub19yZXN1bHRfZm91bmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZGF0YT8ubGlzdD8uZW50cmllcy5sZW5ndGggPT09IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yPVwiYWRmLWVtcHR5LXNlYXJjaC1yZXN1bHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc05vU2VhcmNoVGVtcGxhdGVQcmVzZW50KCkgZWxzZSBkZWZhdWx0Tm9SZXN1bHRcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHROb1Jlc3VsdD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIG1hdExpc3RJdGVtTGluZSBjbGFzcz1cImFkZi1zZWFyY2gtZml4ZWQtdGV4dFwiPnt7ICdTRUFSQ0guUkVTVUxUUy5OT05FJyB8IHRyYW5zbGF0ZTp7c2VhcmNoVGVybTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hUZXJtfSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICAgICAgICA8L21hdC1saXN0PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvYWRmLXNlYXJjaD5cbjwvZGl2PlxuIl19
@@ -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