@fundamental-ngx/platform 0.43.0-rc.2 → 0.43.0-rc.21

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 (427) hide show
  1. package/esm2020/action-bar/action-bar.component.mjs +3 -3
  2. package/esm2020/action-bar/action-bar.module.mjs +4 -4
  3. package/esm2020/action-button-group/action-button-group.component.mjs +3 -3
  4. package/esm2020/action-button-group/action-button-group.module.mjs +4 -4
  5. package/esm2020/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +5 -5
  6. package/esm2020/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +5 -5
  7. package/esm2020/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +3 -3
  8. package/esm2020/approval-flow/approval-flow-node/approval-flow-drop-zone.directive.mjs +3 -3
  9. package/esm2020/approval-flow/approval-flow-node/approval-flow-node.component.mjs +3 -3
  10. package/esm2020/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +5 -5
  11. package/esm2020/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +3 -3
  12. package/esm2020/approval-flow/approval-flow-toolbar-actions/approval-flow-toolbar-actions.component.mjs +3 -3
  13. package/esm2020/approval-flow/approval-flow-user-details/approval-flow-user-details.component.mjs +3 -3
  14. package/esm2020/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +3 -3
  15. package/esm2020/approval-flow/approval-flow.component.mjs +3 -3
  16. package/esm2020/approval-flow/approval-flow.module.mjs +4 -4
  17. package/esm2020/approval-flow/services/approval-flow-add-node-view.service.mjs +3 -3
  18. package/esm2020/button/button.component.mjs +3 -3
  19. package/esm2020/button/button.module.mjs +4 -4
  20. package/esm2020/dynamic-page/directives/dynamic-page-header-subtitle.directive.mjs +3 -3
  21. package/esm2020/dynamic-page/directives/dynamic-page-header-title.directive.mjs +3 -3
  22. package/esm2020/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.mjs +3 -3
  23. package/esm2020/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +3 -3
  24. package/esm2020/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.mjs +3 -3
  25. package/esm2020/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.mjs +3 -3
  26. package/esm2020/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.mjs +3 -3
  27. package/esm2020/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +3 -3
  28. package/esm2020/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.mjs +3 -3
  29. package/esm2020/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.mjs +3 -3
  30. package/esm2020/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.mjs +3 -3
  31. package/esm2020/dynamic-page/dynamic-page.component.mjs +3 -3
  32. package/esm2020/dynamic-page/dynamic-page.config.mjs +3 -3
  33. package/esm2020/dynamic-page/dynamic-page.module.mjs +4 -4
  34. package/esm2020/dynamic-page/dynamic-page.service.mjs +3 -3
  35. package/esm2020/feed-input/feed-input.component.mjs +3 -3
  36. package/esm2020/feed-input/feed-input.module.mjs +4 -4
  37. package/esm2020/form/auto-complete/auto-complete.directive.mjs +3 -3
  38. package/esm2020/form/auto-complete/auto-complete.module.mjs +4 -4
  39. package/esm2020/form/checkbox/checkbox.component.mjs +3 -3
  40. package/esm2020/form/checkbox/checkbox.module.mjs +4 -4
  41. package/esm2020/form/checkbox-group/checkbox-group.component.mjs +3 -3
  42. package/esm2020/form/checkbox-group/checkbox-group.module.mjs +4 -4
  43. package/esm2020/form/combobox/combobox/combobox.component.mjs +4 -4
  44. package/esm2020/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +3 -3
  45. package/esm2020/form/combobox/combobox-mobile/combobox-mobile.module.mjs +4 -4
  46. package/esm2020/form/combobox/combobox.config.mjs +3 -3
  47. package/esm2020/form/combobox/combobox.module.mjs +4 -4
  48. package/esm2020/form/combobox/commons/base-combobox.mjs +3 -3
  49. package/esm2020/form/date-picker/date-picker.component.mjs +3 -3
  50. package/esm2020/form/date-picker/date-picker.module.mjs +4 -4
  51. package/esm2020/form/datetime-picker/datetime-picker.component.mjs +3 -3
  52. package/esm2020/form/datetime-picker/datetime-picker.module.mjs +4 -4
  53. package/esm2020/form/form-generator/base-dynamic-form-generator-control.mjs +3 -3
  54. package/esm2020/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.mjs +3 -3
  55. package/esm2020/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +3 -3
  56. package/esm2020/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.mjs +3 -3
  57. package/esm2020/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.mjs +3 -3
  58. package/esm2020/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.mjs +3 -3
  59. package/esm2020/form/form-generator/controls/dynamic-form-generator-object-status/dynamic-form-generator-object-status.component.mjs +3 -3
  60. package/esm2020/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.mjs +3 -3
  61. package/esm2020/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +3 -3
  62. package/esm2020/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.mjs +3 -3
  63. package/esm2020/form/form-generator/dynamic-form-control-field.directive.mjs +3 -3
  64. package/esm2020/form/form-generator/dynamic-form-control.directive.mjs +3 -3
  65. package/esm2020/form/form-generator/fdp-form-generator.module.mjs +4 -4
  66. package/esm2020/form/form-generator/form-generator/form-generator.component.mjs +5 -5
  67. package/esm2020/form/form-generator/form-generator-components-accessor.service.mjs +3 -3
  68. package/esm2020/form/form-generator/form-generator-field/form-generator-field.component.mjs +3 -3
  69. package/esm2020/form/form-generator/form-generator.service.mjs +3 -3
  70. package/esm2020/form/form-generator/pipes/get-ordered-form-controls.pipe.mjs +3 -3
  71. package/esm2020/form/form-group/deprecated-form-group-compact.directive.mjs +3 -3
  72. package/esm2020/form/form-group/fdp-form.module.mjs +4 -4
  73. package/esm2020/form/form-group/form-field/form-field.component.mjs +3 -3
  74. package/esm2020/form/form-group/form-field-error/form-field-error-description.directive.mjs +3 -3
  75. package/esm2020/form/form-group/form-field-error/form-field-error-heading.directive.mjs +3 -3
  76. package/esm2020/form/form-group/form-field-error/form-field-error.directive.mjs +3 -3
  77. package/esm2020/form/form-group/form-field-extras/form-field-extras.component.mjs +3 -3
  78. package/esm2020/form/form-group/form-field-group/form-field-group.component.mjs +3 -3
  79. package/esm2020/form/form-group/form-group-header/form-group-header.component.mjs +3 -3
  80. package/esm2020/form/form-group/form-group.component.mjs +3 -3
  81. package/esm2020/form/form-group/pipes/field-group-row-value.pipe.mjs +3 -3
  82. package/esm2020/form/form-group/services/form-field-layout.service.mjs +3 -3
  83. package/esm2020/form/input/fdp-input.module.mjs +4 -4
  84. package/esm2020/form/input/input.component.mjs +3 -3
  85. package/esm2020/form/input-group/addon-body.component.mjs +3 -3
  86. package/esm2020/form/input-group/addon.component.mjs +3 -3
  87. package/esm2020/form/input-group/input-group.component.mjs +3 -3
  88. package/esm2020/form/input-group/input-group.config.mjs +3 -3
  89. package/esm2020/form/input-group/input-group.module.mjs +4 -4
  90. package/esm2020/form/input-group/input.component.mjs +3 -3
  91. package/esm2020/form/input-message-group-with-template/input-message-group-with-template.component.mjs +3 -3
  92. package/esm2020/form/multi-combobox/commons/base-multi-combobox.mjs +3 -3
  93. package/esm2020/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +4 -4
  94. package/esm2020/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +3 -3
  95. package/esm2020/form/multi-combobox/multi-combobox-mobile/multi-combobox-mobile.module.mjs +4 -4
  96. package/esm2020/form/multi-combobox/multi-combobox.config.mjs +3 -3
  97. package/esm2020/form/multi-combobox/multi-combobox.module.mjs +4 -4
  98. package/esm2020/form/multi-input/base-multi-input.mjs +3 -3
  99. package/esm2020/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +3 -3
  100. package/esm2020/form/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +4 -4
  101. package/esm2020/form/multi-input/multi-input.component.mjs +4 -4
  102. package/esm2020/form/multi-input/multi-input.config.mjs +3 -3
  103. package/esm2020/form/multi-input/multi-input.module.mjs +4 -4
  104. package/esm2020/form/platform-file-uploader/platform-file-uploader.component.mjs +3 -3
  105. package/esm2020/form/platform-file-uploader/platform-file-uploader.module.mjs +4 -4
  106. package/esm2020/form/radio-group/radio/radio.component.mjs +3 -3
  107. package/esm2020/form/radio-group/radio-group.component.mjs +3 -3
  108. package/esm2020/form/radio-group/radio-group.module.mjs +4 -4
  109. package/esm2020/form/select/commons/base-select.mjs +3 -3
  110. package/esm2020/form/select/option/option.component.mjs +3 -3
  111. package/esm2020/form/select/select/select.component.mjs +3 -3
  112. package/esm2020/form/select/select.config.mjs +3 -3
  113. package/esm2020/form/select/select.module.mjs +4 -4
  114. package/esm2020/form/step-input/base.step-input.mjs +3 -3
  115. package/esm2020/form/step-input/number/number-step-input.component.mjs +3 -3
  116. package/esm2020/form/step-input/step-input-action-button.mjs +3 -3
  117. package/esm2020/form/step-input/step-input-control.directive.mjs +3 -3
  118. package/esm2020/form/step-input/step-input-decrement.directive.mjs +3 -3
  119. package/esm2020/form/step-input/step-input-increment.directive.mjs +3 -3
  120. package/esm2020/form/step-input/step-input.config.mjs +3 -3
  121. package/esm2020/form/step-input/step-input.module.mjs +4 -4
  122. package/esm2020/form/switch/switch/switch.component.mjs +3 -3
  123. package/esm2020/form/switch/switch/switch.config.mjs +3 -3
  124. package/esm2020/form/switch/switch.module.mjs +4 -4
  125. package/esm2020/form/text-area/text-area.component.mjs +3 -3
  126. package/esm2020/form/text-area/text-area.config.mjs +3 -3
  127. package/esm2020/form/text-area/text-area.module.mjs +4 -4
  128. package/esm2020/form/time-picker/time-picker.component.mjs +3 -3
  129. package/esm2020/form/time-picker/time-picker.module.mjs +4 -4
  130. package/esm2020/fundamental-ngx.module.mjs +4 -4
  131. package/esm2020/icon-tab-bar/components/icon-tab-bar-base.class.mjs +3 -3
  132. package/esm2020/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +3 -3
  133. package/esm2020/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +3 -3
  134. package/esm2020/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +3 -3
  135. package/esm2020/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +3 -3
  136. package/esm2020/icon-tab-bar/components/popovers/icon-tab-bar-popover/icon-tab-bar-popover.component.mjs +3 -3
  137. package/esm2020/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.mjs +3 -3
  138. package/esm2020/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.mjs +3 -3
  139. package/esm2020/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +3 -3
  140. package/esm2020/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +3 -3
  141. package/esm2020/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +3 -3
  142. package/esm2020/icon-tab-bar/icon-tab-bar.component.mjs +3 -3
  143. package/esm2020/icon-tab-bar/icon-tab-bar.module.mjs +4 -4
  144. package/esm2020/info-label/info-label.component.mjs +3 -3
  145. package/esm2020/info-label/info-label.module.mjs +4 -4
  146. package/esm2020/link/link.component.mjs +3 -3
  147. package/esm2020/link/link.module.mjs +4 -4
  148. package/esm2020/list/action-list-item/action-list-item.component.mjs +3 -3
  149. package/esm2020/list/action-list-item/action-list-item.module.mjs +4 -4
  150. package/esm2020/list/base-list-item.mjs +6 -6
  151. package/esm2020/list/display-list-item/display-list-item.component.mjs +3 -3
  152. package/esm2020/list/display-list-item/display-list-item.module.mjs +4 -4
  153. package/esm2020/list/free-content-list-item/free-content-list-item.component.mjs +3 -3
  154. package/esm2020/list/list-group-footer.component.mjs +3 -3
  155. package/esm2020/list/list-group-header.component.mjs +3 -3
  156. package/esm2020/list/list.component.mjs +4 -4
  157. package/esm2020/list/list.config.mjs +3 -3
  158. package/esm2020/list/list.module.mjs +4 -4
  159. package/esm2020/list/load-more-content.directive.mjs +3 -3
  160. package/esm2020/list/object-list-item/object-list-item-row.component.mjs +3 -3
  161. package/esm2020/list/object-list-item/object-list-item.component.mjs +3 -3
  162. package/esm2020/list/object-list-item/object-list-item.module.mjs +4 -4
  163. package/esm2020/list/standard-list-item/standard-list-item.component.mjs +3 -3
  164. package/esm2020/list/standard-list-item/standard-list-item.module.mjs +4 -4
  165. package/esm2020/menu/menu-item.component.mjs +3 -3
  166. package/esm2020/menu/menu-trigger.directive.mjs +3 -3
  167. package/esm2020/menu/menu.component.mjs +3 -3
  168. package/esm2020/menu/menu.module.mjs +4 -4
  169. package/esm2020/menu-button/menu-button.component.mjs +3 -3
  170. package/esm2020/menu-button/menu-button.module.mjs +4 -4
  171. package/esm2020/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +3 -3
  172. package/esm2020/message-popover/components/message-view/message-view.component.mjs +5 -5
  173. package/esm2020/message-popover/directives/message-popover-form-item.directive.mjs +3 -3
  174. package/esm2020/message-popover/message-popover.component.mjs +3 -3
  175. package/esm2020/message-popover/platform-message-popover.module.mjs +4 -4
  176. package/esm2020/object-attribute/object-attribute.component.mjs +3 -3
  177. package/esm2020/object-attribute/object-attribute.module.mjs +4 -4
  178. package/esm2020/object-marker/object-marker.component.mjs +3 -3
  179. package/esm2020/object-marker/object-marker.module.mjs +4 -4
  180. package/esm2020/object-status/object-status.component.mjs +3 -3
  181. package/esm2020/object-status/object-status.module.mjs +4 -4
  182. package/esm2020/page-footer/page-footer.component.mjs +3 -3
  183. package/esm2020/page-footer/page-footer.module.mjs +4 -4
  184. package/esm2020/panel/panel-actions.component.mjs +3 -3
  185. package/esm2020/panel/panel-content/panel-content.component.mjs +3 -3
  186. package/esm2020/panel/panel.component.mjs +3 -3
  187. package/esm2020/panel/panel.config.mjs +3 -3
  188. package/esm2020/panel/panel.module.mjs +4 -4
  189. package/esm2020/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +5 -5
  190. package/esm2020/search-field/search-field-mobile/search-field-mobile.module.mjs +4 -4
  191. package/esm2020/search-field/search-field.component.mjs +9 -9
  192. package/esm2020/search-field/search-field.module.mjs +4 -4
  193. package/esm2020/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +7 -7
  194. package/esm2020/settings-generator/layouts/base-settings-generator-layout.mjs +3 -3
  195. package/esm2020/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +3 -3
  196. package/esm2020/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +3 -3
  197. package/esm2020/settings-generator/settings-generator-content/settings-generator-content.component.mjs +3 -3
  198. package/esm2020/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +3 -3
  199. package/esm2020/settings-generator/settings-generator-layout-accessor.service.mjs +3 -3
  200. package/esm2020/settings-generator/settings-generator.component.mjs +3 -3
  201. package/esm2020/settings-generator/settings-generator.module.mjs +4 -4
  202. package/esm2020/settings-generator/settings-generator.service.mjs +3 -3
  203. package/esm2020/shared/base.mjs +3 -3
  204. package/esm2020/shared/form/base.input.mjs +3 -3
  205. package/esm2020/shared/form/collection-base.input.mjs +3 -3
  206. package/esm2020/shared/form/inline-layout-collection-base.input.mjs +9 -9
  207. package/esm2020/shared/pipes/convert-bytes/convert-bytes.pipe.mjs +3 -3
  208. package/esm2020/shared/pipes/pipe.module.mjs +4 -4
  209. package/esm2020/shared/platform-content-density-deprecations/directives/platform-compact-deprecation.directive.mjs +3 -3
  210. package/esm2020/shared/platform-content-density-deprecations/directives/platform-content-density-deprecation.directive.mjs +3 -3
  211. package/esm2020/shared/platform-content-density-deprecations/platform-content-density-deprecations.module.mjs +4 -4
  212. package/esm2020/shared/platform.config.mjs +3 -3
  213. package/esm2020/slider/slider.component.mjs +3 -3
  214. package/esm2020/slider/slider.module.mjs +4 -4
  215. package/esm2020/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.mjs +3 -3
  216. package/esm2020/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +3 -3
  217. package/esm2020/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +3 -3
  218. package/esm2020/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +3 -3
  219. package/esm2020/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.mjs +3 -3
  220. package/esm2020/smart-filter-bar/directives/smart-filter-bar-subject.directive.mjs +3 -3
  221. package/esm2020/smart-filter-bar/directives/smart-filter-bar-toolbar-item.directive.mjs +3 -3
  222. package/esm2020/smart-filter-bar/smart-filter-bar.class.mjs +3 -3
  223. package/esm2020/smart-filter-bar/smart-filter-bar.component.mjs +3 -3
  224. package/esm2020/smart-filter-bar/smart-filter-bar.module.mjs +4 -4
  225. package/esm2020/smart-filter-bar/smart-filter-bar.service.mjs +3 -3
  226. package/esm2020/split-menu-button/split-menu-button.component.mjs +3 -3
  227. package/esm2020/split-menu-button/split-menu-button.module.mjs +4 -4
  228. package/esm2020/table/components/no-data-wrapper/no-data-wrapper.component.mjs +3 -3
  229. package/esm2020/table/components/reset-button/reset-button.component.mjs +3 -3
  230. package/esm2020/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +5 -5
  231. package/esm2020/table/components/table-column/table-column.component.mjs +3 -3
  232. package/esm2020/table/components/table-column-resizer/table-column-resizer.component.mjs +3 -3
  233. package/esm2020/table/components/table-editable-cell/table-editable-cell.component.mjs +3 -3
  234. package/esm2020/table/components/table-group-row/table-group-row.component.mjs +3 -3
  235. package/esm2020/table/components/table-header-cell-content/table-header-cell-content.component.mjs +3 -3
  236. package/esm2020/table/components/table-header-row/table-header-row.component.mjs +10 -6
  237. package/esm2020/table/components/table-p13-dialog/columns/columns.component.mjs +3 -3
  238. package/esm2020/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +3 -3
  239. package/esm2020/table/components/table-p13-dialog/filtering/filtering.component.mjs +3 -3
  240. package/esm2020/table/components/table-p13-dialog/grouping/grouping.component.mjs +3 -3
  241. package/esm2020/table/components/table-p13-dialog/sorting/sorting.component.mjs +8 -8
  242. package/esm2020/table/components/table-p13-dialog/table-p13-columns.component.mjs +3 -3
  243. package/esm2020/table/components/table-p13-dialog/table-p13-dialog.component.mjs +3 -3
  244. package/esm2020/table/components/table-p13-dialog/table-p13-filter.component.mjs +3 -3
  245. package/esm2020/table/components/table-p13-dialog/table-p13-group.component.mjs +3 -3
  246. package/esm2020/table/components/table-p13-dialog/table-p13-sort.component.mjs +3 -3
  247. package/esm2020/table/components/table-popping-row/table-popping-row.component.mjs +3 -3
  248. package/esm2020/table/components/table-row/table-row.component.mjs +3 -3
  249. package/esm2020/table/components/table-toolbar/table-toolbar-actions.component.mjs +3 -3
  250. package/esm2020/table/components/table-toolbar/table-toolbar-left-actions.component.mjs +3 -3
  251. package/esm2020/table/components/table-toolbar/table-toolbar.component.mjs +3 -3
  252. package/esm2020/table/components/table-view-settings-dialog/filtering/filter-custom.component.mjs +3 -3
  253. package/esm2020/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +3 -3
  254. package/esm2020/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +3 -3
  255. package/esm2020/table/components/table-view-settings-dialog/filtering/filter-step.component.mjs +3 -3
  256. package/esm2020/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +3 -3
  257. package/esm2020/table/components/table-view-settings-dialog/filtering/filters.component.mjs +3 -3
  258. package/esm2020/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +3 -3
  259. package/esm2020/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +3 -3
  260. package/esm2020/table/components/table-view-settings-dialog/table-view-settings-dialog.component.mjs +3 -3
  261. package/esm2020/table/components/table-view-settings-dialog/table-view-settings-filter.component.mjs +3 -3
  262. package/esm2020/table/table.component.mjs +31 -13
  263. package/esm2020/table/table.module.mjs +4 -4
  264. package/esm2020/table-helpers/constants/index.mjs +3 -2
  265. package/esm2020/table-helpers/directives/platform-table-column-responsive.directive.mjs +3 -3
  266. package/esm2020/table-helpers/directives/table-cell-header-popover.directive.mjs +3 -3
  267. package/esm2020/table-helpers/directives/table-cell-resizable.directive.mjs +3 -3
  268. package/esm2020/table-helpers/directives/table-cell-selectable.directive.mjs +3 -3
  269. package/esm2020/table-helpers/directives/table-cell.directive.mjs +12 -12
  270. package/esm2020/table-helpers/directives/table-data-source.directive.mjs +3 -3
  271. package/esm2020/table-helpers/directives/table-draggable.directive.mjs +3 -3
  272. package/esm2020/table-helpers/directives/table-header-resizer.directive.mjs +3 -3
  273. package/esm2020/table-helpers/directives/table-header.directive.mjs +6 -6
  274. package/esm2020/table-helpers/directives/table-initial-state.directive.mjs +3 -3
  275. package/esm2020/table-helpers/directives/table-scrollable.directive.mjs +12 -4
  276. package/esm2020/table-helpers/directives/table-view-settings-filter-custom.directive.mjs +3 -3
  277. package/esm2020/table-helpers/directives/table-virtual-scroll.directive.mjs +9 -5
  278. package/esm2020/table-helpers/interfaces/table-state.interface.mjs +1 -1
  279. package/esm2020/table-helpers/pipes/cell-styles.pipe.mjs +3 -3
  280. package/esm2020/table-helpers/pipes/column-resizable-side.pipe.mjs +3 -3
  281. package/esm2020/table-helpers/pipes/row-classes.pipe.mjs +3 -3
  282. package/esm2020/table-helpers/pipes/selection-cell-styles.pipe.mjs +3 -3
  283. package/esm2020/table-helpers/services/table-column-resize.service.mjs +3 -3
  284. package/esm2020/table-helpers/services/table-responsive.service.mjs +3 -3
  285. package/esm2020/table-helpers/services/table-row.service.mjs +3 -3
  286. package/esm2020/table-helpers/services/table-scroll-dispatcher.service.mjs +4 -4
  287. package/esm2020/table-helpers/services/table.service.mjs +7 -5
  288. package/esm2020/table-helpers/table-helpers.module.mjs +4 -4
  289. package/esm2020/thumbnail/thumbnail-details/thumbnail-details.component.mjs +3 -3
  290. package/esm2020/thumbnail/thumbnail-image/thumbnail-image.component.mjs +3 -3
  291. package/esm2020/thumbnail/thumbnail.component.mjs +3 -3
  292. package/esm2020/thumbnail/thumbnail.module.mjs +4 -4
  293. package/esm2020/upload-collection/dialogs/move-to/move-to.component.mjs +3 -3
  294. package/esm2020/upload-collection/dialogs/new-folder/new-folder.component.mjs +5 -5
  295. package/esm2020/upload-collection/directives/upload-collection-dragndrop.directive.mjs +3 -3
  296. package/esm2020/upload-collection/services/files-validator.service.mjs +3 -3
  297. package/esm2020/upload-collection/upload-collection/upload-collection.component.mjs +3 -3
  298. package/esm2020/upload-collection/upload-collection.module.mjs +4 -4
  299. package/esm2020/value-help-dialog/components/base-tab/vhd-base-tab.component.mjs +3 -3
  300. package/esm2020/value-help-dialog/components/define-tab/define-tab.component.mjs +3 -3
  301. package/esm2020/value-help-dialog/components/select-tab/select-tab.component.mjs +3 -3
  302. package/esm2020/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.mjs +3 -3
  303. package/esm2020/value-help-dialog/components/value-help-dialog-search/value-help-dialog-search.component.mjs +3 -3
  304. package/esm2020/value-help-dialog/directives/condition-count-message.directive.mjs +3 -3
  305. package/esm2020/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +3 -3
  306. package/esm2020/value-help-dialog/value-help-dialog.module.mjs +4 -4
  307. package/esm2020/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +3 -3
  308. package/esm2020/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +3 -3
  309. package/esm2020/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.mjs +3 -3
  310. package/esm2020/variant-management/directives/variant-management-dirty-label.directive.mjs +3 -3
  311. package/esm2020/variant-management/variant-management.component.mjs +4 -4
  312. package/esm2020/variant-management/variant-management.module.mjs +4 -4
  313. package/esm2020/wizard-generator/base-wizard-generator.mjs +3 -3
  314. package/esm2020/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +5 -5
  315. package/esm2020/wizard-generator/components/wizard-body/wizard-body.component.mjs +3 -3
  316. package/esm2020/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +3 -3
  317. package/esm2020/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +3 -3
  318. package/esm2020/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +3 -3
  319. package/esm2020/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.mjs +3 -3
  320. package/esm2020/wizard-generator/directives/wizard-generator-finish-button.directive.mjs +3 -3
  321. package/esm2020/wizard-generator/directives/wizard-generator-go-next-button.directive.mjs +3 -3
  322. package/esm2020/wizard-generator/directives/wizard-generator-review-button.directive.mjs +3 -3
  323. package/esm2020/wizard-generator/directives/wizard-generator-summary-step.directive.mjs +3 -3
  324. package/esm2020/wizard-generator/wizard-dialog-generator.service.mjs +3 -3
  325. package/esm2020/wizard-generator/wizard-generator.module.mjs +4 -4
  326. package/esm2020/wizard-generator/wizard-generator.service.mjs +3 -3
  327. package/fesm2015/fundamental-ngx-platform-action-bar.mjs +7 -7
  328. package/fesm2015/fundamental-ngx-platform-action-button-group.mjs +7 -7
  329. package/fesm2015/fundamental-ngx-platform-approval-flow.mjs +43 -43
  330. package/fesm2015/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  331. package/fesm2015/fundamental-ngx-platform-button.mjs +7 -7
  332. package/fesm2015/fundamental-ngx-platform-dynamic-page.mjs +46 -46
  333. package/fesm2015/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  334. package/fesm2015/fundamental-ngx-platform-feed-input.mjs +7 -7
  335. package/fesm2015/fundamental-ngx-platform-form.mjs +305 -305
  336. package/fesm2015/fundamental-ngx-platform-form.mjs.map +1 -1
  337. package/fesm2015/fundamental-ngx-platform-icon-tab-bar.mjs +40 -40
  338. package/fesm2015/fundamental-ngx-platform-info-label.mjs +7 -7
  339. package/fesm2015/fundamental-ngx-platform-link.mjs +7 -7
  340. package/fesm2015/fundamental-ngx-platform-list.mjs +60 -60
  341. package/fesm2015/fundamental-ngx-platform-list.mjs.map +1 -1
  342. package/fesm2015/fundamental-ngx-platform-menu-button.mjs +7 -7
  343. package/fesm2015/fundamental-ngx-platform-menu.mjs +13 -13
  344. package/fesm2015/fundamental-ngx-platform-message-popover.mjs +17 -17
  345. package/fesm2015/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  346. package/fesm2015/fundamental-ngx-platform-object-attribute.mjs +7 -7
  347. package/fesm2015/fundamental-ngx-platform-object-marker.mjs +7 -7
  348. package/fesm2015/fundamental-ngx-platform-object-status.mjs +7 -7
  349. package/fesm2015/fundamental-ngx-platform-page-footer.mjs +7 -7
  350. package/fesm2015/fundamental-ngx-platform-panel.mjs +16 -16
  351. package/fesm2015/fundamental-ngx-platform-search-field.mjs +21 -21
  352. package/fesm2015/fundamental-ngx-platform-search-field.mjs.map +1 -1
  353. package/fesm2015/fundamental-ngx-platform-settings-generator.mjs +34 -34
  354. package/fesm2015/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  355. package/fesm2015/fundamental-ngx-platform-shared.mjs +38 -38
  356. package/fesm2015/fundamental-ngx-platform-slider.mjs +7 -7
  357. package/fesm2015/fundamental-ngx-platform-smart-filter-bar.mjs +34 -34
  358. package/fesm2015/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
  359. package/fesm2015/fundamental-ngx-platform-split-menu-button.mjs +7 -7
  360. package/fesm2015/fundamental-ngx-platform-table-helpers.mjs +97 -85
  361. package/fesm2015/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  362. package/fesm2015/fundamental-ngx-platform-table.mjs +147 -125
  363. package/fesm2015/fundamental-ngx-platform-table.mjs.map +1 -1
  364. package/fesm2015/fundamental-ngx-platform-thumbnail.mjs +13 -13
  365. package/fesm2015/fundamental-ngx-platform-upload-collection.mjs +20 -20
  366. package/fesm2015/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
  367. package/fesm2015/fundamental-ngx-platform-value-help-dialog.mjs +25 -25
  368. package/fesm2015/fundamental-ngx-platform-variant-management.mjs +20 -20
  369. package/fesm2015/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  370. package/fesm2015/fundamental-ngx-platform-wizard-generator.mjs +44 -44
  371. package/fesm2015/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
  372. package/fesm2015/fundamental-ngx-platform.mjs +4 -4
  373. package/fesm2020/fundamental-ngx-platform-action-bar.mjs +7 -7
  374. package/fesm2020/fundamental-ngx-platform-action-button-group.mjs +7 -7
  375. package/fesm2020/fundamental-ngx-platform-approval-flow.mjs +43 -43
  376. package/fesm2020/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  377. package/fesm2020/fundamental-ngx-platform-button.mjs +7 -7
  378. package/fesm2020/fundamental-ngx-platform-dynamic-page.mjs +46 -46
  379. package/fesm2020/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  380. package/fesm2020/fundamental-ngx-platform-feed-input.mjs +7 -7
  381. package/fesm2020/fundamental-ngx-platform-form.mjs +305 -305
  382. package/fesm2020/fundamental-ngx-platform-form.mjs.map +1 -1
  383. package/fesm2020/fundamental-ngx-platform-icon-tab-bar.mjs +40 -40
  384. package/fesm2020/fundamental-ngx-platform-info-label.mjs +7 -7
  385. package/fesm2020/fundamental-ngx-platform-link.mjs +7 -7
  386. package/fesm2020/fundamental-ngx-platform-list.mjs +60 -60
  387. package/fesm2020/fundamental-ngx-platform-list.mjs.map +1 -1
  388. package/fesm2020/fundamental-ngx-platform-menu-button.mjs +7 -7
  389. package/fesm2020/fundamental-ngx-platform-menu.mjs +13 -13
  390. package/fesm2020/fundamental-ngx-platform-message-popover.mjs +17 -17
  391. package/fesm2020/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  392. package/fesm2020/fundamental-ngx-platform-object-attribute.mjs +7 -7
  393. package/fesm2020/fundamental-ngx-platform-object-marker.mjs +7 -7
  394. package/fesm2020/fundamental-ngx-platform-object-status.mjs +7 -7
  395. package/fesm2020/fundamental-ngx-platform-page-footer.mjs +7 -7
  396. package/fesm2020/fundamental-ngx-platform-panel.mjs +16 -16
  397. package/fesm2020/fundamental-ngx-platform-search-field.mjs +21 -21
  398. package/fesm2020/fundamental-ngx-platform-search-field.mjs.map +1 -1
  399. package/fesm2020/fundamental-ngx-platform-settings-generator.mjs +34 -34
  400. package/fesm2020/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  401. package/fesm2020/fundamental-ngx-platform-shared.mjs +38 -38
  402. package/fesm2020/fundamental-ngx-platform-slider.mjs +7 -7
  403. package/fesm2020/fundamental-ngx-platform-smart-filter-bar.mjs +34 -34
  404. package/fesm2020/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
  405. package/fesm2020/fundamental-ngx-platform-split-menu-button.mjs +7 -7
  406. package/fesm2020/fundamental-ngx-platform-table-helpers.mjs +100 -85
  407. package/fesm2020/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  408. package/fesm2020/fundamental-ngx-platform-table.mjs +147 -125
  409. package/fesm2020/fundamental-ngx-platform-table.mjs.map +1 -1
  410. package/fesm2020/fundamental-ngx-platform-thumbnail.mjs +13 -13
  411. package/fesm2020/fundamental-ngx-platform-upload-collection.mjs +20 -20
  412. package/fesm2020/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
  413. package/fesm2020/fundamental-ngx-platform-value-help-dialog.mjs +25 -25
  414. package/fesm2020/fundamental-ngx-platform-variant-management.mjs +20 -20
  415. package/fesm2020/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  416. package/fesm2020/fundamental-ngx-platform-wizard-generator.mjs +44 -44
  417. package/fesm2020/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
  418. package/fesm2020/fundamental-ngx-platform.mjs +4 -4
  419. package/fundamental-ngx-platform-v0.43.0-rc.21.tgz +0 -0
  420. package/package.json +5 -5
  421. package/schematics/ng-add/index.js +1 -1
  422. package/table/components/table-header-row/table-header-row.component.d.ts +3 -1
  423. package/table/table.component.d.ts +7 -1
  424. package/table-helpers/directives/table-scrollable.directive.d.ts +2 -0
  425. package/table-helpers/interfaces/table-state.interface.d.ts +1 -0
  426. package/table-helpers/services/table-scroll-dispatcher.service.d.ts +2 -0
  427. package/fundamental-ngx-platform-v0.43.0-rc.2.tgz +0 -0
@@ -85,9 +85,9 @@ export class TableResponsiveService {
85
85
  this._tableService.columnsChange$.next({ previous: currentTableColumns, current: currentTableColumns });
86
86
  }
87
87
  }
88
- TableResponsiveService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableResponsiveService, deps: [{ token: Table }, { token: i1.TableService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Injectable });
89
- TableResponsiveService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableResponsiveService });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableResponsiveService, decorators: [{
88
+ TableResponsiveService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableResponsiveService, deps: [{ token: Table }, { token: i1.TableService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Injectable });
89
+ TableResponsiveService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableResponsiveService });
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableResponsiveService, decorators: [{
91
91
  type: Injectable
92
92
  }], ctorParameters: function () { return [{ type: i2.Table, decorators: [{
93
93
  type: Inject,
@@ -95,9 +95,9 @@ export class TableRowService {
95
95
  this.loadChildRows$.next(expandableRows);
96
96
  }
97
97
  }
98
- TableRowService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableRowService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
99
- TableRowService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableRowService });
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableRowService, decorators: [{
98
+ TableRowService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableRowService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
99
+ TableRowService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableRowService });
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableRowService, decorators: [{
101
101
  type: Injectable
102
102
  }] });
103
103
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcm93LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUtaGVscGVycy9zZXJ2aWNlcy90YWJsZS1yb3cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLHlCQUF5QixFQUFFLDBCQUEwQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sWUFBWSxDQUFDOztBQTBCNUcsTUFBTSxPQUFPLGVBQWU7SUFENUI7UUFFSSxjQUFjO1FBQ0csc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQWtCLENBQUM7UUFFbkUsY0FBYztRQUNHLG1DQUE4QixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFdEUsY0FBYztRQUNHLHdCQUFtQixHQUFHLElBQUksT0FBTyxFQUFvQixDQUFDO1FBRXZFLGNBQWM7UUFDRyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBeUIsQ0FBQztRQUU1RSxjQUFjO1FBQ0csb0NBQStCLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUUxRSxxRUFBcUU7UUFDNUQsNkJBQXdCLEdBQUcsSUFBSSxDQUFDLCtCQUErQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXhGLHVEQUF1RDtRQUM5QyxpQkFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVoRSxxRUFBcUU7UUFDNUQsNEJBQXVCLEdBQUcsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXRGLDJEQUEyRDtRQUNsRCxpQkFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVoRSx5QkFBeUI7UUFDaEIsZUFBVSxHQUFHLElB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QXJIUSxlQUFlO2dIQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvY3VzYWJsZUl0ZW1Qb3NpdGlvbiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbnZlcnRUcmVlTGlrZVRvRmxhdExpc3QsIGNyZWF0ZUdyb3VwZWRUYWJsZVJvd3NUcmVlLCBzb3J0VHJlZUxpa2VHcm91cGVkUm93cyB9IGZyb20gJy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkdyb3VwIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUYWJsZVJvdyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBFZGl0YWJsZVRhYmxlQ2VsbCB9IGZyb20gJy4uL3RhYmxlLWNlbGwuY2xhc3MnO1xuXG5leHBvcnQgdHlwZSBUb2dnbGVSb3dNb2RlbCA9XG4gICAgfCB7XG4gICAgICAgICAgdHlwZTogJ3RvZ2dsZVJvdyc7XG4gICAgICAgICAgcm93OiBUYWJsZVJvdztcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgICB0eXBlOiAndG9nZ2xlU2luZ2xlU2VsZWN0YWJsZVJvdyc7XG4gICAgICAgICAgcm93OiBUYWJsZVJvdztcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgICB0eXBlOiAndG9nZ2xlTXVsdGlTZWxlY3RSb3cnO1xuICAgICAgICAgIHJvdzogVGFibGVSb3c7XG4gICAgICAgICAgZXZlbnQ/OiBFdmVudDtcbiAgICAgIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VsbENsaWNrZWRNb2RlbCB7XG4gICAgaW5kZXg6IG51bWJlcjtcbiAgICByb3c6IFRhYmxlUm93O1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGFibGVSb3dTZXJ2aWNlPFQgPSBhbnk+IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RvZ2dsZVJvd1N1YmplY3QgPSBuZXcgU3ViamVjdDxUb2dnbGVSb3dNb2RlbD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfc2Nyb2xsVG9PdmVybGFwcGVkQ2VsbFN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jZWxsQ2xpY2tlZFN1YmplY3QgPSBuZXcgU3ViamVjdDxDZWxsQ2xpY2tlZE1vZGVsPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jZWxsRm9jdXNlZFN1YmplY3QgPSBuZXcgU3ViamVjdDxGb2N1c2FibGVJdGVtUG9zaXRpb24+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RvZ2dsZUFsbFNlbGVjdGFibGVSb3dzU3ViamVjdCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiB0b2dnbGluZyBhbGwgc2VsZWN0YWJsZSByb3dzIGlzIG5lZWRlZC4gKi9cbiAgICByZWFkb25seSB0b2dnbGVBbGxTZWxlY3RhYmxlUm93cyQgPSB0aGlzLl90b2dnbGVBbGxTZWxlY3RhYmxlUm93c1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiB0YWJsZSBjZWxsIGJlaW5nIGNsaWNrZWQuICovXG4gICAgcmVhZG9ubHkgY2VsbENsaWNrZWQkID0gdGhpcy5fY2VsbENsaWNrZWRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gc2Nyb2xsaW5nIHRvIG92ZXJsYXBwZWQgY2VsbCBpcyBuZWVkZWQuICovXG4gICAgcmVhZG9ubHkgc2Nyb2xsVG9PdmVybGFwcGVkQ2VsbCQgPSB0aGlzLl9zY3JvbGxUb092ZXJsYXBwZWRDZWxsU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIC8qKiBTdHJlYW0gdGhhdCBlbWl0cyB3aGVuIHRoZSB0YWJsZSBjZWxsIGJlaW5nIGZvY3VzZWQuICovXG4gICAgcmVhZG9ubHkgY2VsbEZvY3VzZWQkID0gdGhpcy5fY2VsbEZvY3VzZWRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgLyoqIFRvZ2dsZSByb3cgc3RyZWFtLiAqL1xuICAgIHJlYWRvbmx5IHRvZ2dsZVJvdyQgPSB0aGlzLl90b2dnbGVSb3dTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgLyoqIEVkaXRhYmxlIGNlbGxzIG1hcC4gKi9cbiAgICByZWFkb25seSBlZGl0YWJsZUNlbGxzID0gbmV3IE1hcDxUYWJsZVJvdzxhbnk+LCBFZGl0YWJsZVRhYmxlQ2VsbFtdPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBjaGlsZFJvd3NBZGRlZCQgPSBuZXcgU3ViamVjdDx7IHJvdzogVGFibGVSb3c7IHJvd0luZGV4OiBudW1iZXI7IGl0ZW1zOiBUW10gfT4oKTtcblxuICAgIC8qKiBTdHJlYW0gdG8gbG9hZCBjaGlsZCBpdGVtcyBmb3IgYSBwYXJ0aWN1bGFyIHJvd3MuICovXG4gICAgcmVhZG9ubHkgbG9hZENoaWxkUm93cyQgPSBuZXcgU3ViamVjdDxUYWJsZVJvdzxUPltdPigpO1xuXG4gICAgLyoqIGB0b2dnbGVSb3ckYCBzdHJlYW0gdHJpZ2dlci4gKi9cbiAgICB0b2dnbGVSb3coZXZ0OiBUb2dnbGVSb3dNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90b2dnbGVSb3dTdWJqZWN0Lm5leHQoZXZ0KTtcbiAgICB9XG5cbiAgICAvKiogYHNjcm9sbFRvT3ZlcmxhcHBlZENlbGwkYCBzdHJlYW0gdHJpZ2dlci4gKi9cbiAgICBzY3JvbGxUb092ZXJsYXBwZWRDZWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zY3JvbGxUb092ZXJsYXBwZWRDZWxsU3ViamVjdC5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIGBjZWxsQ2xpY2tlZCRgIHN0cmVhbSB0cmlnZ2VyLiAqL1xuICAgIGNlbGxDbGlja2VkKGV2dDogQ2VsbENsaWNrZWRNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jZWxsQ2xpY2tlZFN1YmplY3QubmV4dChldnQpO1xuICAgIH1cblxuICAgIC8qKiBgY2VsbEZvY3VzZWQkYCBzdHJlYW0gdHJpZ2dlci4gKi9cbiAgICBjZWxsRm9jdXNlZChldnQ6IEZvY3VzYWJsZUl0ZW1Qb3NpdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9jZWxsRm9jdXNlZFN1YmplY3QubmV4dChldnQpO1xuICAgIH1cblxuICAgIC8qKiBgdG9nZ2xlQWxsU2VsZWN0YWJsZVJvd3MkYCBzdHJlYW0gdHJpZ2dlci4gKi9cbiAgICB0b2dnbGVBbGxTZWxlY3RhYmxlUm93cyhzZWxlY3RBbGw6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdG9nZ2xlQWxsU2VsZWN0YWJsZVJvd3NTdWJqZWN0Lm5leHQoc2VsZWN0QWxsKTtcbiAgICB9XG5cbiAgICAvKiogR3JvdXBzIHRoZSB0YWJsZSByb3dzLiAqL1xuICAgIGdyb3VwVGFibGVSb3dzKFxuICAgICAgICBzb3VyY2VSb3dzOiBUYWJsZVJvd1tdLFxuICAgICAgICBncm91cHM6IEl0ZXJhYmxlPENvbGxlY3Rpb25Hcm91cD4sXG4gICAgICAgIGdyb3VwUnVsZXNNYXA6IE1hcDxzdHJpbmcsIENvbGxlY3Rpb25Hcm91cD5cbiAgICApOiBUYWJsZVJvd1tdIHtcbiAgICAgICAgY29uc3QgZ3JvdXBSdWxlcyA9IEFycmF5LmZyb20oZ3JvdXBzKTtcblxuICAgICAgICBpZiAoIWdyb3VwUnVsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIEluIGNhc2UgaWYgcHJldmlvdXNseSB3ZSBoYWQgZ3JvdXBzIHdpdGggY29sbGFwc2VkIGl0ZW1zXG4gICAgICAgICAgICAgKiBidXQgbm93IHdlIGRvbid0IGhhdmUgaXQgd2UgbmVlZCB0byByZXNldCByb3cuaGlkZGVuIGZsYWdcbiAgICAgICAgICAgICAqIGluIG9yZGVyIHRvIGF2b2lkIGVtcHR5IHRhYmxlIGFmdGVyIGdyb3VwcyBzZXR0aW5ncyByZW1vdmluZ1xuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBzb3VyY2VSb3dzLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgICAgICAgICAgIHJvdy5oaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHNvdXJjZVJvd3M7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBCdWlsZCB0cmVlIGxpa2UgZ3JvdXBzXG4gICAgICAgIGNvbnN0IHRyZWVMaWtlR3JvdXBlZFJvd3MgPSBjcmVhdGVHcm91cGVkVGFibGVSb3dzVHJlZShncm91cFJ1bGVzLCBzb3VyY2VSb3dzKTtcblxuICAgICAgICAvLyBTb3J0IHRyZWUgbGlrZSBncm91cHNcbiAgICAgICAgY29uc3Qgc29ydGVkVHJlZUxpa2VHcm91cGVkUm93cyA9IHNvcnRUcmVlTGlrZUdyb3VwZWRSb3dzKHRyZWVMaWtlR3JvdXBlZFJvd3MsIGdyb3VwUnVsZXNNYXApO1xuXG4gICAgICAgIC8vIENvbnZlcnQgdHJlZSBsaWtlIGxpc3QgdG8gYSBmbGF0IGxpc3RcbiAgICAgICAgcmV0dXJuIGNvbnZlcnRUcmVlTGlrZVRvRmxhdExpc3Qoc29ydGVkVHJlZUxpa2VHcm91cGVkUm93cyk7XG4gICAgfVxuXG4gICAgLyoqIFNldHMgZWRpdGFibGUgY2VsbHMgZm9yIHBhcnRpY3VsYXIgcm93LiAqL1xuICAgIHVwZGF0ZUVkaXRhYmxlQ2VsbHMocm93OiBUYWJsZVJvdywgY2VsbHM6IEVkaXRhYmxlVGFibGVDZWxsW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0YWJsZUNlbGxzLnNldChyb3csIGNlbGxzKTtcbiAgICB9XG5cbiAgICAvKiogUmVtb3ZlcyBlZGl0YWJsZSBjZWxscyBvZiBwYXJ0aWN1bGFyIHJvdy4gKi9cbiAgICByZW1vdmVFZGl0YWJsZUNlbGxzKHJvdzogVGFibGVSb3cpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0YWJsZUNlbGxzLmRlbGV0ZShyb3cpO1xuICAgIH1cblxuICAgIC8qKiBUcmlnZ2VycyBzdHJlYW0gdG8gbG9hZCBjaGlsZCBpdGVtcyBmb3IgYSBwYXJ0aWN1bGFyIHJvd3MuICovXG4gICAgbG9hZENoaWxkUm93cyhyb3dzOiBUYWJsZVJvdzxUPiB8IFRhYmxlUm93PFQ+W10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZXhwYW5kYWJsZVJvd3M6IFRhYmxlUm93PFQ+W10gPSBbXTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocm93cykpIHtcbiAgICAgICAgICAgIGV4cGFuZGFibGVSb3dzLnB1c2goLi4ucm93cy5maWx0ZXIoKHIpID0+ICFyLmNoaWxkSXRlbXNMb2FkaW5nJC52YWx1ZSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHJvd3MuY2hpbGRJdGVtc0xvYWRpbmckLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXhwYW5kYWJsZVJvd3MucHVzaChyb3dzKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvYWRDaGlsZFJvd3MkLm5leHQoZXhwYW5kYWJsZVJvd3MpO1xuICAgIH1cbn1cbiJdfQ==
@@ -49,9 +49,9 @@ export class TableScrollDispatcherService {
49
49
  this._scrollableSubscriptionsMap.clear();
50
50
  }
51
51
  }
52
- TableScrollDispatcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableScrollDispatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
53
- TableScrollDispatcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableScrollDispatcherService });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableScrollDispatcherService, decorators: [{
52
+ TableScrollDispatcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableScrollDispatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
53
+ TableScrollDispatcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableScrollDispatcherService });
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableScrollDispatcherService, decorators: [{
55
55
  type: Injectable
56
56
  }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2Nyb2xsLWRpc3BhdGNoZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi90YWJsZS1oZWxwZXJzL3NlcnZpY2VzL3RhYmxlLXNjcm9sbC1kaXNwYXRjaGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxjQUFjLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFjLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBK0J6RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBa0Isa0JBQWtCLENBQUMsQ0FBQztBQUd4RixNQUFNLE9BQU8sNEJBQTRCO0lBRHpDO1FBRUksY0FBYztRQUNOLG1CQUFjLEdBQTZCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDakUsY0FBYztRQUNOLDJCQUFzQixHQUE2QixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3pFLGNBQWM7UUFDTiw2QkFBd0IsR0FBNkIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMzRSxjQUFjO1FBQ04sZ0NBQTJCLEdBQXVDLElBQUksR0FBRyxFQUFFLENBQUM7S0E4Q3ZGO0lBNUNHLGNBQWM7SUFDZCxRQUFRLENBQUMsVUFBMkI7UUFDaEMsSUFBSSxJQUFJLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2xELE9BQU87U0FDVjtRQUVELE1BQU0sR0FBRyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RixHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoSCxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU1RyxJQUFJLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsY0FBYztJQUNkLFVBQVUsQ0FBQyxVQUEyQjtRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNuRCxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxvQkFBb0I7SUFDcEIsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsK0JBQStCO0lBQy9CLG9CQUFvQjtRQUNoQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQsNkJBQTZCO0lBQzdCLGtCQUFrQjtRQUNkLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVztRQUNQLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUU1RyxJQUFJLENBQUMsMkJBQTJCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0MsQ0FBQzs7eUhBckRRLDRCQUE0Qjs2SEFBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVNjcm9sbGFibGUge1xuICAgIC8qKiBSZXR1cm5zIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGEgc2Nyb2xsIGV2ZW50IGlzIGZpcmVkIG9uIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgZ2V0U2Nyb2xsU3RyZWFtKCk6IE9ic2VydmFibGU8RXZlbnQ+O1xuXG4gICAgLyoqIFJldHVybnMgb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHdoZW4gYSB2ZXJ0aWNhbCBzY3JvbGwgZXZlbnQgaXMgaGFwcGVuZWQgb24gdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBnZXRWZXJ0aWNhbFNjcm9sbFN0cmVhbSgpOiBPYnNlcnZhYmxlPEV2ZW50PjtcblxuICAgIC8qKiBSZXR1cm5zIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGEgaG9yaXpvbnRhbCBzY3JvbGwgZXZlbnQgaXMgaGFwcGVuZWQgb24gdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBnZXRIb3Jpem9udGFsU2Nyb2xsU3RyZWFtKCk6IE9ic2VydmFibGU8RXZlbnQ+O1xuXG4gICAgLyoqIFJldHVybnMgc2Nyb2xsVG9wIHBvc2l0aW9uIG9mIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgZ2V0U2Nyb2xsVG9wKCk6IG51bWJlcjtcblxuICAgIC8qKiBSZXR1cm5zIHNjcm9sbExlZnQgcG9zaXRpb24gb2YgdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBnZXRTY3JvbGxMZWZ0KCk6IG51bWJlcjtcblxuICAgIC8qKiBTZXQgc2Nyb2xsVG9wIHBvc2l0aW9uIG9mIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgc2V0U2Nyb2xsVG9wKHNjcm9sbFRvcDogbnVtYmVyLCBlbWl0RXZlbnQ6IGJvb2xlYW4pOiB2b2lkO1xuXG4gICAgLyoqIFNldCBzY3JvbGxMZWZ0IHBvc2l0aW9uIG9mIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgc2V0U2Nyb2xsTGVmdChzY3JvbGxMZWZ0OiBudW1iZXIsIGVtaXRFdmVudDogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICAvKiogR2V0IHNjcm9sbGFibGUgRWxlbWVudFJlZiBvZi4gKi9cbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKiBTY3JvbGxzIHRvIG92ZXJsYXBwZWQgY2VsbC4gKi9cbiAgICBzY3JvbGxUb092ZXJsYXBwZWRDZWxsKHJ0bDogYm9vbGVhbiwgZnJlZXphYmxlQ29sdW1uc1NpemU6IG51bWJlciwgZnJlZXphYmxlRW5kQ29sdW1uU2l6ZTogbnVtYmVyKTogdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IFRBQkxFX1NDUk9MTEFCTEUgPSBuZXcgSW5qZWN0aW9uVG9rZW48VGFibGVTY3JvbGxhYmxlPignVGFibGUgU2Nyb2xsYWJsZScpO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGFibGVTY3JvbGxEaXNwYXRjaGVyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zY3JvbGxTdWJqZWN0OiBTdWJqZWN0PFRhYmxlU2Nyb2xsYWJsZT4gPSBuZXcgU3ViamVjdCgpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdmVydGljYWxTY3JvbGxTdWJqZWN0OiBTdWJqZWN0PFRhYmxlU2Nyb2xsYWJsZT4gPSBuZXcgU3ViamVjdCgpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaG9yaXpvbnRhbFNjcm9sbFN1YmplY3Q6IFN1YmplY3Q8VGFibGVTY3JvbGxhYmxlPiA9IG5ldyBTdWJqZWN0KCk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zY3JvbGxhYmxlU3Vic2NyaXB0aW9uc01hcDogTWFwPFRhYmxlU2Nyb2xsYWJsZSwgU3Vic2NyaXB0aW9uPiA9IG5ldyBNYXAoKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVnaXN0ZXIoc2Nyb2xsYWJsZTogVGFibGVTY3JvbGxhYmxlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zY3JvbGxhYmxlU3Vic2NyaXB0aW9uc01hcC5oYXMoc2Nyb2xsYWJsZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN1YiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgc3ViLmFkZChzY3JvbGxhYmxlLmdldFNjcm9sbFN0cmVhbSgpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9zY3JvbGxTdWJqZWN0Lm5leHQoc2Nyb2xsYWJsZSkpKTtcbiAgICAgICAgc3ViLmFkZChzY3JvbGxhYmxlLmdldEhvcml6b250YWxTY3JvbGxTdHJlYW0oKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5faG9yaXpvbnRhbFNjcm9sbFN1YmplY3QubmV4dChzY3JvbGxhYmxlKSkpO1xuICAgICAgICBzdWIuYWRkKHNjcm9sbGFibGUuZ2V0VmVydGljYWxTY3JvbGxTdHJlYW0oKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fdmVydGljYWxTY3JvbGxTdWJqZWN0Lm5leHQoc2Nyb2xsYWJsZSkpKTtcblxuICAgICAgICB0aGlzLl9zY3JvbGxhYmxlU3Vic2NyaXB0aW9uc01hcC5zZXQoc2Nyb2xsYWJsZSwgc3ViKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGRlcmVnaXN0ZXIoc2Nyb2xsYWJsZTogVGFibGVTY3JvbGxhYmxlKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fc2Nyb2xsYWJsZVN1YnNjcmlwdGlvbnNNYXAuaGFzKHNjcm9sbGFibGUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zY3JvbGxhYmxlU3Vic2NyaXB0aW9uc01hcC5nZXQoc2Nyb2xsYWJsZSk/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIFNjcm9sbCBzdHJlYW0gKi9cbiAgICBzY3JvbGxlZCgpOiBPYnNlcnZhYmxlPFRhYmxlU2Nyb2xsYWJsZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKiogSG9yaXpvbnRhbCBzY3JvbGwgc3RyZWFtICovXG4gICAgaG9yaXpvbnRhbGx5U2Nyb2xsZWQoKTogT2JzZXJ2YWJsZTxUYWJsZVNjcm9sbGFibGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hvcml6b250YWxTY3JvbGxTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKiBWZXJ0aWNhbCBzY3JvbGwgc3RyZWFtICovXG4gICAgdmVydGljYWxseVNjcm9sbGVkKCk6IE9ic2VydmFibGU8VGFibGVTY3JvbGxhYmxlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl92ZXJ0aWNhbFNjcm9sbFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgQXJyYXkuZnJvbSh0aGlzLl9zY3JvbGxhYmxlU3Vic2NyaXB0aW9uc01hcC52YWx1ZXMoKSkuZm9yRWFjaCgoc3Vic2NyaXB0aW9uKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG5cbiAgICAgICAgdGhpcy5fc2Nyb2xsYWJsZVN1YnNjcmlwdGlvbnNNYXAuY2xlYXIoKTtcbiAgICB9XG59XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2Nyb2xsLWRpc3BhdGNoZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi90YWJsZS1oZWxwZXJzL3NlcnZpY2VzL3RhYmxlLXNjcm9sbC1kaXNwYXRjaGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxjQUFjLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFjLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBa0N6RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBa0Isa0JBQWtCLENBQUMsQ0FBQztBQUd4RixNQUFNLE9BQU8sNEJBQTRCO0lBRHpDO1FBRUksY0FBYztRQUNOLG1CQUFjLEdBQTZCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDakUsY0FBYztRQUNOLDJCQUFzQixHQUE2QixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3pFLGNBQWM7UUFDTiw2QkFBd0IsR0FBNkIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMzRSxjQUFjO1FBQ04sZ0NBQTJCLEdBQXVDLElBQUksR0FBRyxFQUFFLENBQUM7S0E4Q3ZGO0lBNUNHLGNBQWM7SUFDZCxRQUFRLENBQUMsVUFBMkI7UUFDaEMsSUFBSSxJQUFJLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2xELE9BQU87U0FDVjtRQUVELE1BQU0sR0FBRyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RixHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoSCxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU1RyxJQUFJLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsY0FBYztJQUNkLFVBQVUsQ0FBQyxVQUEyQjtRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNuRCxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxvQkFBb0I7SUFDcEIsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsK0JBQStCO0lBQy9CLG9CQUFvQjtRQUNoQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQsNkJBQTZCO0lBQzdCLGtCQUFrQjtRQUNkLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVztRQUNQLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUU1RyxJQUFJLENBQUMsMkJBQTJCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0MsQ0FBQzs7eUhBckRRLDRCQUE0Qjs2SEFBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVNjcm9sbGFibGUge1xuICAgIC8qKiBSZXR1cm5zIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGEgc2Nyb2xsIGV2ZW50IGlzIGZpcmVkIG9uIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgZ2V0U2Nyb2xsU3RyZWFtKCk6IE9ic2VydmFibGU8RXZlbnQ+O1xuXG4gICAgLyoqIFJldHVybnMgb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHdoZW4gYSB2ZXJ0aWNhbCBzY3JvbGwgZXZlbnQgaXMgaGFwcGVuZWQgb24gdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBnZXRWZXJ0aWNhbFNjcm9sbFN0cmVhbSgpOiBPYnNlcnZhYmxlPEV2ZW50PjtcblxuICAgIC8qKiBSZXR1cm5zIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGEgaG9yaXpvbnRhbCBzY3JvbGwgZXZlbnQgaXMgaGFwcGVuZWQgb24gdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBnZXRIb3Jpem9udGFsU2Nyb2xsU3RyZWFtKCk6IE9ic2VydmFibGU8RXZlbnQ+O1xuXG4gICAgLyoqIFJldHVybnMgc2Nyb2xsVG9wIHBvc2l0aW9uIG9mIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgZ2V0U2Nyb2xsVG9wKCk6IG51bWJlcjtcblxuICAgIC8qKiBSZXR1cm5zIHNjcm9sbExlZnQgcG9zaXRpb24gb2YgdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBnZXRTY3JvbGxMZWZ0KCk6IG51bWJlcjtcblxuICAgIC8qKiBTZXQgc2Nyb2xsVG9wIHBvc2l0aW9uIG9mIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgc2V0U2Nyb2xsVG9wKHNjcm9sbFRvcDogbnVtYmVyLCBlbWl0RXZlbnQ6IGJvb2xlYW4pOiB2b2lkO1xuXG4gICAgLyoqIFNldCBzY3JvbGxMZWZ0IHBvc2l0aW9uIG9mIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgc2V0U2Nyb2xsTGVmdChzY3JvbGxMZWZ0OiBudW1iZXIsIGVtaXRFdmVudDogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICAvKiogR2V0IHNjcm9sbGFibGUgRWxlbWVudFJlZiBvZi4gKi9cbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKiBTY3JvbGxzIHRvIG92ZXJsYXBwZWQgY2VsbC4gKi9cbiAgICBzY3JvbGxUb092ZXJsYXBwZWRDZWxsKHJ0bDogYm9vbGVhbiwgZnJlZXphYmxlQ29sdW1uc1NpemU6IG51bWJlciwgZnJlZXphYmxlRW5kQ29sdW1uU2l6ZTogbnVtYmVyKTogdm9pZDtcblxuICAgIC8qKiBTZXQgU2Nyb2xsIFBvc2l0aW9uIGR1cmluZyBjb21wb25lbnQgaW5pdGlhbGl6YXRpb24uICovXG4gICAgaW5pdGlhbGl6ZVNjcm9sbFRvcChzY3JvbGxUb3A6IG51bWJlcik6IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBUQUJMRV9TQ1JPTExBQkxFID0gbmV3IEluamVjdGlvblRva2VuPFRhYmxlU2Nyb2xsYWJsZT4oJ1RhYmxlIFNjcm9sbGFibGUnKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2Nyb2xsU3ViamVjdDogU3ViamVjdDxUYWJsZVNjcm9sbGFibGU+ID0gbmV3IFN1YmplY3QoKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3ZlcnRpY2FsU2Nyb2xsU3ViamVjdDogU3ViamVjdDxUYWJsZVNjcm9sbGFibGU+ID0gbmV3IFN1YmplY3QoKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hvcml6b250YWxTY3JvbGxTdWJqZWN0OiBTdWJqZWN0PFRhYmxlU2Nyb2xsYWJsZT4gPSBuZXcgU3ViamVjdCgpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2Nyb2xsYWJsZVN1YnNjcmlwdGlvbnNNYXA6IE1hcDxUYWJsZVNjcm9sbGFibGUsIFN1YnNjcmlwdGlvbj4gPSBuZXcgTWFwKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlZ2lzdGVyKHNjcm9sbGFibGU6IFRhYmxlU2Nyb2xsYWJsZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc2Nyb2xsYWJsZVN1YnNjcmlwdGlvbnNNYXAuaGFzKHNjcm9sbGFibGUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgIHN1Yi5hZGQoc2Nyb2xsYWJsZS5nZXRTY3JvbGxTdHJlYW0oKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fc2Nyb2xsU3ViamVjdC5uZXh0KHNjcm9sbGFibGUpKSk7XG4gICAgICAgIHN1Yi5hZGQoc2Nyb2xsYWJsZS5nZXRIb3Jpem9udGFsU2Nyb2xsU3RyZWFtKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2hvcml6b250YWxTY3JvbGxTdWJqZWN0Lm5leHQoc2Nyb2xsYWJsZSkpKTtcbiAgICAgICAgc3ViLmFkZChzY3JvbGxhYmxlLmdldFZlcnRpY2FsU2Nyb2xsU3RyZWFtKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3ZlcnRpY2FsU2Nyb2xsU3ViamVjdC5uZXh0KHNjcm9sbGFibGUpKSk7XG5cbiAgICAgICAgdGhpcy5fc2Nyb2xsYWJsZVN1YnNjcmlwdGlvbnNNYXAuc2V0KHNjcm9sbGFibGUsIHN1Yik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBkZXJlZ2lzdGVyKHNjcm9sbGFibGU6IFRhYmxlU2Nyb2xsYWJsZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX3Njcm9sbGFibGVTdWJzY3JpcHRpb25zTWFwLmhhcyhzY3JvbGxhYmxlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fc2Nyb2xsYWJsZVN1YnNjcmlwdGlvbnNNYXAuZ2V0KHNjcm9sbGFibGUpPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBTY3JvbGwgc3RyZWFtICovXG4gICAgc2Nyb2xsZWQoKTogT2JzZXJ2YWJsZTxUYWJsZVNjcm9sbGFibGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Njcm9sbFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqIEhvcml6b250YWwgc2Nyb2xsIHN0cmVhbSAqL1xuICAgIGhvcml6b250YWxseVNjcm9sbGVkKCk6IE9ic2VydmFibGU8VGFibGVTY3JvbGxhYmxlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ob3Jpem9udGFsU2Nyb2xsU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKiogVmVydGljYWwgc2Nyb2xsIHN0cmVhbSAqL1xuICAgIHZlcnRpY2FsbHlTY3JvbGxlZCgpOiBPYnNlcnZhYmxlPFRhYmxlU2Nyb2xsYWJsZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmVydGljYWxTY3JvbGxTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIEFycmF5LmZyb20odGhpcy5fc2Nyb2xsYWJsZVN1YnNjcmlwdGlvbnNNYXAudmFsdWVzKCkpLmZvckVhY2goKHN1YnNjcmlwdGlvbikgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuXG4gICAgICAgIHRoaXMuX3Njcm9sbGFibGVTdWJzY3JpcHRpb25zTWFwLmNsZWFyKCk7XG4gICAgfVxufVxuIl19
@@ -102,6 +102,7 @@ export class TableService {
102
102
  const state = { ...prevState, sortBy: newSortRules };
103
103
  if (!equal(prevSortRules, state.sortBy)) {
104
104
  this.setTableState(setCurrentPageToState(state, 1));
105
+ this.buildSortRulesMap();
105
106
  const evt = { current: state.sortBy, previous: prevSortRules };
106
107
  this.needFetch$.next();
107
108
  this.stateChange$.next({ type: 'sort', state: evt });
@@ -265,7 +266,8 @@ export class TableService {
265
266
  page: {
266
267
  pageSize: 0,
267
268
  currentPage: 1
268
- }
269
+ },
270
+ scrollTopPosition: 0
269
271
  };
270
272
  }
271
273
  /**
@@ -322,13 +324,13 @@ export class TableService {
322
324
  this.buildFilterRulesMap();
323
325
  }
324
326
  }
325
- TableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
326
- TableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableService });
327
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableService, decorators: [{
327
+ TableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
328
+ TableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableService });
329
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableService, decorators: [{
328
330
  type: Injectable
329
331
  }] });
330
332
  function setCurrentPageToState(state, currentPage) {
331
333
  const newPageState = { ...state.page, currentPage };
332
334
  return { ...state, page: newPageState };
333
335
  }
334
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi90YWJsZS1oZWxwZXJzL3NlcnZpY2VzL3RhYmxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEtBQUssTUFBTSxpQkFBaUIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQWdDbkQsTUFBTSxPQUFPLFlBQVk7SUFEekI7UUFFSSwwQkFBMEI7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2hFLGNBQWM7UUFDTCwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNsRSxjQUFjO1FBQ0wsb0NBQStCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDL0UsY0FBYztRQUNMLDhCQUF5QixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3pFLGNBQWM7UUFDTCxzQ0FBaUMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRSw4QkFBOEI7UUFDckIsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFDbEUsOEJBQThCO1FBQzlCLHlCQUFvQixHQUFHLENBQUMsQ0FBQztRQUN6Qiw4QkFBOEI7UUFDckIsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFDbEUsOEJBQThCO1FBQzlCLDBCQUFxQixHQUFHLENB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QUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDL0IsQ0FBQzs7eUdBN1hRLFlBQVk7NkdBQVosWUFBWTsyRkFBWixZQUFZO2tCQUR4QixVQUFVOztBQWlZWCxTQUFTLHFCQUFxQixDQUFDLEtBQWlCLEVBQUUsV0FBbUI7SUFDakUsTUFBTSxZQUFZLEdBQW1CLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3BFLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7QUFDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlYXJjaElucHV0IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zZWFyY2gtZmllbGQnO1xuaW1wb3J0IGVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNraXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBERUZBVUxUX1RBQkxFX1NUQVRFIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuaW1wb3J0IHsgQ29sbGVjdGlvbkZpbHRlciwgQ29sbGVjdGlvbkdyb3VwLCBDb2xsZWN0aW9uUGFnZSwgQ29sbGVjdGlvblNvcnQsIFRhYmxlU3RhdGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gICAgQ29sdW1uc0NoYW5nZSxcbiAgICBGaWx0ZXJDaGFuZ2UsXG4gICAgRnJlZXplQ2hhbmdlLFxuICAgIEdyb3VwQ2hhbmdlLFxuICAgIFBhZ2VDaGFuZ2UsXG4gICAgU2VhcmNoQ2hhbmdlLFxuICAgIFNvcnRDaGFuZ2Vcbn0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vdGFibGUtY29sdW1uJztcblxuZXhwb3J0IHR5cGUgVGFibGVTdGF0ZUNoYW5nZSA9XG4gICAgfCBUYWJsZVN0YXRlUHJvcGVydHk8J3NvcnQnLCBTb3J0Q2hhbmdlPlxuICAgIHwgVGFibGVTdGF0ZVByb3BlcnR5PCdwYWdlJywgUGFnZUNoYW5nZT5cbiAgICB8IFRhYmxlU3RhdGVQcm9wZXJ0eTwnZmlsdGVyJywgRmlsdGVyQ2hhbmdlPlxuICAgIHwgVGFibGVTdGF0ZVByb3BlcnR5PCdncm91cCcsIEdyb3VwQ2hhbmdlPlxuICAgIHwgVGFibGVTdGF0ZVByb3BlcnR5PCdmcmVlemUnLCBGcmVlemVDaGFuZ2U+XG4gICAgfCBUYWJsZVN0YXRlUHJvcGVydHk8J2NvbHVtbnMnLCBDb2x1bW5zQ2hhbmdlPlxuICAgIHwgVGFibGVTdGF0ZVByb3BlcnR5PCdzZWFyY2gnLCBTZWFyY2hDaGFuZ2U+O1xuXG5leHBvcnQgdHlwZSBUYWJsZVN0YXRlUHJvcGVydHk8XG4gICAgVCA9ICdzb3J0JyB8ICdwYWdlJyB8ICdmaWx0ZXInIHwgJ2dyb3VwJyB8ICdmcmVlemUnIHwgJ2NvbHVtbnMnIHwgJ3NlYXJjaCcsXG4gICAgUCA9IFNvcnRDaGFuZ2UgfCBQYWdlQ2hhbmdlIHwgRmlsdGVyQ2hhbmdlIHwgR3JvdXBDaGFuZ2UgfCBGcmVlemVDaGFuZ2UgfCBDb2x1bW5zQ2hhbmdlXG4+ID0ge1xuICAgIHR5cGU6IFQ7XG4gICAgc3RhdGU6IFA7XG59O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGFibGVTZXJ2aWNlIHtcbiAgICAvKiogVGFibGUgc3RhdGUgc3RyZWFtLiAqL1xuICAgIHJlYWRvbmx5IHRhYmxlU3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChERUZBVUxUX1RBQkxFX1NUQVRFKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IF9zZW1hbnRpY0hpZ2hsaWdodGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX2lzRmlsdGVyaW5nRnJvbUhlYWRlckRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX2lzU2hvd25OYXZpZ2F0aW9uQ29sdW1uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX3NlbWFudGljSGlnaGxpZ2h0aW5nQ29sdW1uV2lkdGgkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcbiAgICAvKiogVmlzaWJsZSBjb2x1bW5zIHN0cmVhbS4gKi9cbiAgICByZWFkb25seSB2aXNpYmxlQ29sdW1ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRhYmxlQ29sdW1uW10+KFtdKTtcbiAgICAvKiogVmlzaWJsZSBjb2x1bW5zIGxlbmd0aC4gKi9cbiAgICB2aXNpYmxlQ29sdW1uc0xlbmd0aCA9IDA7XG4gICAgLyoqIFBvcHBpbmcgY29sdW1ucyBzdHJlYW0uICovXG4gICAgcmVhZG9ubHkgcG9wcGluZ0NvbHVtbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUYWJsZUNvbHVtbltdPihbXSk7XG4gICAgLyoqIFBvcHBpbmcgY29sdW1ucyBsZW5ndGguICovXG4gICAgX3BvcHBpbmdDb2x1bW5zTGVuZ3RoID0gMDtcbiAgICAvKiogVGFibGUgY29sdW1ucyBzdHJlYW0uICovXG4gICAgcmVhZG9ubHkgdGFibGVDb2x1bW5zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFibGVDb2x1bW5bXT4oW10pO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgdGFibGVTdGF0ZUNoYW5nZXMkID0gdGhpcy50YWJsZVN0YXRlJC5waXBlKHNraXAoMSkpO1xuICAgIC8qKiBTdHJlYW0gdGhhdCBlbWl0cyB3aGVuIHNlYXJjaCBzdGF0ZSBjaGFuZ2VzLiAqL1xuICAgIHJlYWRvbmx5IHNlYXJjaENoYW5nZSQgPSBuZXcgU3ViamVjdDxTZWFyY2hDaGFuZ2U+KCk7XG4gICAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gc29ydCBzdGF0ZSBjaGFuZ2VzLiAqL1xuICAgIHJlYWRvbmx5IHNvcnRDaGFuZ2UkID0gbmV3IFN1YmplY3Q8U29ydENoYW5nZT4oKTtcbiAgICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiBmaWx0ZXIgc3RhdGUgY2hhbmdlcy4gKi9cbiAgICByZWFkb25seSBmaWx0ZXJDaGFuZ2UkID0gbmV3IFN1YmplY3Q8RmlsdGVyQ2hhbmdlPigpO1xuICAgIC8qKiBTdHJlYW0gdGhhdCBlbWl0cyB3aGVuIGdyb3VwIHN0YXRlIGNoYW5nZXMuICovXG4gICAgcmVhZG9ubHkgZ3JvdXBDaGFuZ2UkID0gbmV3IFN1YmplY3Q8R3JvdXBDaGFuZ2U+KCk7XG4gICAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gZnJlZXplIHN0YXRlIGNoYW5nZXMuICovXG4gICAgcmVhZG9ubHkgZnJlZXplQ2hhbmdlJCA9IG5ldyBTdWJqZWN0PEZyZWV6ZUNoYW5nZT4oKTtcbiAgICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiBjb2x1bW5zIHN0YXRlIGNoYW5nZXMuICovXG4gICAgcmVhZG9ubHkgY29sdW1uc0NoYW5nZSQgPSBuZXcgU3ViamVjdDxDb2x1bW5zQ2hhbmdlPigpO1xuICAgIC8qKiBTdHJlYW0gdGhhdCBlbWl0cyB3aGVuIHBhZ2Ugc3RhdGUgY2hhbmdlcy4gKi9cbiAgICByZWFkb25seSBwYWdlQ2hhbmdlJCA9IG5ldyBTdWJqZWN0PFBhZ2VDaGFuZ2U+KCk7XG4gICAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gbmV3IGZldGNoIG9mIGRhdGEgaXMgbmVlZGVkLiAqL1xuICAgIHJlYWRvbmx5IG5lZWRGZXRjaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgc3RhdGVDaGFuZ2UkID0gbmV3IFN1YmplY3Q8VGFibGVTdGF0ZUNoYW5nZT4oKTtcbiAgICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiBsb2FkaW5nIHN0YXRlIGNoYW5nZXMuICovXG4gICAgcmVhZG9ubHkgdGFibGVMb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIC8qKiBMaXN0ZW4gZm9yIHNvZnQgY2hhbmdlcyBpbiB0YWJsZSBzdWJjb21wb25lbnRzIChtb3N0bHkgdGFibGUgY29sdW1uKSAqL1xuICAgIHJlYWRvbmx5IG1hcmtGb3JDaGVjayQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIC8qKiBMaXN0ZW4gZm9yIGltbWVkaWF0ZSBjaGFuZ2VzIGluIHRhYmxlIHN1YmNvbXBvbmVudHMgKG1vc3RseSB0YWJsZSBjb2x1bW4pICovXG4gICAgcmVhZG9ubHkgZGV0ZWN0Q2hhbmdlcyQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIC8qKiBTb3J0IHJ1bGVzIHN0cmVhbS4gKi9cbiAgICByZWFkb25seSBzb3J0UnVsZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXA8c3RyaW5nLCBDb2xsZWN0aW9uU29ydD4+KG5ldyBNYXAoKSk7XG4gICAgLyoqXG4gICAgICogRmlsdGVyIFJ1bGVzIE1hcCBzdHJlYW0uIFdoZXJlIGtleSBpcyBjb2x1bW4ga2V5LCBhbmQgdmFsdWUgaXMgdGhlIGFzc29jaWF0ZWQgZmlsdGVyIHJ1bGVzLlxuICAgICAqIE1hbnkgZmlsdGVycyBjYW4gYmUgYXBwbGllZCB0byBvbmUgY29sdW1uLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGZpbHRlclJ1bGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWFwPHN0cmluZywgQ29sbGVjdGlvbkZpbHRlcltdPj4obmV3IE1hcCgpKTtcblxuICAgIC8qKlxuICAgICAqIEdyb3VwIFJ1bGVzIE1hcCBzdHJlYW0uIFdoZXJlIGtleSBpcyBjb2x1bW4ga2V5IGFuZCB2YWx1ZSBpcyBhc3NvY2lhdGVkIGdyb3VwIHJ1bGVcbiAgICAgKi9cbiAgICByZWFkb25seSBncm91cFJ1bGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWFwPHN0cmluZywgQ29sbGVjdGlvbkdyb3VwPj4obmV3IE1hcCgpKTtcblxuICAgIC8qKiBHZXQgY3VycmVudCBzdGF0ZS9zZXR0aW5ncyBvZiB0aGUgVGFibGUuICovXG4gICAgZ2V0VGFibGVTdGF0ZSgpOiBUYWJsZVN0YXRlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVTdGF0ZSQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICAvKiogU2V0IGN1cnJlbnQgc3RhdGUvc2V0dGluZ3Mgb2YgdGhlIFRhYmxlLiAqL1xuICAgIHNldFRhYmxlU3RhdGUoc3RhdGU6IFRhYmxlU3RhdGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWJsZVN0YXRlJC5uZXh0KHN0YXRlKTtcbiAgICB9XG5cbiAgICAvKiogU2V0IGN1cnJlbnQgbG9hZGluZyBzdGF0ZSBvZiB0aGUgVGFibGUuICovXG4gICAgc2V0VGFibGVMb2FkaW5nKGlzTG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYmxlTG9hZGluZyQubmV4dChpc0xvYWRpbmcpO1xuICAgIH1cblxuICAgIC8qKiBOb3RpZnkgYWJvdXQgY2hhbmdlcyBpbiB0YWJsZSBzdWJjb21wb25lbnRzIChtb3N0bHkgdGFibGUgY29sdW1uKSBhbmQgZGV0ZWN0IHRoZW0gb24gbmV4dCBkZXRlY3RvciBjaGVjay4gKi9cbiAgICBtYXJrRm9yQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWFya0ZvckNoZWNrJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIE5vdGlmeSBhYm91dCBjaGFuZ2VzIGluIHRhYmxlIHN1YmNvbXBvbmVudHMgKG1vc3RseSB0YWJsZSBjb2x1bW4pIGFuZCBkZXRlY3QgdGhlbSBpbW1lZGlhdGVseS4gKi9cbiAgICBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRldGVjdENoYW5nZXMkLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogU2VhcmNoICovXG4gICAgc2VhcmNoKHNlYXJjaElucHV0OiBTZWFyY2hJbnB1dCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcblxuICAgICAgICBjb25zdCBzdGF0ZTogVGFibGVTdGF0ZSA9IHsgLi4ucHJldlN0YXRlLCBzZWFyY2hJbnB1dCB9O1xuXG4gICAgICAgIHRoaXMuc2V0VGFibGVTdGF0ZShzZXRDdXJyZW50UGFnZVRvU3RhdGUoc3RhdGUsIDEpKTtcblxuICAgICAgICBjb25zdCBldnQgPSB7IGN1cnJlbnQ6IHNlYXJjaElucHV0LCBwcmV2aW91czogcHJldlN0YXRlLnNlYXJjaElucHV0IH07XG5cbiAgICAgICAgdGhpcy5uZWVkRmV0Y2gkLm5leHQoKTtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZSQubmV4dCh7IHR5cGU6ICdzZWFyY2gnLCBzdGF0ZTogZXZ0IH0pO1xuICAgICAgICB0aGlzLnNlYXJjaENoYW5nZSQubmV4dChldnQpO1xuICAgIH1cblxuICAgIC8qKiBTZXQgbmV3IHNvcnQgcnVsZXMgKi9cbiAgICBzZXRTb3J0KHNvcnRSdWxlczogQ29sbGVjdGlvblNvcnRbXSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgY29uc3QgcHJldlNvcnRSdWxlcyA9IChwcmV2U3RhdGUgJiYgcHJldlN0YXRlLnNvcnRCeSkgfHwgW107XG5cbiAgICAgICAgY29uc3QgbmV3U29ydFJ1bGVzOiBDb2xsZWN0aW9uU29ydFtdID0gc29ydFJ1bGVzID8gWy4uLnNvcnRSdWxlc10gOiBbXTtcblxuICAgICAgICBjb25zdCBzdGF0ZTogVGFibGVTdGF0ZSA9IHsgLi4ucHJldlN0YXRlLCBzb3J0Qnk6IG5ld1NvcnRSdWxlcyB9O1xuXG4gICAgICAgIGlmICghZXF1YWwocHJldlNvcnRSdWxlcywgc3RhdGUuc29ydEJ5KSkge1xuICAgICAgICAgICAgdGhpcy5zZXRUYWJsZVN0YXRlKHNldEN1cnJlbnRQYWdlVG9TdGF0ZShzdGF0ZSwgMSkpO1xuICAgICAgICAgICAgY29uc3QgZXZ0ID0geyBjdXJyZW50OiBzdGF0ZS5zb3J0QnksIHByZXZpb3VzOiBwcmV2U29ydFJ1bGVzIH07XG5cbiAgICAgICAgICAgIHRoaXMubmVlZEZldGNoJC5uZXh0KCk7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlJC5uZXh0KHsgdHlwZTogJ3NvcnQnLCBzdGF0ZTogZXZ0IH0pO1xuICAgICAgICAgICAgdGhpcy5zb3J0Q2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQWRkIHNvcnQgcnVsZXMgdG8gdGhlIGV4aXN0aW5nIG9uZXMgKi9cbiAgICBhZGRTb3J0KHNvcnRSdWxlczogQ29sbGVjdGlvblNvcnRbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgY29uc3QgcHJldlNvcnRSdWxlcyA9IChwcmV2U3RhdGUgJiYgcHJldlN0YXRlLnNvcnRCeSkgfHwgW107XG5cbiAgICAgICAgY29uc3QgbmV3U29ydFJ1bGVzOiBDb2xsZWN0aW9uU29ydFtdID0gW1xuICAgICAgICAgICAgLi4ucHJldlNvcnRSdWxlcy5maWx0ZXIoKGV4aXN0aW5nKSA9PiAhc29ydFJ1bGVzLmZpbmQoKHsgZmllbGQgfSkgPT4gZmllbGQgPT09IGV4aXN0aW5nLmZpZWxkKSksXG4gICAgICAgICAgICAuLi5zb3J0UnVsZXNcbiAgICAgICAgXTtcblxuICAgICAgICBjb25zdCBzdGF0ZTogVGFibGVTdGF0ZSA9IHsgLi4ucHJldlN0YXRlLCBzb3J0Qnk6IG5ld1NvcnRSdWxlcyB9O1xuXG4gICAgICAgIGlmICghZXF1YWwocHJldlNvcnRSdWxlcywgc3RhdGUuc29ydEJ5KSkge1xuICAgICAgICAgICAgdGhpcy5zZXRUYWJsZVN0YXRlKHNldEN1cnJlbnRQYWdlVG9TdGF0ZShzdGF0ZSwgMSkpO1xuICAgICAgICAgICAgY29uc3QgZXZ0ID0geyBjdXJyZW50OiBzdGF0ZS5zb3J0QnksIHByZXZpb3VzOiBwcmV2U29ydFJ1bGVzIH07XG4gICAgICAgICAgICB0aGlzLmJ1aWxkU29ydFJ1bGVzTWFwKCk7XG5cbiAgICAgICAgICAgIHRoaXMubmVlZEZldGNoJC5uZXh0KCk7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlJC5uZXh0KHsgdHlwZTogJ3NvcnQnLCBzdGF0ZTogZXZ0IH0pO1xuICAgICAgICAgICAgdGhpcy5zb3J0Q2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogU2V0IG5ldyBzb3J0IHJ1bGVzICovXG4gICAgc2V0RmlsdGVycyhmaWx0ZXJSdWxlczogQ29sbGVjdGlvbkZpbHRlcltdIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwcmV2RmlsdGVyUnVsZXMgPSAocHJldlN0YXRlICYmIHByZXZTdGF0ZS5maWx0ZXJCeSkgfHwgW107XG5cbiAgICAgICAgY29uc3QgbmV3RmlsdGVyUnVsZXM6IENvbGxlY3Rpb25GaWx0ZXJbXSA9IGZpbHRlclJ1bGVzID8gWy4uLmZpbHRlclJ1bGVzXSA6IFtdO1xuICAgICAgICBjb25zdCBzdGF0ZTogVGFibGVTdGF0ZSA9IHsgLi4ucHJldlN0YXRlLCBmaWx0ZXJCeTogbmV3RmlsdGVyUnVsZXMgfTtcblxuICAgICAgICBpZiAoIWVxdWFsKHByZXZGaWx0ZXJSdWxlcywgc3RhdGUuZmlsdGVyQnkpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlU3RhdGUoc2V0Q3VycmVudFBhZ2VUb1N0YXRlKHN0YXRlLCAxKSk7XG4gICAgICAgICAgICBjb25zdCBldnQgPSB7IGN1cnJlbnQ6IHN0YXRlLmZpbHRlckJ5LCBwcmV2aW91czogcHJldkZpbHRlclJ1bGVzIH07XG5cbiAgICAgICAgICAgIHRoaXMuYnVpbGRGaWx0ZXJSdWxlc01hcCgpO1xuICAgICAgICAgICAgdGhpcy5uZWVkRmV0Y2gkLm5leHQoKTtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UkLm5leHQoeyB0eXBlOiAnZmlsdGVyJywgc3RhdGU6IGV2dCB9KTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyQ2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQWRkIGZpbHRlciBydWxlcyB0byB0aGUgZXhpc3Rpbmcgb25lcyAqL1xuICAgIGFkZEZpbHRlcnMocnVsZXNUb0FkZDogQ29sbGVjdGlvbkZpbHRlcltdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwcmV2RmlsdGVyUnVsZXMgPSAocHJldlN0YXRlICYmIHByZXZTdGF0ZS5maWx0ZXJCeSkgfHwgW107XG5cbiAgICAgICAgY29uc3QgbmV3RmlsdGVyUnVsZXM6IENvbGxlY3Rpb25GaWx0ZXJbXSA9IFtcbiAgICAgICAgICAgIC4uLnByZXZGaWx0ZXJSdWxlcy5maWx0ZXIoKGV4aXN0aW5nKSA9PiAhcnVsZXNUb0FkZC5maW5kKCh7IGZpZWxkIH0pID0+IGZpZWxkID09PSBleGlzdGluZy5maWVsZCkpLFxuICAgICAgICAgICAgLi4ucnVsZXNUb0FkZFxuICAgICAgICBdO1xuXG4gICAgICAgIGNvbnN0IHN0YXRlOiBUYWJsZVN0YXRlID0geyAuLi5wcmV2U3RhdGUsIGZpbHRlckJ5OiBuZXdGaWx0ZXJSdWxlcyB9O1xuXG4gICAgICAgIGlmICghZXF1YWwocHJldkZpbHRlclJ1bGVzLCBzdGF0ZS5maWx0ZXJCeSkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVTdGF0ZShzZXRDdXJyZW50UGFnZVRvU3RhdGUoc3RhdGUsIDEpKTtcbiAgICAgICAgICAgIGNvbnN0IGV2dCA9IHsgY3VycmVudDogc3RhdGUuZmlsdGVyQnksIHByZXZpb3VzOiBwcmV2RmlsdGVyUnVsZXMgfTtcbiAgICAgICAgICAgIHRoaXMuYnVpbGRGaWx0ZXJSdWxlc01hcCgpO1xuXG4gICAgICAgICAgICB0aGlzLm5lZWRGZXRjaCQubmV4dCgpO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZSQubmV4dCh7IHR5cGU6ICdmaWx0ZXInLCBzdGF0ZTogZXZ0IH0pO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UkLm5leHQoZXZ0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBSZW1vdmVzIGZpbHRlcnMgZm9yIHRoZSBwcm92aWRlZCBmaWVsZHMgKi9cbiAgICByZW1vdmVGaWx0ZXJzKGZpZWxkczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJldlN0YXRlID0gdGhpcy5nZXRUYWJsZVN0YXRlKCk7XG4gICAgICAgIGNvbnN0IHByZXZGaWx0ZXJSdWxlcyA9IChwcmV2U3RhdGUgJiYgcHJldlN0YXRlLmZpbHRlckJ5KSB8fCBbXTtcblxuICAgICAgICBjb25zdCBuZXdGaWx0ZXJSdWxlczogQ29sbGVjdGlvbkZpbHRlcltdID0gcHJldkZpbHRlclJ1bGVzLmZpbHRlcihcbiAgICAgICAgICAgIChleGlzdGluZykgPT4gIWZpZWxkcy5pbmNsdWRlcyhleGlzdGluZy5maWVsZClcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBzdGF0ZTogVGFibGVTdGF0ZSA9IHsgLi4ucHJldlN0YXRlLCBmaWx0ZXJCeTogbmV3RmlsdGVyUnVsZXMgfTtcblxuICAgICAgICB0aGlzLnNldFRhYmxlU3RhdGUoc2V0Q3VycmVudFBhZ2VUb1N0YXRlKHN0YXRlLCAxKSk7XG4gICAgICAgIGNvbnN0IGV2dCA9IHsgY3VycmVudDogc3RhdGUuZmlsdGVyQnksIHByZXZpb3VzOiBwcmV2RmlsdGVyUnVsZXMgfTtcbiAgICAgICAgdGhpcy5idWlsZEZpbHRlclJ1bGVzTWFwKCk7XG5cbiAgICAgICAgdGhpcy5uZWVkRmV0Y2gkLm5leHQoKTtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZSQubmV4dCh7IHR5cGU6ICdmaWx0ZXInLCBzdGF0ZTogZXZ0IH0pO1xuICAgICAgICB0aGlzLmZpbHRlckNoYW5nZSQubmV4dChldnQpO1xuICAgIH1cblxuICAgIC8qKiBTZXQgZ3JvdXAgcnVsZXMgKi9cbiAgICBzZXRHcm91cHMoZ3JvdXBzOiBDb2xsZWN0aW9uR3JvdXBbXSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgY29uc3QgcHJldkdyb3VwcyA9IChwcmV2U3RhdGUgJiYgcHJldlN0YXRlLmdyb3VwQnkpIHx8IFtdO1xuXG4gICAgICAgIGNvbnN0IG5ld0dyb3VwczogQ29sbGVjdGlvbkdyb3VwW10gPSBncm91cHMgPyBbLi4uZ3JvdXBzXSA6IFtdO1xuICAgICAgICBjb25zdCBzdGF0ZTogVGFibGVTdGF0ZSA9IHsgLi4ucHJldlN0YXRlLCBncm91cEJ5OiBuZXdHcm91cHMgfTtcblxuICAgICAgICBpZiAoIWVxdWFsKHByZXZHcm91cHMsIHN0YXRlLmdyb3VwQnkpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlU3RhdGUoc3RhdGUpO1xuICAgICAgICAgICAgY29uc3QgZXZ0ID0geyBjdXJyZW50OiBzdGF0ZS5ncm91cEJ5LCBwcmV2aW91czogcHJldkdyb3VwcyB9O1xuICAgICAgICAgICAgdGhpcy5idWlsZEdyb3VwUnVsZXNNYXAoKTtcblxuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZSQubmV4dCh7IHR5cGU6ICdncm91cCcsIHN0YXRlOiBldnQgfSk7XG4gICAgICAgICAgICB0aGlzLmdyb3VwQ2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQWRkIGdyb3VwIHJ1bGVzIHRvIHRoZSBleGlzdGluZyBvbmVzICovXG4gICAgYWRkR3JvdXBzKGdyb3Vwc1RvQWRkOiBDb2xsZWN0aW9uR3JvdXBbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgY29uc3QgcHJldkdyb3VwcyA9IChwcmV2U3RhdGUgJiYgcHJldlN0YXRlLmdyb3VwQnkpIHx8IFtdO1xuXG4gICAgICAgIGNvbnN0IG5ld0dyb3VwczogQ29sbGVjdGlvbkdyb3VwW10gPSBbXG4gICAgICAgICAgICAuLi5wcmV2R3JvdXBzLmZpbHRlcigoZXhpc3RpbmcpID0+ICFncm91cHNUb0FkZC5maW5kKCh7IGZpZWxkIH0pID0+IGZpZWxkID09PSBleGlzdGluZy5maWVsZCkpLFxuICAgICAgICAgICAgLi4uZ3JvdXBzVG9BZGRcbiAgICAgICAgXTtcblxuICAgICAgICBjb25zdCBzdGF0ZTogVGFibGVTdGF0ZSA9IHsgLi4ucHJldlN0YXRlLCBncm91cEJ5OiBuZXdHcm91cHMgfTtcblxuICAgICAgICBpZiAoIWVxdWFsKHByZXZHcm91cHMsIHN0YXRlLmdyb3VwQnkpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlU3RhdGUoc3RhdGUpO1xuICAgICAgICAgICAgdGhpcy5idWlsZEdyb3VwUnVsZXNNYXAoKTtcblxuICAgICAgICAgICAgY29uc3QgZXZ0ID0geyBjdXJyZW50OiBzdGF0ZS5ncm91cEJ5LCBwcmV2aW91czogcHJldkdyb3VwcyB9O1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZSQubmV4dCh7IHR5cGU6ICdncm91cCcsIHN0YXRlOiBldnQgfSk7XG4gICAgICAgICAgICB0aGlzLmdyb3VwQ2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogRnJlZXplIHRhYmxlIHRvIGNvbHVtbiAqL1xuICAgIGZyZWV6ZVRvKGNvbHVtbk5hbWU6IHN0cmluZyB8IG51bGwsIGVuZD86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJldlN0YXRlID0gdGhpcy5nZXRUYWJsZVN0YXRlKCk7XG5cbiAgICAgICAgaWYgKCFlbmQpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVTdGF0ZSh7IC4uLnByZXZTdGF0ZSwgZnJlZXplVG9Db2x1bW46IGNvbHVtbk5hbWUgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlU3RhdGUoeyAuLi5wcmV2U3RhdGUsIGZyZWV6ZVRvRW5kQ29sdW1uOiBjb2x1bW5OYW1lIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXZ0ID0ge1xuICAgICAgICAgICAgY3VycmVudDogY29sdW1uTmFtZSxcbiAgICAgICAgICAgIHByZXZpb3VzOiBlbmQgPyBwcmV2U3RhdGUuZnJlZXplVG9FbmRDb2x1bW4gOiBwcmV2U3RhdGUuZnJlZXplVG9Db2x1bW5cbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlJC5uZXh0KHsgdHlwZTogJ2ZyZWV6ZScsIHN0YXRlOiBldnQgfSk7XG4gICAgICAgIHRoaXMuZnJlZXplQ2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgfVxuXG4gICAgLyoqIFNldCB0YWJsZSBjb2x1bW5zICovXG4gICAgc2V0Q29sdW1ucyhjb2x1bW5zOiBzdHJpbmdbXSwga2V5czogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJldlN0YXRlID0gdGhpcy5nZXRUYWJsZVN0YXRlKCk7XG4gICAgICAgIGNvbnN0IHByZXZDb2x1bW5zID0gKHByZXZTdGF0ZSAmJiBwcmV2U3RhdGUuY29sdW1ucykgfHwgW107XG5cbiAgICAgICAgY29uc3QgbmV3Q29sdW1ucyA9IFsuLi5jb2x1bW5zXTtcbiAgICAgICAgY29uc3QgbmV3Q29sdW1uS2V5cyA9IFsuLi5rZXlzXTtcbiAgICAgICAgY29uc3Qgc3RhdGU6IFRhYmxlU3RhdGUgPSB7IC4uLnByZXZTdGF0ZSwgY29sdW1uczogbmV3Q29sdW1ucywgY29sdW1uS2V5czogbmV3Q29sdW1uS2V5cyB9O1xuXG4gICAgICAgIGlmICghZXF1YWwocHJldkNvbHVtbnMsIHN0YXRlLmNvbHVtbnMpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlU3RhdGUoc3RhdGUpO1xuXG4gICAgICAgICAgICBjb25zdCBldnQgPSB7IGN1cnJlbnQ6IHN0YXRlLmNvbHVtbnMsIHByZXZpb3VzOiBwcmV2Q29sdW1ucyB9O1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZSQubmV4dCh7IHR5cGU6ICdjb2x1bW5zJywgc3RhdGU6IGV2dCB9KTtcbiAgICAgICAgICAgIHRoaXMuY29sdW1uc0NoYW5nZSQubmV4dChldnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFNldCBwYWdlICovXG4gICAgc2V0Q3VycmVudFBhZ2UoY3VycmVudFBhZ2U6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgY29uc3QgcHJldlBhZ2VTdGF0ZSA9IHByZXZTdGF0ZS5wYWdlO1xuXG4gICAgICAgIGlmIChwcmV2UGFnZVN0YXRlLmN1cnJlbnRQYWdlID09PSBjdXJyZW50UGFnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3RhdGU6IFRhYmxlU3RhdGUgPSBzZXRDdXJyZW50UGFnZVRvU3RhdGUocHJldlN0YXRlLCBjdXJyZW50UGFnZSk7XG5cbiAgICAgICAgdGhpcy5zZXRUYWJsZVN0YXRlKHN0YXRlKTtcbiAgICAgICAgY29uc3QgZXZ0ID0geyBjdXJyZW50OiBzdGF0ZS5wYWdlLCBwcmV2aW91czogcHJldlBhZ2VTdGF0ZSB9O1xuXG4gICAgICAgIHRoaXMubmVlZEZldGNoJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UkLm5leHQoeyB0eXBlOiAncGFnZScsIHN0YXRlOiBldnQgfSk7XG4gICAgICAgIHRoaXMucGFnZUNoYW5nZSQubmV4dChldnQpO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIGRlZmF1bHQgdGFibGUgc3RhdGUuICovXG4gICAgZ2V0RGVmYXVsdFN0YXRlKCk6IFRhYmxlU3RhdGUge1xuICAgICAgICBjb25zdCB0YWJsZVN0YXRlID0gdGhpcy5nZXRUYWJsZVN0YXRlKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb2x1bW5LZXlzOiB0YWJsZVN0YXRlLmNvbHVtbktleXMsXG4gICAgICAgICAgICBzb3J0Qnk6IFtdLFxuICAgICAgICAgICAgZmlsdGVyQnk6IFtdLFxuICAgICAgICAgICAgZ3JvdXBCeTogW10sXG4gICAgICAgICAgICBjb2x1bW5zOiB0YWJsZVN0YXRlLmNvbHVtbnMsXG4gICAgICAgICAgICBzZWFyY2hJbnB1dDoge1xuICAgICAgICAgICAgICAgIGNhdGVnb3J5OiBudWxsLFxuICAgICAgICAgICAgICAgIHRleHQ6ICcnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZnJlZXplVG9Db2x1bW46IG51bGwsXG4gICAgICAgICAgICBmcmVlemVUb0VuZENvbHVtbjogbnVsbCxcbiAgICAgICAgICAgIHBhZ2U6IHtcbiAgICAgICAgICAgICAgICBwYWdlU2l6ZTogMCxcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFnZTogMVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNoYXJlcyB2aXNpYmxlIGNvbHVtbnMgYXJyYXkgYWNyb3NzIGxpc3RlbmVycy5cbiAgICAgKiBAcGFyYW0gY29sdW1ucyBWaXNpYmxlIGNvbHVtbnMgdG8gc2hhcmUuXG4gICAgICovXG4gICAgc2V0VmlzaWJsZUNvbHVtbnMoY29sdW1uczogVGFibGVDb2x1bW5bXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnZpc2libGVDb2x1bW5zJC5uZXh0KGNvbHVtbnMpO1xuICAgICAgICB0aGlzLnZpc2libGVDb2x1bW5zTGVuZ3RoID0gY29sdW1ucy5sZW5ndGg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hhcmVzIHBvcHBpbmcgY29sdW1ucyBhcnJheSBhY3Jvc3MgbGlzdGVuZXJzLlxuICAgICAqIEBwYXJhbSBjb2x1bW5zIFBvcHBpbmcgY29sdW1ucyB0byBzaGFyZS5cbiAgICAgKi9cbiAgICBzZXRQb3BwaW5nQ29sdW1ucyhjb2x1bW5zOiBUYWJsZUNvbHVtbltdKTogdm9pZCB7XG4gICAgICAgIHRoaXMucG9wcGluZ0NvbHVtbnMkLm5leHQoY29sdW1ucyk7XG4gICAgICAgIHRoaXMuX3BvcHBpbmdDb2x1bW5zTGVuZ3RoID0gY29sdW1ucy5sZW5ndGg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0cyBncm91cGluZyBydWxlcyBiYXNlZCBvbiB0aGUgdGFibGUgc3RhdGUuXG4gICAgICogQHBhcmFtIHN0YXRlIFRhYmxlIHN0YXRlLlxuICAgICAqL1xuICAgIGJ1aWxkR3JvdXBSdWxlc01hcChzdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGdyb3VwTWFwID0gbmV3IE1hcChzdGF0ZS5ncm91cEJ5Lm1hcCgocnVsZSkgPT4gW3J1bGUuZmllbGQsIHJ1bGVdKSk7XG4gICAgICAgIHRoaXMuZ3JvdXBSdWxlcyQubmV4dChncm91cE1hcCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0cyBzb3J0aW5nIHJ1bGVzIGJhc2VkIG9uIHRoZSB0YWJsZSBzdGF0ZS5cbiAgICAgKiBAcGFyYW0gc3RhdGUgVGFibGUgc3RhdGVcbiAgICAgKi9cbiAgICBidWlsZFNvcnRSdWxlc01hcChzdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc29ydFJ1bGVzJC5uZXh0KG5ldyBNYXAoc3RhdGUuc29ydEJ5LmZpbHRlcigocnVsZSkgPT4gcnVsZS5maWVsZCkubWFwKChydWxlKSA9PiBbcnVsZS5maWVsZCEsIHJ1bGVdKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgZmlsdGVyIHJ1bGVzIGJhc2VkIG9uIHRoZSB0YWJsZSBzdGF0ZS5cbiAgICAgKiBAcGFyYW0gc3RhdGUgVGFibGUgc3RhdGUuXG4gICAgICovXG4gICAgYnVpbGRGaWx0ZXJSdWxlc01hcChzdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsdGVyUnVsZXMkLm5leHQoXG4gICAgICAgICAgICBzdGF0ZS5maWx0ZXJCeS5yZWR1Y2UoKGhhc2gsIHJ1bGUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBydWxlLmZpZWxkO1xuICAgICAgICAgICAgICAgIGlmICghaGFzaC5oYXMoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICBoYXNoLnNldChrZXksIFtdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaGFzaC5nZXQoa2V5KT8ucHVzaChydWxlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaGFzaDtcbiAgICAgICAgICAgIH0sIG5ldyBNYXA8c3RyaW5nLCBDb2xsZWN0aW9uRmlsdGVyW10+KCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0cyBiYXNlIHRhYmxlIGNvbmZpZy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RUYWJsZU1ldGFkYXRhKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkR3JvdXBSdWxlc01hcCgpO1xuICAgICAgICB0aGlzLmJ1aWxkU29ydFJ1bGVzTWFwKCk7XG4gICAgICAgIHRoaXMuYnVpbGRGaWx0ZXJSdWxlc01hcCgpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gc2V0Q3VycmVudFBhZ2VUb1N0YXRlKHN0YXRlOiBUYWJsZVN0YXRlLCBjdXJyZW50UGFnZTogbnVtYmVyKTogVGFibGVTdGF0ZSB7XG4gICAgY29uc3QgbmV3UGFnZVN0YXRlOiBDb2xsZWN0aW9uUGFnZSA9IHsgLi4uc3RhdGUucGFnZSwgY3VycmVudFBhZ2UgfTtcbiAgICByZXR1cm4geyAuLi5zdGF0ZSwgcGFnZTogbmV3UGFnZVN0YXRlIH07XG59XG4iXX0=
336
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi90YWJsZS1oZWxwZXJzL3NlcnZpY2VzL3RhYmxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEtBQUssTUFBTSxpQkFBaUIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQWdDbkQsTUFBTSxPQUFPLFlBQVk7SUFEekI7UUFFSSwwQkFBMEI7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2hFLGNBQWM7UUFDTCwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNsRSxjQUFjO1FBQ0wsb0NBQStCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDL0UsY0FBYztRQUNMLDhCQUF5QixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3pFLGNBQWM7UUFDTCxzQ0FBaUMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRSw4QkFBOEI7UUFDckIsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFDbEUsOEJBQThCO1FBQzlCLHlCQUFvQixHQUFHLENBQUMsQ0FBQztRQUN6Qiw4QkFBOEI7UUFDckIsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFDbEUsOEJBQThCO1FBQzlCLDBCQUFxQixHQUFHLENB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QUNsQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMvQixDQUFDOzt5R0EvWFEsWUFBWTs2R0FBWixZQUFZOzJGQUFaLFlBQVk7a0JBRHhCLFVBQVU7O0FBbVlYLFNBQVMscUJBQXFCLENBQUMsS0FBaUIsRUFBRSxXQUFtQjtJQUNqRSxNQUFNLFlBQVksR0FBbUIsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDcEUsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQztBQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NlYXJjaC1maWVsZCc7XG5pbXBvcnQgZXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2tpcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERFRkFVTFRfVEFCTEVfU1RBVEUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5pbXBvcnQgeyBDb2xsZWN0aW9uRmlsdGVyLCBDb2xsZWN0aW9uR3JvdXAsIENvbGxlY3Rpb25QYWdlLCBDb2xsZWN0aW9uU29ydCwgVGFibGVTdGF0ZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgICBDb2x1bW5zQ2hhbmdlLFxuICAgIEZpbHRlckNoYW5nZSxcbiAgICBGcmVlemVDaGFuZ2UsXG4gICAgR3JvdXBDaGFuZ2UsXG4gICAgUGFnZUNoYW5nZSxcbiAgICBTZWFyY2hDaGFuZ2UsXG4gICAgU29ydENoYW5nZVxufSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tICcuLi90YWJsZS1jb2x1bW4nO1xuXG5leHBvcnQgdHlwZSBUYWJsZVN0YXRlQ2hhbmdlID1cbiAgICB8IFRhYmxlU3RhdGVQcm9wZXJ0eTwnc29ydCcsIFNvcnRDaGFuZ2U+XG4gICAgfCBUYWJsZVN0YXRlUHJvcGVydHk8J3BhZ2UnLCBQYWdlQ2hhbmdlPlxuICAgIHwgVGFibGVTdGF0ZVByb3BlcnR5PCdmaWx0ZXInLCBGaWx0ZXJDaGFuZ2U+XG4gICAgfCBUYWJsZVN0YXRlUHJvcGVydHk8J2dyb3VwJywgR3JvdXBDaGFuZ2U+XG4gICAgfCBUYWJsZVN0YXRlUHJvcGVydHk8J2ZyZWV6ZScsIEZyZWV6ZUNoYW5nZT5cbiAgICB8IFRhYmxlU3RhdGVQcm9wZXJ0eTwnY29sdW1ucycsIENvbHVtbnNDaGFuZ2U+XG4gICAgfCBUYWJsZVN0YXRlUHJvcGVydHk8J3NlYXJjaCcsIFNlYXJjaENoYW5nZT47XG5cbmV4cG9ydCB0eXBlIFRhYmxlU3RhdGVQcm9wZXJ0eTxcbiAgICBUID0gJ3NvcnQnIHwgJ3BhZ2UnIHwgJ2ZpbHRlcicgfCAnZ3JvdXAnIHwgJ2ZyZWV6ZScgfCAnY29sdW1ucycgfCAnc2VhcmNoJyxcbiAgICBQID0gU29ydENoYW5nZSB8IFBhZ2VDaGFuZ2UgfCBGaWx0ZXJDaGFuZ2UgfCBHcm91cENoYW5nZSB8IEZyZWV6ZUNoYW5nZSB8IENvbHVtbnNDaGFuZ2Vcbj4gPSB7XG4gICAgdHlwZTogVDtcbiAgICBzdGF0ZTogUDtcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYWJsZVNlcnZpY2Uge1xuICAgIC8qKiBUYWJsZSBzdGF0ZSBzdHJlYW0uICovXG4gICAgcmVhZG9ubHkgdGFibGVTdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KERFRkFVTFRfVEFCTEVfU1RBVEUpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX3NlbWFudGljSGlnaGxpZ2h0aW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfaXNGaWx0ZXJpbmdGcm9tSGVhZGVyRGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfaXNTaG93bk5hdmlnYXRpb25Db2x1bW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfc2VtYW50aWNIaWdobGlnaHRpbmdDb2x1bW5XaWR0aCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDApO1xuICAgIC8qKiBWaXNpYmxlIGNvbHVtbnMgc3RyZWFtLiAqL1xuICAgIHJlYWRvbmx5IHZpc2libGVDb2x1bW5zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFibGVDb2x1bW5bXT4oW10pO1xuICAgIC8qKiBWaXNpYmxlIGNvbHVtbnMgbGVuZ3RoLiAqL1xuICAgIHZpc2libGVDb2x1bW5zTGVuZ3RoID0gMDtcbiAgICAvKiogUG9wcGluZyBjb2x1bW5zIHN0cmVhbS4gKi9cbiAgICByZWFkb25seSBwb3BwaW5nQ29sdW1ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRhYmxlQ29sdW1uW10+KFtdKTtcbiAgICAvKiogUG9wcGluZyBjb2x1bW5zIGxlbmd0aC4gKi9cbiAgICBfcG9wcGluZ0NvbHVtbnNMZW5ndGggPSAwO1xuICAgIC8qKiBUYWJsZSBjb2x1bW5zIHN0cmVhbS4gKi9cbiAgICByZWFkb25seSB0YWJsZUNvbHVtbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUYWJsZUNvbHVtbltdPihbXSk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSB0YWJsZVN0YXRlQ2hhbmdlcyQgPSB0aGlzLnRhYmxlU3RhdGUkLnBpcGUoc2tpcCgxKSk7XG4gICAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gc2VhcmNoIHN0YXRlIGNoYW5nZXMuICovXG4gICAgcmVhZG9ubHkgc2VhcmNoQ2hhbmdlJCA9IG5ldyBTdWJqZWN0PFNlYXJjaENoYW5nZT4oKTtcbiAgICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiBzb3J0IHN0YXRlIGNoYW5nZXMuICovXG4gICAgcmVhZG9ubHkgc29ydENoYW5nZSQgPSBuZXcgU3ViamVjdDxTb3J0Q2hhbmdlPigpO1xuICAgIC8qKiBTdHJlYW0gdGhhdCBlbWl0cyB3aGVuIGZpbHRlciBzdGF0ZSBjaGFuZ2VzLiAqL1xuICAgIHJlYWRvbmx5IGZpbHRlckNoYW5nZSQgPSBuZXcgU3ViamVjdDxGaWx0ZXJDaGFuZ2U+KCk7XG4gICAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gZ3JvdXAgc3RhdGUgY2hhbmdlcy4gKi9cbiAgICByZWFkb25seSBncm91cENoYW5nZSQgPSBuZXcgU3ViamVjdDxHcm91cENoYW5nZT4oKTtcbiAgICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiBmcmVlemUgc3RhdGUgY2hhbmdlcy4gKi9cbiAgICByZWFkb25seSBmcmVlemVDaGFuZ2UkID0gbmV3IFN1YmplY3Q8RnJlZXplQ2hhbmdlPigpO1xuICAgIC8qKiBTdHJlYW0gdGhhdCBlbWl0cyB3aGVuIGNvbHVtbnMgc3RhdGUgY2hhbmdlcy4gKi9cbiAgICByZWFkb25seSBjb2x1bW5zQ2hhbmdlJCA9IG5ldyBTdWJqZWN0PENvbHVtbnNDaGFuZ2U+KCk7XG4gICAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gcGFnZSBzdGF0ZSBjaGFuZ2VzLiAqL1xuICAgIHJlYWRvbmx5IHBhZ2VDaGFuZ2UkID0gbmV3IFN1YmplY3Q8UGFnZUNoYW5nZT4oKTtcbiAgICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiBuZXcgZmV0Y2ggb2YgZGF0YSBpcyBuZWVkZWQuICovXG4gICAgcmVhZG9ubHkgbmVlZEZldGNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBzdGF0ZUNoYW5nZSQgPSBuZXcgU3ViamVjdDxUYWJsZVN0YXRlQ2hhbmdlPigpO1xuICAgIC8qKiBTdHJlYW0gdGhhdCBlbWl0cyB3aGVuIGxvYWRpbmcgc3RhdGUgY2hhbmdlcy4gKi9cbiAgICByZWFkb25seSB0YWJsZUxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgLyoqIExpc3RlbiBmb3Igc29mdCBjaGFuZ2VzIGluIHRhYmxlIHN1YmNvbXBvbmVudHMgKG1vc3RseSB0YWJsZSBjb2x1bW4pICovXG4gICAgcmVhZG9ubHkgbWFya0ZvckNoZWNrJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgLyoqIExpc3RlbiBmb3IgaW1tZWRpYXRlIGNoYW5nZXMgaW4gdGFibGUgc3ViY29tcG9uZW50cyAobW9zdGx5IHRhYmxlIGNvbHVtbikgKi9cbiAgICByZWFkb25seSBkZXRlY3RDaGFuZ2VzJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgLyoqIFNvcnQgcnVsZXMgc3RyZWFtLiAqL1xuICAgIHJlYWRvbmx5IHNvcnRSdWxlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1hcDxzdHJpbmcsIENvbGxlY3Rpb25Tb3J0Pj4obmV3IE1hcCgpKTtcbiAgICAvKipcbiAgICAgKiBGaWx0ZXIgUnVsZXMgTWFwIHN0cmVhbS4gV2hlcmUga2V5IGlzIGNvbHVtbiBrZXksIGFuZCB2YWx1ZSBpcyB0aGUgYXNzb2NpYXRlZCBmaWx0ZXIgcnVsZXMuXG4gICAgICogTWFueSBmaWx0ZXJzIGNhbiBiZSBhcHBsaWVkIHRvIG9uZSBjb2x1bW4uXG4gICAgICovXG4gICAgcmVhZG9ubHkgZmlsdGVyUnVsZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXA8c3RyaW5nLCBDb2xsZWN0aW9uRmlsdGVyW10+PihuZXcgTWFwKCkpO1xuXG4gICAgLyoqXG4gICAgICogR3JvdXAgUnVsZXMgTWFwIHN0cmVhbS4gV2hlcmUga2V5IGlzIGNvbHVtbiBrZXkgYW5kIHZhbHVlIGlzIGFzc29jaWF0ZWQgZ3JvdXAgcnVsZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGdyb3VwUnVsZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXA8c3RyaW5nLCBDb2xsZWN0aW9uR3JvdXA+PihuZXcgTWFwKCkpO1xuXG4gICAgLyoqIEdldCBjdXJyZW50IHN0YXRlL3NldHRpbmdzIG9mIHRoZSBUYWJsZS4gKi9cbiAgICBnZXRUYWJsZVN0YXRlKCk6IFRhYmxlU3RhdGUge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZVN0YXRlJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8qKiBTZXQgY3VycmVudCBzdGF0ZS9zZXR0aW5ncyBvZiB0aGUgVGFibGUuICovXG4gICAgc2V0VGFibGVTdGF0ZShzdGF0ZTogVGFibGVTdGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYmxlU3RhdGUkLm5leHQoc3RhdGUpO1xuICAgIH1cblxuICAgIC8qKiBTZXQgY3VycmVudCBsb2FkaW5nIHN0YXRlIG9mIHRoZSBUYWJsZS4gKi9cbiAgICBzZXRUYWJsZUxvYWRpbmcoaXNMb2FkaW5nOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFibGVMb2FkaW5nJC5uZXh0KGlzTG9hZGluZyk7XG4gICAgfVxuXG4gICAgLyoqIE5vdGlmeSBhYm91dCBjaGFuZ2VzIGluIHRhYmxlIHN1YmNvbXBvbmVudHMgKG1vc3RseSB0YWJsZSBjb2x1bW4pIGFuZCBkZXRlY3QgdGhlbSBvbiBuZXh0IGRldGVjdG9yIGNoZWNrLiAqL1xuICAgIG1hcmtGb3JDaGVjaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tYXJrRm9yQ2hlY2skLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogTm90aWZ5IGFib3V0IGNoYW5nZXMgaW4gdGFibGUgc3ViY29tcG9uZW50cyAobW9zdGx5IHRhYmxlIGNvbHVtbikgYW5kIGRldGVjdCB0aGVtIGltbWVkaWF0ZWx5LiAqL1xuICAgIGRldGVjdENoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcyQubmV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBTZWFyY2ggKi9cbiAgICBzZWFyY2goc2VhcmNoSW5wdXQ6IFNlYXJjaElucHV0KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpO1xuXG4gICAgICAgIGNvbnN0IHN0YXRlOiBUYWJsZVN0YXRlID0geyAuLi5wcmV2U3RhdGUsIHNlYXJjaElucHV0IH07XG5cbiAgICAgICAgdGhpcy5zZXRUYWJsZVN0YXRlKHNldEN1cnJlbnRQYWdlVG9TdGF0ZShzdGF0ZSwgMSkpO1xuXG4gICAgICAgIGNvbnN0IGV2dCA9IHsgY3VycmVudDogc2VhcmNoSW5wdXQsIHByZXZpb3VzOiBwcmV2U3RhdGUuc2VhcmNoSW5wdXQgfTtcblxuICAgICAgICB0aGlzLm5lZWRGZXRjaCQubmV4dCgpO1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlJC5uZXh0KHsgdHlwZTogJ3NlYXJjaCcsIHN0YXRlOiBldnQgfSk7XG4gICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgfVxuXG4gICAgLyoqIFNldCBuZXcgc29ydCBydWxlcyAqL1xuICAgIHNldFNvcnQoc29ydFJ1bGVzOiBDb2xsZWN0aW9uU29ydFtdIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwcmV2U29ydFJ1bGVzID0gKHByZXZTdGF0ZSAmJiBwcmV2U3RhdGUuc29ydEJ5KSB8fCBbXTtcblxuICAgICAgICBjb25zdCBuZXdTb3J0UnVsZXM6IENvbGxlY3Rpb25Tb3J0W10gPSBzb3J0UnVsZXMgPyBbLi4uc29ydFJ1bGVzXSA6IFtdO1xuXG4gICAgICAgIGNvbnN0IHN0YXRlOiBUYWJsZVN0YXRlID0geyAuLi5wcmV2U3RhdGUsIHNvcnRCeTogbmV3U29ydFJ1bGVzIH07XG5cbiAgICAgICAgaWYgKCFlcXVhbChwcmV2U29ydFJ1bGVzLCBzdGF0ZS5zb3J0QnkpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlU3RhdGUoc2V0Q3VycmVudFBhZ2VUb1N0YXRlKHN0YXRlLCAxKSk7XG4gICAgICAgICAgICB0aGlzLmJ1aWxkU29ydFJ1bGVzTWFwKCk7XG4gICAgICAgICAgICBjb25zdCBldnQgPSB7IGN1cnJlbnQ6IHN0YXRlLnNvcnRCeSwgcHJldmlvdXM6IHByZXZTb3J0UnVsZXMgfTtcblxuICAgICAgICAgICAgdGhpcy5uZWVkRmV0Y2gkLm5leHQoKTtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UkLm5leHQoeyB0eXBlOiAnc29ydCcsIHN0YXRlOiBldnQgfSk7XG4gICAgICAgICAgICB0aGlzLnNvcnRDaGFuZ2UkLm5leHQoZXZ0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBBZGQgc29ydCBydWxlcyB0byB0aGUgZXhpc3Rpbmcgb25lcyAqL1xuICAgIGFkZFNvcnQoc29ydFJ1bGVzOiBDb2xsZWN0aW9uU29ydFtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwcmV2U29ydFJ1bGVzID0gKHByZXZTdGF0ZSAmJiBwcmV2U3RhdGUuc29ydEJ5KSB8fCBbXTtcblxuICAgICAgICBjb25zdCBuZXdTb3J0UnVsZXM6IENvbGxlY3Rpb25Tb3J0W10gPSBbXG4gICAgICAgICAgICAuLi5wcmV2U29ydFJ1bGVzLmZpbHRlcigoZXhpc3RpbmcpID0+ICFzb3J0UnVsZXMuZmluZCgoeyBmaWVsZCB9KSA9PiBmaWVsZCA9PT0gZXhpc3RpbmcuZmllbGQpKSxcbiAgICAgICAgICAgIC4uLnNvcnRSdWxlc1xuICAgICAgICBdO1xuXG4gICAgICAgIGNvbnN0IHN0YXRlOiBUYWJsZVN0YXRlID0geyAuLi5wcmV2U3RhdGUsIHNvcnRCeTogbmV3U29ydFJ1bGVzIH07XG5cbiAgICAgICAgaWYgKCFlcXVhbChwcmV2U29ydFJ1bGVzLCBzdGF0ZS5zb3J0QnkpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlU3RhdGUoc2V0Q3VycmVudFBhZ2VUb1N0YXRlKHN0YXRlLCAxKSk7XG4gICAgICAgICAgICBjb25zdCBldnQgPSB7IGN1cnJlbnQ6IHN0YXRlLnNvcnRCeSwgcHJldmlvdXM6IHByZXZTb3J0UnVsZXMgfTtcbiAgICAgICAgICAgIHRoaXMuYnVpbGRTb3J0UnVsZXNNYXAoKTtcblxuICAgICAgICAgICAgdGhpcy5uZWVkRmV0Y2gkLm5leHQoKTtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UkLm5leHQoeyB0eXBlOiAnc29ydCcsIHN0YXRlOiBldnQgfSk7XG4gICAgICAgICAgICB0aGlzLnNvcnRDaGFuZ2UkLm5leHQoZXZ0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBTZXQgbmV3IHNvcnQgcnVsZXMgKi9cbiAgICBzZXRGaWx0ZXJzKGZpbHRlclJ1bGVzOiBDb2xsZWN0aW9uRmlsdGVyW10gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJldlN0YXRlID0gdGhpcy5nZXRUYWJsZVN0YXRlKCk7XG4gICAgICAgIGNvbnN0IHByZXZGaWx0ZXJSdWxlcyA9IChwcmV2U3RhdGUgJiYgcHJldlN0YXRlLmZpbHRlckJ5KSB8fCBbXTtcblxuICAgICAgICBjb25zdCBuZXdGaWx0ZXJSdWxlczogQ29sbGVjdGlvbkZpbHRlcltdID0gZmlsdGVyUnVsZXMgPyBbLi4uZmlsdGVyUnVsZXNdIDogW107XG4gICAgICAgIGNvbnN0IHN0YXRlOiBUYWJsZVN0YXRlID0geyAuLi5wcmV2U3RhdGUsIGZpbHRlckJ5OiBuZXdGaWx0ZXJSdWxlcyB9O1xuXG4gICAgICAgIGlmICghZXF1YWwocHJldkZpbHRlclJ1bGVzLCBzdGF0ZS5maWx0ZXJCeSkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVTdGF0ZShzZXRDdXJyZW50UGFnZVRvU3RhdGUoc3RhdGUsIDEpKTtcbiAgICAgICAgICAgIGNvbnN0IGV2dCA9IHsgY3VycmVudDogc3RhdGUuZmlsdGVyQnksIHByZXZpb3VzOiBwcmV2RmlsdGVyUnVsZXMgfTtcblxuICAgICAgICAgICAgdGhpcy5idWlsZEZpbHRlclJ1bGVzTWFwKCk7XG4gICAgICAgICAgICB0aGlzLm5lZWRGZXRjaCQubmV4dCgpO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZSQubmV4dCh7IHR5cGU6ICdmaWx0ZXInLCBzdGF0ZTogZXZ0IH0pO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UkLm5leHQoZXZ0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBBZGQgZmlsdGVyIHJ1bGVzIHRvIHRoZSBleGlzdGluZyBvbmVzICovXG4gICAgYWRkRmlsdGVycyhydWxlc1RvQWRkOiBDb2xsZWN0aW9uRmlsdGVyW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJldlN0YXRlID0gdGhpcy5nZXRUYWJsZVN0YXRlKCk7XG4gICAgICAgIGNvbnN0IHByZXZGaWx0ZXJSdWxlcyA9IChwcmV2U3RhdGUgJiYgcHJldlN0YXRlLmZpbHRlckJ5KSB8fCBbXTtcblxuICAgICAgICBjb25zdCBuZXdGaWx0ZXJSdWxlczogQ29sbGVjdGlvbkZpbHRlcltdID0gW1xuICAgICAgICAgICAgLi4ucHJldkZpbHRlclJ1bGVzLmZpbHRlcigoZXhpc3RpbmcpID0+ICFydWxlc1RvQWRkLmZpbmQoKHsgZmllbGQgfSkgPT4gZmllbGQgPT09IGV4aXN0aW5nLmZpZWxkKSksXG4gICAgICAgICAgICAuLi5ydWxlc1RvQWRkXG4gICAgICAgIF07XG5cbiAgICAgICAgY29uc3Qgc3RhdGU6IFRhYmxlU3RhdGUgPSB7IC4uLnByZXZTdGF0ZSwgZmlsdGVyQnk6IG5ld0ZpbHRlclJ1bGVzIH07XG5cbiAgICAgICAgaWYgKCFlcXVhbChwcmV2RmlsdGVyUnVsZXMsIHN0YXRlLmZpbHRlckJ5KSkge1xuICAgICAgICAgICAgdGhpcy5zZXRUYWJsZVN0YXRlKHNldEN1cnJlbnRQYWdlVG9TdGF0ZShzdGF0ZSwgMSkpO1xuICAgICAgICAgICAgY29uc3QgZXZ0ID0geyBjdXJyZW50OiBzdGF0ZS5maWx0ZXJCeSwgcHJldmlvdXM6IHByZXZGaWx0ZXJSdWxlcyB9O1xuICAgICAgICAgICAgdGhpcy5idWlsZEZpbHRlclJ1bGVzTWFwKCk7XG5cbiAgICAgICAgICAgIHRoaXMubmVlZEZldGNoJC5uZXh0KCk7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlJC5uZXh0KHsgdHlwZTogJ2ZpbHRlcicsIHN0YXRlOiBldnQgfSk7XG4gICAgICAgICAgICB0aGlzLmZpbHRlckNoYW5nZSQubmV4dChldnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFJlbW92ZXMgZmlsdGVycyBmb3IgdGhlIHByb3ZpZGVkIGZpZWxkcyAqL1xuICAgIHJlbW92ZUZpbHRlcnMoZmllbGRzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgY29uc3QgcHJldkZpbHRlclJ1bGVzID0gKHByZXZTdGF0ZSAmJiBwcmV2U3RhdGUuZmlsdGVyQnkpIHx8IFtdO1xuXG4gICAgICAgIGNvbnN0IG5ld0ZpbHRlclJ1bGVzOiBDb2xsZWN0aW9uRmlsdGVyW10gPSBwcmV2RmlsdGVyUnVsZXMuZmlsdGVyKFxuICAgICAgICAgICAgKGV4aXN0aW5nKSA9PiAhZmllbGRzLmluY2x1ZGVzKGV4aXN0aW5nLmZpZWxkKVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IHN0YXRlOiBUYWJsZVN0YXRlID0geyAuLi5wcmV2U3RhdGUsIGZpbHRlckJ5OiBuZXdGaWx0ZXJSdWxlcyB9O1xuXG4gICAgICAgIHRoaXMuc2V0VGFibGVTdGF0ZShzZXRDdXJyZW50UGFnZVRvU3RhdGUoc3RhdGUsIDEpKTtcbiAgICAgICAgY29uc3QgZXZ0ID0geyBjdXJyZW50OiBzdGF0ZS5maWx0ZXJCeSwgcHJldmlvdXM6IHByZXZGaWx0ZXJSdWxlcyB9O1xuICAgICAgICB0aGlzLmJ1aWxkRmlsdGVyUnVsZXNNYXAoKTtcblxuICAgICAgICB0aGlzLm5lZWRGZXRjaCQubmV4dCgpO1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlJC5uZXh0KHsgdHlwZTogJ2ZpbHRlcicsIHN0YXRlOiBldnQgfSk7XG4gICAgICAgIHRoaXMuZmlsdGVyQ2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgfVxuXG4gICAgLyoqIFNldCBncm91cCBydWxlcyAqL1xuICAgIHNldEdyb3Vwcyhncm91cHM6IENvbGxlY3Rpb25Hcm91cFtdIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwcmV2R3JvdXBzID0gKHByZXZTdGF0ZSAmJiBwcmV2U3RhdGUuZ3JvdXBCeSkgfHwgW107XG5cbiAgICAgICAgY29uc3QgbmV3R3JvdXBzOiBDb2xsZWN0aW9uR3JvdXBbXSA9IGdyb3VwcyA/IFsuLi5ncm91cHNdIDogW107XG4gICAgICAgIGNvbnN0IHN0YXRlOiBUYWJsZVN0YXRlID0geyAuLi5wcmV2U3RhdGUsIGdyb3VwQnk6IG5ld0dyb3VwcyB9O1xuXG4gICAgICAgIGlmICghZXF1YWwocHJldkdyb3Vwcywgc3RhdGUuZ3JvdXBCeSkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVTdGF0ZShzdGF0ZSk7XG4gICAgICAgICAgICBjb25zdCBldnQgPSB7IGN1cnJlbnQ6IHN0YXRlLmdyb3VwQnksIHByZXZpb3VzOiBwcmV2R3JvdXBzIH07XG4gICAgICAgICAgICB0aGlzLmJ1aWxkR3JvdXBSdWxlc01hcCgpO1xuXG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlJC5uZXh0KHsgdHlwZTogJ2dyb3VwJywgc3RhdGU6IGV2dCB9KTtcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBDaGFuZ2UkLm5leHQoZXZ0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBBZGQgZ3JvdXAgcnVsZXMgdG8gdGhlIGV4aXN0aW5nIG9uZXMgKi9cbiAgICBhZGRHcm91cHMoZ3JvdXBzVG9BZGQ6IENvbGxlY3Rpb25Hcm91cFtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwcmV2R3JvdXBzID0gKHByZXZTdGF0ZSAmJiBwcmV2U3RhdGUuZ3JvdXBCeSkgfHwgW107XG5cbiAgICAgICAgY29uc3QgbmV3R3JvdXBzOiBDb2xsZWN0aW9uR3JvdXBbXSA9IFtcbiAgICAgICAgICAgIC4uLnByZXZHcm91cHMuZmlsdGVyKChleGlzdGluZykgPT4gIWdyb3Vwc1RvQWRkLmZpbmQoKHsgZmllbGQgfSkgPT4gZmllbGQgPT09IGV4aXN0aW5nLmZpZWxkKSksXG4gICAgICAgICAgICAuLi5ncm91cHNUb0FkZFxuICAgICAgICBdO1xuXG4gICAgICAgIGNvbnN0IHN0YXRlOiBUYWJsZVN0YXRlID0geyAuLi5wcmV2U3RhdGUsIGdyb3VwQnk6IG5ld0dyb3VwcyB9O1xuXG4gICAgICAgIGlmICghZXF1YWwocHJldkdyb3Vwcywgc3RhdGUuZ3JvdXBCeSkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVTdGF0ZShzdGF0ZSk7XG4gICAgICAgICAgICB0aGlzLmJ1aWxkR3JvdXBSdWxlc01hcCgpO1xuXG4gICAgICAgICAgICBjb25zdCBldnQgPSB7IGN1cnJlbnQ6IHN0YXRlLmdyb3VwQnksIHByZXZpb3VzOiBwcmV2R3JvdXBzIH07XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlJC5uZXh0KHsgdHlwZTogJ2dyb3VwJywgc3RhdGU6IGV2dCB9KTtcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBDaGFuZ2UkLm5leHQoZXZ0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBGcmVlemUgdGFibGUgdG8gY29sdW1uICovXG4gICAgZnJlZXplVG8oY29sdW1uTmFtZTogc3RyaW5nIHwgbnVsbCwgZW5kPzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcblxuICAgICAgICBpZiAoIWVuZCkge1xuICAgICAgICAgICAgdGhpcy5zZXRUYWJsZVN0YXRlKHsgLi4ucHJldlN0YXRlLCBmcmVlemVUb0NvbHVtbjogY29sdW1uTmFtZSB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVTdGF0ZSh7IC4uLnByZXZTdGF0ZSwgZnJlZXplVG9FbmRDb2x1bW46IGNvbHVtbk5hbWUgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBldnQgPSB7XG4gICAgICAgICAgICBjdXJyZW50OiBjb2x1bW5OYW1lLFxuICAgICAgICAgICAgcHJldmlvdXM6IGVuZCA/IHByZXZTdGF0ZS5mcmVlemVUb0VuZENvbHVtbiA6IHByZXZTdGF0ZS5mcmVlemVUb0NvbHVtblxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UkLm5leHQoeyB0eXBlOiAnZnJlZXplJywgc3RhdGU6IGV2dCB9KTtcbiAgICAgICAgdGhpcy5mcmVlemVDaGFuZ2UkLm5leHQoZXZ0KTtcbiAgICB9XG5cbiAgICAvKiogU2V0IHRhYmxlIGNvbHVtbnMgKi9cbiAgICBzZXRDb2x1bW5zKGNvbHVtbnM6IHN0cmluZ1tdLCBrZXlzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgY29uc3QgcHJldkNvbHVtbnMgPSAocHJldlN0YXRlICYmIHByZXZTdGF0ZS5jb2x1bW5zKSB8fCBbXTtcblxuICAgICAgICBjb25zdCBuZXdDb2x1bW5zID0gWy4uLmNvbHVtbnNdO1xuICAgICAgICBjb25zdCBuZXdDb2x1bW5LZXlzID0gWy4uLmtleXNdO1xuICAgICAgICBjb25zdCBzdGF0ZTogVGFibGVTdGF0ZSA9IHsgLi4ucHJldlN0YXRlLCBjb2x1bW5zOiBuZXdDb2x1bW5zLCBjb2x1bW5LZXlzOiBuZXdDb2x1bW5LZXlzIH07XG5cbiAgICAgICAgaWYgKCFlcXVhbChwcmV2Q29sdW1ucywgc3RhdGUuY29sdW1ucykpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVTdGF0ZShzdGF0ZSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGV2dCA9IHsgY3VycmVudDogc3RhdGUuY29sdW1ucywgcHJldmlvdXM6IHByZXZDb2x1bW5zIH07XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlJC5uZXh0KHsgdHlwZTogJ2NvbHVtbnMnLCBzdGF0ZTogZXZ0IH0pO1xuICAgICAgICAgICAgdGhpcy5jb2x1bW5zQ2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogU2V0IHBhZ2UgKi9cbiAgICBzZXRDdXJyZW50UGFnZShjdXJyZW50UGFnZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwcmV2UGFnZVN0YXRlID0gcHJldlN0YXRlLnBhZ2U7XG5cbiAgICAgICAgaWYgKHByZXZQYWdlU3RhdGUuY3VycmVudFBhZ2UgPT09IGN1cnJlbnRQYWdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdGF0ZTogVGFibGVTdGF0ZSA9IHNldEN1cnJlbnRQYWdlVG9TdGF0ZShwcmV2U3RhdGUsIGN1cnJlbnRQYWdlKTtcblxuICAgICAgICB0aGlzLnNldFRhYmxlU3RhdGUoc3RhdGUpO1xuICAgICAgICBjb25zdCBldnQgPSB7IGN1cnJlbnQ6IHN0YXRlLnBhZ2UsIHByZXZpb3VzOiBwcmV2UGFnZVN0YXRlIH07XG5cbiAgICAgICAgdGhpcy5uZWVkRmV0Y2gkLm5leHQoKTtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZSQubmV4dCh7IHR5cGU6ICdwYWdlJywgc3RhdGU6IGV2dCB9KTtcbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybnMgZGVmYXVsdCB0YWJsZSBzdGF0ZS4gKi9cbiAgICBnZXREZWZhdWx0U3RhdGUoKTogVGFibGVTdGF0ZSB7XG4gICAgICAgIGNvbnN0IHRhYmxlU3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbHVtbktleXM6IHRhYmxlU3RhdGUuY29sdW1uS2V5cyxcbiAgICAgICAgICAgIHNvcnRCeTogW10sXG4gICAgICAgICAgICBmaWx0ZXJCeTogW10sXG4gICAgICAgICAgICBncm91cEJ5OiBbXSxcbiAgICAgICAgICAgIGNvbHVtbnM6IHRhYmxlU3RhdGUuY29sdW1ucyxcbiAgICAgICAgICAgIHNlYXJjaElucHV0OiB7XG4gICAgICAgICAgICAgICAgY2F0ZWdvcnk6IG51bGwsXG4gICAgICAgICAgICAgICAgdGV4dDogJydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmcmVlemVUb0NvbHVtbjogbnVsbCxcbiAgICAgICAgICAgIGZyZWV6ZVRvRW5kQ29sdW1uOiBudWxsLFxuICAgICAgICAgICAgcGFnZToge1xuICAgICAgICAgICAgICAgIHBhZ2VTaXplOiAwLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRQYWdlOiAxXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2Nyb2xsVG9wUG9zaXRpb246IDBcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaGFyZXMgdmlzaWJsZSBjb2x1bW5zIGFycmF5IGFjcm9zcyBsaXN0ZW5lcnMuXG4gICAgICogQHBhcmFtIGNvbHVtbnMgVmlzaWJsZSBjb2x1bW5zIHRvIHNoYXJlLlxuICAgICAqL1xuICAgIHNldFZpc2libGVDb2x1bW5zKGNvbHVtbnM6IFRhYmxlQ29sdW1uW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy52aXNpYmxlQ29sdW1ucyQubmV4dChjb2x1bW5zKTtcbiAgICAgICAgdGhpcy52aXNpYmxlQ29sdW1uc0xlbmd0aCA9IGNvbHVtbnMubGVuZ3RoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNoYXJlcyBwb3BwaW5nIGNvbHVtbnMgYXJyYXkgYWNyb3NzIGxpc3RlbmVycy5cbiAgICAgKiBAcGFyYW0gY29sdW1ucyBQb3BwaW5nIGNvbHVtbnMgdG8gc2hhcmUuXG4gICAgICovXG4gICAgc2V0UG9wcGluZ0NvbHVtbnMoY29sdW1uczogVGFibGVDb2x1bW5bXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnBvcHBpbmdDb2x1bW5zJC5uZXh0KGNvbHVtbnMpO1xuICAgICAgICB0aGlzLl9wb3BwaW5nQ29sdW1uc0xlbmd0aCA9IGNvbHVtbnMubGVuZ3RoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgZ3JvdXBpbmcgcnVsZXMgYmFzZWQgb24gdGhlIHRhYmxlIHN0YXRlLlxuICAgICAqIEBwYXJhbSBzdGF0ZSBUYWJsZSBzdGF0ZS5cbiAgICAgKi9cbiAgICBidWlsZEdyb3VwUnVsZXNNYXAoc3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKSk6IHZvaWQge1xuICAgICAgICBjb25zdCBncm91cE1hcCA9IG5ldyBNYXAoc3RhdGUuZ3JvdXBCeS5tYXAoKHJ1bGUpID0+IFtydWxlLmZpZWxkLCBydWxlXSkpO1xuICAgICAgICB0aGlzLmdyb3VwUnVsZXMkLm5leHQoZ3JvdXBNYXApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgc29ydGluZyBydWxlcyBiYXNlZCBvbiB0aGUgdGFibGUgc3RhdGUuXG4gICAgICogQHBhcmFtIHN0YXRlIFRhYmxlIHN0YXRlXG4gICAgICovXG4gICAgYnVpbGRTb3J0UnVsZXNNYXAoc3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNvcnRSdWxlcyQubmV4dChuZXcgTWFwKHN0YXRlLnNvcnRCeS5maWx0ZXIoKHJ1bGUpID0+IHJ1bGUuZmllbGQpLm1hcCgocnVsZSkgPT4gW3J1bGUuZmllbGQhLCBydWxlXSkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RzIGZpbHRlciBydWxlcyBiYXNlZCBvbiB0aGUgdGFibGUgc3RhdGUuXG4gICAgICogQHBhcmFtIHN0YXRlIFRhYmxlIHN0YXRlLlxuICAgICAqL1xuICAgIGJ1aWxkRmlsdGVyUnVsZXNNYXAoc3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKSk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlclJ1bGVzJC5uZXh0KFxuICAgICAgICAgICAgc3RhdGUuZmlsdGVyQnkucmVkdWNlKChoYXNoLCBydWxlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gcnVsZS5maWVsZDtcbiAgICAgICAgICAgICAgICBpZiAoIWhhc2guaGFzKGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFzaC5zZXQoa2V5LCBbXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGhhc2guZ2V0KGtleSk/LnB1c2gocnVsZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGhhc2g7XG4gICAgICAgICAgICB9LCBuZXcgTWFwPHN0cmluZywgQ29sbGVjdGlvbkZpbHRlcltdPigpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgYmFzZSB0YWJsZSBjb25maWcuXG4gICAgICovXG4gICAgY29uc3RydWN0VGFibGVNZXRhZGF0YSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZEdyb3VwUnVsZXNNYXAoKTtcbiAgICAgICAgdGhpcy5idWlsZFNvcnRSdWxlc01hcCgpO1xuICAgICAgICB0aGlzLmJ1aWxkRmlsdGVyUnVsZXNNYXAoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHNldEN1cnJlbnRQYWdlVG9TdGF0ZShzdGF0ZTogVGFibGVTdGF0ZSwgY3VycmVudFBhZ2U6IG51bWJlcik6IFRhYmxlU3RhdGUge1xuICAgIGNvbnN0IG5ld1BhZ2VTdGF0ZTogQ29sbGVjdGlvblBhZ2UgPSB7IC4uLnN0YXRlLnBhZ2UsIGN1cnJlbnRQYWdlIH07XG4gICAgcmV0dXJuIHsgLi4uc3RhdGUsIHBhZ2U6IG5ld1BhZ2VTdGF0ZSB9O1xufVxuIl19
@@ -30,8 +30,8 @@ const importExports = [
30
30
  ];
31
31
  export class TableHelpersModule {
32
32
  }
33
- TableHelpersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableHelpersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
34
- TableHelpersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: TableHelpersModule, imports: [TableInitialStateDirective,
33
+ TableHelpersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableHelpersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
34
+ TableHelpersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TableHelpersModule, imports: [TableInitialStateDirective,
35
35
  TableDraggableDirective,
36
36
  TableVirtualScrollDirective,
37
37
  PlatformTableColumnResponsiveDirective,
@@ -78,8 +78,8 @@ TableHelpersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", vers
78
78
  TableCellStylesPipe,
79
79
  ColumnResizableSidePipe,
80
80
  RowClassesPipe] });
81
- TableHelpersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableHelpersModule });
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableHelpersModule, decorators: [{
81
+ TableHelpersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableHelpersModule });
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableHelpersModule, decorators: [{
83
83
  type: NgModule,
84
84
  args: [{
85
85
  imports: [...importExports],
@@ -133,9 +133,9 @@ export class ThumbnailDetailsComponent {
133
133
  }
134
134
  }
135
135
  }
136
- ThumbnailDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ThumbnailDetailsComponent, deps: [{ token: i1.DialogRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
137
- ThumbnailDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ThumbnailDetailsComponent, selector: "fdp-thumbnail-details", host: { listeners: { "keydown.arrowright": "onKeydownArrowRight($event)", "keydown.arrowleft": "onKeydownArrowLeft($event)" } }, viewQueries: [{ propertyName: "thumbnailImage", first: true, predicate: i0.forwardRef(function () { return ThumbnailImageComponent; }), descendants: true }], ngImport: i0, template: "<fd-dialog [attr.dir]=\"_data.rtl ? 'rtl' : 'ltr'\">\n <fd-dialog-header>\n <h5 [attr.id]=\"_data.thumbnailId\" [headerSize]=\"5\" fd-title>{{ _data.selectedMedia.title }}</h5>\n </fd-dialog-header>\n <fd-dialog-body>\n <button\n class=\"fd-button fdp-thumbnail-button--left\"\n [title]=\"'platformThumbnail.detailsGotoPreviousButtonTitle' | fdTranslate\"\n [attr.aria-label]=\"'platformThumbnail.detailsGotoPreviousButtonTitle' | fdTranslate\"\n (click)=\"_data.rtl ? next() : previous()\"\n [disabled]=\"leftButtonDisabled\"\n [style.z-index]=\"1\"\n data-slide=\"previous\"\n >\n <i class=\"sap-icon--slim-arrow-left\"></i>\n </button>\n <div class=\"fdp-media-container\">\n <img\n *ngIf=\"_data.selectedMedia.mediaType === 'image'\"\n class=\"fdp-dialog-media-thumbnail-img\"\n [attr.aria-label]=\"_data.selectedMedia.label\"\n [src]=\"_data.selectedMedia.thumbnailUrl\"\n alt=\"first image\"\n />\n\n <video\n *ngIf=\"_data.selectedMedia.mediaType === 'video'\"\n [attr.aria-label]=\"_data.selectedMedia.label\"\n [src]=\"_data.selectedMedia.mediaUrl\"\n controls\n >\n {{ _data.selectedMedia.alt }}\n <track\n [src]=\"_data.selectedMedia.captionFile\"\n kind=\"captions\"\n srclang=\"en\"\n [label]=\"_data.selectedMedia.label\"\n />\n <track\n [src]=\"_data.selectedMedia.audioDescFile\"\n kind=\"descriptions\"\n srclang=\"en\"\n [label]=\"_data.selectedMedia.label\"\n />\n </video>\n </div>\n <button\n class=\"fd-button fdp-thumbnail-button--right\"\n [title]=\"'platformThumbnail.detailsGotoNextButtonTitle' | fdTranslate\"\n [attr.aria-label]=\"'platformThumbnail.detailsGotoNextButtonTitle' | fdTranslate\"\n (click)=\"_data.rtl ? previous() : next()\"\n [disabled]=\"rightButtonDisabled\"\n [style.z-index]=\"1\"\n data-slide=\"next\"\n >\n <i class=\"sap-icon--slim-arrow-right\"></i>\n </button>\n <fdp-thumbnail-image\n [mediaList]=\"_data.mediaList\"\n [isHorizontal]=\"true\"\n [maxImages]=\"_data.mediaList.length\"\n (thumbnailClicked)=\"thumbnailClickHandle($event)\"\n ></fdp-thumbnail-image>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <button\n fd-button\n [label]=\"'platformThumbnail.detailsDialogCloseBtnLabel' | fdTranslate\"\n fdType=\"transparent\"\n (click)=\"closeDialog()\"\n ></button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [":host ::ng-deep fd-dialog :after{width:84rem;height:45.5rem}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--left{position:absolute;top:50%;left:2rem;border-radius:50%}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--left:hover{cursor:pointer}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--left:disabled{cursor:default}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--right{right:2rem;position:absolute;top:50%;border-radius:50%}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--right:hover{cursor:pointer}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--right:disabled{cursor:default}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container{position:relative;height:33.125rem;display:flex;width:84rem;max-width:100%;justify-content:center}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container:focus,:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container img{max-width:33.125rem;max-height:33.125rem;max-width:100%;height:auto;position:absolute;padding:.688rem;bottom:0}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container video{max-width:33.125rem;max-height:33.125rem;width:33.125rem;height:33.125rem;position:absolute;padding:.688rem;bottom:0;left:0}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container{text-align:center}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container .fdp-thumbnail-image{width:4.625rem;height:4.625rem}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container fd-avatar{width:4.625rem;height:4.625rem}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container .fdp-thumbnail-image--selected,:host ::ng-deep fd-dialog .fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--selected{width:inherit!important;height:inherit!important;border:.015rem solid;border-radius:.25rem;border-color:#085caf;border-color:var(--sapButton_Emphasized_Hover_BorderColor, #085caf)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i1.DialogFooterButtonComponent, selector: "fd-dialog-footer-button" }, { kind: "component", type: i3.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.ThumbnailImageComponent, selector: "fdp-thumbnail-image", inputs: ["mediaList", "isHorizontal", "maxImages", "roleDescription", "thumbnailId"], outputs: ["thumbnailClicked", "openDetailsDialog"] }, { kind: "pipe", type: i6.FdTranslatePipe, name: "fdTranslate" }] });
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ThumbnailDetailsComponent, decorators: [{
136
+ ThumbnailDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ThumbnailDetailsComponent, deps: [{ token: i1.DialogRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
137
+ ThumbnailDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ThumbnailDetailsComponent, selector: "fdp-thumbnail-details", host: { listeners: { "keydown.arrowright": "onKeydownArrowRight($event)", "keydown.arrowleft": "onKeydownArrowLeft($event)" } }, viewQueries: [{ propertyName: "thumbnailImage", first: true, predicate: i0.forwardRef(function () { return ThumbnailImageComponent; }), descendants: true }], ngImport: i0, template: "<fd-dialog [attr.dir]=\"_data.rtl ? 'rtl' : 'ltr'\">\n <fd-dialog-header>\n <h5 [attr.id]=\"_data.thumbnailId\" [headerSize]=\"5\" fd-title>{{ _data.selectedMedia.title }}</h5>\n </fd-dialog-header>\n <fd-dialog-body>\n <button\n class=\"fd-button fdp-thumbnail-button--left\"\n [title]=\"'platformThumbnail.detailsGotoPreviousButtonTitle' | fdTranslate\"\n [attr.aria-label]=\"'platformThumbnail.detailsGotoPreviousButtonTitle' | fdTranslate\"\n (click)=\"_data.rtl ? next() : previous()\"\n [disabled]=\"leftButtonDisabled\"\n [style.z-index]=\"1\"\n data-slide=\"previous\"\n >\n <i class=\"sap-icon--slim-arrow-left\"></i>\n </button>\n <div class=\"fdp-media-container\">\n <img\n *ngIf=\"_data.selectedMedia.mediaType === 'image'\"\n class=\"fdp-dialog-media-thumbnail-img\"\n [attr.aria-label]=\"_data.selectedMedia.label\"\n [src]=\"_data.selectedMedia.thumbnailUrl\"\n alt=\"first image\"\n />\n\n <video\n *ngIf=\"_data.selectedMedia.mediaType === 'video'\"\n [attr.aria-label]=\"_data.selectedMedia.label\"\n [src]=\"_data.selectedMedia.mediaUrl\"\n controls\n >\n {{ _data.selectedMedia.alt }}\n <track\n [src]=\"_data.selectedMedia.captionFile\"\n kind=\"captions\"\n srclang=\"en\"\n [label]=\"_data.selectedMedia.label\"\n />\n <track\n [src]=\"_data.selectedMedia.audioDescFile\"\n kind=\"descriptions\"\n srclang=\"en\"\n [label]=\"_data.selectedMedia.label\"\n />\n </video>\n </div>\n <button\n class=\"fd-button fdp-thumbnail-button--right\"\n [title]=\"'platformThumbnail.detailsGotoNextButtonTitle' | fdTranslate\"\n [attr.aria-label]=\"'platformThumbnail.detailsGotoNextButtonTitle' | fdTranslate\"\n (click)=\"_data.rtl ? previous() : next()\"\n [disabled]=\"rightButtonDisabled\"\n [style.z-index]=\"1\"\n data-slide=\"next\"\n >\n <i class=\"sap-icon--slim-arrow-right\"></i>\n </button>\n <fdp-thumbnail-image\n [mediaList]=\"_data.mediaList\"\n [isHorizontal]=\"true\"\n [maxImages]=\"_data.mediaList.length\"\n (thumbnailClicked)=\"thumbnailClickHandle($event)\"\n ></fdp-thumbnail-image>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <button\n fd-button\n [label]=\"'platformThumbnail.detailsDialogCloseBtnLabel' | fdTranslate\"\n fdType=\"transparent\"\n (click)=\"closeDialog()\"\n ></button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [":host ::ng-deep fd-dialog :after{width:84rem;height:45.5rem}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--left{position:absolute;top:50%;left:2rem;border-radius:50%}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--left:hover{cursor:pointer}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--left:disabled{cursor:default}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--right{right:2rem;position:absolute;top:50%;border-radius:50%}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--right:hover{cursor:pointer}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--right:disabled{cursor:default}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container{position:relative;height:33.125rem;display:flex;width:84rem;max-width:100%;justify-content:center}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container:focus,:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container img{max-width:33.125rem;max-height:33.125rem;max-width:100%;height:auto;position:absolute;padding:.688rem;bottom:0}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container video{max-width:33.125rem;max-height:33.125rem;width:33.125rem;height:33.125rem;position:absolute;padding:.688rem;bottom:0;left:0}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container{text-align:center}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container .fdp-thumbnail-image{width:4.625rem;height:4.625rem}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container fd-avatar{width:4.625rem;height:4.625rem}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container .fdp-thumbnail-image--selected,:host ::ng-deep fd-dialog .fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--selected{width:inherit!important;height:inherit!important;border:.015rem solid;border-radius:.25rem;border-color:#085caf;border-color:var(--sapButton_Emphasized_Hover_BorderColor, #085caf)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i1.DialogFooterButtonComponent, selector: "fd-dialog-footer-button" }, { kind: "component", type: i3.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.ThumbnailImageComponent, selector: "fdp-thumbnail-image", inputs: ["mediaList", "isHorizontal", "maxImages", "roleDescription", "thumbnailId"], outputs: ["thumbnailClicked", "openDetailsDialog"] }, { kind: "pipe", type: i6.FdTranslatePipe, name: "fdTranslate" }] });
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ThumbnailDetailsComponent, decorators: [{
139
139
  type: Component,
140
140
  args: [{ selector: 'fdp-thumbnail-details', template: "<fd-dialog [attr.dir]=\"_data.rtl ? 'rtl' : 'ltr'\">\n <fd-dialog-header>\n <h5 [attr.id]=\"_data.thumbnailId\" [headerSize]=\"5\" fd-title>{{ _data.selectedMedia.title }}</h5>\n </fd-dialog-header>\n <fd-dialog-body>\n <button\n class=\"fd-button fdp-thumbnail-button--left\"\n [title]=\"'platformThumbnail.detailsGotoPreviousButtonTitle' | fdTranslate\"\n [attr.aria-label]=\"'platformThumbnail.detailsGotoPreviousButtonTitle' | fdTranslate\"\n (click)=\"_data.rtl ? next() : previous()\"\n [disabled]=\"leftButtonDisabled\"\n [style.z-index]=\"1\"\n data-slide=\"previous\"\n >\n <i class=\"sap-icon--slim-arrow-left\"></i>\n </button>\n <div class=\"fdp-media-container\">\n <img\n *ngIf=\"_data.selectedMedia.mediaType === 'image'\"\n class=\"fdp-dialog-media-thumbnail-img\"\n [attr.aria-label]=\"_data.selectedMedia.label\"\n [src]=\"_data.selectedMedia.thumbnailUrl\"\n alt=\"first image\"\n />\n\n <video\n *ngIf=\"_data.selectedMedia.mediaType === 'video'\"\n [attr.aria-label]=\"_data.selectedMedia.label\"\n [src]=\"_data.selectedMedia.mediaUrl\"\n controls\n >\n {{ _data.selectedMedia.alt }}\n <track\n [src]=\"_data.selectedMedia.captionFile\"\n kind=\"captions\"\n srclang=\"en\"\n [label]=\"_data.selectedMedia.label\"\n />\n <track\n [src]=\"_data.selectedMedia.audioDescFile\"\n kind=\"descriptions\"\n srclang=\"en\"\n [label]=\"_data.selectedMedia.label\"\n />\n </video>\n </div>\n <button\n class=\"fd-button fdp-thumbnail-button--right\"\n [title]=\"'platformThumbnail.detailsGotoNextButtonTitle' | fdTranslate\"\n [attr.aria-label]=\"'platformThumbnail.detailsGotoNextButtonTitle' | fdTranslate\"\n (click)=\"_data.rtl ? previous() : next()\"\n [disabled]=\"rightButtonDisabled\"\n [style.z-index]=\"1\"\n data-slide=\"next\"\n >\n <i class=\"sap-icon--slim-arrow-right\"></i>\n </button>\n <fdp-thumbnail-image\n [mediaList]=\"_data.mediaList\"\n [isHorizontal]=\"true\"\n [maxImages]=\"_data.mediaList.length\"\n (thumbnailClicked)=\"thumbnailClickHandle($event)\"\n ></fdp-thumbnail-image>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <button\n fd-button\n [label]=\"'platformThumbnail.detailsDialogCloseBtnLabel' | fdTranslate\"\n fdType=\"transparent\"\n (click)=\"closeDialog()\"\n ></button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [":host ::ng-deep fd-dialog :after{width:84rem;height:45.5rem}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--left{position:absolute;top:50%;left:2rem;border-radius:50%}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--left:hover{cursor:pointer}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--left:disabled{cursor:default}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--right{right:2rem;position:absolute;top:50%;border-radius:50%}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--right:hover{cursor:pointer}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--right:disabled{cursor:default}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container{position:relative;height:33.125rem;display:flex;width:84rem;max-width:100%;justify-content:center}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container:focus,:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container img{max-width:33.125rem;max-height:33.125rem;max-width:100%;height:auto;position:absolute;padding:.688rem;bottom:0}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container video{max-width:33.125rem;max-height:33.125rem;width:33.125rem;height:33.125rem;position:absolute;padding:.688rem;bottom:0;left:0}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container{text-align:center}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container .fdp-thumbnail-image{width:4.625rem;height:4.625rem}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container fd-avatar{width:4.625rem;height:4.625rem}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container .fdp-thumbnail-image--selected,:host ::ng-deep fd-dialog .fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--selected{width:inherit!important;height:inherit!important;border:.015rem solid;border-radius:.25rem;border-color:#085caf;border-color:var(--sapButton_Emphasized_Hover_BorderColor, #085caf)}\n"] }]
141
141
  }], ctorParameters: function () { return [{ type: i1.DialogRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { thumbnailImage: [{
@@ -71,9 +71,9 @@ export class ThumbnailImageComponent {
71
71
  image.overlayRequired ? this.openDialog(image) : this.thumbnailClick(image, event);
72
72
  }
73
73
  }
74
- ThumbnailImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ThumbnailImageComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DialogService }, { token: i2.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
75
- ThumbnailImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ThumbnailImageComponent, selector: "fdp-thumbnail-image", inputs: { mediaList: "mediaList", isHorizontal: "isHorizontal", maxImages: "maxImages", roleDescription: "roleDescription", thumbnailId: "thumbnailId" }, outputs: { thumbnailClicked: "thumbnailClicked", openDetailsDialog: "openDetailsDialog" }, viewQueries: [{ propertyName: "thumbnailImages", predicate: ["thumbnailImage"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"fdp-thumbnail-image-container\" role=\"listbox\">\n <div\n #thumbnailImage\n *ngFor=\"let image of mediaList | slice: 0:maxImages; let i = index\"\n [class]=\"isHorizontal ? 'fdp-thumbnail-image--horizontal' : 'fdp-thumbnail-image'\"\n [class.fdp-thumbnail-image--selected]=\"image.selected\"\n [class.fdp-thumbnail-image--overlay]=\"image.overlayRequired\"\n (click)=\"openImage(image)\"\n (keydown.space)=\"openImage(image, $event)\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-roledescription]=\"roleDescription || ('platformThumbnail.roleDescription' | fdTranslate)\"\n [attr.aria-selected]=\"image.selected\"\n [attr.title]=\"image.label\"\n [attr.aria-label]=\"image.label\"\n >\n <fd-avatar [image]=\"image.thumbnailUrl\" size=\"m\"></fd-avatar>\n <div class=\"fdp-thumbnail-overflow\" *ngIf=\"image.overlayRequired\">+{{ mediaList.length - maxImages }}</div>\n </div>\n</div>\n", styles: [".fdp-thumbnail-image-container{display:block}.fdp-thumbnail-image-container .fdp-thumbnail-image{width:4.625rem;height:4.625rem;border:.015rem solid transparent;border-radius:.25rem;margin:.688rem;position:relative}.fdp-thumbnail-image-container .fdp-thumbnail-image fd-avatar{width:4.625rem;height:4.625rem;max-width:4.625rem;max-height:4.625rem}.fdp-thumbnail-image-container .fdp-thumbnail-image:hover{cursor:pointer;border-color:var(--sapLink_Hover_Color)}.fdp-thumbnail-image-container .fdp-thumbnail-image:focus,.fdp-thumbnail-image-container .fdp-thumbnail-image.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal{display:inline-block;border:.015rem solid transparent;background-clip:border-box;margin:.688rem;position:relative}.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal:hover{cursor:pointer;border-color:var(--sapLink_Hover_Color)}.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal:focus,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-image-container .fdp-thumbnail-image--selected,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--selected{margin:0;width:5.75rem;height:5.5rem;border:.015rem solid;border-radius:.25rem;border-color:#085caf;border-color:var(--sapButton_Emphasized_Hover_BorderColor, #085caf);border-width:var(--sapButton_BorderWidth)}.fdp-thumbnail-image-container .fdp-thumbnail-image--selected fd-avatar,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--selected fd-avatar{width:5.75rem;height:5.5rem;max-width:5.75rem;max-height:5.5rem}.fdp-thumbnail-image-container .fdp-thumbnail-image--overlay,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--overlay{opacity:.5}.fdp-thumbnail-image-container .fdp-thumbnail-overflow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;color:var(--sapShell_TextColor, #fff)}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "backgroundImage", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "pipe", type: i3.SlicePipe, name: "slice" }, { kind: "pipe", type: i5.FdTranslatePipe, name: "fdTranslate" }] });
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ThumbnailImageComponent, decorators: [{
74
+ ThumbnailImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ThumbnailImageComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DialogService }, { token: i2.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
75
+ ThumbnailImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ThumbnailImageComponent, selector: "fdp-thumbnail-image", inputs: { mediaList: "mediaList", isHorizontal: "isHorizontal", maxImages: "maxImages", roleDescription: "roleDescription", thumbnailId: "thumbnailId" }, outputs: { thumbnailClicked: "thumbnailClicked", openDetailsDialog: "openDetailsDialog" }, viewQueries: [{ propertyName: "thumbnailImages", predicate: ["thumbnailImage"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"fdp-thumbnail-image-container\" role=\"listbox\">\n <div\n #thumbnailImage\n *ngFor=\"let image of mediaList | slice: 0:maxImages; let i = index\"\n [class]=\"isHorizontal ? 'fdp-thumbnail-image--horizontal' : 'fdp-thumbnail-image'\"\n [class.fdp-thumbnail-image--selected]=\"image.selected\"\n [class.fdp-thumbnail-image--overlay]=\"image.overlayRequired\"\n (click)=\"openImage(image)\"\n (keydown.space)=\"openImage(image, $event)\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-roledescription]=\"roleDescription || ('platformThumbnail.roleDescription' | fdTranslate)\"\n [attr.aria-selected]=\"image.selected\"\n [attr.title]=\"image.label\"\n [attr.aria-label]=\"image.label\"\n >\n <fd-avatar [image]=\"image.thumbnailUrl\" size=\"m\"></fd-avatar>\n <div class=\"fdp-thumbnail-overflow\" *ngIf=\"image.overlayRequired\">+{{ mediaList.length - maxImages }}</div>\n </div>\n</div>\n", styles: [".fdp-thumbnail-image-container{display:block}.fdp-thumbnail-image-container .fdp-thumbnail-image{width:4.625rem;height:4.625rem;border:.015rem solid transparent;border-radius:.25rem;margin:.688rem;position:relative}.fdp-thumbnail-image-container .fdp-thumbnail-image fd-avatar{width:4.625rem;height:4.625rem;max-width:4.625rem;max-height:4.625rem}.fdp-thumbnail-image-container .fdp-thumbnail-image:hover{cursor:pointer;border-color:var(--sapLink_Hover_Color)}.fdp-thumbnail-image-container .fdp-thumbnail-image:focus,.fdp-thumbnail-image-container .fdp-thumbnail-image.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal{display:inline-block;border:.015rem solid transparent;background-clip:border-box;margin:.688rem;position:relative}.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal:hover{cursor:pointer;border-color:var(--sapLink_Hover_Color)}.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal:focus,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-image-container .fdp-thumbnail-image--selected,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--selected{margin:0;width:5.75rem;height:5.5rem;border:.015rem solid;border-radius:.25rem;border-color:#085caf;border-color:var(--sapButton_Emphasized_Hover_BorderColor, #085caf);border-width:var(--sapButton_BorderWidth)}.fdp-thumbnail-image-container .fdp-thumbnail-image--selected fd-avatar,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--selected fd-avatar{width:5.75rem;height:5.5rem;max-width:5.75rem;max-height:5.5rem}.fdp-thumbnail-image-container .fdp-thumbnail-image--overlay,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--overlay{opacity:.5}.fdp-thumbnail-image-container .fdp-thumbnail-overflow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;color:var(--sapShell_TextColor, #fff)}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "backgroundImage", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "pipe", type: i3.SlicePipe, name: "slice" }, { kind: "pipe", type: i5.FdTranslatePipe, name: "fdTranslate" }] });
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ThumbnailImageComponent, decorators: [{
77
77
  type: Component,
78
78
  args: [{ selector: 'fdp-thumbnail-image', template: "<div class=\"fdp-thumbnail-image-container\" role=\"listbox\">\n <div\n #thumbnailImage\n *ngFor=\"let image of mediaList | slice: 0:maxImages; let i = index\"\n [class]=\"isHorizontal ? 'fdp-thumbnail-image--horizontal' : 'fdp-thumbnail-image'\"\n [class.fdp-thumbnail-image--selected]=\"image.selected\"\n [class.fdp-thumbnail-image--overlay]=\"image.overlayRequired\"\n (click)=\"openImage(image)\"\n (keydown.space)=\"openImage(image, $event)\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-roledescription]=\"roleDescription || ('platformThumbnail.roleDescription' | fdTranslate)\"\n [attr.aria-selected]=\"image.selected\"\n [attr.title]=\"image.label\"\n [attr.aria-label]=\"image.label\"\n >\n <fd-avatar [image]=\"image.thumbnailUrl\" size=\"m\"></fd-avatar>\n <div class=\"fdp-thumbnail-overflow\" *ngIf=\"image.overlayRequired\">+{{ mediaList.length - maxImages }}</div>\n </div>\n</div>\n", styles: [".fdp-thumbnail-image-container{display:block}.fdp-thumbnail-image-container .fdp-thumbnail-image{width:4.625rem;height:4.625rem;border:.015rem solid transparent;border-radius:.25rem;margin:.688rem;position:relative}.fdp-thumbnail-image-container .fdp-thumbnail-image fd-avatar{width:4.625rem;height:4.625rem;max-width:4.625rem;max-height:4.625rem}.fdp-thumbnail-image-container .fdp-thumbnail-image:hover{cursor:pointer;border-color:var(--sapLink_Hover_Color)}.fdp-thumbnail-image-container .fdp-thumbnail-image:focus,.fdp-thumbnail-image-container .fdp-thumbnail-image.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal{display:inline-block;border:.015rem solid transparent;background-clip:border-box;margin:.688rem;position:relative}.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal:hover{cursor:pointer;border-color:var(--sapLink_Hover_Color)}.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal:focus,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-image-container .fdp-thumbnail-image--selected,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--selected{margin:0;width:5.75rem;height:5.5rem;border:.015rem solid;border-radius:.25rem;border-color:#085caf;border-color:var(--sapButton_Emphasized_Hover_BorderColor, #085caf);border-width:var(--sapButton_BorderWidth)}.fdp-thumbnail-image-container .fdp-thumbnail-image--selected fd-avatar,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--selected fd-avatar{width:5.75rem;height:5.5rem;max-width:5.75rem;max-height:5.5rem}.fdp-thumbnail-image-container .fdp-thumbnail-image--overlay,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--overlay{opacity:.5}.fdp-thumbnail-image-container .fdp-thumbnail-overflow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;color:var(--sapShell_TextColor, #fff)}\n"] }]
79
79
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.DialogService }, { type: i2.RtlService, decorators: [{
@@ -120,9 +120,9 @@ export class ThumbnailComponent extends BaseComponent {
120
120
  this._cdr.detectChanges();
121
121
  }
122
122
  }
123
- ThumbnailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ThumbnailComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DialogService }, { token: i2.RtlService, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
124
- ThumbnailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ThumbnailComponent, selector: "fdp-thumbnail", inputs: { mediaList: "mediaList", isHorizontal: "isHorizontal", maxImagesDisplay: "maxImagesDisplay" }, outputs: { thumbnailClicked: "thumbnailClicked" }, host: { listeners: { "keydown.arrowright": "onKeydownArrowRight($event)", "keydown.arrowleft": "onKeydownArrowLeft($event)" } }, viewQueries: [{ propertyName: "thumbnailImage", first: true, predicate: i0.forwardRef(function () { return ThumbnailImageComponent; }), descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"fdp-thumbnail-container\" [class.fdp-thumbnail-container--horizontal]=\"isHorizontal\">\n <fdp-thumbnail-image\n *ngIf=\"!isHorizontal\"\n [thumbnailId]=\"thumbnailId\"\n [mediaList]=\"mediaList\"\n [maxImages]=\"maxImagesDisplay\"\n [isHorizontal]=\"isHorizontal\"\n (thumbnailClicked)=\"thumbnailClickHandle($event)\"\n (openDetailsDialog)=\"openDialog($event)\"\n ></fdp-thumbnail-image>\n <div class=\"fdp-media-container\">\n <img\n tabindex=\"0\"\n *ngIf=\"selectedMedia.mediaType === 'image'\"\n [attr.title]=\"selectedMedia.label\"\n [attr.aria-label]=\"selectedMedia.label\"\n [attr.src]=\"selectedMedia.mediaUrl\"\n [attr.alt]=\"selectedMedia.alt\"\n (click)=\"openDialog()\"\n (keydown.space)=\"openDialog()\"\n />\n <video\n tabindex=\"0\"\n *ngIf=\"selectedMedia.mediaType === 'video'\"\n [src]=\"selectedMedia.mediaUrl\"\n (click)=\"openDialog()\"\n (keydown.space)=\"openDialog()\"\n [attr.aria-label]=\"selectedMedia.label\"\n >\n {{ selectedMedia.alt }}\n <track [src]=\"selectedMedia.captionFile\" kind=\"captions\" srclang=\"en\" [label]=\"selectedMedia.label\" />\n <track [src]=\"selectedMedia.audioDescFile\" kind=\"descriptions\" srclang=\"en\" [label]=\"selectedMedia.label\" />\n </video>\n </div>\n <fdp-thumbnail-image\n *ngIf=\"isHorizontal\"\n [mediaList]=\"mediaList\"\n [maxImages]=\"maxImagesDisplay\"\n [isHorizontal]=\"isHorizontal\"\n (thumbnailClicked)=\"thumbnailClickHandle($event)\"\n (openDetailsDialog)=\"openDialog($event)\"\n ></fdp-thumbnail-image>\n</div>\n", styles: [".fdp-thumbnail-container{display:inline-flex;width:100%;height:auto}.fdp-thumbnail-container.fdp-thumbnail-container--horizontal{display:block}.fdp-thumbnail-container.fdp-thumbnail-container--horizontal .fdp-media-container{width:100%;max-width:33.125rem;height:33.125rem;padding:.688rem;margin:1rem;inline-size:auto}.fdp-thumbnail-container img{width:100%;height:auto;max-width:33.125rem;max-height:33.125rem;position:absolute}.fdp-thumbnail-container img:focus,.fdp-thumbnail-container img.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-container video{width:100%;height:auto;max-width:33.125rem;max-height:33.125rem;position:absolute}.fdp-thumbnail-container video:focus,.fdp-thumbnail-container video.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-container .fdp-media-container{position:relative;width:100%;max-width:33.125rem;height:33.125rem;padding:.688rem;margin:1rem;background-color:var(--sapNeutralBackground)}[dir=rtl] .fdp-thumbnail-container .fdp-media-container{margin-left:0;margin-right:1rem}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ThumbnailImageComponent, selector: "fdp-thumbnail-image", inputs: ["mediaList", "isHorizontal", "maxImages", "roleDescription", "thumbnailId"], outputs: ["thumbnailClicked", "openDetailsDialog"] }], encapsulation: i0.ViewEncapsulation.None });
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ThumbnailComponent, decorators: [{
123
+ ThumbnailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ThumbnailComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DialogService }, { token: i2.RtlService, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
124
+ ThumbnailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ThumbnailComponent, selector: "fdp-thumbnail", inputs: { mediaList: "mediaList", isHorizontal: "isHorizontal", maxImagesDisplay: "maxImagesDisplay" }, outputs: { thumbnailClicked: "thumbnailClicked" }, host: { listeners: { "keydown.arrowright": "onKeydownArrowRight($event)", "keydown.arrowleft": "onKeydownArrowLeft($event)" } }, viewQueries: [{ propertyName: "thumbnailImage", first: true, predicate: i0.forwardRef(function () { return ThumbnailImageComponent; }), descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"fdp-thumbnail-container\" [class.fdp-thumbnail-container--horizontal]=\"isHorizontal\">\n <fdp-thumbnail-image\n *ngIf=\"!isHorizontal\"\n [thumbnailId]=\"thumbnailId\"\n [mediaList]=\"mediaList\"\n [maxImages]=\"maxImagesDisplay\"\n [isHorizontal]=\"isHorizontal\"\n (thumbnailClicked)=\"thumbnailClickHandle($event)\"\n (openDetailsDialog)=\"openDialog($event)\"\n ></fdp-thumbnail-image>\n <div class=\"fdp-media-container\">\n <img\n tabindex=\"0\"\n *ngIf=\"selectedMedia.mediaType === 'image'\"\n [attr.title]=\"selectedMedia.label\"\n [attr.aria-label]=\"selectedMedia.label\"\n [attr.src]=\"selectedMedia.mediaUrl\"\n [attr.alt]=\"selectedMedia.alt\"\n (click)=\"openDialog()\"\n (keydown.space)=\"openDialog()\"\n />\n <video\n tabindex=\"0\"\n *ngIf=\"selectedMedia.mediaType === 'video'\"\n [src]=\"selectedMedia.mediaUrl\"\n (click)=\"openDialog()\"\n (keydown.space)=\"openDialog()\"\n [attr.aria-label]=\"selectedMedia.label\"\n >\n {{ selectedMedia.alt }}\n <track [src]=\"selectedMedia.captionFile\" kind=\"captions\" srclang=\"en\" [label]=\"selectedMedia.label\" />\n <track [src]=\"selectedMedia.audioDescFile\" kind=\"descriptions\" srclang=\"en\" [label]=\"selectedMedia.label\" />\n </video>\n </div>\n <fdp-thumbnail-image\n *ngIf=\"isHorizontal\"\n [mediaList]=\"mediaList\"\n [maxImages]=\"maxImagesDisplay\"\n [isHorizontal]=\"isHorizontal\"\n (thumbnailClicked)=\"thumbnailClickHandle($event)\"\n (openDetailsDialog)=\"openDialog($event)\"\n ></fdp-thumbnail-image>\n</div>\n", styles: [".fdp-thumbnail-container{display:inline-flex;width:100%;height:auto}.fdp-thumbnail-container.fdp-thumbnail-container--horizontal{display:block}.fdp-thumbnail-container.fdp-thumbnail-container--horizontal .fdp-media-container{width:100%;max-width:33.125rem;height:33.125rem;padding:.688rem;margin:1rem;inline-size:auto}.fdp-thumbnail-container img{width:100%;height:auto;max-width:33.125rem;max-height:33.125rem;position:absolute}.fdp-thumbnail-container img:focus,.fdp-thumbnail-container img.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-container video{width:100%;height:auto;max-width:33.125rem;max-height:33.125rem;position:absolute}.fdp-thumbnail-container video:focus,.fdp-thumbnail-container video.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-container .fdp-media-container{position:relative;width:100%;max-width:33.125rem;height:33.125rem;padding:.688rem;margin:1rem;background-color:var(--sapNeutralBackground)}[dir=rtl] .fdp-thumbnail-container .fdp-media-container{margin-left:0;margin-right:1rem}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ThumbnailImageComponent, selector: "fdp-thumbnail-image", inputs: ["mediaList", "isHorizontal", "maxImages", "roleDescription", "thumbnailId"], outputs: ["thumbnailClicked", "openDetailsDialog"] }], encapsulation: i0.ViewEncapsulation.None });
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ThumbnailComponent, decorators: [{
126
126
  type: Component,
127
127
  args: [{ selector: 'fdp-thumbnail', encapsulation: ViewEncapsulation.None, template: "<div class=\"fdp-thumbnail-container\" [class.fdp-thumbnail-container--horizontal]=\"isHorizontal\">\n <fdp-thumbnail-image\n *ngIf=\"!isHorizontal\"\n [thumbnailId]=\"thumbnailId\"\n [mediaList]=\"mediaList\"\n [maxImages]=\"maxImagesDisplay\"\n [isHorizontal]=\"isHorizontal\"\n (thumbnailClicked)=\"thumbnailClickHandle($event)\"\n (openDetailsDialog)=\"openDialog($event)\"\n ></fdp-thumbnail-image>\n <div class=\"fdp-media-container\">\n <img\n tabindex=\"0\"\n *ngIf=\"selectedMedia.mediaType === 'image'\"\n [attr.title]=\"selectedMedia.label\"\n [attr.aria-label]=\"selectedMedia.label\"\n [attr.src]=\"selectedMedia.mediaUrl\"\n [attr.alt]=\"selectedMedia.alt\"\n (click)=\"openDialog()\"\n (keydown.space)=\"openDialog()\"\n />\n <video\n tabindex=\"0\"\n *ngIf=\"selectedMedia.mediaType === 'video'\"\n [src]=\"selectedMedia.mediaUrl\"\n (click)=\"openDialog()\"\n (keydown.space)=\"openDialog()\"\n [attr.aria-label]=\"selectedMedia.label\"\n >\n {{ selectedMedia.alt }}\n <track [src]=\"selectedMedia.captionFile\" kind=\"captions\" srclang=\"en\" [label]=\"selectedMedia.label\" />\n <track [src]=\"selectedMedia.audioDescFile\" kind=\"descriptions\" srclang=\"en\" [label]=\"selectedMedia.label\" />\n </video>\n </div>\n <fdp-thumbnail-image\n *ngIf=\"isHorizontal\"\n [mediaList]=\"mediaList\"\n [maxImages]=\"maxImagesDisplay\"\n [isHorizontal]=\"isHorizontal\"\n (thumbnailClicked)=\"thumbnailClickHandle($event)\"\n (openDetailsDialog)=\"openDialog($event)\"\n ></fdp-thumbnail-image>\n</div>\n", styles: [".fdp-thumbnail-container{display:inline-flex;width:100%;height:auto}.fdp-thumbnail-container.fdp-thumbnail-container--horizontal{display:block}.fdp-thumbnail-container.fdp-thumbnail-container--horizontal .fdp-media-container{width:100%;max-width:33.125rem;height:33.125rem;padding:.688rem;margin:1rem;inline-size:auto}.fdp-thumbnail-container img{width:100%;height:auto;max-width:33.125rem;max-height:33.125rem;position:absolute}.fdp-thumbnail-container img:focus,.fdp-thumbnail-container img.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-container video{width:100%;height:auto;max-width:33.125rem;max-height:33.125rem;position:absolute}.fdp-thumbnail-container video:focus,.fdp-thumbnail-container video.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-container .fdp-media-container{position:relative;width:100%;max-width:33.125rem;height:33.125rem;padding:.688rem;margin:1rem;background-color:var(--sapNeutralBackground)}[dir=rtl] .fdp-thumbnail-container .fdp-media-container{margin-left:0;margin-right:1rem}\n"] }]
128
128
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.DialogService }, { type: i2.RtlService, decorators: [{
@@ -12,10 +12,10 @@ import { I18nModule } from '@fundamental-ngx/i18n';
12
12
  import * as i0 from "@angular/core";
13
13
  export class PlatformThumbnailModule {
14
14
  }
15
- PlatformThumbnailModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PlatformThumbnailModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
- PlatformThumbnailModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: PlatformThumbnailModule, declarations: [ThumbnailComponent, ThumbnailImageComponent, ThumbnailDetailsComponent], imports: [CommonModule, AvatarModule, DialogModule, CarouselModule, ButtonModule, I18nModule], exports: [ThumbnailComponent, ThumbnailImageComponent, ThumbnailDetailsComponent] });
17
- PlatformThumbnailModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PlatformThumbnailModule, providers: [RtlService, DialogRef], imports: [CommonModule, AvatarModule, DialogModule, CarouselModule, ButtonModule, I18nModule] });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PlatformThumbnailModule, decorators: [{
15
+ PlatformThumbnailModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PlatformThumbnailModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
+ PlatformThumbnailModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: PlatformThumbnailModule, declarations: [ThumbnailComponent, ThumbnailImageComponent, ThumbnailDetailsComponent], imports: [CommonModule, AvatarModule, DialogModule, CarouselModule, ButtonModule, I18nModule], exports: [ThumbnailComponent, ThumbnailImageComponent, ThumbnailDetailsComponent] });
17
+ PlatformThumbnailModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PlatformThumbnailModule, providers: [RtlService, DialogRef], imports: [CommonModule, AvatarModule, DialogModule, CarouselModule, ButtonModule, I18nModule] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PlatformThumbnailModule, decorators: [{
19
19
  type: NgModule,
20
20
  args: [{
21
21
  declarations: [ThumbnailComponent, ThumbnailImageComponent, ThumbnailDetailsComponent],
@@ -113,9 +113,9 @@ export class MoveToComponent {
113
113
  return foundObj;
114
114
  }
115
115
  }
116
- MoveToComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MoveToComponent, deps: [{ token: i1.DialogRef }, { token: i1.DialogService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
117
- MoveToComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: MoveToComponent, selector: "ng-component", ngImport: i0, template: "<fd-dialog>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h1 class=\"fd-title--bold\" *ngIf=\"!_currentFolder\" fd-title>\n {{ 'platformUploadCollection.moveToTitle' | fdTranslate }}\n </h1>\n <ng-container *ngIf=\"_currentFolder\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n (click)=\"_goToParentFolder()\"\n ></button>\n <h1 fd-title>\n <span>{{ 'platformUploadCollection.moveToTitleFolder' | fdTranslate }}</span>\n {{ _currentFolder.name }}\n </h1>\n </ng-container>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'platformUploadCollection.moveToNewFolderBtnLabel' | fdTranslate\"\n (click)=\"_newFolder()\"\n ></button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body class=\"fd-dialog__body--no-horizontal-padding\">\n <ul fd-list>\n <li *ngIf=\"!_currentFolder\" fd-list-item class=\"fd-list__item--title-background\">\n <span fd-list-title>{{ 'platformUploadCollection.moveToAllFilesSubHeaderLabel' | fdTranslate }}</span>\n </li>\n <li\n fd-list-item\n *ngFor=\"let folder of _foldersList\"\n [selected]=\"selectedFolder?.documentId === folder.documentId\"\n >\n <a fd-list-link (click)=\"_hasFolders(folder.files) ? _openFolder(folder) : _selectFolder(folder)\">\n <fd-icon class=\"fdp-upload-collection__fd-icon\" glyph=\"folder-blank\"></fd-icon>\n <span fd-list-title>{{ folder.name }}</span>\n <i *ngIf=\"_hasFolders(folder.files)\" fd-list-icon glyph=\"slim-arrow-right\"></i>\n </a>\n </li>\n </ul>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n type=\"submit\"\n [disabled]=\"\n !(\n (selectedFolder && originalFolder?.documentId !== selectedFolder.documentId) ||\n (!selectedFolder && originalFolder?.documentId !== _currentFolder?.documentId)\n )\n \"\n (click)=\"_confirm()\"\n >\n {{ 'platformUploadCollection.moveToConfirmBtn' | fdTranslate }}\n </fd-button-bar>\n <fd-button-bar (click)=\"_close()\">\n {{ 'platformUploadCollection.moveToCloseBtn' | fdTranslate }}\n </fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fd-list__item--title-background{background-color:var(--sapList_HeaderBackground)}.fd-dialog__body--no-horizontal-padding{padding-left:0!important;padding-right:0!important}.fd-title--bold{font-weight:700}\n"], dependencies: [{ 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: i3.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i4.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i4.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i4.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i5.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i6.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i7.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i8.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator"], outputs: ["focusEscapeList"] }, { kind: "component", type: i8.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i8.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i8.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "class", "role"] }, { kind: "directive", type: i8.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "pipe", type: i9.FdTranslatePipe, name: "fdTranslate" }] });
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MoveToComponent, decorators: [{
116
+ MoveToComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MoveToComponent, deps: [{ token: i1.DialogRef }, { token: i1.DialogService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
117
+ MoveToComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: MoveToComponent, selector: "ng-component", ngImport: i0, template: "<fd-dialog>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h1 class=\"fd-title--bold\" *ngIf=\"!_currentFolder\" fd-title>\n {{ 'platformUploadCollection.moveToTitle' | fdTranslate }}\n </h1>\n <ng-container *ngIf=\"_currentFolder\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n (click)=\"_goToParentFolder()\"\n ></button>\n <h1 fd-title>\n <span>{{ 'platformUploadCollection.moveToTitleFolder' | fdTranslate }}</span>\n {{ _currentFolder.name }}\n </h1>\n </ng-container>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'platformUploadCollection.moveToNewFolderBtnLabel' | fdTranslate\"\n (click)=\"_newFolder()\"\n ></button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body class=\"fd-dialog__body--no-horizontal-padding\">\n <ul fd-list>\n <li *ngIf=\"!_currentFolder\" fd-list-item class=\"fd-list__item--title-background\">\n <span fd-list-title>{{ 'platformUploadCollection.moveToAllFilesSubHeaderLabel' | fdTranslate }}</span>\n </li>\n <li\n fd-list-item\n *ngFor=\"let folder of _foldersList\"\n [selected]=\"selectedFolder?.documentId === folder.documentId\"\n >\n <a fd-list-link (click)=\"_hasFolders(folder.files) ? _openFolder(folder) : _selectFolder(folder)\">\n <fd-icon class=\"fdp-upload-collection__fd-icon\" glyph=\"folder-blank\"></fd-icon>\n <span fd-list-title>{{ folder.name }}</span>\n <i *ngIf=\"_hasFolders(folder.files)\" fd-list-icon glyph=\"slim-arrow-right\"></i>\n </a>\n </li>\n </ul>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n type=\"submit\"\n [disabled]=\"\n !(\n (selectedFolder && originalFolder?.documentId !== selectedFolder.documentId) ||\n (!selectedFolder && originalFolder?.documentId !== _currentFolder?.documentId)\n )\n \"\n (click)=\"_confirm()\"\n >\n {{ 'platformUploadCollection.moveToConfirmBtn' | fdTranslate }}\n </fd-button-bar>\n <fd-button-bar (click)=\"_close()\">\n {{ 'platformUploadCollection.moveToCloseBtn' | fdTranslate }}\n </fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fd-list__item--title-background{background-color:var(--sapList_HeaderBackground)}.fd-dialog__body--no-horizontal-padding{padding-left:0!important;padding-right:0!important}.fd-title--bold{font-weight:700}\n"], dependencies: [{ 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: i3.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i4.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i4.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i4.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i5.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i6.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i7.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i8.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator"], outputs: ["focusEscapeList"] }, { kind: "component", type: i8.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i8.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i8.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "class", "role"] }, { kind: "directive", type: i8.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "pipe", type: i9.FdTranslatePipe, name: "fdTranslate" }] });
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MoveToComponent, decorators: [{
119
119
  type: Component,
120
120
  args: [{ template: "<fd-dialog>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h1 class=\"fd-title--bold\" *ngIf=\"!_currentFolder\" fd-title>\n {{ 'platformUploadCollection.moveToTitle' | fdTranslate }}\n </h1>\n <ng-container *ngIf=\"_currentFolder\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n (click)=\"_goToParentFolder()\"\n ></button>\n <h1 fd-title>\n <span>{{ 'platformUploadCollection.moveToTitleFolder' | fdTranslate }}</span>\n {{ _currentFolder.name }}\n </h1>\n </ng-container>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'platformUploadCollection.moveToNewFolderBtnLabel' | fdTranslate\"\n (click)=\"_newFolder()\"\n ></button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body class=\"fd-dialog__body--no-horizontal-padding\">\n <ul fd-list>\n <li *ngIf=\"!_currentFolder\" fd-list-item class=\"fd-list__item--title-background\">\n <span fd-list-title>{{ 'platformUploadCollection.moveToAllFilesSubHeaderLabel' | fdTranslate }}</span>\n </li>\n <li\n fd-list-item\n *ngFor=\"let folder of _foldersList\"\n [selected]=\"selectedFolder?.documentId === folder.documentId\"\n >\n <a fd-list-link (click)=\"_hasFolders(folder.files) ? _openFolder(folder) : _selectFolder(folder)\">\n <fd-icon class=\"fdp-upload-collection__fd-icon\" glyph=\"folder-blank\"></fd-icon>\n <span fd-list-title>{{ folder.name }}</span>\n <i *ngIf=\"_hasFolders(folder.files)\" fd-list-icon glyph=\"slim-arrow-right\"></i>\n </a>\n </li>\n </ul>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n type=\"submit\"\n [disabled]=\"\n !(\n (selectedFolder && originalFolder?.documentId !== selectedFolder.documentId) ||\n (!selectedFolder && originalFolder?.documentId !== _currentFolder?.documentId)\n )\n \"\n (click)=\"_confirm()\"\n >\n {{ 'platformUploadCollection.moveToConfirmBtn' | fdTranslate }}\n </fd-button-bar>\n <fd-button-bar (click)=\"_close()\">\n {{ 'platformUploadCollection.moveToCloseBtn' | fdTranslate }}\n </fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fd-list__item--title-background{background-color:var(--sapList_HeaderBackground)}.fd-dialog__body--no-horizontal-padding{padding-left:0!important;padding-right:0!important}.fd-title--bold{font-weight:700}\n"] }]
121
121
  }], ctorParameters: function () { return [{ type: i1.DialogRef }, { type: i1.DialogService }, { type: i0.ChangeDetectorRef }]; } });