@theseam/ui-common 0.4.0-beta.2 → 0.4.0-beta.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 (546) hide show
  1. package/breadcrumbs/breadcrumb.d.ts +1 -1
  2. package/breadcrumbs/breadcrumbs-resolver.d.ts +1 -1
  3. package/core/common-behaviors/active.d.ts +1 -1
  4. package/core/common-behaviors/constructor.d.ts +1 -1
  5. package/core/common-behaviors/disabled.d.ts +1 -1
  6. package/core/common-behaviors/initialized.d.ts +1 -1
  7. package/core/common-behaviors/size.d.ts +1 -1
  8. package/core/common-behaviors/tabindex.d.ts +1 -1
  9. package/core/common-behaviors/theme.d.ts +1 -1
  10. package/data-exporter/data-exporter.d.ts +1 -1
  11. package/data-filters/data-filter.d.ts +3 -3
  12. package/data-filters/filters/data-filter-search/search-filter-options.d.ts +1 -1
  13. package/datatable/datatable-column/datatable-column.component.d.ts +1 -1
  14. package/datatable/models/preferences.d.ts +1 -1
  15. package/datatable/models/table-column.d.ts +1 -1
  16. package/datatable/services/columns-manager.service.d.ts +1 -1
  17. package/datatable-dynamic/datatable-dynamic-def.d.ts +3 -3
  18. package/datatable-dynamic/models/dynamic-datatable-action-menu-record.d.ts +1 -1
  19. package/dynamic/models/dynamic-value-base-type.d.ts +1 -1
  20. package/dynamic/models/dynamic-value-evaluatable-type.d.ts +1 -1
  21. package/dynamic/models/dynamic-value-primitive.d.ts +1 -1
  22. package/dynamic/models/dynamic-value.d.ts +1 -1
  23. package/dynamic/tokens/api-config.d.ts +1 -1
  24. package/esm2020/asset-reader/asset-reader-helper.service.mjs +3 -3
  25. package/esm2020/asset-reader/asset-reader.module.mjs +4 -4
  26. package/esm2020/asset-reader/encrypted-asset-link.directive.mjs +12 -12
  27. package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +3 -3
  28. package/esm2020/breadcrumbs/breadcrumbs.module.mjs +4 -4
  29. package/esm2020/breadcrumbs/breadcrumbs.service.mjs +3 -3
  30. package/esm2020/buttons/badge-button/badge-button.component.mjs +6 -6
  31. package/esm2020/buttons/button/button.component.mjs +9 -9
  32. package/esm2020/buttons/buttons.module.mjs +4 -4
  33. package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +3 -3
  34. package/esm2020/buttons/toggle-button/toggle-button.component.mjs +5 -5
  35. package/esm2020/card/card-action/card-action.component.mjs +3 -3
  36. package/esm2020/card/card-body/card-body.component.mjs +3 -3
  37. package/esm2020/card/card-footer/card-footer.component.mjs +3 -3
  38. package/esm2020/card/card-header/card-header.component.mjs +3 -3
  39. package/esm2020/card/card.component.mjs +3 -3
  40. package/esm2020/card/card.module.mjs +4 -4
  41. package/esm2020/checkbox/checkbox.component.mjs +43 -43
  42. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  43. package/esm2020/checkbox/testing/checkbox.harness.mjs +1 -1
  44. package/esm2020/checkbox/testing/index.mjs +1 -1
  45. package/esm2020/confirm-dialog/confirm-click.directive.mjs +9 -9
  46. package/esm2020/confirm-dialog/confirm-dialog.component.mjs +3 -3
  47. package/esm2020/confirm-dialog/confirm-dialog.module.mjs +4 -4
  48. package/esm2020/confirm-dialog/confirm-dialog.service.mjs +3 -3
  49. package/esm2020/core/common-behaviors/active.mjs +3 -3
  50. package/esm2020/core/common-behaviors/disabled.mjs +3 -3
  51. package/esm2020/core/common-behaviors/size.mjs +6 -6
  52. package/esm2020/core/common-behaviors/tabindex.mjs +5 -5
  53. package/esm2020/core/common-behaviors/theme.mjs +6 -6
  54. package/esm2020/data-exporter/data-exporter.module.mjs +4 -4
  55. package/esm2020/data-exporter/exporters/csv-exporter.mjs +3 -3
  56. package/esm2020/data-exporter/exporters/xlsx-exporter.mjs +3 -3
  57. package/esm2020/data-filters/data-filters.module.mjs +4 -4
  58. package/esm2020/data-filters/filters/data-filter-search/data-filter-search.component.mjs +10 -10
  59. package/esm2020/data-filters/filters/data-filter-text/data-filter-text.component.mjs +10 -10
  60. package/esm2020/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.mjs +11 -11
  61. package/esm2020/datatable/datatable/datatable.component.mjs +108 -108
  62. package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +3 -3
  63. package/esm2020/datatable/datatable-action-menu-item/datatable-action-menu-item.component.mjs +3 -3
  64. package/esm2020/datatable/datatable-column/datatable-column.component.mjs +7 -7
  65. package/esm2020/datatable/datatable-column-preferences/datatable-column-preferences.component.mjs +3 -3
  66. package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +3 -3
  67. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +7 -7
  68. package/esm2020/datatable/datatable-footer/datatable-footer-tpl.directive.mjs +3 -3
  69. package/esm2020/datatable/datatable-footer/datatable-footer.directive.mjs +3 -3
  70. package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +8 -8
  71. package/esm2020/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.mjs +3 -3
  72. package/esm2020/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.mjs +3 -3
  73. package/esm2020/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.mjs +3 -3
  74. package/esm2020/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.mjs +3 -3
  75. package/esm2020/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.mjs +3 -3
  76. package/esm2020/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.mjs +3 -3
  77. package/esm2020/datatable/datatable-row-detail/datatable-row-detail.directive.mjs +3 -3
  78. package/esm2020/datatable/datatable.module.mjs +4 -4
  79. package/esm2020/datatable/directives/datatable-action-menu-item.directive.mjs +3 -3
  80. package/esm2020/datatable/directives/datatable-action-menu-toggle.directive.mjs +11 -11
  81. package/esm2020/datatable/directives/datatable-cell-tpl.directive.mjs +3 -3
  82. package/esm2020/datatable/directives/datatable-filter.directive.mjs +3 -3
  83. package/esm2020/datatable/directives/datatable-row-action-item.directive.mjs +3 -3
  84. package/esm2020/datatable/services/columns-alterations-manager.service.mjs +3 -3
  85. package/esm2020/datatable/services/columns-manager.service.mjs +3 -3
  86. package/esm2020/datatable/services/datatable-column-changes.service.mjs +3 -3
  87. package/esm2020/datatable/services/datatable-preferences.service.mjs +6 -6
  88. package/esm2020/datatable/services/datatable-scrollbar-helper.service.mjs +3 -3
  89. package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +12 -12
  90. package/esm2020/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.mjs +8 -8
  91. package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.mjs +6 -6
  92. package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +8 -8
  93. package/esm2020/datatable-dynamic/datatable-dynamic.module.mjs +4 -4
  94. package/esm2020/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.mjs +7 -7
  95. package/esm2020/datatable-dynamic/dynamic-datatable-def.service.mjs +3 -3
  96. package/esm2020/datatable-dynamic/dynamic-datatable-row-actions.service.mjs +3 -3
  97. package/esm2020/dynamic/action/api/dynamic-action-api.service.mjs +3 -3
  98. package/esm2020/dynamic/action/dynamic-action-helper.service.mjs +3 -3
  99. package/esm2020/dynamic/action/link/dynamic-action-link.service.mjs +3 -3
  100. package/esm2020/dynamic/action/modal/dynamic-action-modal.service.mjs +3 -3
  101. package/esm2020/dynamic/dynamic-value-helper.service.mjs +3 -3
  102. package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.mjs +3 -3
  103. package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-evaluator.mjs +3 -3
  104. package/esm2020/dynamic-component-loader/dynamic-component-loader.module.mjs +4 -4
  105. package/esm2020/dynamic-component-loader/dynamic-component-loader.service.mjs +3 -3
  106. package/esm2020/footer-bar/footer-bar/footer-bar.component.mjs +3 -3
  107. package/esm2020/footer-bar/footer-bar.module.mjs +4 -4
  108. package/esm2020/form-field/form-field-error.directive.mjs +6 -6
  109. package/esm2020/form-field/form-field-help-text.directive.mjs +3 -3
  110. package/esm2020/form-field/form-field-label-tpl.directive.mjs +3 -3
  111. package/esm2020/form-field/form-field-required-indicator.component.mjs +3 -3
  112. package/esm2020/form-field/form-field-tokens.mjs +1 -1
  113. package/esm2020/form-field/form-field.component.mjs +48 -48
  114. package/esm2020/form-field/form-field.module.mjs +4 -4
  115. package/esm2020/form-field/input.directive.mjs +43 -43
  116. package/esm2020/form-field/testing/form-field-required-indicator.harness.mjs +1 -1
  117. package/esm2020/form-field/testing/index.mjs +1 -1
  118. package/esm2020/form-field-error/form-field-error/form-field-error.component.mjs +3 -3
  119. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.mjs +3 -3
  120. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item.directive.mjs +3 -3
  121. package/esm2020/form-field-error/form-field-error-list/form-field-error-list.component.mjs +92 -92
  122. package/esm2020/form-field-error/form-field-error.module.mjs +4 -4
  123. package/esm2020/framework/base-layout/base-layout.component.mjs +6 -6
  124. package/esm2020/framework/base-layout/base-layout.module.mjs +4 -4
  125. package/esm2020/framework/base-layout/directives/base-layout-content-footer.directive.mjs +3 -3
  126. package/esm2020/framework/base-layout/directives/base-layout-content-header.directive.mjs +3 -3
  127. package/esm2020/framework/base-layout/directives/base-layout-content.directive.mjs +3 -3
  128. package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +10 -10
  129. package/esm2020/framework/base-layout/directives/base-layout-side-bar-footer.directive.mjs +3 -3
  130. package/esm2020/framework/base-layout/directives/base-layout-side-bar.directive.mjs +3 -3
  131. package/esm2020/framework/base-layout/directives/base-layout-top-bar.directive.mjs +3 -3
  132. package/esm2020/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.mjs +3 -3
  133. package/esm2020/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.mjs +3 -3
  134. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.mjs +3 -3
  135. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.mjs +3 -3
  136. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +18 -18
  137. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.service.mjs +12 -12
  138. package/esm2020/framework/dashboard/dashboard-widgets-tokens.mjs +1 -1
  139. package/esm2020/framework/dashboard/dashboard.component.mjs +3 -3
  140. package/esm2020/framework/dashboard/dashboard.module.mjs +4 -4
  141. package/esm2020/framework/dynamic-router/dynamic-router.module.mjs +4 -4
  142. package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.mjs +3 -3
  143. package/esm2020/framework/dynamic-router/resolvers/hierarchy-level.resolver.mjs +3 -3
  144. package/esm2020/framework/schema-form/schema-form-framework.component.mjs +3 -3
  145. package/esm2020/framework/schema-form/schema-form-framework.mjs +3 -3
  146. package/esm2020/framework/schema-form/schema-form.module.mjs +4 -4
  147. package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +3 -3
  148. package/esm2020/framework/schema-form-controls/schema-form-controls.module.mjs +4 -4
  149. package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +3 -3
  150. package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +3 -3
  151. package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +3 -3
  152. package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +3 -3
  153. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +3 -3
  154. package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +24 -24
  155. package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +3 -3
  156. package/esm2020/framework/side-nav/side-nav-tokens.mjs +1 -1
  157. package/esm2020/framework/side-nav/side-nav.component.mjs +17 -17
  158. package/esm2020/framework/side-nav/side-nav.module.mjs +4 -4
  159. package/esm2020/framework/side-nav/side-nav.service.mjs +3 -3
  160. package/esm2020/framework/top-bar/top-bar-item.directive.mjs +3 -3
  161. package/esm2020/framework/top-bar/top-bar-menu-btn-detail.directive.mjs +3 -3
  162. package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +3 -3
  163. package/esm2020/framework/top-bar/top-bar-menu.directive.mjs +3 -3
  164. package/esm2020/framework/top-bar/top-bar-title/top-bar-title.component.mjs +3 -3
  165. package/esm2020/framework/top-bar/top-bar.component.mjs +3 -3
  166. package/esm2020/framework/top-bar/top-bar.module.mjs +4 -4
  167. package/esm2020/google-maps/google-maps/google-maps.component.mjs +17 -17
  168. package/esm2020/google-maps/google-maps-controls.service.mjs +3 -3
  169. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +20 -20
  170. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.mjs +7 -7
  171. package/esm2020/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.mjs +7 -7
  172. package/esm2020/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.mjs +7 -7
  173. package/esm2020/google-maps/google-maps.module.mjs +4 -4
  174. package/esm2020/google-maps/google-maps.service.mjs +5 -5
  175. package/esm2020/google-maps/map-control.component.mjs +9 -9
  176. package/esm2020/google-maps/map-file-drop/map-file-drop.component.mjs +3 -3
  177. package/esm2020/google-maps/map-value-manager.service.mjs +3 -3
  178. package/esm2020/graphql/datatable/datatable-graphql-query-ref.mjs +5 -5
  179. package/esm2020/graphql/datatable/datatable-graphql.service.mjs +3 -3
  180. package/esm2020/icon/icon/icon.component.mjs +3 -3
  181. package/esm2020/icon/icon-btn/icon-btn.component.mjs +24 -24
  182. package/esm2020/icon/icon-notification/icon-notification.component.mjs +3 -3
  183. package/esm2020/icon/icon.module.mjs +4 -4
  184. package/esm2020/layout/layout.module.mjs +4 -4
  185. package/esm2020/layout/layout.service.mjs +3 -3
  186. package/esm2020/loading/loading/loading.component.mjs +7 -7
  187. package/esm2020/loading/loading-overlay.service.mjs +3 -3
  188. package/esm2020/loading/loading.module.mjs +4 -4
  189. package/esm2020/menu/menu-divider.component.mjs +3 -3
  190. package/esm2020/menu/menu-footer/menu-footer.component.mjs +3 -3
  191. package/esm2020/menu/menu-footer-action/menu-footer-action.component.mjs +7 -7
  192. package/esm2020/menu/menu-header/menu-header.component.mjs +3 -3
  193. package/esm2020/menu/menu-item.component.mjs +3 -3
  194. package/esm2020/menu/menu-toggle.directive.mjs +42 -42
  195. package/esm2020/menu/menu.component.mjs +15 -15
  196. package/esm2020/menu/menu.module.mjs +4 -4
  197. package/esm2020/modal/directives/modal-close.directive.mjs +11 -11
  198. package/esm2020/modal/directives/modal-footer-tpl.directive.mjs +3 -3
  199. package/esm2020/modal/directives/modal-header-icon-tpl.directive.mjs +3 -3
  200. package/esm2020/modal/directives/modal-header-title-tpl.directive.mjs +3 -3
  201. package/esm2020/modal/directives/modal-title.directive.mjs +3 -3
  202. package/esm2020/modal/directives/modal.directive.mjs +3 -3
  203. package/esm2020/modal/modal/modal.component.mjs +19 -19
  204. package/esm2020/modal/modal-body/modal-body.component.mjs +3 -3
  205. package/esm2020/modal/modal-container/modal-container.component.mjs +12 -12
  206. package/esm2020/modal/modal-footer/modal-footer.component.mjs +3 -3
  207. package/esm2020/modal/modal-header/modal-header.component.mjs +3 -3
  208. package/esm2020/modal/modal.module.mjs +4 -4
  209. package/esm2020/modal/modal.service.mjs +16 -16
  210. package/esm2020/modal/route-modal/route-modal.component.mjs +3 -3
  211. package/esm2020/popover/popover/popover.component.mjs +18 -18
  212. package/esm2020/popover/popover.directive.mjs +32 -32
  213. package/esm2020/popover/popover.module.mjs +4 -4
  214. package/esm2020/progress/progress-circle/progress-circle.component.mjs +9 -9
  215. package/esm2020/progress/progress.module.mjs +4 -4
  216. package/esm2020/public_api.mjs +1 -42
  217. package/esm2020/scrollbar/overlay-scrollbar.directive.mjs +10 -10
  218. package/esm2020/scrollbar/overlay-scrollbars.service.mjs +3 -3
  219. package/esm2020/scrollbar/scrollbar.module.mjs +4 -4
  220. package/esm2020/services/asset-loader.service.mjs +3 -3
  221. package/esm2020/services/font-loader.service.mjs +3 -3
  222. package/esm2020/services/router-helpers.service.mjs +3 -3
  223. package/esm2020/shared/components/password-input-reveal/password-input-reveal.component.mjs +3 -3
  224. package/esm2020/shared/directives/auto-focus.directive.mjs +3 -3
  225. package/esm2020/shared/directives/click-outside.directive.mjs +9 -9
  226. package/esm2020/shared/directives/disable-control.directive.mjs +7 -7
  227. package/esm2020/shared/directives/elem-resized.directive.mjs +3 -3
  228. package/esm2020/shared/directives/hover-class-toggle.directive.mjs +10 -10
  229. package/esm2020/shared/directives/hover-class.directive.mjs +9 -9
  230. package/esm2020/shared/directives/ng-select-extra.directive.mjs +26 -26
  231. package/esm2020/shared/directives/ngx-quill-extra.directive.mjs +10 -10
  232. package/esm2020/shared/pipes/mask-chars.pipe.mjs +3 -3
  233. package/esm2020/shared/pipes/truncate.pipe.mjs +3 -3
  234. package/esm2020/shared/shared.module.mjs +4 -4
  235. package/esm2020/storage/local-storage.service.mjs +3 -3
  236. package/esm2020/story-helpers/initial-route.service.mjs +3 -3
  237. package/esm2020/story-helpers/story-empty-with-route.component.mjs +3 -3
  238. package/esm2020/story-helpers/story-empty.component.mjs +3 -3
  239. package/esm2020/story-helpers/story-helper-components.module.mjs +4 -4
  240. package/esm2020/story-helpers/story-initial-route.mjs +4 -4
  241. package/esm2020/story-helpers/story-modal-container.component.mjs +6 -6
  242. package/esm2020/story-helpers/story-toastr.service.mjs +3 -3
  243. package/esm2020/tabbed/directives/tabbed-tab-content.directive.mjs +3 -3
  244. package/esm2020/tabbed/directives/tabbed-tab.directive.mjs +3 -3
  245. package/esm2020/tabbed/tabbed-content/tabbed-content.component.mjs +3 -3
  246. package/esm2020/tabbed/tabbed-item/tabbed-item.component.mjs +3 -3
  247. package/esm2020/tabbed/tabbed-models.mjs +1 -1
  248. package/esm2020/tabbed/tabbed.component.mjs +13 -13
  249. package/esm2020/tabbed/tabbed.module.mjs +4 -4
  250. package/esm2020/tabbed/tabbed.service.mjs +3 -3
  251. package/esm2020/table/table/table.component.mjs +11 -11
  252. package/esm2020/table/table.module.mjs +4 -4
  253. package/esm2020/table-cell-type/services/table-cell-types-helpers.service.mjs +3 -3
  254. package/esm2020/table-cell-type/table-cell-type-selector.component.mjs +3 -3
  255. package/esm2020/table-cell-type/table-cell-type.module.mjs +4 -4
  256. package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.mjs +3 -3
  257. package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.component.mjs +3 -3
  258. package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.mjs +3 -3
  259. package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.mjs +31 -31
  260. package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.mjs +3 -3
  261. package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.mjs +6 -6
  262. package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.mjs +3 -3
  263. package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.mjs +3 -3
  264. package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +23 -23
  265. package/esm2020/table-cell-types/table-cell-types.module.mjs +4 -4
  266. package/esm2020/tel-input/phone-number.pipe.mjs +3 -3
  267. package/esm2020/tel-input/tel-input/tel-input.component.mjs +34 -34
  268. package/esm2020/tel-input/tel-input.directive.mjs +18 -18
  269. package/esm2020/tel-input/tel-input.module.mjs +4 -4
  270. package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +20 -20
  271. package/esm2020/tiled-select/components/tiled-select-tile/tiled-select-tile.component.mjs +6 -6
  272. package/esm2020/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.mjs +10 -10
  273. package/esm2020/tiled-select/directives/tiled-select-tile-icon-tpl.directive.mjs +3 -3
  274. package/esm2020/tiled-select/directives/tiled-select-tile-label-tpl.directive.mjs +3 -3
  275. package/esm2020/tiled-select/directives/tiled-select-tile-overlay.directive.mjs +3 -3
  276. package/esm2020/tiled-select/tiled-select.module.mjs +4 -4
  277. package/esm2020/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.mjs +3 -3
  278. package/esm2020/toggle-edit/toggle-edit-display-tpl.directive.mjs +3 -3
  279. package/esm2020/toggle-edit/toggle-edit-keyboard-listener.service.mjs +3 -3
  280. package/esm2020/toggle-edit/toggle-edit.component.mjs +16 -16
  281. package/esm2020/toggle-edit/toggle-edit.module.mjs +4 -4
  282. package/esm2020/toggle-group/toggle-group-option.directive.mjs +12 -12
  283. package/esm2020/toggle-group/toggle-group.directive.mjs +3 -3
  284. package/esm2020/toggle-group/toggle-group.module.mjs +4 -4
  285. package/esm2020/unsaved-changes-dialog/unsaved-changes-can-deactivate.mjs +3 -3
  286. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +3 -3
  287. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.guard.mjs +3 -3
  288. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +4 -4
  289. package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
  290. package/esm2020/utils/geo-json/geo-json-to-area.mjs +1 -1
  291. package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
  292. package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
  293. package/esm2020/utils/geo-json/is-only-geometry-types.validator.mjs +1 -1
  294. package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
  295. package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
  296. package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
  297. package/esm2020/viewers/html-template-viewer/html-template-viewer.component.mjs +37 -37
  298. package/esm2020/viewers/html-template-viewer/html-template-viewer.module.mjs +4 -4
  299. package/esm2020/viewers/pdf-viewer/pdf-page/pdf-page.component.mjs +10 -10
  300. package/esm2020/viewers/pdf-viewer/pdf-renderer.service.mjs +3 -3
  301. package/esm2020/viewers/pdf-viewer/pdf-viewer.component.mjs +38 -38
  302. package/esm2020/viewers/pdf-viewer/pdf-viewer.module.mjs +4 -4
  303. package/esm2020/widget/directives/widget-drag-handle.directive.mjs +12 -12
  304. package/esm2020/widget/directives/widget-icon-tpl.directive.mjs +3 -3
  305. package/esm2020/widget/directives/widget-title-tpl.directive.mjs +3 -3
  306. package/esm2020/widget/widget/widget.component.mjs +23 -23
  307. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.component.mjs +3 -3
  308. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.module.mjs +4 -4
  309. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.component.mjs +3 -3
  310. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.module.mjs +4 -4
  311. package/esm2020/widget/widget-content-components/widget-description/widget-description.component.mjs +3 -3
  312. package/esm2020/widget/widget-content-components/widget-description/widget-description.module.mjs +4 -4
  313. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.component.mjs +7 -7
  314. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.module.mjs +4 -4
  315. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.component.mjs +3 -3
  316. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.module.mjs +4 -4
  317. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.component.mjs +3 -3
  318. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.module.mjs +4 -4
  319. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.component.mjs +3 -3
  320. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.module.mjs +4 -4
  321. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.mjs +3 -3
  322. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.mjs +15 -15
  323. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.component.mjs +3 -3
  324. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.module.mjs +4 -4
  325. package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +3 -3
  326. package/esm2020/widget/widget-content-components/widget-table/widget-table.module.mjs +4 -4
  327. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.mjs +3 -3
  328. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.mjs +8 -8
  329. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.mjs +3 -3
  330. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.mjs +3 -3
  331. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.component.mjs +16 -16
  332. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.module.mjs +4 -4
  333. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.component.mjs +3 -3
  334. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.module.mjs +4 -4
  335. package/esm2020/widget/widget-footer/widget-footer.component.mjs +3 -3
  336. package/esm2020/widget/widget-registry.service.mjs +3 -3
  337. package/esm2020/widget/widget.module.mjs +4 -4
  338. package/fesm2015/theseam-ui-common-asset-reader.mjs +18 -18
  339. package/fesm2015/theseam-ui-common-asset-reader.mjs.map +1 -1
  340. package/fesm2015/theseam-ui-common-breadcrumbs.mjs +10 -10
  341. package/fesm2015/theseam-ui-common-buttons.mjs +26 -26
  342. package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
  343. package/fesm2015/theseam-ui-common-card.mjs +19 -19
  344. package/fesm2015/theseam-ui-common-checkbox.mjs +46 -46
  345. package/fesm2015/theseam-ui-common-checkbox.mjs.map +1 -1
  346. package/fesm2015/theseam-ui-common-confirm-dialog.mjs +18 -18
  347. package/fesm2015/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  348. package/fesm2015/theseam-ui-common-core.mjs +18 -18
  349. package/fesm2015/theseam-ui-common-core.mjs.map +1 -1
  350. package/fesm2015/theseam-ui-common-data-exporter.mjs +10 -10
  351. package/fesm2015/theseam-ui-common-data-filters.mjs +32 -32
  352. package/fesm2015/theseam-ui-common-data-filters.mjs.map +1 -1
  353. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +46 -46
  354. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  355. package/fesm2015/theseam-ui-common-datatable.mjs +208 -208
  356. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  357. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  358. package/fesm2015/theseam-ui-common-dynamic.mjs +21 -21
  359. package/fesm2015/theseam-ui-common-footer-bar.mjs +7 -7
  360. package/fesm2015/theseam-ui-common-form-field-error.mjs +104 -104
  361. package/fesm2015/theseam-ui-common-form-field-error.mjs.map +1 -1
  362. package/fesm2015/theseam-ui-common-form-field.mjs +107 -107
  363. package/fesm2015/theseam-ui-common-form-field.mjs.map +1 -1
  364. package/fesm2015/theseam-ui-common-framework.mjs +196 -196
  365. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  366. package/fesm2015/theseam-ui-common-google-maps.mjs +78 -78
  367. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  368. package/fesm2015/theseam-ui-common-graphql.mjs +7 -7
  369. package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
  370. package/fesm2015/theseam-ui-common-icon.mjs +33 -33
  371. package/fesm2015/theseam-ui-common-icon.mjs.map +1 -1
  372. package/fesm2015/theseam-ui-common-layout.mjs +7 -7
  373. package/fesm2015/theseam-ui-common-loading.mjs +13 -13
  374. package/fesm2015/theseam-ui-common-loading.mjs.map +1 -1
  375. package/fesm2015/theseam-ui-common-menu.mjs +79 -79
  376. package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
  377. package/fesm2015/theseam-ui-common-modal.mjs +85 -85
  378. package/fesm2015/theseam-ui-common-modal.mjs.map +1 -1
  379. package/fesm2015/theseam-ui-common-popover.mjs +52 -52
  380. package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
  381. package/fesm2015/theseam-ui-common-progress.mjs +12 -12
  382. package/fesm2015/theseam-ui-common-progress.mjs.map +1 -1
  383. package/fesm2015/theseam-ui-common-scrollbar.mjs +16 -16
  384. package/fesm2015/theseam-ui-common-scrollbar.mjs.map +1 -1
  385. package/fesm2015/theseam-ui-common-services.mjs +9 -9
  386. package/fesm2015/theseam-ui-common-shared.mjs +84 -84
  387. package/fesm2015/theseam-ui-common-shared.mjs.map +1 -1
  388. package/fesm2015/theseam-ui-common-storage.mjs +3 -3
  389. package/fesm2015/theseam-ui-common-story-helpers.mjs +25 -25
  390. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
  391. package/fesm2015/theseam-ui-common-tabbed.mjs +31 -31
  392. package/fesm2015/theseam-ui-common-tabbed.mjs.map +1 -1
  393. package/fesm2015/theseam-ui-common-table-cell-type.mjs +10 -10
  394. package/fesm2015/theseam-ui-common-table-cell-types.mjs +80 -80
  395. package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
  396. package/fesm2015/theseam-ui-common-table.mjs +14 -14
  397. package/fesm2015/theseam-ui-common-table.mjs.map +1 -1
  398. package/fesm2015/theseam-ui-common-tel-input.mjs +59 -59
  399. package/fesm2015/theseam-ui-common-tel-input.mjs.map +1 -1
  400. package/fesm2015/theseam-ui-common-tiled-select.mjs +46 -46
  401. package/fesm2015/theseam-ui-common-tiled-select.mjs.map +1 -1
  402. package/fesm2015/theseam-ui-common-toggle-edit.mjs +28 -28
  403. package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +1 -1
  404. package/fesm2015/theseam-ui-common-toggle-group.mjs +18 -18
  405. package/fesm2015/theseam-ui-common-toggle-group.mjs.map +1 -1
  406. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
  407. package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
  408. package/fesm2015/theseam-ui-common-viewers.mjs +93 -93
  409. package/fesm2015/theseam-ui-common-viewers.mjs.map +1 -1
  410. package/fesm2015/theseam-ui-common-widget.mjs +175 -175
  411. package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
  412. package/fesm2015/theseam-ui-common.mjs +0 -41
  413. package/fesm2015/theseam-ui-common.mjs.map +1 -1
  414. package/fesm2020/theseam-ui-common-asset-reader.mjs +18 -18
  415. package/fesm2020/theseam-ui-common-asset-reader.mjs.map +1 -1
  416. package/fesm2020/theseam-ui-common-breadcrumbs.mjs +10 -10
  417. package/fesm2020/theseam-ui-common-buttons.mjs +26 -26
  418. package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
  419. package/fesm2020/theseam-ui-common-card.mjs +19 -19
  420. package/fesm2020/theseam-ui-common-checkbox.mjs +46 -46
  421. package/fesm2020/theseam-ui-common-checkbox.mjs.map +1 -1
  422. package/fesm2020/theseam-ui-common-confirm-dialog.mjs +18 -18
  423. package/fesm2020/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  424. package/fesm2020/theseam-ui-common-core.mjs +18 -18
  425. package/fesm2020/theseam-ui-common-core.mjs.map +1 -1
  426. package/fesm2020/theseam-ui-common-data-exporter.mjs +10 -10
  427. package/fesm2020/theseam-ui-common-data-filters.mjs +32 -32
  428. package/fesm2020/theseam-ui-common-data-filters.mjs.map +1 -1
  429. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +46 -46
  430. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  431. package/fesm2020/theseam-ui-common-datatable.mjs +208 -208
  432. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  433. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  434. package/fesm2020/theseam-ui-common-dynamic.mjs +21 -21
  435. package/fesm2020/theseam-ui-common-footer-bar.mjs +7 -7
  436. package/fesm2020/theseam-ui-common-form-field-error.mjs +104 -104
  437. package/fesm2020/theseam-ui-common-form-field-error.mjs.map +1 -1
  438. package/fesm2020/theseam-ui-common-form-field.mjs +107 -107
  439. package/fesm2020/theseam-ui-common-form-field.mjs.map +1 -1
  440. package/fesm2020/theseam-ui-common-framework.mjs +196 -196
  441. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  442. package/fesm2020/theseam-ui-common-google-maps.mjs +78 -78
  443. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  444. package/fesm2020/theseam-ui-common-graphql.mjs +7 -7
  445. package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
  446. package/fesm2020/theseam-ui-common-icon.mjs +33 -33
  447. package/fesm2020/theseam-ui-common-icon.mjs.map +1 -1
  448. package/fesm2020/theseam-ui-common-layout.mjs +7 -7
  449. package/fesm2020/theseam-ui-common-loading.mjs +13 -13
  450. package/fesm2020/theseam-ui-common-loading.mjs.map +1 -1
  451. package/fesm2020/theseam-ui-common-menu.mjs +77 -77
  452. package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
  453. package/fesm2020/theseam-ui-common-modal.mjs +85 -85
  454. package/fesm2020/theseam-ui-common-modal.mjs.map +1 -1
  455. package/fesm2020/theseam-ui-common-popover.mjs +52 -52
  456. package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
  457. package/fesm2020/theseam-ui-common-progress.mjs +12 -12
  458. package/fesm2020/theseam-ui-common-progress.mjs.map +1 -1
  459. package/fesm2020/theseam-ui-common-scrollbar.mjs +16 -16
  460. package/fesm2020/theseam-ui-common-scrollbar.mjs.map +1 -1
  461. package/fesm2020/theseam-ui-common-services.mjs +9 -9
  462. package/fesm2020/theseam-ui-common-shared.mjs +84 -84
  463. package/fesm2020/theseam-ui-common-shared.mjs.map +1 -1
  464. package/fesm2020/theseam-ui-common-storage.mjs +3 -3
  465. package/fesm2020/theseam-ui-common-story-helpers.mjs +25 -25
  466. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
  467. package/fesm2020/theseam-ui-common-tabbed.mjs +31 -31
  468. package/fesm2020/theseam-ui-common-tabbed.mjs.map +1 -1
  469. package/fesm2020/theseam-ui-common-table-cell-type.mjs +10 -10
  470. package/fesm2020/theseam-ui-common-table-cell-types.mjs +80 -80
  471. package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
  472. package/fesm2020/theseam-ui-common-table.mjs +14 -14
  473. package/fesm2020/theseam-ui-common-table.mjs.map +1 -1
  474. package/fesm2020/theseam-ui-common-tel-input.mjs +57 -57
  475. package/fesm2020/theseam-ui-common-tel-input.mjs.map +1 -1
  476. package/fesm2020/theseam-ui-common-tiled-select.mjs +46 -46
  477. package/fesm2020/theseam-ui-common-tiled-select.mjs.map +1 -1
  478. package/fesm2020/theseam-ui-common-toggle-edit.mjs +28 -28
  479. package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +1 -1
  480. package/fesm2020/theseam-ui-common-toggle-group.mjs +18 -18
  481. package/fesm2020/theseam-ui-common-toggle-group.mjs.map +1 -1
  482. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
  483. package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
  484. package/fesm2020/theseam-ui-common-viewers.mjs +93 -93
  485. package/fesm2020/theseam-ui-common-viewers.mjs.map +1 -1
  486. package/fesm2020/theseam-ui-common-widget.mjs +175 -175
  487. package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
  488. package/fesm2020/theseam-ui-common.mjs +0 -41
  489. package/fesm2020/theseam-ui-common.mjs.map +1 -1
  490. package/framework/base-layout/base-layout-action.d.ts +1 -1
  491. package/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.d.ts +1 -1
  492. package/framework/side-nav/side-nav.models.d.ts +1 -1
  493. package/google-maps/google-maps/google-maps.component.d.ts +0 -1
  494. package/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.d.ts +0 -4
  495. package/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.d.ts +0 -4
  496. package/google-maps/google-maps.service.d.ts +0 -2
  497. package/google-maps/map-controls-service.d.ts +0 -1
  498. package/google-maps/map-value-manager.service.d.ts +1 -1
  499. package/graphql/datatable/datatable-graphql-query-ref.d.ts +2 -2
  500. package/graphql/datatable/datatable-graphql.service.d.ts +1 -1
  501. package/graphql/datatable/datatable-helpers.d.ts +2 -2
  502. package/graphql/datatable/map-filter-states.d.ts +2 -2
  503. package/graphql/datatable/map-page-info.d.ts +1 -1
  504. package/graphql/datatable/mapper-context.d.ts +1 -1
  505. package/graphql/models/gql-datatable-accessor.d.ts +1 -1
  506. package/graphql/models/hint-transformer.d.ts +1 -1
  507. package/icon/icon/icon.component.d.ts +1 -1
  508. package/icon/icon.d.ts +1 -1
  509. package/layout/breakpoint-aliases.d.ts +1 -1
  510. package/loading/loading.models.d.ts +1 -1
  511. package/modal/modal-config.d.ts +1 -1
  512. package/models/component-type.d.ts +1 -1
  513. package/models/size-prefixes.d.ts +1 -1
  514. package/models/size-types.d.ts +1 -1
  515. package/models/theme-prefixes.d.ts +1 -1
  516. package/models/theme-types.d.ts +2 -2
  517. package/package.json +1 -1
  518. package/scrollbar/overlay-scrollbars-config-model.d.ts +1 -1
  519. package/services/font-loader.service.d.ts +1 -1
  520. package/styles/bootstrap/_bootstrap.scss +34 -34
  521. package/styles/bootstrap/_bs-utilities.scss +3 -3
  522. package/styles/theme.scss +3 -3
  523. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +1 -1
  524. package/styles/vendor/quill/_quill.scss +3 -3
  525. package/table/table/table.component.d.ts +1 -1
  526. package/table-cell-type/table-cell-type-models.d.ts +3 -3
  527. package/table-cell-type/table-cell-type-name.d.ts +1 -1
  528. package/table-cell-types/table-cell-type-currency/table-cell-type-currency-config.d.ts +1 -1
  529. package/table-cell-types/table-cell-type-currency/table-cell-type-currency.d.ts +1 -1
  530. package/table-cell-types/table-cell-type-date/table-cell-type-date.d.ts +1 -1
  531. package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal-config.d.ts +1 -1
  532. package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.d.ts +1 -1
  533. package/table-cell-types/table-cell-type-icon/table-cell-type-icon-config.d.ts +1 -1
  534. package/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.d.ts +1 -1
  535. package/table-cell-types/table-cell-type-integer/table-cell-type-integer-config.d.ts +1 -1
  536. package/table-cell-types/table-cell-type-integer/table-cell-type-integer.d.ts +1 -1
  537. package/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle-config.d.ts +1 -1
  538. package/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon-config.d.ts +1 -1
  539. package/table-cell-types/table-cell-type-string/table-cell-type-string-config.d.ts +1 -1
  540. package/table-cell-types/table-cell-type-string/table-cell-type-string.component.d.ts +1 -1
  541. package/tel-input/utils/coerce-phone-number-format.d.ts +1 -1
  542. package/tiled-select/components/tiled-select/tiled-select.component.d.ts +1 -1
  543. package/tiled-select/tiled-select.models.d.ts +2 -2
  544. package/utils/polling-ticker.d.ts +1 -1
  545. package/utils/subscriber-count.d.ts +1 -1
  546. package/widget/directives/widget-drag-handle.directive.d.ts +1 -1
@@ -14,6 +14,12 @@ import * as i2$1 from '@theseam/ui-common/scrollbar';
14
14
  import { TheSeamScrollbarModule } from '@theseam/ui-common/scrollbar';
15
15
 
16
16
  class TheSeamPdfPageComponent {
17
+ get page() { return this._page; }
18
+ set page(value) {
19
+ this._page = value;
20
+ setTimeout(() => { this.render(); });
21
+ }
22
+ get _shadow() { return this.shadow; }
17
23
  constructor() {
18
24
  this._ngUnsubscribe = new Subject();
19
25
  this.shadow = false;
@@ -37,12 +43,6 @@ class TheSeamPdfPageComponent {
37
43
  this._renderRequestSubject = new Subject();
38
44
  this._render$ = this._renderRequestSubject.pipe(takeUntil(this._ngUnsubscribe), auditTime(500), switchMap(_ => from(waitOnConditionAsync(() => this.rendering === false, 30 * 1000))), switchMap(_ => from(this._render())));
39
45
  }
40
- get page() { return this._page; }
41
- set page(value) {
42
- this._page = value;
43
- setTimeout(() => { this.render(); });
44
- }
45
- get _shadow() { return this.shadow; }
46
46
  ngOnDestroy() {
47
47
  this._ngUnsubscribe.next(undefined);
48
48
  this._ngUnsubscribe.complete();
@@ -107,8 +107,8 @@ class TheSeamPdfPageComponent {
107
107
  }
108
108
  }
109
109
  }
110
- TheSeamPdfPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamPdfPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
111
- TheSeamPdfPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: TheSeamPdfPageComponent, selector: "seam-pdf-page", inputs: { page: "page", shadow: "shadow", responsive: "responsive", renderUpdateThreshold: "renderUpdateThreshold" }, host: { properties: { "class.shadow": "this._shadow" } }, viewQueries: [{ propertyName: "pdfContainer", first: true, predicate: ["pdfContainer"], descendants: true, static: true }, { propertyName: "pdfCanvas", first: true, predicate: ["pdfCanvas"], descendants: true, static: true }], ngImport: i0, template: `
110
+ TheSeamPdfPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamPdfPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
111
+ TheSeamPdfPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: TheSeamPdfPageComponent, selector: "seam-pdf-page", inputs: { page: "page", shadow: "shadow", responsive: "responsive", renderUpdateThreshold: "renderUpdateThreshold" }, host: { properties: { "class.shadow": "this._shadow" } }, viewQueries: [{ propertyName: "pdfContainer", first: true, predicate: ["pdfContainer"], descendants: true, static: true }, { propertyName: "pdfCanvas", first: true, predicate: ["pdfCanvas"], descendants: true, static: true }], ngImport: i0, template: `
112
112
  <div #pdfContainer
113
113
  (seamElemResized)="onResized()">
114
114
  <canvas #pdfCanvas></canvas>
@@ -120,7 +120,7 @@ __decorate([
120
120
  __decorate([
121
121
  InputBoolean()
122
122
  ], TheSeamPdfPageComponent.prototype, "responsive", void 0);
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamPdfPageComponent, decorators: [{
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamPdfPageComponent, decorators: [{
124
124
  type: Component,
125
125
  args: [{ selector: 'seam-pdf-page', template: `
126
126
  <div #pdfContainer
@@ -161,9 +161,9 @@ class PdfRendererService {
161
161
  return from(fetch(url)).pipe(switchMap(v => this._pdfjs$.pipe(switchMap(pdfjs => pdfjs.getDocument(v).promise))));
162
162
  }
163
163
  }
164
- PdfRendererService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: PdfRendererService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
165
- PdfRendererService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: PdfRendererService, providedIn: 'root' });
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: PdfRendererService, decorators: [{
164
+ PdfRendererService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: PdfRendererService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
165
+ PdfRendererService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: PdfRendererService, providedIn: 'root' });
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: PdfRendererService, decorators: [{
167
167
  type: Injectable,
168
168
  args: [{
169
169
  providedIn: 'root'
@@ -171,40 +171,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
171
171
  }], ctorParameters: function () { return []; } });
172
172
 
173
173
  class TheSeamPdfViewerComponent {
174
- constructor(_pdfRenderer) {
175
- this._pdfRenderer = _pdfRenderer;
176
- this.shadow = false;
177
- /**
178
- * Canvas will responsively scale and rerender if scaled more than
179
- * `renderUpdateThreshold` pixels.
180
- */
181
- this.responsive = false;
182
- this._renderUpdateThreshold = 100;
183
- this._pageRange = [];
184
- this._pageNumber = -1;
185
- this._pageNumbers = [];
186
- this._documentSubject = new ReplaySubject(1);
187
- /**
188
- * Undefined means all a pages
189
- */
190
- this._pageNumbersSubject = new BehaviorSubject(undefined);
191
- this.document$ = this._documentSubject.asObservable().pipe(switchMap(url => {
192
- if (!url) {
193
- return of();
194
- }
195
- return this._pdfRenderer.getDocument(url);
196
- }));
197
- const pageNumbers$ = this._pageNumbersSubject.asObservable();
198
- this.pages$ = this.document$.pipe(switchMap(doc => pageNumbers$.pipe(map(pageNumbers => {
199
- const pages = [];
200
- for (let i = 0; i < doc.numPages; i++) {
201
- if (!pageNumbers || pageNumbers.indexOf(i + 1) !== -1) {
202
- pages.push(from(doc.getPage(i + 1)));
203
- }
204
- }
205
- return pages;
206
- }))));
207
- }
208
174
  get pdfUrl() { return this._pdfUrl; }
209
175
  set pdfUrl(value) {
210
176
  this._pdfUrl = value;
@@ -275,9 +241,43 @@ class TheSeamPdfViewerComponent {
275
241
  this._pageNumbersSubject.next(undefined);
276
242
  }
277
243
  }
244
+ constructor(_pdfRenderer) {
245
+ this._pdfRenderer = _pdfRenderer;
246
+ this.shadow = false;
247
+ /**
248
+ * Canvas will responsively scale and rerender if scaled more than
249
+ * `renderUpdateThreshold` pixels.
250
+ */
251
+ this.responsive = false;
252
+ this._renderUpdateThreshold = 100;
253
+ this._pageRange = [];
254
+ this._pageNumber = -1;
255
+ this._pageNumbers = [];
256
+ this._documentSubject = new ReplaySubject(1);
257
+ /**
258
+ * Undefined means all a pages
259
+ */
260
+ this._pageNumbersSubject = new BehaviorSubject(undefined);
261
+ this.document$ = this._documentSubject.asObservable().pipe(switchMap(url => {
262
+ if (!url) {
263
+ return of();
264
+ }
265
+ return this._pdfRenderer.getDocument(url);
266
+ }));
267
+ const pageNumbers$ = this._pageNumbersSubject.asObservable();
268
+ this.pages$ = this.document$.pipe(switchMap(doc => pageNumbers$.pipe(map(pageNumbers => {
269
+ const pages = [];
270
+ for (let i = 0; i < doc.numPages; i++) {
271
+ if (!pageNumbers || pageNumbers.indexOf(i + 1) !== -1) {
272
+ pages.push(from(doc.getPage(i + 1)));
273
+ }
274
+ }
275
+ return pages;
276
+ }))));
277
+ }
278
278
  }
279
- TheSeamPdfViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamPdfViewerComponent, deps: [{ token: PdfRendererService }], target: i0.ɵɵFactoryTarget.Component });
280
- TheSeamPdfViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: TheSeamPdfViewerComponent, selector: "seam-pdf-viewer", inputs: { pdfUrl: "pdfUrl", shadow: "shadow", responsive: "responsive", renderUpdateThreshold: "renderUpdateThreshold", pageRange: "pageRange", pageNumber: "pageNumber", pageNumbers: "pageNumbers" }, ngImport: i0, template: `
279
+ TheSeamPdfViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamPdfViewerComponent, deps: [{ token: PdfRendererService }], target: i0.ɵɵFactoryTarget.Component });
280
+ TheSeamPdfViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: TheSeamPdfViewerComponent, selector: "seam-pdf-viewer", inputs: { pdfUrl: "pdfUrl", shadow: "shadow", responsive: "responsive", renderUpdateThreshold: "renderUpdateThreshold", pageRange: "pageRange", pageNumber: "pageNumber", pageNumbers: "pageNumbers" }, ngImport: i0, template: `
281
281
  <ng-container *ngFor="let page of pages$ | async">
282
282
  <seam-pdf-page
283
283
  class="mb-2"
@@ -294,7 +294,7 @@ __decorate([
294
294
  __decorate([
295
295
  InputBoolean()
296
296
  ], TheSeamPdfViewerComponent.prototype, "responsive", void 0);
297
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamPdfViewerComponent, decorators: [{
297
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamPdfViewerComponent, decorators: [{
298
298
  type: Component,
299
299
  args: [{ selector: 'seam-pdf-viewer', template: `
300
300
  <ng-container *ngFor="let page of pages$ | async">
@@ -325,14 +325,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
325
325
 
326
326
  class TheSeamPdfViewerModule {
327
327
  }
328
- TheSeamPdfViewerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamPdfViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
329
- TheSeamPdfViewerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: TheSeamPdfViewerModule, declarations: [TheSeamPdfViewerComponent,
328
+ TheSeamPdfViewerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamPdfViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
329
+ TheSeamPdfViewerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: TheSeamPdfViewerModule, declarations: [TheSeamPdfViewerComponent,
330
330
  TheSeamPdfPageComponent], imports: [CommonModule,
331
331
  TheSeamSharedModule], exports: [TheSeamPdfViewerComponent,
332
332
  TheSeamPdfPageComponent] });
333
- TheSeamPdfViewerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamPdfViewerModule, imports: [CommonModule,
333
+ TheSeamPdfViewerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamPdfViewerModule, imports: [CommonModule,
334
334
  TheSeamSharedModule] });
335
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamPdfViewerModule, decorators: [{
335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamPdfViewerModule, decorators: [{
336
336
  type: NgModule,
337
337
  args: [{
338
338
  imports: [
@@ -356,6 +356,39 @@ var TemplateMessageType;
356
356
  TemplateMessageType["TplResize"] = "theseam_tpl_resize";
357
357
  })(TemplateMessageType || (TemplateMessageType = {}));
358
358
  class TheSeamHtmlTemplateViewerComponent {
359
+ get src() { return this._src; }
360
+ set src(val) {
361
+ this._src = val;
362
+ this._updateSrc();
363
+ }
364
+ set dataVersion(value) {
365
+ const dv = value || 0;
366
+ const sendData = this._dataVersion !== dv;
367
+ this._dataVersion = dv;
368
+ if (sendData) {
369
+ this.postMessage(this._message);
370
+ }
371
+ }
372
+ set data(value) {
373
+ this.postMessage((value !== null && value !== undefined) ? JSON.stringify(value) : value);
374
+ }
375
+ set scrollable(value) {
376
+ this._scrollable = value;
377
+ if (this._scrollable) {
378
+ this._initScrollHandleObserver();
379
+ }
380
+ else {
381
+ this._destroyScrollHandleObserver();
382
+ }
383
+ }
384
+ set iframeElementRef(val) {
385
+ this._iframeElementRef = val;
386
+ const iframeNativeElement = this._getIFrameNativeElement();
387
+ if (iframeNativeElement) {
388
+ this._updateSrc();
389
+ iframeNativeElement.onload = () => this.postMessage(this._message);
390
+ }
391
+ }
359
392
  constructor(_ngZone, _cdr, _elementRef) {
360
393
  this._ngZone = _ngZone;
361
394
  this._cdr = _cdr;
@@ -392,39 +425,6 @@ class TheSeamHtmlTemplateViewerComponent {
392
425
  [TemplateMessageType.TplResize]: this._onResizeMessageFromTemplate
393
426
  };
394
427
  }
395
- get src() { return this._src; }
396
- set src(val) {
397
- this._src = val;
398
- this._updateSrc();
399
- }
400
- set dataVersion(value) {
401
- const dv = value || 0;
402
- const sendData = this._dataVersion !== dv;
403
- this._dataVersion = dv;
404
- if (sendData) {
405
- this.postMessage(this._message);
406
- }
407
- }
408
- set data(value) {
409
- this.postMessage((value !== null && value !== undefined) ? JSON.stringify(value) : value);
410
- }
411
- set scrollable(value) {
412
- this._scrollable = value;
413
- if (this._scrollable) {
414
- this._initScrollHandleObserver();
415
- }
416
- else {
417
- this._destroyScrollHandleObserver();
418
- }
419
- }
420
- set iframeElementRef(val) {
421
- this._iframeElementRef = val;
422
- const iframeNativeElement = this._getIFrameNativeElement();
423
- if (iframeNativeElement) {
424
- this._updateSrc();
425
- iframeNativeElement.onload = () => this.postMessage(this._message);
426
- }
427
- }
428
428
  ngOnInit() {
429
429
  this._ngZone.runOutsideAngular(() => window.addEventListener('message', this._onMessageFromTemplate));
430
430
  }
@@ -541,12 +541,12 @@ class TheSeamHtmlTemplateViewerComponent {
541
541
  return this._elementRef.nativeElement.querySelector('.os-scrollbar-handle.active') !== null;
542
542
  }
543
543
  }
544
- TheSeamHtmlTemplateViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamHtmlTemplateViewerComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
545
- TheSeamHtmlTemplateViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: TheSeamHtmlTemplateViewerComponent, selector: "seam-html-template-viewer", inputs: { src: "src", dataVersion: "dataVersion", data: "data", scrollable: "scrollable" }, viewQueries: [{ propertyName: "iframeElementRef", first: true, predicate: ["iframeElement"], descendants: true, static: true }], ngImport: i0, template: "<div (seamElemResized)=\"_onResized($any($event))\">\n <div class=\"embed-responsive embed-responsive-4by3\"\n [seamOverlayScrollbar]=\"_scrollbarOptions\"\n [overlayScrollbarEnabled]=\"_scrollable\">\n <iframe #iframeElement class=\"embed-responsive-item\" allowfullscreen></iframe>\n <div *ngIf=\"_mouseBlockActive\"\n class=\"iframe-mouse-block\"\n [style.width]=\"_mouseBlockWidth\"\n [style.height]=\"_mouseBlockHeight\">\n </div>\n </div>\n</div>\n", styles: [":host{display:block}.iframe-mouse-block{position:absolute;top:0;right:0;height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.OverlayScrollbarDirective, selector: "[seamOverlayScrollbar]", inputs: ["seamOverlayScrollbar", "overlayScrollbarEnabled"], exportAs: ["seamOverlayScrollbar"] }, { kind: "directive", type: i1.ElemResizedDirective, selector: "[seamElemResized]", outputs: ["seamElemResized"] }] });
544
+ TheSeamHtmlTemplateViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamHtmlTemplateViewerComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
545
+ TheSeamHtmlTemplateViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: TheSeamHtmlTemplateViewerComponent, selector: "seam-html-template-viewer", inputs: { src: "src", dataVersion: "dataVersion", data: "data", scrollable: "scrollable" }, viewQueries: [{ propertyName: "iframeElementRef", first: true, predicate: ["iframeElement"], descendants: true, static: true }], ngImport: i0, template: "<div (seamElemResized)=\"_onResized($any($event))\">\n <div class=\"embed-responsive embed-responsive-4by3\"\n [seamOverlayScrollbar]=\"_scrollbarOptions\"\n [overlayScrollbarEnabled]=\"_scrollable\">\n <iframe #iframeElement class=\"embed-responsive-item\" allowfullscreen></iframe>\n <div *ngIf=\"_mouseBlockActive\"\n class=\"iframe-mouse-block\"\n [style.width]=\"_mouseBlockWidth\"\n [style.height]=\"_mouseBlockHeight\">\n </div>\n </div>\n</div>\n", styles: [":host{display:block}.iframe-mouse-block{position:absolute;top:0;right:0;height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.OverlayScrollbarDirective, selector: "[seamOverlayScrollbar]", inputs: ["seamOverlayScrollbar", "overlayScrollbarEnabled"], exportAs: ["seamOverlayScrollbar"] }, { kind: "directive", type: i1.ElemResizedDirective, selector: "[seamElemResized]", outputs: ["seamElemResized"] }] });
546
546
  __decorate([
547
547
  InputBoolean()
548
548
  ], TheSeamHtmlTemplateViewerComponent.prototype, "scrollable", null);
549
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamHtmlTemplateViewerComponent, decorators: [{
549
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamHtmlTemplateViewerComponent, decorators: [{
550
550
  type: Component,
551
551
  args: [{ selector: 'seam-html-template-viewer', template: "<div (seamElemResized)=\"_onResized($any($event))\">\n <div class=\"embed-responsive embed-responsive-4by3\"\n [seamOverlayScrollbar]=\"_scrollbarOptions\"\n [overlayScrollbarEnabled]=\"_scrollable\">\n <iframe #iframeElement class=\"embed-responsive-item\" allowfullscreen></iframe>\n <div *ngIf=\"_mouseBlockActive\"\n class=\"iframe-mouse-block\"\n [style.width]=\"_mouseBlockWidth\"\n [style.height]=\"_mouseBlockHeight\">\n </div>\n </div>\n</div>\n", styles: [":host{display:block}.iframe-mouse-block{position:absolute;top:0;right:0;height:100%;width:100%}\n"] }]
552
552
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { src: [{
@@ -564,14 +564,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
564
564
 
565
565
  class TheSeamHtmlTemplateViewerModule {
566
566
  }
567
- TheSeamHtmlTemplateViewerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamHtmlTemplateViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
568
- TheSeamHtmlTemplateViewerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: TheSeamHtmlTemplateViewerModule, declarations: [TheSeamHtmlTemplateViewerComponent], imports: [CommonModule,
567
+ TheSeamHtmlTemplateViewerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamHtmlTemplateViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
568
+ TheSeamHtmlTemplateViewerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: TheSeamHtmlTemplateViewerModule, declarations: [TheSeamHtmlTemplateViewerComponent], imports: [CommonModule,
569
569
  TheSeamScrollbarModule,
570
570
  TheSeamSharedModule], exports: [TheSeamHtmlTemplateViewerComponent] });
571
- TheSeamHtmlTemplateViewerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamHtmlTemplateViewerModule, imports: [CommonModule,
571
+ TheSeamHtmlTemplateViewerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamHtmlTemplateViewerModule, imports: [CommonModule,
572
572
  TheSeamScrollbarModule,
573
573
  TheSeamSharedModule] });
574
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamHtmlTemplateViewerModule, decorators: [{
574
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamHtmlTemplateViewerModule, decorators: [{
575
575
  type: NgModule,
576
576
  args: [{
577
577
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-viewers.mjs","sources":["../../../projects/ui-common/viewers/pdf-viewer/pdf-page/pdf-page.component.ts","../../../projects/ui-common/viewers/pdf-viewer/pdf-renderer.service.ts","../../../projects/ui-common/viewers/pdf-viewer/pdf-viewer.component.ts","../../../projects/ui-common/viewers/pdf-viewer/pdf-viewer.module.ts","../../../projects/ui-common/viewers/html-template-viewer/html-template-viewer.component.ts","../../../projects/ui-common/viewers/html-template-viewer/html-template-viewer.component.html","../../../projects/ui-common/viewers/html-template-viewer/html-template-viewer.module.ts","../../../projects/ui-common/viewers/theseam-ui-common-viewers.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion'\nimport { AfterViewInit, Component, ElementRef, HostBinding, Input, OnDestroy, ViewChild } from '@angular/core'\nimport { from, Observable, Subject } from 'rxjs'\nimport { auditTime, switchMap, takeUntil } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { waitOnConditionAsync } from '@theseam/ui-common/utils'\n\n@Component({\n selector: 'seam-pdf-page',\n template: `\n <div #pdfContainer\n (seamElemResized)=\"onResized()\">\n <canvas #pdfCanvas></canvas>\n </div>\n `,\n styles: [`\n :host { display: block; }\n canvas { display: block; }\n `]\n})\nexport class TheSeamPdfPageComponent implements OnDestroy, AfterViewInit {\n static ngAcceptInputType_shadow: BooleanInput\n static ngAcceptInputType_responsive: BooleanInput\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n @Input()\n public get page() { return this._page }\n public set page(value) {\n this._page = value\n setTimeout(() => { this.render() })\n }\n private _page: any\n\n @Input() @InputBoolean() shadow: boolean = false\n\n @HostBinding('class.shadow') get _shadow() { return this.shadow }\n\n @ViewChild('pdfContainer', { static: true }) pdfContainer?: ElementRef<HTMLDivElement>\n @ViewChild('pdfCanvas', { static: true }) pdfCanvas?: ElementRef<HTMLCanvasElement>\n\n /**\n * Canvas will responsively scale and rerender if scaled more than\n * `renderUpdateThreshold` pixels.\n */\n @Input() @InputBoolean() responsive = false\n\n /**\n * The canvas will be rerendered if the canvas size changes by this many\n * pixels from the last render.\n *\n * To make the canvas responsive using only the initial size for its render\n * set the threshold to `-1`. You can still trigger a rerender by calling the\n * `render()` method.\n *\n * NOTE: Only used when `responsive` is `true`.\n */\n @Input() renderUpdateThreshold = 100\n\n public rendering = false\n\n private _renderRequestSubject = new Subject<void>()\n\n private _render$: Observable<void>\n\n constructor() {\n this._render$ = this._renderRequestSubject.pipe(\n takeUntil(this._ngUnsubscribe),\n auditTime(500),\n switchMap(_ => from(waitOnConditionAsync(() => this.rendering === false, 30 * 1000))),\n switchMap(_ => from(this._render()))\n )\n }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n ngAfterViewInit() {\n this._render$.subscribe()\n this.render()\n }\n\n public render() {\n this._renderRequestSubject.next()\n }\n\n private async _render() {\n if (!this.pdfContainer || !this.pdfCanvas) {\n return\n }\n\n try {\n const w = this.pdfContainer.nativeElement.clientWidth\n const desiredWidth = w\n const viewport = this.page.getViewport({ scale: 1 })\n const scale = desiredWidth / viewport.width\n const scaledViewport = this.page.getViewport({ scale })\n\n // Prepare canvas using PDF page dimensions\n const canvas: HTMLCanvasElement = this.pdfCanvas.nativeElement\n const context = canvas.getContext('2d')\n canvas.height = scaledViewport.height\n canvas.width = scaledViewport.width\n canvas.style.height = `${scaledViewport.height}px`\n canvas.style.width = `${scaledViewport.width}px`\n\n // Render PDF page into canvas context\n const renderContext = {\n canvasContext: context,\n viewport: scaledViewport\n }\n\n const renderTask = await this.page.render(renderContext).promise\n\n // TODO: Allow canceling instead of only waiting\n // await renderTask.cancel()\n this.rendering = false\n if (this.responsive) {\n canvas.style.width = '100%'\n canvas.style.height = '100%'\n }\n } catch (err) {\n // PDF loading error\n console.error(err)\n }\n }\n\n onResized() {\n if (!this.responsive || this.renderUpdateThreshold === -1) { return }\n\n if (!this.pdfContainer || !this.pdfCanvas) {\n return\n }\n\n const containerRect = this.pdfContainer.nativeElement.getBoundingClientRect()\n const pdfWidth = this.pdfCanvas.nativeElement.width\n const pdfHeight = this.pdfCanvas.nativeElement.height\n const wDiff = Math.abs(containerRect.width - pdfWidth)\n const hDiff = Math.abs(containerRect.height - pdfHeight)\n if (wDiff > this.renderUpdateThreshold || hDiff > this.renderUpdateThreshold) {\n this.render()\n }\n\n }\n\n}\n","import { Injectable } from '@angular/core'\nimport { from, Observable } from 'rxjs'\nimport { shareReplay, switchMap, tap } from 'rxjs/operators'\n\nimport { wrapIntoObservable } from '@theseam/ui-common/utils'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PdfRendererService {\n\n private readonly _pdfjs$: Observable<any>\n\n constructor() {\n const pdfjsImport = wrapIntoObservable(import('pdfjs-dist/legacy/build/pdf'))\n this._pdfjs$ = pdfjsImport.pipe(\n tap((pdfJs: any) => {\n if (!pdfJs.GlobalWorkerOptions.workerSrc) {\n // tslint:disable-next-line:max-line-length\n pdfJs.GlobalWorkerOptions.workerSrc = `https://cdnjs.cloudflare.com/ajax/libs/pdf.js/${ (pdfJs as any).version }/pdf.worker.min.js`\n }\n }),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n }\n\n public getDocument(url: string): Observable<any> {\n return from(fetch(url)).pipe(\n switchMap(v => this._pdfjs$.pipe(\n switchMap(pdfjs => pdfjs.getDocument(v).promise)\n ))\n )\n }\n}\n","import { BooleanInput, coerceArray, coerceNumberProperty } from '@angular/cdk/coercion'\nimport { Component, Input } from '@angular/core'\nimport { BehaviorSubject, from, Observable, of, ReplaySubject } from 'rxjs'\nimport { map, shareReplay, switchMap, tap } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { wrapIntoObservable } from '@theseam/ui-common/utils'\n\nimport { PdfRendererService } from './pdf-renderer.service'\n\n@Component({\n selector: 'seam-pdf-viewer',\n template: `\n <ng-container *ngFor=\"let page of pages$ | async\">\n <seam-pdf-page\n class=\"mb-2\"\n [page]=\"page | async\"\n [responsive]=\"responsive\"\n [shadow]=\"shadow\"\n [renderUpdateThreshold]=\"renderUpdateThreshold\">\n </seam-pdf-page>\n </ng-container>\n `,\n styles: [`:host { display: block; }`]\n})\nexport class TheSeamPdfViewerComponent {\n static ngAcceptInputType_shadow: BooleanInput\n static ngAcceptInputType_responsive: BooleanInput\n\n @Input()\n get pdfUrl(): string | undefined | null { return this._pdfUrl }\n set pdfUrl(value: string | undefined | null) {\n this._pdfUrl = value\n this._documentSubject.next(value)\n }\n private _pdfUrl: string | undefined | null\n\n @Input() @InputBoolean() shadow = false\n\n /**\n * Canvas will responsively scale and rerender if scaled more than\n * `renderUpdateThreshold` pixels.\n */\n @Input() @InputBoolean() responsive = false\n\n /**\n * The canvas will be rerendered if the canvas size changes by this many\n * pixels from the last render.\n *\n * To make the canvas responsive using only the initial size for its render\n * set the threshold to `-1`. You can still trigger a rerender by calling the\n * `render()` method.\n *\n * NOTE: Only used when `responsive` is `true`.\n */\n @Input()\n set renderUpdateThreshold(value: number) { this._renderUpdateThreshold = coerceNumberProperty(value) }\n get renderUpdateThreshold(): number { return this._renderUpdateThreshold }\n private _renderUpdateThreshold: number = 100\n\n /**\n * Range of pages to render.\n *\n * Example(page 1 to page 3):\n * [pageRange]=\"[1,3]\"\n */\n @Input()\n get pageRange(): number[] { return this._pageRange }\n set pageRange(value: number[]) {\n this._pageRange = value\n\n if (!this._pageRange) {\n this._pageNumbersSubject.next(undefined)\n }\n\n try {\n const range = coerceArray(this._pageRange)\n if (range.length !== 2) {\n throw new Error('[pdf-viewer] Invalid Page Range. Range array must have two numbers only.')\n }\n if (range[0] > range[1]) {\n throw new Error('[pdf-viewer] Invalid Page Range. Start of the range must be less than or equal to the end.')\n }\n\n const nums: number[] = []\n for (let i = range[0]; i <= range[1]; i++) {\n nums.push(i)\n }\n this._pageNumbersSubject.next(nums)\n } catch (err) {\n // TODO: Decide how to conveniently display these errors.\n console.error(err)\n this._pageNumbersSubject.next([])\n }\n }\n private _pageRange: number[] = []\n\n /**\n * Render a specific page.\n */\n @Input()\n get pageNumber(): number { return this._pageNumber }\n set pageNumber(value: number) {\n this._pageNumber = coerceNumberProperty(value, -1)\n this._pageNumbersSubject.next(this._pageNumber === -1 ? undefined : [ this._pageNumber ])\n }\n private _pageNumber = -1\n\n /**\n * Specific page numbers to render.\n */\n @Input()\n get pageNumbers(): number[] { return this._pageNumbers }\n set pageNumbers(value: number[]) {\n this._pageNumbers = value\n if (Array.isArray(this._pageNumbers)) {\n this._pageNumbersSubject.next(this._pageNumbers)\n } else {\n this._pageNumbersSubject.next(undefined)\n }\n }\n private _pageNumbers: number[] = []\n\n private _documentSubject = new ReplaySubject<any>(1)\n public document$: Observable<any>\n public pages$: Observable<any[]>\n\n /**\n * Undefined means all a pages\n */\n private _pageNumbersSubject = new BehaviorSubject<number[] | undefined>(undefined)\n\n constructor(\n private readonly _pdfRenderer: PdfRendererService\n ) {\n this.document$ = this._documentSubject.asObservable().pipe(\n switchMap(url => {\n if (!url) {\n return of()\n }\n return this._pdfRenderer.getDocument(url)\n })\n )\n\n const pageNumbers$ = this._pageNumbersSubject.asObservable()\n\n this.pages$ = this.document$.pipe(\n switchMap(doc => pageNumbers$.pipe(\n map(pageNumbers => {\n const pages: any[] = []\n for (let i = 0; i < doc.numPages; i++) {\n if (!pageNumbers || pageNumbers.indexOf(i + 1) !== -1) {\n pages.push(from(doc.getPage(i + 1)))\n }\n }\n return pages\n })\n ))\n )\n }\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\n\nimport { TheSeamPdfPageComponent } from './pdf-page/pdf-page.component'\nimport { TheSeamPdfViewerComponent } from './pdf-viewer.component'\n\n@NgModule({\n imports: [\n CommonModule,\n TheSeamSharedModule\n ],\n declarations: [\n TheSeamPdfViewerComponent,\n TheSeamPdfPageComponent\n ],\n exports: [\n TheSeamPdfViewerComponent,\n TheSeamPdfPageComponent\n ]\n})\nexport class TheSeamPdfViewerModule { }\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectorRef, Component, ElementRef, Input, NgZone, OnDestroy, OnInit, ViewChild } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\ninterface TemplateResizeMessagePayload {\n width: number\n height: number\n}\n\nenum TemplateMessageType {\n TplData = 'theseam_tpl_data',\n TplResize = 'theseam_tpl_resize',\n}\n\ninterface TemplateMessage<TType, TPayload> {\n type: TType\n payload: TPayload\n}\n\n@Component({\n selector: 'seam-html-template-viewer',\n templateUrl: './html-template-viewer.component.html',\n styleUrls: ['./html-template-viewer.component.scss']\n})\nexport class TheSeamHtmlTemplateViewerComponent implements OnInit, OnDestroy {\n static ngAcceptInputType_scrollable: BooleanInput\n\n private readonly _templateMessageHandlers: { [key in TemplateMessageType]: (payload: any) => void }\n\n private _message: string | undefined | null\n private _dataVersion: number = 0\n private _scrollHandleObserver: MutationObserver | null = null\n\n @Input()\n get src(): string | null | undefined { return this._src }\n set src(val: string | null | undefined) {\n this._src = val\n this._updateSrc()\n }\n private _src: string | null | undefined\n\n @Input()\n set dataVersion(value: number | undefined | null) {\n const dv = value || 0\n const sendData = this._dataVersion !== dv\n this._dataVersion = dv\n if (sendData) {\n this.postMessage(this._message)\n }\n }\n\n @Input()\n set data(value: any) {\n this.postMessage((value !== null && value !== undefined) ? JSON.stringify(value) : value)\n }\n\n @Input() @InputBoolean()\n set scrollable(value: boolean) {\n this._scrollable = value\n if (this._scrollable) {\n this._initScrollHandleObserver()\n } else {\n this._destroyScrollHandleObserver()\n }\n }\n\n _scrollable: boolean = false\n\n @ViewChild('iframeElement', { static: true })\n set iframeElementRef(val: ElementRef<HTMLIFrameElement>) {\n this._iframeElementRef = val\n const iframeNativeElement = this._getIFrameNativeElement()\n if (iframeNativeElement) {\n this._updateSrc()\n iframeNativeElement.onload = () => this.postMessage(this._message)\n }\n }\n private _iframeElementRef!: ElementRef<HTMLIFrameElement>\n\n _scrollbarOptions = {\n callbacks: {\n onInitialized: () => this._initScrollHandleObserver(),\n // Only scrollbar handles from OverlayScrollbars are currently observed,\n // so we can just disable the observer for native scrollbars.\n onInitializationWithdrawn: () => this._destroyScrollHandleObserver(),\n onDestroyed: () => this._destroyScrollHandleObserver(),\n }\n }\n\n _mouseBlockActive: boolean = false\n _mouseBlockWidth: string = '100%'\n _mouseBlockHeight: string = '100%'\n\n constructor(\n private readonly _ngZone: NgZone,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _elementRef: ElementRef\n ) {\n this._templateMessageHandlers = {\n [TemplateMessageType.TplData]: () => { }, // Not listening for message from template\n [TemplateMessageType.TplResize]: this._onResizeMessageFromTemplate\n }\n }\n\n ngOnInit(): void {\n this._ngZone.runOutsideAngular(() => window.addEventListener('message', this._onMessageFromTemplate))\n }\n\n ngOnDestroy(): void {\n window.removeEventListener('message', this._onMessageFromTemplate)\n this._destroyScrollHandleObserver()\n }\n\n private _onMessageFromTemplate = (e: any) => {\n const type = e.data.type as TemplateMessageType\n if (this._templateMessageHandlers[type]) {\n this._ngZone.run(() => this._templateMessageHandlers[type](e.data.payload))\n }\n }\n\n private _onResizeMessageFromTemplate = (payload: TemplateResizeMessagePayload): void => {\n const iframeNativeElement = this._getIFrameNativeElement()\n if (iframeNativeElement) {\n iframeNativeElement.style.height = `${payload.height}px`\n }\n }\n\n private _updateSrc(): void {\n const iframeNativeElement = this._getIFrameNativeElement()\n if (iframeNativeElement) {\n iframeNativeElement.src = this._src || ''\n }\n }\n\n public postMessage(msg: string | undefined | null): void {\n this._message = msg\n\n let _msg = msg\n const contentWindow = this._getIFrameContentWindow()\n if (contentWindow && _msg) {\n if (this._dataVersion === 2) {\n const wrapper: TemplateMessage<TemplateMessageType, any> = { type: TemplateMessageType.TplData, payload: undefined }\n try { wrapper.payload = JSON.parse(_msg) } catch { wrapper.payload = _msg }\n _msg = JSON.stringify(wrapper)\n }\n\n contentWindow.postMessage(_msg, '*')\n }\n }\n\n public reload(): void {\n this._updateSrc()\n }\n\n _onResized(event: { width: number, height: number }) {\n // This ensures the iframe scales itself if it isn't listening to or misses\n // the resize event.\n this.reload()\n }\n\n private _getIFrameNativeElement(): HTMLIFrameElement | null {\n return (this._iframeElementRef?.nativeElement) || null\n }\n\n private _getIFrameContentWindow(): Window | null {\n return (this._iframeElementRef?.nativeElement?.contentWindow) || null\n }\n\n /**\n * Initializes a MutationObserver to detect the 'active' class added to a\n * scroll handle, because OverlayScrollbars does not seem to provide an event\n * for scrollbar handle activation/deactivation.\n *\n * TODO: Do we need this to work for native scrollbars also?\n */\n private _initScrollHandleObserver(): void {\n if (this._scrollHandleObserver !== null) {\n return\n }\n\n this._ngZone.runOutsideAngular(() => {\n const observer = new MutationObserver(() => {\n this._ngZone.run(() => {\n if (this._isScrollbarHandleActive()) {\n this._enableMouseBlock()\n } else {\n this._disableMouseBlock()\n }\n })\n })\n\n observer.observe(this._elementRef.nativeElement, {\n attributes: true,\n attributeFilter: [ 'class' ],\n childList: true,\n subtree: true,\n characterData: false,\n })\n\n this._scrollHandleObserver = observer\n })\n }\n\n private _destroyScrollHandleObserver(): void {\n if (this._scrollHandleObserver === null) {\n return\n }\n\n this._scrollHandleObserver.disconnect()\n this._scrollHandleObserver = null\n }\n\n /**\n * Enables a transparent div to cover the iframe.\n *\n * When the mouse is over an iframe the browser stops letting the parent\n * document receive mouse events. Anything actively tracking mouse movement or\n * button pressed will think the mouse has left the page. So the scrollbar\n * handle would deactivate, when the mouse hovers the iframe. This adds an\n * element to cover the iframe, which prevents mouse events getting sent to\n * the iframe.\n */\n private _enableMouseBlock(): void {\n this._mouseBlockActive = true\n\n const iframeElement = this._getIFrameNativeElement()\n if (iframeElement) {\n const rect = iframeElement.getBoundingClientRect()\n this._mouseBlockWidth = `${rect.width}px`\n this._mouseBlockHeight = `${rect.height}px`\n } else {\n this._mouseBlockWidth = '100%'\n this._mouseBlockHeight = '100%'\n }\n\n this._cdr.detectChanges()\n }\n\n private _disableMouseBlock(): void {\n this._mouseBlockActive = false\n this._cdr.detectChanges()\n }\n\n private _isScrollbarHandleActive(): boolean {\n return this._elementRef.nativeElement.querySelector('.os-scrollbar-handle.active') !== null\n }\n\n}\n","<div (seamElemResized)=\"_onResized($any($event))\">\n <div class=\"embed-responsive embed-responsive-4by3\"\n [seamOverlayScrollbar]=\"_scrollbarOptions\"\n [overlayScrollbarEnabled]=\"_scrollable\">\n <iframe #iframeElement class=\"embed-responsive-item\" allowfullscreen></iframe>\n <div *ngIf=\"_mouseBlockActive\"\n class=\"iframe-mouse-block\"\n [style.width]=\"_mouseBlockWidth\"\n [style.height]=\"_mouseBlockHeight\">\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamScrollbarModule } from '@theseam/ui-common/scrollbar'\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\n\nimport { TheSeamHtmlTemplateViewerComponent } from './html-template-viewer.component'\n\n@NgModule({\n imports: [\n CommonModule,\n TheSeamScrollbarModule,\n TheSeamSharedModule,\n ],\n declarations: [\n TheSeamHtmlTemplateViewerComponent,\n ],\n exports: [\n TheSeamHtmlTemplateViewerComponent,\n ]\n})\nexport class TheSeamHtmlTemplateViewerModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.PdfRendererService","i3.TheSeamPdfPageComponent","i1","i2","i3"],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-viewers.mjs","sources":["../../../projects/ui-common/viewers/pdf-viewer/pdf-page/pdf-page.component.ts","../../../projects/ui-common/viewers/pdf-viewer/pdf-renderer.service.ts","../../../projects/ui-common/viewers/pdf-viewer/pdf-viewer.component.ts","../../../projects/ui-common/viewers/pdf-viewer/pdf-viewer.module.ts","../../../projects/ui-common/viewers/html-template-viewer/html-template-viewer.component.ts","../../../projects/ui-common/viewers/html-template-viewer/html-template-viewer.component.html","../../../projects/ui-common/viewers/html-template-viewer/html-template-viewer.module.ts","../../../projects/ui-common/viewers/theseam-ui-common-viewers.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion'\nimport { AfterViewInit, Component, ElementRef, HostBinding, Input, OnDestroy, ViewChild } from '@angular/core'\nimport { from, Observable, Subject } from 'rxjs'\nimport { auditTime, switchMap, takeUntil } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { waitOnConditionAsync } from '@theseam/ui-common/utils'\n\n@Component({\n selector: 'seam-pdf-page',\n template: `\n <div #pdfContainer\n (seamElemResized)=\"onResized()\">\n <canvas #pdfCanvas></canvas>\n </div>\n `,\n styles: [`\n :host { display: block; }\n canvas { display: block; }\n `]\n})\nexport class TheSeamPdfPageComponent implements OnDestroy, AfterViewInit {\n static ngAcceptInputType_shadow: BooleanInput\n static ngAcceptInputType_responsive: BooleanInput\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n @Input()\n public get page() { return this._page }\n public set page(value) {\n this._page = value\n setTimeout(() => { this.render() })\n }\n private _page: any\n\n @Input() @InputBoolean() shadow: boolean = false\n\n @HostBinding('class.shadow') get _shadow() { return this.shadow }\n\n @ViewChild('pdfContainer', { static: true }) pdfContainer?: ElementRef<HTMLDivElement>\n @ViewChild('pdfCanvas', { static: true }) pdfCanvas?: ElementRef<HTMLCanvasElement>\n\n /**\n * Canvas will responsively scale and rerender if scaled more than\n * `renderUpdateThreshold` pixels.\n */\n @Input() @InputBoolean() responsive = false\n\n /**\n * The canvas will be rerendered if the canvas size changes by this many\n * pixels from the last render.\n *\n * To make the canvas responsive using only the initial size for its render\n * set the threshold to `-1`. You can still trigger a rerender by calling the\n * `render()` method.\n *\n * NOTE: Only used when `responsive` is `true`.\n */\n @Input() renderUpdateThreshold = 100\n\n public rendering = false\n\n private _renderRequestSubject = new Subject<void>()\n\n private _render$: Observable<void>\n\n constructor() {\n this._render$ = this._renderRequestSubject.pipe(\n takeUntil(this._ngUnsubscribe),\n auditTime(500),\n switchMap(_ => from(waitOnConditionAsync(() => this.rendering === false, 30 * 1000))),\n switchMap(_ => from(this._render()))\n )\n }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n ngAfterViewInit() {\n this._render$.subscribe()\n this.render()\n }\n\n public render() {\n this._renderRequestSubject.next()\n }\n\n private async _render() {\n if (!this.pdfContainer || !this.pdfCanvas) {\n return\n }\n\n try {\n const w = this.pdfContainer.nativeElement.clientWidth\n const desiredWidth = w\n const viewport = this.page.getViewport({ scale: 1 })\n const scale = desiredWidth / viewport.width\n const scaledViewport = this.page.getViewport({ scale })\n\n // Prepare canvas using PDF page dimensions\n const canvas: HTMLCanvasElement = this.pdfCanvas.nativeElement\n const context = canvas.getContext('2d')\n canvas.height = scaledViewport.height\n canvas.width = scaledViewport.width\n canvas.style.height = `${scaledViewport.height}px`\n canvas.style.width = `${scaledViewport.width}px`\n\n // Render PDF page into canvas context\n const renderContext = {\n canvasContext: context,\n viewport: scaledViewport\n }\n\n const renderTask = await this.page.render(renderContext).promise\n\n // TODO: Allow canceling instead of only waiting\n // await renderTask.cancel()\n this.rendering = false\n if (this.responsive) {\n canvas.style.width = '100%'\n canvas.style.height = '100%'\n }\n } catch (err) {\n // PDF loading error\n console.error(err)\n }\n }\n\n onResized() {\n if (!this.responsive || this.renderUpdateThreshold === -1) { return }\n\n if (!this.pdfContainer || !this.pdfCanvas) {\n return\n }\n\n const containerRect = this.pdfContainer.nativeElement.getBoundingClientRect()\n const pdfWidth = this.pdfCanvas.nativeElement.width\n const pdfHeight = this.pdfCanvas.nativeElement.height\n const wDiff = Math.abs(containerRect.width - pdfWidth)\n const hDiff = Math.abs(containerRect.height - pdfHeight)\n if (wDiff > this.renderUpdateThreshold || hDiff > this.renderUpdateThreshold) {\n this.render()\n }\n\n }\n\n}\n","import { Injectable } from '@angular/core'\nimport { from, Observable } from 'rxjs'\nimport { shareReplay, switchMap, tap } from 'rxjs/operators'\n\nimport { wrapIntoObservable } from '@theseam/ui-common/utils'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PdfRendererService {\n\n private readonly _pdfjs$: Observable<any>\n\n constructor() {\n const pdfjsImport = wrapIntoObservable(import('pdfjs-dist/legacy/build/pdf'))\n this._pdfjs$ = pdfjsImport.pipe(\n tap((pdfJs: any) => {\n if (!pdfJs.GlobalWorkerOptions.workerSrc) {\n // tslint:disable-next-line:max-line-length\n pdfJs.GlobalWorkerOptions.workerSrc = `https://cdnjs.cloudflare.com/ajax/libs/pdf.js/${ (pdfJs as any).version }/pdf.worker.min.js`\n }\n }),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n }\n\n public getDocument(url: string): Observable<any> {\n return from(fetch(url)).pipe(\n switchMap(v => this._pdfjs$.pipe(\n switchMap(pdfjs => pdfjs.getDocument(v).promise)\n ))\n )\n }\n}\n","import { BooleanInput, coerceArray, coerceNumberProperty } from '@angular/cdk/coercion'\nimport { Component, Input } from '@angular/core'\nimport { BehaviorSubject, from, Observable, of, ReplaySubject } from 'rxjs'\nimport { map, shareReplay, switchMap, tap } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { wrapIntoObservable } from '@theseam/ui-common/utils'\n\nimport { PdfRendererService } from './pdf-renderer.service'\n\n@Component({\n selector: 'seam-pdf-viewer',\n template: `\n <ng-container *ngFor=\"let page of pages$ | async\">\n <seam-pdf-page\n class=\"mb-2\"\n [page]=\"page | async\"\n [responsive]=\"responsive\"\n [shadow]=\"shadow\"\n [renderUpdateThreshold]=\"renderUpdateThreshold\">\n </seam-pdf-page>\n </ng-container>\n `,\n styles: [`:host { display: block; }`]\n})\nexport class TheSeamPdfViewerComponent {\n static ngAcceptInputType_shadow: BooleanInput\n static ngAcceptInputType_responsive: BooleanInput\n\n @Input()\n get pdfUrl(): string | undefined | null { return this._pdfUrl }\n set pdfUrl(value: string | undefined | null) {\n this._pdfUrl = value\n this._documentSubject.next(value)\n }\n private _pdfUrl: string | undefined | null\n\n @Input() @InputBoolean() shadow = false\n\n /**\n * Canvas will responsively scale and rerender if scaled more than\n * `renderUpdateThreshold` pixels.\n */\n @Input() @InputBoolean() responsive = false\n\n /**\n * The canvas will be rerendered if the canvas size changes by this many\n * pixels from the last render.\n *\n * To make the canvas responsive using only the initial size for its render\n * set the threshold to `-1`. You can still trigger a rerender by calling the\n * `render()` method.\n *\n * NOTE: Only used when `responsive` is `true`.\n */\n @Input()\n set renderUpdateThreshold(value: number) { this._renderUpdateThreshold = coerceNumberProperty(value) }\n get renderUpdateThreshold(): number { return this._renderUpdateThreshold }\n private _renderUpdateThreshold: number = 100\n\n /**\n * Range of pages to render.\n *\n * Example(page 1 to page 3):\n * [pageRange]=\"[1,3]\"\n */\n @Input()\n get pageRange(): number[] { return this._pageRange }\n set pageRange(value: number[]) {\n this._pageRange = value\n\n if (!this._pageRange) {\n this._pageNumbersSubject.next(undefined)\n }\n\n try {\n const range = coerceArray(this._pageRange)\n if (range.length !== 2) {\n throw new Error('[pdf-viewer] Invalid Page Range. Range array must have two numbers only.')\n }\n if (range[0] > range[1]) {\n throw new Error('[pdf-viewer] Invalid Page Range. Start of the range must be less than or equal to the end.')\n }\n\n const nums: number[] = []\n for (let i = range[0]; i <= range[1]; i++) {\n nums.push(i)\n }\n this._pageNumbersSubject.next(nums)\n } catch (err) {\n // TODO: Decide how to conveniently display these errors.\n console.error(err)\n this._pageNumbersSubject.next([])\n }\n }\n private _pageRange: number[] = []\n\n /**\n * Render a specific page.\n */\n @Input()\n get pageNumber(): number { return this._pageNumber }\n set pageNumber(value: number) {\n this._pageNumber = coerceNumberProperty(value, -1)\n this._pageNumbersSubject.next(this._pageNumber === -1 ? undefined : [ this._pageNumber ])\n }\n private _pageNumber = -1\n\n /**\n * Specific page numbers to render.\n */\n @Input()\n get pageNumbers(): number[] { return this._pageNumbers }\n set pageNumbers(value: number[]) {\n this._pageNumbers = value\n if (Array.isArray(this._pageNumbers)) {\n this._pageNumbersSubject.next(this._pageNumbers)\n } else {\n this._pageNumbersSubject.next(undefined)\n }\n }\n private _pageNumbers: number[] = []\n\n private _documentSubject = new ReplaySubject<any>(1)\n public document$: Observable<any>\n public pages$: Observable<any[]>\n\n /**\n * Undefined means all a pages\n */\n private _pageNumbersSubject = new BehaviorSubject<number[] | undefined>(undefined)\n\n constructor(\n private readonly _pdfRenderer: PdfRendererService\n ) {\n this.document$ = this._documentSubject.asObservable().pipe(\n switchMap(url => {\n if (!url) {\n return of()\n }\n return this._pdfRenderer.getDocument(url)\n })\n )\n\n const pageNumbers$ = this._pageNumbersSubject.asObservable()\n\n this.pages$ = this.document$.pipe(\n switchMap(doc => pageNumbers$.pipe(\n map(pageNumbers => {\n const pages: any[] = []\n for (let i = 0; i < doc.numPages; i++) {\n if (!pageNumbers || pageNumbers.indexOf(i + 1) !== -1) {\n pages.push(from(doc.getPage(i + 1)))\n }\n }\n return pages\n })\n ))\n )\n }\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\n\nimport { TheSeamPdfPageComponent } from './pdf-page/pdf-page.component'\nimport { TheSeamPdfViewerComponent } from './pdf-viewer.component'\n\n@NgModule({\n imports: [\n CommonModule,\n TheSeamSharedModule\n ],\n declarations: [\n TheSeamPdfViewerComponent,\n TheSeamPdfPageComponent\n ],\n exports: [\n TheSeamPdfViewerComponent,\n TheSeamPdfPageComponent\n ]\n})\nexport class TheSeamPdfViewerModule { }\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectorRef, Component, ElementRef, Input, NgZone, OnDestroy, OnInit, ViewChild } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\ninterface TemplateResizeMessagePayload {\n width: number\n height: number\n}\n\nenum TemplateMessageType {\n TplData = 'theseam_tpl_data',\n TplResize = 'theseam_tpl_resize',\n}\n\ninterface TemplateMessage<TType, TPayload> {\n type: TType\n payload: TPayload\n}\n\n@Component({\n selector: 'seam-html-template-viewer',\n templateUrl: './html-template-viewer.component.html',\n styleUrls: ['./html-template-viewer.component.scss']\n})\nexport class TheSeamHtmlTemplateViewerComponent implements OnInit, OnDestroy {\n static ngAcceptInputType_scrollable: BooleanInput\n\n private readonly _templateMessageHandlers: { [key in TemplateMessageType]: (payload: any) => void }\n\n private _message: string | undefined | null\n private _dataVersion: number = 0\n private _scrollHandleObserver: MutationObserver | null = null\n\n @Input()\n get src(): string | null | undefined { return this._src }\n set src(val: string | null | undefined) {\n this._src = val\n this._updateSrc()\n }\n private _src: string | null | undefined\n\n @Input()\n set dataVersion(value: number | undefined | null) {\n const dv = value || 0\n const sendData = this._dataVersion !== dv\n this._dataVersion = dv\n if (sendData) {\n this.postMessage(this._message)\n }\n }\n\n @Input()\n set data(value: any) {\n this.postMessage((value !== null && value !== undefined) ? JSON.stringify(value) : value)\n }\n\n @Input() @InputBoolean()\n set scrollable(value: boolean) {\n this._scrollable = value\n if (this._scrollable) {\n this._initScrollHandleObserver()\n } else {\n this._destroyScrollHandleObserver()\n }\n }\n\n _scrollable: boolean = false\n\n @ViewChild('iframeElement', { static: true })\n set iframeElementRef(val: ElementRef<HTMLIFrameElement>) {\n this._iframeElementRef = val\n const iframeNativeElement = this._getIFrameNativeElement()\n if (iframeNativeElement) {\n this._updateSrc()\n iframeNativeElement.onload = () => this.postMessage(this._message)\n }\n }\n private _iframeElementRef!: ElementRef<HTMLIFrameElement>\n\n _scrollbarOptions = {\n callbacks: {\n onInitialized: () => this._initScrollHandleObserver(),\n // Only scrollbar handles from OverlayScrollbars are currently observed,\n // so we can just disable the observer for native scrollbars.\n onInitializationWithdrawn: () => this._destroyScrollHandleObserver(),\n onDestroyed: () => this._destroyScrollHandleObserver(),\n }\n }\n\n _mouseBlockActive: boolean = false\n _mouseBlockWidth: string = '100%'\n _mouseBlockHeight: string = '100%'\n\n constructor(\n private readonly _ngZone: NgZone,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _elementRef: ElementRef\n ) {\n this._templateMessageHandlers = {\n [TemplateMessageType.TplData]: () => { }, // Not listening for message from template\n [TemplateMessageType.TplResize]: this._onResizeMessageFromTemplate\n }\n }\n\n ngOnInit(): void {\n this._ngZone.runOutsideAngular(() => window.addEventListener('message', this._onMessageFromTemplate))\n }\n\n ngOnDestroy(): void {\n window.removeEventListener('message', this._onMessageFromTemplate)\n this._destroyScrollHandleObserver()\n }\n\n private _onMessageFromTemplate = (e: any) => {\n const type = e.data.type as TemplateMessageType\n if (this._templateMessageHandlers[type]) {\n this._ngZone.run(() => this._templateMessageHandlers[type](e.data.payload))\n }\n }\n\n private _onResizeMessageFromTemplate = (payload: TemplateResizeMessagePayload): void => {\n const iframeNativeElement = this._getIFrameNativeElement()\n if (iframeNativeElement) {\n iframeNativeElement.style.height = `${payload.height}px`\n }\n }\n\n private _updateSrc(): void {\n const iframeNativeElement = this._getIFrameNativeElement()\n if (iframeNativeElement) {\n iframeNativeElement.src = this._src || ''\n }\n }\n\n public postMessage(msg: string | undefined | null): void {\n this._message = msg\n\n let _msg = msg\n const contentWindow = this._getIFrameContentWindow()\n if (contentWindow && _msg) {\n if (this._dataVersion === 2) {\n const wrapper: TemplateMessage<TemplateMessageType, any> = { type: TemplateMessageType.TplData, payload: undefined }\n try { wrapper.payload = JSON.parse(_msg) } catch { wrapper.payload = _msg }\n _msg = JSON.stringify(wrapper)\n }\n\n contentWindow.postMessage(_msg, '*')\n }\n }\n\n public reload(): void {\n this._updateSrc()\n }\n\n _onResized(event: { width: number, height: number }) {\n // This ensures the iframe scales itself if it isn't listening to or misses\n // the resize event.\n this.reload()\n }\n\n private _getIFrameNativeElement(): HTMLIFrameElement | null {\n return (this._iframeElementRef?.nativeElement) || null\n }\n\n private _getIFrameContentWindow(): Window | null {\n return (this._iframeElementRef?.nativeElement?.contentWindow) || null\n }\n\n /**\n * Initializes a MutationObserver to detect the 'active' class added to a\n * scroll handle, because OverlayScrollbars does not seem to provide an event\n * for scrollbar handle activation/deactivation.\n *\n * TODO: Do we need this to work for native scrollbars also?\n */\n private _initScrollHandleObserver(): void {\n if (this._scrollHandleObserver !== null) {\n return\n }\n\n this._ngZone.runOutsideAngular(() => {\n const observer = new MutationObserver(() => {\n this._ngZone.run(() => {\n if (this._isScrollbarHandleActive()) {\n this._enableMouseBlock()\n } else {\n this._disableMouseBlock()\n }\n })\n })\n\n observer.observe(this._elementRef.nativeElement, {\n attributes: true,\n attributeFilter: [ 'class' ],\n childList: true,\n subtree: true,\n characterData: false,\n })\n\n this._scrollHandleObserver = observer\n })\n }\n\n private _destroyScrollHandleObserver(): void {\n if (this._scrollHandleObserver === null) {\n return\n }\n\n this._scrollHandleObserver.disconnect()\n this._scrollHandleObserver = null\n }\n\n /**\n * Enables a transparent div to cover the iframe.\n *\n * When the mouse is over an iframe the browser stops letting the parent\n * document receive mouse events. Anything actively tracking mouse movement or\n * button pressed will think the mouse has left the page. So the scrollbar\n * handle would deactivate, when the mouse hovers the iframe. This adds an\n * element to cover the iframe, which prevents mouse events getting sent to\n * the iframe.\n */\n private _enableMouseBlock(): void {\n this._mouseBlockActive = true\n\n const iframeElement = this._getIFrameNativeElement()\n if (iframeElement) {\n const rect = iframeElement.getBoundingClientRect()\n this._mouseBlockWidth = `${rect.width}px`\n this._mouseBlockHeight = `${rect.height}px`\n } else {\n this._mouseBlockWidth = '100%'\n this._mouseBlockHeight = '100%'\n }\n\n this._cdr.detectChanges()\n }\n\n private _disableMouseBlock(): void {\n this._mouseBlockActive = false\n this._cdr.detectChanges()\n }\n\n private _isScrollbarHandleActive(): boolean {\n return this._elementRef.nativeElement.querySelector('.os-scrollbar-handle.active') !== null\n }\n\n}\n","<div (seamElemResized)=\"_onResized($any($event))\">\n <div class=\"embed-responsive embed-responsive-4by3\"\n [seamOverlayScrollbar]=\"_scrollbarOptions\"\n [overlayScrollbarEnabled]=\"_scrollable\">\n <iframe #iframeElement class=\"embed-responsive-item\" allowfullscreen></iframe>\n <div *ngIf=\"_mouseBlockActive\"\n class=\"iframe-mouse-block\"\n [style.width]=\"_mouseBlockWidth\"\n [style.height]=\"_mouseBlockHeight\">\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamScrollbarModule } from '@theseam/ui-common/scrollbar'\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\n\nimport { TheSeamHtmlTemplateViewerComponent } from './html-template-viewer.component'\n\n@NgModule({\n imports: [\n CommonModule,\n TheSeamScrollbarModule,\n TheSeamSharedModule,\n ],\n declarations: [\n TheSeamHtmlTemplateViewerComponent,\n ],\n exports: [\n TheSeamHtmlTemplateViewerComponent,\n ]\n})\nexport class TheSeamHtmlTemplateViewerModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.PdfRendererService","i3.TheSeamPdfPageComponent","i1","i2","i3"],"mappings":";;;;;;;;;;;;;;;MAqBa,uBAAuB,CAAA;IAMlC,IACW,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAA,EAAE;IACvC,IAAW,IAAI,CAAC,KAAK,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;AAClB,QAAA,UAAU,CAAC,MAAK,EAAG,IAAI,CAAC,MAAM,EAAE,CAAA,EAAE,CAAC,CAAA;KACpC;IAKD,IAAiC,OAAO,KAAK,OAAO,IAAI,CAAC,MAAM,CAAA,EAAE;AA6BjE,IAAA,WAAA,GAAA;AAzCiB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ,CAAA;QAU5B,IAAM,CAAA,MAAA,GAAY,KAAK,CAAA;AAOhD;;;AAGG;QACsB,IAAU,CAAA,UAAA,GAAG,KAAK,CAAA;AAE3C;;;;;;;;;AASG;QACM,IAAqB,CAAA,qBAAA,GAAG,GAAG,CAAA;QAE7B,IAAS,CAAA,SAAA,GAAG,KAAK,CAAA;AAEhB,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,OAAO,EAAQ,CAAA;AAKjD,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAC7C,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,EAC9B,SAAS,CAAC,GAAG,CAAC,EACd,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EACrF,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CACrC,CAAA;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACnC,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAA;KAC/B;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAA;QACzB,IAAI,CAAC,MAAM,EAAE,CAAA;KACd;IAEM,MAAM,GAAA;AACX,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAA;KAClC;AAEO,IAAA,MAAM,OAAO,GAAA;QACnB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACzC,OAAM;AACP,SAAA;QAED,IAAI;YACF,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,WAAW,CAAA;YACrD,MAAM,YAAY,GAAG,CAAC,CAAA;AACtB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;AACpD,YAAA,MAAM,KAAK,GAAG,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAA;AAC3C,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;;AAGvD,YAAA,MAAM,MAAM,GAAsB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAA;YAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AACvC,YAAA,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAA;AACrC,YAAA,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAA;YACnC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,CAAA,EAAA,CAAI,CAAA;YAClD,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,cAAc,CAAC,KAAK,CAAA,EAAA,CAAI,CAAA;;AAGhD,YAAA,MAAM,aAAa,GAAG;AACpB,gBAAA,aAAa,EAAE,OAAO;AACtB,gBAAA,QAAQ,EAAE,cAAc;aACzB,CAAA;AAED,YAAA,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAA;;;AAIhE,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;YACtB,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,gBAAA,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAA;AAC3B,gBAAA,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAA;AAC7B,aAAA;AACF,SAAA;AAAC,QAAA,OAAO,GAAG,EAAE;;AAEZ,YAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AACnB,SAAA;KACF;IAED,SAAS,GAAA;QACP,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,qBAAqB,KAAK,CAAC,CAAC,EAAE;YAAE,OAAM;AAAE,SAAA;QAErE,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACzC,OAAM;AACP,SAAA;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAA;QAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAA;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAA;AACrD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAA;AACtD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;QACxD,IAAI,KAAK,GAAG,IAAI,CAAC,qBAAqB,IAAI,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE;YAC5E,IAAI,CAAC,MAAM,EAAE,CAAA;AACd,SAAA;KAEF;;oHA7HU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAXxB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;AAKT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,6CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;AAoBwB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAwB,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAWvB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAmB,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAzBhC,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAbnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EACf,QAAA,EAAA,CAAA;;;;;AAKT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,6CAAA,CAAA,EAAA,CAAA;0EAaU,IAAI,EAAA,CAAA;sBADd,KAAK;gBAQmB,MAAM,EAAA,CAAA;sBAA9B,KAAK;gBAE2B,OAAO,EAAA,CAAA;sBAAvC,WAAW;uBAAC,cAAc,CAAA;gBAEkB,YAAY,EAAA,CAAA;sBAAxD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBACD,SAAS,EAAA,CAAA;sBAAlD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAMf,UAAU,EAAA,CAAA;sBAAlC,KAAK;gBAYG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;;;MCjDK,kBAAkB,CAAA;AAI7B,IAAA,WAAA,GAAA;QACE,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAA;AAC7E,QAAA,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,IAAI,CAC7B,GAAG,CAAC,CAAC,KAAU,KAAI;AACjB,YAAA,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,EAAE;;gBAExC,KAAK,CAAC,mBAAmB,CAAC,SAAS,GAAG,iDAAmD,KAAa,CAAC,OAAQ,CAAA,kBAAA,CAAoB,CAAA;AACpI,aAAA;AACH,SAAC,CAAC,EACF,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAC/C,CAAA;KACF;AAEM,IAAA,WAAW,CAAC,GAAW,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAC1B,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAC9B,SAAS,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CACjD,CAAC,CACH,CAAA;KACF;;+GAvBU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCiBY,yBAAyB,CAAA;IAIpC,IACI,MAAM,KAAgC,OAAO,IAAI,CAAC,OAAO,CAAA,EAAE;IAC/D,IAAI,MAAM,CAAC,KAAgC,EAAA;AACzC,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;AACpB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KAClC;AAWD;;;;;;;;;AASG;AACH,IAAA,IACI,qBAAqB,CAAC,KAAa,EAAA,EAAI,IAAI,CAAC,sBAAsB,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA,EAAE;IACtG,IAAI,qBAAqB,KAAa,OAAO,IAAI,CAAC,sBAAsB,CAAA,EAAE;AAG1E;;;;;AAKG;IACH,IACI,SAAS,KAAe,OAAO,IAAI,CAAC,UAAU,CAAA,EAAE;IACpD,IAAI,SAAS,CAAC,KAAe,EAAA;AAC3B,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;AAEvB,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACzC,SAAA;QAED,IAAI;YACF,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AAC1C,YAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,gBAAA,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAA;AAC5F,aAAA;YACD,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE;AACvB,gBAAA,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAA;AAC9G,aAAA;YAED,MAAM,IAAI,GAAa,EAAE,CAAA;AACzB,YAAA,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;AACzC,gBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACb,aAAA;AACD,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACpC,SAAA;AAAC,QAAA,OAAO,GAAG,EAAE;;AAEZ,YAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AAClB,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAClC,SAAA;KACF;AAGD;;AAEG;IACH,IACI,UAAU,KAAa,OAAO,IAAI,CAAC,WAAW,CAAA,EAAE;IACpD,IAAI,UAAU,CAAC,KAAa,EAAA;QAC1B,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC,GAAG,SAAS,GAAG,CAAE,IAAI,CAAC,WAAW,CAAE,CAAC,CAAA;KAC1F;AAGD;;AAEG;IACH,IACI,WAAW,KAAe,OAAO,IAAI,CAAC,YAAY,CAAA,EAAE;IACxD,IAAI,WAAW,CAAC,KAAe,EAAA;AAC7B,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YACpC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;AACjD,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACzC,SAAA;KACF;AAYD,IAAA,WAAA,CACmB,YAAgC,EAAA;QAAhC,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAoB;QAhG1B,IAAM,CAAA,MAAA,GAAG,KAAK,CAAA;AAEvC;;;AAGG;QACsB,IAAU,CAAA,UAAA,GAAG,KAAK,CAAA;QAenC,IAAsB,CAAA,sBAAA,GAAW,GAAG,CAAA;QAqCpC,IAAU,CAAA,UAAA,GAAa,EAAE,CAAA;QAWzB,IAAW,CAAA,WAAA,GAAG,CAAC,CAAC,CAAA;QAehB,IAAY,CAAA,YAAA,GAAa,EAAE,CAAA;AAE3B,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,aAAa,CAAM,CAAC,CAAC,CAAA;AAIpD;;AAEG;AACK,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,eAAe,CAAuB,SAAS,CAAC,CAAA;AAKhF,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,IAAI,CACxD,SAAS,CAAC,GAAG,IAAG;YACd,IAAI,CAAC,GAAG,EAAE;gBACR,OAAO,EAAE,EAAE,CAAA;AACZ,aAAA;YACD,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;SAC1C,CAAC,CACH,CAAA;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAA;QAE5D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAC/B,SAAS,CAAC,GAAG,IAAI,YAAY,CAAC,IAAI,CAChC,GAAG,CAAC,WAAW,IAAG;YAChB,MAAM,KAAK,GAAU,EAAE,CAAA;AACvB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;AACrC,gBAAA,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AACrD,oBAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AACrC,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,KAAK,CAAA;AACd,SAAC,CAAC,CACH,CAAC,CACH,CAAA;KACF;;sHAtIU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAb1B,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;AAUT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,YAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;AAewB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAe,CAAA,EAAA,yBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMd,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAmB,CAAA,EAAA,yBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAlBhC,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAfrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EACjB,QAAA,EAAA,CAAA;;;;;;;;;;AAUT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA;sGAQG,MAAM,EAAA,CAAA;sBADT,KAAK;gBAQmB,MAAM,EAAA,CAAA;sBAA9B,KAAK;gBAMmB,UAAU,EAAA,CAAA;sBAAlC,KAAK;gBAaF,qBAAqB,EAAA,CAAA;sBADxB,KAAK;gBAYF,SAAS,EAAA,CAAA;sBADZ,KAAK;gBAmCF,UAAU,EAAA,CAAA;sBADb,KAAK;gBAYF,WAAW,EAAA,CAAA;sBADd,KAAK;;;MCzFK,sBAAsB,CAAA;;mHAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,iBAR/B,yBAAyB;AACzB,QAAA,uBAAuB,aALvB,YAAY;AACZ,QAAA,mBAAmB,aAOnB,yBAAyB;QACzB,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAGd,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAZ/B,YAAY;QACZ,mBAAmB,CAAA,EAAA,CAAA,CAAA;2FAWV,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAdlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;AACpB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,yBAAyB;wBACzB,uBAAuB;AACxB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,yBAAyB;wBACzB,uBAAuB;AACxB,qBAAA;AACF,iBAAA,CAAA;;;ACXD,IAAK,mBAGJ,CAAA;AAHD,CAAA,UAAK,mBAAmB,EAAA;AACtB,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,kBAA4B,CAAA;AAC5B,IAAA,mBAAA,CAAA,WAAA,CAAA,GAAA,oBAAgC,CAAA;AAClC,CAAC,EAHI,mBAAmB,KAAnB,mBAAmB,GAGvB,EAAA,CAAA,CAAA,CAAA;MAYY,kCAAkC,CAAA;IAS7C,IACI,GAAG,KAAgC,OAAO,IAAI,CAAC,IAAI,CAAA,EAAE;IACzD,IAAI,GAAG,CAAC,GAA8B,EAAA;AACpC,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;QACf,IAAI,CAAC,UAAU,EAAE,CAAA;KAClB;IAGD,IACI,WAAW,CAAC,KAAgC,EAAA;AAC9C,QAAA,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC,CAAA;AACrB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,KAAK,EAAE,CAAA;AACzC,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;AACtB,QAAA,IAAI,QAAQ,EAAE;AACZ,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAChC,SAAA;KACF;IAED,IACI,IAAI,CAAC,KAAU,EAAA;QACjB,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAA;KAC1F;IAGD,IAAI,UAAU,CAAC,KAAc,EAAA;AAC3B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;QACxB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,yBAAyB,EAAE,CAAA;AACjC,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,4BAA4B,EAAE,CAAA;AACpC,SAAA;KACF;IAID,IACI,gBAAgB,CAAC,GAAkC,EAAA;AACrD,QAAA,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAA;AAC5B,QAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAA;AAC1D,QAAA,IAAI,mBAAmB,EAAE;YACvB,IAAI,CAAC,UAAU,EAAE,CAAA;AACjB,YAAA,mBAAmB,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACnE,SAAA;KACF;AAiBD,IAAA,WAAA,CACmB,OAAe,EACf,IAAuB,EACvB,WAAuB,EAAA;QAFvB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;QACf,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;QACvB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAlElC,IAAY,CAAA,YAAA,GAAW,CAAC,CAAA;QACxB,IAAqB,CAAA,qBAAA,GAA4B,IAAI,CAAA;QAmC7D,IAAW,CAAA,WAAA,GAAY,KAAK,CAAA;AAa5B,QAAA,IAAA,CAAA,iBAAiB,GAAG;AAClB,YAAA,SAAS,EAAE;AACT,gBAAA,aAAa,EAAE,MAAM,IAAI,CAAC,yBAAyB,EAAE;;;AAGrD,gBAAA,yBAAyB,EAAE,MAAM,IAAI,CAAC,4BAA4B,EAAE;AACpE,gBAAA,WAAW,EAAE,MAAM,IAAI,CAAC,4BAA4B,EAAE;AACvD,aAAA;SACF,CAAA;QAED,IAAiB,CAAA,iBAAA,GAAY,KAAK,CAAA;QAClC,IAAgB,CAAA,gBAAA,GAAW,MAAM,CAAA;QACjC,IAAiB,CAAA,iBAAA,GAAW,MAAM,CAAA;AAsB1B,QAAA,IAAA,CAAA,sBAAsB,GAAG,CAAC,CAAM,KAAI;AAC1C,YAAA,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAA2B,CAAA;AAC/C,YAAA,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE;gBACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;AAC5E,aAAA;AACH,SAAC,CAAA;AAEO,QAAA,IAAA,CAAA,4BAA4B,GAAG,CAAC,OAAqC,KAAU;AACrF,YAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAA;AAC1D,YAAA,IAAI,mBAAmB,EAAE;gBACvB,mBAAmB,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAA,EAAA,CAAI,CAAA;AACzD,aAAA;AACH,SAAC,CAAA;QA3BC,IAAI,CAAC,wBAAwB,GAAG;YAC9B,CAAC,mBAAmB,CAAC,OAAO,GAAG,SAAS;AACxC,YAAA,CAAC,mBAAmB,CAAC,SAAS,GAAG,IAAI,CAAC,4BAA4B;SACnE,CAAA;KACF;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAA;KACtG;IAED,WAAW,GAAA;QACT,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAA;QAClE,IAAI,CAAC,4BAA4B,EAAE,CAAA;KACpC;IAgBO,UAAU,GAAA;AAChB,QAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAA;AAC1D,QAAA,IAAI,mBAAmB,EAAE;YACvB,mBAAmB,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;AAC1C,SAAA;KACF;AAEM,IAAA,WAAW,CAAC,GAA8B,EAAA;AAC/C,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAA;QAEnB,IAAI,IAAI,GAAG,GAAG,CAAA;AACd,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAA;QACpD,IAAI,aAAa,IAAI,IAAI,EAAE;AACzB,YAAA,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE;AAC3B,gBAAA,MAAM,OAAO,GAA8C,EAAE,IAAI,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;gBACpH,IAAI;oBAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAAE,iBAAA;gBAAC,MAAM;AAAE,oBAAA,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;AAAE,iBAAA;AAC3E,gBAAA,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;AAC/B,aAAA;AAED,YAAA,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AACrC,SAAA;KACF;IAEM,MAAM,GAAA;QACX,IAAI,CAAC,UAAU,EAAE,CAAA;KAClB;AAED,IAAA,UAAU,CAAC,KAAwC,EAAA;;;QAGjD,IAAI,CAAC,MAAM,EAAE,CAAA;KACd;IAEO,uBAAuB,GAAA;QAC7B,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,KAAK,IAAI,CAAA;KACvD;IAEO,uBAAuB,GAAA;QAC7B,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,EAAE,aAAa,KAAK,IAAI,CAAA;KACtE;AAED;;;;;;AAMG;IACK,yBAAyB,GAAA;AAC/B,QAAA,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE;YACvC,OAAM;AACP,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAK;AAClC,YAAA,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,MAAK;AACzC,gBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAK;AACpB,oBAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE,EAAE;wBACnC,IAAI,CAAC,iBAAiB,EAAE,CAAA;AACzB,qBAAA;AAAM,yBAAA;wBACL,IAAI,CAAC,kBAAkB,EAAE,CAAA;AAC1B,qBAAA;AACH,iBAAC,CAAC,CAAA;AACJ,aAAC,CAAC,CAAA;YAEF,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;AAC/C,gBAAA,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,CAAE,OAAO,CAAE;AAC5B,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,aAAa,EAAE,KAAK;AACrB,aAAA,CAAC,CAAA;AAEF,YAAA,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAA;AACvC,SAAC,CAAC,CAAA;KACH;IAEO,4BAA4B,GAAA;AAClC,QAAA,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE;YACvC,OAAM;AACP,SAAA;AAED,QAAA,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAA;AACvC,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAA;KAClC;AAED;;;;;;;;;AASG;IACK,iBAAiB,GAAA;AACvB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;AAE7B,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAA;AACpD,QAAA,IAAI,aAAa,EAAE;AACjB,YAAA,MAAM,IAAI,GAAG,aAAa,CAAC,qBAAqB,EAAE,CAAA;YAClD,IAAI,CAAC,gBAAgB,GAAG,CAAA,EAAG,IAAI,CAAC,KAAK,IAAI,CAAA;YACzC,IAAI,CAAC,iBAAiB,GAAG,CAAA,EAAG,IAAI,CAAC,MAAM,IAAI,CAAA;AAC5C,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAA;AAC9B,YAAA,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAA;AAChC,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAA;KAC1B;IAEO,kBAAkB,GAAA;AACxB,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAA;KAC1B;IAEO,wBAAwB,GAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,6BAA6B,CAAC,KAAK,IAAI,CAAA;KAC5F;;+HA7NU,kCAAkC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlC,kCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kCAAkC,8RCzB/C,weAYA,EAAA,MAAA,EAAA,CAAA,mGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;AD8CE,UAAA,CAAA;AADU,IAAA,YAAY,EAAE;AAQvB,CAAA,EAAA,kCAAA,CAAA,SAAA,EAAA,YAAA,EAAA,IAAA,CAAA,CAAA;2FAxCU,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAL9C,SAAS;+BACE,2BAA2B,EAAA,QAAA,EAAA,weAAA,EAAA,MAAA,EAAA,CAAA,mGAAA,CAAA,EAAA,CAAA;sJAcjC,GAAG,EAAA,CAAA;sBADN,KAAK;gBASF,WAAW,EAAA,CAAA;sBADd,KAAK;gBAWF,IAAI,EAAA,CAAA;sBADP,KAAK;gBAMF,UAAU,EAAA,CAAA;sBADb,KAAK;gBAaF,gBAAgB,EAAA,CAAA;sBADnB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;MEhDjC,+BAA+B,CAAA;;4HAA/B,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6HAA/B,+BAA+B,EAAA,YAAA,EAAA,CANxC,kCAAkC,CAAA,EAAA,OAAA,EAAA,CALlC,YAAY;QACZ,sBAAsB;AACtB,QAAA,mBAAmB,aAMnB,kCAAkC,CAAA,EAAA,CAAA,CAAA;AAGzB,+BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,YAXxC,YAAY;QACZ,sBAAsB;QACtB,mBAAmB,CAAA,EAAA,CAAA,CAAA;2FASV,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAb3C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,sBAAsB;wBACtB,mBAAmB;AACpB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,kCAAkC;AACnC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kCAAkC;AACnC,qBAAA;AACF,iBAAA,CAAA;;;ACpBD;;AAEG;;;;"}