@bravobit/bb-foundation 0.45.4 → 0.50.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/auth/lib/auth.config.d.ts +0 -2
  2. package/auth/lib/auth.service.d.ts +1 -1
  3. package/auth/lib/directives/authenticated.directive.d.ts +1 -1
  4. package/collections/lib/directives/collections-data-row.directive.d.ts +1 -1
  5. package/collections/lib/directives/collections-data.directive.d.ts +1 -1
  6. package/collections/lib/directives/collections-empty.directive.d.ts +1 -1
  7. package/collections/lib/directives/collections-error.directive.d.ts +1 -1
  8. package/collections/lib/directives/collections-initial.directive.d.ts +1 -1
  9. package/collections/lib/directives/collections-item.directive.d.ts +1 -1
  10. package/dialog/lib/dialog-container/dialog-container.component.d.ts +1 -0
  11. package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +1 -0
  12. package/fesm2022/bravobit-bb-foundation-auth.mjs +44 -50
  13. package/fesm2022/bravobit-bb-foundation-auth.mjs.map +1 -1
  14. package/fesm2022/bravobit-bb-foundation-collections.mjs +69 -75
  15. package/fesm2022/bravobit-bb-foundation-collections.mjs.map +1 -1
  16. package/fesm2022/bravobit-bb-foundation-combobox.mjs +21 -24
  17. package/fesm2022/bravobit-bb-foundation-combobox.mjs.map +1 -1
  18. package/fesm2022/bravobit-bb-foundation-dashboard.mjs +35 -35
  19. package/fesm2022/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  20. package/fesm2022/bravobit-bb-foundation-dialog.mjs +63 -47
  21. package/fesm2022/bravobit-bb-foundation-dialog.mjs.map +1 -1
  22. package/fesm2022/bravobit-bb-foundation-elements.mjs +119 -131
  23. package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -1
  24. package/fesm2022/bravobit-bb-foundation-http.mjs +10 -10
  25. package/fesm2022/bravobit-bb-foundation-http.mjs.map +1 -1
  26. package/fesm2022/bravobit-bb-foundation-localize.mjs +25 -32
  27. package/fesm2022/bravobit-bb-foundation-localize.mjs.map +1 -1
  28. package/fesm2022/bravobit-bb-foundation-masking.mjs +19 -22
  29. package/fesm2022/bravobit-bb-foundation-masking.mjs.map +1 -1
  30. package/fesm2022/bravobit-bb-foundation-notifications.mjs +15 -17
  31. package/fesm2022/bravobit-bb-foundation-notifications.mjs.map +1 -1
  32. package/fesm2022/bravobit-bb-foundation-permissions.mjs +11 -12
  33. package/fesm2022/bravobit-bb-foundation-permissions.mjs.map +1 -1
  34. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +11 -11
  35. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  36. package/fesm2022/bravobit-bb-foundation-rxjs.mjs.map +1 -1
  37. package/fesm2022/bravobit-bb-foundation-select.mjs +26 -30
  38. package/fesm2022/bravobit-bb-foundation-select.mjs.map +1 -1
  39. package/fesm2022/bravobit-bb-foundation-storage.mjs +16 -8
  40. package/fesm2022/bravobit-bb-foundation-storage.mjs.map +1 -1
  41. package/fesm2022/bravobit-bb-foundation-table.mjs +29 -31
  42. package/fesm2022/bravobit-bb-foundation-table.mjs.map +1 -1
  43. package/fesm2022/bravobit-bb-foundation-tooltip.mjs +12 -13
  44. package/fesm2022/bravobit-bb-foundation-tooltip.mjs.map +1 -1
  45. package/fesm2022/bravobit-bb-foundation-utils.mjs +20 -24
  46. package/fesm2022/bravobit-bb-foundation-utils.mjs.map +1 -1
  47. package/fesm2022/bravobit-bb-foundation.mjs +21 -21
  48. package/fesm2022/bravobit-bb-foundation.mjs.map +1 -1
  49. package/localize/lib/localize.config.d.ts +0 -1
  50. package/localize/lib/localize.service.d.ts +1 -1
  51. package/localize/lib/views/localize-template.directive.d.ts +1 -1
  52. package/masking/lib/masking.service.d.ts +2 -2
  53. package/notifications/lib/notifications-list/notifications-list.component.d.ts +1 -2
  54. package/package.json +25 -63
  55. package/permissions/lib/directives/permission.directive.d.ts +1 -1
  56. package/storage/lib/interfaces/strategy.interface.d.ts +1 -1
  57. package/table/lib/components/table/table.component.d.ts +2 -2
  58. package/esm2022/auth/bravobit-bb-foundation-auth.mjs +0 -5
  59. package/esm2022/auth/lib/auth.config.mjs +0 -16
  60. package/esm2022/auth/lib/auth.interceptor.mjs +0 -87
  61. package/esm2022/auth/lib/auth.module.mjs +0 -25
  62. package/esm2022/auth/lib/auth.service.mjs +0 -261
  63. package/esm2022/auth/lib/auth.session.mjs +0 -142
  64. package/esm2022/auth/lib/directives/authenticated.directive.mjs +0 -78
  65. package/esm2022/auth/lib/guards/anonymous.guard.mjs +0 -29
  66. package/esm2022/auth/lib/guards/authenticated.guard.mjs +0 -32
  67. package/esm2022/auth/lib/helpers/jwt.helper.mjs +0 -67
  68. package/esm2022/auth/lib/interfaces/config.interface.mjs +0 -4
  69. package/esm2022/auth/lib/interfaces/provider.interface.mjs +0 -2
  70. package/esm2022/auth/lib/interfaces/token.interface.mjs +0 -2
  71. package/esm2022/auth/lib/providers/email.provider.mjs +0 -27
  72. package/esm2022/auth/lib/providers/verify.provider.mjs +0 -25
  73. package/esm2022/auth/lib/tokens/use-authorization.token.mjs +0 -3
  74. package/esm2022/auth/public_api.mjs +0 -15
  75. package/esm2022/bravobit-bb-foundation.mjs +0 -5
  76. package/esm2022/collections/bravobit-bb-foundation-collections.mjs +0 -5
  77. package/esm2022/collections/lib/classes/array.collection.mjs +0 -85
  78. package/esm2022/collections/lib/collection.mjs +0 -98
  79. package/esm2022/collections/lib/collections.module.mjs +0 -84
  80. package/esm2022/collections/lib/components/collections-actions/collections-actions.component.mjs +0 -37
  81. package/esm2022/collections/lib/components/collections-grid/collections-grid.component.mjs +0 -52
  82. package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +0 -114
  83. package/esm2022/collections/lib/components/collections-table/collections-table.component.mjs +0 -86
  84. package/esm2022/collections/lib/components/collections-table-label/collections-table-label.component.mjs +0 -30
  85. package/esm2022/collections/lib/components/collections-table-sorting/collections-table-sorting.component.mjs +0 -65
  86. package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +0 -37
  87. package/esm2022/collections/lib/directives/collections-data-row.directive.mjs +0 -29
  88. package/esm2022/collections/lib/directives/collections-data.directive.mjs +0 -29
  89. package/esm2022/collections/lib/directives/collections-empty.directive.mjs +0 -29
  90. package/esm2022/collections/lib/directives/collections-error.directive.mjs +0 -29
  91. package/esm2022/collections/lib/directives/collections-initial.directive.mjs +0 -23
  92. package/esm2022/collections/lib/directives/collections-item.directive.mjs +0 -29
  93. package/esm2022/collections/lib/interfaces/array-collection.interface.mjs +0 -2
  94. package/esm2022/collections/lib/interfaces/collection.interface.mjs +0 -2
  95. package/esm2022/collections/lib/providers/api-collection.provider.mjs +0 -103
  96. package/esm2022/collections/lib/providers/collection.provider.mjs +0 -39
  97. package/esm2022/collections/lib/providers/local-collection.provider.mjs +0 -25
  98. package/esm2022/collections/public_api.mjs +0 -22
  99. package/esm2022/combobox/bravobit-bb-foundation-combobox.mjs +0 -5
  100. package/esm2022/combobox/combobox/combobox-container.directive.mjs +0 -137
  101. package/esm2022/combobox/combobox/combobox.component.mjs +0 -118
  102. package/esm2022/combobox/combobox-label.directive.mjs +0 -14
  103. package/esm2022/combobox/combobox-option.directive.mjs +0 -17
  104. package/esm2022/combobox/combobox-panel/combobox-panel.animation.mjs +0 -11
  105. package/esm2022/combobox/combobox-panel/combobox-panel.component.mjs +0 -42
  106. package/esm2022/combobox/combobox.interface.mjs +0 -2
  107. package/esm2022/combobox/public_api.mjs +0 -4
  108. package/esm2022/dashboard/bravobit-bb-foundation-dashboard.mjs +0 -5
  109. package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +0 -50
  110. package/esm2022/dashboard/lib/dashboard-header/dashboard-header.component.mjs +0 -25
  111. package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +0 -28
  112. package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +0 -32
  113. package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +0 -75
  114. package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +0 -93
  115. package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +0 -60
  116. package/esm2022/dashboard/lib/dashboard.module.mjs +0 -50
  117. package/esm2022/dashboard/public_api.mjs +0 -9
  118. package/esm2022/dialog/bravobit-bb-foundation-dialog.mjs +0 -5
  119. package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +0 -12
  120. package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +0 -44
  121. package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +0 -58
  122. package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +0 -15
  123. package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +0 -11
  124. package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +0 -57
  125. package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +0 -53
  126. package/esm2022/dialog/lib/dialog.config.mjs +0 -8
  127. package/esm2022/dialog/lib/dialog.insertion.mjs +0 -18
  128. package/esm2022/dialog/lib/dialog.interfaces.mjs +0 -9
  129. package/esm2022/dialog/lib/dialog.module.mjs +0 -64
  130. package/esm2022/dialog/lib/dialog.ref.mjs +0 -16
  131. package/esm2022/dialog/lib/dialog.service.mjs +0 -75
  132. package/esm2022/dialog/lib/directives/confirm.directive.mjs +0 -48
  133. package/esm2022/dialog/public_api.mjs +0 -12
  134. package/esm2022/elements/bravobit-bb-foundation-elements.mjs +0 -5
  135. package/esm2022/elements/lib/avatar/avatar.component.mjs +0 -175
  136. package/esm2022/elements/lib/button/button.component.mjs +0 -68
  137. package/esm2022/elements/lib/checkbox/checkbox.component.mjs +0 -116
  138. package/esm2022/elements/lib/checkbox-group/checkbox-group.component.mjs +0 -34
  139. package/esm2022/elements/lib/date-picker/date-picker.component.mjs +0 -323
  140. package/esm2022/elements/lib/directives/addon.directive.mjs +0 -27
  141. package/esm2022/elements/lib/directives/extra-error-controls.directive.mjs +0 -41
  142. package/esm2022/elements/lib/directives/file-drop.directive.mjs +0 -62
  143. package/esm2022/elements/lib/directives/form-submit.directive.mjs +0 -54
  144. package/esm2022/elements/lib/directives/form-submitter.directive.mjs +0 -24
  145. package/esm2022/elements/lib/directives/image-upload.directive.mjs +0 -143
  146. package/esm2022/elements/lib/directives/input.directive.mjs +0 -49
  147. package/esm2022/elements/lib/elements.config.mjs +0 -54
  148. package/esm2022/elements/lib/elements.interfaces.mjs +0 -5
  149. package/esm2022/elements/lib/elements.module.mjs +0 -146
  150. package/esm2022/elements/lib/file-picker/file-picker.component.mjs +0 -196
  151. package/esm2022/elements/lib/form-control/form-control.component.mjs +0 -46
  152. package/esm2022/elements/lib/form-error/form-error.component.mjs +0 -106
  153. package/esm2022/elements/lib/form-group/form-group.component.mjs +0 -19
  154. package/esm2022/elements/lib/icon/icon.component.mjs +0 -122
  155. package/esm2022/elements/lib/image-picker/image-picker.component.mjs +0 -126
  156. package/esm2022/elements/lib/multi-file-control/multi-file-control.component.mjs +0 -149
  157. package/esm2022/elements/lib/pipes/date.pipe.mjs +0 -28
  158. package/esm2022/elements/lib/pipes/file-image.pipe.mjs +0 -48
  159. package/esm2022/elements/lib/pipes/file-size.pipe.mjs +0 -27
  160. package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +0 -99
  161. package/esm2022/elements/lib/radio-button/radio-button.component.mjs +0 -60
  162. package/esm2022/elements/lib/radio-group/radio-group.component.mjs +0 -103
  163. package/esm2022/elements/lib/spinner/spinner.component.mjs +0 -22
  164. package/esm2022/elements/public_api.mjs +0 -30
  165. package/esm2022/http/bravobit-bb-foundation-http.mjs +0 -5
  166. package/esm2022/http/lib/classes/http.config.mjs +0 -32
  167. package/esm2022/http/lib/classes/http.error.mjs +0 -20
  168. package/esm2022/http/lib/http.config.mjs +0 -18
  169. package/esm2022/http/lib/http.interfaces.mjs +0 -4
  170. package/esm2022/http/lib/http.module.mjs +0 -31
  171. package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +0 -60
  172. package/esm2022/http/lib/interceptors/error.interceptor.mjs +0 -31
  173. package/esm2022/http/public_api.mjs +0 -8
  174. package/esm2022/lib/core/functions/array.utils.mjs +0 -7
  175. package/esm2022/lib/core/functions/date.utils.mjs +0 -31
  176. package/esm2022/lib/core/functions/password.utils.mjs +0 -17
  177. package/esm2022/lib/core/functions/route-cache.utils.mjs +0 -23
  178. package/esm2022/lib/core/miscellaneous/coercion.mjs +0 -5
  179. package/esm2022/lib/core/miscellaneous/regex.mjs +0 -44
  180. package/esm2022/lib/core/miscellaneous/validator.mjs +0 -85
  181. package/esm2022/lib/core/services/exif.service.mjs +0 -165
  182. package/esm2022/lib/core/services/file-loader.service.mjs +0 -85
  183. package/esm2022/lib/core/services/files.service.mjs +0 -78
  184. package/esm2022/lib/core/services/image-converter.service.mjs +0 -126
  185. package/esm2022/lib/core/services/languages.service.mjs +0 -75
  186. package/esm2022/lib/core/services/network.service.mjs +0 -58
  187. package/esm2022/lib/core/services/patch.service.mjs +0 -66
  188. package/esm2022/lib/core/tokens/accept-language.token.mjs +0 -3
  189. package/esm2022/lib/core/tokens/base-url.token.mjs +0 -3
  190. package/esm2022/lib/core/tokens/cookie.token.mjs +0 -3
  191. package/esm2022/lib/core/tokens/global-focus-mode.token.mjs +0 -10
  192. package/esm2022/lib/core/tokens/location.token.mjs +0 -6
  193. package/esm2022/lib/core/tokens/navigator.token.mjs +0 -6
  194. package/esm2022/lib/core/tokens/window.token.mjs +0 -12
  195. package/esm2022/localize/bravobit-bb-foundation-localize.mjs +0 -5
  196. package/esm2022/localize/lib/dictionary/dictionary.class.mjs +0 -96
  197. package/esm2022/localize/lib/dictionary/dictionary.context.mjs +0 -24
  198. package/esm2022/localize/lib/dictionary/dictionary.data.mjs +0 -7
  199. package/esm2022/localize/lib/functions/date.function.mjs +0 -18
  200. package/esm2022/localize/lib/functions/lowercase.function.mjs +0 -13
  201. package/esm2022/localize/lib/functions/uppercase.function.mjs +0 -13
  202. package/esm2022/localize/lib/handlers/missing.handler.mjs +0 -13
  203. package/esm2022/localize/lib/interfaces/config.interfaces.mjs +0 -2
  204. package/esm2022/localize/lib/interfaces/functions.interfaces.mjs +0 -8
  205. package/esm2022/localize/lib/interfaces/handlers.interfaces.mjs +0 -2
  206. package/esm2022/localize/lib/interfaces/options.interfaces.mjs +0 -6
  207. package/esm2022/localize/lib/localizations/dutch.localization.mjs +0 -64
  208. package/esm2022/localize/lib/localizations/english.localization.mjs +0 -64
  209. package/esm2022/localize/lib/localizations/papiamento.localization.mjs +0 -64
  210. package/esm2022/localize/lib/localizations/spanish.localization.mjs +0 -64
  211. package/esm2022/localize/lib/localize.config.mjs +0 -43
  212. package/esm2022/localize/lib/localize.module.mjs +0 -39
  213. package/esm2022/localize/lib/localize.pipe.mjs +0 -48
  214. package/esm2022/localize/lib/localize.service.mjs +0 -172
  215. package/esm2022/localize/lib/localize.tokens.mjs +0 -18
  216. package/esm2022/localize/lib/transforms/abstract.transform.mjs +0 -30
  217. package/esm2022/localize/lib/transforms/interpolate.transform.mjs +0 -45
  218. package/esm2022/localize/lib/transforms/plural.transform.mjs +0 -49
  219. package/esm2022/localize/lib/transforms/reference.transform.mjs +0 -19
  220. package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +0 -89
  221. package/esm2022/localize/lib/views/localize-template.directive.mjs +0 -23
  222. package/esm2022/localize/public_api.mjs +0 -27
  223. package/esm2022/masking/bravobit-bb-foundation-masking.mjs +0 -5
  224. package/esm2022/masking/lib/directives/currency-mask.directive.mjs +0 -41
  225. package/esm2022/masking/lib/directives/date-mask.directive.mjs +0 -41
  226. package/esm2022/masking/lib/directives/input-mask.directive.mjs +0 -126
  227. package/esm2022/masking/lib/input-mask.interface.mjs +0 -2
  228. package/esm2022/masking/lib/masking.module.mjs +0 -30
  229. package/esm2022/masking/lib/masking.service.mjs +0 -104
  230. package/esm2022/masking/public_api.mjs +0 -7
  231. package/esm2022/notifications/bravobit-bb-foundation-notifications.mjs +0 -5
  232. package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +0 -112
  233. package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +0 -48
  234. package/esm2022/notifications/lib/notifications.animations.mjs +0 -28
  235. package/esm2022/notifications/lib/notifications.config.mjs +0 -8
  236. package/esm2022/notifications/lib/notifications.interfaces.mjs +0 -31
  237. package/esm2022/notifications/lib/notifications.module.mjs +0 -20
  238. package/esm2022/notifications/lib/notifications.service.mjs +0 -161
  239. package/esm2022/notifications/public_api.mjs +0 -5
  240. package/esm2022/permissions/bravobit-bb-foundation-permissions.mjs +0 -5
  241. package/esm2022/permissions/lib/directives/permission.directive.mjs +0 -95
  242. package/esm2022/permissions/lib/guards/permission.guard.mjs +0 -25
  243. package/esm2022/permissions/lib/handlers/abstract.handler.mjs +0 -3
  244. package/esm2022/permissions/lib/handlers/local.handler.mjs +0 -29
  245. package/esm2022/permissions/lib/permissions.config.mjs +0 -20
  246. package/esm2022/permissions/lib/permissions.interface.mjs +0 -8
  247. package/esm2022/permissions/lib/permissions.module.mjs +0 -25
  248. package/esm2022/permissions/lib/permissions.service.mjs +0 -100
  249. package/esm2022/permissions/public_api.mjs +0 -9
  250. package/esm2022/public_api.mjs +0 -25
  251. package/esm2022/recaptcha/bravobit-bb-foundation-recaptcha.mjs +0 -5
  252. package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +0 -225
  253. package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +0 -80
  254. package/esm2022/recaptcha/lib/recaptcha.config.mjs +0 -8
  255. package/esm2022/recaptcha/lib/recaptcha.interface.mjs +0 -3
  256. package/esm2022/recaptcha/lib/recaptcha.module.mjs +0 -27
  257. package/esm2022/recaptcha/public_api.mjs +0 -6
  258. package/esm2022/rxjs/bravobit-bb-foundation-rxjs.mjs +0 -5
  259. package/esm2022/rxjs/lib/observables/get-control-value.observable.mjs +0 -6
  260. package/esm2022/rxjs/lib/observables/get-route-param.observable.mjs +0 -5
  261. package/esm2022/rxjs/lib/operators/combine-latest-map.operator.mjs +0 -10
  262. package/esm2022/rxjs/lib/operators/filter-nil.operator.mjs +0 -5
  263. package/esm2022/rxjs/public_api.mjs +0 -5
  264. package/esm2022/select/bravobit-bb-foundation-select.mjs +0 -5
  265. package/esm2022/select/lib/select/select.component.mjs +0 -289
  266. package/esm2022/select/lib/select-label.directive.mjs +0 -18
  267. package/esm2022/select/lib/select-multi-label.directive.mjs +0 -18
  268. package/esm2022/select/lib/select-option-group.directive.mjs +0 -18
  269. package/esm2022/select/lib/select-option.directive.mjs +0 -18
  270. package/esm2022/select/lib/select.config.mjs +0 -8
  271. package/esm2022/select/lib/select.module.mjs +0 -46
  272. package/esm2022/select/public_api.mjs +0 -8
  273. package/esm2022/storage/bravobit-bb-foundation-storage.mjs +0 -5
  274. package/esm2022/storage/lib/interfaces/attributes.interface.mjs +0 -2
  275. package/esm2022/storage/lib/interfaces/memory.interface.mjs +0 -2
  276. package/esm2022/storage/lib/interfaces/strategy.interface.mjs +0 -2
  277. package/esm2022/storage/lib/storage.service.mjs +0 -113
  278. package/esm2022/storage/lib/strategies/cookie-storage.strategy.mjs +0 -144
  279. package/esm2022/storage/lib/strategies/memory-storage.strategy.mjs +0 -54
  280. package/esm2022/storage/lib/strategies/polyfill-storage.strategy.mjs +0 -100
  281. package/esm2022/storage/public_api.mjs +0 -8
  282. package/esm2022/table/bravobit-bb-foundation-table.mjs +0 -5
  283. package/esm2022/table/lib/components/table/table.component.mjs +0 -200
  284. package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +0 -11
  285. package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +0 -135
  286. package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +0 -136
  287. package/esm2022/table/lib/data/datasource.data.mjs +0 -30
  288. package/esm2022/table/lib/data/generic.data.mjs +0 -84
  289. package/esm2022/table/lib/interfaces/datasource.interface.mjs +0 -2
  290. package/esm2022/table/lib/interfaces/table.interfaces.mjs +0 -2
  291. package/esm2022/table/lib/table.module.mjs +0 -44
  292. package/esm2022/table/public_api.mjs +0 -10
  293. package/esm2022/tooltip/bravobit-bb-foundation-tooltip.mjs +0 -5
  294. package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +0 -23
  295. package/esm2022/tooltip/lib/tooltip.directive.mjs +0 -130
  296. package/esm2022/tooltip/lib/tooltip.interfaces.mjs +0 -4
  297. package/esm2022/tooltip/lib/tooltip.module.mjs +0 -16
  298. package/esm2022/tooltip/public_api.mjs +0 -5
  299. package/esm2022/utils/bravobit-bb-foundation-utils.mjs +0 -5
  300. package/esm2022/utils/lib/directives/autosize.directive.mjs +0 -76
  301. package/esm2022/utils/lib/directives/focus-trap.directive.mjs +0 -80
  302. package/esm2022/utils/lib/directives/focus.directive.mjs +0 -57
  303. package/esm2022/utils/lib/directives/template.directive.mjs +0 -33
  304. package/esm2022/utils/lib/utils.module.mjs +0 -35
  305. package/esm2022/utils/public_api.mjs +0 -6
@@ -1,29 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class BbCollectionsDataRowContext {
4
- item;
5
- $implicit;
6
- constructor(item) {
7
- this.item = item;
8
- this.$implicit = item;
9
- }
10
- }
11
- export class BbCollectionsDataRow {
12
- template;
13
- constructor(template) {
14
- this.template = template;
15
- }
16
- static ngTemplateContextGuard(dir, ctx) {
17
- return true;
18
- }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsDataRow, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
20
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbCollectionsDataRow, isStandalone: true, selector: "[bbCollectionsDataRow]", ngImport: i0 });
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsDataRow, decorators: [{
23
- type: Directive,
24
- args: [{
25
- selector: '[bbCollectionsDataRow]',
26
- standalone: true
27
- }]
28
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtZGF0YS1yb3cuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb2xsZWN0aW9ucy9zcmMvbGliL2RpcmVjdGl2ZXMvY29sbGVjdGlvbnMtZGF0YS1yb3cuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7O0FBRXJELE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsSUFBSSxDQUFLO0lBQ1QsU0FBUyxDQUFLO0lBRWQsWUFBWSxJQUFPO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztDQUNKO0FBTUQsTUFBTSxPQUFPLG9CQUFvQjtJQUVWO0lBQW5CLFlBQW1CLFFBQXFEO1FBQXJELGFBQVEsR0FBUixRQUFRLENBQTZDO0lBQ3hFLENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQUksR0FBNEIsRUFBRSxHQUFZO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7d0dBUFEsb0JBQW9COzRGQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEJiQ29sbGVjdGlvbnNEYXRhUm93Q29udGV4dDxUPiB7XG4gICAgaXRlbSE6IFQ7XG4gICAgJGltcGxpY2l0ITogVDtcblxuICAgIGNvbnN0cnVjdG9yKGl0ZW06IFQpIHtcbiAgICAgICAgdGhpcy5pdGVtID0gaXRlbTtcbiAgICAgICAgdGhpcy4kaW1wbGljaXQgPSBpdGVtO1xuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYmJDb2xsZWN0aW9uc0RhdGFSb3ddJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJiQ29sbGVjdGlvbnNEYXRhUm93PFQ+IHtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8QmJDb2xsZWN0aW9uc0RhdGFSb3dDb250ZXh0PFQ+Pikge1xuICAgIH1cblxuICAgIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFQ+KGRpcjogQmJDb2xsZWN0aW9uc0RhdGFSb3c8VD4sIGN0eDogdW5rbm93bik6IGN0eCBpcyBCYkNvbGxlY3Rpb25zRGF0YVJvd0NvbnRleHQ8VD4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,29 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class BbCollectionsDataContext {
4
- items;
5
- loading;
6
- constructor(items, loading) {
7
- this.items = items;
8
- this.loading = loading;
9
- }
10
- }
11
- export class BbCollectionsData {
12
- template;
13
- constructor(template) {
14
- this.template = template;
15
- }
16
- static ngTemplateContextGuard(dir, ctx) {
17
- return true;
18
- }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsData, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
20
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbCollectionsData, isStandalone: true, selector: "[bbCollectionsData]", ngImport: i0 });
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsData, decorators: [{
23
- type: Directive,
24
- args: [{
25
- selector: '[bbCollectionsData]',
26
- standalone: true
27
- }]
28
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtZGF0YS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbGxlY3Rpb25zL3NyYy9saWIvZGlyZWN0aXZlcy9jb2xsZWN0aW9ucy1kYXRhLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDOztBQUVyRCxNQUFNLE9BQU8sd0JBQXdCO0lBQ2pDLEtBQUssQ0FBTztJQUNaLE9BQU8sQ0FBVztJQUVsQixZQUFZLEtBQVUsRUFBRSxPQUFnQjtRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUMzQixDQUFDO0NBQ0o7QUFNRCxNQUFNLE9BQU8saUJBQWlCO0lBRVA7SUFBbkIsWUFBbUIsUUFBa0Q7UUFBbEQsYUFBUSxHQUFSLFFBQVEsQ0FBMEM7SUFDckUsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBSSxHQUF5QixFQUFFLEdBQVk7UUFDcEUsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzt3R0FQUSxpQkFBaUI7NEZBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgVGVtcGxhdGVSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgQmJDb2xsZWN0aW9uc0RhdGFDb250ZXh0PFQ+IHtcbiAgICBpdGVtcyE6IFRbXTtcbiAgICBsb2FkaW5nITogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKGl0ZW1zOiBUW10sIGxvYWRpbmc6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pdGVtcyA9IGl0ZW1zO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBsb2FkaW5nO1xuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYmJDb2xsZWN0aW9uc0RhdGFdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJiQ29sbGVjdGlvbnNEYXRhPFQ+IHtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8QmJDb2xsZWN0aW9uc0RhdGFDb250ZXh0PFQ+Pikge1xuICAgIH1cblxuICAgIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFQ+KGRpcjogQmJDb2xsZWN0aW9uc0RhdGE8VD4sIGN0eDogdW5rbm93bik6IGN0eCBpcyBCYkNvbGxlY3Rpb25zRGF0YUNvbnRleHQ8VD4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,29 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class BbCollectionsEmptyContext {
4
- query;
5
- loading;
6
- constructor(query, loading) {
7
- this.query = query;
8
- this.loading = loading;
9
- }
10
- }
11
- export class BbCollectionsEmpty {
12
- template;
13
- constructor(template) {
14
- this.template = template;
15
- }
16
- static ngTemplateContextGuard(dir, ctx) {
17
- return true;
18
- }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsEmpty, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
20
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbCollectionsEmpty, isStandalone: true, selector: "[bbCollectionsEmpty]", ngImport: i0 });
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsEmpty, decorators: [{
23
- type: Directive,
24
- args: [{
25
- selector: '[bbCollectionsEmpty]',
26
- standalone: true
27
- }]
28
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtZW1wdHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb2xsZWN0aW9ucy9zcmMvbGliL2RpcmVjdGl2ZXMvY29sbGVjdGlvbnMtZW1wdHkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7O0FBRXJELE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsS0FBSyxDQUFVO0lBQ2YsT0FBTyxDQUFXO0lBRWxCLFlBQVksS0FBYSxFQUFFLE9BQWdCO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7Q0FDSjtBQU1ELE1BQU0sT0FBTyxrQkFBa0I7SUFFUjtJQUFuQixZQUFtQixRQUFtRDtRQUFuRCxhQUFRLEdBQVIsUUFBUSxDQUEyQztJQUN0RSxDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFJLEdBQTBCLEVBQUUsR0FBWTtRQUNyRSxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO3dHQVBRLGtCQUFrQjs0RkFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBCYkNvbGxlY3Rpb25zRW1wdHlDb250ZXh0PFQ+IHtcbiAgICBxdWVyeSE6IHN0cmluZztcbiAgICBsb2FkaW5nITogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHF1ZXJ5OiBzdHJpbmcsIGxvYWRpbmc6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5xdWVyeSA9IHF1ZXJ5O1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBsb2FkaW5nO1xuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYmJDb2xsZWN0aW9uc0VtcHR5XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYkNvbGxlY3Rpb25zRW1wdHk8VD4ge1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxCYkNvbGxlY3Rpb25zRW1wdHlDb250ZXh0PFQ+Pikge1xuICAgIH1cblxuICAgIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFQ+KGRpcjogQmJDb2xsZWN0aW9uc0VtcHR5PFQ+LCBjdHg6IHVua25vd24pOiBjdHggaXMgQmJDb2xsZWN0aW9uc0VtcHR5Q29udGV4dDxUPiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxufVxuIl19
@@ -1,29 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class BbCollectionsErrorContext {
4
- error;
5
- loading;
6
- constructor(error, loading) {
7
- this.error = error;
8
- this.loading = loading;
9
- }
10
- }
11
- export class BbCollectionsError {
12
- template;
13
- constructor(template) {
14
- this.template = template;
15
- }
16
- static ngTemplateContextGuard(dir, ctx) {
17
- return true;
18
- }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsError, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
20
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbCollectionsError, isStandalone: true, selector: "[bbCollectionsError]", ngImport: i0 });
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsError, decorators: [{
23
- type: Directive,
24
- args: [{
25
- selector: '[bbCollectionsError]',
26
- standalone: true
27
- }]
28
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtZXJyb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb2xsZWN0aW9ucy9zcmMvbGliL2RpcmVjdGl2ZXMvY29sbGVjdGlvbnMtZXJyb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7O0FBRXJELE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsS0FBSyxDQUFTO0lBQ2QsT0FBTyxDQUFXO0lBRWxCLFlBQVksS0FBWSxFQUFFLE9BQWdCO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7Q0FDSjtBQU1ELE1BQU0sT0FBTyxrQkFBa0I7SUFFUjtJQUFuQixZQUFtQixRQUFtRDtRQUFuRCxhQUFRLEdBQVIsUUFBUSxDQUEyQztJQUN0RSxDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFJLEdBQTBCLEVBQUUsR0FBWTtRQUNyRSxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO3dHQVBRLGtCQUFrQjs0RkFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBCYkNvbGxlY3Rpb25zRXJyb3JDb250ZXh0PFQ+IHtcbiAgICBlcnJvciE6IEVycm9yO1xuICAgIGxvYWRpbmchOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoZXJyb3I6IEVycm9yLCBsb2FkaW5nOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZXJyb3IgPSBlcnJvcjtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gbG9hZGluZztcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2JiQ29sbGVjdGlvbnNFcnJvcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmJDb2xsZWN0aW9uc0Vycm9yPFQ+IHtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8QmJDb2xsZWN0aW9uc0Vycm9yQ29udGV4dDxUPj4pIHtcbiAgICB9XG5cbiAgICBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZDxUPihkaXI6IEJiQ29sbGVjdGlvbnNFcnJvcjxUPiwgY3R4OiB1bmtub3duKTogY3R4IGlzIEJiQ29sbGVjdGlvbnNFcnJvckNvbnRleHQ8VD4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,23 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class BbCollectionsInitialContext {
4
- }
5
- export class BbCollectionsInitial {
6
- template;
7
- constructor(template) {
8
- this.template = template;
9
- }
10
- static ngTemplateContextGuard(dir, ctx) {
11
- return true;
12
- }
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsInitial, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
14
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbCollectionsInitial, isStandalone: true, selector: "[bbCollectionsInitial]", ngImport: i0 });
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsInitial, decorators: [{
17
- type: Directive,
18
- args: [{
19
- selector: '[bbCollectionsInitial]',
20
- standalone: true
21
- }]
22
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtaW5pdGlhbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbGxlY3Rpb25zL3NyYy9saWIvZGlyZWN0aXZlcy9jb2xsZWN0aW9ucy1pbml0aWFsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDOztBQUVyRCxNQUFNLE9BQU8sMkJBQTJCO0NBQ3ZDO0FBTUQsTUFBTSxPQUFPLG9CQUFvQjtJQUVWO0lBQW5CLFlBQW1CLFFBQXFEO1FBQXJELGFBQVEsR0FBUixRQUFRLENBQTZDO0lBQ3hFLENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQUksR0FBNEIsRUFBRSxHQUFZO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7d0dBUFEsb0JBQW9COzRGQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEJiQ29sbGVjdGlvbnNJbml0aWFsQ29udGV4dDxUPiB7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2JiQ29sbGVjdGlvbnNJbml0aWFsXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYkNvbGxlY3Rpb25zSW5pdGlhbDxUPiB7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPEJiQ29sbGVjdGlvbnNJbml0aWFsQ29udGV4dDxUPj4pIHtcbiAgICB9XG5cbiAgICBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZDxUPihkaXI6IEJiQ29sbGVjdGlvbnNJbml0aWFsPFQ+LCBjdHg6IHVua25vd24pOiBjdHggaXMgQmJDb2xsZWN0aW9uc0luaXRpYWxDb250ZXh0PFQ+IHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG59XG4iXX0=
@@ -1,29 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class BbCollectionsItemContext {
4
- item;
5
- $implicit;
6
- constructor(item) {
7
- this.item = item;
8
- this.$implicit = item;
9
- }
10
- }
11
- export class BbCollectionsItem {
12
- template;
13
- constructor(template) {
14
- this.template = template;
15
- }
16
- static ngTemplateContextGuard(dir, ctx) {
17
- return true;
18
- }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsItem, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
20
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbCollectionsItem, isStandalone: true, selector: "[bbCollectionsItem]", ngImport: i0 });
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsItem, decorators: [{
23
- type: Directive,
24
- args: [{
25
- selector: '[bbCollectionsItem]',
26
- standalone: true
27
- }]
28
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbGxlY3Rpb25zL3NyYy9saWIvZGlyZWN0aXZlcy9jb2xsZWN0aW9ucy1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDOztBQUVyRCxNQUFNLE9BQU8sd0JBQXdCO0lBQ2pDLElBQUksQ0FBSztJQUNULFNBQVMsQ0FBSztJQUVkLFlBQVksSUFBTztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7Q0FDSjtBQU1ELE1BQU0sT0FBTyxpQkFBaUI7SUFFUDtJQUFuQixZQUFtQixRQUFrRDtRQUFsRCxhQUFRLEdBQVIsUUFBUSxDQUEwQztJQUNyRSxDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFJLEdBQXlCLEVBQUUsR0FBWTtRQUNwRSxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO3dHQVBRLGlCQUFpQjs0RkFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBCYkNvbGxlY3Rpb25zSXRlbUNvbnRleHQ8VD4ge1xuICAgIGl0ZW0hOiBUO1xuICAgICRpbXBsaWNpdCE6IFQ7XG5cbiAgICBjb25zdHJ1Y3RvcihpdGVtOiBUKSB7XG4gICAgICAgIHRoaXMuaXRlbSA9IGl0ZW07XG4gICAgICAgIHRoaXMuJGltcGxpY2l0ID0gaXRlbTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2JiQ29sbGVjdGlvbnNJdGVtXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYkNvbGxlY3Rpb25zSXRlbTxUPiB7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPEJiQ29sbGVjdGlvbnNJdGVtQ29udGV4dDxUPj4pIHtcbiAgICB9XG5cbiAgICBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZDxUPihkaXI6IEJiQ29sbGVjdGlvbnNJdGVtPFQ+LCBjdHg6IHVua25vd24pOiBjdHggaXMgQmJDb2xsZWN0aW9uc0l0ZW1Db250ZXh0PFQ+IHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktY29sbGVjdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbGxlY3Rpb25zL3NyYy9saWIvaW50ZXJmYWNlcy9hcnJheS1jb2xsZWN0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQXJyYXlDb2xsZWN0aW9uU3RyaW5nS2V5czxUPiA9IHtcbiAgICBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIHN0cmluZyA/IEsgOiBuZXZlcjtcbn1ba2V5b2YgVF07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXJyYXlDb2xsZWN0aW9uT3B0aW9uczxUPiB7XG4gICAgc29ydGFibGVzPzogUGFydGlhbDxSZWNvcmQ8QXJyYXlDb2xsZWN0aW9uU3RyaW5nS2V5czxUPiwgJ3N0cmluZycgfCAnbnVtYmVyJz4+O1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbGxlY3Rpb25zL3NyYy9saWIvaW50ZXJmYWNlcy9jb2xsZWN0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb2xsZWN0aW9ufSBmcm9tICcuLi9jb2xsZWN0aW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uUmVxdWVzdCB7XG4gICAgcGFnZU51bWJlcjogbnVtYmVyO1xuICAgIHBhZ2VTaXplOiBudW1iZXI7XG4gICAgcXVlcnk6IHN0cmluZyB8IG51bGw7XG4gICAgcXVlcnlGaWVsZHM6IHN0cmluZ1tdO1xuICAgIHNvcnQ6IENvbGxlY3Rpb25SZXF1ZXN0U29ydCB8IENvbGxlY3Rpb25SZXF1ZXN0U29ydFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25SZXF1ZXN0U29ydDxUID0gc3RyaW5nPiB7XG4gICAgbmFtZTogVDtcbiAgICBkaXJlY3Rpb246ICdhc2MnIHwgJ2Rlc2MnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25EYXRhPFQ+IHtcbiAgICBwYWdlTnVtYmVyOiBudW1iZXI7XG4gICAgcGFnZVNpemU6IG51bWJlcjtcbiAgICB0b3RhbFBhZ2VzOiBudW1iZXI7XG4gICAgdG90YWxFbnRyaWVzOiBudW1iZXI7XG4gICAgZGF0YTogVFtdO1xuICAgIHJhdz86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uQXBpUmVzcG9uc2U8VD4ge1xuICAgIHBhZ2VfbnVtYmVyOiBudW1iZXI7XG4gICAgcGFnZV9zaXplOiBudW1iZXI7XG4gICAgdG90YWxfcGFnZXM6IG51bWJlcjtcbiAgICB0b3RhbF9lbnRyaWVzOiBudW1iZXI7XG4gICAgZGF0YTogVFtdO1xuXG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvbkFwaVBhcmFtcyA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBSZWFkb25seUFycmF5PHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25Db250ZXh0PFQ+IHtcbiAgICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uPFQ+O1xufVxuIl19
@@ -1,103 +0,0 @@
1
- import { combineLatest, isObservable, of } from 'rxjs';
2
- import { CollectionProvider } from './collection.provider';
3
- import { map, switchMap, tap } from 'rxjs/operators';
4
- export class ApiCollectionProvider extends CollectionProvider {
5
- endpoint;
6
- httpClient;
7
- // State.
8
- extraParams = {};
9
- extraObjectParams = [];
10
- constructor(endpoint, httpClient) {
11
- super();
12
- this.endpoint = endpoint;
13
- this.httpClient = httpClient;
14
- }
15
- append(name, value) {
16
- this.extraParams[name] = isObservable(value) ? value : of(value);
17
- return this;
18
- }
19
- appendObject(value) {
20
- const params = isObservable(value) ? value : of(value);
21
- this.extraObjectParams.push(params);
22
- }
23
- transform(request, context) {
24
- const endpoint$ = isObservable(this.endpoint) ? this.endpoint : of(this.endpoint);
25
- const params = this.getBackendFormat(request);
26
- const extraParams$ = this.getExtraParams(this.extraParams);
27
- const extraObjectParams$ = this.getExtraObjectParams(this.extraObjectParams);
28
- return combineLatest([endpoint$, extraParams$, extraObjectParams$]).pipe(tap(() => context.collection.loading$.next(true)), switchMap(([endpoint, extraParams, extraObjectParams]) => {
29
- const validatedParams = this.validateParams({ ...params, ...extraParams, ...extraObjectParams }, context);
30
- return this.httpClient.get(endpoint, { params: validatedParams });
31
- }), map(response => this.formatToCollectionData(response)));
32
- }
33
- validateParams(request, context) {
34
- if (!this.deepCompare(request, this.cachedRequestParams)) {
35
- if (request?.['page'] && request?.['page'] === this.cachedRequestParams?.['page']) {
36
- context.collection.pageNumberControl?.setValue(1);
37
- request['page'] = context.collection.pageNumberControl?.value;
38
- }
39
- }
40
- this.cachedRequestParams = { ...request };
41
- return request;
42
- }
43
- getExtraParams(params) {
44
- const keys = Object.keys(params ?? {});
45
- if (keys?.length <= 0) {
46
- return of({});
47
- }
48
- const observables$ = keys.map(key => params?.[key]);
49
- return combineLatest(observables$).pipe(map(data => {
50
- return data.reduce((previous, current, index) => {
51
- if (current === null || current === undefined) {
52
- return previous;
53
- }
54
- const key = keys?.[index];
55
- return { ...previous, [key]: current };
56
- }, {});
57
- }));
58
- }
59
- getExtraObjectParams(params$) {
60
- if (params$?.length <= 0) {
61
- return of({});
62
- }
63
- return combineLatest(params$).pipe(map(data => (data ?? []).reduce((previous, current) => ({ ...previous, ...(current ?? {}) }), {})), map(data => {
64
- return Object.keys(data ?? {}).reduce((previous, current) => {
65
- const value = data?.[current] ?? null;
66
- if (value === null || value === undefined) {
67
- return previous;
68
- }
69
- return { ...previous, [current]: value };
70
- }, {});
71
- }));
72
- }
73
- formatToCollectionData(response) {
74
- if (Array.isArray(response)) {
75
- return this.formatArrayToCollectionData(response);
76
- }
77
- return {
78
- pageSize: response?.page_size,
79
- pageNumber: response?.page_number,
80
- totalPages: response?.total_pages,
81
- totalEntries: response?.total_entries,
82
- data: response?.data,
83
- raw: response
84
- };
85
- }
86
- getBackendFormat(request) {
87
- const params = {};
88
- params['page'] = request?.pageNumber ?? 1;
89
- params['page_size'] = request?.pageSize ?? 25;
90
- if (request?.sort) {
91
- const sort = Array.isArray(request?.sort) ? request?.sort : [request?.sort];
92
- const filteredSort = sort?.filter(item => !!item?.name && !!item?.direction);
93
- params['sort'] = filteredSort?.map(item => item?.name)?.join(',');
94
- params['sort_direction'] = filteredSort?.map(item => item?.direction)?.join(',');
95
- }
96
- if (request?.query && request?.query?.length > 0 && request?.queryFields && request?.queryFields?.length > 0) {
97
- params['query'] = request?.query;
98
- params['query_fields'] = request?.queryFields?.join(',');
99
- }
100
- return params;
101
- }
102
- }
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbGxlY3Rpb24ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbGxlY3Rpb25zL3NyYy9saWIvcHJvdmlkZXJzL2FwaS1jb2xsZWN0aW9uLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxhQUFhLEVBQUUsWUFBWSxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxNQUFNLE9BQU8scUJBQXlCLFNBQVEsa0JBQXFCO0lBTWhDO0lBQ0E7SUFML0IsU0FBUztJQUNDLFdBQVcsR0FBb0QsRUFBRSxDQUFDO0lBQ2xFLGlCQUFpQixHQUFzRCxFQUFFLENBQUM7SUFFcEYsWUFBK0IsUUFBcUMsRUFDckMsVUFBc0I7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFGbUIsYUFBUSxHQUFSLFFBQVEsQ0FBNkI7UUFDckMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUVyRCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVksRUFBRSxLQUE0RDtRQUM3RSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakUsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUE0RjtRQUNyRyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFD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SSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFFN0UsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFFRCxJQUFJLE9BQU8sRUFBRSxLQUFLLElBQUksT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsQ0FBQyxJQUFJLE9BQU8sRUFBRSxXQUFXLElBQUksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDM0csTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLE9BQU8sRUFBRSxLQUFLLENBQUM7WUFDakMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbGxlY3Rpb25BcGlSZXNwb25zZSwgQ29sbGVjdGlvbkRhdGEsIENvbGxlY3Rpb25BcGlQYXJhbXMsIENvbGxlY3Rpb25SZXF1ZXN0LCBDb2xsZWN0aW9uQ29udGV4dH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb2xsZWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIGlzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb2xsZWN0aW9uUHJvdmlkZXJ9IGZyb20gJy4vY29sbGVjdGlvbi5wcm92aWRlcic7XG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY2xhc3MgQXBpQ29sbGVjdGlvblByb3ZpZGVyPFQ+IGV4dGVuZHMgQ29sbGVjdGlvblByb3ZpZGVyPFQ+IHtcblxuICAgIC8vIFN0YXRlLlxuICAgIHByb3RlY3RlZCBleHRyYVBhcmFtczogUmVjb3JkPHN0cmluZywgT2JzZXJ2YWJsZTxDb2xsZWN0aW9uQXBpUGFyYW1zPj4gPSB7fTtcbiAgICBwcm90ZWN0ZWQgZXh0cmFPYmplY3RQYXJhbXM6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgQ29sbGVjdGlvbkFwaVBhcmFtcz4+W10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBlbmRwb2ludDogc3RyaW5nIHwgT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCByZWFkb25seSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgYXBwZW5kKG5hbWU6IHN0cmluZywgdmFsdWU6IENvbGxlY3Rpb25BcGlQYXJhbXMgfCBPYnNlcnZhYmxlPENvbGxlY3Rpb25BcGlQYXJhbXM+KSB7XG4gICAgICAgIHRoaXMuZXh0cmFQYXJhbXNbbmFtZV0gPSBpc09ic2VydmFibGUodmFsdWUpID8gdmFsdWUgOiBvZih2YWx1ZSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGFwcGVuZE9iamVjdCh2YWx1ZTogUmVjb3JkPHN0cmluZywgQ29sbGVjdGlvbkFwaVBhcmFtcz4gfCBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIENvbGxlY3Rpb25BcGlQYXJhbXM+Pikge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBpc09ic2VydmFibGUodmFsdWUpID8gdmFsdWUgOiBvZih2YWx1ZSk7XG4gICAgICAgIHRoaXMuZXh0cmFPYmplY3RQYXJhbXMucHVzaChwYXJhbXMpO1xuICAgIH1cblxuICAgIHRyYW5zZm9ybShyZXF1ZXN0OiBDb2xsZWN0aW9uUmVxdWVzdCwgY29udGV4dDogQ29sbGVjdGlvbkNvbnRleHQ8VD4pIHtcbiAgICAgICAgY29uc3QgZW5kcG9pbnQkID0gaXNPYnNlcnZhYmxlKHRoaXMuZW5kcG9pbnQpID8gdGhpcy5lbmRwb2ludCA6IG9mKHRoaXMuZW5kcG9pbnQpO1xuICAgICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmdldEJhY2tlbmRGb3JtYXQocmVxdWVzdCk7XG4gICAgICAgIGNvbnN0IGV4dHJhUGFyYW1zJCA9IHRoaXMuZ2V0RXh0cmFQYXJhbXModGhpcy5leHRyYVBhcmFtcyk7XG4gICAgICAgIGNvbnN0IGV4dHJhT2JqZWN0UGFyYW1zJCA9IHRoaXMuZ2V0RXh0cmFPYmplY3RQYXJhbXModGhpcy5leHRyYU9iamVjdFBhcmFtcyk7XG5cbiAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW2VuZHBvaW50JCwgZXh0cmFQYXJhbXMkLCBleHRyYU9iamVjdFBhcmFtcyRdKS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IGNvbnRleHQuY29sbGVjdGlvbi5sb2FkaW5nJC5uZXh0KHRydWUpKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoW2VuZHBvaW50LCBleHRyYVBhcmFtcywgZXh0cmFPYmplY3RQYXJhbXNdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdGVkUGFyYW1zID0gdGhpcy52YWxpZGF0ZVBhcmFtcyh7Li4ucGFyYW1zLCAuLi5leHRyYVBhcmFtcywgLi4uZXh0cmFPYmplY3RQYXJhbXN9LCBjb250ZXh0KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxDb2xsZWN0aW9uQXBpUmVzcG9uc2U8VD4gfCBUW10+KGVuZHBvaW50LCB7cGFyYW1zOiB2YWxpZGF0ZWRQYXJhbXN9KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHRoaXMuZm9ybWF0VG9Db2xsZWN0aW9uRGF0YShyZXNwb25zZSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbGlkYXRlUGFyYW1zKHJlcXVlc3Q6IFJlY29yZDxzdHJpbmcsIENvbGxlY3Rpb25BcGlQYXJhbXM+LCBjb250ZXh0OiBDb2xsZWN0aW9uQ29udGV4dDxUPikge1xuICAgICAgICBpZiAoIXRoaXMuZGVlcENvbXBhcmUocmVxdWVzdCwgdGhpcy5jYWNoZWRSZXF1ZXN0UGFyYW1zKSkge1xuICAgICAgICAgICAgaWYgKHJlcXVlc3Q/LlsncGFnZSddICYmIHJlcXVlc3Q/LlsncGFnZSddID09PSB0aGlzLmNhY2hlZFJlcXVlc3RQYXJhbXM/LlsncGFnZSddKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5jb2xsZWN0aW9uLnBhZ2VOdW1iZXJDb250cm9sPy5zZXRWYWx1ZSgxKTtcbiAgICAgICAgICAgICAgICByZXF1ZXN0WydwYWdlJ10gPSBjb250ZXh0LmNvbGxlY3Rpb24ucGFnZU51bWJlckNvbnRyb2w/LnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jYWNoZWRSZXF1ZXN0UGFyYW1zID0gey4uLnJlcXVlc3R9O1xuICAgICAgICByZXR1cm4gcmVxdWVzdDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RXh0cmFQYXJhbXMocGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBPYnNlcnZhYmxlPENvbGxlY3Rpb25BcGlQYXJhbXM+Pikge1xuICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMocGFyYW1zID8/IHt9KTtcbiAgICAgICAgaWYgKGtleXM/Lmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gb2Yoe30pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZXMkID0ga2V5cy5tYXAoa2V5ID0+IHBhcmFtcz8uW2tleV0pO1xuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChvYnNlcnZhYmxlcyQpLnBpcGUoXG4gICAgICAgICAgICBtYXAoZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEucmVkdWNlKChwcmV2aW91cywgY3VycmVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJldmlvdXM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0ga2V5cz8uW2luZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsuLi5wcmV2aW91cywgW2tleV06IGN1cnJlbnR9O1xuICAgICAgICAgICAgICAgIH0sIHt9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEV4dHJhT2JqZWN0UGFyYW1zKHBhcmFtcyQ6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgQ29sbGVjdGlvbkFwaVBhcmFtcz4+W10pIHtcbiAgICAgICAgaWYgKHBhcmFtcyQ/Lmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gb2Yoe30pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHBhcmFtcyQpLnBpcGUoXG4gICAgICAgICAgICBtYXAoZGF0YSA9PiAoZGF0YSA/PyBbXSkucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4gKHsuLi5wcmV2aW91cywgLi4uKGN1cnJlbnQgPz8ge30pfSksIHt9KSksXG4gICAgICAgICAgICBtYXAoZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGRhdGEgPz8ge30pLnJlZHVjZSgocHJldmlvdXMsIGN1cnJlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBkYXRhPy5bY3VycmVudF0gPz8gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcmV2aW91cztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7Li4ucHJldmlvdXMsIFtjdXJyZW50XTogdmFsdWV9O1xuICAgICAgICAgICAgICAgIH0sIHt9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGZvcm1hdFRvQ29sbGVjdGlvbkRhdGEocmVzcG9uc2U6IENvbGxlY3Rpb25BcGlSZXNwb25zZTxUPiB8IFRbXSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXNwb25zZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdEFycmF5VG9Db2xsZWN0aW9uRGF0YShyZXNwb25zZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gPENvbGxlY3Rpb25EYXRhPFQ+PntcbiAgICAgICAgICAgIHBhZ2VTaXplOiByZXNwb25zZT8ucGFnZV9zaXplLFxuICAgICAgICAgICAgcGFnZU51bWJlcjogcmVzcG9uc2U/LnBhZ2VfbnVtYmVyLFxuICAgICAgICAgICAgdG90YWxQYWdlczogcmVzcG9uc2U/LnRvdGFsX3BhZ2VzLFxuICAgICAgICAgICAgdG90YWxFbnRyaWVzOiByZXNwb25zZT8udG90YWxfZW50cmllcyxcbiAgICAgICAgICAgIGRhdGE6IHJlc3BvbnNlPy5kYXRhLFxuICAgICAgICAgICAgcmF3OiByZXNwb25zZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRCYWNrZW5kRm9ybWF0KHJlcXVlc3Q6IENvbGxlY3Rpb25SZXF1ZXN0KSB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuXG4gICAgICAgIHBhcmFtc1sncGFnZSddID0gcmVxdWVzdD8ucGFnZU51bWJlciA/PyAxO1xuICAgICAgICBwYXJhbXNbJ3BhZ2Vfc2l6ZSddID0gcmVxdWVzdD8ucGFnZVNpemUgPz8gMjU7XG5cbiAgICAgICAgaWYgKHJlcXVlc3Q/LnNvcnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHNvcnQgPSBBcnJheS5pc0FycmF5KHJlcXVlc3Q/LnNvcnQpID8gcmVxdWVzdD8uc29ydCA6IFtyZXF1ZXN0Py5zb3J0XTtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkU29ydCA9IHNvcnQ/LmZpbHRlcihpdGVtID0+ICEhaXRlbT8ubmFtZSAmJiAhIWl0ZW0/LmRpcmVjdGlvbik7XG5cbiAgICAgICAgICAgIHBhcmFtc1snc29ydCddID0gZmlsdGVyZWRTb3J0Py5tYXAoaXRlbSA9PiBpdGVtPy5uYW1lKT8uam9pbignLCcpO1xuICAgICAgICAgICAgcGFyYW1zWydzb3J0X2RpcmVjdGlvbiddID0gZmlsdGVyZWRTb3J0Py5tYXAoaXRlbSA9PiBpdGVtPy5kaXJlY3Rpb24pPy5qb2luKCcsJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVxdWVzdD8ucXVlcnkgJiYgcmVxdWVzdD8ucXVlcnk/Lmxlbmd0aCA+IDAgJiYgcmVxdWVzdD8ucXVlcnlGaWVsZHMgJiYgcmVxdWVzdD8ucXVlcnlGaWVsZHM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHBhcmFtc1sncXVlcnknXSA9IHJlcXVlc3Q/LnF1ZXJ5O1xuICAgICAgICAgICAgcGFyYW1zWydxdWVyeV9maWVsZHMnXSA9IHJlcXVlc3Q/LnF1ZXJ5RmllbGRzPy5qb2luKCcsJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgIH1cblxufVxuIl19
@@ -1,39 +0,0 @@
1
- export class CollectionProvider {
2
- cachedRequestParams = null;
3
- validateParams(request, _context) {
4
- return request;
5
- }
6
- formatArrayToCollectionData(items) {
7
- const count = items?.length ?? 1;
8
- return {
9
- pageSize: count,
10
- totalEntries: count,
11
- pageNumber: 1,
12
- totalPages: 1,
13
- data: items
14
- };
15
- }
16
- deepCompare(value1, value2) {
17
- if (value1 === value2) {
18
- return true;
19
- }
20
- if (typeof value1 !== 'object' || typeof value2 !== 'object' || value1 === null || value2 === null) {
21
- return false;
22
- }
23
- const keys1 = Object.keys(value1);
24
- const keys2 = Object.keys(value2);
25
- if (keys1.length !== keys2.length) {
26
- return false;
27
- }
28
- for (const key of keys1) {
29
- if (!keys2.includes(key)) {
30
- return false;
31
- }
32
- if (!this.deepCompare(value1[key], value2[key])) {
33
- return false;
34
- }
35
- }
36
- return true;
37
- }
38
- }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29sbGVjdGlvbnMvc3JjL2xpYi9wcm92aWRlcnMvY29sbGVjdGlvbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQWdCLGtCQUFrQjtJQUUxQixtQkFBbUIsR0FBK0MsSUFBSSxDQUFDO0lBSXZFLGNBQWMsQ0FBQyxPQUE0QyxFQUFFLFFBQThCO1FBQ2pHLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFUywyQkFBMkIsQ0FBQyxLQUFVO1FBQzVDLE1BQU0sS0FBSyxHQUFHLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO1FBQ2pDLE9BQTBCO1lBQ3RCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsWUFBWSxFQUFFLEtBQUs7WUFDbkIsVUFBVSxFQUFFLENBQUM7WUFDYixVQUFVLEVBQUUsQ0FBQztZQUNiLElBQUksRUFBRSxLQUFLO1NBQ2QsQ0FBQztJQUNOLENBQUM7SUFFUyxXQUFXLENBQUMsTUFBZSxFQUFFLE1BQWU7UUFDbEQsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDcEIsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUVELElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxNQUFNLEtBQUssSUFBSSxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNqRyxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEMsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQztZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM5QyxPQUFPLEtBQUssQ0FBQztZQUNqQixDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29sbGVjdGlvbkFwaVBhcmFtcywgQ29sbGVjdGlvbkNvbnRleHQsIENvbGxlY3Rpb25EYXRhLCBDb2xsZWN0aW9uUmVxdWVzdH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb2xsZWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29sbGVjdGlvblByb3ZpZGVyPFQ+IHtcblxuICAgIHByb3RlY3RlZCBjYWNoZWRSZXF1ZXN0UGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBDb2xsZWN0aW9uQXBpUGFyYW1zPiB8IG51bGwgPSBudWxsO1xuXG4gICAgYWJzdHJhY3QgdHJhbnNmb3JtKHJlcXVlc3Q6IENvbGxlY3Rpb25SZXF1ZXN0LCBjb250ZXh0OiBDb2xsZWN0aW9uQ29udGV4dDxUPik6IE9ic2VydmFibGU8Q29sbGVjdGlvbkRhdGE8VD4+O1xuXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRlUGFyYW1zKHJlcXVlc3Q6IFJlY29yZDxzdHJpbmcsIENvbGxlY3Rpb25BcGlQYXJhbXM+LCBfY29udGV4dDogQ29sbGVjdGlvbkNvbnRleHQ8VD4pIHtcbiAgICAgICAgcmV0dXJuIHJlcXVlc3Q7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGZvcm1hdEFycmF5VG9Db2xsZWN0aW9uRGF0YShpdGVtczogVFtdKSB7XG4gICAgICAgIGNvbnN0IGNvdW50ID0gaXRlbXM/Lmxlbmd0aCA/PyAxO1xuICAgICAgICByZXR1cm4gPENvbGxlY3Rpb25EYXRhPFQ+PntcbiAgICAgICAgICAgIHBhZ2VTaXplOiBjb3VudCxcbiAgICAgICAgICAgIHRvdGFsRW50cmllczogY291bnQsXG4gICAgICAgICAgICBwYWdlTnVtYmVyOiAxLFxuICAgICAgICAgICAgdG90YWxQYWdlczogMSxcbiAgICAgICAgICAgIGRhdGE6IGl0ZW1zXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRlZXBDb21wYXJlKHZhbHVlMTogdW5rbm93biwgdmFsdWUyOiB1bmtub3duKSB7XG4gICAgICAgIGlmICh2YWx1ZTEgPT09IHZhbHVlMikge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlMSAhPT0gJ29iamVjdCcgfHwgdHlwZW9mIHZhbHVlMiAhPT0gJ29iamVjdCcgfHwgdmFsdWUxID09PSBudWxsIHx8IHZhbHVlMiA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qga2V5czEgPSBPYmplY3Qua2V5cyh2YWx1ZTEpO1xuICAgICAgICBjb25zdCBrZXlzMiA9IE9iamVjdC5rZXlzKHZhbHVlMik7XG4gICAgICAgIGlmIChrZXlzMS5sZW5ndGggIT09IGtleXMyLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5czEpIHtcbiAgICAgICAgICAgIGlmICgha2V5czIuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdGhpcy5kZWVwQ29tcGFyZSh2YWx1ZTFba2V5XSwgdmFsdWUyW2tleV0pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG59XG4iXX0=
@@ -1,25 +0,0 @@
1
- import { ArrayCollection } from '../classes/array.collection';
2
- import { CollectionProvider } from './collection.provider';
3
- import { delay, map } from 'rxjs/operators';
4
- import { BehaviorSubject } from 'rxjs';
5
- export class LocalCollectionProvider extends CollectionProvider {
6
- _options;
7
- _items$ = new BehaviorSubject([]);
8
- constructor(items, _options) {
9
- super();
10
- this._options = _options;
11
- this.update(items);
12
- }
13
- update(value) {
14
- this._items$.next(value);
15
- }
16
- transform(request) {
17
- return this._items$.pipe(map(items => {
18
- return new ArrayCollection(items)
19
- .search(request?.query, request.queryFields)
20
- .sortBy(request?.sort, this._options?.sortables ?? {})
21
- .toPage(request?.pageNumber, request?.pageSize);
22
- }), delay(1));
23
- }
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtY29sbGVjdGlvbi5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29sbGVjdGlvbnMvc3JjL2xpYi9wcm92aWRlcnMvbG9jYWwtY29sbGVjdGlvbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXJDLE1BQU0sT0FBTyx1QkFBMkIsU0FBUSxrQkFBcUI7SUFLN0M7SUFIWixPQUFPLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7SUFFL0MsWUFBWSxLQUFVLEVBQ0YsUUFBb0M7UUFDcEQsS0FBSyxFQUFFLENBQUM7UUFEUSxhQUFRLEdBQVIsUUFBUSxDQUE0QjtRQUVwRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBVTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBMEI7UUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDcEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1IsT0FBTyxJQUFJLGVBQWUsQ0FBSSxLQUFLLENBQUM7aUJBQy9CLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUM7aUJBQ2hELE1BQU0sQ0FBTSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQztpQkFDMUQsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxFQUNGLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDWCxDQUFDO0lBQ04sQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcnJheUNvbGxlY3Rpb25PcHRpb25zfSBmcm9tICcuLi9pbnRlcmZhY2VzL2FycmF5LWNvbGxlY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7Q29sbGVjdGlvblJlcXVlc3R9IGZyb20gJy4uL2ludGVyZmFjZXMvY29sbGVjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHtBcnJheUNvbGxlY3Rpb259IGZyb20gJy4uL2NsYXNzZXMvYXJyYXkuY29sbGVjdGlvbic7XG5pbXBvcnQge0NvbGxlY3Rpb25Qcm92aWRlcn0gZnJvbSAnLi9jb2xsZWN0aW9uLnByb3ZpZGVyJztcbmltcG9ydCB7ZGVsYXksIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgTG9jYWxDb2xsZWN0aW9uUHJvdmlkZXI8VD4gZXh0ZW5kcyBDb2xsZWN0aW9uUHJvdmlkZXI8VD4ge1xuXG4gICAgcHJpdmF0ZSBfaXRlbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUW10+KFtdKTtcblxuICAgIGNvbnN0cnVjdG9yKGl0ZW1zOiBUW10sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfb3B0aW9ucz86IEFycmF5Q29sbGVjdGlvbk9wdGlvbnM8VD4pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy51cGRhdGUoaXRlbXMpO1xuICAgIH1cblxuICAgIHVwZGF0ZSh2YWx1ZTogVFtdKSB7XG4gICAgICAgIHRoaXMuX2l0ZW1zJC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICB0cmFuc2Zvcm0ocmVxdWVzdDogQ29sbGVjdGlvblJlcXVlc3QpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1zJC5waXBlKFxuICAgICAgICAgICAgbWFwKGl0ZW1zID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEFycmF5Q29sbGVjdGlvbjxUPihpdGVtcylcbiAgICAgICAgICAgICAgICAgICAgLnNlYXJjaChyZXF1ZXN0Py5xdWVyeSwgPGFueT5yZXF1ZXN0LnF1ZXJ5RmllbGRzKVxuICAgICAgICAgICAgICAgICAgICAuc29ydEJ5KDxhbnk+cmVxdWVzdD8uc29ydCwgdGhpcy5fb3B0aW9ucz8uc29ydGFibGVzID8/IHt9KVxuICAgICAgICAgICAgICAgICAgICAudG9QYWdlKHJlcXVlc3Q/LnBhZ2VOdW1iZXIsIHJlcXVlc3Q/LnBhZ2VTaXplKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZGVsYXkoMSlcbiAgICAgICAgKTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,22 +0,0 @@
1
- export * from './lib/interfaces/collection.interface';
2
- export * from './lib/interfaces/array-collection.interface';
3
- export * from './lib/providers/collection.provider';
4
- export * from './lib/providers/api-collection.provider';
5
- export * from './lib/providers/local-collection.provider';
6
- export * from './lib/directives/collections-data.directive';
7
- export * from './lib/directives/collections-data-row.directive';
8
- export * from './lib/directives/collections-empty.directive';
9
- export * from './lib/directives/collections-error.directive';
10
- export * from './lib/directives/collections-initial.directive';
11
- export * from './lib/directives/collections-item.directive';
12
- export * from './lib/components/collections-viewer/collections-viewer.component';
13
- export * from './lib/components/collections-pager/collections-pager.component';
14
- export * from './lib/components/collections-table/collections-table.component';
15
- export * from './lib/components/collections-table-sorting/collections-table-sorting.component';
16
- export * from './lib/components/collections-table-label/collections-table-label.component';
17
- export * from './lib/components/collections-grid/collections-grid.component';
18
- export * from './lib/components/collections-actions/collections-actions.component';
19
- export * from './lib/classes/array.collection';
20
- export * from './lib/collection';
21
- export * from './lib/collections.module';
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29sbGVjdGlvbnMvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDZDQUE2QyxDQUFDO0FBRTVELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDZDQUE2QyxDQUFDO0FBRTVELGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsZ0ZBQWdGLENBQUM7QUFDL0YsY0FBYyw0RUFBNEUsQ0FBQztBQUMzRixjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsb0VBQW9FLENBQUM7QUFFbkYsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxjQUFjLGtCQUFrQixDQUFDO0FBRWpDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2NvbGxlY3Rpb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvYXJyYXktY29sbGVjdGlvbi5pbnRlcmZhY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm92aWRlcnMvY29sbGVjdGlvbi5wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm92aWRlcnMvYXBpLWNvbGxlY3Rpb24ucHJvdmlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvdmlkZXJzL2xvY2FsLWNvbGxlY3Rpb24ucHJvdmlkZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2NvbGxlY3Rpb25zLWRhdGEuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY29sbGVjdGlvbnMtZGF0YS1yb3cuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY29sbGVjdGlvbnMtZW1wdHkuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY29sbGVjdGlvbnMtZXJyb3IuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY29sbGVjdGlvbnMtaW5pdGlhbC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9jb2xsZWN0aW9ucy1pdGVtLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29sbGVjdGlvbnMtdmlld2VyL2NvbGxlY3Rpb25zLXZpZXdlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb2xsZWN0aW9ucy1wYWdlci9jb2xsZWN0aW9ucy1wYWdlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb2xsZWN0aW9ucy10YWJsZS9jb2xsZWN0aW9ucy10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb2xsZWN0aW9ucy10YWJsZS1zb3J0aW5nL2NvbGxlY3Rpb25zLXRhYmxlLXNvcnRpbmcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29sbGVjdGlvbnMtdGFibGUtbGFiZWwvY29sbGVjdGlvbnMtdGFibGUtbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29sbGVjdGlvbnMtZ3JpZC9jb2xsZWN0aW9ucy1ncmlkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbGxlY3Rpb25zLWFjdGlvbnMvY29sbGVjdGlvbnMtYWN0aW9ucy5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL2FycmF5LmNvbGxlY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMubW9kdWxlJztcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhdm9iaXQtYmItZm91bmRhdGlvbi1jb21ib2JveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29tYm9ib3gvc3JjL2JyYXZvYml0LWJiLWZvdW5kYXRpb24tY29tYm9ib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -1,137 +0,0 @@
1
- import { Directive, HostListener, Inject, Injector, Optional } from '@angular/core';
2
- import { BbComboboxPanel } from '../combobox-panel/combobox-panel.component';
3
- import { fromEvent, Subscription, throttleTime } from 'rxjs';
4
- import { ComponentPortal } from '@angular/cdk/portal';
5
- import { BbCombobox } from './combobox.component';
6
- import { WINDOW } from '@bravobit/bb-foundation';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/cdk/overlay";
9
- import * as i2 from "./combobox.component";
10
- export class BbComboboxContainer {
11
- _overlay;
12
- _combobox;
13
- _viewContainerRef;
14
- _elementRef;
15
- _window;
16
- // State.
17
- _overlayRef = null;
18
- // Subscriptions.
19
- _subscription = new Subscription();
20
- constructor(_overlay, _combobox, _viewContainerRef, _elementRef, _window) {
21
- this._overlay = _overlay;
22
- this._combobox = _combobox;
23
- this._viewContainerRef = _viewContainerRef;
24
- this._elementRef = _elementRef;
25
- this._window = _window;
26
- }
27
- get width() {
28
- return this._elementRef?.nativeElement?.clientWidth ?? 0;
29
- }
30
- ngOnInit() {
31
- this.createOverlay();
32
- this.handleResizing();
33
- this.handleBackdropClick();
34
- }
35
- ngOnDestroy() {
36
- this._subscription?.unsubscribe();
37
- this._overlayRef?.dispose();
38
- this._overlayRef = null;
39
- }
40
- toggle() {
41
- if (!this._overlayRef) {
42
- return;
43
- }
44
- this._overlayRef?.hasAttached() ? this.close() : this.open();
45
- }
46
- open() {
47
- const injector = Injector.create({
48
- providers: [
49
- { provide: BbComboboxContainer, useValue: this },
50
- { provide: BbCombobox, useValue: this._combobox }
51
- ]
52
- });
53
- const component = new ComponentPortal(BbComboboxPanel, this._viewContainerRef, injector);
54
- this._overlayRef.attach(component);
55
- }
56
- close() {
57
- this._overlayRef?.detach();
58
- }
59
- getPositionStrategy() {
60
- const positions = this.getPositions();
61
- return this._overlay
62
- .position()
63
- .flexibleConnectedTo(this._elementRef)
64
- .withFlexibleDimensions(true)
65
- .withGrowAfterOpen(true)
66
- .withPush(false)
67
- .withViewportMargin(20)
68
- .withPositions(positions);
69
- }
70
- getPositions() {
71
- return [
72
- {
73
- originX: 'center',
74
- originY: 'bottom',
75
- overlayX: 'center',
76
- overlayY: 'top',
77
- offsetY: 10
78
- },
79
- {
80
- originX: 'center',
81
- originY: 'top',
82
- overlayX: 'center',
83
- overlayY: 'bottom',
84
- offsetY: -10
85
- }
86
- ];
87
- }
88
- resize() {
89
- this._overlayRef.updateSize({ width: this.width });
90
- }
91
- createOverlay() {
92
- const positionStrategy = this.getPositionStrategy();
93
- const scrollStrategy = this._overlay.scrollStrategies.reposition();
94
- this._overlayRef = this._overlay.create({
95
- positionStrategy,
96
- scrollStrategy,
97
- hasBackdrop: true,
98
- backdropClass: null,
99
- disposeOnNavigation: true,
100
- width: this.width
101
- });
102
- }
103
- handleBackdropClick() {
104
- if (!this._overlayRef) {
105
- return;
106
- }
107
- const subscription = this._overlayRef.backdropClick()
108
- .subscribe(() => this.close());
109
- this._subscription.add(subscription);
110
- }
111
- handleResizing() {
112
- if (!this._window) {
113
- return;
114
- }
115
- const resize$ = fromEvent(this._window, 'resize').pipe(throttleTime(20));
116
- const subscription = resize$.subscribe(() => this.resize());
117
- this._subscription.add(subscription);
118
- }
119
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbComboboxContainer, deps: [{ token: i1.Overlay }, { token: i2.BbCombobox }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: WINDOW, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
120
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbComboboxContainer, isStandalone: true, selector: "[bbComboboxContainer]", host: { listeners: { "click": "toggle()" } }, ngImport: i0 });
121
- }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbComboboxContainer, decorators: [{
123
- type: Directive,
124
- args: [{
125
- selector: '[bbComboboxContainer]',
126
- standalone: true
127
- }]
128
- }], ctorParameters: () => [{ type: i1.Overlay }, { type: i2.BbCombobox }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: Window, decorators: [{
129
- type: Optional
130
- }, {
131
- type: Inject,
132
- args: [WINDOW]
133
- }] }], propDecorators: { toggle: [{
134
- type: HostListener,
135
- args: ['click']
136
- }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3gtY29udGFpbmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29tYm9ib3gvc3JjL2NvbWJvYm94L2NvbWJvYm94LWNvbnRhaW5lci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBYyxZQUFZLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBcUIsUUFBUSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUVuSSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDM0UsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHlCQUF5QixDQUFDOzs7O0FBTS9DLE1BQU0sT0FBTyxtQkFBbUI7SUFRUjtJQUNBO0lBQ0E7SUFDQTtJQUM0QjtJQVZoRCxTQUFTO0lBQ0QsV0FBVyxHQUFzQixJQUFJLENBQUM7SUFFOUMsaUJBQWlCO0lBQ1QsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFM0MsWUFBb0IsUUFBaUIsRUFDakIsU0FBcUIsRUFDckIsaUJBQW1DLEVBQ25DLFdBQW9DLEVBQ1IsT0FBZTtRQUozQyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLGNBQVMsR0FBVCxTQUFTLENBQVk7UUFDckIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDUixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQy9ELENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxX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aXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXksIE92ZXJsYXlSZWZ9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7QmJDb21ib2JveFBhbmVsfSBmcm9tICcuLi9jb21ib2JveC1wYW5lbC9jb21ib2JveC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7QmJDb21ib2JveH0gZnJvbSAnLi9jb21ib2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYmJDb21ib2JveENvbnRhaW5lcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmJDb21ib2JveENvbnRhaW5lciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIC8vIFN0YXRlLlxuICAgIHByaXZhdGUgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCBudWxsID0gbnVsbDtcblxuICAgIC8vIFN1YnNjcmlwdGlvbnMuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9jb21ib2JveDogQmJDb21ib2JveCxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIF93aW5kb3c6IFdpbmRvdykge1xuICAgIH1cblxuICAgIGdldCB3aWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmNsaWVudFdpZHRoID8/IDA7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuICAgICAgICB0aGlzLmhhbmRsZVJlc2l6aW5nKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlQmFja2Ryb3BDbGljaygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX292ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZiA9IG51bGw7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIHRvZ2dsZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9vdmVybGF5UmVmKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpID8gdGhpcy5jbG9zZSgpIDogdGhpcy5vcGVuKCk7XG4gICAgfVxuXG4gICAgb3BlbigpIHtcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge3Byb3ZpZGU6IEJiQ29tYm9ib3hDb250YWluZXIsIHVzZVZhbHVlOiB0aGlzfSxcbiAgICAgICAgICAgICAgICB7cHJvdmlkZTogQmJDb21ib2JveCwgdXNlVmFsdWU6IHRoaXMuX2NvbWJvYm94fVxuICAgICAgICAgICAgXVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBuZXcgQ29tcG9uZW50UG9ydGFsKEJiQ29tYm9ib3hQYW5lbCwgdGhpcy5fdmlld0NvbnRhaW5lclJlZiwgaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaChjb21wb25lbnQpO1xuICAgIH1cblxuICAgIGNsb3NlKCkge1xuICAgICAgICB0aGlzLl9vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBvc2l0aW9uU3RyYXRlZ3koKSB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IHRoaXMuZ2V0UG9zaXRpb25zKCk7XG4gICAgICAgIHJldHVybiB0aGlzLl9vdmVybGF5XG4gICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5fZWxlbWVudFJlZilcbiAgICAgICAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKHRydWUpXG4gICAgICAgICAgICAud2l0aEdyb3dBZnRlck9wZW4odHJ1ZSlcbiAgICAgICAgICAgIC53aXRoUHVzaChmYWxzZSlcbiAgICAgICAgICAgIC53aXRoVmlld3BvcnRNYXJnaW4oMjApXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhwb3NpdGlvbnMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UG9zaXRpb25zKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgICAgICAgb2Zmc2V0WTogMTBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgICBvZmZzZXRZOiAtMTBcbiAgICAgICAgICAgIH1cbiAgICAgICAgXSBzYXRpc2ZpZXMgQ29ubmVjdGVkUG9zaXRpb25bXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi51cGRhdGVTaXplKHt3aWR0aDogdGhpcy53aWR0aH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlT3ZlcmxheSgpIHtcbiAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuZ2V0UG9zaXRpb25TdHJhdGVneSgpO1xuICAgICAgICBjb25zdCBzY3JvbGxTdHJhdGVneSA9IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3ksXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6IG51bGwsXG4gICAgICAgICAgICBkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMud2lkdGhcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVCYWNrZHJvcENsaWNrKCkge1xuICAgICAgICBpZiAoIXRoaXMuX292ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuX292ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSk7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVJlc2l6aW5nKCkge1xuICAgICAgICBpZiAoIXRoaXMuX3dpbmRvdykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzaXplJCA9IGZyb21FdmVudCh0aGlzLl93aW5kb3csICdyZXNpemUnKS5waXBlKFxuICAgICAgICAgICAgdGhyb3R0bGVUaW1lKDIwKVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHJlc2l6ZSQuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzaXplKCkpO1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHN1YnNjcmlwdGlvbik7XG4gICAgfVxuXG59XG4iXX0=