@bnsights/bbsf-admin-portal 1.1.2 → 1.1.3

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 (684) hide show
  1. package/README.md +4 -0
  2. package/{esm2020 → esm2022}/bnsights-bbsf-admin-portal.mjs +4 -4
  3. package/{esm2020 → esm2022}/lib/Pages/ActiveDirectories/active-directories.component.mjs +14 -14
  4. package/esm2022/lib/Pages/ActiveDirectories/active-directory/active-directory.component.mjs +421 -0
  5. package/esm2022/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.mjs +528 -0
  6. package/{esm2020 → esm2022}/lib/Pages/ActiveDirectories/active-directory-routing.module.mjs +29 -29
  7. package/esm2022/lib/Pages/ActiveDirectories/active-directory.module.mjs +108 -0
  8. package/esm2022/lib/Pages/_layout/components/aside/aside-menu/aside-menu.component.mjs +23 -0
  9. package/{esm2020 → esm2022}/lib/Pages/_layout/components/aside/aside.component.mjs +65 -65
  10. package/{esm2020 → esm2022}/lib/Pages/_layout/components/content/content.component.mjs +31 -31
  11. package/{esm2020 → esm2022}/lib/Pages/_layout/components/footer/footer.component.mjs +32 -32
  12. package/{esm2020 → esm2022}/lib/Pages/_layout/components/header/header.component.mjs +57 -57
  13. package/{esm2020 → esm2022}/lib/Pages/_layout/components/header/page-title/page-title.component.mjs +36 -36
  14. package/{esm2020 → esm2022}/lib/Pages/_layout/components/scripts-init/scripts-init.component.mjs +58 -58
  15. package/{esm2020 → esm2022}/lib/Pages/_layout/components/subheader/subheader.component.mjs +36 -36
  16. package/{esm2020 → esm2022}/lib/Pages/_layout/components/subheader/subheader.module.mjs +26 -26
  17. package/{esm2020 → esm2022}/lib/Pages/_layout/components/toolbar/toolbar.component.mjs +41 -41
  18. package/{esm2020 → esm2022}/lib/Pages/_layout/components/toolbar/toolbar.module.mjs +25 -25
  19. package/{esm2020 → esm2022}/lib/Pages/_layout/components/topbar/topbar.component.mjs +71 -71
  20. package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/activation/activation.component.mjs +92 -92
  21. package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/anonymouslayout-routing.module.mjs +37 -37
  22. package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/anonymouslayout.component.mjs +54 -54
  23. package/esm2022/lib/Pages/anonymouslayout/anonymouslayout.module.mjs +100 -0
  24. package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/error/error.component.mjs +48 -48
  25. package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/forgot-password/forgot-password.component.mjs +59 -59
  26. package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/login/login.component.mjs +94 -94
  27. package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/rest-password/rest-password.component.mjs +90 -90
  28. package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/upload-license/upload-license.component.mjs +71 -71
  29. package/{esm2020 → esm2022}/lib/Pages/authentication/auth-callback/auth-callback.component.mjs +43 -43
  30. package/{esm2020 → esm2022}/lib/Pages/authentication/authentication.component.mjs +15 -15
  31. package/{esm2020 → esm2022}/lib/Pages/authentication/authentication.module.mjs +41 -41
  32. package/{esm2020 → esm2022}/lib/Pages/authentication/authentication.routing.mjs +31 -31
  33. package/esm2022/lib/Pages/configurations/auth-configuration/auth-configuration-edit/auth-configuration-edit.component.mjs +330 -0
  34. package/esm2022/lib/Pages/configurations/auth-configuration/auth-configuration.component.mjs +157 -0
  35. package/esm2022/lib/Pages/configurations/configuration/configuration.component.mjs +801 -0
  36. package/{esm2020 → esm2022}/lib/Pages/configurations/configurations.component.mjs +15 -15
  37. package/esm2022/lib/Pages/configurations/configurations.module.mjs +104 -0
  38. package/{esm2020 → esm2022}/lib/Pages/configurations/configurations.routing.mjs +41 -41
  39. package/{esm2020 → esm2022}/lib/Pages/configurations/index.mjs +6 -6
  40. package/{esm2020 → esm2022}/lib/Pages/core/auth.module.mjs +30 -30
  41. package/esm2022/lib/Pages/core/authentication/admin.guard.mjs +17 -0
  42. package/{esm2020 → esm2022}/lib/Pages/core/authentication/auth.guard.mjs +46 -46
  43. package/esm2022/lib/Pages/core/authentication/auth.service.mjs +147 -0
  44. package/esm2022/lib/Pages/departments/department/department.component.mjs +220 -0
  45. package/esm2022/lib/Pages/departments/department-info/department-info.component.mjs +185 -0
  46. package/{esm2020 → esm2022}/lib/Pages/departments/departments-routing.module.mjs +27 -27
  47. package/{esm2020 → esm2022}/lib/Pages/departments/departments.component.mjs +15 -15
  48. package/esm2022/lib/Pages/departments/departments.module.mjs +94 -0
  49. package/esm2022/lib/Pages/documents/add-document/add-document.component.mjs +136 -0
  50. package/esm2022/lib/Pages/documents/document-master-layouts/document-master-layouts.component.mjs +148 -0
  51. package/{esm2020 → esm2022}/lib/Pages/documents/document-template-info/document-template-info.component.mjs +332 -332
  52. package/esm2022/lib/Pages/documents/document-templates/document-templates.component.mjs +437 -0
  53. package/{esm2020 → esm2022}/lib/Pages/documents/documents.component.mjs +15 -15
  54. package/esm2022/lib/Pages/documents/documents.module.mjs +114 -0
  55. package/esm2022/lib/Pages/documents/documents.routing.mjs +37 -0
  56. package/esm2022/lib/Pages/documents/edit-document/edit-document.component.mjs +169 -0
  57. package/{esm2020 → esm2022}/lib/Pages/documents/edit-document-template/edit-document-template.component.mjs +123 -123
  58. package/{esm2020 → esm2022}/lib/Pages/empty-data/empty-data.component.mjs +31 -31
  59. package/{esm2020 → esm2022}/lib/Pages/empty-data/empty-data.module.mjs +28 -28
  60. package/esm2022/lib/Pages/helpCenter/help-center/help-center.component.mjs +294 -0
  61. package/esm2022/lib/Pages/helpCenter/help-center-preview/help-center-preview.component.mjs +43 -0
  62. package/{esm2020 → esm2022}/lib/Pages/helpCenter/help-center-routing.module.mjs +31 -31
  63. package/esm2022/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.mjs +242 -0
  64. package/esm2022/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.mjs +243 -0
  65. package/esm2022/lib/Pages/helpCenter/help-center.module.mjs +99 -0
  66. package/{esm2020 → esm2022}/lib/Pages/helpCenter/help-centers.component.mjs +15 -15
  67. package/{esm2020 → esm2022}/lib/Pages/home/filter-pipe.mjs +23 -23
  68. package/esm2022/lib/Pages/home/home.component.mjs +158 -0
  69. package/esm2022/lib/Pages/home/home.module.mjs +48 -0
  70. package/esm2022/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.mjs +443 -0
  71. package/esm2022/lib/Pages/impersonation-rules/impersonation-rules.module.mjs +95 -0
  72. package/esm2022/lib/Pages/jobs/jobs/jobs.component.mjs +223 -0
  73. package/esm2022/lib/Pages/jobs/jobs.module.mjs +87 -0
  74. package/{esm2020 → esm2022}/lib/Pages/license/license/license.component.mjs +163 -163
  75. package/esm2022/lib/Pages/license/license.module.mjs +71 -0
  76. package/{esm2020 → esm2022}/lib/Pages/localizations/localizations-replace-text/localizations-replace-text.component.mjs +215 -215
  77. package/esm2022/lib/Pages/localizations/localizations.component.mjs +516 -0
  78. package/esm2022/lib/Pages/localizations/localizations.module.mjs +79 -0
  79. package/{esm2020 → esm2022}/lib/Pages/logs/log/log.component.mjs +93 -93
  80. package/{esm2020 → esm2022}/lib/Pages/logs/logs-routing.module.mjs +27 -27
  81. package/{esm2020 → esm2022}/lib/Pages/logs/logs.component.mjs +15 -15
  82. package/esm2022/lib/Pages/logs/logs.module.mjs +87 -0
  83. package/esm2022/lib/Pages/lookups/lookup/lookup.component.mjs +367 -0
  84. package/esm2022/lib/Pages/lookups/lookup-group/lookup-group.component.mjs +187 -0
  85. package/esm2022/lib/Pages/lookups/lookup-item/lookup-item.component.mjs +297 -0
  86. package/{esm2020 → esm2022}/lib/Pages/lookups/lookups-routing.module.mjs +29 -29
  87. package/{esm2020 → esm2022}/lib/Pages/lookups/lookups.component.mjs +15 -15
  88. package/esm2022/lib/Pages/lookups/lookups.module.mjs +100 -0
  89. package/esm2022/lib/Pages/notifications/add-notification/add-notification.component.mjs +104 -0
  90. package/{esm2020 → esm2022}/lib/Pages/notifications/edit-email/edit-email.component.mjs +158 -158
  91. package/esm2022/lib/Pages/notifications/edit-notification/edit-notification.component.mjs +133 -0
  92. package/{esm2020 → esm2022}/lib/Pages/notifications/edit-sms/edit-sms.component.mjs +115 -115
  93. package/esm2022/lib/Pages/notifications/master-layouts/master-layouts.component.mjs +148 -0
  94. package/esm2022/lib/Pages/notifications/notifications-routing.module.mjs +39 -0
  95. package/{esm2020 → esm2022}/lib/Pages/notifications/notifications.component.mjs +15 -15
  96. package/esm2022/lib/Pages/notifications/notifications.module.mjs +101 -0
  97. package/{esm2020 → esm2022}/lib/Pages/notifications/template-info/template-info.component.mjs +391 -391
  98. package/esm2022/lib/Pages/notifications/templates/templates.component.mjs +495 -0
  99. package/esm2022/lib/Pages/providers/provider/provider.component.mjs +615 -0
  100. package/{esm2020 → esm2022}/lib/Pages/providers/providers-routing.module.mjs +27 -27
  101. package/{esm2020 → esm2022}/lib/Pages/providers/providers.component.mjs +15 -15
  102. package/esm2022/lib/Pages/providers/providers.module.mjs +91 -0
  103. package/esm2022/lib/Pages/publicHolidays/public-holiday/public-holiday.component.mjs +334 -0
  104. package/{esm2020 → esm2022}/lib/Pages/publicHolidays/public-holidays-routing.module.mjs +25 -25
  105. package/{esm2020 → esm2022}/lib/Pages/publicHolidays/public-holidays.component.mjs +15 -15
  106. package/esm2022/lib/Pages/publicHolidays/public-holidays.module.mjs +94 -0
  107. package/esm2022/lib/Pages/roles/permission-set-info/permission-set-info.component.mjs +187 -0
  108. package/esm2022/lib/Pages/roles/permissions/permissions.component.mjs +226 -0
  109. package/esm2022/lib/Pages/roles/permissionsets/permissionsets.component.mjs +277 -0
  110. package/{esm2020 → esm2022}/lib/Pages/roles/roles-routing.module.mjs +29 -29
  111. package/{esm2020 → esm2022}/lib/Pages/roles/roles.component.mjs +15 -15
  112. package/esm2022/lib/Pages/roles/roles.module.mjs +105 -0
  113. package/esm2022/lib/Pages/sectors/sector/sector.component.mjs +193 -0
  114. package/esm2022/lib/Pages/sectors/sector-info/sector-info.component.mjs +180 -0
  115. package/esm2022/lib/Pages/sectors/sectors-department-info/sectors-department-info.component.mjs +187 -0
  116. package/{esm2020 → esm2022}/lib/Pages/sectors/sectors-routing.module.mjs +29 -29
  117. package/{esm2020 → esm2022}/lib/Pages/sectors/sectors.component.mjs +15 -15
  118. package/esm2022/lib/Pages/sectors/sectors.module.mjs +96 -0
  119. package/{esm2020 → esm2022}/lib/Pages/shared/Enums/ADType.mjs +5 -5
  120. package/{esm2020 → esm2022}/lib/Pages/shared/Enums/Enums.mjs +54 -54
  121. package/{esm2020 → esm2022}/lib/Pages/shared/Enums/ProviderType.mjs +6 -6
  122. package/{esm2020 → esm2022}/lib/Pages/shared/Enums/WFActivityType.mjs +11 -11
  123. package/{esm2020 → esm2022}/lib/Pages/shared/Enums/configuration/ConditionRHSType.mjs +5 -5
  124. package/{esm2020 → esm2022}/lib/Pages/shared/Enums/configuration/authentecation-configuration.mjs +18 -18
  125. package/{esm2020 → esm2022}/lib/Pages/shared/Pipes/survey-date.pipe.mjs +22 -22
  126. package/{esm2020 → esm2022}/lib/Pages/shared/Services/AccountService.service.mjs +55 -55
  127. package/{esm2020 → esm2022}/lib/Pages/shared/Services/ActiveDirectoryService.service.mjs +51 -51
  128. package/{esm2020 → esm2022}/lib/Pages/shared/Services/AnonymousLayoutService.service.mjs +29 -29
  129. package/{esm2020 → esm2022}/lib/Pages/shared/Services/ConfigurationsService.service.mjs +61 -61
  130. package/{esm2020 → esm2022}/lib/Pages/shared/Services/DepartmentService.service.mjs +46 -46
  131. package/{esm2020 → esm2022}/lib/Pages/shared/Services/DocumentHeaderAndFooterTemplate.service.mjs +36 -36
  132. package/{esm2020 → esm2022}/lib/Pages/shared/Services/DocumentTemplateService.service.mjs +81 -81
  133. package/{esm2020 → esm2022}/lib/Pages/shared/Services/EmailHeaderAndFooterTemplateService.Service.mjs +37 -37
  134. package/{esm2020 → esm2022}/lib/Pages/shared/Services/ErrorService.service.mjs +15 -15
  135. package/{esm2020 → esm2022}/lib/Pages/shared/Services/GlobalErrorHandler.service.mjs +36 -36
  136. package/{esm2020 → esm2022}/lib/Pages/shared/Services/HelpCenterService.service.mjs +47 -47
  137. package/{esm2020 → esm2022}/lib/Pages/shared/Services/HttpErrorInterceptor.service.mjs +47 -47
  138. package/{esm2020 → esm2022}/lib/Pages/shared/Services/ImpersonationRuleService.service.mjs +36 -36
  139. package/{esm2020 → esm2022}/lib/Pages/shared/Services/JobsService.service.mjs +21 -21
  140. package/{esm2020 → esm2022}/lib/Pages/shared/Services/LicenseService.service.mjs +24 -24
  141. package/{esm2020 → esm2022}/lib/Pages/shared/Services/LogsService.mjs +24 -24
  142. package/{esm2020 → esm2022}/lib/Pages/shared/Services/LookupGroupsService.service.mjs +33 -33
  143. package/{esm2020 → esm2022}/lib/Pages/shared/Services/LookupService.service.mjs +67 -67
  144. package/{esm2020 → esm2022}/lib/Pages/shared/Services/PermissionSetService.service.mjs +50 -50
  145. package/{esm2020 → esm2022}/lib/Pages/shared/Services/PermissionsService.service.mjs +36 -36
  146. package/{esm2020 → esm2022}/lib/Pages/shared/Services/PublicHolidayService.service.mjs +39 -39
  147. package/{esm2020 → esm2022}/lib/Pages/shared/Services/SectorService.service.mjs +46 -46
  148. package/{esm2020 → esm2022}/lib/Pages/shared/Services/TemplateService.service.mjs +90 -90
  149. package/{esm2020 → esm2022}/lib/Pages/shared/Services/WorkFlowVersionService.service.mjs +24 -24
  150. package/{esm2020 → esm2022}/lib/Pages/shared/Services/WorkflowActivityService.service.mjs +54 -54
  151. package/{esm2020 → esm2022}/lib/Pages/shared/Services/WorkflowInstanceService.service.mjs +24 -24
  152. package/{esm2020 → esm2022}/lib/Pages/shared/Services/WorkflowLogVariablesService.service.mjs +24 -24
  153. package/{esm2020 → esm2022}/lib/Pages/shared/Services/WorkflowService.service.mjs +38 -38
  154. package/{esm2020 → esm2022}/lib/Pages/shared/Services/WorkflowVariablesService.service.mjs +36 -36
  155. package/{esm2020 → esm2022}/lib/Pages/shared/Services/data.service.mjs +27 -27
  156. package/esm2022/lib/Pages/shared/Services/injectionModuleService.service.mjs +163 -0
  157. package/{esm2020 → esm2022}/lib/Pages/shared/Services/localizationsService.service .mjs +77 -77
  158. package/{esm2020 → esm2022}/lib/Pages/shared/Services/provider.service.mjs +62 -62
  159. package/{esm2020 → esm2022}/lib/Pages/shared/Services/survey-question.service.mjs +57 -57
  160. package/{esm2020 → esm2022}/lib/Pages/shared/Services/survey.service.mjs +140 -140
  161. package/{esm2020 → esm2022}/lib/Pages/shared/Services/userService.service.mjs +80 -80
  162. package/{esm2020 → esm2022}/lib/Pages/shared/base.service.mjs +19 -19
  163. package/{esm2020 → esm2022}/lib/Pages/shared/components/AdDirective.mjs +16 -16
  164. package/{esm2020 → esm2022}/lib/Pages/shared/components/external-url/external-url.component.mjs +168 -168
  165. package/{esm2020 → esm2022}/lib/Pages/shared/components/no-results/no-results.component.mjs +19 -19
  166. package/esm2022/lib/Pages/shared/components/survey/add-survey/add-survey.component.mjs +192 -0
  167. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/delete-survey/delete-survey.component.mjs +48 -48
  168. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/duplicate-survey/duplicate-survey.component.mjs +50 -50
  169. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/edit-survey/edit-survey.component.mjs +217 -217
  170. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/submissions/delete-submission/delete-submission.component.mjs +47 -47
  171. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/submissions/eliminate-submission/eliminate-submission.component.mjs +49 -49
  172. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/submissions/uneliminate-submission/uneliminate-submission.component.mjs +50 -50
  173. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/add-question/add-question.component.mjs +624 -624
  174. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/delete-question/delete-question.component.mjs +47 -47
  175. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/edit-question/edit-question.component.mjs +683 -683
  176. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/preview/preview.component.mjs +138 -138
  177. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/publish-survey/publish-survey.component.mjs +102 -102
  178. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/result-question/result.component.mjs +56 -56
  179. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/survey-info.component.mjs +532 -532
  180. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/take-survey/take-survey.component.mjs +113 -113
  181. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/unpublish-survey/unpublish-survey.component.mjs +114 -114
  182. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey.component.mjs +292 -292
  183. package/esm2022/lib/Pages/shared/components/survey-form/survey-form.component.mjs +696 -0
  184. package/esm2022/lib/Pages/shared/components/survey-form-item/survey-form-item.component.mjs +84 -0
  185. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey-layout/survey-layout.component.mjs +15 -15
  186. package/{esm2020 → esm2022}/lib/Pages/shared/config/environment.mjs +11 -11
  187. package/esm2022/lib/Pages/shared/constants.mjs +130 -0
  188. package/{esm2020 → esm2022}/lib/Pages/shared/filter/filter.component.mjs +14 -14
  189. package/{esm2020 → esm2022}/lib/Pages/shared/models/ADModels/ADMappingModel.mjs +3 -3
  190. package/{esm2020 → esm2022}/lib/Pages/shared/models/ADModels/ActiveDirectoryAddEditModel.mjs +6 -6
  191. package/{esm2020 → esm2022}/lib/Pages/shared/models/AccountModels/forgotPasswordModel.mjs +5 -5
  192. package/{esm2020 → esm2022}/lib/Pages/shared/models/ConfigurationModels/ConfigurationModel.mjs +50 -50
  193. package/{esm2020 → esm2022}/lib/Pages/shared/models/DepartmentModels/DepartmentModel.mjs +2 -2
  194. package/{esm2020 → esm2022}/lib/Pages/shared/models/DepartmentModels/DepartmentUsersIDRequestModel.mjs +5 -5
  195. package/{esm2020 → esm2022}/lib/Pages/shared/models/DocumentsModels/DocumentExportDTO.mjs +7 -7
  196. package/{esm2020 → esm2022}/lib/Pages/shared/models/DocumentsModels/DocumentHeaderAndFooterTemplate.mjs +9 -9
  197. package/{esm2020 → esm2022}/lib/Pages/shared/models/DocumentsModels/DocumentTemplateDTO.mjs +9 -9
  198. package/{esm2020 → esm2022}/lib/Pages/shared/models/DocumentsModels/DocumentTemplateInfoDTO.mjs +7 -7
  199. package/{esm2020 → esm2022}/lib/Pages/shared/models/HelpCenterModels/HelpCenterItemModel.mjs +11 -11
  200. package/{esm2020 → esm2022}/lib/Pages/shared/models/ImpersonationRuleModels/ImpersonationRuleModel.mjs +7 -7
  201. package/{esm2020 → esm2022}/lib/Pages/shared/models/ImpersonationRuleModels/ParticipantModel.mjs +8 -8
  202. package/{esm2020 → esm2022}/lib/Pages/shared/models/InjectedModuleModel/InjectedModule.mjs +6 -6
  203. package/{esm2020 → esm2022}/lib/Pages/shared/models/JobModels/JobCountsModel.mjs +2 -2
  204. package/{esm2020 → esm2022}/lib/Pages/shared/models/LicenseModel/LicenseModel.mjs +5 -5
  205. package/{esm2020 → esm2022}/lib/Pages/shared/models/LocalizationModels/EditResourceModel.mjs +7 -7
  206. package/{esm2020 → esm2022}/lib/Pages/shared/models/LocalizationModels/LocalizationReplaceTextModel.mjs +5 -5
  207. package/{esm2020 → esm2022}/lib/Pages/shared/models/LocalizationModels/UploadJsonVM.mjs +2 -2
  208. package/{esm2020 → esm2022}/lib/Pages/shared/models/Lookups/LookupGroupModel.mjs +6 -6
  209. package/{esm2020 → esm2022}/lib/Pages/shared/models/Lookups/LookupItem.mjs +7 -7
  210. package/{esm2020 → esm2022}/lib/Pages/shared/models/Lookups/LookupModel.mjs +8 -8
  211. package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/EmailHeaderAndFooterTemplate.mjs +10 -10
  212. package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/EmailTemplateInfoDTO.mjs +11 -11
  213. package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/EmailTemplateTesterModel.mjs +2 -2
  214. package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/SMSTemplateInfoDTO.mjs +6 -6
  215. package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/SMSTemplateTesterModel.mjs +2 -2
  216. package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/SendEmailTemplateModel.mjs +2 -2
  217. package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/TemplateDTO.mjs +9 -9
  218. package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/TemplateEditViewModel.mjs +8 -8
  219. package/{esm2020 → esm2022}/lib/Pages/shared/models/PermissionsModels/PermissionModel.mjs +7 -7
  220. package/{esm2020 → esm2022}/lib/Pages/shared/models/PermissionsModels/PermissionSetModel.mjs +7 -7
  221. package/{esm2020 → esm2022}/lib/Pages/shared/models/PermissionsModels/PermissionSetUsersIDRequestModel.mjs +5 -5
  222. package/{esm2020 → esm2022}/lib/Pages/shared/models/ProviderModels/DefaultProviderModel.mjs +5 -5
  223. package/{esm2020 → esm2022}/lib/Pages/shared/models/ProviderModels/EmailProviderTesterModel.mjs +2 -2
  224. package/{esm2020 → esm2022}/lib/Pages/shared/models/ProviderModels/ProviderAttributeModel.mjs +2 -2
  225. package/{esm2020 → esm2022}/lib/Pages/shared/models/ProviderModels/ProviderModel.mjs +5 -5
  226. package/{esm2020 → esm2022}/lib/Pages/shared/models/ProviderModels/SMSProviderTesterModel.mjs +2 -2
  227. package/{esm2020 → esm2022}/lib/Pages/shared/models/PublicHolidayModels/PublicHolidayModel.mjs +7 -7
  228. package/{esm2020 → esm2022}/lib/Pages/shared/models/SectorModels/SectorDepartmentModel.mjs +5 -5
  229. package/{esm2020 → esm2022}/lib/Pages/shared/models/SectorModels/SectorModel.mjs +6 -6
  230. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/DeleteSurveyDTO.mjs +2 -2
  231. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/add-survey-submissio.mjs +13 -13
  232. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/add-survey.mjs +10 -10
  233. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/model.mjs +2 -2
  234. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/survey-field-options.mjs +6 -6
  235. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/survey-filed-value.mjs +7 -7
  236. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/survey-form-options.mjs +7 -7
  237. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/survey-publish.mjs +4 -4
  238. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/survey-question-option.mjs +17 -17
  239. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/survey-question.mjs +10 -10
  240. package/esm2022/lib/Pages/shared/models/SurveyModels/survey-utils.mjs +8 -0
  241. package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/ActivationModel.mjs +2 -2
  242. package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/AddUserModel.mjs +36 -36
  243. package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/DropdownsResponseModel.mjs +11 -11
  244. package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/EditUserModel.mjs +8 -8
  245. package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/IdentityModel.mjs +2 -2
  246. package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/UserSearchParamDTO.mjs +2 -2
  247. package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/UsersIDRequestModel.mjs +5 -5
  248. package/{esm2020 → esm2022}/lib/Pages/shared/models/WorkflowModels/VariableLookupModel.mjs +2 -2
  249. package/{esm2020 → esm2022}/lib/Pages/shared/models/WorkflowModels/WFActivityModel.mjs +16 -16
  250. package/{esm2020 → esm2022}/lib/Pages/shared/models/WorkflowModels/WFActivityOutcomeModel.mjs +2 -2
  251. package/{esm2020 → esm2022}/lib/Pages/shared/models/WorkflowModels/WFActivityVariablesModel.mjs +7 -7
  252. package/{esm2020 → esm2022}/lib/Pages/shared/models/WorkflowModels/WFCreationModel.mjs +7 -7
  253. package/{esm2020 → esm2022}/lib/Pages/shared/models/WorkflowModels/WFVariableModel.mjs +8 -8
  254. package/{esm2020 → esm2022}/lib/Pages/shared/models/user.registration.mjs +7 -7
  255. package/esm2022/lib/Pages/shared/modules/public-survey.module.mjs +68 -0
  256. package/{esm2020 → esm2022}/lib/Pages/shared/modules/survey-routing.module.mjs +39 -39
  257. package/esm2022/lib/Pages/shared/modules/survey.module.mjs +129 -0
  258. package/esm2022/lib/Pages/shared/shared.module.mjs +31 -0
  259. package/{esm2020 → esm2022}/lib/Pages/shared/stylesbundle.service.mjs +44 -44
  260. package/{esm2020 → esm2022}/lib/Pages/start/index/index.component.mjs +25 -25
  261. package/{esm2020 → esm2022}/lib/Pages/start/start-routing.module.mjs +22 -22
  262. package/{esm2020 → esm2022}/lib/Pages/start/start.module.mjs +31 -31
  263. package/esm2022/lib/Pages/users/users.component.mjs +806 -0
  264. package/esm2022/lib/Pages/users/users.module.mjs +86 -0
  265. package/{esm2020 → esm2022}/lib/Pages/workflows/activity/workflow-activity-add/workflow-activity-add.component.mjs +535 -535
  266. package/{esm2020 → esm2022}/lib/Pages/workflows/activity/workflow-activity-edit/workflow-activity-edit.component.mjs +840 -840
  267. package/{esm2020 → esm2022}/lib/Pages/workflows/instance-info/instance-info.component.mjs +302 -302
  268. package/esm2022/lib/Pages/workflows/tabs/tabs.component.mjs +793 -0
  269. package/{esm2020 → esm2022}/lib/Pages/workflows/version-info/version-info.component.mjs +137 -137
  270. package/esm2022/lib/Pages/workflows/workflow/workflow.component.mjs +209 -0
  271. package/{esm2020 → esm2022}/lib/Pages/workflows/workflows-routing.module.mjs +35 -35
  272. package/{esm2020 → esm2022}/lib/Pages/workflows/workflows.component.mjs +15 -15
  273. package/esm2022/lib/Pages/workflows/workflows.module.mjs +103 -0
  274. package/{esm2020 → esm2022}/lib/_metronic/configs/default-layout.config.mjs +95 -95
  275. package/{esm2020 → esm2022}/lib/_metronic/core/_utils/DomHelpers.mjs +270 -270
  276. package/{esm2020 → esm2022}/lib/_metronic/core/_utils/ElementAnimateUtil.mjs +166 -166
  277. package/esm2022/lib/_metronic/core/_utils/EventHandlerUtil.mjs +90 -0
  278. package/esm2022/lib/_metronic/core/_utils/_DOMEventHandlerUtil.mjs +49 -0
  279. package/esm2022/lib/_metronic/core/_utils/_DataUtil.mjs +48 -0
  280. package/{esm2020 → esm2022}/lib/_metronic/core/_utils/_ElementStyleUtil.mjs +16 -16
  281. package/{esm2020 → esm2022}/lib/_metronic/core/_utils/_TypesHelpers.mjs +48 -48
  282. package/{esm2020 → esm2022}/lib/_metronic/core/_utils/models/OffsetModel.mjs +1 -1
  283. package/{esm2020 → esm2022}/lib/_metronic/core/_utils/models/ViewPortModel.mjs +1 -1
  284. package/{esm2020 → esm2022}/lib/_metronic/core/components/MenuComponent.mjs +827 -827
  285. package/{esm2020 → esm2022}/lib/_metronic/core/components/_CookieComponent.mjs +52 -52
  286. package/esm2022/lib/_metronic/core/components/_DrawerComponent.mjs +288 -0
  287. package/{esm2020 → esm2022}/lib/_metronic/core/components/_ScrollComponent.mjs +252 -252
  288. package/esm2022/lib/_metronic/core/components/_ScrollTopComponent.mjs +113 -0
  289. package/esm2022/lib/_metronic/core/components/_ToggleComponent.mjs +157 -0
  290. package/{esm2020 → esm2022}/lib/_metronic/core/services/layout-init.service.mjs +155 -155
  291. package/{esm2020 → esm2022}/lib/_metronic/core/services/layout.service.mjs +150 -150
  292. package/esm2022/lib/_metronic/core/services/page-info.service.mjs +119 -0
  293. package/esm2022/lib/masterlayout-routing.module.mjs +41 -0
  294. package/{esm2020 → esm2022}/lib/masterlayout.component.mjs +118 -118
  295. package/esm2022/lib/masterlayout.module.mjs +188 -0
  296. package/{esm2020 → esm2022}/public-api.mjs +48 -48
  297. package/{fesm2020 → fesm2022}/bnsights-bbsf-admin-portal.mjs +26884 -26881
  298. package/fesm2022/bnsights-bbsf-admin-portal.mjs.map +1 -0
  299. package/index.d.ts +5 -5
  300. package/lib/Pages/ActiveDirectories/active-directories.component.d.ts +8 -8
  301. package/lib/Pages/ActiveDirectories/active-directory/active-directory.component.d.ts +85 -87
  302. package/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.d.ts +97 -99
  303. package/lib/Pages/ActiveDirectories/active-directory-routing.module.d.ts +7 -7
  304. package/lib/Pages/ActiveDirectories/active-directory.module.d.ts +26 -26
  305. package/lib/Pages/_layout/components/aside/aside-menu/aside-menu.component.d.ts +13 -13
  306. package/lib/Pages/_layout/components/aside/aside.component.d.ts +24 -24
  307. package/lib/Pages/_layout/components/content/content.component.d.ts +13 -13
  308. package/lib/Pages/_layout/components/footer/footer.component.d.ts +14 -14
  309. package/lib/Pages/_layout/components/header/header.component.d.ts +24 -24
  310. package/lib/Pages/_layout/components/header/page-title/page-title.component.d.ts +22 -22
  311. package/lib/Pages/_layout/components/scripts-init/scripts-init.component.d.ts +18 -18
  312. package/lib/Pages/_layout/components/subheader/subheader.component.d.ts +17 -17
  313. package/lib/Pages/_layout/components/subheader/subheader.module.d.ts +9 -9
  314. package/lib/Pages/_layout/components/toolbar/toolbar.component.d.ts +18 -18
  315. package/lib/Pages/_layout/components/toolbar/toolbar.module.d.ts +10 -10
  316. package/lib/Pages/_layout/components/topbar/topbar.component.d.ts +44 -44
  317. package/lib/Pages/anonymouslayout/activation/activation.component.d.ts +32 -32
  318. package/lib/Pages/anonymouslayout/anonymouslayout-routing.module.d.ts +7 -7
  319. package/lib/Pages/anonymouslayout/anonymouslayout.component.d.ts +24 -24
  320. package/lib/Pages/anonymouslayout/anonymouslayout.module.d.ts +21 -21
  321. package/lib/Pages/anonymouslayout/error/error.component.d.ts +25 -25
  322. package/lib/Pages/anonymouslayout/forgot-password/forgot-password.component.d.ts +24 -24
  323. package/lib/Pages/anonymouslayout/login/login.component.d.ts +36 -36
  324. package/lib/Pages/anonymouslayout/rest-password/rest-password.component.d.ts +32 -32
  325. package/lib/Pages/anonymouslayout/upload-license/upload-license.component.d.ts +25 -25
  326. package/lib/Pages/authentication/auth-callback/auth-callback.component.d.ts +21 -21
  327. package/lib/Pages/authentication/authentication.component.d.ts +8 -8
  328. package/lib/Pages/authentication/authentication.module.d.ts +12 -12
  329. package/lib/Pages/authentication/authentication.routing.d.ts +7 -7
  330. package/lib/Pages/configurations/auth-configuration/auth-configuration-edit/auth-configuration-edit.component.d.ts +75 -75
  331. package/lib/Pages/configurations/auth-configuration/auth-configuration.component.d.ts +57 -58
  332. package/lib/Pages/configurations/configuration/configuration.component.d.ts +127 -129
  333. package/lib/Pages/configurations/configurations.component.d.ts +8 -8
  334. package/lib/Pages/configurations/configurations.module.d.ts +24 -24
  335. package/lib/Pages/configurations/configurations.routing.d.ts +7 -7
  336. package/lib/Pages/configurations/index.d.ts +6 -6
  337. package/lib/Pages/core/auth.module.d.ts +8 -8
  338. package/lib/Pages/core/authentication/admin.guard.d.ts +9 -9
  339. package/lib/Pages/core/authentication/auth.guard.d.ts +14 -14
  340. package/lib/Pages/core/authentication/auth.service.d.ts +35 -35
  341. package/lib/Pages/departments/department/department.component.d.ts +66 -68
  342. package/lib/Pages/departments/department-info/department-info.component.d.ts +58 -60
  343. package/lib/Pages/departments/departments-routing.module.d.ts +7 -7
  344. package/lib/Pages/departments/departments.component.d.ts +8 -8
  345. package/lib/Pages/departments/departments.module.d.ts +21 -21
  346. package/lib/Pages/documents/{add/add.component.d.ts → add-document/add-document.component.d.ts} +40 -40
  347. package/lib/Pages/documents/document-master-layouts/document-master-layouts.component.d.ts +51 -53
  348. package/lib/Pages/documents/document-template-info/document-template-info.component.d.ts +67 -67
  349. package/lib/Pages/documents/document-templates/document-templates.component.d.ts +87 -89
  350. package/lib/Pages/documents/documents.component.d.ts +8 -8
  351. package/lib/Pages/documents/documents.module.d.ts +27 -27
  352. package/lib/Pages/documents/documents.routing.d.ts +7 -7
  353. package/lib/Pages/documents/{edit/edit.component.d.ts → edit-document/edit-document.component.d.ts} +42 -42
  354. package/lib/Pages/documents/edit-document-template/edit-document-template.component.d.ts +39 -39
  355. package/lib/Pages/empty-data/empty-data.component.d.ts +14 -14
  356. package/lib/Pages/empty-data/empty-data.module.d.ts +8 -8
  357. package/lib/Pages/helpCenter/help-center/help-center.component.d.ts +69 -71
  358. package/lib/Pages/helpCenter/help-center-preview/help-center-preview.component.d.ts +23 -23
  359. package/lib/Pages/helpCenter/help-center-routing.module.d.ts +7 -7
  360. package/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.d.ts +65 -67
  361. package/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.d.ts +64 -66
  362. package/lib/Pages/helpCenter/help-center.module.d.ts +25 -25
  363. package/lib/Pages/helpCenter/help-centers.component.d.ts +8 -8
  364. package/lib/Pages/home/filter-pipe.d.ts +7 -7
  365. package/lib/Pages/home/home.component.d.ts +19 -19
  366. package/lib/Pages/home/home.module.d.ts +14 -14
  367. package/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.d.ts +86 -88
  368. package/lib/Pages/impersonation-rules/impersonation-rules.module.d.ts +19 -19
  369. package/lib/Pages/jobs/jobs/jobs.component.d.ts +76 -77
  370. package/lib/Pages/jobs/jobs.module.d.ts +17 -17
  371. package/lib/Pages/license/license/license.component.d.ts +59 -59
  372. package/lib/Pages/license/license.module.d.ts +15 -15
  373. package/lib/Pages/localizations/localizations-replace-text/localizations-replace-text.component.d.ts +53 -53
  374. package/lib/Pages/localizations/localizations.component.d.ts +108 -110
  375. package/lib/Pages/localizations/localizations.module.d.ts +18 -18
  376. package/lib/Pages/logs/log/log.component.d.ts +34 -34
  377. package/lib/Pages/logs/logs-routing.module.d.ts +7 -7
  378. package/lib/Pages/logs/logs.component.d.ts +8 -8
  379. package/lib/Pages/logs/logs.module.d.ts +20 -20
  380. package/lib/Pages/lookups/lookup/lookup.component.d.ts +83 -85
  381. package/lib/Pages/lookups/lookup-group/lookup-group.component.d.ts +58 -60
  382. package/lib/Pages/lookups/lookup-item/lookup-item.component.d.ts +84 -86
  383. package/lib/Pages/lookups/lookups-routing.module.d.ts +7 -7
  384. package/lib/Pages/lookups/lookups.component.d.ts +8 -8
  385. package/lib/Pages/lookups/lookups.module.d.ts +24 -24
  386. package/lib/Pages/notifications/{add/add.component.d.ts → add-notification/add-notification.component.d.ts} +33 -33
  387. package/lib/Pages/notifications/edit-email/edit-email.component.d.ts +43 -43
  388. package/lib/Pages/notifications/{edit/edit.component.d.ts → edit-notification/edit-notification.component.d.ts} +35 -35
  389. package/lib/Pages/notifications/edit-sms/edit-sms.component.d.ts +37 -37
  390. package/lib/Pages/notifications/master-layouts/master-layouts.component.d.ts +51 -53
  391. package/lib/Pages/notifications/notifications-routing.module.d.ts +7 -7
  392. package/lib/Pages/notifications/notifications.component.d.ts +8 -8
  393. package/lib/Pages/notifications/notifications.module.d.ts +28 -28
  394. package/lib/Pages/notifications/template-info/template-info.component.d.ts +86 -86
  395. package/lib/Pages/notifications/templates/templates.component.d.ts +100 -102
  396. package/lib/Pages/providers/provider/provider.component.d.ts +118 -120
  397. package/lib/Pages/providers/providers-routing.module.d.ts +7 -7
  398. package/lib/Pages/providers/providers.component.d.ts +8 -8
  399. package/lib/Pages/providers/providers.module.d.ts +21 -21
  400. package/lib/Pages/publicHolidays/public-holiday/public-holiday.component.d.ts +73 -75
  401. package/lib/Pages/publicHolidays/public-holidays-routing.module.d.ts +7 -7
  402. package/lib/Pages/publicHolidays/public-holidays.component.d.ts +8 -8
  403. package/lib/Pages/publicHolidays/public-holidays.module.d.ts +21 -21
  404. package/lib/Pages/roles/permission-set-info/permission-set-info.component.d.ts +56 -58
  405. package/lib/Pages/roles/permissions/permissions.component.d.ts +63 -65
  406. package/lib/Pages/roles/permissionsets/permissionsets.component.d.ts +67 -69
  407. package/lib/Pages/roles/roles-routing.module.d.ts +7 -7
  408. package/lib/Pages/roles/roles.component.d.ts +8 -8
  409. package/lib/Pages/roles/roles.module.d.ts +24 -24
  410. package/lib/Pages/sectors/sector/sector.component.d.ts +62 -64
  411. package/lib/Pages/sectors/sector-info/sector-info.component.d.ts +60 -62
  412. package/lib/Pages/sectors/{department-info/department-info.component.d.ts → sectors-department-info/sectors-department-info.component.d.ts} +61 -63
  413. package/lib/Pages/sectors/sectors-routing.module.d.ts +7 -7
  414. package/lib/Pages/sectors/sectors.component.d.ts +8 -8
  415. package/lib/Pages/sectors/sectors.module.d.ts +23 -23
  416. package/lib/Pages/shared/Enums/ADType.d.ts +4 -4
  417. package/lib/Pages/shared/Enums/Enums.d.ts +47 -47
  418. package/lib/Pages/shared/Enums/ProviderType.d.ts +5 -5
  419. package/lib/Pages/shared/Enums/WFActivityType.d.ts +10 -10
  420. package/lib/Pages/shared/Enums/configuration/ConditionRHSType.d.ts +4 -4
  421. package/lib/Pages/shared/Enums/configuration/authentecation-configuration.d.ts +15 -15
  422. package/lib/Pages/shared/Pipes/survey-date.pipe.d.ts +12 -12
  423. package/lib/Pages/shared/Services/AccountService.service.d.ts +21 -21
  424. package/lib/Pages/shared/Services/ActiveDirectoryService.service.d.ts +18 -18
  425. package/lib/Pages/shared/Services/AnonymousLayoutService.service.d.ts +17 -17
  426. package/lib/Pages/shared/Services/ConfigurationsService.service.d.ts +20 -20
  427. package/lib/Pages/shared/Services/DepartmentService.service.d.ts +18 -18
  428. package/lib/Pages/shared/Services/DocumentHeaderAndFooterTemplate.service.d.ts +15 -15
  429. package/lib/Pages/shared/Services/DocumentTemplateService.service.d.ts +26 -26
  430. package/lib/Pages/shared/Services/EmailHeaderAndFooterTemplateService.Service.d.ts +15 -15
  431. package/lib/Pages/shared/Services/ErrorService.service.d.ts +8 -8
  432. package/lib/Pages/shared/Services/GlobalErrorHandler.service.d.ts +10 -10
  433. package/lib/Pages/shared/Services/HelpCenterService.service.d.ts +18 -18
  434. package/lib/Pages/shared/Services/HttpErrorInterceptor.service.d.ts +12 -12
  435. package/lib/Pages/shared/Services/ImpersonationRuleService.service.d.ts +15 -15
  436. package/lib/Pages/shared/Services/JobsService.service.d.ts +10 -10
  437. package/lib/Pages/shared/Services/LicenseService.service.d.ts +12 -12
  438. package/lib/Pages/shared/Services/LogsService.d.ts +10 -10
  439. package/lib/Pages/shared/Services/LookupGroupsService.service.d.ts +14 -14
  440. package/lib/Pages/shared/Services/LookupService.service.d.ts +25 -25
  441. package/lib/Pages/shared/Services/PermissionSetService.service.d.ts +19 -19
  442. package/lib/Pages/shared/Services/PermissionsService.service.d.ts +15 -15
  443. package/lib/Pages/shared/Services/PublicHolidayService.service.d.ts +16 -16
  444. package/lib/Pages/shared/Services/SectorService.service.d.ts +18 -18
  445. package/lib/Pages/shared/Services/TemplateService.service.d.ts +34 -34
  446. package/lib/Pages/shared/Services/WorkFlowVersionService.service.d.ts +10 -10
  447. package/lib/Pages/shared/Services/WorkflowActivityService.service.d.ts +19 -19
  448. package/lib/Pages/shared/Services/WorkflowInstanceService.service.d.ts +10 -10
  449. package/lib/Pages/shared/Services/WorkflowLogVariablesService.service.d.ts +10 -10
  450. package/lib/Pages/shared/Services/WorkflowService.service.d.ts +15 -15
  451. package/lib/Pages/shared/Services/WorkflowVariablesService.service.d.ts +15 -15
  452. package/lib/Pages/shared/Services/data.service.d.ts +9 -9
  453. package/lib/Pages/shared/Services/injectionModuleService.service.d.ts +50 -50
  454. package/lib/Pages/shared/Services/localizationsService.service .d.ts +28 -28
  455. package/lib/Pages/shared/Services/provider.service.d.ts +25 -25
  456. package/lib/Pages/shared/Services/survey-question.service.d.ts +19 -19
  457. package/lib/Pages/shared/Services/survey.service.d.ts +38 -38
  458. package/lib/Pages/shared/Services/userService.service.d.ts +29 -29
  459. package/lib/Pages/shared/base.service.d.ts +4 -4
  460. package/lib/Pages/shared/components/AdDirective.d.ts +8 -8
  461. package/lib/Pages/shared/components/external-url/external-url.component.d.ts +61 -61
  462. package/lib/Pages/shared/components/no-results/no-results.component.d.ts +10 -10
  463. package/lib/Pages/shared/components/survey/add-survey/add-survey.component.d.ts +40 -40
  464. package/lib/Pages/shared/components/survey/delete-survey/delete-survey.component.d.ts +19 -19
  465. package/lib/Pages/shared/components/survey/duplicate-survey/duplicate-survey.component.d.ts +19 -19
  466. package/lib/Pages/shared/components/survey/edit-survey/edit-survey.component.d.ts +43 -43
  467. package/lib/Pages/shared/components/survey/submissions/delete-submission/delete-submission.component.d.ts +19 -19
  468. package/lib/Pages/shared/components/survey/submissions/eliminate-submission/eliminate-submission.component.d.ts +19 -19
  469. package/lib/Pages/shared/components/survey/submissions/uneliminate-submission/uneliminate-submission.component.d.ts +19 -19
  470. package/lib/Pages/shared/components/survey/survey-info/add-question/add-question.component.d.ts +83 -83
  471. package/lib/Pages/shared/components/survey/survey-info/delete-question/delete-question.component.d.ts +19 -19
  472. package/lib/Pages/shared/components/survey/survey-info/edit-question/edit-question.component.d.ts +84 -84
  473. package/lib/Pages/shared/components/survey/survey-info/preview/preview.component.d.ts +40 -40
  474. package/lib/Pages/shared/components/survey/survey-info/publish-survey/publish-survey.component.d.ts +31 -31
  475. package/lib/Pages/shared/components/survey/survey-info/result-question/result.component.d.ts +27 -27
  476. package/lib/Pages/shared/components/survey/survey-info/survey-info.component.d.ts +119 -119
  477. package/lib/Pages/shared/components/survey/survey-info/take-survey/take-survey.component.d.ts +39 -39
  478. package/lib/Pages/shared/components/survey/survey-info/unpublish-survey/unpublish-survey.component.d.ts +32 -32
  479. package/lib/Pages/shared/components/survey/survey.component.d.ts +65 -65
  480. package/lib/Pages/shared/components/survey-form/survey-form.component.d.ts +41 -41
  481. package/lib/Pages/shared/components/survey-form-item/survey-form-item.component.d.ts +23 -23
  482. package/lib/Pages/shared/components/survey-layout/survey-layout.component.d.ts +8 -8
  483. package/lib/Pages/shared/config/environment.d.ts +1 -1
  484. package/lib/Pages/shared/constants.d.ts +129 -129
  485. package/lib/Pages/shared/filter/filter.component.d.ts +8 -8
  486. package/lib/Pages/shared/models/ADModels/ADMappingModel.d.ts +6 -6
  487. package/lib/Pages/shared/models/ADModels/ActiveDirectoryAddEditModel.d.ts +28 -28
  488. package/lib/Pages/shared/models/AccountModels/forgotPasswordModel.d.ts +3 -3
  489. package/lib/Pages/shared/models/ConfigurationModels/ConfigurationModel.d.ts +64 -64
  490. package/lib/Pages/shared/models/DepartmentModels/DepartmentModel.d.ts +9 -9
  491. package/lib/Pages/shared/models/DepartmentModels/DepartmentUsersIDRequestModel.d.ts +4 -4
  492. package/lib/Pages/shared/models/DocumentsModels/DocumentExportDTO.d.ts +8 -8
  493. package/lib/Pages/shared/models/DocumentsModels/DocumentHeaderAndFooterTemplate.d.ts +16 -16
  494. package/lib/Pages/shared/models/DocumentsModels/DocumentTemplateDTO.d.ts +13 -13
  495. package/lib/Pages/shared/models/DocumentsModels/DocumentTemplateInfoDTO.d.ts +7 -7
  496. package/lib/Pages/shared/models/HelpCenterModels/HelpCenterItemModel.d.ts +17 -17
  497. package/lib/Pages/shared/models/ImpersonationRuleModels/ImpersonationRuleModel.d.ts +9 -9
  498. package/lib/Pages/shared/models/ImpersonationRuleModels/ParticipantModel.d.ts +15 -15
  499. package/lib/Pages/shared/models/InjectedModuleModel/InjectedModule.d.ts +5 -5
  500. package/lib/Pages/shared/models/JobModels/JobCountsModel.d.ts +8 -8
  501. package/lib/Pages/shared/models/LicenseModel/LicenseModel.d.ts +5 -5
  502. package/lib/Pages/shared/models/LocalizationModels/EditResourceModel.d.ts +7 -7
  503. package/lib/Pages/shared/models/LocalizationModels/LocalizationReplaceTextModel.d.ts +9 -9
  504. package/lib/Pages/shared/models/LocalizationModels/UploadJsonVM.d.ts +5 -5
  505. package/lib/Pages/shared/models/Lookups/LookupGroupModel.d.ts +5 -5
  506. package/lib/Pages/shared/models/Lookups/LookupItem.d.ts +13 -13
  507. package/lib/Pages/shared/models/Lookups/LookupModel.d.ts +13 -13
  508. package/lib/Pages/shared/models/NotificationsModels/EmailHeaderAndFooterTemplate.d.ts +9 -9
  509. package/lib/Pages/shared/models/NotificationsModels/EmailTemplateInfoDTO.d.ts +15 -15
  510. package/lib/Pages/shared/models/NotificationsModels/EmailTemplateTesterModel.d.ts +9 -9
  511. package/lib/Pages/shared/models/NotificationsModels/SMSTemplateInfoDTO.d.ts +9 -9
  512. package/lib/Pages/shared/models/NotificationsModels/SMSTemplateTesterModel.d.ts +9 -9
  513. package/lib/Pages/shared/models/NotificationsModels/SendEmailTemplateModel.d.ts +8 -8
  514. package/lib/Pages/shared/models/NotificationsModels/TemplateDTO.d.ts +22 -22
  515. package/lib/Pages/shared/models/NotificationsModels/TemplateEditViewModel.d.ts +11 -11
  516. package/lib/Pages/shared/models/PermissionsModels/PermissionModel.d.ts +8 -8
  517. package/lib/Pages/shared/models/PermissionsModels/PermissionSetModel.d.ts +10 -10
  518. package/lib/Pages/shared/models/PermissionsModels/PermissionSetUsersIDRequestModel.d.ts +4 -4
  519. package/lib/Pages/shared/models/ProviderModels/DefaultProviderModel.d.ts +6 -6
  520. package/lib/Pages/shared/models/ProviderModels/EmailProviderTesterModel.d.ts +7 -7
  521. package/lib/Pages/shared/models/ProviderModels/ProviderAttributeModel.d.ts +7 -7
  522. package/lib/Pages/shared/models/ProviderModels/ProviderModel.d.ts +13 -13
  523. package/lib/Pages/shared/models/ProviderModels/SMSProviderTesterModel.d.ts +6 -6
  524. package/lib/Pages/shared/models/PublicHolidayModels/PublicHolidayModel.d.ts +15 -15
  525. package/lib/Pages/shared/models/SectorModels/SectorDepartmentModel.d.ts +4 -4
  526. package/lib/Pages/shared/models/SectorModels/SectorModel.d.ts +6 -6
  527. package/lib/Pages/shared/models/SurveyModels/DeleteSurveyDTO.d.ts +3 -3
  528. package/lib/Pages/shared/models/SurveyModels/add-survey-submissio.d.ts +21 -21
  529. package/lib/Pages/shared/models/SurveyModels/add-survey.d.ts +18 -18
  530. package/lib/Pages/shared/models/SurveyModels/model.d.ts +3 -3
  531. package/lib/Pages/shared/models/SurveyModels/survey-field-options.d.ts +24 -24
  532. package/lib/Pages/shared/models/SurveyModels/survey-filed-value.d.ts +22 -22
  533. package/lib/Pages/shared/models/SurveyModels/survey-form-options.d.ts +8 -8
  534. package/lib/Pages/shared/models/SurveyModels/survey-publish.d.ts +15 -15
  535. package/lib/Pages/shared/models/SurveyModels/survey-question-option.d.ts +9 -9
  536. package/lib/Pages/shared/models/SurveyModels/survey-question.d.ts +21 -21
  537. package/lib/Pages/shared/models/SurveyModels/survey-utils.d.ts +5 -5
  538. package/lib/Pages/shared/models/UserModels/ActivationModel.d.ts +10 -10
  539. package/lib/Pages/shared/models/UserModels/AddUserModel.d.ts +33 -33
  540. package/lib/Pages/shared/models/UserModels/DropdownsResponseModel.d.ts +9 -9
  541. package/lib/Pages/shared/models/UserModels/EditUserModel.d.ts +25 -25
  542. package/lib/Pages/shared/models/UserModels/IdentityModel.d.ts +9 -9
  543. package/lib/Pages/shared/models/UserModels/UserSearchParamDTO.d.ts +8 -8
  544. package/lib/Pages/shared/models/UserModels/UsersIDRequestModel.d.ts +3 -3
  545. package/lib/Pages/shared/models/WorkflowModels/VariableLookupModel.d.ts +9 -9
  546. package/lib/Pages/shared/models/WorkflowModels/WFActivityModel.d.ts +40 -40
  547. package/lib/Pages/shared/models/WorkflowModels/WFActivityOutcomeModel.d.ts +13 -13
  548. package/lib/Pages/shared/models/WorkflowModels/WFActivityVariablesModel.d.ts +13 -13
  549. package/lib/Pages/shared/models/WorkflowModels/WFCreationModel.d.ts +10 -10
  550. package/lib/Pages/shared/models/WorkflowModels/WFVariableModel.d.ts +23 -23
  551. package/lib/Pages/shared/models/user.registration.d.ts +6 -6
  552. package/lib/Pages/shared/modules/public-survey.module.d.ts +15 -15
  553. package/lib/Pages/shared/modules/survey-routing.module.d.ts +7 -7
  554. package/lib/Pages/shared/modules/survey.module.d.ts +35 -35
  555. package/lib/Pages/shared/shared.module.d.ts +8 -8
  556. package/lib/Pages/shared/stylesbundle.service.d.ts +9 -9
  557. package/lib/Pages/start/index/index.component.d.ts +15 -15
  558. package/lib/Pages/start/start-routing.module.d.ts +7 -7
  559. package/lib/Pages/start/start.module.d.ts +11 -11
  560. package/lib/Pages/users/users.component.d.ts +138 -139
  561. package/lib/Pages/users/users.module.d.ts +18 -18
  562. package/lib/Pages/workflows/activity/workflow-activity-add/workflow-activity-add.component.d.ts +77 -77
  563. package/lib/Pages/workflows/activity/workflow-activity-edit/workflow-activity-edit.component.d.ts +82 -82
  564. package/lib/Pages/workflows/instance-info/instance-info.component.d.ts +81 -81
  565. package/lib/Pages/workflows/tabs/tabs.component.d.ts +126 -128
  566. package/lib/Pages/workflows/version-info/version-info.component.d.ts +41 -41
  567. package/lib/Pages/workflows/workflow/workflow.component.d.ts +54 -55
  568. package/lib/Pages/workflows/workflows-routing.module.d.ts +7 -7
  569. package/lib/Pages/workflows/workflows.component.d.ts +8 -8
  570. package/lib/Pages/workflows/workflows.module.d.ts +27 -27
  571. package/lib/_metronic/configs/default-layout.config.d.ts +139 -139
  572. package/lib/_metronic/core/_utils/DomHelpers.d.ts +26 -26
  573. package/lib/_metronic/core/_utils/ElementAnimateUtil.d.ts +13 -13
  574. package/lib/_metronic/core/_utils/EventHandlerUtil.d.ts +20 -20
  575. package/lib/_metronic/core/_utils/_DOMEventHandlerUtil.d.ts +6 -6
  576. package/lib/_metronic/core/_utils/_DataUtil.d.ts +8 -8
  577. package/lib/_metronic/core/_utils/_ElementStyleUtil.d.ts +5 -5
  578. package/lib/_metronic/core/_utils/_TypesHelpers.d.ts +10 -10
  579. package/lib/_metronic/core/_utils/models/OffsetModel.d.ts +4 -4
  580. package/lib/_metronic/core/_utils/models/ViewPortModel.d.ts +4 -4
  581. package/lib/_metronic/core/components/MenuComponent.d.ts +88 -88
  582. package/lib/_metronic/core/components/_CookieComponent.d.ts +25 -25
  583. package/lib/_metronic/core/components/_DrawerComponent.d.ts +49 -49
  584. package/lib/_metronic/core/components/_ScrollComponent.d.ts +31 -31
  585. package/lib/_metronic/core/components/_ScrollTopComponent.d.ts +24 -24
  586. package/lib/_metronic/core/components/_ToggleComponent.d.ts +36 -36
  587. package/lib/_metronic/core/services/layout-init.service.d.ts +18 -18
  588. package/lib/_metronic/core/services/layout.service.d.ts +38 -38
  589. package/lib/_metronic/core/services/page-info.service.d.ts +32 -32
  590. package/lib/masterlayout-routing.module.d.ts +11 -13
  591. package/lib/masterlayout.component.d.ts +63 -63
  592. package/lib/masterlayout.module.d.ts +34 -34
  593. package/package.json +25 -30
  594. package/public-api.d.ts +41 -41
  595. package/src/lib/assets/images/menu/Tools.svg +10 -4
  596. package/src/lib/assets/images/menu/authentication.svg +9 -0
  597. package/src/lib/assets/sass/style-rtl.scss +3 -3
  598. package/src/lib/assets/sass/style.scss +3 -3
  599. package/bnsights-bbsf-admin-portal-1.1.2.tgz +0 -0
  600. package/esm2020/lib/Pages/ActiveDirectories/active-directory/active-directory.component.mjs +0 -421
  601. package/esm2020/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.mjs +0 -528
  602. package/esm2020/lib/Pages/ActiveDirectories/active-directory.module.mjs +0 -108
  603. package/esm2020/lib/Pages/_layout/components/aside/aside-menu/aside-menu.component.mjs +0 -23
  604. package/esm2020/lib/Pages/anonymouslayout/anonymouslayout.module.mjs +0 -100
  605. package/esm2020/lib/Pages/configurations/auth-configuration/auth-configuration-edit/auth-configuration-edit.component.mjs +0 -330
  606. package/esm2020/lib/Pages/configurations/auth-configuration/auth-configuration.component.mjs +0 -157
  607. package/esm2020/lib/Pages/configurations/configuration/configuration.component.mjs +0 -801
  608. package/esm2020/lib/Pages/configurations/configurations.module.mjs +0 -104
  609. package/esm2020/lib/Pages/core/authentication/admin.guard.mjs +0 -17
  610. package/esm2020/lib/Pages/core/authentication/auth.service.mjs +0 -147
  611. package/esm2020/lib/Pages/departments/department/department.component.mjs +0 -220
  612. package/esm2020/lib/Pages/departments/department-info/department-info.component.mjs +0 -185
  613. package/esm2020/lib/Pages/departments/departments.module.mjs +0 -94
  614. package/esm2020/lib/Pages/documents/add/add.component.mjs +0 -136
  615. package/esm2020/lib/Pages/documents/document-master-layouts/document-master-layouts.component.mjs +0 -148
  616. package/esm2020/lib/Pages/documents/document-templates/document-templates.component.mjs +0 -437
  617. package/esm2020/lib/Pages/documents/documents.module.mjs +0 -114
  618. package/esm2020/lib/Pages/documents/documents.routing.mjs +0 -37
  619. package/esm2020/lib/Pages/documents/edit/edit.component.mjs +0 -169
  620. package/esm2020/lib/Pages/helpCenter/help-center/help-center.component.mjs +0 -294
  621. package/esm2020/lib/Pages/helpCenter/help-center-preview/help-center-preview.component.mjs +0 -43
  622. package/esm2020/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.mjs +0 -242
  623. package/esm2020/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.mjs +0 -243
  624. package/esm2020/lib/Pages/helpCenter/help-center.module.mjs +0 -98
  625. package/esm2020/lib/Pages/home/home.component.mjs +0 -153
  626. package/esm2020/lib/Pages/home/home.module.mjs +0 -48
  627. package/esm2020/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.mjs +0 -443
  628. package/esm2020/lib/Pages/impersonation-rules/impersonation-rules.module.mjs +0 -95
  629. package/esm2020/lib/Pages/jobs/jobs/jobs.component.mjs +0 -223
  630. package/esm2020/lib/Pages/jobs/jobs.module.mjs +0 -87
  631. package/esm2020/lib/Pages/license/license.module.mjs +0 -71
  632. package/esm2020/lib/Pages/localizations/localizations.component.mjs +0 -516
  633. package/esm2020/lib/Pages/localizations/localizations.module.mjs +0 -79
  634. package/esm2020/lib/Pages/logs/logs.module.mjs +0 -87
  635. package/esm2020/lib/Pages/lookups/lookup/lookup.component.mjs +0 -367
  636. package/esm2020/lib/Pages/lookups/lookup-group/lookup-group.component.mjs +0 -187
  637. package/esm2020/lib/Pages/lookups/lookup-item/lookup-item.component.mjs +0 -297
  638. package/esm2020/lib/Pages/lookups/lookups.module.mjs +0 -100
  639. package/esm2020/lib/Pages/notifications/add/add.component.mjs +0 -104
  640. package/esm2020/lib/Pages/notifications/edit/edit.component.mjs +0 -133
  641. package/esm2020/lib/Pages/notifications/master-layouts/master-layouts.component.mjs +0 -148
  642. package/esm2020/lib/Pages/notifications/notifications-routing.module.mjs +0 -39
  643. package/esm2020/lib/Pages/notifications/notifications.module.mjs +0 -101
  644. package/esm2020/lib/Pages/notifications/templates/templates.component.mjs +0 -495
  645. package/esm2020/lib/Pages/providers/provider/provider.component.mjs +0 -615
  646. package/esm2020/lib/Pages/providers/providers.module.mjs +0 -91
  647. package/esm2020/lib/Pages/publicHolidays/public-holiday/public-holiday.component.mjs +0 -334
  648. package/esm2020/lib/Pages/publicHolidays/public-holidays.module.mjs +0 -94
  649. package/esm2020/lib/Pages/roles/permission-set-info/permission-set-info.component.mjs +0 -187
  650. package/esm2020/lib/Pages/roles/permissions/permissions.component.mjs +0 -226
  651. package/esm2020/lib/Pages/roles/permissionsets/permissionsets.component.mjs +0 -277
  652. package/esm2020/lib/Pages/roles/roles.module.mjs +0 -105
  653. package/esm2020/lib/Pages/sectors/department-info/department-info.component.mjs +0 -187
  654. package/esm2020/lib/Pages/sectors/sector/sector.component.mjs +0 -193
  655. package/esm2020/lib/Pages/sectors/sector-info/sector-info.component.mjs +0 -180
  656. package/esm2020/lib/Pages/sectors/sectors.module.mjs +0 -96
  657. package/esm2020/lib/Pages/shared/Enums/WFVariableDataType.mjs +0 -14
  658. package/esm2020/lib/Pages/shared/Services/injectionModuleService.service.mjs +0 -163
  659. package/esm2020/lib/Pages/shared/components/survey/add-survey/add-survey.component.mjs +0 -192
  660. package/esm2020/lib/Pages/shared/components/survey-form/survey-form.component.mjs +0 -696
  661. package/esm2020/lib/Pages/shared/components/survey-form-item/survey-form-item.component.mjs +0 -84
  662. package/esm2020/lib/Pages/shared/constants.mjs +0 -130
  663. package/esm2020/lib/Pages/shared/models/SurveyModels/survey-utils.mjs +0 -8
  664. package/esm2020/lib/Pages/shared/modules/public-survey.module.mjs +0 -68
  665. package/esm2020/lib/Pages/shared/modules/survey.module.mjs +0 -126
  666. package/esm2020/lib/Pages/shared/shared.module.mjs +0 -31
  667. package/esm2020/lib/Pages/users/users.component.mjs +0 -806
  668. package/esm2020/lib/Pages/users/users.module.mjs +0 -86
  669. package/esm2020/lib/Pages/workflows/tabs/tabs.component.mjs +0 -793
  670. package/esm2020/lib/Pages/workflows/workflow/workflow.component.mjs +0 -209
  671. package/esm2020/lib/Pages/workflows/workflows.module.mjs +0 -103
  672. package/esm2020/lib/_metronic/core/_utils/EventHandlerUtil.mjs +0 -90
  673. package/esm2020/lib/_metronic/core/_utils/_DOMEventHandlerUtil.mjs +0 -49
  674. package/esm2020/lib/_metronic/core/_utils/_DataUtil.mjs +0 -48
  675. package/esm2020/lib/_metronic/core/components/_DrawerComponent.mjs +0 -290
  676. package/esm2020/lib/_metronic/core/components/_ScrollTopComponent.mjs +0 -113
  677. package/esm2020/lib/_metronic/core/components/_ToggleComponent.mjs +0 -157
  678. package/esm2020/lib/_metronic/core/services/page-info.service.mjs +0 -119
  679. package/esm2020/lib/masterlayout-routing.module.mjs +0 -45
  680. package/esm2020/lib/masterlayout.module.mjs +0 -188
  681. package/fesm2015/bnsights-bbsf-admin-portal.mjs +0 -27293
  682. package/fesm2015/bnsights-bbsf-admin-portal.mjs.map +0 -1
  683. package/fesm2020/bnsights-bbsf-admin-portal.mjs.map +0 -1
  684. package/lib/Pages/shared/Enums/WFVariableDataType.d.ts +0 -12
@@ -1,252 +1,252 @@
1
- import { getAttributeValueByBreakpoint, getCSS, getViewPort, isVisibleElement, throttle } from "../_utils/DomHelpers";
2
- import { DataUtil } from "../_utils/_DataUtil";
3
- import { ElementStyleUtil } from "../_utils/_ElementStyleUtil";
4
- import { getObjectPropertyValueByKey, stringSnakeToCamel } from "../_utils/_TypesHelpers";
5
- import { CookieComponent } from './_CookieComponent';
6
- const defaultScrollOptions = {
7
- saveState: true,
8
- };
9
- class ScrollComponent {
10
- constructor(_element, options) {
11
- this.getOption = (name) => {
12
- if (this.element.hasAttribute('data-kt-scroll-' + name) === true) {
13
- const attr = this.element.getAttribute('data-kt-scroll-' + name) || '';
14
- let value = getAttributeValueByBreakpoint(attr);
15
- if (value !== null && String(value) === 'true') {
16
- value = true;
17
- }
18
- else if (value !== null && String(value) === 'false') {
19
- value = false;
20
- }
21
- return value;
22
- }
23
- else {
24
- const optionName = stringSnakeToCamel(name);
25
- const option = getObjectPropertyValueByKey(this.options, optionName);
26
- if (option) {
27
- return getAttributeValueByBreakpoint(option);
28
- }
29
- else {
30
- return null;
31
- }
32
- }
33
- };
34
- this.getHeightType = () => {
35
- if (this.getOption('height')) {
36
- return 'height';
37
- }
38
- if (this.getOption('min-height')) {
39
- return 'min-height';
40
- }
41
- if (this.getOption('max-height')) {
42
- return 'max-height';
43
- }
44
- return '';
45
- };
46
- this.getAutoHeight = () => {
47
- let height = getViewPort().height;
48
- const dependencies = this.getOption('dependencies');
49
- const wrappers = this.getOption('wrappers');
50
- const offset = this.getOption('offset');
51
- // Height dependencies
52
- if (dependencies !== null) {
53
- const elements = document.querySelectorAll(dependencies);
54
- if (elements && elements.length > 0) {
55
- for (let i = 0, len = elements.length; i < len; i++) {
56
- const element = elements[i];
57
- if (isVisibleElement(element) === false) {
58
- continue;
59
- }
60
- height = height - parseInt(getCSS(element, 'height'));
61
- height = height - parseInt(getCSS(element, 'margin-top'));
62
- height = height - parseInt(getCSS(element, 'margin-bottom'));
63
- const borderTop = getCSS(element, 'border-top');
64
- if (borderTop) {
65
- height = height - parseInt(borderTop);
66
- }
67
- const borderBottom = getCSS(element, 'border-bottom');
68
- if (borderBottom) {
69
- height = height - parseInt(borderBottom);
70
- }
71
- }
72
- }
73
- }
74
- // Wrappers
75
- if (wrappers !== null) {
76
- var elements = document.querySelectorAll(wrappers);
77
- if (elements && elements.length > 0) {
78
- for (let i = 0, len = elements.length; i < len; i++) {
79
- const element = elements[i];
80
- if (!isVisibleElement(element)) {
81
- continue;
82
- }
83
- height = height - parseInt(getCSS(element, 'margin-top'));
84
- height = height - parseInt(getCSS(element, 'margin-bottom'));
85
- height = height - parseInt(getCSS(element, 'padding-top'));
86
- height = height - parseInt(getCSS(element, 'padding-bottom'));
87
- const borderTop = getCSS(element, 'border-top');
88
- if (borderTop) {
89
- height = height - parseInt(borderTop);
90
- }
91
- const borderBottom = getCSS(element, 'border-bottom');
92
- if (borderBottom) {
93
- height = height - parseInt(borderBottom);
94
- }
95
- }
96
- }
97
- }
98
- // Custom offset
99
- if (offset !== null) {
100
- height = height - parseInt(offset);
101
- }
102
- height = height - parseInt(getCSS(this.element, 'margin-top'));
103
- height = height - parseInt(getCSS(this.element, 'margin-bottom'));
104
- const borderTop = getCSS(this.element, 'border-top');
105
- if (borderTop) {
106
- height = height - parseInt(borderTop);
107
- }
108
- const borderBottom = getCSS(this.element, 'border-bottom');
109
- if (borderBottom) {
110
- height = height - parseInt(borderBottom);
111
- }
112
- height = String(height) + 'px';
113
- return height;
114
- };
115
- this.setupHeight = () => {
116
- let height = this.getHeight();
117
- let heightType = this.getHeightType();
118
- // Set height
119
- if (height !== null && height.length > 0) {
120
- ElementStyleUtil.set(this.element, heightType, height);
121
- }
122
- else {
123
- ElementStyleUtil.set(this.element, heightType, '');
124
- }
125
- };
126
- this.setupState = () => {
127
- if (this.getOption('save-state') === true && this.id) {
128
- const cookie = CookieComponent.get(this.id + 'st');
129
- if (cookie) {
130
- var pos = parseInt(cookie);
131
- if (pos > 0) {
132
- this.element.scrollTop = pos;
133
- }
134
- }
135
- }
136
- };
137
- this.setupScrollHandler = () => {
138
- if (this.getOption('save-state') === true && this.id) {
139
- this.element.addEventListener('scroll', this.scrollHandler);
140
- }
141
- else {
142
- this.element.removeEventListener('scroll', this.scrollHandler);
143
- }
144
- };
145
- this.scrollHandler = () => {
146
- const cookieId = this.id + 'st';
147
- CookieComponent.set(cookieId, this.element.scrollTop, {});
148
- };
149
- this.destroyScrollHandler = () => {
150
- this.element.removeEventListener('scroll', this.scrollHandler);
151
- };
152
- this.resetHeight = () => {
153
- const heghtType = this.getHeightType();
154
- if (heghtType) {
155
- ElementStyleUtil.set(this.element, heghtType, '');
156
- }
157
- };
158
- ///////////////////////
159
- // ** Public API ** //
160
- ///////////////////////
161
- this.update = () => {
162
- // Activate/deactivate
163
- if (this.getOption('activate') === true ||
164
- !this.element.hasAttribute('data-kt-scroll-activate')) {
165
- this.setupHeight();
166
- this.setupScrollHandler();
167
- this.setupState();
168
- }
169
- else {
170
- this.resetHeight();
171
- this.destroyScrollHandler();
172
- }
173
- };
174
- this.getHeight = () => {
175
- const heightType = this.getHeightType();
176
- const height = this.getOption(heightType || '');
177
- if (height instanceof Function) {
178
- return height.call(height);
179
- }
180
- else if (height !== null &&
181
- typeof height === 'string' &&
182
- height.toLowerCase() === 'auto') {
183
- return this.getAutoHeight();
184
- }
185
- else {
186
- return height;
187
- }
188
- };
189
- this.getElement = () => {
190
- return this.element;
191
- };
192
- this.element = _element;
193
- this.options = Object.assign(defaultScrollOptions, options);
194
- this.id = this.element.getAttribute('id') || '';
195
- this.update();
196
- // this.element.setAttribute('data-kt-scrolltop', 'true')
197
- DataUtil.set(this.element, 'scroll', this);
198
- }
199
- // Static methods
200
- static hasInstace(element) {
201
- return DataUtil.has(element, 'scroll');
202
- }
203
- static getInstance(element) {
204
- if (element !== null && ScrollComponent.hasInstace(element)) {
205
- return DataUtil.get(element, 'scroll');
206
- }
207
- }
208
- // Create Instances
209
- static createInstances(selector) {
210
- const elements = document.body.querySelectorAll(selector);
211
- elements.forEach((element) => {
212
- const item = element;
213
- let scroll = ScrollComponent.getInstance(item);
214
- if (!scroll) {
215
- scroll = new ScrollComponent(item, defaultScrollOptions);
216
- }
217
- });
218
- }
219
- static destroyAll(attr = '[data-kt-scroll="true"]') { }
220
- static bootstrap(attr = '[data-kt-scroll="true"]') {
221
- ScrollComponent.createInstances(attr);
222
- ScrollComponent.resize();
223
- }
224
- static reinitialization(attr = '[data-kt-scroll="true"]') {
225
- ScrollComponent.createInstances(attr);
226
- }
227
- static resize() {
228
- // Window Resize Handling
229
- window.addEventListener('resize', function () {
230
- let timer;
231
- throttle(timer, () => {
232
- // Locate and update Drawer instances on window resize
233
- const elements = document.body.querySelectorAll('[data-kt-scroll="true"]');
234
- elements.forEach((element) => {
235
- const instance = ScrollComponent.getInstance(element);
236
- if (instance) {
237
- instance.update();
238
- }
239
- });
240
- }, 200);
241
- });
242
- }
243
- }
244
- ScrollComponent.createInstance = (element, options = defaultScrollOptions) => {
245
- let scroll = ScrollComponent.getInstance(element);
246
- if (!scroll) {
247
- scroll = new ScrollComponent(element, options);
248
- }
249
- return scroll;
250
- };
251
- export { ScrollComponent, defaultScrollOptions };
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX1Njcm9sbENvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvX21ldHJvbmljL2NvcmUvY29tcG9uZW50cy9fU2Nyb2xsQ29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRXJILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUU5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsMkJBQTJCLEVBQXlCLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDaEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBTXJELE1BQU0sb0JBQW9CLEdBQWtCO0lBQzFDLFNBQVMsRUFBRSxJQUFJO0NBQ2hCLENBQUM7QUFFRixNQUFNLGVBQWU7SUFLbkIsWUFBWSxRQUFxQixFQUFFLE9BQXNCO1FBU2pELGNBQVMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQ25DLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUNoRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3ZFLElBQUksS0FBSyxHQUE0Qiw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDekUsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxNQUFNLEVBQUU7b0JBQzlDLEtB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QkFDRixRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFO29CQUNwQyxNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUMxQyxPQUFzQixDQUN2QixDQUFDO29CQUNGLElBQUksUUFBUSxFQUFFO3dCQUNaLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztxQkFDbkI7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLEVBQ0QsR0FBRyxDQUNKLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBdENhLDhCQUFjLEdBQUcsQ0FDN0IsT0FBb0IsRUFDcEIsVUFBeUIsb0JBQW9CLEVBQ2hCLEVBQUU7SUFDL0IsSUFBSSxNQUFNLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRCxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ1gsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztLQUNoRDtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQWdDSixPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRBdHRyaWJ1dGVWYWx1ZUJ5QnJlYWtwb2ludCwgZ2V0Q1NTLCBnZXRWaWV3UG9ydCwgaXNWaXNpYmxlRWxlbWVudCwgdGhyb3R0bGUgfSBmcm9tIFwiLi4vX3V0aWxzL0RvbUhlbHBlcnNcIlxyXG5pbXBvcnQgeyBFdmVudEhhbmRsZXJVdGlsIH0gZnJvbSBcIi4uL191dGlscy9FdmVudEhhbmRsZXJVdGlsXCJcclxuaW1wb3J0IHsgRGF0YVV0aWwgfSBmcm9tIFwiLi4vX3V0aWxzL19EYXRhVXRpbFwiXHJcbmltcG9ydCB7IERPTUV2ZW50SGFuZGxlclV0aWwgfSBmcm9tIFwiLi4vX3V0aWxzL19ET01FdmVudEhhbmRsZXJVdGlsXCJcclxuaW1wb3J0IHsgRWxlbWVudFN0eWxlVXRpbCB9IGZyb20gXCIuLi9fdXRpbHMvX0VsZW1lbnRTdHlsZVV0aWxcIlxyXG5pbXBvcnQgeyBnZXRPYmplY3RQcm9wZXJ0eVZhbHVlQnlLZXksIGdldFVuaXF1ZUlkV2l0aFByZWZpeCwgc3RyaW5nU25ha2VUb0NhbWVsIH0gZnJvbSBcIi4uL191dGlscy9fVHlwZXNIZWxwZXJzXCJcclxuaW1wb3J0IHsgQ29va2llQ29tcG9uZW50IH0gZnJvbSAnLi9fQ29va2llQ29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2Nyb2xsT3B0aW9ucyB7XHJcbiAgc2F2ZVN0YXRlPzogYm9vbGVhbjtcclxufVxyXG5cclxuY29uc3QgZGVmYXVsdFNjcm9sbE9wdGlvbnM6IFNjcm9sbE9wdGlvbnMgPSB7XHJcbiAgc2F2ZVN0YXRlOiB0cnVlLFxyXG59O1xyXG5cclxuY2xhc3MgU2Nyb2xsQ29tcG9uZW50IHtcclxuICBlbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBvcHRpb25zOiBTY3JvbGxPcHRpb25zO1xyXG4gIGlkOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKF9lbGVtZW50OiBIVE1MRWxlbWVudCwgb3B0aW9uczogU2Nyb2xsT3B0aW9ucykge1xyXG4gICAgdGhpcy5lbGVtZW50ID0gX2VsZW1lbnQ7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKGRlZmF1bHRTY3JvbGxPcHRpb25zLCBvcHRpb25zKTtcclxuICAgIHRoaXMuaWQgPSB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCdpZCcpIHx8ICcnO1xyXG4gICAgdGhpcy51cGRhdGUoKTtcclxuICAgIC8vIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEta3Qtc2Nyb2xsdG9wJywgJ3RydWUnKVxyXG4gICAgRGF0YVV0aWwuc2V0KHRoaXMuZWxlbWVudCwgJ3Njcm9sbCcsIHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRPcHRpb24gPSAobmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICBpZiAodGhpcy5lbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGF0YS1rdC1zY3JvbGwtJyArIG5hbWUpID09PSB0cnVlKSB7XHJcbiAgICAgIGNvbnN0IGF0dHIgPSB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLWt0LXNjcm9sbC0nICsgbmFtZSkgfHwgJyc7XHJcbiAgICAgIGxldCB2YWx1ZTogc3RyaW5nIHwgSlNPTiB8IGJvb2xlYW4gPSBnZXRBdHRyaWJ1dGVWYWx1ZUJ5QnJlYWtwb2ludChhdHRyKTtcclxuICAgICAgaWYgKHZhbHVlICE9PSBudWxsICYmIFN0cmluZyh2YWx1ZSkgPT09ICd0cnVlJykge1xyXG4gICAgICAgIHZhbHVlID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiBTdHJpbmcodmFsdWUpID09PSAnZmFsc2UnKSB7XHJcbiAgICAgICAgdmFsdWUgPSBmYWxzZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3Qgb3B0aW9uTmFtZSA9IHN0cmluZ1NuYWtlVG9DYW1lbChuYW1lKTtcclxuICAgICAgY29uc3Qgb3B0aW9uID0gZ2V0T2JqZWN0UHJvcGVydHlWYWx1ZUJ5S2V5KHRoaXMub3B0aW9ucywgb3B0aW9uTmFtZSk7XHJcbiAgICAgIGlmIChvcHRpb24pIHtcclxuICAgICAgICByZXR1cm4gZ2V0QXR0cmlidXRlVmFsdWVCeUJyZWFrcG9pbnQob3B0aW9uKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgZ2V0SGVpZ2h0VHlwZSA9ICgpID0+IHtcclxuICAgIGlmICh0aGlzLmdldE9wdGlvbignaGVpZ2h0JykpIHtcclxuICAgICAgcmV0dXJuICdoZWlnaHQnO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ2V0T3B0aW9uKCdtaW4taGVpZ2h0JykpIHtcclxuICAgICAgcmV0dXJuICdtaW4taGVpZ2h0JztcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmdldE9wdGlvbignbWF4LWhlaWdodCcpKSB7XHJcbiAgICAgIHJldHVybiAnbWF4LWhlaWdodCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBnZXRBdXRvSGVpZ2h0ID0gKCkgPT4ge1xyXG4gICAgbGV0IGhlaWdodDogbnVtYmVyIHwgc3RyaW5nID0gZ2V0Vmlld1BvcnQoKS5oZWlnaHQ7XHJcbiAgICBjb25zdCBkZXBlbmRlbmNpZXMgPSB0aGlzLmdldE9wdGlvbignZGVwZW5kZW5jaWVzJyk7XHJcbiAgICBjb25zdCB3cmFwcGVycyA9IHRoaXMuZ2V0T3B0aW9uKCd3cmFwcGVycycpO1xyXG4gICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5nZXRPcHRpb24oJ29mZnNldCcpO1xyXG5cclxuICAgIC8vIEhlaWdodCBkZXBlbmRlbmNpZXNcclxuICAgIGlmIChkZXBlbmRlbmNpZXMgIT09IG51bGwpIHtcclxuICAgICAgY29uc3QgZWxlbWVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGRlcGVuZGVuY2llcyBhcyBzdHJpbmcpO1xyXG4gICAgICBpZiAoZWxlbWVudHMgJiYgZWxlbWVudHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBlbGVtZW50cy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgY29uc3QgZWxlbWVudCA9IGVsZW1lbnRzW2ldIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgaWYgKGlzVmlzaWJsZUVsZW1lbnQoZWxlbWVudCkgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGhlaWdodCA9IGhlaWdodCAtIHBhcnNlSW50KGdldENTUyhlbGVtZW50LCAnaGVpZ2h0JykpO1xyXG4gICAgICAgICAgaGVpZ2h0ID0gaGVpZ2h0IC0gcGFyc2VJbnQoZ2V0Q1NTKGVsZW1lbnQsICdtYXJnaW4tdG9wJykpO1xyXG4gICAgICAgICAgaGVpZ2h0ID0gaGVpZ2h0IC0gcGFyc2VJbnQoZ2V0Q1NTKGVsZW1lbnQsICdtYXJnaW4tYm90dG9tJykpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGJvcmRlclRvcCA9IGdldENTUyhlbGVtZW50LCAnYm9yZGVyLXRvcCcpO1xyXG4gICAgICAgICAgaWYgKGJvcmRlclRvcCkge1xyXG4gICAgICAgICAgICBoZWlnaHQgPSBoZWlnaHQgLSBwYXJzZUludChib3JkZXJUb3ApO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGNvbnN0IGJvcmRlckJvdHRvbSA9IGdldENTUyhlbGVtZW50LCAnYm9yZGVyLWJvdHRvbScpO1xyXG4gICAgICAgICAgaWYgKGJvcmRlckJvdHRvbSkge1xyXG4gICAgICAgICAgICBoZWlnaHQgPSBoZWlnaHQgLSBwYXJzZUludChib3JkZXJCb3R0b20pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFdyYXBwZXJzXHJcbiAgICBpZiAod3JhcHBlcnMgIT09IG51bGwpIHtcclxuICAgICAgdmFyIGVsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh3cmFwcGVycyBhcyBzdHJpbmcpO1xyXG4gICAgICBpZiAoZWxlbWVudHMgJiYgZWxlbWVudHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBlbGVtZW50cy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgY29uc3QgZWxlbWVudCA9IGVsZW1lbnRzW2ldIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgICAgICAgIGlmICghaXNWaXNpYmxlRWxlbWVudChlbGVtZW50KSkge1xyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBoZWlnaHQgPSBoZWlnaHQgLSBwYXJzZUludChnZXRDU1MoZWxlbWVudCwgJ21hcmdpbi10b3AnKSk7XHJcbiAgICAgICAgICBoZWlnaHQgPSBoZWlnaHQgLSBwYXJzZUludChnZXRDU1MoZWxlbWVudCwgJ21hcmdpbi1ib3R0b20nKSk7XHJcbiAgICAgICAgICBoZWlnaHQgPSBoZWlnaHQgLSBwYXJzZUludChnZXRDU1MoZWxlbWVudCwgJ3BhZGRpbmctdG9wJykpO1xyXG4gICAgICAgICAgaGVpZ2h0ID0gaGVpZ2h0IC0gcGFyc2VJbnQoZ2V0Q1NTKGVsZW1lbnQsICdwYWRkaW5nLWJvdHRvbScpKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBib3JkZXJUb3AgPSBnZXRDU1MoZWxlbWVudCwgJ2JvcmRlci10b3AnKTtcclxuICAgICAgICAgIGlmIChib3JkZXJUb3ApIHtcclxuICAgICAgICAgICAgaGVpZ2h0ID0gaGVpZ2h0IC0gcGFyc2VJbnQoYm9yZGVyVG9wKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBjb25zdCBib3JkZXJCb3R0b20gPSBnZXRDU1MoZWxlbWVudCwgJ2JvcmRlci1ib3R0b20nKTtcclxuICAgICAgICAgIGlmIChib3JkZXJCb3R0b20pIHtcclxuICAgICAgICAgICAgaGVpZ2h0ID0gaGVpZ2h0IC0gcGFyc2VJbnQoYm9yZGVyQm90dG9tKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBDdXN0b20gb2Zmc2V0XHJcbiAgICBpZiAob2Zmc2V0ICE9PSBudWxsKSB7XHJcbiAgICAgIGhlaWdodCA9IGhlaWdodCAtIHBhcnNlSW50KG9mZnNldCBhcyBzdHJpbmcpO1xyXG4gICAgfVxyXG5cclxuICAgIGhlaWdodCA9IGhlaWdodCAtIHBhcnNlSW50KGdldENTUyh0aGlzLmVsZW1lbnQsICdtYXJnaW4tdG9wJykpO1xyXG4gICAgaGVpZ2h0ID0gaGVpZ2h0IC0gcGFyc2VJbnQoZ2V0Q1NTKHRoaXMuZWxlbWVudCwgJ21hcmdpbi1ib3R0b20nKSk7XHJcblxyXG4gICAgY29uc3QgYm9yZGVyVG9wID0gZ2V0Q1NTKHRoaXMuZWxlbWVudCwgJ2JvcmRlci10b3AnKTtcclxuICAgIGlmIChib3JkZXJUb3ApIHtcclxuICAgICAgaGVpZ2h0ID0gaGVpZ2h0IC0gcGFyc2VJbnQoYm9yZGVyVG9wKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBib3JkZXJCb3R0b20gPSBnZXRDU1ModGhpcy5lbGVtZW50LCAnYm9yZGVyLWJvdHRvbScpO1xyXG4gICAgaWYgKGJvcmRlckJvdHRvbSkge1xyXG4gICAgICBoZWlnaHQgPSBoZWlnaHQgLSBwYXJzZUludChib3JkZXJCb3R0b20pO1xyXG4gICAgfVxyXG5cclxuICAgIGhlaWdodCA9IFN0cmluZyhoZWlnaHQpICsgJ3B4JztcclxuXHJcbiAgICByZXR1cm4gaGVpZ2h0O1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgc2V0dXBIZWlnaHQgPSAoKSA9PiB7XHJcbiAgICBsZXQgaGVpZ2h0ID0gdGhpcy5nZXRIZWlnaHQoKTtcclxuICAgIGxldCBoZWlnaHRUeXBlID0gdGhpcy5nZXRIZWlnaHRUeXBlKCkgYXMgc3RyaW5nO1xyXG5cclxuICAgIC8vIFNldCBoZWlnaHRcclxuICAgIGlmIChoZWlnaHQgIT09IG51bGwgJiYgaGVpZ2h0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgRWxlbWVudFN0eWxlVXRpbC5zZXQodGhpcy5lbGVtZW50LCBoZWlnaHRUeXBlLCBoZWlnaHQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgRWxlbWVudFN0eWxlVXRpbC5zZXQodGhpcy5lbGVtZW50LCBoZWlnaHRUeXBlLCAnJyk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBzZXR1cFN0YXRlID0gKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuZ2V0T3B0aW9uKCdzYXZlLXN0YXRlJykgPT09IHRydWUgJiYgdGhpcy5pZCkge1xyXG4gICAgICBjb25zdCBjb29raWUgPSBDb29raWVDb21wb25lbnQuZ2V0KHRoaXMuaWQgKyAnc3QnKTtcclxuICAgICAgaWYgKGNvb2tpZSkge1xyXG4gICAgICAgIHZhciBwb3MgPSBwYXJzZUludChjb29raWUpO1xyXG5cclxuICAgICAgICBpZiAocG9zID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5lbGVtZW50LnNjcm9sbFRvcCA9IHBvcztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9O1xyXG5cclxuICBwcml2YXRlIHNldHVwU2Nyb2xsSGFuZGxlciA9ICgpID0+IHtcclxuICAgIGlmICh0aGlzLmdldE9wdGlvbignc2F2ZS1zdGF0ZScpID09PSB0cnVlICYmIHRoaXMuaWQpIHtcclxuICAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuc2Nyb2xsSGFuZGxlcik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5zY3JvbGxIYW5kbGVyKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBwcml2YXRlIHNjcm9sbEhhbmRsZXIgPSAoKSA9PiB7XHJcbiAgICBjb25zdCBjb29raWVJZCA9IHRoaXMuaWQgKyAnc3QnO1xyXG4gICAgQ29va2llQ29tcG9uZW50LnNldChjb29raWVJZCwgdGhpcy5lbGVtZW50LnNjcm9sbFRvcCwge30pO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgZGVzdHJveVNjcm9sbEhhbmRsZXIgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5zY3JvbGxIYW5kbGVyKTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIHJlc2V0SGVpZ2h0ID0gKCkgPT4ge1xyXG4gICAgY29uc3QgaGVnaHRUeXBlID0gdGhpcy5nZXRIZWlnaHRUeXBlKCk7XHJcbiAgICBpZiAoaGVnaHRUeXBlKSB7XHJcbiAgICAgIEVsZW1lbnRTdHlsZVV0aWwuc2V0KHRoaXMuZWxlbWVudCwgaGVnaHRUeXBlLCAnJyk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAvLyAqKiBQdWJsaWMgQVBJICAqKiAvL1xyXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgcHVibGljIHVwZGF0ZSA9ICgpID0+IHtcclxuICAgIC8vIEFjdGl2YXRlL2RlYWN0aXZhdGVcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5nZXRPcHRpb24oJ2FjdGl2YXRlJykgPT09IHRydWUgfHxcclxuICAgICAgIXRoaXMuZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2RhdGEta3Qtc2Nyb2xsLWFjdGl2YXRlJylcclxuICAgICkge1xyXG4gICAgICB0aGlzLnNldHVwSGVpZ2h0KCk7XHJcbiAgICAgIHRoaXMuc2V0dXBTY3JvbGxIYW5kbGVyKCk7XHJcbiAgICAgIHRoaXMuc2V0dXBTdGF0ZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yZXNldEhlaWdodCgpO1xyXG4gICAgICB0aGlzLmRlc3Ryb3lTY3JvbGxIYW5kbGVyKCk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIGdldEhlaWdodCA9ICgpID0+IHtcclxuICAgIGNvbnN0IGhlaWdodFR5cGUgPSB0aGlzLmdldEhlaWdodFR5cGUoKTtcclxuICAgIGNvbnN0IGhlaWdodCA9IHRoaXMuZ2V0T3B0aW9uKGhlaWdodFR5cGUgfHwgJycpO1xyXG4gICAgaWYgKGhlaWdodCBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XHJcbiAgICAgIHJldHVybiBoZWlnaHQuY2FsbChoZWlnaHQpO1xyXG4gICAgfSBlbHNlIGlmIChcclxuICAgICAgaGVpZ2h0ICE9PSBudWxsICYmXHJcbiAgICAgIHR5cGVvZiBoZWlnaHQgPT09ICdzdHJpbmcnICYmXHJcbiAgICAgIGhlaWdodC50b0xvd2VyQ2FzZSgpID09PSAnYXV0bydcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXRBdXRvSGVpZ2h0KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gaGVpZ2h0O1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHB1YmxpYyBnZXRFbGVtZW50ID0gKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudDtcclxuICB9O1xyXG5cclxuICAvLyBTdGF0aWMgbWV0aG9kc1xyXG4gIHB1YmxpYyBzdGF0aWMgaGFzSW5zdGFjZShlbGVtZW50OiBIVE1MRWxlbWVudCkge1xyXG4gICAgcmV0dXJuIERhdGFVdGlsLmhhcyhlbGVtZW50LCAnc2Nyb2xsJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldEluc3RhbmNlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XHJcbiAgICBpZiAoZWxlbWVudCAhPT0gbnVsbCAmJiBTY3JvbGxDb21wb25lbnQuaGFzSW5zdGFjZShlbGVtZW50KSkge1xyXG4gICAgICByZXR1cm4gRGF0YVV0aWwuZ2V0KGVsZW1lbnQsICdzY3JvbGwnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENyZWF0ZSBJbnN0YW5jZXNcclxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZUluc3RhbmNlcyhzZWxlY3Rvcjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBlbGVtZW50cyA9IGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7XHJcbiAgICBlbGVtZW50cy5mb3JFYWNoKChlbGVtZW50OiBFbGVtZW50KSA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSBlbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICBsZXQgc2Nyb2xsID0gU2Nyb2xsQ29tcG9uZW50LmdldEluc3RhbmNlKGl0ZW0pO1xyXG4gICAgICBpZiAoIXNjcm9sbCkge1xyXG4gICAgICAgIHNjcm9sbCA9IG5ldyBTY3JvbGxDb21wb25lbnQoaXRlbSwgZGVmYXVsdFNjcm9sbE9wdGlvbnMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZGVzdHJveUFsbChhdHRyOiBzdHJpbmcgPSAnW2RhdGEta3Qtc2Nyb2xsPVwidHJ1ZVwiXScpIHt9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgYm9vdHN0cmFwKGF0dHI6IHN0cmluZyA9ICdbZGF0YS1rdC1zY3JvbGw9XCJ0cnVlXCJdJykge1xyXG4gICAgU2Nyb2xsQ29tcG9uZW50LmNyZWF0ZUluc3RhbmNlcyhhdHRyKTtcclxuICAgIFNjcm9sbENvbXBvbmVudC5yZXNpemUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlSW5zdGFuY2UgPSAoXHJcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudCxcclxuICAgIG9wdGlvbnM6IFNjcm9sbE9wdGlvbnMgPSBkZWZhdWx0U2Nyb2xsT3B0aW9uc1xyXG4gICk6IFNjcm9sbENvbXBvbmVudCB8IHVuZGVmaW5lZCA9PiB7XHJcbiAgICBsZXQgc2Nyb2xsID0gU2Nyb2xsQ29tcG9uZW50LmdldEluc3RhbmNlKGVsZW1lbnQpO1xyXG4gICAgaWYgKCFzY3JvbGwpIHtcclxuICAgICAgc2Nyb2xsID0gbmV3IFNjcm9sbENvbXBvbmVudChlbGVtZW50LCBvcHRpb25zKTtcclxuICAgIH1cclxuICAgIHJldHVybiBzY3JvbGw7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHN0YXRpYyByZWluaXRpYWxpemF0aW9uKGF0dHI6IHN0cmluZyA9ICdbZGF0YS1rdC1zY3JvbGw9XCJ0cnVlXCJdJykge1xyXG4gICAgU2Nyb2xsQ29tcG9uZW50LmNyZWF0ZUluc3RhbmNlcyhhdHRyKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgcmVzaXplKCkge1xyXG4gICAgLy8gV2luZG93IFJlc2l6ZSBIYW5kbGluZ1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGZ1bmN0aW9uICgpIHtcclxuICAgICAgbGV0IHRpbWVyO1xyXG4gICAgICB0aHJvdHRsZShcclxuICAgICAgICB0aW1lcixcclxuICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAvLyBMb2NhdGUgYW5kIHVwZGF0ZSBEcmF3ZXIgaW5zdGFuY2VzIG9uIHdpbmRvdyByZXNpemVcclxuICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gZG9jdW1lbnQuYm9keS5xdWVyeVNlbGVjdG9yQWxsKFxyXG4gICAgICAgICAgICAnW2RhdGEta3Qtc2Nyb2xsPVwidHJ1ZVwiXSdcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBlbGVtZW50cy5mb3JFYWNoKChlbGVtZW50OiBFbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gU2Nyb2xsQ29tcG9uZW50LmdldEluc3RhbmNlKFxyXG4gICAgICAgICAgICAgIGVsZW1lbnQgYXMgSFRNTEVsZW1lbnRcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaWYgKGluc3RhbmNlKSB7XHJcbiAgICAgICAgICAgICAgaW5zdGFuY2UudXBkYXRlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgMjAwXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB7IFNjcm9sbENvbXBvbmVudCwgZGVmYXVsdFNjcm9sbE9wdGlvbnMgfTtcclxuIl19
1
+ import { getAttributeValueByBreakpoint, getCSS, getViewPort, isVisibleElement, throttle } from "../_utils/DomHelpers";
2
+ import { DataUtil } from "../_utils/_DataUtil";
3
+ import { ElementStyleUtil } from "../_utils/_ElementStyleUtil";
4
+ import { getObjectPropertyValueByKey, stringSnakeToCamel } from "../_utils/_TypesHelpers";
5
+ import { CookieComponent } from './_CookieComponent';
6
+ const defaultScrollOptions = {
7
+ saveState: true,
8
+ };
9
+ class ScrollComponent {
10
+ constructor(_element, options) {
11
+ this.getOption = (name) => {
12
+ if (this.element.hasAttribute('data-kt-scroll-' + name) === true) {
13
+ const attr = this.element.getAttribute('data-kt-scroll-' + name) || '';
14
+ let value = getAttributeValueByBreakpoint(attr);
15
+ if (value !== null && String(value) === 'true') {
16
+ value = true;
17
+ }
18
+ else if (value !== null && String(value) === 'false') {
19
+ value = false;
20
+ }
21
+ return value;
22
+ }
23
+ else {
24
+ const optionName = stringSnakeToCamel(name);
25
+ const option = getObjectPropertyValueByKey(this.options, optionName);
26
+ if (option) {
27
+ return getAttributeValueByBreakpoint(option);
28
+ }
29
+ else {
30
+ return null;
31
+ }
32
+ }
33
+ };
34
+ this.getHeightType = () => {
35
+ if (this.getOption('height')) {
36
+ return 'height';
37
+ }
38
+ if (this.getOption('min-height')) {
39
+ return 'min-height';
40
+ }
41
+ if (this.getOption('max-height')) {
42
+ return 'max-height';
43
+ }
44
+ return '';
45
+ };
46
+ this.getAutoHeight = () => {
47
+ let height = getViewPort().height;
48
+ const dependencies = this.getOption('dependencies');
49
+ const wrappers = this.getOption('wrappers');
50
+ const offset = this.getOption('offset');
51
+ // Height dependencies
52
+ if (dependencies !== null) {
53
+ const elements = document.querySelectorAll(dependencies);
54
+ if (elements && elements.length > 0) {
55
+ for (let i = 0, len = elements.length; i < len; i++) {
56
+ const element = elements[i];
57
+ if (isVisibleElement(element) === false) {
58
+ continue;
59
+ }
60
+ height = height - parseInt(getCSS(element, 'height'));
61
+ height = height - parseInt(getCSS(element, 'margin-top'));
62
+ height = height - parseInt(getCSS(element, 'margin-bottom'));
63
+ const borderTop = getCSS(element, 'border-top');
64
+ if (borderTop) {
65
+ height = height - parseInt(borderTop);
66
+ }
67
+ const borderBottom = getCSS(element, 'border-bottom');
68
+ if (borderBottom) {
69
+ height = height - parseInt(borderBottom);
70
+ }
71
+ }
72
+ }
73
+ }
74
+ // Wrappers
75
+ if (wrappers !== null) {
76
+ var elements = document.querySelectorAll(wrappers);
77
+ if (elements && elements.length > 0) {
78
+ for (let i = 0, len = elements.length; i < len; i++) {
79
+ const element = elements[i];
80
+ if (!isVisibleElement(element)) {
81
+ continue;
82
+ }
83
+ height = height - parseInt(getCSS(element, 'margin-top'));
84
+ height = height - parseInt(getCSS(element, 'margin-bottom'));
85
+ height = height - parseInt(getCSS(element, 'padding-top'));
86
+ height = height - parseInt(getCSS(element, 'padding-bottom'));
87
+ const borderTop = getCSS(element, 'border-top');
88
+ if (borderTop) {
89
+ height = height - parseInt(borderTop);
90
+ }
91
+ const borderBottom = getCSS(element, 'border-bottom');
92
+ if (borderBottom) {
93
+ height = height - parseInt(borderBottom);
94
+ }
95
+ }
96
+ }
97
+ }
98
+ // Custom offset
99
+ if (offset !== null) {
100
+ height = height - parseInt(offset);
101
+ }
102
+ height = height - parseInt(getCSS(this.element, 'margin-top'));
103
+ height = height - parseInt(getCSS(this.element, 'margin-bottom'));
104
+ const borderTop = getCSS(this.element, 'border-top');
105
+ if (borderTop) {
106
+ height = height - parseInt(borderTop);
107
+ }
108
+ const borderBottom = getCSS(this.element, 'border-bottom');
109
+ if (borderBottom) {
110
+ height = height - parseInt(borderBottom);
111
+ }
112
+ height = String(height) + 'px';
113
+ return height;
114
+ };
115
+ this.setupHeight = () => {
116
+ let height = this.getHeight();
117
+ let heightType = this.getHeightType();
118
+ // Set height
119
+ if (height !== null && height.length > 0) {
120
+ ElementStyleUtil.set(this.element, heightType, height);
121
+ }
122
+ else {
123
+ ElementStyleUtil.set(this.element, heightType, '');
124
+ }
125
+ };
126
+ this.setupState = () => {
127
+ if (this.getOption('save-state') === true && this.id) {
128
+ const cookie = CookieComponent.get(this.id + 'st');
129
+ if (cookie) {
130
+ var pos = parseInt(cookie);
131
+ if (pos > 0) {
132
+ this.element.scrollTop = pos;
133
+ }
134
+ }
135
+ }
136
+ };
137
+ this.setupScrollHandler = () => {
138
+ if (this.getOption('save-state') === true && this.id) {
139
+ this.element.addEventListener('scroll', this.scrollHandler);
140
+ }
141
+ else {
142
+ this.element.removeEventListener('scroll', this.scrollHandler);
143
+ }
144
+ };
145
+ this.scrollHandler = () => {
146
+ const cookieId = this.id + 'st';
147
+ CookieComponent.set(cookieId, this.element.scrollTop, {});
148
+ };
149
+ this.destroyScrollHandler = () => {
150
+ this.element.removeEventListener('scroll', this.scrollHandler);
151
+ };
152
+ this.resetHeight = () => {
153
+ const heghtType = this.getHeightType();
154
+ if (heghtType) {
155
+ ElementStyleUtil.set(this.element, heghtType, '');
156
+ }
157
+ };
158
+ ///////////////////////
159
+ // ** Public API ** //
160
+ ///////////////////////
161
+ this.update = () => {
162
+ // Activate/deactivate
163
+ if (this.getOption('activate') === true ||
164
+ !this.element.hasAttribute('data-kt-scroll-activate')) {
165
+ this.setupHeight();
166
+ this.setupScrollHandler();
167
+ this.setupState();
168
+ }
169
+ else {
170
+ this.resetHeight();
171
+ this.destroyScrollHandler();
172
+ }
173
+ };
174
+ this.getHeight = () => {
175
+ const heightType = this.getHeightType();
176
+ const height = this.getOption(heightType || '');
177
+ if (height instanceof Function) {
178
+ return height.call(height);
179
+ }
180
+ else if (height !== null &&
181
+ typeof height === 'string' &&
182
+ height.toLowerCase() === 'auto') {
183
+ return this.getAutoHeight();
184
+ }
185
+ else {
186
+ return height;
187
+ }
188
+ };
189
+ this.getElement = () => {
190
+ return this.element;
191
+ };
192
+ this.element = _element;
193
+ this.options = Object.assign(defaultScrollOptions, options);
194
+ this.id = this.element.getAttribute('id') || '';
195
+ this.update();
196
+ // this.element.setAttribute('data-kt-scrolltop', 'true')
197
+ DataUtil.set(this.element, 'scroll', this);
198
+ }
199
+ // Static methods
200
+ static hasInstace(element) {
201
+ return DataUtil.has(element, 'scroll');
202
+ }
203
+ static getInstance(element) {
204
+ if (element !== null && ScrollComponent.hasInstace(element)) {
205
+ return DataUtil.get(element, 'scroll');
206
+ }
207
+ }
208
+ // Create Instances
209
+ static createInstances(selector) {
210
+ const elements = document.body.querySelectorAll(selector);
211
+ elements.forEach((element) => {
212
+ const item = element;
213
+ let scroll = ScrollComponent.getInstance(item);
214
+ if (!scroll) {
215
+ scroll = new ScrollComponent(item, defaultScrollOptions);
216
+ }
217
+ });
218
+ }
219
+ static destroyAll(attr = '[data-kt-scroll="true"]') { }
220
+ static bootstrap(attr = '[data-kt-scroll="true"]') {
221
+ ScrollComponent.createInstances(attr);
222
+ ScrollComponent.resize();
223
+ }
224
+ static { this.createInstance = (element, options = defaultScrollOptions) => {
225
+ let scroll = ScrollComponent.getInstance(element);
226
+ if (!scroll) {
227
+ scroll = new ScrollComponent(element, options);
228
+ }
229
+ return scroll;
230
+ }; }
231
+ static reinitialization(attr = '[data-kt-scroll="true"]') {
232
+ ScrollComponent.createInstances(attr);
233
+ }
234
+ static resize() {
235
+ // Window Resize Handling
236
+ window.addEventListener('resize', function () {
237
+ let timer;
238
+ throttle(timer, () => {
239
+ // Locate and update Drawer instances on window resize
240
+ const elements = document.body.querySelectorAll('[data-kt-scroll="true"]');
241
+ elements.forEach((element) => {
242
+ const instance = ScrollComponent.getInstance(element);
243
+ if (instance) {
244
+ instance.update();
245
+ }
246
+ });
247
+ }, 200);
248
+ });
249
+ }
250
+ }
251
+ export { ScrollComponent, defaultScrollOptions };
252
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX1Njcm9sbENvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvX21ldHJvbmljL2NvcmUvY29tcG9uZW50cy9fU2Nyb2xsQ29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRXJILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUU5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsMkJBQTJCLEVBQXlCLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDaEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBTXJELE1BQU0sb0JBQW9CLEdBQWtCO0lBQzFDLFNBQVMsRUFBRSxJQUFJO0NBQ2hCLENBQUM7QUFFRixNQUFNLGVBQWU7SUFLbkIsWUFBWSxRQUFxQixFQUFFLE9BQXNCO1FBU2pELGNBQVMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQ25DLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUNoRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3ZFLElBQUksS0FBSyxHQUE0Qiw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDekUsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxNQUFNLEVBQUU7b0JBQzlDLEtB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QUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTTtRQUNsQix5QkFBeUI7UUFDekIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRTtZQUNoQyxJQUFJLEtBQUssQ0FBQztZQUNWLFFBQVEsQ0FDTixLQUFLLEVBQ0wsR0FBRyxFQUFFO2dCQUNILHNEQUFzRDtnQkFDdEQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FDN0MseUJBQXlCLENBQzFCLENBQUM7Z0JBQ0YsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtvQkFDcEMsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FDMUMsT0FBc0IsQ0FDdkIsQ0FBQztvQkFDRixJQUFJLFFBQVEsRUFBRTt3QkFDWixRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7cUJBQ25CO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxFQUNELEdBQUcsQ0FDSixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQUdILE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldEF0dHJpYnV0ZVZhbHVlQnlCcmVha3BvaW50LCBnZXRDU1MsIGdldFZpZXdQb3J0LCBpc1Zpc2libGVFbGVtZW50LCB0aHJvdHRsZSB9IGZyb20gXCIuLi9fdXRpbHMvRG9tSGVscGVyc1wiXHJcbmltcG9ydCB7IEV2ZW50SGFuZGxlclV0aWwgfSBmcm9tIFwiLi4vX3V0aWxzL0V2ZW50SGFuZGxlclV0aWxcIlxyXG5pbXBvcnQgeyBEYXRhVXRpbCB9IGZyb20gXCIuLi9fdXRpbHMvX0RhdGFVdGlsXCJcclxuaW1wb3J0IHsgRE9NRXZlbnRIYW5kbGVyVXRpbCB9IGZyb20gXCIuLi9fdXRpbHMvX0RPTUV2ZW50SGFuZGxlclV0aWxcIlxyXG5pbXBvcnQgeyBFbGVtZW50U3R5bGVVdGlsIH0gZnJvbSBcIi4uL191dGlscy9fRWxlbWVudFN0eWxlVXRpbFwiXHJcbmltcG9ydCB7IGdldE9iamVjdFByb3BlcnR5VmFsdWVCeUtleSwgZ2V0VW5pcXVlSWRXaXRoUHJlZml4LCBzdHJpbmdTbmFrZVRvQ2FtZWwgfSBmcm9tIFwiLi4vX3V0aWxzL19UeXBlc0hlbHBlcnNcIlxyXG5pbXBvcnQgeyBDb29raWVDb21wb25lbnQgfSBmcm9tICcuL19Db29raWVDb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTY3JvbGxPcHRpb25zIHtcclxuICBzYXZlU3RhdGU/OiBib29sZWFuO1xyXG59XHJcblxyXG5jb25zdCBkZWZhdWx0U2Nyb2xsT3B0aW9uczogU2Nyb2xsT3B0aW9ucyA9IHtcclxuICBzYXZlU3RhdGU6IHRydWUsXHJcbn07XHJcblxyXG5jbGFzcyBTY3JvbGxDb21wb25lbnQge1xyXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIG9wdGlvbnM6IFNjcm9sbE9wdGlvbnM7XHJcbiAgaWQ6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoX2VsZW1lbnQ6IEhUTUxFbGVtZW50LCBvcHRpb25zOiBTY3JvbGxPcHRpb25zKSB7XHJcbiAgICB0aGlzLmVsZW1lbnQgPSBfZWxlbWVudDtcclxuICAgIHRoaXMub3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oZGVmYXVsdFNjcm9sbE9wdGlvbnMsIG9wdGlvbnMpO1xyXG4gICAgdGhpcy5pZCA9IHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2lkJykgfHwgJyc7XHJcbiAgICB0aGlzLnVwZGF0ZSgpO1xyXG4gICAgLy8gdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1rdC1zY3JvbGx0b3AnLCAndHJ1ZScpXHJcbiAgICBEYXRhVXRpbC5zZXQodGhpcy5lbGVtZW50LCAnc2Nyb2xsJywgdGhpcyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE9wdGlvbiA9IChuYW1lOiBzdHJpbmcpID0+IHtcclxuICAgIGlmICh0aGlzLmVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLWt0LXNjcm9sbC0nICsgbmFtZSkgPT09IHRydWUpIHtcclxuICAgICAgY29uc3QgYXR0ciA9IHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEta3Qtc2Nyb2xsLScgKyBuYW1lKSB8fCAnJztcclxuICAgICAgbGV0IHZhbHVlOiBzdHJpbmcgfCBKU09OIHwgYm9vbGVhbiA9IGdldEF0dHJpYnV0ZVZhbHVlQnlCcmVha3BvaW50KGF0dHIpO1xyXG4gICAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgU3RyaW5nKHZhbHVlKSA9PT0gJ3RydWUnKSB7XHJcbiAgICAgICAgdmFsdWUgPSB0cnVlO1xyXG4gICAgICB9IGVsc2UgaWYgKHZhbHVlICE9PSBudWxsICYmIFN0cmluZyh2YWx1ZSkgPT09ICdmYWxzZScpIHtcclxuICAgICAgICB2YWx1ZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBvcHRpb25OYW1lID0gc3RyaW5nU25ha2VUb0NhbWVsKG5hbWUpO1xyXG4gICAgICBjb25zdCBvcHRpb24gPSBnZXRPYmplY3RQcm9wZXJ0eVZhbHVlQnlLZXkodGhpcy5vcHRpb25zLCBvcHRpb25OYW1lKTtcclxuICAgICAgaWYgKG9wdGlvbikge1xyXG4gICAgICAgIHJldHVybiBnZXRBdHRyaWJ1dGVWYWx1ZUJ5QnJlYWtwb2ludChvcHRpb24pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBnZXRIZWlnaHRUeXBlID0gKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuZ2V0T3B0aW9uKCdoZWlnaHQnKSkge1xyXG4gICAgICByZXR1cm4gJ2hlaWdodCc7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5nZXRPcHRpb24oJ21pbi1oZWlnaHQnKSkge1xyXG4gICAgICByZXR1cm4gJ21pbi1oZWlnaHQnO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ2V0T3B0aW9uKCdtYXgtaGVpZ2h0JykpIHtcclxuICAgICAgcmV0dXJuICdtYXgtaGVpZ2h0JztcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGdldEF1dG9IZWlnaHQgPSAoKSA9PiB7XHJcbiAgICBsZXQgaGVpZ2h0OiBudW1iZXIgfCBzdHJpbmcgPSBnZXRWaWV3UG9ydCgpLmhlaWdodDtcclxuICAgIGNvbnN0IGRlcGVuZGVuY2llcyA9IHRoaXMuZ2V0T3B0aW9uKCdkZXBlbmRlbmNpZXMnKTtcclxuICAgIGNvbnN0IHdyYXBwZXJzID0gdGhpcy5nZXRPcHRpb24oJ3dyYXBwZXJzJyk7XHJcbiAgICBjb25zdCBvZmZzZXQgPSB0aGlzLmdldE9wdGlvbignb2Zmc2V0Jyk7XHJcblxyXG4gICAgLy8gSGVpZ2h0IGRlcGVuZGVuY2llc1xyXG4gICAgaWYgKGRlcGVuZGVuY2llcyAhPT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBlbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoZGVwZW5kZW5jaWVzIGFzIHN0cmluZyk7XHJcbiAgICAgIGlmIChlbGVtZW50cyAmJiBlbGVtZW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGVsZW1lbnRzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZWxlbWVudHNbaV0gYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICBpZiAoaXNWaXNpYmxlRWxlbWVudChlbGVtZW50KSA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaGVpZ2h0ID0gaGVpZ2h0IC0gcGFyc2VJbnQoZ2V0Q1NTKGVsZW1lbnQsICdoZWlnaHQnKSk7XHJcbiAgICAgICAgICBoZWlnaHQgPSBoZWlnaHQgLSBwYXJzZUludChnZXRDU1MoZWxlbWVudCwgJ21hcmdpbi10b3AnKSk7XHJcbiAgICAgICAgICBoZWlnaHQgPSBoZWlnaHQgLSBwYXJzZUludChnZXRDU1MoZWxlbWVudCwgJ21hcmdpbi1ib3R0b20nKSk7XHJcblxyXG4gICAgICAgICAgY29uc3QgYm9yZGVyVG9wID0gZ2V0Q1NTKGVsZW1lbnQsICdib3JkZXItdG9wJyk7XHJcbiAgICAgICAgICBpZiAoYm9yZGVyVG9wKSB7XHJcbiAgICAgICAgICAgIGhlaWdodCA9IGhlaWdodCAtIHBhcnNlSW50KGJvcmRlclRvcCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgY29uc3QgYm9yZGVyQm90dG9tID0gZ2V0Q1NTKGVsZW1lbnQsICdib3JkZXItYm90dG9tJyk7XHJcbiAgICAgICAgICBpZiAoYm9yZGVyQm90dG9tKSB7XHJcbiAgICAgICAgICAgIGhlaWdodCA9IGhlaWdodCAtIHBhcnNlSW50KGJvcmRlckJvdHRvbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gV3JhcHBlcnNcclxuICAgIGlmICh3cmFwcGVycyAhPT0gbnVsbCkge1xyXG4gICAgICB2YXIgZWxlbWVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHdyYXBwZXJzIGFzIHN0cmluZyk7XHJcbiAgICAgIGlmIChlbGVtZW50cyAmJiBlbGVtZW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGVsZW1lbnRzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZWxlbWVudHNbaV0gYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgICAgICAgaWYgKCFpc1Zpc2libGVFbGVtZW50KGVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGhlaWdodCA9IGhlaWdodCAtIHBhcnNlSW50KGdldENTUyhlbGVtZW50LCAnbWFyZ2luLXRvcCcpKTtcclxuICAgICAgICAgIGhlaWdodCA9IGhlaWdodCAtIHBhcnNlSW50KGdldENTUyhlbGVtZW50LCAnbWFyZ2luLWJvdHRvbScpKTtcclxuICAgICAgICAgIGhlaWdodCA9IGhlaWdodCAtIHBhcnNlSW50KGdldENTUyhlbGVtZW50LCAncGFkZGluZy10b3AnKSk7XHJcbiAgICAgICAgICBoZWlnaHQgPSBoZWlnaHQgLSBwYXJzZUludChnZXRDU1MoZWxlbWVudCwgJ3BhZGRpbmctYm90dG9tJykpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGJvcmRlclRvcCA9IGdldENTUyhlbGVtZW50LCAnYm9yZGVyLXRvcCcpO1xyXG4gICAgICAgICAgaWYgKGJvcmRlclRvcCkge1xyXG4gICAgICAgICAgICBoZWlnaHQgPSBoZWlnaHQgLSBwYXJzZUludChib3JkZXJUb3ApO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGNvbnN0IGJvcmRlckJvdHRvbSA9IGdldENTUyhlbGVtZW50LCAnYm9yZGVyLWJvdHRvbScpO1xyXG4gICAgICAgICAgaWYgKGJvcmRlckJvdHRvbSkge1xyXG4gICAgICAgICAgICBoZWlnaHQgPSBoZWlnaHQgLSBwYXJzZUludChib3JkZXJCb3R0b20pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEN1c3RvbSBvZmZzZXRcclxuICAgIGlmIChvZmZzZXQgIT09IG51bGwpIHtcclxuICAgICAgaGVpZ2h0ID0gaGVpZ2h0IC0gcGFyc2VJbnQob2Zmc2V0IGFzIHN0cmluZyk7XHJcbiAgICB9XHJcblxyXG4gICAgaGVpZ2h0ID0gaGVpZ2h0IC0gcGFyc2VJbnQoZ2V0Q1NTKHRoaXMuZWxlbWVudCwgJ21hcmdpbi10b3AnKSk7XHJcbiAgICBoZWlnaHQgPSBoZWlnaHQgLSBwYXJzZUludChnZXRDU1ModGhpcy5lbGVtZW50LCAnbWFyZ2luLWJvdHRvbScpKTtcclxuXHJcbiAgICBjb25zdCBib3JkZXJUb3AgPSBnZXRDU1ModGhpcy5lbGVtZW50LCAnYm9yZGVyLXRvcCcpO1xyXG4gICAgaWYgKGJvcmRlclRvcCkge1xyXG4gICAgICBoZWlnaHQgPSBoZWlnaHQgLSBwYXJzZUludChib3JkZXJUb3ApO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGJvcmRlckJvdHRvbSA9IGdldENTUyh0aGlzLmVsZW1lbnQsICdib3JkZXItYm90dG9tJyk7XHJcbiAgICBpZiAoYm9yZGVyQm90dG9tKSB7XHJcbiAgICAgIGhlaWdodCA9IGhlaWdodCAtIHBhcnNlSW50KGJvcmRlckJvdHRvbSk7XHJcbiAgICB9XHJcblxyXG4gICAgaGVpZ2h0ID0gU3RyaW5nKGhlaWdodCkgKyAncHgnO1xyXG5cclxuICAgIHJldHVybiBoZWlnaHQ7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBzZXR1cEhlaWdodCA9ICgpID0+IHtcclxuICAgIGxldCBoZWlnaHQgPSB0aGlzLmdldEhlaWdodCgpO1xyXG4gICAgbGV0IGhlaWdodFR5cGUgPSB0aGlzLmdldEhlaWdodFR5cGUoKSBhcyBzdHJpbmc7XHJcblxyXG4gICAgLy8gU2V0IGhlaWdodFxyXG4gICAgaWYgKGhlaWdodCAhPT0gbnVsbCAmJiBoZWlnaHQubGVuZ3RoID4gMCkge1xyXG4gICAgICBFbGVtZW50U3R5bGVVdGlsLnNldCh0aGlzLmVsZW1lbnQsIGhlaWdodFR5cGUsIGhlaWdodCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBFbGVtZW50U3R5bGVVdGlsLnNldCh0aGlzLmVsZW1lbnQsIGhlaWdodFR5cGUsICcnKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBwcml2YXRlIHNldHVwU3RhdGUgPSAoKSA9PiB7XHJcbiAgICBpZiAodGhpcy5nZXRPcHRpb24oJ3NhdmUtc3RhdGUnKSA9PT0gdHJ1ZSAmJiB0aGlzLmlkKSB7XHJcbiAgICAgIGNvbnN0IGNvb2tpZSA9IENvb2tpZUNvbXBvbmVudC5nZXQodGhpcy5pZCArICdzdCcpO1xyXG4gICAgICBpZiAoY29va2llKSB7XHJcbiAgICAgICAgdmFyIHBvcyA9IHBhcnNlSW50KGNvb2tpZSk7XHJcblxyXG4gICAgICAgIGlmIChwb3MgPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLmVsZW1lbnQuc2Nyb2xsVG9wID0gcG9zO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgc2V0dXBTY3JvbGxIYW5kbGVyID0gKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuZ2V0T3B0aW9uKCdzYXZlLXN0YXRlJykgPT09IHRydWUgJiYgdGhpcy5pZCkge1xyXG4gICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5zY3JvbGxIYW5kbGVyKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLnNjcm9sbEhhbmRsZXIpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgc2Nyb2xsSGFuZGxlciA9ICgpID0+IHtcclxuICAgIGNvbnN0IGNvb2tpZUlkID0gdGhpcy5pZCArICdzdCc7XHJcbiAgICBDb29raWVDb21wb25lbnQuc2V0KGNvb2tpZUlkLCB0aGlzLmVsZW1lbnQuc2Nyb2xsVG9wLCB7fSk7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBkZXN0cm95U2Nyb2xsSGFuZGxlciA9ICgpID0+IHtcclxuICAgIHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLnNjcm9sbEhhbmRsZXIpO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgcmVzZXRIZWlnaHQgPSAoKSA9PiB7XHJcbiAgICBjb25zdCBoZWdodFR5cGUgPSB0aGlzLmdldEhlaWdodFR5cGUoKTtcclxuICAgIGlmIChoZWdodFR5cGUpIHtcclxuICAgICAgRWxlbWVudFN0eWxlVXRpbC5zZXQodGhpcy5lbGVtZW50LCBoZWdodFR5cGUsICcnKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gIC8vICoqIFB1YmxpYyBBUEkgICoqIC8vXHJcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICBwdWJsaWMgdXBkYXRlID0gKCkgPT4ge1xyXG4gICAgLy8gQWN0aXZhdGUvZGVhY3RpdmF0ZVxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmdldE9wdGlvbignYWN0aXZhdGUnKSA9PT0gdHJ1ZSB8fFxyXG4gICAgICAhdGhpcy5lbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGF0YS1rdC1zY3JvbGwtYWN0aXZhdGUnKVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuc2V0dXBIZWlnaHQoKTtcclxuICAgICAgdGhpcy5zZXR1cFNjcm9sbEhhbmRsZXIoKTtcclxuICAgICAgdGhpcy5zZXR1cFN0YXRlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlc2V0SGVpZ2h0KCk7XHJcbiAgICAgIHRoaXMuZGVzdHJveVNjcm9sbEhhbmRsZXIoKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBwdWJsaWMgZ2V0SGVpZ2h0ID0gKCkgPT4ge1xyXG4gICAgY29uc3QgaGVpZ2h0VHlwZSA9IHRoaXMuZ2V0SGVpZ2h0VHlwZSgpO1xyXG4gICAgY29uc3QgaGVpZ2h0ID0gdGhpcy5nZXRPcHRpb24oaGVpZ2h0VHlwZSB8fCAnJyk7XHJcbiAgICBpZiAoaGVpZ2h0IGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcclxuICAgICAgcmV0dXJuIGhlaWdodC5jYWxsKGhlaWdodCk7XHJcbiAgICB9IGVsc2UgaWYgKFxyXG4gICAgICBoZWlnaHQgIT09IG51bGwgJiZcclxuICAgICAgdHlwZW9mIGhlaWdodCA9PT0gJ3N0cmluZycgJiZcclxuICAgICAgaGVpZ2h0LnRvTG93ZXJDYXNlKCkgPT09ICdhdXRvJ1xyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmdldEF1dG9IZWlnaHQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBoZWlnaHQ7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIGdldEVsZW1lbnQgPSAoKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50O1xyXG4gIH07XHJcblxyXG4gIC8vIFN0YXRpYyBtZXRob2RzXHJcbiAgcHVibGljIHN0YXRpYyBoYXNJbnN0YWNlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XHJcbiAgICByZXR1cm4gRGF0YVV0aWwuaGFzKGVsZW1lbnQsICdzY3JvbGwnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0SW5zdGFuY2UoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcclxuICAgIGlmIChlbGVtZW50ICE9PSBudWxsICYmIFNjcm9sbENvbXBvbmVudC5oYXNJbnN0YWNlKGVsZW1lbnQpKSB7XHJcbiAgICAgIHJldHVybiBEYXRhVXRpbC5nZXQoZWxlbWVudCwgJ3Njcm9sbCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQ3JlYXRlIEluc3RhbmNlc1xyXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlSW5zdGFuY2VzKHNlbGVjdG9yOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGVsZW1lbnRzID0gZG9jdW1lbnQuYm9keS5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTtcclxuICAgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcclxuICAgICAgY29uc3QgaXRlbSA9IGVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgIGxldCBzY3JvbGwgPSBTY3JvbGxDb21wb25lbnQuZ2V0SW5zdGFuY2UoaXRlbSk7XHJcbiAgICAgIGlmICghc2Nyb2xsKSB7XHJcbiAgICAgICAgc2Nyb2xsID0gbmV3IFNjcm9sbENvbXBvbmVudChpdGVtLCBkZWZhdWx0U2Nyb2xsT3B0aW9ucyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBkZXN0cm95QWxsKGF0dHI6IHN0cmluZyA9ICdbZGF0YS1rdC1zY3JvbGw9XCJ0cnVlXCJdJykge31cclxuXHJcbiAgcHVibGljIHN0YXRpYyBib290c3RyYXAoYXR0cjogc3RyaW5nID0gJ1tkYXRhLWt0LXNjcm9sbD1cInRydWVcIl0nKSB7XHJcbiAgICBTY3JvbGxDb21wb25lbnQuY3JlYXRlSW5zdGFuY2VzKGF0dHIpO1xyXG4gICAgU2Nyb2xsQ29tcG9uZW50LnJlc2l6ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBjcmVhdGVJbnN0YW5jZSA9IChcclxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxyXG4gICAgb3B0aW9uczogU2Nyb2xsT3B0aW9ucyA9IGRlZmF1bHRTY3JvbGxPcHRpb25zXHJcbiAgKTogU2Nyb2xsQ29tcG9uZW50IHwgdW5kZWZpbmVkID0+IHtcclxuICAgIGxldCBzY3JvbGwgPSBTY3JvbGxDb21wb25lbnQuZ2V0SW5zdGFuY2UoZWxlbWVudCk7XHJcbiAgICBpZiAoIXNjcm9sbCkge1xyXG4gICAgICBzY3JvbGwgPSBuZXcgU2Nyb2xsQ29tcG9uZW50KGVsZW1lbnQsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHNjcm9sbDtcclxuICB9O1xyXG5cclxuICBwdWJsaWMgc3RhdGljIHJlaW5pdGlhbGl6YXRpb24oYXR0cjogc3RyaW5nID0gJ1tkYXRhLWt0LXNjcm9sbD1cInRydWVcIl0nKSB7XHJcbiAgICBTY3JvbGxDb21wb25lbnQuY3JlYXRlSW5zdGFuY2VzKGF0dHIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyByZXNpemUoKSB7XHJcbiAgICAvLyBXaW5kb3cgUmVzaXplIEhhbmRsaW5nXHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZnVuY3Rpb24gKCkge1xyXG4gICAgICBsZXQgdGltZXI7XHJcbiAgICAgIHRocm90dGxlKFxyXG4gICAgICAgIHRpbWVyLFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIC8vIExvY2F0ZSBhbmQgdXBkYXRlIERyYXdlciBpbnN0YW5jZXMgb24gd2luZG93IHJlc2l6ZVxyXG4gICAgICAgICAgY29uc3QgZWxlbWVudHMgPSBkb2N1bWVudC5ib2R5LnF1ZXJ5U2VsZWN0b3JBbGwoXHJcbiAgICAgICAgICAgICdbZGF0YS1rdC1zY3JvbGw9XCJ0cnVlXCJdJ1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgaW5zdGFuY2UgPSBTY3JvbGxDb21wb25lbnQuZ2V0SW5zdGFuY2UoXHJcbiAgICAgICAgICAgICAgZWxlbWVudCBhcyBIVE1MRWxlbWVudFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBpZiAoaW5zdGFuY2UpIHtcclxuICAgICAgICAgICAgICBpbnN0YW5jZS51cGRhdGUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAyMDBcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IHsgU2Nyb2xsQ29tcG9uZW50LCBkZWZhdWx0U2Nyb2xsT3B0aW9ucyB9O1xyXG4iXX0=