@trudb/tru-common-lib 0.0.726 → 0.0.730

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 (404) hide show
  1. package/{esm2020 → esm2022}/lib/assets/tru-icon-module.mjs +32 -32
  2. package/{esm2020 → esm2022}/lib/assets/tru-search-icon-module.mjs +36 -36
  3. package/{esm2020 → esm2022}/lib/base-classes/tru-component-config-base.mjs +3 -3
  4. package/{esm2020 → esm2022}/lib/base-classes/tru-control-component-config-base.mjs +3 -3
  5. package/{esm2020 → esm2022}/lib/base-classes/tru-edit-control-base.mjs +17 -17
  6. package/esm2022/lib/base-classes/tru-edit-control-config-base.mjs +6 -0
  7. package/{esm2020 → esm2022}/lib/base-classes/tru-edit-parent-control-config-base.mjs +3 -3
  8. package/{esm2020 → esm2022}/lib/base-classes/tru-edit-pkey-control-config-base.mjs +3 -3
  9. package/esm2022/lib/base-classes/tru-entity-base.mjs +14 -0
  10. package/esm2022/lib/base-classes/tru-list-control-config-base.mjs +6 -0
  11. package/{esm2020 → esm2022}/lib/base-classes/tru-property-config-base.mjs +14 -15
  12. package/{esm2020 → esm2022}/lib/base-classes/tru-search-config-base.mjs +3 -3
  13. package/esm2022/lib/base-classes/tru-search-control-base.mjs +45 -0
  14. package/esm2022/lib/base-classes/tru-search-control-config-base.mjs +5 -0
  15. package/esm2022/lib/base-classes/tru-search-control-range-base.mjs +45 -0
  16. package/esm2022/lib/base-classes/tru-table-config-base.mjs +12 -0
  17. package/{esm2020 → esm2022}/lib/base-views/detail/tru-detail-view-base-module.mjs +19 -19
  18. package/esm2022/lib/base-views/detail/tru-detail-view-base.mjs +83 -0
  19. package/esm2022/lib/base-views/search/services/tru-search-view-control-event-handler.mjs +25 -0
  20. package/esm2022/lib/base-views/search/services/tru-search-view-event-handler.mjs +25 -0
  21. package/{esm2020 → esm2022}/lib/base-views/search/tru-search-view-base-module.mjs +19 -19
  22. package/esm2022/lib/base-views/search/tru-search-view-base.mjs +68 -0
  23. package/{esm2020 → esm2022}/lib/base-views/search-result/tru-search-result-view-base-module.mjs +19 -19
  24. package/esm2022/lib/base-views/search-result/tru-search-result-view-base.mjs +54 -0
  25. package/{esm2020 → esm2022}/lib/classes/tru-choice.mjs +2 -2
  26. package/esm2022/lib/classes/tru-context-filter-choice.mjs +11 -0
  27. package/esm2022/lib/classes/tru-context-filter.mjs +16 -0
  28. package/esm2022/lib/classes/tru-data-change-parser.mjs +287 -0
  29. package/esm2022/lib/classes/tru-data-change.mjs +5 -0
  30. package/{esm2020 → esm2022}/lib/classes/tru-formula-eval.mjs +156 -156
  31. package/esm2022/lib/classes/tru-merge-data-set.mjs +11 -0
  32. package/esm2022/lib/classes/tru-merge-data.mjs +20 -0
  33. package/{esm2020 → esm2022}/lib/classes/tru-name-value.mjs +2 -2
  34. package/esm2022/lib/classes/tru-predicate.mjs +47 -0
  35. package/{esm2020 → esm2022}/lib/classes/tru-property-config-cloud-file.mjs +4 -4
  36. package/esm2022/lib/classes/tru-property-config-date.mjs +7 -0
  37. package/esm2022/lib/classes/tru-property-config-decimal.mjs +9 -0
  38. package/{esm2020 → esm2022}/lib/classes/tru-property-config-file.mjs +6 -8
  39. package/esm2022/lib/classes/tru-property-config-foreign-key.mjs +8 -0
  40. package/esm2022/lib/classes/tru-property-config-integer.mjs +7 -0
  41. package/esm2022/lib/classes/tru-property-config-password.mjs +6 -0
  42. package/esm2022/lib/classes/tru-property-config-percentage.mjs +7 -0
  43. package/esm2022/lib/classes/tru-property-config-scientific.mjs +7 -0
  44. package/{esm2020 → esm2022}/lib/classes/tru-property-config-text-choices.mjs +6 -8
  45. package/{esm2020 → esm2022}/lib/classes/tru-property-config-text.mjs +8 -10
  46. package/{esm2020 → esm2022}/lib/classes/tru-property-config-usa-address.mjs +6 -8
  47. package/{esm2020 → esm2022}/lib/classes/tru-property-config-zip-code.mjs +6 -8
  48. package/esm2022/lib/classes/tru-query-predicate-manager.mjs +49 -0
  49. package/{esm2020 → esm2022}/lib/components/confirm-dialog/tru-confirm-dialog-module.mjs +20 -20
  50. package/esm2022/lib/components/confirm-dialog/tru-confirm-dialog.mjs +59 -0
  51. package/{esm2020 → esm2022}/lib/components/data-grid/classes/tru-data-grid-config.mjs +1 -1
  52. package/{esm2020 → esm2022}/lib/components/data-grid/enums/tru-data-grid-types.mjs +6 -6
  53. package/esm2022/lib/components/data-grid/overlays/tru-data-grid-loading-overlay/tru-data-grid-loading-overlay.mjs +40 -0
  54. package/esm2022/lib/components/data-grid/overlays/tru-data-grid-no-rows-overlay/tru-data-grid-no-rows-overlay.mjs +27 -0
  55. package/esm2022/lib/components/data-grid/tru-data-grid-module.mjs +67 -0
  56. package/esm2022/lib/components/data-grid/tru-data-grid.mjs +382 -0
  57. package/{esm2020 → esm2022}/lib/components/desktop/classes/tru-desktop-title.mjs +2 -2
  58. package/esm2022/lib/components/desktop/classes/tru-desktop-view-config.mjs +21 -0
  59. package/{esm2020 → esm2022}/lib/components/desktop/directives/resizable/tru-desktop-resizable-module.mjs +19 -19
  60. package/esm2022/lib/components/desktop/directives/resizable/tru-desktop-resizable.mjs +122 -0
  61. package/{esm2020 → esm2022}/lib/components/desktop/menubar/tru-desktop-menubar-module.mjs +56 -56
  62. package/esm2022/lib/components/desktop/menubar/tru-desktop-menubar.mjs +36 -0
  63. package/esm2022/lib/components/desktop/services/tru-desktop-manager.mjs +86 -0
  64. package/esm2022/lib/components/desktop/services/tru-desktop-service.mjs +108 -0
  65. package/esm2022/lib/components/desktop/services/tru-window-action-event-handler.mjs +25 -0
  66. package/esm2022/lib/components/desktop/services/tru-window-event-args.mjs +24 -0
  67. package/esm2022/lib/components/desktop/services/tru-window-event-handler.mjs +42 -0
  68. package/{esm2020 → esm2022}/lib/components/desktop/statusbar/tru-desktop-statusbar-module.mjs +19 -19
  69. package/esm2022/lib/components/desktop/statusbar/tru-desktop-statusbar.mjs +20 -0
  70. package/{esm2020 → esm2022}/lib/components/desktop/taskbar/tru-desktop-taskbar-module.mjs +21 -21
  71. package/esm2022/lib/components/desktop/taskbar/tru-desktop-taskbar.mjs +41 -0
  72. package/{esm2020 → esm2022}/lib/components/desktop/tru-desktop-module.mjs +72 -72
  73. package/esm2022/lib/components/desktop/tru-desktop.mjs +737 -0
  74. package/{esm2020 → esm2022}/lib/components/desktop/view/tru-desktop-view-module.mjs +19 -19
  75. package/esm2022/lib/components/desktop/view/tru-desktop-view.mjs +29 -0
  76. package/{esm2020 → esm2022}/lib/components/desktop/viewport/tru-desktop-viewport-module.mjs +20 -20
  77. package/esm2022/lib/components/desktop/viewport/tru-desktop-viewport.mjs +117 -0
  78. package/{esm2020 → esm2022}/lib/components/desktop/window/tru-desktop-window-module.mjs +58 -58
  79. package/esm2022/lib/components/desktop/window/tru-desktop-window.mjs +467 -0
  80. package/{esm2020 → esm2022}/lib/components/export-dialog/tru-export-dialog-module.mjs +20 -20
  81. package/esm2022/lib/components/export-dialog/tru-export-dialog.mjs +61 -0
  82. package/{esm2020 → esm2022}/lib/components/layout/column/tru-column-module.mjs +19 -19
  83. package/{esm2020 → esm2022}/lib/components/layout/column/tru-column.mjs +12 -12
  84. package/{esm2020 → esm2022}/lib/components/layout/form/tru-form-module.mjs +19 -19
  85. package/esm2022/lib/components/layout/form/tru-form.mjs +35 -0
  86. package/{esm2020 → esm2022}/lib/components/layout/group-box/tru-group-box-module.mjs +19 -19
  87. package/{esm2020 → esm2022}/lib/components/layout/group-box/tru-group-box.mjs +12 -12
  88. package/{esm2020 → esm2022}/lib/components/layout/row/tru-row-module.mjs +19 -19
  89. package/{esm2020 → esm2022}/lib/components/layout/row/tru-row.mjs +12 -12
  90. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-config.mjs +7 -7
  91. package/esm2022/lib/components/login/classes/tru-auth-jwt-strategy.mjs +63 -0
  92. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-login-request.mjs +5 -3
  93. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-logout-request.mjs +4 -3
  94. package/esm2022/lib/components/login/classes/tru-auth-session-strategy.mjs +21 -0
  95. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-strategy-provider.mjs +19 -19
  96. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-token.mjs +11 -8
  97. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-user-request.mjs +4 -3
  98. package/esm2022/lib/components/login/services/tru-auth-cache.mjs +20 -0
  99. package/esm2022/lib/components/login/services/tru-auth-interceptor.mjs +46 -0
  100. package/esm2022/lib/components/login/services/tru-auth.mjs +87 -0
  101. package/esm2022/lib/components/login/tru-login-module.mjs +46 -0
  102. package/esm2022/lib/components/login/tru-login.mjs +59 -0
  103. package/{esm2020 → esm2022}/lib/components/password-dialog/tru-password-dialog-module.mjs +20 -20
  104. package/esm2022/lib/components/password-dialog/tru-password-dialog.mjs +59 -0
  105. package/{esm2020 → esm2022}/lib/components/toolbar/button/tru-toolbar-button-module.mjs +32 -32
  106. package/esm2022/lib/components/toolbar/button/tru-toolbar-button.mjs +40 -0
  107. package/{esm2020 → esm2022}/lib/components/toolbar/classes/tru-toolbar-dropdown-option.mjs +1 -1
  108. package/{esm2020 → esm2022}/lib/components/toolbar/context-filter/tru-toolbar-context-filter-module.mjs +44 -44
  109. package/esm2022/lib/components/toolbar/context-filter/tru-toolbar-context-filter.mjs +26 -0
  110. package/{esm2020 → esm2022}/lib/components/toolbar/dropdown/tru-toolbar-dropdown-module.mjs +36 -36
  111. package/esm2022/lib/components/toolbar/dropdown/tru-toolbar-dropdown.mjs +45 -0
  112. package/{esm2020 → esm2022}/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button-module.mjs +19 -19
  113. package/esm2022/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button.mjs +17 -0
  114. package/{esm2020 → esm2022}/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item-module.mjs +19 -19
  115. package/esm2022/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item.mjs +26 -0
  116. package/{esm2020 → esm2022}/lib/components/toolbar/menu/tru-toolbar-menu-module.mjs +32 -32
  117. package/esm2022/lib/components/toolbar/menu/tru-toolbar-menu.mjs +33 -0
  118. package/{esm2020 → esm2022}/lib/components/toolbar/separator/tru-toolbar-separator-module.mjs +19 -19
  119. package/{esm2020 → esm2022}/lib/components/toolbar/separator/tru-toolbar-separator.mjs +12 -12
  120. package/{esm2020 → esm2022}/lib/components/toolbar/text/tru-toolbar-text-module.mjs +32 -32
  121. package/esm2022/lib/components/toolbar/text/tru-toolbar-text.mjs +27 -0
  122. package/{esm2020 → esm2022}/lib/components/toolbar/tru-toolbar-module.mjs +73 -73
  123. package/{esm2020 → esm2022}/lib/components/toolbar/tru-toolbar.mjs +20 -21
  124. package/{esm2020 → esm2022}/lib/components/toolbar/user-profile/tru-toolbar-user-profile-module.mjs +36 -36
  125. package/esm2022/lib/components/toolbar/user-profile/tru-toolbar-user-profile.mjs +38 -0
  126. package/esm2022/lib/components/validation-dialog/tru-validation-dialog-config.mjs +25 -0
  127. package/{esm2020 → esm2022}/lib/components/validation-dialog/tru-validation-dialog-module.mjs +19 -19
  128. package/esm2022/lib/components/validation-dialog/tru-validation-dialog.mjs +83 -0
  129. package/{esm2020 → esm2022}/lib/directives/breeze-validator/tru-breeze-validator-module.mjs +19 -19
  130. package/esm2022/lib/directives/breeze-validator/tru-breeze-validator.mjs +107 -0
  131. package/{esm2020 → esm2022}/lib/directives/search-panel-position-manager/tru-search-panel-position-manager-module.mjs +19 -19
  132. package/esm2022/lib/directives/search-panel-position-manager/tru-search-panel-position-manager.mjs +155 -0
  133. package/{esm2020 → esm2022}/lib/directives/select-panel/tru-mat-select-panel-module.mjs +19 -19
  134. package/esm2022/lib/directives/select-panel/tru-mat-select-panel.mjs +69 -0
  135. package/{esm2020 → esm2022}/lib/interfaces/tru-value.mjs +1 -1
  136. package/{esm2020 → esm2022}/lib/material.module.mjs +192 -192
  137. package/esm2022/lib/services/tru-app-environment.mjs +113 -0
  138. package/esm2022/lib/services/tru-breeze-context-factory.mjs +84 -0
  139. package/esm2022/lib/services/tru-breeze-metadata-provider.mjs +21 -0
  140. package/esm2022/lib/services/tru-component-lookup.mjs +23 -0
  141. package/esm2022/lib/services/tru-connection-hub.mjs +52 -0
  142. package/esm2022/lib/services/tru-context-filters.mjs +28 -0
  143. package/esm2022/lib/services/tru-data-context.mjs +263 -0
  144. package/esm2022/lib/services/tru-entity-accessor.mjs +292 -0
  145. package/esm2022/lib/services/tru-model-property-lookup.mjs +21 -0
  146. package/{esm2020 → esm2022}/lib/services/tru-predicate-map.mjs +11 -11
  147. package/esm2022/lib/services/tru-search-result-view-manager.mjs +18 -0
  148. package/esm2022/lib/services/tru-sort.mjs +113 -0
  149. package/esm2022/lib/services/tru-table-registry.mjs +15 -0
  150. package/esm2022/lib/services/tru-text-manager.mjs +148 -0
  151. package/esm2022/lib/services/tru-ui-notification.mjs +107 -0
  152. package/esm2022/lib/services/tru-user.mjs +62 -0
  153. package/esm2022/lib/services/tru-util.mjs +76 -0
  154. package/{esm2020 → esm2022}/lib/tru-common-module.mjs +16 -16
  155. package/{esm2020 → esm2022}/public-api.mjs +144 -144
  156. package/{esm2020 → esm2022}/trudb-tru-common-lib.mjs +4 -4
  157. package/fesm2022/trudb-tru-common-lib.mjs +6937 -0
  158. package/fesm2022/trudb-tru-common-lib.mjs.map +1 -0
  159. package/index.d.ts +5 -5
  160. package/lib/assets/tru-icon-module.d.ts +11 -11
  161. package/lib/assets/tru-search-icon-module.d.ts +11 -11
  162. package/lib/base-classes/tru-component-config-base.d.ts +3 -3
  163. package/lib/base-classes/tru-control-component-config-base.d.ts +20 -20
  164. package/lib/base-classes/tru-edit-control-base.d.ts +10 -10
  165. package/lib/base-classes/tru-edit-control-config-base.d.ts +21 -21
  166. package/lib/base-classes/tru-edit-parent-control-config-base.d.ts +9 -9
  167. package/lib/base-classes/tru-edit-pkey-control-config-base.d.ts +11 -11
  168. package/lib/base-classes/tru-entity-base.d.ts +14 -14
  169. package/lib/base-classes/tru-list-control-config-base.d.ts +21 -21
  170. package/lib/base-classes/tru-property-config-base.d.ts +13 -13
  171. package/lib/base-classes/tru-search-config-base.d.ts +9 -9
  172. package/lib/base-classes/tru-search-control-base.d.ts +21 -21
  173. package/lib/base-classes/tru-search-control-config-base.d.ts +13 -13
  174. package/lib/base-classes/tru-search-control-range-base.d.ts +25 -25
  175. package/lib/base-classes/tru-table-config-base.d.ts +11 -11
  176. package/lib/base-views/detail/tru-detail-view-base-module.d.ts +9 -9
  177. package/lib/base-views/detail/tru-detail-view-base.d.ts +32 -32
  178. package/lib/base-views/search/services/tru-search-view-control-event-handler.d.ts +12 -12
  179. package/lib/base-views/search/services/tru-search-view-event-handler.d.ts +11 -11
  180. package/lib/base-views/search/tru-search-view-base-module.d.ts +9 -9
  181. package/lib/base-views/search/tru-search-view-base.d.ts +36 -36
  182. package/lib/base-views/search-result/tru-search-result-view-base-module.d.ts +9 -9
  183. package/lib/base-views/search-result/tru-search-result-view-base.d.ts +25 -25
  184. package/lib/classes/tru-choice.d.ts +8 -8
  185. package/lib/classes/tru-context-filter-choice.d.ts +6 -6
  186. package/lib/classes/tru-context-filter.d.ts +10 -10
  187. package/lib/classes/tru-data-change-parser.d.ts +33 -33
  188. package/lib/classes/tru-data-change.d.ts +4 -4
  189. package/lib/classes/tru-formula-eval.d.ts +31 -31
  190. package/lib/classes/tru-merge-data-set.d.ts +7 -7
  191. package/lib/classes/tru-merge-data.d.ts +9 -9
  192. package/lib/classes/tru-name-value.d.ts +9 -9
  193. package/lib/classes/tru-predicate.d.ts +8 -8
  194. package/lib/classes/tru-property-config-cloud-file.d.ts +4 -4
  195. package/lib/classes/tru-property-config-date.d.ts +6 -6
  196. package/lib/classes/tru-property-config-decimal.d.ts +8 -8
  197. package/lib/classes/tru-property-config-file.d.ts +5 -5
  198. package/lib/classes/tru-property-config-foreign-key.d.ts +7 -7
  199. package/lib/classes/tru-property-config-integer.d.ts +6 -6
  200. package/lib/classes/tru-property-config-password.d.ts +5 -5
  201. package/lib/classes/tru-property-config-percentage.d.ts +6 -6
  202. package/lib/classes/tru-property-config-scientific.d.ts +6 -6
  203. package/lib/classes/tru-property-config-text-choices.d.ts +5 -5
  204. package/lib/classes/tru-property-config-text.d.ts +7 -7
  205. package/lib/classes/tru-property-config-usa-address.d.ts +5 -5
  206. package/lib/classes/tru-property-config-zip-code.d.ts +5 -5
  207. package/lib/classes/tru-query-predicate-manager.d.ts +26 -26
  208. package/lib/components/confirm-dialog/tru-confirm-dialog-module.d.ts +10 -10
  209. package/lib/components/confirm-dialog/tru-confirm-dialog.d.ts +28 -28
  210. package/lib/components/data-grid/classes/tru-data-grid-config.d.ts +7 -7
  211. package/lib/components/data-grid/enums/tru-data-grid-types.d.ts +5 -5
  212. package/lib/components/data-grid/overlays/tru-data-grid-loading-overlay/tru-data-grid-loading-overlay.d.ts +13 -13
  213. package/lib/components/data-grid/overlays/tru-data-grid-no-rows-overlay/tru-data-grid-no-rows-overlay.d.ts +13 -13
  214. package/lib/components/data-grid/tru-data-grid-module.d.ts +15 -15
  215. package/lib/components/data-grid/tru-data-grid.d.ts +67 -67
  216. package/lib/components/desktop/classes/tru-desktop-title.d.ts +4 -4
  217. package/lib/components/desktop/classes/tru-desktop-view-config.d.ts +16 -16
  218. package/lib/components/desktop/directives/resizable/tru-desktop-resizable-module.d.ts +9 -9
  219. package/lib/components/desktop/directives/resizable/tru-desktop-resizable.d.ts +32 -32
  220. package/lib/components/desktop/menubar/tru-desktop-menubar-module.d.ts +17 -17
  221. package/lib/components/desktop/menubar/tru-desktop-menubar.d.ts +15 -15
  222. package/lib/components/desktop/services/tru-desktop-manager.d.ts +33 -33
  223. package/lib/components/desktop/services/tru-desktop-service.d.ts +95 -95
  224. package/lib/components/desktop/services/tru-window-action-event-handler.d.ts +12 -12
  225. package/lib/components/desktop/services/tru-window-event-args.d.ts +17 -17
  226. package/lib/components/desktop/services/tru-window-event-handler.d.ts +20 -20
  227. package/lib/components/desktop/statusbar/tru-desktop-statusbar-module.d.ts +9 -9
  228. package/lib/components/desktop/statusbar/tru-desktop-statusbar.d.ts +10 -10
  229. package/lib/components/desktop/taskbar/tru-desktop-taskbar-module.d.ts +11 -11
  230. package/lib/components/desktop/taskbar/tru-desktop-taskbar.d.ts +15 -15
  231. package/lib/components/desktop/tru-desktop-module.d.ts +20 -20
  232. package/lib/components/desktop/tru-desktop.d.ts +337 -337
  233. package/lib/components/desktop/view/tru-desktop-view-module.d.ts +9 -9
  234. package/lib/components/desktop/view/tru-desktop-view.d.ts +14 -14
  235. package/lib/components/desktop/viewport/tru-desktop-viewport-module.d.ts +10 -10
  236. package/lib/components/desktop/viewport/tru-desktop-viewport.d.ts +48 -48
  237. package/lib/components/desktop/window/tru-desktop-window-module.d.ts +17 -17
  238. package/lib/components/desktop/window/tru-desktop-window.d.ts +189 -189
  239. package/lib/components/export-dialog/tru-export-dialog-module.d.ts +10 -10
  240. package/lib/components/export-dialog/tru-export-dialog.d.ts +26 -26
  241. package/lib/components/layout/column/tru-column-module.d.ts +9 -9
  242. package/lib/components/layout/column/tru-column.d.ts +6 -6
  243. package/lib/components/layout/form/tru-form-module.d.ts +9 -9
  244. package/lib/components/layout/form/tru-form.d.ts +10 -10
  245. package/lib/components/layout/group-box/tru-group-box-module.d.ts +9 -9
  246. package/lib/components/layout/group-box/tru-group-box.d.ts +6 -6
  247. package/lib/components/layout/row/tru-row-module.d.ts +9 -9
  248. package/lib/components/layout/row/tru-row.d.ts +6 -6
  249. package/lib/components/login/classes/tru-auth-config.d.ts +16 -16
  250. package/lib/components/login/classes/tru-auth-jwt-strategy.d.ts +15 -15
  251. package/lib/components/login/classes/tru-auth-login-request.d.ts +4 -4
  252. package/lib/components/login/classes/tru-auth-logout-request.d.ts +3 -3
  253. package/lib/components/login/classes/tru-auth-session-strategy.d.ts +13 -13
  254. package/lib/components/login/classes/tru-auth-strategy-provider.d.ts +9 -9
  255. package/lib/components/login/classes/tru-auth-token.d.ts +6 -6
  256. package/lib/components/login/classes/tru-auth-user-request.d.ts +3 -3
  257. package/lib/components/login/services/tru-auth-cache.d.ts +11 -11
  258. package/lib/components/login/services/tru-auth-interceptor.d.ts +16 -16
  259. package/lib/components/login/services/tru-auth.d.ts +29 -29
  260. package/lib/components/login/tru-login-module.d.ts +11 -11
  261. package/lib/components/login/tru-login.d.ts +21 -21
  262. package/lib/components/password-dialog/tru-password-dialog-module.d.ts +10 -10
  263. package/lib/components/password-dialog/tru-password-dialog.d.ts +27 -24
  264. package/lib/components/toolbar/button/tru-toolbar-button-module.d.ts +11 -11
  265. package/lib/components/toolbar/button/tru-toolbar-button.d.ts +16 -16
  266. package/lib/components/toolbar/classes/tru-toolbar-dropdown-option.d.ts +4 -4
  267. package/lib/components/toolbar/context-filter/tru-toolbar-context-filter-module.d.ts +14 -14
  268. package/lib/components/toolbar/context-filter/tru-toolbar-context-filter.d.ts +13 -13
  269. package/lib/components/toolbar/dropdown/tru-toolbar-dropdown-module.d.ts +12 -12
  270. package/lib/components/toolbar/dropdown/tru-toolbar-dropdown.d.ts +18 -18
  271. package/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button-module.d.ts +9 -9
  272. package/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button.d.ts +7 -7
  273. package/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item-module.d.ts +9 -9
  274. package/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item.d.ts +8 -8
  275. package/lib/components/toolbar/menu/tru-toolbar-menu-module.d.ts +11 -11
  276. package/lib/components/toolbar/menu/tru-toolbar-menu.d.ts +10 -10
  277. package/lib/components/toolbar/separator/tru-toolbar-separator-module.d.ts +9 -9
  278. package/lib/components/toolbar/separator/tru-toolbar-separator.d.ts +6 -6
  279. package/lib/components/toolbar/text/tru-toolbar-text-module.d.ts +11 -11
  280. package/lib/components/toolbar/text/tru-toolbar-text.d.ts +12 -12
  281. package/lib/components/toolbar/tru-toolbar-module.d.ts +16 -16
  282. package/lib/components/toolbar/tru-toolbar.d.ts +9 -9
  283. package/lib/components/toolbar/user-profile/tru-toolbar-user-profile-module.d.ts +12 -12
  284. package/lib/components/toolbar/user-profile/tru-toolbar-user-profile.d.ts +17 -17
  285. package/lib/components/validation-dialog/tru-validation-dialog-config.d.ts +13 -13
  286. package/lib/components/validation-dialog/tru-validation-dialog-module.d.ts +9 -9
  287. package/lib/components/validation-dialog/tru-validation-dialog.d.ts +20 -20
  288. package/lib/directives/breeze-validator/tru-breeze-validator-module.d.ts +9 -9
  289. package/lib/directives/breeze-validator/tru-breeze-validator.d.ts +27 -27
  290. package/lib/directives/search-panel-position-manager/tru-search-panel-position-manager-module.d.ts +9 -9
  291. package/lib/directives/search-panel-position-manager/tru-search-panel-position-manager.d.ts +40 -40
  292. package/lib/directives/select-panel/tru-mat-select-panel-module.d.ts +9 -9
  293. package/lib/directives/select-panel/tru-mat-select-panel.d.ts +17 -17
  294. package/lib/interfaces/tru-value.d.ts +6 -6
  295. package/lib/material.module.d.ts +50 -50
  296. package/lib/services/tru-app-environment.d.ts +57 -57
  297. package/lib/services/tru-breeze-context-factory.d.ts +32 -32
  298. package/lib/services/tru-breeze-metadata-provider.d.ts +9 -9
  299. package/lib/services/tru-component-lookup.d.ts +9 -9
  300. package/lib/services/tru-connection-hub.d.ts +18 -18
  301. package/lib/services/tru-context-filters.d.ts +10 -10
  302. package/lib/services/tru-data-context.d.ts +42 -42
  303. package/lib/services/tru-entity-accessor.d.ts +46 -46
  304. package/lib/services/tru-model-property-lookup.d.ts +10 -10
  305. package/lib/services/tru-predicate-map.d.ts +6 -6
  306. package/lib/services/tru-search-result-view-manager.d.ts +10 -10
  307. package/lib/services/tru-sort.d.ts +56 -56
  308. package/lib/services/tru-table-registry.d.ts +8 -8
  309. package/lib/services/tru-text-manager.d.ts +68 -68
  310. package/lib/services/tru-ui-notification.d.ts +36 -36
  311. package/lib/services/tru-user.d.ts +29 -29
  312. package/lib/services/tru-util.d.ts +14 -14
  313. package/lib/tru-common-module.d.ts +6 -6
  314. package/package.json +5 -11
  315. package/public-api.d.ts +117 -117
  316. package/esm2020/lib/base-classes/tru-edit-control-config-base.mjs +0 -4
  317. package/esm2020/lib/base-classes/tru-entity-base.mjs +0 -13
  318. package/esm2020/lib/base-classes/tru-list-control-config-base.mjs +0 -4
  319. package/esm2020/lib/base-classes/tru-search-control-base.mjs +0 -47
  320. package/esm2020/lib/base-classes/tru-search-control-config-base.mjs +0 -4
  321. package/esm2020/lib/base-classes/tru-search-control-range-base.mjs +0 -47
  322. package/esm2020/lib/base-classes/tru-table-config-base.mjs +0 -13
  323. package/esm2020/lib/base-views/detail/tru-detail-view-base.mjs +0 -76
  324. package/esm2020/lib/base-views/search/services/tru-search-view-control-event-handler.mjs +0 -27
  325. package/esm2020/lib/base-views/search/services/tru-search-view-event-handler.mjs +0 -27
  326. package/esm2020/lib/base-views/search/tru-search-view-base.mjs +0 -63
  327. package/esm2020/lib/base-views/search-result/tru-search-result-view-base.mjs +0 -51
  328. package/esm2020/lib/classes/tru-context-filter-choice.mjs +0 -8
  329. package/esm2020/lib/classes/tru-context-filter.mjs +0 -16
  330. package/esm2020/lib/classes/tru-data-change-parser.mjs +0 -277
  331. package/esm2020/lib/classes/tru-data-change.mjs +0 -7
  332. package/esm2020/lib/classes/tru-merge-data-set.mjs +0 -12
  333. package/esm2020/lib/classes/tru-merge-data.mjs +0 -17
  334. package/esm2020/lib/classes/tru-predicate.mjs +0 -47
  335. package/esm2020/lib/classes/tru-property-config-date.mjs +0 -9
  336. package/esm2020/lib/classes/tru-property-config-decimal.mjs +0 -11
  337. package/esm2020/lib/classes/tru-property-config-foreign-key.mjs +0 -10
  338. package/esm2020/lib/classes/tru-property-config-integer.mjs +0 -9
  339. package/esm2020/lib/classes/tru-property-config-password.mjs +0 -8
  340. package/esm2020/lib/classes/tru-property-config-percentage.mjs +0 -9
  341. package/esm2020/lib/classes/tru-property-config-scientific.mjs +0 -9
  342. package/esm2020/lib/classes/tru-query-predicate-manager.mjs +0 -49
  343. package/esm2020/lib/components/confirm-dialog/tru-confirm-dialog.mjs +0 -45
  344. package/esm2020/lib/components/data-grid/overlays/tru-data-grid-loading-overlay/tru-data-grid-loading-overlay.mjs +0 -39
  345. package/esm2020/lib/components/data-grid/overlays/tru-data-grid-no-rows-overlay/tru-data-grid-no-rows-overlay.mjs +0 -26
  346. package/esm2020/lib/components/data-grid/tru-data-grid-module.mjs +0 -67
  347. package/esm2020/lib/components/data-grid/tru-data-grid.mjs +0 -370
  348. package/esm2020/lib/components/desktop/classes/tru-desktop-view-config.mjs +0 -21
  349. package/esm2020/lib/components/desktop/directives/resizable/tru-desktop-resizable.mjs +0 -109
  350. package/esm2020/lib/components/desktop/menubar/tru-desktop-menubar.mjs +0 -34
  351. package/esm2020/lib/components/desktop/services/tru-desktop-manager.mjs +0 -84
  352. package/esm2020/lib/components/desktop/services/tru-desktop-service.mjs +0 -116
  353. package/esm2020/lib/components/desktop/services/tru-window-action-event-handler.mjs +0 -27
  354. package/esm2020/lib/components/desktop/services/tru-window-event-args.mjs +0 -26
  355. package/esm2020/lib/components/desktop/services/tru-window-event-handler.mjs +0 -44
  356. package/esm2020/lib/components/desktop/statusbar/tru-desktop-statusbar.mjs +0 -18
  357. package/esm2020/lib/components/desktop/taskbar/tru-desktop-taskbar.mjs +0 -40
  358. package/esm2020/lib/components/desktop/tru-desktop.mjs +0 -731
  359. package/esm2020/lib/components/desktop/view/tru-desktop-view.mjs +0 -25
  360. package/esm2020/lib/components/desktop/viewport/tru-desktop-viewport.mjs +0 -113
  361. package/esm2020/lib/components/desktop/window/tru-desktop-window.mjs +0 -457
  362. package/esm2020/lib/components/export-dialog/tru-export-dialog.mjs +0 -57
  363. package/esm2020/lib/components/layout/form/tru-form.mjs +0 -34
  364. package/esm2020/lib/components/login/classes/tru-auth-jwt-strategy.mjs +0 -65
  365. package/esm2020/lib/components/login/classes/tru-auth-session-strategy.mjs +0 -19
  366. package/esm2020/lib/components/login/services/tru-auth-cache.mjs +0 -22
  367. package/esm2020/lib/components/login/services/tru-auth-interceptor.mjs +0 -43
  368. package/esm2020/lib/components/login/services/tru-auth.mjs +0 -81
  369. package/esm2020/lib/components/login/tru-login-module.mjs +0 -46
  370. package/esm2020/lib/components/login/tru-login.mjs +0 -58
  371. package/esm2020/lib/components/password-dialog/tru-password-dialog.mjs +0 -48
  372. package/esm2020/lib/components/toolbar/button/tru-toolbar-button.mjs +0 -41
  373. package/esm2020/lib/components/toolbar/context-filter/tru-toolbar-context-filter.mjs +0 -24
  374. package/esm2020/lib/components/toolbar/dropdown/tru-toolbar-dropdown.mjs +0 -43
  375. package/esm2020/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button.mjs +0 -16
  376. package/esm2020/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item.mjs +0 -26
  377. package/esm2020/lib/components/toolbar/menu/tru-toolbar-menu.mjs +0 -33
  378. package/esm2020/lib/components/toolbar/text/tru-toolbar-text.mjs +0 -28
  379. package/esm2020/lib/components/toolbar/user-profile/tru-toolbar-user-profile.mjs +0 -35
  380. package/esm2020/lib/components/validation-dialog/tru-validation-dialog-config.mjs +0 -21
  381. package/esm2020/lib/components/validation-dialog/tru-validation-dialog.mjs +0 -79
  382. package/esm2020/lib/directives/breeze-validator/tru-breeze-validator.mjs +0 -100
  383. package/esm2020/lib/directives/search-panel-position-manager/tru-search-panel-position-manager.mjs +0 -151
  384. package/esm2020/lib/directives/select-panel/tru-mat-select-panel.mjs +0 -66
  385. package/esm2020/lib/services/tru-app-environment.mjs +0 -94
  386. package/esm2020/lib/services/tru-breeze-context-factory.mjs +0 -79
  387. package/esm2020/lib/services/tru-breeze-metadata-provider.mjs +0 -22
  388. package/esm2020/lib/services/tru-component-lookup.mjs +0 -25
  389. package/esm2020/lib/services/tru-connection-hub.mjs +0 -48
  390. package/esm2020/lib/services/tru-context-filters.mjs +0 -29
  391. package/esm2020/lib/services/tru-data-context.mjs +0 -258
  392. package/esm2020/lib/services/tru-entity-accessor.mjs +0 -287
  393. package/esm2020/lib/services/tru-model-property-lookup.mjs +0 -22
  394. package/esm2020/lib/services/tru-search-result-view-manager.mjs +0 -17
  395. package/esm2020/lib/services/tru-sort.mjs +0 -114
  396. package/esm2020/lib/services/tru-table-registry.mjs +0 -16
  397. package/esm2020/lib/services/tru-text-manager.mjs +0 -134
  398. package/esm2020/lib/services/tru-ui-notification.mjs +0 -103
  399. package/esm2020/lib/services/tru-user.mjs +0 -63
  400. package/esm2020/lib/services/tru-util.mjs +0 -77
  401. package/fesm2015/trudb-tru-common-lib.mjs +0 -6803
  402. package/fesm2015/trudb-tru-common-lib.mjs.map +0 -1
  403. package/fesm2020/trudb-tru-common-lib.mjs +0 -6780
  404. package/fesm2020/trudb-tru-common-lib.mjs.map +0 -1
@@ -0,0 +1,155 @@
1
+ import { Directive, Input } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class TruSearchPanelPositionManager {
4
+ el;
5
+ renderer;
6
+ config = { size: 300 };
7
+ searchViewPortal = null;
8
+ tab = null;
9
+ dropZones = [];
10
+ dragHandles = [];
11
+ currentWidth = 0;
12
+ currentMinWidth = 0;
13
+ mouseOffsetX = 0;
14
+ lastMouseX = 0;
15
+ dragHandle = null;
16
+ listeners = [];
17
+ mousemoveListener;
18
+ mouseupListener;
19
+ constructor(el, renderer) {
20
+ this.el = el;
21
+ this.renderer = renderer;
22
+ }
23
+ ngAfterViewInit() {
24
+ this.searchViewPortal = this.el.nativeElement.closest('.search-container');
25
+ this.tab = this.el.nativeElement.querySelectorAll('.search-panel-tab')[0];
26
+ this.dropZones = this.searchViewPortal?.querySelectorAll('.search-panel-dropzone');
27
+ this.dragHandles = this.el.nativeElement.querySelectorAll('.search-panel-resizable-handle');
28
+ this.addTabEventListeners();
29
+ this.addDropzoneEventListeners();
30
+ this.addDragHandleEventListeners();
31
+ }
32
+ addTabEventListeners = () => {
33
+ this.listeners.push(this.renderer.listen(this.tab, 'dragstart', this.dragStart));
34
+ this.listeners.push(this.renderer.listen(this.tab, 'dragend', this.dragEnd));
35
+ };
36
+ addDropzoneEventListeners = () => {
37
+ this.dropZones.forEach((dropZone) => {
38
+ this.listeners.push(this.renderer.listen(dropZone, 'dragover', this.dragOver));
39
+ this.listeners.push(this.renderer.listen(dropZone, 'dragleave', this.dragLeave));
40
+ this.listeners.push(this.renderer.listen(dropZone, 'drop', this.drop));
41
+ });
42
+ };
43
+ addDragHandleEventListeners = () => {
44
+ this.dragHandles.forEach((dropHandle) => {
45
+ this.listeners.push(this.renderer.listen(dropHandle, 'mousedown', this.mousedown));
46
+ });
47
+ };
48
+ addPointerEvents = () => {
49
+ this.dropZones.forEach((dropZone) => {
50
+ dropZone.style.pointerEvents = 'all';
51
+ });
52
+ };
53
+ removePointerEvents = () => {
54
+ this.dropZones.forEach((dropZone) => {
55
+ dropZone.style.pointerEvents = 'none';
56
+ });
57
+ };
58
+ addMouseoverDropzoneStyles = (event) => {
59
+ event.target.classList.add('mouseover');
60
+ };
61
+ removeMouseoverDropzoneStyles = (event) => {
62
+ for (var i = 0; i < this.dropZones.length; i++) {
63
+ if (event.target !== this.dropZones[i])
64
+ this.dropZones[i].classList.remove('mouseover');
65
+ }
66
+ };
67
+ dragStart = (event) => {
68
+ this.addPointerEvents();
69
+ };
70
+ dragEnd = (event) => {
71
+ this.removePointerEvents();
72
+ this.removeMouseoverDropzoneStyles(event);
73
+ };
74
+ dragOver = (event) => {
75
+ event.preventDefault();
76
+ this.addMouseoverDropzoneStyles(event);
77
+ };
78
+ dragLeave = (event) => {
79
+ event.target.classList.remove('mouseover');
80
+ };
81
+ drop = (event) => {
82
+ if (event.target.classList.contains('left')) {
83
+ this.config.side = 'left';
84
+ this.config.setGridPinnedPositionFn({ 'position': 'absolute', 'width': 'calc(100% - ' + (this.config.size - 20) + 'px', 'left': (this.config.size - 20) + 'px', 'margin-left': 'auto' });
85
+ this.config.setToolbarPinnedPositionFn({ 'position': 'absolute', 'width': 'calc(100% - ' + (this.config.size - 20) + 'px', 'left': (this.config.size - 20) + 'px', 'margin-left': 'auto' });
86
+ //userPreference.set(userPreference.searchPanelSide, 'left');
87
+ }
88
+ if (event.target.classList.contains('right')) {
89
+ this.config.side = 'right';
90
+ this.config.setGridPinnedPositionFn({ 'width': 'calc(100% - ' + (this.config.size - 20) + 'px' });
91
+ this.config.setToolbarPinnedPositionFn({ 'width': 'calc(100% - ' + (this.config.size - 20) + 'px' });
92
+ //userPreference.set(userPreference.searchPanelSide, 'right');
93
+ }
94
+ this.removeMouseoverDropzoneStyles(event);
95
+ };
96
+ mousedown = (event) => {
97
+ if (this.config.pinned)
98
+ return;
99
+ if (!this.dragHandle)
100
+ this.dragHandle = event.target;
101
+ this.mouseOffsetX = event.clientX;
102
+ this.mousemoveListener = this.renderer.listen('document', 'mousemove', this.mouseMove);
103
+ this.mouseupListener = this.renderer.listen('document', 'mouseup', this.mouseUp);
104
+ };
105
+ mouseMove = (event) => {
106
+ var mouseX = event.pageX - this.mouseOffsetX;
107
+ var diffX = mouseX - this.lastMouseX;
108
+ this.lastMouseX = mouseX;
109
+ this.currentWidth = this.config.size;
110
+ this.currentMinWidth = 100;
111
+ if (this.dragHandle?.classList.contains('search-panel-resizable-w')) {
112
+ if (this.currentWidth - diffX < this.currentMinWidth)
113
+ this.mouseOffsetX = this.mouseOffsetX - (diffX - (diffX = this.currentWidth - this.currentMinWidth));
114
+ this.config.size = (this.currentWidth - diffX);
115
+ this.updateSide();
116
+ }
117
+ if (this.dragHandle?.classList.contains('search-panel-resizable-e')) {
118
+ if (this.currentWidth + diffX < this.currentMinWidth)
119
+ this.mouseOffsetX = this.mouseOffsetX - (diffX - (diffX = this.currentMinWidth - this.currentWidth));
120
+ this.config.size = (this.currentWidth + diffX);
121
+ this.updateSide();
122
+ }
123
+ };
124
+ mouseUp = () => {
125
+ this.dragHandle = null;
126
+ this.mouseOffsetX = 0;
127
+ this.lastMouseX = 0;
128
+ this.mousemoveListener();
129
+ this.mouseupListener();
130
+ };
131
+ updateSide = () => {
132
+ //if (this.config.side === 'left') {
133
+ // this.config.setGridPinnedPositionFn({ 'position': 'absolute', 'width': 'calc(100% - ' + (this.config.size - 20) + 'px', 'left': (this.config.size - 20) + 'px', 'margin-left': 'auto' });
134
+ // this.config.setToolbarPinnedPositionFn({ 'position': 'absolute', 'width': 'calc(100% - ' + (this.config.size - 20) + 'px', 'left': (this.config.size - 20) + 'px', 'margin-left': 'auto' });
135
+ //}
136
+ //if (this.config.side === 'right') {
137
+ // this.config.setGridPinnedPositionFn({ 'width': 'calc(100% - ' + (this.config.size - 20) + 'px' });
138
+ // this.config.setToolbarPinnedPositionFn({ 'width': 'calc(100% - ' + (this.config.size - 20) + 'px' });
139
+ //}
140
+ };
141
+ ngOnDestroy() {
142
+ this.listeners.forEach(fn => fn());
143
+ }
144
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruSearchPanelPositionManager, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
145
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.2", type: TruSearchPanelPositionManager, selector: "[truSearchPanelPositionManager]", inputs: { config: "config" }, ngImport: i0 });
146
+ }
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruSearchPanelPositionManager, decorators: [{
148
+ type: Directive,
149
+ args: [{
150
+ selector: '[truSearchPanelPositionManager]'
151
+ }]
152
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { config: [{
153
+ type: Input
154
+ }] } });
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXNlYXJjaC1wYW5lbC1wb3NpdGlvbi1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9kaXJlY3RpdmVzL3NlYXJjaC1wYW5lbC1wb3NpdGlvbi1tYW5hZ2VyL3RydS1zZWFyY2gtcGFuZWwtcG9zaXRpb24tbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQzs7QUFLeEUsTUFBTSxPQUFPLDZCQUE2QjtJQWtCcEI7SUFBd0I7SUFqQm5DLE1BQU0sR0FBUSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUU3QixnQkFBZ0IsR0FBdUIsSUFBSSxDQUFDO0lBQzVDLEdBQUcsR0FBdUIsSUFBSSxDQUFDO0lBQy9CLFNBQVMsR0FBUSxFQUFFLENBQUM7SUFDcEIsV0FBVyxHQUF1QixFQUFFLENBQUM7SUFFckMsWUFBWSxHQUFHLENBQUMsQ0FBQTtJQUNoQixlQUFlLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDakIsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNmLFVBQVUsR0FBdUIsSUFBSSxDQUFDO0lBQ3RDLFNBQVMsR0FBZSxFQUFFLENBQUM7SUFDM0IsaUJBQWlCLENBQU07SUFDdkIsZUFBZSxDQUFNO0lBRzdCLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUUvRCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLENB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Q3pHLEdBQUc7SUFDTCxDQUFDLENBQUE7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7dUdBNUtVLDZCQUE2QjsyRkFBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUh6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQ0FBaUM7aUJBQzVDO3VHQUVVLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t0cnVTZWFyY2hQYW5lbFBvc2l0aW9uTWFuYWdlcl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVTZWFyY2hQYW5lbFBvc2l0aW9uTWFuYWdlciB7XHJcbiAgQElucHV0KCkgY29uZmlnOiBhbnkgPSB7IHNpemU6IDMwMCB9O1xyXG5cclxuICBwcml2YXRlIHNlYXJjaFZpZXdQb3J0YWw6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSB0YWI6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBkcm9wWm9uZXM6IGFueSA9IFtdO1xyXG4gIHByaXZhdGUgZHJhZ0hhbmRsZXM6IEFycmF5PEhUTUxFbGVtZW50PiA9IFtdO1xyXG5cclxuICBwcml2YXRlIGN1cnJlbnRXaWR0aCA9IDBcclxuICBwcml2YXRlIGN1cnJlbnRNaW5XaWR0aCA9IDA7XHJcbiAgcHJpdmF0ZSBtb3VzZU9mZnNldFggPSAwO1xyXG4gIHByaXZhdGUgbGFzdE1vdXNlWCA9IDA7XHJcbiAgcHJpdmF0ZSBkcmFnSGFuZGxlOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgbGlzdGVuZXJzOiBBcnJheTxhbnk+ID0gW107XHJcbiAgcHJpdmF0ZSBtb3VzZW1vdmVMaXN0ZW5lcjogYW55O1xyXG4gIHByaXZhdGUgbW91c2V1cExpc3RlbmVyOiBhbnk7XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5zZWFyY2hWaWV3UG9ydGFsID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJy5zZWFyY2gtY29udGFpbmVyJyk7XHJcbiAgICB0aGlzLnRhYiA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuc2VhcmNoLXBhbmVsLXRhYicpWzBdO1xyXG4gICAgdGhpcy5kcm9wWm9uZXMgPSB0aGlzLnNlYXJjaFZpZXdQb3J0YWw/LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zZWFyY2gtcGFuZWwtZHJvcHpvbmUnKTtcclxuICAgIHRoaXMuZHJhZ0hhbmRsZXMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnNlYXJjaC1wYW5lbC1yZXNpemFibGUtaGFuZGxlJyk7XHJcblxyXG4gICAgdGhpcy5hZGRUYWJFdmVudExpc3RlbmVycygpO1xyXG4gICAgdGhpcy5hZGREcm9wem9uZUV2ZW50TGlzdGVuZXJzKCk7XHJcbiAgICB0aGlzLmFkZERyYWdIYW5kbGVFdmVudExpc3RlbmVycygpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgYWRkVGFiRXZlbnRMaXN0ZW5lcnMgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmxpc3RlbmVycy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMudGFiLCAnZHJhZ3N0YXJ0JywgdGhpcy5kcmFnU3RhcnQpKTtcclxuICAgIHRoaXMubGlzdGVuZXJzLnB1c2godGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy50YWIsICdkcmFnZW5kJywgdGhpcy5kcmFnRW5kKSk7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBhZGREcm9wem9uZUV2ZW50TGlzdGVuZXJzID0gKCkgPT4ge1xyXG4gICAgdGhpcy5kcm9wWm9uZXMuZm9yRWFjaCgoZHJvcFpvbmU6IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICAgIHRoaXMubGlzdGVuZXJzLnB1c2godGhpcy5yZW5kZXJlci5saXN0ZW4oZHJvcFpvbmUsICdkcmFnb3ZlcicsIHRoaXMuZHJhZ092ZXIpKTtcclxuICAgICAgdGhpcy5saXN0ZW5lcnMucHVzaCh0aGlzLnJlbmRlcmVyLmxpc3Rlbihkcm9wWm9uZSwgJ2RyYWdsZWF2ZScsIHRoaXMuZHJhZ0xlYXZlKSk7XHJcbiAgICAgIHRoaXMubGlzdGVuZXJzLnB1c2godGhpcy5yZW5kZXJlci5saXN0ZW4oZHJvcFpvbmUsICdkcm9wJywgdGhpcy5kcm9wKSk7XHJcbiAgICB9KTsgICAgXHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBhZGREcmFnSGFuZGxlRXZlbnRMaXN0ZW5lcnMgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmRyYWdIYW5kbGVzLmZvckVhY2goKGRyb3BIYW5kbGU6IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICAgIHRoaXMubGlzdGVuZXJzLnB1c2godGhpcy5yZW5kZXJlci5saXN0ZW4oZHJvcEhhbmRsZSwgJ21vdXNlZG93bicsIHRoaXMubW91c2Vkb3duKSk7XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuXHJcbiAgcHJpdmF0ZSBhZGRQb2ludGVyRXZlbnRzID0gKCkgPT4ge1xyXG4gICAgdGhpcy5kcm9wWm9uZXMuZm9yRWFjaCgoZHJvcFpvbmU6IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICAgIGRyb3Bab25lLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnYWxsJztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVQb2ludGVyRXZlbnRzID0gKCkgPT4ge1xyXG4gICAgdGhpcy5kcm9wWm9uZXMuZm9yRWFjaCgoZHJvcFpvbmU6IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICAgIGRyb3Bab25lLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSc7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkTW91c2VvdmVyRHJvcHpvbmVTdHlsZXMgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcclxuICAgIChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTGlzdC5hZGQoJ21vdXNlb3ZlcicpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVNb3VzZW92ZXJEcm9wem9uZVN0eWxlcyA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmRyb3Bab25lcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoZXZlbnQudGFyZ2V0ICE9PSB0aGlzLmRyb3Bab25lc1tpXSlcclxuICAgICAgICB0aGlzLmRyb3Bab25lc1tpXS5jbGFzc0xpc3QucmVtb3ZlKCdtb3VzZW92ZXInKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZHJhZ1N0YXJ0ID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICB0aGlzLmFkZFBvaW50ZXJFdmVudHMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZHJhZ0VuZCA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xyXG4gICAgdGhpcy5yZW1vdmVQb2ludGVyRXZlbnRzKCk7XHJcbiAgICB0aGlzLnJlbW92ZU1vdXNlb3ZlckRyb3B6b25lU3R5bGVzKGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZHJhZ092ZXIgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmFkZE1vdXNlb3ZlckRyb3B6b25lU3R5bGVzKGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZHJhZ0xlYXZlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbGFzc0xpc3QucmVtb3ZlKCdtb3VzZW92ZXInKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZHJvcCA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xyXG4gICAgaWYgKChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTGlzdC5jb250YWlucygnbGVmdCcpKSB7XHJcbiAgICAgIHRoaXMuY29uZmlnLnNpZGUgPSAnbGVmdCc7XHJcbiAgICAgIHRoaXMuY29uZmlnLnNldEdyaWRQaW5uZWRQb3NpdGlvbkZuKFxyXG4gICAgICAgIHsgJ3Bvc2l0aW9uJzogJ2Fic29sdXRlJywgJ3dpZHRoJzogJ2NhbGMoMTAwJSAtICcgKyAodGhpcy5jb25maWcuc2l6ZSAtIDIwKSArICdweCcsICdsZWZ0JzogKHRoaXMuY29uZmlnLnNpemUgLSAyMCkgKyAncHgnLCAnbWFyZ2luLWxlZnQnOiAnYXV0bycgfVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmNvbmZpZy5zZXRUb29sYmFyUGlubmVkUG9zaXRpb25GbihcclxuICAgICAgICB7ICdwb3NpdGlvbic6ICdhYnNvbHV0ZScsICd3aWR0aCc6ICdjYWxjKDEwMCUgLSAnICsgKHRoaXMuY29uZmlnLnNpemUgLSAyMCkgKyAncHgnLCAnbGVmdCc6ICh0aGlzLmNvbmZpZy5zaXplIC0gMjApICsgJ3B4JywgJ21hcmdpbi1sZWZ0JzogJ2F1dG8nIH1cclxuICAgICAgKTtcclxuICAgICAgLy91c2VyUHJlZmVyZW5jZS5zZXQodXNlclByZWZlcmVuY2Uuc2VhcmNoUGFuZWxTaWRlLCAnbGVmdCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICgoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbGFzc0xpc3QuY29udGFpbnMoJ3JpZ2h0JykpIHtcclxuICAgICAgdGhpcy5jb25maWcuc2lkZSA9ICdyaWdodCc7XHJcbiAgICAgIHRoaXMuY29uZmlnLnNldEdyaWRQaW5uZWRQb3NpdGlvbkZuKFxyXG4gICAgICAgIHsgJ3dpZHRoJzogJ2NhbGMoMTAwJSAtICcgKyAodGhpcy5jb25maWcuc2l6ZSAtIDIwKSArICdweCcgfVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmNvbmZpZy5zZXRUb29sYmFyUGlubmVkUG9zaXRpb25GbihcclxuICAgICAgICB7ICd3aWR0aCc6ICdjYWxjKDEwMCUgLSAnICsgKHRoaXMuY29uZmlnLnNpemUgLSAyMCkgKyAncHgnIH1cclxuICAgICAgKTtcclxuICAgICAgLy91c2VyUHJlZmVyZW5jZS5zZXQodXNlclByZWZlcmVuY2Uuc2VhcmNoUGFuZWxTaWRlLCAncmlnaHQnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJlbW92ZU1vdXNlb3ZlckRyb3B6b25lU3R5bGVzKGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbW91c2Vkb3duID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICBpZiAodGhpcy5jb25maWcucGlubmVkKSByZXR1cm47XHJcbiAgICBpZiAoIXRoaXMuZHJhZ0hhbmRsZSlcclxuICAgICAgdGhpcy5kcmFnSGFuZGxlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCk7XHJcbiAgICB0aGlzLm1vdXNlT2Zmc2V0WCA9IGV2ZW50LmNsaWVudFg7XHJcbiAgICB0aGlzLm1vdXNlbW92ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ21vdXNlbW92ZScsIHRoaXMubW91c2VNb3ZlKTtcclxuICAgIHRoaXMubW91c2V1cExpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ21vdXNldXAnLCB0aGlzLm1vdXNlVXApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtb3VzZU1vdmUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcclxuICAgIHZhciBtb3VzZVggPSBldmVudC5wYWdlWCAtIHRoaXMubW91c2VPZmZzZXRYO1xyXG4gICAgdmFyIGRpZmZYID0gbW91c2VYIC0gdGhpcy5sYXN0TW91c2VYO1xyXG4gICAgdGhpcy5sYXN0TW91c2VYID0gbW91c2VYO1xyXG5cclxuICAgIHRoaXMuY3VycmVudFdpZHRoID0gdGhpcy5jb25maWcuc2l6ZTtcclxuICAgIHRoaXMuY3VycmVudE1pbldpZHRoID0gMTAwO1xyXG5cclxuICAgIGlmICh0aGlzLmRyYWdIYW5kbGU/LmNsYXNzTGlzdC5jb250YWlucygnc2VhcmNoLXBhbmVsLXJlc2l6YWJsZS13JykpIHtcclxuICAgICAgaWYgKHRoaXMuY3VycmVudFdpZHRoIC0gZGlmZlggPCB0aGlzLmN1cnJlbnRNaW5XaWR0aCkgdGhpcy5tb3VzZU9mZnNldFggPSB0aGlzLm1vdXNlT2Zmc2V0WCAtIChkaWZmWCAtIChkaWZmWCA9IHRoaXMuY3VycmVudFdpZHRoIC0gdGhpcy5jdXJyZW50TWluV2lkdGgpKTtcclxuICAgICAgdGhpcy5jb25maWcuc2l6ZSA9ICh0aGlzLmN1cnJlbnRXaWR0aCAtIGRpZmZYKTtcclxuICAgICAgdGhpcy51cGRhdGVTaWRlKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kcmFnSGFuZGxlPy5jbGFzc0xpc3QuY29udGFpbnMoJ3NlYXJjaC1wYW5lbC1yZXNpemFibGUtZScpKSB7XHJcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRXaWR0aCArIGRpZmZYIDwgdGhpcy5jdXJyZW50TWluV2lkdGgpIHRoaXMubW91c2VPZmZzZXRYID0gdGhpcy5tb3VzZU9mZnNldFggLSAoZGlmZlggLSAoZGlmZlggPSB0aGlzLmN1cnJlbnRNaW5XaWR0aCAtIHRoaXMuY3VycmVudFdpZHRoKSk7XHJcbiAgICAgIHRoaXMuY29uZmlnLnNpemUgPSAodGhpcy5jdXJyZW50V2lkdGggKyBkaWZmWCk7XHJcbiAgICAgIHRoaXMudXBkYXRlU2lkZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtb3VzZVVwID0gKCkgPT4ge1xyXG4gICAgdGhpcy5kcmFnSGFuZGxlID0gbnVsbDtcclxuICAgIHRoaXMubW91c2VPZmZzZXRYID0gMDtcclxuICAgIHRoaXMubGFzdE1vdXNlWCA9IDA7XHJcblxyXG4gICAgdGhpcy5tb3VzZW1vdmVMaXN0ZW5lcigpO1xyXG4gICAgdGhpcy5tb3VzZXVwTGlzdGVuZXIoKTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIHVwZGF0ZVNpZGUgPSAoKSA9PiB7XHJcbiAgICAvL2lmICh0aGlzLmNvbmZpZy5zaWRlID09PSAnbGVmdCcpIHtcclxuICAgIC8vICB0aGlzLmNvbmZpZy5zZXRHcmlkUGlubmVkUG9zaXRpb25Gbih7ICdwb3NpdGlvbic6ICdhYnNvbHV0ZScsICd3aWR0aCc6ICdjYWxjKDEwMCUgLSAnICsgKHRoaXMuY29uZmlnLnNpemUgLSAyMCkgKyAncHgnLCAnbGVmdCc6ICh0aGlzLmNvbmZpZy5zaXplIC0gMjApICsgJ3B4JywgJ21hcmdpbi1sZWZ0JzogJ2F1dG8nIH0pO1xyXG4gICAgLy8gIHRoaXMuY29uZmlnLnNldFRvb2xiYXJQaW5uZWRQb3NpdGlvbkZuKHsgJ3Bvc2l0aW9uJzogJ2Fic29sdXRlJywgJ3dpZHRoJzogJ2NhbGMoMTAwJSAtICcgKyAodGhpcy5jb25maWcuc2l6ZSAtIDIwKSArICdweCcsICdsZWZ0JzogKHRoaXMuY29uZmlnLnNpemUgLSAyMCkgKyAncHgnLCAnbWFyZ2luLWxlZnQnOiAnYXV0bycgfSk7XHJcbiAgICAvL31cclxuICAgIC8vaWYgKHRoaXMuY29uZmlnLnNpZGUgPT09ICdyaWdodCcpIHtcclxuICAgIC8vICB0aGlzLmNvbmZpZy5zZXRHcmlkUGlubmVkUG9zaXRpb25Gbih7ICd3aWR0aCc6ICdjYWxjKDEwMCUgLSAnICsgKHRoaXMuY29uZmlnLnNpemUgLSAyMCkgKyAncHgnIH0pO1xyXG4gICAgLy8gIHRoaXMuY29uZmlnLnNldFRvb2xiYXJQaW5uZWRQb3NpdGlvbkZuKHsgJ3dpZHRoJzogJ2NhbGMoMTAwJSAtICcgKyAodGhpcy5jb25maWcuc2l6ZSAtIDIwKSArICdweCcgfSk7XHJcbiAgICAvL31cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5saXN0ZW5lcnMuZm9yRWFjaChmbiA9PiBmbigpKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,19 +1,19 @@
1
- import { NgModule } from "@angular/core";
2
- import { CommonModule } from "@angular/common";
3
- import { FormsModule } from "@angular/forms";
4
- import { TruMatSelectPanel } from "./tru-mat-select-panel";
5
- import * as i0 from "@angular/core";
6
- export class TruMatSelectPanelModule {
7
- }
8
- TruMatSelectPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruMatSelectPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- TruMatSelectPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: TruMatSelectPanelModule, declarations: [TruMatSelectPanel], imports: [CommonModule, FormsModule], exports: [TruMatSelectPanel] });
10
- TruMatSelectPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruMatSelectPanelModule, imports: [CommonModule, FormsModule] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruMatSelectPanelModule, decorators: [{
12
- type: NgModule,
13
- args: [{
14
- declarations: [TruMatSelectPanel],
15
- imports: [CommonModule, FormsModule],
16
- exports: [TruMatSelectPanel]
17
- }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LW1hdC1zZWxlY3QtcGFuZWwtbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9kaXJlY3RpdmVzL3NlbGVjdC1wYW5lbC90cnUtbWF0LXNlbGVjdC1wYW5lbC1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQU8zRCxNQUFNLE9BQU8sdUJBQXVCOztvSEFBdkIsdUJBQXVCO3FIQUF2Qix1QkFBdUIsaUJBSm5CLGlCQUFpQixhQUN0QixZQUFZLEVBQUUsV0FBVyxhQUN6QixpQkFBaUI7cUhBRWhCLHVCQUF1QixZQUh4QixZQUFZLEVBQUUsV0FBVzsyRkFHeEIsdUJBQXVCO2tCQUxuQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBUcnVNYXRTZWxlY3RQYW5lbCB9IGZyb20gXCIuL3RydS1tYXQtc2VsZWN0LXBhbmVsXCI7XHJcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbVHJ1TWF0U2VsZWN0UGFuZWxdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtUcnVNYXRTZWxlY3RQYW5lbF1cbn0pXG5leHBvcnQgY2xhc3MgVHJ1TWF0U2VsZWN0UGFuZWxNb2R1bGUgeyB9XG4iXX0=
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { FormsModule } from "@angular/forms";
4
+ import { TruMatSelectPanel } from "./tru-mat-select-panel";
5
+ import * as i0 from "@angular/core";
6
+ export class TruMatSelectPanelModule {
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruMatSelectPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: TruMatSelectPanelModule, declarations: [TruMatSelectPanel], imports: [CommonModule, FormsModule], exports: [TruMatSelectPanel] });
9
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruMatSelectPanelModule, imports: [CommonModule, FormsModule] });
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruMatSelectPanelModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ declarations: [TruMatSelectPanel],
15
+ imports: [CommonModule, FormsModule],
16
+ exports: [TruMatSelectPanel]
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LW1hdC1zZWxlY3QtcGFuZWwtbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9kaXJlY3RpdmVzL3NlbGVjdC1wYW5lbC90cnUtbWF0LXNlbGVjdC1wYW5lbC1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQU8zRCxNQUFNLE9BQU8sdUJBQXVCO3VHQUF2Qix1QkFBdUI7d0dBQXZCLHVCQUF1QixpQkFKbkIsaUJBQWlCLGFBQ3RCLFlBQVksRUFBRSxXQUFXLGFBQ3pCLGlCQUFpQjt3R0FFaEIsdUJBQXVCLFlBSHhCLFlBQVksRUFBRSxXQUFXOzsyRkFHeEIsdUJBQXVCO2tCQUxuQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBUcnVNYXRTZWxlY3RQYW5lbCB9IGZyb20gXCIuL3RydS1tYXQtc2VsZWN0LXBhbmVsXCI7XHJcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbVHJ1TWF0U2VsZWN0UGFuZWxdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtUcnVNYXRTZWxlY3RQYW5lbF1cbn0pXG5leHBvcnQgY2xhc3MgVHJ1TWF0U2VsZWN0UGFuZWxNb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,69 @@
1
+ import { Directive } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/select";
4
+ import * as i2 from "../../services/tru-util";
5
+ export class TruMatSelectPanel {
6
+ renderer;
7
+ select;
8
+ util;
9
+ constructor(renderer, select, util) {
10
+ this.renderer = renderer;
11
+ this.select = select;
12
+ this.util = util;
13
+ }
14
+ documentMouseUpEventFn = () => { };
15
+ removeListeners = () => {
16
+ if (this.documentMouseUpEventFn)
17
+ this.documentMouseUpEventFn();
18
+ };
19
+ getTextWidth = (element, text) => {
20
+ const canvas = document.createElement('canvas');
21
+ const context = canvas.getContext('2d');
22
+ context.font = getComputedStyle(element).font;
23
+ return context.measureText(text).width;
24
+ };
25
+ ngOnInit() {
26
+ this.select.openedChange.subscribe(isOpen => {
27
+ if (isOpen) {
28
+ let panelElement = this.select.panel.nativeElement;
29
+ let panelParentElement = this.select.panel.nativeElement.parentNode;
30
+ let panelOverlayContainerElement = this.util.findClosestAncestorByClass(panelElement, '.cdk-overlay-container');
31
+ let panelOverlayBackdropElement = panelOverlayContainerElement.childNodes[0];
32
+ panelParentElement.style.width = 'auto';
33
+ panelOverlayContainerElement.style.position = 'static';
34
+ panelOverlayBackdropElement.style.display = 'none';
35
+ let optionSpans = panelElement.querySelectorAll('span');
36
+ let maxWidth = 0;
37
+ optionSpans.forEach((optionSpan) => {
38
+ let currentWidth = this.getTextWidth(optionSpan, optionSpan.innerText);
39
+ if (currentWidth > maxWidth)
40
+ maxWidth = currentWidth;
41
+ });
42
+ panelParentElement.style.minWidth = (maxWidth + 85) + 'px';
43
+ this.documentMouseUpEventFn = this.renderer.listen(document, 'mouseup', (event) => {
44
+ if (event.target !== this.select.panel.nativeElement && event.button !== 2) {
45
+ this.removeListeners();
46
+ setTimeout(() => {
47
+ this.select.close();
48
+ });
49
+ }
50
+ });
51
+ }
52
+ else {
53
+ this.removeListeners();
54
+ }
55
+ });
56
+ }
57
+ ngOnDestroy() {
58
+ this.removeListeners();
59
+ }
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruMatSelectPanel, deps: [{ token: i0.Renderer2 }, { token: i1.MatSelect }, { token: i2.TruUtil }], target: i0.ɵɵFactoryTarget.Directive });
61
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.2", type: TruMatSelectPanel, selector: "[tru-mat-select-panel]", ngImport: i0 });
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruMatSelectPanel, decorators: [{
64
+ type: Directive,
65
+ args: [{
66
+ selector: '[tru-mat-select-panel]'
67
+ }]
68
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1.MatSelect }, { type: i2.TruUtil }] });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LW1hdC1zZWxlY3QtcGFuZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2RpcmVjdGl2ZXMvc2VsZWN0LXBhbmVsL3RydS1tYXQtc2VsZWN0LXBhbmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7O0FBUTdELE1BQU0sT0FBTyxpQkFBaUI7SUFHbEI7SUFDQTtJQUNBO0lBSFYsWUFDVSxRQUFtQixFQUNuQixNQUFpQixFQUNqQixJQUFhO1FBRmIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLFNBQUksR0FBSixJQUFJLENBQVM7SUFBSSxDQUFDO0lBRTVCLHNCQUFzQixHQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUV2QyxlQUFlLEdBQUcsR0FBRyxFQUFFO1FBQzdCLElBQUksSUFBSSxDQUFDLHNCQUFzQjtZQUM3QixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNsQyxDQUFDLENBQUE7SUFFTyxZQUFZLEdBQUcsQ0FBQyxPQUFvQixFQUFFLElBQVksRUFBRSxFQUFFO1FBQzVELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQTZCLENBQUM7UUFFcEUsT0FBTyxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFOUMsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN6QyxDQUFDLENBQUE7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzFDLElBQUksTUFBTSxFQUFFO2dCQUNWLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztnQkFDbkQsSUFBSSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO2dCQUNwRSxJQUFJLDRCQUE0QixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsWUFBWSxFQUFFLHdCQUF3QixDQUFDLENBQUM7Z0JBQ2hILElBQUksMkJBQTJCLEdBQUcsNEJBQTRCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM3RSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztnQkFDeEMsNEJBQTRCLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7Z0JBQ3ZELDJCQUEyQixDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO2dCQUVuRCxJQUFJLFdBQVcsR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3hELElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztnQkFDakIsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQXVCLEVBQUUsRUFBRTtvQkFDOUMsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUN2RSxJQUFJLFlBQVksR0FBRyxRQUFRO3dCQUN6QixRQUFRLEdBQUcsWUFBWSxDQUFDO2dCQUM1QixDQUFDLENBQUMsQ0FBQztnQkFFSCxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztnQkFFM0QsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFpQixFQUFFLEVBQUU7b0JBQzVGLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7d0JBQzFFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQzt3QkFDdkIsVUFBVSxDQUFDLEdBQUcsRUFBRTs0QkFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUN0QixDQUFDLENBQUMsQ0FBQztxQkFDSjtnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKO2lCQUNJO2dCQUNILElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQzt1R0E3RFUsaUJBQWlCOzJGQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xyXG5pbXBvcnQgeyBmb3JFYWNoLCBtYXggfSBmcm9tIFwidW5kZXJzY29yZVwiO1xyXG5pbXBvcnQgeyBUcnVVdGlsIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3RydS11dGlsXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t0cnUtbWF0LXNlbGVjdC1wYW5lbF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVNYXRTZWxlY3RQYW5lbCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBzZWxlY3Q6IE1hdFNlbGVjdCxcclxuICAgIHByaXZhdGUgdXRpbDogVHJ1VXRpbCkgeyB9XHJcblxyXG4gIGRvY3VtZW50TW91c2VVcEV2ZW50Rm46ICgpID0+IHZvaWQgPSAoKSA9PiB7IH07XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlTGlzdGVuZXJzID0gKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuZG9jdW1lbnRNb3VzZVVwRXZlbnRGbilcclxuICAgICAgdGhpcy5kb2N1bWVudE1vdXNlVXBFdmVudEZuKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFRleHRXaWR0aCA9IChlbGVtZW50OiBIVE1MRWxlbWVudCwgdGV4dDogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKSBhcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XHJcblxyXG4gICAgY29udGV4dC5mb250ID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5mb250O1xyXG5cclxuICAgIHJldHVybiBjb250ZXh0Lm1lYXN1cmVUZXh0KHRleHQpLndpZHRoO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNlbGVjdC5vcGVuZWRDaGFuZ2Uuc3Vic2NyaWJlKGlzT3BlbiA9PiB7XHJcbiAgICAgIGlmIChpc09wZW4pIHtcclxuICAgICAgICBsZXQgcGFuZWxFbGVtZW50ID0gdGhpcy5zZWxlY3QucGFuZWwubmF0aXZlRWxlbWVudDtcclxuICAgICAgICBsZXQgcGFuZWxQYXJlbnRFbGVtZW50ID0gdGhpcy5zZWxlY3QucGFuZWwubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlO1xyXG4gICAgICAgIGxldCBwYW5lbE92ZXJsYXlDb250YWluZXJFbGVtZW50ID0gdGhpcy51dGlsLmZpbmRDbG9zZXN0QW5jZXN0b3JCeUNsYXNzKHBhbmVsRWxlbWVudCwgJy5jZGstb3ZlcmxheS1jb250YWluZXInKTtcclxuICAgICAgICBsZXQgcGFuZWxPdmVybGF5QmFja2Ryb3BFbGVtZW50ID0gcGFuZWxPdmVybGF5Q29udGFpbmVyRWxlbWVudC5jaGlsZE5vZGVzWzBdO1xyXG4gICAgICAgIHBhbmVsUGFyZW50RWxlbWVudC5zdHlsZS53aWR0aCA9ICdhdXRvJztcclxuICAgICAgICBwYW5lbE92ZXJsYXlDb250YWluZXJFbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ3N0YXRpYyc7XHJcbiAgICAgICAgcGFuZWxPdmVybGF5QmFja2Ryb3BFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcblxyXG4gICAgICAgIGxldCBvcHRpb25TcGFucyA9IHBhbmVsRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdzcGFuJyk7XHJcbiAgICAgICAgbGV0IG1heFdpZHRoID0gMDtcclxuICAgICAgICBvcHRpb25TcGFucy5mb3JFYWNoKChvcHRpb25TcGFuOiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgbGV0IGN1cnJlbnRXaWR0aCA9IHRoaXMuZ2V0VGV4dFdpZHRoKG9wdGlvblNwYW4sIG9wdGlvblNwYW4uaW5uZXJUZXh0KTtcclxuICAgICAgICAgIGlmIChjdXJyZW50V2lkdGggPiBtYXhXaWR0aClcclxuICAgICAgICAgICAgbWF4V2lkdGggPSBjdXJyZW50V2lkdGg7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHBhbmVsUGFyZW50RWxlbWVudC5zdHlsZS5taW5XaWR0aCA9IChtYXhXaWR0aCArIDg1KSArICdweCc7XHJcblxyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRNb3VzZVVwRXZlbnRGbiA9IHRoaXMucmVuZGVyZXIubGlzdGVuKGRvY3VtZW50LCAnbW91c2V1cCcsIChldmVudDogTW91c2VFdmVudCkgPT4ge1xyXG4gICAgICAgICAgaWYgKGV2ZW50LnRhcmdldCAhPT0gdGhpcy5zZWxlY3QucGFuZWwubmF0aXZlRWxlbWVudCAmJiBldmVudC5idXR0b24gIT09IDIpIHtcclxuICAgICAgICAgICAgdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3QuY2xvc2UoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXZhbHVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9pbnRlcmZhY2VzL3RydS12YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUcnVWYWx1ZTxUPiB7XHJcbiAgb25DaGFuZ2UoKTogU3ViamVjdDxUPjtcclxuICBjaGFuZ2UodmFsdWU6IFQpOiB2b2lkO1xyXG4gICQ6IFQ7XHJcbn1cclxuIl19