@lucca-front/ng 18.3.6 → 19.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (836) hide show
  1. package/core-select/api/api.directive.d.ts +1 -1
  2. package/core-select/input/select-input.component.d.ts +1 -1
  3. package/dialog/dialog-routing/dialog-routing.component.d.ts +1 -1
  4. package/dropdown/item/dropdown-item.directive.d.ts +1 -1
  5. package/dropdown/item/dropdown-item.module.d.ts +4 -1
  6. package/dropdown/panel/dropdown-panel.component.d.ts +1 -1
  7. package/dropdown/panel/dropdown-panel.module.d.ts +4 -2
  8. package/dropdown/trigger/dropdown-trigger.directive.d.ts +1 -1
  9. package/dropdown/trigger/dropdown-trigger.module.d.ts +4 -2
  10. package/fesm2022/lucca-front-ng-a11y.mjs +3 -3
  11. package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
  12. package/fesm2022/lucca-front-ng-animations.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-api.mjs +48 -48
  14. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-button.mjs +3 -3
  16. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-callout.mjs +21 -21
  18. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-comment.mjs +9 -9
  20. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-core-select-api.mjs +9 -9
  22. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +9 -9
  24. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +6 -6
  26. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-core-select-user.mjs +15 -15
  28. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-core-select.mjs +36 -36
  30. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-core.mjs +16 -16
  32. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-date.mjs +48 -48
  34. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-date2.mjs +14 -14
  36. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-department.mjs +28 -28
  38. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-dialog-testing.mjs.map +1 -1
  40. package/fesm2022/lucca-front-ng-dialog.mjs +39 -31
  41. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  42. package/fesm2022/lucca-front-ng-dropdown.mjs +39 -35
  43. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  44. package/fesm2022/lucca-front-ng-empty-state.mjs +6 -6
  45. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-establishment.mjs +49 -49
  47. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  48. package/fesm2022/lucca-front-ng-form-field.mjs +6 -6
  49. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  50. package/fesm2022/lucca-front-ng-formly.mjs +81 -79
  51. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  52. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +10 -10
  53. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  54. package/fesm2022/lucca-front-ng-forms.mjs +33 -33
  55. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-icon.mjs +4 -4
  57. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  58. package/fesm2022/lucca-front-ng-inline-message.mjs +3 -3
  59. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  60. package/fesm2022/lucca-front-ng-input.mjs +21 -21
  61. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  62. package/fesm2022/lucca-front-ng-modal.mjs +22 -22
  63. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  64. package/fesm2022/lucca-front-ng-multi-select.mjs +44 -44
  65. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  66. package/fesm2022/lucca-front-ng-new-badge.mjs +3 -3
  67. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  68. package/fesm2022/lucca-front-ng-number-format.mjs +7 -7
  69. package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
  70. package/fesm2022/lucca-front-ng-number.mjs +7 -7
  71. package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
  72. package/fesm2022/lucca-front-ng-numeric-badge.mjs +3 -3
  73. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  74. package/fesm2022/lucca-front-ng-option.mjs +154 -154
  75. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  76. package/fesm2022/lucca-front-ng-plg-push.mjs +3 -3
  77. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-popover.mjs +31 -26
  79. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  80. package/fesm2022/lucca-front-ng-popover2.mjs +9 -9
  81. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-popup-employee.mjs +21 -21
  83. package/fesm2022/lucca-front-ng-popup-employee.mjs.map +1 -1
  84. package/fesm2022/lucca-front-ng-popup.mjs +10 -10
  85. package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
  86. package/fesm2022/lucca-front-ng-qualification.mjs +15 -15
  87. package/fesm2022/lucca-front-ng-qualification.mjs.map +1 -1
  88. package/fesm2022/lucca-front-ng-safe-content.mjs +13 -12
  89. package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-scroll.mjs +7 -7
  91. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  92. package/fesm2022/lucca-front-ng-select.mjs +14 -14
  93. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  95. package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
  96. package/fesm2022/lucca-front-ng-simple-select.mjs +14 -14
  97. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  98. package/fesm2022/lucca-front-ng-skeleton.mjs +9 -9
  99. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  100. package/fesm2022/lucca-front-ng-tag.mjs +3 -3
  101. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  102. package/fesm2022/lucca-front-ng-time.mjs +18 -17
  103. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  104. package/fesm2022/lucca-front-ng-title.mjs +10 -10
  105. package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
  106. package/fesm2022/lucca-front-ng-toast.mjs +11 -11
  107. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  108. package/fesm2022/lucca-front-ng-tooltip.mjs +22 -22
  109. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  110. package/fesm2022/lucca-front-ng-user.mjs +94 -85
  111. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  112. package/modal/modal-panel.component.d.ts +1 -1
  113. package/option/picker/option-picker-advanced.component.d.ts +1 -1
  114. package/option/picker/option-picker.component.d.ts +1 -1
  115. package/option/picker/tree-option-picker-advanced.component.d.ts +1 -1
  116. package/option/picker/tree-option-picker.component.d.ts +1 -1
  117. package/package.json +22 -132
  118. package/safe-content/safe-content.module.d.ts +3 -0
  119. package/schematics/action-icon/index.js +3 -2
  120. package/schematics/action-icon/migration.js +2 -3
  121. package/schematics/empty-state-title/index.js +2 -1
  122. package/schematics/lib/angular-template.js +6 -7
  123. package/schematics/lib/css-mapper.js +4 -4
  124. package/schematics/lib/file-update.js +2 -3
  125. package/schematics/lib/html-ast.js +4 -4
  126. package/schematics/lib/local-deps/installer.js +1 -2
  127. package/schematics/lib/local-deps/package-lock.json +30 -30
  128. package/schematics/lib/local-deps/package.json +2 -2
  129. package/schematics/lib/local-deps/postcss-selector-parser.js +1 -0
  130. package/schematics/lib/local-deps/postcss-value-parser.js +1 -0
  131. package/schematics/lib/migration-test.js +4 -5
  132. package/schematics/lib/schematics.js +1 -2
  133. package/schematics/lib/scss-ast.js +10 -11
  134. package/schematics/lib/typescript-ast.js +1 -2
  135. package/schematics/new-icons/index.js +4 -3
  136. package/schematics/new-icons/migration.js +3 -4
  137. package/schematics/ng-add/index.js +1 -2
  138. package/schematics/ng-add/tasks.js +4 -5
  139. package/schematics/palettes/index.js +1 -0
  140. package/schematics/tokens-spacing/index.js +1 -0
  141. package/select/input/select-input.component.d.ts +1 -1
  142. package/src/components/cdk/_overlay.scss +4 -0
  143. package/time/core/base-picker.component.d.ts +1 -1
  144. package/time/core/date.utils.d.ts +4 -4
  145. package/time/core/misc.utils.d.ts +1 -1
  146. package/user/picture/user-picture.component.d.ts +1 -1
  147. package/user/picture/user-picture.module.d.ts +4 -3
  148. package/user/tile/user-tile.component.d.ts +1 -1
  149. package/user/tile/user-tile.module.d.ts +4 -4
  150. package/esm2022/a11y/lucca-front-ng-a11y.mjs +0 -5
  151. package/esm2022/a11y/public-api.mjs +0 -3
  152. package/esm2022/a11y/skip-links/skip-links.component.mjs +0 -24
  153. package/esm2022/a11y/skip-links/skip-links.translate.mjs +0 -9
  154. package/esm2022/a11y/skip-links/translations.mjs +0 -51
  155. package/esm2022/animations/animation.factory.mjs +0 -15
  156. package/esm2022/animations/fade.animation.mjs +0 -8
  157. package/esm2022/animations/lucca-front-ng-animations.mjs +0 -5
  158. package/esm2022/animations/public-api.mjs +0 -5
  159. package/esm2022/animations/scale.animation.mjs +0 -126
  160. package/esm2022/animations/slide.animation.mjs +0 -110
  161. package/esm2022/api/api.model.mjs +0 -2
  162. package/esm2022/api/api.module.mjs +0 -16
  163. package/esm2022/api/lucca-front-ng-api.mjs +0 -5
  164. package/esm2022/api/public-api.mjs +0 -5
  165. package/esm2022/api/select/api-select.module.mjs +0 -19
  166. package/esm2022/api/select/feeder/api-feeder.component.mjs +0 -93
  167. package/esm2022/api/select/feeder/api-feeder.model.mjs +0 -11
  168. package/esm2022/api/select/feeder/api-feeder.module.mjs +0 -16
  169. package/esm2022/api/select/feeder/index.mjs +0 -4
  170. package/esm2022/api/select/index.mjs +0 -6
  171. package/esm2022/api/select/input/api-select-input.component.mjs +0 -52
  172. package/esm2022/api/select/input/api-select-input.module.mjs +0 -16
  173. package/esm2022/api/select/input/index.mjs +0 -3
  174. package/esm2022/api/select/pager/api-pager.component.mjs +0 -99
  175. package/esm2022/api/select/pager/api-pager.model.mjs +0 -56
  176. package/esm2022/api/select/pager/api-pager.module.mjs +0 -16
  177. package/esm2022/api/select/pager/index.mjs +0 -4
  178. package/esm2022/api/select/searcher/api-searcher.component.mjs +0 -235
  179. package/esm2022/api/select/searcher/api-searcher.model.mjs +0 -67
  180. package/esm2022/api/select/searcher/api-searcher.module.mjs +0 -16
  181. package/esm2022/api/select/searcher/index.mjs +0 -4
  182. package/esm2022/api/service/api-hybrid.service.mjs +0 -65
  183. package/esm2022/api/service/api-service.model.mjs +0 -3
  184. package/esm2022/api/service/api-v3.service.mjs +0 -72
  185. package/esm2022/api/service/api-v4.service.mjs +0 -71
  186. package/esm2022/api/service/index.mjs +0 -5
  187. package/esm2022/button/button.component.mjs +0 -90
  188. package/esm2022/button/lucca-front-ng-button.mjs +0 -5
  189. package/esm2022/button/public-api.mjs +0 -2
  190. package/esm2022/callout/callout/callout.component.mjs +0 -88
  191. package/esm2022/callout/callout-disclosure/callout-disclosure.component.mjs +0 -59
  192. package/esm2022/callout/callout-feedback-item/callout-feedback-item.component.mjs +0 -25
  193. package/esm2022/callout/callout-feedback-list/callout-feedback-list.component.mjs +0 -22
  194. package/esm2022/callout/callout-icon.pipe.mjs +0 -23
  195. package/esm2022/callout/callout-popover/callout-popover.component.mjs +0 -182
  196. package/esm2022/callout/callout-state.mjs +0 -16
  197. package/esm2022/callout/callout.translate.mjs +0 -7
  198. package/esm2022/callout/callout.utils.mjs +0 -20
  199. package/esm2022/callout/lucca-front-ng-callout.mjs +0 -5
  200. package/esm2022/callout/public-api.mjs +0 -7
  201. package/esm2022/callout/translations.mjs +0 -27
  202. package/esm2022/comment/comment/comment.component.mjs +0 -54
  203. package/esm2022/comment/comment-block/comment-block.component.mjs +0 -60
  204. package/esm2022/comment/comment-chat/comment-chat.component.mjs +0 -22
  205. package/esm2022/comment/lucca-front-ng-comment.mjs +0 -5
  206. package/esm2022/comment/public-api.mjs +0 -4
  207. package/esm2022/comment/token.mjs +0 -4
  208. package/esm2022/core/date/date-adapter.class.mjs +0 -54
  209. package/esm2022/core/date/date-adapter.interface.mjs +0 -2
  210. package/esm2022/core/date/date-granularity.enum.mjs +0 -8
  211. package/esm2022/core/date/index.mjs +0 -6
  212. package/esm2022/core/date/native/index.mjs +0 -3
  213. package/esm2022/core/date/native/native-date.adapter.mjs +0 -235
  214. package/esm2022/core/date/native/native-date.option.mjs +0 -6
  215. package/esm2022/core/date/string/index.mjs +0 -2
  216. package/esm2022/core/date/string/string-date.adapter.mjs +0 -83
  217. package/esm2022/core/event/index.mjs +0 -4
  218. package/esm2022/core/event/on-close.subscriber.mjs +0 -3
  219. package/esm2022/core/event/on-open.subscriber.mjs +0 -3
  220. package/esm2022/core/event/on-scroll-bottom.subscriber.mjs +0 -3
  221. package/esm2022/core/group/group.interface.mjs +0 -2
  222. package/esm2022/core/group/index.mjs +0 -2
  223. package/esm2022/core/id/id.generator.mjs +0 -9
  224. package/esm2022/core/id/index.mjs +0 -2
  225. package/esm2022/core/lucca-front-ng-core.mjs +0 -5
  226. package/esm2022/core/portal/index.mjs +0 -3
  227. package/esm2022/core/portal/portal-content.mjs +0 -3
  228. package/esm2022/core/portal/portal.directive.mjs +0 -107
  229. package/esm2022/core/public-api.mjs +0 -11
  230. package/esm2022/core/signal.mjs +0 -22
  231. package/esm2022/core/tools/class.mjs +0 -75
  232. package/esm2022/core/translate/index.mjs +0 -4
  233. package/esm2022/core/translate/intl-params.pipe.mjs +0 -20
  234. package/esm2022/core/translate/intl.model.mjs +0 -14
  235. package/esm2022/core/translate/translation.model.mjs +0 -2
  236. package/esm2022/core/tree/index.mjs +0 -2
  237. package/esm2022/core/tree/tree.model.mjs +0 -2
  238. package/esm2022/core/type/enum.mjs +0 -2
  239. package/esm2022/core/type/index.mjs +0 -3
  240. package/esm2022/core/type/style.mjs +0 -2
  241. package/esm2022/core-select/api/api-v3.directive.mjs +0 -81
  242. package/esm2022/core-select/api/api-v4.directive.mjs +0 -70
  243. package/esm2022/core-select/api/api.directive.mjs +0 -53
  244. package/esm2022/core-select/api/lucca-front-ng-core-select-api.mjs +0 -5
  245. package/esm2022/core-select/api/public-api.mjs +0 -4
  246. package/esm2022/core-select/displayer/displayer.directive.mjs +0 -26
  247. package/esm2022/core-select/displayer/index.mjs +0 -2
  248. package/esm2022/core-select/establishment/establishment-grouping.component.mjs +0 -21
  249. package/esm2022/core-select/establishment/establishment-grouping.service.mjs +0 -22
  250. package/esm2022/core-select/establishment/establishments.directive.mjs +0 -96
  251. package/esm2022/core-select/establishment/lucca-front-ng-core-select-establishment.mjs +0 -5
  252. package/esm2022/core-select/establishment/models.mjs +0 -2
  253. package/esm2022/core-select/establishment/public-api.mjs +0 -4
  254. package/esm2022/core-select/input/index.mjs +0 -4
  255. package/esm2022/core-select/input/select-input.component.mjs +0 -312
  256. package/esm2022/core-select/input/select-input.models.mjs +0 -37
  257. package/esm2022/core-select/input/total-count.directive.mjs +0 -33
  258. package/esm2022/core-select/job-qualification/job-qualification-grouping.component.mjs +0 -21
  259. package/esm2022/core-select/job-qualification/job-qualifications.directive.mjs +0 -78
  260. package/esm2022/core-select/job-qualification/lucca-front-ng-core-select-job-qualification.mjs +0 -5
  261. package/esm2022/core-select/job-qualification/models.mjs +0 -2
  262. package/esm2022/core-select/job-qualification/public-api.mjs +0 -3
  263. package/esm2022/core-select/lucca-front-ng-core-select.mjs +0 -5
  264. package/esm2022/core-select/option/default-option.component.mjs +0 -22
  265. package/esm2022/core-select/option/disabled.directive.mjs +0 -26
  266. package/esm2022/core-select/option/group.directive.mjs +0 -29
  267. package/esm2022/core-select/option/group.pipe.mjs +0 -43
  268. package/esm2022/core-select/option/index.mjs +0 -9
  269. package/esm2022/core-select/option/option-outlet.directive.mjs +0 -73
  270. package/esm2022/core-select/option/option.component.mjs +0 -89
  271. package/esm2022/core-select/option/option.directive.mjs +0 -26
  272. package/esm2022/core-select/option/option.token.mjs +0 -22
  273. package/esm2022/core-select/panel/index.mjs +0 -5
  274. package/esm2022/core-select/panel/key-manager.mjs +0 -79
  275. package/esm2022/core-select/panel/panel-header-template.directive.mjs +0 -25
  276. package/esm2022/core-select/panel/panel.models.mjs +0 -22
  277. package/esm2022/core-select/panel/panel.utils.mjs +0 -15
  278. package/esm2022/core-select/public-api.mjs +0 -8
  279. package/esm2022/core-select/select.model.mjs +0 -6
  280. package/esm2022/core-select/select.translate.mjs +0 -7
  281. package/esm2022/core-select/select.utils.mjs +0 -2
  282. package/esm2022/core-select/translations.mjs +0 -27
  283. package/esm2022/core-select/user/former-employees.component.mjs +0 -34
  284. package/esm2022/core-select/user/lucca-front-ng-core-select-user.mjs +0 -5
  285. package/esm2022/core-select/user/me.provider.mjs +0 -9
  286. package/esm2022/core-select/user/public-api.mjs +0 -5
  287. package/esm2022/core-select/user/translations.mjs +0 -35
  288. package/esm2022/core-select/user/user-displayer.component.mjs +0 -32
  289. package/esm2022/core-select/user/user-homonym.service.mjs +0 -63
  290. package/esm2022/core-select/user/user-option.component.mjs +0 -46
  291. package/esm2022/core-select/user/user-option.model.mjs +0 -2
  292. package/esm2022/core-select/user/user.translate.mjs +0 -7
  293. package/esm2022/core-select/user/users.directive.mjs +0 -149
  294. package/esm2022/date/adapter/date-adapter.module.mjs +0 -16
  295. package/esm2022/date/adapter/date-adapter.pipe.mjs +0 -25
  296. package/esm2022/date/adapter/index.mjs +0 -3
  297. package/esm2022/date/calendar/calendar-input.component.mjs +0 -332
  298. package/esm2022/date/calendar/calendar-input.module.mjs +0 -16
  299. package/esm2022/date/calendar/calendar-item.class.mjs +0 -43
  300. package/esm2022/date/calendar/calendar-item.factory.mjs +0 -37
  301. package/esm2022/date/calendar/calendar-item.interface.mjs +0 -2
  302. package/esm2022/date/calendar/index.mjs +0 -3
  303. package/esm2022/date/date.module.mjs +0 -20
  304. package/esm2022/date/humanize/humanize.formatter.mjs +0 -14
  305. package/esm2022/date/humanize/humanize.model.mjs +0 -2
  306. package/esm2022/date/humanize/humanize.pipe.mjs +0 -21
  307. package/esm2022/date/humanize/humanize.utils.mjs +0 -79
  308. package/esm2022/date/humanize/index.mjs +0 -5
  309. package/esm2022/date/input/date-input.directive.mjs +0 -137
  310. package/esm2022/date/input/date-input.module.mjs +0 -16
  311. package/esm2022/date/input/date-input.translate.mjs +0 -7
  312. package/esm2022/date/input/index.mjs +0 -4
  313. package/esm2022/date/input/translations.mjs +0 -43
  314. package/esm2022/date/lucca-front-ng-date.mjs +0 -5
  315. package/esm2022/date/picker/date-picker.component.mjs +0 -109
  316. package/esm2022/date/picker/date-picker.module.mjs +0 -16
  317. package/esm2022/date/picker/index.mjs +0 -3
  318. package/esm2022/date/public-api.mjs +0 -8
  319. package/esm2022/date/select/date-select-input.component.mjs +0 -106
  320. package/esm2022/date/select/date-select-input.module.mjs +0 -16
  321. package/esm2022/date/select/date-select-input.translate.mjs +0 -7
  322. package/esm2022/date/select/index.mjs +0 -4
  323. package/esm2022/date/select/translations.mjs +0 -43
  324. package/esm2022/date2/calendar.token.mjs +0 -22
  325. package/esm2022/date2/calendar2/calendar-cell-info.mjs +0 -2
  326. package/esm2022/date2/calendar2/calendar-mode.mjs +0 -2
  327. package/esm2022/date2/calendar2/calendar2-cell.directive.mjs +0 -111
  328. package/esm2022/date2/calendar2/calendar2.component.mjs +0 -279
  329. package/esm2022/date2/calendar2/calendar2.tokens.mjs +0 -4
  330. package/esm2022/date2/calendar2/cell-status.mjs +0 -2
  331. package/esm2022/date2/calendar2/date-range.mjs +0 -2
  332. package/esm2022/date2/date-format.mjs +0 -16
  333. package/esm2022/date2/date-input/date-input.component.mjs +0 -281
  334. package/esm2022/date2/date2.translate.mjs +0 -7
  335. package/esm2022/date2/lucca-front-ng-date2.mjs +0 -5
  336. package/esm2022/date2/public-api.mjs +0 -5
  337. package/esm2022/date2/repeat-times.directive.mjs +0 -27
  338. package/esm2022/date2/translations.mjs +0 -17
  339. package/esm2022/date2/utils.mjs +0 -24
  340. package/esm2022/department/department.model.mjs +0 -2
  341. package/esm2022/department/department.module.mjs +0 -16
  342. package/esm2022/department/lucca-front-ng-department.mjs +0 -5
  343. package/esm2022/department/public-api.mjs +0 -5
  344. package/esm2022/department/select/department-select.module.mjs +0 -17
  345. package/esm2022/department/select/feeder/department-feeder.component.mjs +0 -82
  346. package/esm2022/department/select/feeder/department-feeder.module.mjs +0 -16
  347. package/esm2022/department/select/feeder/index.mjs +0 -3
  348. package/esm2022/department/select/index.mjs +0 -4
  349. package/esm2022/department/select/input/department-select-input.component.mjs +0 -68
  350. package/esm2022/department/select/input/department-select-input.module.mjs +0 -16
  351. package/esm2022/department/select/input/department-select-input.translate.mjs +0 -7
  352. package/esm2022/department/select/input/index.mjs +0 -4
  353. package/esm2022/department/select/input/translations.mjs +0 -27
  354. package/esm2022/department/service/department-service.model.mjs +0 -4
  355. package/esm2022/department/service/department-v3.service.mjs +0 -46
  356. package/esm2022/department/service/department-v4.service.mjs +0 -46
  357. package/esm2022/department/service/index.mjs +0 -4
  358. package/esm2022/dialog/dialog/dialog.component.mjs +0 -31
  359. package/esm2022/dialog/dialog-content/dialog-content.component.mjs +0 -20
  360. package/esm2022/dialog/dialog-footer/dialog-footer.component.mjs +0 -13
  361. package/esm2022/dialog/dialog-header/dialog-header.component.mjs +0 -45
  362. package/esm2022/dialog/dialog-header/dialog-header.translate.mjs +0 -7
  363. package/esm2022/dialog/dialog-header/translations.mjs +0 -27
  364. package/esm2022/dialog/dialog-routing/dialog-routing.component.mjs +0 -100
  365. package/esm2022/dialog/dialog-routing/dialog-routing.models.mjs +0 -2
  366. package/esm2022/dialog/dialog-routing/dialog-routing.utils.mjs +0 -46
  367. package/esm2022/dialog/dialog-routing/index.mjs +0 -4
  368. package/esm2022/dialog/dialog.providers.mjs +0 -10
  369. package/esm2022/dialog/dialog.service.mjs +0 -75
  370. package/esm2022/dialog/directives/dialog-close.directive.mjs +0 -22
  371. package/esm2022/dialog/directives/dialog-dismiss.directive.mjs +0 -22
  372. package/esm2022/dialog/directives/dialog-open.directive.mjs +0 -35
  373. package/esm2022/dialog/lucca-front-ng-dialog.mjs +0 -5
  374. package/esm2022/dialog/model/dialog-config.mjs +0 -4
  375. package/esm2022/dialog/model/dialog-ref.mjs +0 -49
  376. package/esm2022/dialog/model/index.mjs +0 -4
  377. package/esm2022/dialog/model/injectors.mjs +0 -10
  378. package/esm2022/dialog/public-api.mjs +0 -13
  379. package/esm2022/dialog/testing/lucca-front-ng-dialog-testing.mjs +0 -5
  380. package/esm2022/dialog/testing/providers.mjs +0 -8
  381. package/esm2022/dialog/testing/public-api.mjs +0 -2
  382. package/esm2022/dropdown/dropdown.module.mjs +0 -18
  383. package/esm2022/dropdown/item/dropdown-item.directive.mjs +0 -55
  384. package/esm2022/dropdown/item/dropdown-item.model.mjs +0 -3
  385. package/esm2022/dropdown/item/dropdown-item.module.mjs +0 -17
  386. package/esm2022/dropdown/item/index.mjs +0 -4
  387. package/esm2022/dropdown/lucca-front-ng-dropdown.mjs +0 -5
  388. package/esm2022/dropdown/panel/dropdown-panel.component.mjs +0 -111
  389. package/esm2022/dropdown/panel/dropdown-panel.model.mjs +0 -2
  390. package/esm2022/dropdown/panel/dropdown-panel.module.mjs +0 -18
  391. package/esm2022/dropdown/panel/index.mjs +0 -4
  392. package/esm2022/dropdown/public-api.mjs +0 -5
  393. package/esm2022/dropdown/trigger/dropdown-trigger.directive.mjs +0 -121
  394. package/esm2022/dropdown/trigger/dropdown-trigger.module.mjs +0 -18
  395. package/esm2022/dropdown/trigger/index.mjs +0 -3
  396. package/esm2022/empty-state/empty-state-page/empty-state-page.component.mjs +0 -62
  397. package/esm2022/empty-state/empty-state-section/empty-state-section.component.mjs +0 -43
  398. package/esm2022/empty-state/lucca-front-ng-empty-state.mjs +0 -5
  399. package/esm2022/empty-state/public-api.mjs +0 -3
  400. package/esm2022/establishment/establishment.model.mjs +0 -2
  401. package/esm2022/establishment/establishment.module.mjs +0 -19
  402. package/esm2022/establishment/lucca-front-ng-establishment.mjs +0 -5
  403. package/esm2022/establishment/public-api.mjs +0 -5
  404. package/esm2022/establishment/select/establishment-select.module.mjs +0 -23
  405. package/esm2022/establishment/select/establishment-select.token.mjs +0 -4
  406. package/esm2022/establishment/select/for-legal-units/for-legal-units.directive.mjs +0 -47
  407. package/esm2022/establishment/select/for-legal-units/for-legal-units.module.mjs +0 -16
  408. package/esm2022/establishment/select/for-legal-units/index.mjs +0 -3
  409. package/esm2022/establishment/select/index.mjs +0 -7
  410. package/esm2022/establishment/select/input/establishment-select-input.component.mjs +0 -126
  411. package/esm2022/establishment/select/input/establishment-select-input.module.mjs +0 -16
  412. package/esm2022/establishment/select/input/establishment-select-input.translate.mjs +0 -7
  413. package/esm2022/establishment/select/input/index.mjs +0 -4
  414. package/esm2022/establishment/select/input/translations.mjs +0 -27
  415. package/esm2022/establishment/select/legal-unit-selector/index.mjs +0 -3
  416. package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.directive.mjs +0 -103
  417. package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.module.mjs +0 -16
  418. package/esm2022/establishment/select/searcher/establishment-searcher.component.mjs +0 -146
  419. package/esm2022/establishment/select/searcher/establishment-searcher.module.mjs +0 -16
  420. package/esm2022/establishment/select/searcher/index.mjs +0 -3
  421. package/esm2022/establishment/select/select-all/establishment-select-all.component.mjs +0 -94
  422. package/esm2022/establishment/select/select-all/establishment-select-all.module.mjs +0 -16
  423. package/esm2022/establishment/select/select-all/index.mjs +0 -3
  424. package/esm2022/establishment/service/establishment-service.model.mjs +0 -4
  425. package/esm2022/establishment/service/establishment.service.mjs +0 -37
  426. package/esm2022/establishment/service/index.mjs +0 -5
  427. package/esm2022/establishment/service/legal-unit-service.model.mjs +0 -4
  428. package/esm2022/establishment/service/legal-unit.service.mjs +0 -37
  429. package/esm2022/form-field/form-field-size.mjs +0 -2
  430. package/esm2022/form-field/form-field.component.mjs +0 -248
  431. package/esm2022/form-field/form-field.token.mjs +0 -3
  432. package/esm2022/form-field/form-field.translate.mjs +0 -7
  433. package/esm2022/form-field/input.directive.mjs +0 -36
  434. package/esm2022/form-field/lucca-front-ng-form-field.mjs +0 -5
  435. package/esm2022/form-field/public-api.mjs +0 -6
  436. package/esm2022/form-field/translations.mjs +0 -27
  437. package/esm2022/formly/formly.config.mjs +0 -79
  438. package/esm2022/formly/formly.module.mjs +0 -108
  439. package/esm2022/formly/formly.utils.mjs +0 -10
  440. package/esm2022/formly/lucca-front-ng-formly.mjs +0 -5
  441. package/esm2022/formly/public-api.mjs +0 -5
  442. package/esm2022/formly/types/api.mjs +0 -37
  443. package/esm2022/formly/types/checkbox.mjs +0 -22
  444. package/esm2022/formly/types/date.mjs +0 -22
  445. package/esm2022/formly/types/department.mjs +0 -22
  446. package/esm2022/formly/types/establishment.mjs +0 -22
  447. package/esm2022/formly/types/index.mjs +0 -12
  448. package/esm2022/formly/types/input.mjs +0 -26
  449. package/esm2022/formly/types/qualification.mjs +0 -22
  450. package/esm2022/formly/types/radios.mjs +0 -25
  451. package/esm2022/formly/types/select.mjs +0 -28
  452. package/esm2022/formly/types/textarea.mjs +0 -22
  453. package/esm2022/formly/types/user.mjs +0 -22
  454. package/esm2022/formly/wrappers/checkbox-layout.mjs +0 -30
  455. package/esm2022/formly/wrappers/error.mjs +0 -57
  456. package/esm2022/formly/wrappers/helper.mjs +0 -19
  457. package/esm2022/formly/wrappers/icon.mjs +0 -19
  458. package/esm2022/formly/wrappers/index.mjs +0 -8
  459. package/esm2022/formly/wrappers/radiosfield-layout.mjs +0 -30
  460. package/esm2022/formly/wrappers/suffix.mjs +0 -19
  461. package/esm2022/formly/wrappers/textfield-layout.mjs +0 -39
  462. package/esm2022/forms/checkbox-input/checkbox-input.component.mjs +0 -34
  463. package/esm2022/forms/form-field-id.directive.mjs +0 -52
  464. package/esm2022/forms/inject-ng-control.mjs +0 -25
  465. package/esm2022/forms/lucca-front-ng-forms.mjs +0 -5
  466. package/esm2022/forms/multilanguage-input/model/multilanguage-translation.mjs +0 -2
  467. package/esm2022/forms/multilanguage-input/multilanguage-input.component.mjs +0 -95
  468. package/esm2022/forms/multilanguage-input/multilanguage-input.translate.mjs +0 -6
  469. package/esm2022/forms/multilanguage-input/translations.mjs +0 -13
  470. package/esm2022/forms/multilanguage-input/validators.mjs +0 -7
  471. package/esm2022/forms/noop-value-accessor.directive.mjs +0 -35
  472. package/esm2022/forms/number-format-input/number-format-input.component.mjs +0 -92
  473. package/esm2022/forms/number-format-input/number-format-input.translate.mjs +0 -7
  474. package/esm2022/forms/number-format-input/translations.mjs +0 -27
  475. package/esm2022/forms/number-input/number-input.component.mjs +0 -38
  476. package/esm2022/forms/number-input/number-input.translate.mjs +0 -7
  477. package/esm2022/forms/number-input/translations.mjs +0 -27
  478. package/esm2022/forms/phone-number-input/formatter.mjs +0 -7
  479. package/esm2022/forms/phone-number-input/lucca-front-ng-forms-phone-number-input.mjs +0 -5
  480. package/esm2022/forms/phone-number-input/phone-number-format.pipe.mjs +0 -18
  481. package/esm2022/forms/phone-number-input/phone-number-input.component.mjs +0 -186
  482. package/esm2022/forms/phone-number-input/public-api.mjs +0 -6
  483. package/esm2022/forms/phone-number-input/types.mjs +0 -2
  484. package/esm2022/forms/phone-number-input/validators.mjs +0 -17
  485. package/esm2022/forms/public-api.mjs +0 -17
  486. package/esm2022/forms/radio-group-input/radio/radio.component.mjs +0 -54
  487. package/esm2022/forms/radio-group-input/radio-group-input.component.mjs +0 -45
  488. package/esm2022/forms/radio-group-input/radio-group-token.mjs +0 -3
  489. package/esm2022/forms/switch-input/switch-input.component.mjs +0 -26
  490. package/esm2022/forms/text-input/text-input-addon.mjs +0 -2
  491. package/esm2022/forms/text-input/text-input.component.mjs +0 -82
  492. package/esm2022/forms/text-input/text-input.translate.mjs +0 -7
  493. package/esm2022/forms/text-input/translations.mjs +0 -35
  494. package/esm2022/forms/textarea-input/textarea-input.component.mjs +0 -53
  495. package/esm2022/icon/icon.component.mjs +0 -29
  496. package/esm2022/icon/lucca-front-ng-icon.mjs +0 -5
  497. package/esm2022/icon/public-api.mjs +0 -2
  498. package/esm2022/inline-message/inline-message-state.mjs +0 -2
  499. package/esm2022/inline-message/inline-message.component.mjs +0 -33
  500. package/esm2022/inline-message/lucca-front-ng-inline-message.mjs +0 -5
  501. package/esm2022/inline-message/public-api.mjs +0 -3
  502. package/esm2022/input/clearer/clearer.component.mjs +0 -35
  503. package/esm2022/input/clearer/clearer.model.mjs +0 -3
  504. package/esm2022/input/clearer/clearer.module.mjs +0 -16
  505. package/esm2022/input/clearer/index.mjs +0 -4
  506. package/esm2022/input/displayer/index.mjs +0 -4
  507. package/esm2022/input/displayer/input-displayer.directive.mjs +0 -59
  508. package/esm2022/input/displayer/input-displayer.model.mjs +0 -6
  509. package/esm2022/input/displayer/input-displayer.module.mjs +0 -16
  510. package/esm2022/input/input.directive.mjs +0 -42
  511. package/esm2022/input/input.model.mjs +0 -54
  512. package/esm2022/input/input.module.mjs +0 -18
  513. package/esm2022/input/lucca-front-ng-input.mjs +0 -5
  514. package/esm2022/input/public-api.mjs +0 -6
  515. package/esm2022/lucca-front-ng.mjs +0 -5
  516. package/esm2022/modal/dialog-adapter/dialog-content-adapter/dialog-content-adapter.component.mjs +0 -100
  517. package/esm2022/modal/dialog-adapter/dialog-ref-adapter.mjs +0 -19
  518. package/esm2022/modal/lucca-front-ng-modal.mjs +0 -5
  519. package/esm2022/modal/modal-config.default.mjs +0 -17
  520. package/esm2022/modal/modal-config.model.mjs +0 -5
  521. package/esm2022/modal/modal-panel.component.mjs +0 -123
  522. package/esm2022/modal/modal-ref.factory.mjs +0 -60
  523. package/esm2022/modal/modal-ref.model.mjs +0 -11
  524. package/esm2022/modal/modal.model.mjs +0 -2
  525. package/esm2022/modal/modal.module.mjs +0 -28
  526. package/esm2022/modal/modal.service.mjs +0 -42
  527. package/esm2022/modal/modal.token.mjs +0 -9
  528. package/esm2022/modal/modal.translate.mjs +0 -7
  529. package/esm2022/modal/modal.utils.mjs +0 -9
  530. package/esm2022/modal/public-api.mjs +0 -12
  531. package/esm2022/modal/translations.mjs +0 -43
  532. package/esm2022/multi-select/displayer/counter-displayer/counter-displayer.component.mjs +0 -78
  533. package/esm2022/multi-select/displayer/default-displayer.component.mjs +0 -95
  534. package/esm2022/multi-select/displayer/default-displayer.translate.mjs +0 -7
  535. package/esm2022/multi-select/displayer/displayer-input.directive.mjs +0 -101
  536. package/esm2022/multi-select/displayer/displayer.directive.mjs +0 -26
  537. package/esm2022/multi-select/displayer/index.mjs +0 -6
  538. package/esm2022/multi-select/displayer/translations.mjs +0 -51
  539. package/esm2022/multi-select/input/index.mjs +0 -3
  540. package/esm2022/multi-select/input/panel-ref.factory.mjs +0 -119
  541. package/esm2022/multi-select/input/panel.model.mjs +0 -4
  542. package/esm2022/multi-select/input/select-all/index.mjs +0 -2
  543. package/esm2022/multi-select/input/select-all/multi-select-all-displayer.component.mjs +0 -99
  544. package/esm2022/multi-select/input/select-all/multi-select-all-header.component.mjs +0 -36
  545. package/esm2022/multi-select/input/select-all/select-all.models.mjs +0 -3
  546. package/esm2022/multi-select/input/select-all/with-select-all.directive.mjs +0 -160
  547. package/esm2022/multi-select/input/select-input.component.mjs +0 -111
  548. package/esm2022/multi-select/lucca-front-ng-multi-select.mjs +0 -5
  549. package/esm2022/multi-select/panel/index.mjs +0 -2
  550. package/esm2022/multi-select/panel/option-group-context.pipe.mjs +0 -24
  551. package/esm2022/multi-select/panel/option-selected.pipe.mjs +0 -19
  552. package/esm2022/multi-select/panel/panel.component.mjs +0 -109
  553. package/esm2022/multi-select/panel/selected-chip.directive.mjs +0 -26
  554. package/esm2022/multi-select/public-api.mjs +0 -5
  555. package/esm2022/multi-select/select.model.mjs +0 -23
  556. package/esm2022/multi-select/select.translate.mjs +0 -7
  557. package/esm2022/multi-select/select.utils.mjs +0 -32
  558. package/esm2022/multi-select/translations.mjs +0 -107
  559. package/esm2022/new-badge/lucca-front-ng-new-badge.mjs +0 -5
  560. package/esm2022/new-badge/new-badge.component.mjs +0 -20
  561. package/esm2022/new-badge/public-api.mjs +0 -2
  562. package/esm2022/number/lucca-front-ng-number.mjs +0 -5
  563. package/esm2022/number/number.module.mjs +0 -16
  564. package/esm2022/number/number.pipe.mjs +0 -36
  565. package/esm2022/number/public-api.mjs +0 -3
  566. package/esm2022/number-format/lucca-front-ng-number-format.mjs +0 -5
  567. package/esm2022/number-format/number-format.directive.mjs +0 -91
  568. package/esm2022/number-format/number-format.mjs +0 -175
  569. package/esm2022/number-format/number-format.models.mjs +0 -7
  570. package/esm2022/number-format/number-format.pipe.mjs +0 -18
  571. package/esm2022/number-format/public-api.mjs +0 -5
  572. package/esm2022/numeric-badge/lucca-front-ng-numeric-badge.mjs +0 -5
  573. package/esm2022/numeric-badge/numeric-badge.component.mjs +0 -43
  574. package/esm2022/numeric-badge/public-api.mjs +0 -2
  575. package/esm2022/option/item/index.mjs +0 -8
  576. package/esm2022/option/item/option-item.component.mjs +0 -76
  577. package/esm2022/option/item/option-item.model.mjs +0 -3
  578. package/esm2022/option/item/option-item.module.mjs +0 -16
  579. package/esm2022/option/item/translations.mjs +0 -35
  580. package/esm2022/option/item/tree-option-item.component.mjs +0 -136
  581. package/esm2022/option/item/tree-option-item.model.mjs +0 -7
  582. package/esm2022/option/item/tree-option-item.module.mjs +0 -16
  583. package/esm2022/option/item/tree-option-item.translate.mjs +0 -7
  584. package/esm2022/option/lucca-front-ng-option.mjs +0 -5
  585. package/esm2022/option/operator/feeder/index.mjs +0 -5
  586. package/esm2022/option/operator/feeder/option-feeder.component.mjs +0 -33
  587. package/esm2022/option/operator/feeder/option-feeder.module.mjs +0 -16
  588. package/esm2022/option/operator/feeder/tree-option-feeder.component.mjs +0 -33
  589. package/esm2022/option/operator/feeder/tree-option-feeder.module.mjs +0 -16
  590. package/esm2022/option/operator/for-groups/for-groups.directive.mjs +0 -89
  591. package/esm2022/option/operator/for-groups/for-groups.module.mjs +0 -16
  592. package/esm2022/option/operator/for-groups/index.mjs +0 -3
  593. package/esm2022/option/operator/for-options/for-options.directive.mjs +0 -50
  594. package/esm2022/option/operator/for-options/for-options.module.mjs +0 -16
  595. package/esm2022/option/operator/for-options/for-tree-options.directive.mjs +0 -29
  596. package/esm2022/option/operator/for-options/for-tree-options.module.mjs +0 -16
  597. package/esm2022/option/operator/for-options/index.mjs +0 -5
  598. package/esm2022/option/operator/index.mjs +0 -10
  599. package/esm2022/option/operator/option-operator.model.mjs +0 -3
  600. package/esm2022/option/operator/option-operator.module.mjs +0 -20
  601. package/esm2022/option/operator/pager/index.mjs +0 -5
  602. package/esm2022/option/operator/pager/option-pager.component.mjs +0 -53
  603. package/esm2022/option/operator/pager/option-pager.module.mjs +0 -16
  604. package/esm2022/option/operator/pager/tree-option-pager.component.mjs +0 -71
  605. package/esm2022/option/operator/pager/tree-option-pager.module.mjs +0 -16
  606. package/esm2022/option/operator/searcher/index.mjs +0 -5
  607. package/esm2022/option/operator/searcher/option-searcher.component.mjs +0 -66
  608. package/esm2022/option/operator/searcher/option-searcher.module.mjs +0 -16
  609. package/esm2022/option/operator/searcher/tree-option-searcher.component.mjs +0 -83
  610. package/esm2022/option/operator/searcher/tree-option-searcher.module.mjs +0 -16
  611. package/esm2022/option/operator/tree-option-operator.model.mjs +0 -4
  612. package/esm2022/option/operator/tree-option-operator.module.mjs +0 -19
  613. package/esm2022/option/option.module.mjs +0 -63
  614. package/esm2022/option/picker/index.mjs +0 -9
  615. package/esm2022/option/picker/option-picker-advanced.component.mjs +0 -150
  616. package/esm2022/option/picker/option-picker.component.mjs +0 -319
  617. package/esm2022/option/picker/option-picker.model.mjs +0 -69
  618. package/esm2022/option/picker/option-picker.module.mjs +0 -18
  619. package/esm2022/option/picker/tree-option-picker-advanced.component.mjs +0 -140
  620. package/esm2022/option/picker/tree-option-picker.component.mjs +0 -173
  621. package/esm2022/option/picker/tree-option-picker.model.mjs +0 -4
  622. package/esm2022/option/picker/tree-option-picker.module.mjs +0 -21
  623. package/esm2022/option/placeholder/index.mjs +0 -4
  624. package/esm2022/option/placeholder/option-placeholder.component.mjs +0 -23
  625. package/esm2022/option/placeholder/option-placeholder.module.mjs +0 -16
  626. package/esm2022/option/placeholder/option-placeholder.translate.mjs +0 -7
  627. package/esm2022/option/placeholder/translations.mjs +0 -35
  628. package/esm2022/option/public-api.mjs +0 -8
  629. package/esm2022/option/selector/all/index.mjs +0 -6
  630. package/esm2022/option/selector/all/select-all.component.mjs +0 -64
  631. package/esm2022/option/selector/all/select-all.module.mjs +0 -16
  632. package/esm2022/option/selector/all/select-all.translate.mjs +0 -7
  633. package/esm2022/option/selector/all/translations.mjs +0 -35
  634. package/esm2022/option/selector/all/tree-select-all.component.mjs +0 -67
  635. package/esm2022/option/selector/all/tree-select-all.module.mjs +0 -16
  636. package/esm2022/option/selector/index.mjs +0 -6
  637. package/esm2022/option/selector/option-selector.model.mjs +0 -3
  638. package/esm2022/option/selector/option-selector.module.mjs +0 -16
  639. package/esm2022/option/selector/tree-option-selector.model.mjs +0 -4
  640. package/esm2022/option/selector/tree-option-selector.module.mjs +0 -16
  641. package/esm2022/option/tree-option.module.mjs +0 -19
  642. package/esm2022/picker/input-picker.model.mjs +0 -4
  643. package/esm2022/picker/lucca-front-ng-picker.mjs +0 -5
  644. package/esm2022/picker/public-api.mjs +0 -2
  645. package/esm2022/plg-push/lucca-front-ng-plg-push.mjs +0 -5
  646. package/esm2022/plg-push/plg-push.component.mjs +0 -17
  647. package/esm2022/plg-push/public-api.mjs +0 -2
  648. package/esm2022/popover/animation/index.mjs +0 -2
  649. package/esm2022/popover/animation/popover.animation.mjs +0 -16
  650. package/esm2022/popover/lucca-front-ng-popover.mjs +0 -5
  651. package/esm2022/popover/panel/index.mjs +0 -4
  652. package/esm2022/popover/panel/popover-panel.component.mjs +0 -126
  653. package/esm2022/popover/panel/popover-panel.model.mjs +0 -120
  654. package/esm2022/popover/panel/popover-panel.module.mjs +0 -16
  655. package/esm2022/popover/popover.module.mjs +0 -18
  656. package/esm2022/popover/public-api.mjs +0 -6
  657. package/esm2022/popover/target/index.mjs +0 -4
  658. package/esm2022/popover/target/popover-target.directive.mjs +0 -53
  659. package/esm2022/popover/target/popover-target.model.mjs +0 -65
  660. package/esm2022/popover/target/popover-target.module.mjs +0 -16
  661. package/esm2022/popover/trigger/index.mjs +0 -4
  662. package/esm2022/popover/trigger/popover-trigger.directive.mjs +0 -186
  663. package/esm2022/popover/trigger/popover-trigger.model.mjs +0 -470
  664. package/esm2022/popover/trigger/popover-trigger.module.mjs +0 -17
  665. package/esm2022/popover2/content/popover-content/popover-content.component.mjs +0 -78
  666. package/esm2022/popover2/lucca-front-ng-popover2.mjs +0 -5
  667. package/esm2022/popover2/popover-focus-trap.mjs +0 -24
  668. package/esm2022/popover2/popover-tokens.mjs +0 -3
  669. package/esm2022/popover2/popover.directive.mjs +0 -257
  670. package/esm2022/popover2/popover.providers.mjs +0 -6
  671. package/esm2022/popover2/popover.translate.mjs +0 -7
  672. package/esm2022/popover2/popover2.translate.mjs +0 -19
  673. package/esm2022/popover2/public-api.mjs +0 -4
  674. package/esm2022/popover2/translations.mjs +0 -27
  675. package/esm2022/popup/lucca-front-ng-popup.mjs +0 -5
  676. package/esm2022/popup/popup-config.default.mjs +0 -9
  677. package/esm2022/popup/popup-config.model.mjs +0 -2
  678. package/esm2022/popup/popup-ref.factory.mjs +0 -28
  679. package/esm2022/popup/popup-ref.model.mjs +0 -139
  680. package/esm2022/popup/popup.module.mjs +0 -21
  681. package/esm2022/popup/popup.service.mjs +0 -21
  682. package/esm2022/popup/popup.token.mjs +0 -8
  683. package/esm2022/popup/public-api.mjs +0 -8
  684. package/esm2022/popup-employee/card/panel/user-popover-panel.component.mjs +0 -152
  685. package/esm2022/popup-employee/card/panel/user-popover-panel.model.mjs +0 -2
  686. package/esm2022/popup-employee/card/pipe/inject-parameter.pipe.mjs +0 -18
  687. package/esm2022/popup-employee/card/pipe/is-future.pipe.mjs +0 -32
  688. package/esm2022/popup-employee/card/pipe/leave-ends-display.pipe.mjs +0 -44
  689. package/esm2022/popup-employee/card/trigger/user-popover-trigger.directive.mjs +0 -178
  690. package/esm2022/popup-employee/lucca-front-ng-popup-employee.mjs +0 -5
  691. package/esm2022/popup-employee/popup-employee.translate.mjs +0 -7
  692. package/esm2022/popup-employee/public-api.mjs +0 -5
  693. package/esm2022/popup-employee/service/user-popover-service.model.mjs +0 -2
  694. package/esm2022/popup-employee/service/user-popover.store.mjs +0 -59
  695. package/esm2022/popup-employee/translations.mjs +0 -123
  696. package/esm2022/popup-employee/user-popover.model.mjs +0 -2
  697. package/esm2022/popup-employee/user-popover.providers.mjs +0 -14
  698. package/esm2022/public_api.mjs +0 -2
  699. package/esm2022/qualification/lucca-front-ng-qualification.mjs +0 -5
  700. package/esm2022/qualification/public-api.mjs +0 -4
  701. package/esm2022/qualification/qualification.model.mjs +0 -2
  702. package/esm2022/qualification/qualification.module.mjs +0 -19
  703. package/esm2022/qualification/select/index.mjs +0 -3
  704. package/esm2022/qualification/select/input/index.mjs +0 -4
  705. package/esm2022/qualification/select/input/qualification-select-input.component.mjs +0 -60
  706. package/esm2022/qualification/select/input/qualification-select-input.module.mjs +0 -19
  707. package/esm2022/qualification/select/input/qualification-select-input.translate.mjs +0 -7
  708. package/esm2022/qualification/select/input/translations.mjs +0 -27
  709. package/esm2022/qualification/select/qualification-select.module.mjs +0 -19
  710. package/esm2022/safe-content/lucca-front-ng-safe-content.mjs +0 -5
  711. package/esm2022/safe-content/public-api.mjs +0 -4
  712. package/esm2022/safe-content/safe-content.module.mjs +0 -18
  713. package/esm2022/safe-content/safe-external-svg.pipe.mjs +0 -42
  714. package/esm2022/safe-content/safe-html.pipe.mjs +0 -19
  715. package/esm2022/scroll/lucca-front-ng-scroll.mjs +0 -5
  716. package/esm2022/scroll/public-api.mjs +0 -4
  717. package/esm2022/scroll/scroll.directive.mjs +0 -77
  718. package/esm2022/scroll/scroll.model.mjs +0 -2
  719. package/esm2022/scroll/scroll.module.mjs +0 -16
  720. package/esm2022/select/input/index.mjs +0 -4
  721. package/esm2022/select/input/select-input.component.mjs +0 -249
  722. package/esm2022/select/input/select-input.model.mjs +0 -179
  723. package/esm2022/select/input/select-input.module.mjs +0 -19
  724. package/esm2022/select/lucca-front-ng-select.mjs +0 -5
  725. package/esm2022/select/public-api.mjs +0 -3
  726. package/esm2022/select/select.module.mjs +0 -19
  727. package/esm2022/sidepanel/lucca-front-ng-sidepanel.mjs +0 -5
  728. package/esm2022/sidepanel/public-api.mjs +0 -4
  729. package/esm2022/sidepanel/sidepanel.model.mjs +0 -32
  730. package/esm2022/sidepanel/sidepanel.module.mjs +0 -20
  731. package/esm2022/sidepanel/sidepanel.service.mjs +0 -25
  732. package/esm2022/simple-select/api/api-v3.directive.mjs +0 -6
  733. package/esm2022/simple-select/api/api-v4.directive.mjs +0 -6
  734. package/esm2022/simple-select/api/api.directive.mjs +0 -6
  735. package/esm2022/simple-select/api/lucca-front-ng-simple-select-api.mjs +0 -5
  736. package/esm2022/simple-select/api/public-api.mjs +0 -4
  737. package/esm2022/simple-select/input/index.mjs +0 -2
  738. package/esm2022/simple-select/input/panel-ref.factory.mjs +0 -106
  739. package/esm2022/simple-select/input/select-input.component.mjs +0 -60
  740. package/esm2022/simple-select/lucca-front-ng-simple-select.mjs +0 -5
  741. package/esm2022/simple-select/panel/index.mjs +0 -2
  742. package/esm2022/simple-select/panel/option-selected.pipe.mjs +0 -17
  743. package/esm2022/simple-select/panel/panel.component.mjs +0 -70
  744. package/esm2022/simple-select/public-api.mjs +0 -4
  745. package/esm2022/simple-select/select.model.mjs +0 -3
  746. package/esm2022/simple-select/select.translate.mjs +0 -7
  747. package/esm2022/simple-select/translations.mjs +0 -59
  748. package/esm2022/skeleton/lucca-front-ng-skeleton.mjs +0 -5
  749. package/esm2022/skeleton/public-api.mjs +0 -4
  750. package/esm2022/skeleton/skeleton-button/skeleton-button.component.mjs +0 -17
  751. package/esm2022/skeleton/skeleton-field/skeleton-field.component.mjs +0 -17
  752. package/esm2022/skeleton/skeleton-header/skeleton-header.component.mjs +0 -17
  753. package/esm2022/tag/lucca-front-ng-tag.mjs +0 -5
  754. package/esm2022/tag/public-api.mjs +0 -2
  755. package/esm2022/tag/tag.component.mjs +0 -61
  756. package/esm2022/time/core/base-picker.component.mjs +0 -47
  757. package/esm2022/time/core/date-primitives.mjs +0 -2
  758. package/esm2022/time/core/date.utils.mjs +0 -54
  759. package/esm2022/time/core/duration.utils.mjs +0 -55
  760. package/esm2022/time/core/math.utils.mjs +0 -17
  761. package/esm2022/time/core/misc.utils.mjs +0 -3
  762. package/esm2022/time/core/repeat-on-hold.directive.mjs +0 -73
  763. package/esm2022/time/core/time-picker-part.component.mjs +0 -148
  764. package/esm2022/time/duration-picker/duration-picker.component.mjs +0 -197
  765. package/esm2022/time/duration-picker/duration-picker.model.mjs +0 -2
  766. package/esm2022/time/duration-picker/duration-picker.translate.mjs +0 -7
  767. package/esm2022/time/duration-picker/translations.mjs +0 -43
  768. package/esm2022/time/lucca-front-ng-time.mjs +0 -5
  769. package/esm2022/time/public-api.mjs +0 -5
  770. package/esm2022/time/time-picker/time-picker.component.mjs +0 -232
  771. package/esm2022/time/time-picker/time-picker.model.mjs +0 -3
  772. package/esm2022/time/time-picker/time-picker.translate.mjs +0 -7
  773. package/esm2022/time/time-picker/translations.mjs +0 -43
  774. package/esm2022/title/lucca-front-ng-title.mjs +0 -5
  775. package/esm2022/title/public-api.mjs +0 -6
  776. package/esm2022/title/title-translate.service.mjs +0 -3
  777. package/esm2022/title/title.model.mjs +0 -2
  778. package/esm2022/title/title.module.mjs +0 -20
  779. package/esm2022/title/title.service.mjs +0 -55
  780. package/esm2022/title/title.strategy.mjs +0 -60
  781. package/esm2022/toast/lucca-front-ng-toast.mjs +0 -5
  782. package/esm2022/toast/public-api.mjs +0 -9
  783. package/esm2022/toast/toasts.component.mjs +0 -62
  784. package/esm2022/toast/toasts.model.mjs +0 -2
  785. package/esm2022/toast/toasts.module.mjs +0 -16
  786. package/esm2022/toast/toasts.service.mjs +0 -37
  787. package/esm2022/toast/toasts.translate.mjs +0 -7
  788. package/esm2022/toast/translations.mjs +0 -27
  789. package/esm2022/tooltip/animation/index.mjs +0 -2
  790. package/esm2022/tooltip/animation/tooltip.animation.mjs +0 -16
  791. package/esm2022/tooltip/lucca-front-ng-tooltip.mjs +0 -5
  792. package/esm2022/tooltip/panel/index.mjs +0 -3
  793. package/esm2022/tooltip/panel/tooltip-panel.component.mjs +0 -44
  794. package/esm2022/tooltip/panel/tooltip-panel.module.mjs +0 -16
  795. package/esm2022/tooltip/public-api.mjs +0 -5
  796. package/esm2022/tooltip/tooltip.module.mjs +0 -17
  797. package/esm2022/tooltip/trigger/ellipsis.ruler.mjs +0 -81
  798. package/esm2022/tooltip/trigger/index.mjs +0 -3
  799. package/esm2022/tooltip/trigger/tooltip-trigger.directive.mjs +0 -310
  800. package/esm2022/tooltip/trigger/tooltip-trigger.module.mjs +0 -17
  801. package/esm2022/user/display/display-format.model.mjs +0 -25
  802. package/esm2022/user/display/index.mjs +0 -4
  803. package/esm2022/user/display/user-display.module.mjs +0 -17
  804. package/esm2022/user/display/user-display.pipe.mjs +0 -72
  805. package/esm2022/user/lucca-front-ng-user.mjs +0 -5
  806. package/esm2022/user/picture/index.mjs +0 -3
  807. package/esm2022/user/picture/user-picture.component.mjs +0 -85
  808. package/esm2022/user/picture/user-picture.module.mjs +0 -19
  809. package/esm2022/user/public-api.mjs +0 -8
  810. package/esm2022/user/select/homonyms/index.mjs +0 -4
  811. package/esm2022/user/select/homonyms/user-homonyms.component.mjs +0 -72
  812. package/esm2022/user/select/homonyms/user-homonyms.module.mjs +0 -16
  813. package/esm2022/user/select/homonyms/user-homonyms.service.mjs +0 -53
  814. package/esm2022/user/select/index.mjs +0 -6
  815. package/esm2022/user/select/input/index.mjs +0 -4
  816. package/esm2022/user/select/input/translations.mjs +0 -35
  817. package/esm2022/user/select/input/user-select-input.component.mjs +0 -89
  818. package/esm2022/user/select/input/user-select-input.module.mjs +0 -19
  819. package/esm2022/user/select/input/user-select-input.translate.mjs +0 -7
  820. package/esm2022/user/select/me/index.mjs +0 -3
  821. package/esm2022/user/select/me/me-option.directive.mjs +0 -123
  822. package/esm2022/user/select/me/me-option.module.mjs +0 -16
  823. package/esm2022/user/select/searcher/index.mjs +0 -4
  824. package/esm2022/user/select/searcher/translations.mjs +0 -27
  825. package/esm2022/user/select/searcher/user-searcher.component.mjs +0 -187
  826. package/esm2022/user/select/searcher/user-searcher.module.mjs +0 -16
  827. package/esm2022/user/select/searcher/user-searcher.translate.mjs +0 -7
  828. package/esm2022/user/select/user-select.module.mjs +0 -22
  829. package/esm2022/user/service/index.mjs +0 -3
  830. package/esm2022/user/service/user-service.model.mjs +0 -4
  831. package/esm2022/user/service/user-v3.service.mjs +0 -51
  832. package/esm2022/user/tile/index.mjs +0 -3
  833. package/esm2022/user/tile/user-tile.component.mjs +0 -63
  834. package/esm2022/user/tile/user-tile.module.mjs +0 -20
  835. package/esm2022/user/user.model.mjs +0 -2
  836. package/esm2022/user/user.module.mjs +0 -19
@@ -1,470 +0,0 @@
1
- import { isFakeMousedownFromScreenReader } from '@angular/cdk/a11y';
2
- import { OverlayConfig, } from '@angular/cdk/overlay';
3
- import { TemplatePortal } from '@angular/cdk/portal';
4
- import { generateId } from '@lucca-front/ng/core';
5
- import { Subject, Subscription, timer } from 'rxjs';
6
- import { debounce, distinctUntilChanged, map } from 'rxjs/operators';
7
- // tslint:disable-next-line: max-line-length
8
- export class ALuPopoverTrigger {
9
- /** References the popover instance that the trigger is associated with. */
10
- get panel() {
11
- return this._panel;
12
- }
13
- set panel(p) {
14
- this._panel = p;
15
- }
16
- /** References the popover target instance that the trigger is associated with. */
17
- get target() {
18
- return this._target;
19
- }
20
- set target(t) {
21
- this._target = t;
22
- }
23
- get triggerEvent() {
24
- return this._triggerEvent;
25
- }
26
- set triggerEvent(te) {
27
- this._triggerEvent = te;
28
- if (te === 'hover' || te === 'focus') {
29
- if (this._hoveredSubscription) {
30
- this._hoveredSubscription.unsubscribe();
31
- }
32
- this._hoveredSubscription = this._hovered$
33
- .pipe(distinctUntilChanged(), debounce((h) => (h ? timer(this.enterDelay) : timer(this.leaveDelay))))
34
- .subscribe((h) => (h ? this.openPopover() : this.closePopover()));
35
- }
36
- }
37
- get enterDelay() {
38
- return this._enterDelay;
39
- }
40
- set enterDelay(d) {
41
- this._enterDelay = d;
42
- }
43
- get leaveDelay() {
44
- return this._leaveDelay;
45
- }
46
- set leaveDelay(d) {
47
- this._leaveDelay = d;
48
- }
49
- get disabled() {
50
- return this._disabled;
51
- }
52
- set disabled(d) {
53
- this._disabled = d;
54
- }
55
- get whenEllipsis() {
56
- return this._whenEllipsis;
57
- }
58
- set whenEllipsis(we) {
59
- this._whenEllipsis = we;
60
- }
61
- constructor(_overlay, _elementRef, _viewContainerRef) {
62
- this._overlay = _overlay;
63
- this._elementRef = _elementRef;
64
- this._viewContainerRef = _viewContainerRef;
65
- this._overlayRef = null;
66
- this._popoverOpen = false;
67
- this._hovered$ = new Subject();
68
- // tracking input type is necessary so it's possible to only auto-focus
69
- // the first item of the list when the popover is opened via the keyboard
70
- this._openedByMouse = false;
71
- this._triggerEvent = 'click';
72
- this._enterDelay = 50;
73
- this._leaveDelay = 50;
74
- this._disabled = false;
75
- this._whenEllipsis = false;
76
- this._triggerId = `popoverTrigger_${generateId()}`;
77
- this._panelId = `popoverPanel_${generateId()}`;
78
- }
79
- onClick() {
80
- if (this.triggerEvent === 'click' && !this.disabled) {
81
- this.togglePopover();
82
- }
83
- }
84
- onMouseEnter() {
85
- if (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {
86
- this._hovered$.next(true);
87
- }
88
- }
89
- onMouseLeave() {
90
- if (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {
91
- this._hovered$.next(false);
92
- }
93
- }
94
- onFocus() {
95
- if (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {
96
- this.openPopover();
97
- }
98
- }
99
- onBlur() {
100
- if (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {
101
- this.closePopover();
102
- }
103
- }
104
- /** Toggles the popover between the open and closed states. */
105
- togglePopover() {
106
- return this._popoverOpen ? this.closePopover() : this.openPopover();
107
- }
108
- /** Opens the popover. */
109
- openPopover() {
110
- if (!this._popoverOpen && !this._disabled && (!this._whenEllipsis || this._hasEllipsis())) {
111
- this._createOverlay();
112
- this._attachPortalToOverlay();
113
- /** Only subscribe to overlay detachments if trigger event is hover or focus */
114
- if (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {
115
- this._subscribeToOverlayDetachments();
116
- }
117
- /** Only subscribe to backdrop if trigger event is click */
118
- if (this.triggerEvent === 'click') {
119
- this._subscribeToBackdrop();
120
- }
121
- /** Only subscribe to mouse enter/leave of the panel if trigger = hover */
122
- this._initPopover();
123
- this._emitOpen();
124
- }
125
- }
126
- /** Closes the popover. */
127
- closePopover() {
128
- if (this._overlayRef) {
129
- /** Overlay can still be attached if close has been triggered by mouse leave. */
130
- if (this._overlayRef.hasAttached()) {
131
- this._overlayRef.detach();
132
- }
133
- /** unsubscribe to backdrop click if it was defined */
134
- if (this._backdropSubscription) {
135
- // if (this.popover.triggerEvent === 'click') {
136
- this._backdropSubscription.unsubscribe();
137
- }
138
- this._resetPopover();
139
- this._emitClose();
140
- }
141
- }
142
- /** Removes the popover from the DOM. */
143
- destroyPopover() {
144
- if (this._overlayRef) {
145
- this._overlayRef.dispose();
146
- this._overlayRef = null;
147
- this._cleanUpSubscriptions();
148
- }
149
- }
150
- /** Focuses the popover trigger. */
151
- focus() {
152
- this._elementRef.nativeElement.focus();
153
- }
154
- _handleMousedown(event) {
155
- if (!isFakeMousedownFromScreenReader(event)) {
156
- this._openedByMouse = true;
157
- }
158
- }
159
- /** The text direction of the containing app. */
160
- get dir() {
161
- // return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';
162
- return 'ltr';
163
- }
164
- /** Return if the popover main positionning is vertical */
165
- get isVerticallyPositionned() {
166
- const position = this.target.position;
167
- return position === 'below' || position === 'above';
168
- }
169
- _attachPortalToOverlay() {
170
- this._overlayRef.attach(this._portal);
171
- }
172
- _getPanelScrollStrategy() {
173
- return this.panel.scrollStrategy;
174
- }
175
- /**
176
- * This method ensures that the popover
177
- */
178
- _subscribeToPanelEvents() {
179
- if (this._overlayRef) {
180
- this._panelEventsSubscriptions = new Subscription();
181
- if (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {
182
- this._panelEventsSubscriptions.add(this.panel.hovered.subscribe((hovered) => {
183
- this._hovered$.next(hovered);
184
- }));
185
- }
186
- this._panelEventsSubscriptions.add(this.panel.close.subscribe(() => {
187
- this.closePopover();
188
- }));
189
- this._panelEventsSubscriptions.add(this.panel.open.subscribe(() => {
190
- this.openPopover();
191
- }));
192
- }
193
- }
194
- /**
195
- * This method ensures that the popover closes when the overlay has been detached
196
- * Detach can occur if we scroll while popover is opened
197
- */
198
- _subscribeToOverlayDetachments() {
199
- if (this._overlayRef) {
200
- this._overlayDetachmentsSubscription = this._overlayRef.detachments().subscribe(() => {
201
- this._hovered$.next(false);
202
- });
203
- }
204
- }
205
- /**
206
- * This method ensures that the popover closes when the overlay backdrop is clicked.
207
- * We do not use first() here because doing so would not catch clicks from within
208
- * the popover, and it would fail to unsubscribe properly. Instead, we unsubscribe
209
- * explicitly when the popover is closed or destroyed.
210
- */
211
- _subscribeToBackdrop() {
212
- if (this._overlayRef) {
213
- this._backdropSubscription = this._overlayRef.backdropClick().subscribe(() => {
214
- this.closePopover();
215
- });
216
- }
217
- }
218
- /**
219
- * This method sets the popover state to open and focuses the first item if
220
- * the popover was opened via the keyboard.
221
- */
222
- _initPopover() {
223
- this._setIsPopoverOpen(true);
224
- this.panel.panelId = this._panelId;
225
- this.panel.triggerId = this._triggerId;
226
- this.panel.keydownEvents$ = this._overlayRef.keydownEvents();
227
- this._subscribeToPanelEvents();
228
- }
229
- /**
230
- * This method resets the popover when it's closed, most importantly restoring
231
- * focus to the popover trigger if the popover was opened via the keyboard.
232
- */
233
- _resetPopover() {
234
- this._setIsPopoverOpen(false);
235
- // Focus only needs to be reset to the host element if the popover was opened
236
- // by the keyboard and manually shifted to the first popover item.
237
- if (!this._openedByMouse && this.triggerEvent === 'click') {
238
- this.focus();
239
- }
240
- this._openedByMouse = false;
241
- }
242
- /** set state rather than toggle to support triggers sharing a popover */
243
- _setIsPopoverOpen(isOpen) {
244
- this._popoverOpen = isOpen;
245
- // tell the panel it's opening/closing
246
- isOpen ? this.panel.onOpen() : this.panel.onClose();
247
- }
248
- /**
249
- * This method checks that a valid instance of MdPopover has been passed into
250
- * mdPopoverTriggerFor. If not, an exception is thrown.
251
- */
252
- _checkPanel() {
253
- if (!this.panel) {
254
- throw Error(`lu-popover-trigger: must pass in a lu-popover instance.
255
- Example:
256
- <lu-popover #popover="LuPopover"></lu-popover>
257
- <button type="button" [luPopover]="popover"></button>`);
258
- }
259
- }
260
- _checkTarget() {
261
- if (!this.target) {
262
- throw Error(`lu-popover-trigger: must pass in a popover target instance.`);
263
- }
264
- }
265
- /**
266
- * This method creates the overlay from the provided popover's template and saves its
267
- * OverlayRef so that it can be attached to the DOM when openPopover is called.
268
- */
269
- _createOverlay() {
270
- if (!this._overlayRef) {
271
- this._portal = new TemplatePortal(this.panel.templateRef, this._viewContainerRef);
272
- const config = this._getOverlayConfig();
273
- this._subscribeToPositions(config.positionStrategy);
274
- this._overlayRef = this._overlay.create(config);
275
- this._panel.overlayRef = this._overlayRef;
276
- }
277
- return this._overlayRef;
278
- }
279
- /**
280
- * This method builds the configuration object needed to create the overlay, the OverlayConfig.
281
- * @returns OverlayConfig
282
- */
283
- _getOverlayConfig() {
284
- const overlayState = new OverlayConfig();
285
- overlayState.positionStrategy = this._getPosition();
286
- /** Display overlay backdrop if trigger event is click */
287
- if (this.triggerEvent === 'click') {
288
- overlayState.hasBackdrop = true;
289
- overlayState.backdropClass = 'cdk-overlay-transparent-backdrop';
290
- }
291
- overlayState.direction = this.dir;
292
- const scrollStrategy = this._getPanelScrollStrategy();
293
- switch (scrollStrategy) {
294
- case 'block':
295
- overlayState.scrollStrategy = this._overlay.scrollStrategies.block();
296
- break;
297
- case 'close':
298
- overlayState.scrollStrategy = this._overlay.scrollStrategies.close();
299
- break;
300
- default:
301
- overlayState.scrollStrategy = this._overlay.scrollStrategies.reposition();
302
- break;
303
- }
304
- return overlayState;
305
- }
306
- /**
307
- * Listens to changes in the position of the overlay and sets the correct classes
308
- * on the popover based on the new position. This ensures the animation origin is always
309
- * correct, even if a fallback position is used for the overlay.
310
- */
311
- _subscribeToPositions(position) {
312
- this._positionSubscription = position.positionChanges
313
- .pipe(map((c) => c.connectionPair), distinctUntilChanged())
314
- .subscribe((connectionPair) => {
315
- this.panel.setPositionClasses(connectionPair.overlayX, connectionPair.overlayY);
316
- });
317
- }
318
- /**
319
- * This method builds the position strategy for the overlay, so the popover is properly connected
320
- * to the trigger.
321
- * @returns FlexibleConnectedPositionStrategy
322
- */
323
- _getPosition() {
324
- /**
325
- * For overriding position element, when LuPopoverTargetAt has a valid element reference.
326
- * Useful for sticking popover to parent element and offsetting arrow to trigger element.
327
- * If undefined defaults to the trigger element reference.
328
- */
329
- const element = this.target.elementRef;
330
- // if (typeof this.targetElement !== 'undefined' && this.popover) {
331
- // this.popover.containerPositioning = true;
332
- // element = this.targetElement._elementRef;
333
- // }
334
- const connectionPosition = {
335
- originX: 'start',
336
- originY: 'top',
337
- };
338
- // Position
339
- const position = this.target.position;
340
- const overlap = this.target.overlap;
341
- if (position === 'above') {
342
- connectionPosition.originY = overlap ? 'bottom' : 'top';
343
- }
344
- else if (position === 'below') {
345
- connectionPosition.originY = overlap ? 'top' : 'bottom';
346
- }
347
- else if (position === 'before') {
348
- connectionPosition.originX = overlap ? 'end' : 'start';
349
- }
350
- else if (position === 'after') {
351
- connectionPosition.originX = overlap ? 'start' : 'end';
352
- }
353
- // Alignment
354
- const alignment = this.target.alignment;
355
- if (this.isVerticallyPositionned) {
356
- if (alignment === 'left') {
357
- connectionPosition.originX = 'start';
358
- }
359
- else if (alignment === 'right') {
360
- connectionPosition.originX = 'end';
361
- }
362
- else {
363
- connectionPosition.originX = 'center';
364
- }
365
- }
366
- else {
367
- if (alignment === 'top') {
368
- connectionPosition.originY = 'top';
369
- }
370
- else if (alignment === 'bottom') {
371
- connectionPosition.originY = 'bottom';
372
- }
373
- else {
374
- connectionPosition.originY = 'center';
375
- }
376
- }
377
- const overlayPosition = {
378
- overlayX: 'start',
379
- overlayY: 'top',
380
- };
381
- if (overlap) {
382
- overlayPosition.overlayX = connectionPosition.originX;
383
- overlayPosition.overlayY = connectionPosition.originY;
384
- }
385
- else if (this.isVerticallyPositionned) {
386
- overlayPosition.overlayX = connectionPosition.originX;
387
- overlayPosition.overlayY = position === 'above' ? 'bottom' : 'top';
388
- }
389
- else {
390
- overlayPosition.overlayX = position === 'before' ? 'end' : 'start';
391
- overlayPosition.overlayY = connectionPosition.originY;
392
- }
393
- return this._overlay
394
- .position()
395
- .flexibleConnectedTo(element)
396
- .withPositions([
397
- {
398
- originX: connectionPosition.originX,
399
- originY: connectionPosition.originY,
400
- overlayX: overlayPosition.overlayX,
401
- overlayY: overlayPosition.overlayY,
402
- },
403
- {
404
- originX: connectionPosition.originX,
405
- originY: this._invertVerticalPos(connectionPosition.originY),
406
- overlayX: overlayPosition.overlayX,
407
- overlayY: this._invertVerticalPos(overlayPosition.overlayY),
408
- },
409
- {
410
- originX: this._invertHorizontalPos(connectionPosition.originX),
411
- originY: connectionPosition.originY,
412
- overlayX: this._invertHorizontalPos(overlayPosition.overlayX),
413
- overlayY: overlayPosition.overlayY,
414
- },
415
- {
416
- originX: this._invertHorizontalPos(connectionPosition.originX),
417
- originY: this._invertVerticalPos(connectionPosition.originY),
418
- overlayX: this._invertHorizontalPos(overlayPosition.overlayX),
419
- overlayY: this._invertVerticalPos(overlayPosition.overlayY),
420
- },
421
- ])
422
- .withDefaultOffsetX(this.target.offsetX)
423
- .withDefaultOffsetY(this.target.offsetY);
424
- }
425
- _invertVerticalPos(y) {
426
- if (y === 'top') {
427
- y = 'bottom';
428
- }
429
- else if (y === 'bottom') {
430
- y = 'top';
431
- }
432
- return y;
433
- }
434
- _invertHorizontalPos(x) {
435
- if (x === 'end') {
436
- x = 'start';
437
- }
438
- else if (x === 'start') {
439
- x = 'end';
440
- }
441
- return x;
442
- }
443
- _cleanUpSubscriptions() {
444
- if (this._backdropSubscription) {
445
- this._backdropSubscription.unsubscribe();
446
- }
447
- if (this._positionSubscription) {
448
- this._positionSubscription.unsubscribe();
449
- }
450
- if (this._hoveredSubscription) {
451
- this._hoveredSubscription.unsubscribe();
452
- }
453
- if (this._panelEventsSubscriptions) {
454
- this._panelEventsSubscriptions.unsubscribe();
455
- }
456
- if (this._overlayDetachmentsSubscription) {
457
- this._overlayDetachmentsSubscription.unsubscribe();
458
- }
459
- }
460
- _hasEllipsis() {
461
- if (!(this._elementRef.nativeElement instanceof HTMLElement)) {
462
- return false;
463
- }
464
- const { scrollWidth, scrollHeight, clientWidth, clientHeight } = this._elementRef.nativeElement;
465
- const textClampedByWidth = scrollWidth > clientWidth;
466
- const textClampedByHeight = scrollHeight > clientHeight;
467
- return textClampedByWidth || textClampedByHeight;
468
- }
469
- }
470
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvcG9wb3Zlci90cmlnZ2VyL3BvcG92ZXItdHJpZ2dlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRSxPQUFPLEVBS04sYUFBYSxHQUliLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFtQixjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFjLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFzQ3JFLDRDQUE0QztBQUM1QyxNQUFNLE9BQWdCLGlCQUFpQjtJQW9CdEMsMkVBQTJFO0lBQzNFLElBQUksS0FBSztRQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsQ0FBUztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBR0Qsa0ZBQWtGO0lBQ2xGLElBQUksTUFBTTtRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsQ0FBVTtRQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBR0QsSUFBSSxZQUFZO1FBQ2YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxFQUF5QjtRQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFHLEVB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QUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUVoRyxNQUFNLGtCQUFrQixHQUFHLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDckQsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBRXhELE9BQU8sa0JBQWtCLElBQUksbUJBQW1CLENBQUM7SUFDbEQsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7XG5cdEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcblx0SG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MsXG5cdE9yaWdpbkNvbm5lY3Rpb25Qb3NpdGlvbixcblx0T3ZlcmxheSxcblx0T3ZlcmxheUNvbmZpZyxcblx0T3ZlcmxheUNvbm5lY3Rpb25Qb3NpdGlvbixcblx0T3ZlcmxheVJlZixcblx0VmVydGljYWxDb25uZWN0aW9uUG9zLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZW5lcmF0ZUlkIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2UsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJTHVQb3BvdmVyUGFuZWwsIEx1UG9wb3ZlclNjcm9sbFN0cmF0ZWd5IH0gZnJvbSAnLi4vcGFuZWwvaW5kZXgnO1xuaW1wb3J0IHsgSUx1UG9wb3ZlclRhcmdldCB9IGZyb20gJy4uL3RhcmdldC9pbmRleCc7XG5cbmV4cG9ydCB0eXBlIEx1UG9wb3ZlclRyaWdnZXJFdmVudCA9ICdjbGljaycgfCAnaG92ZXInIHwgJ25vbmUnIHwgJ2ZvY3VzJztcblxuLyoqXG4gKiBjb21wb25lbnQgdGhhdCB3aWxsIGRlY2lkZSB3aGVuIHRvIHNob3cgdGhlIHBvcG92ZXIgYW5kIGF0dGFjaCBpdCB0byB0aGUgdGFyZ2V0XG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJTHVQb3BvdmVyVHJpZ2dlcjxUUGFuZWwgZXh0ZW5kcyBJTHVQb3BvdmVyUGFuZWwgPSBJTHVQb3BvdmVyUGFuZWwsIFRUYXJnZXQgZXh0ZW5kcyBJTHVQb3BvdmVyVGFyZ2V0ID0gSUx1UG9wb3ZlclRhcmdldD4ge1xuXHQvKiogdGhlIHBvcG92ZXIgcGFuZWwgdG8gZGlzcGxheSAqL1xuXHRwYW5lbDogVFBhbmVsO1xuXHQvKiogdGhlIHBvcG92ZXIgdGFyZ2V0IHRvIGF0dGFjaCB0aGUgcGFuZWwgKi9cblx0dGFyZ2V0OiBUVGFyZ2V0O1xuXG5cdC8qKiB3aGVuIHRvIGRpc3BsYXkgdGhlIHBvcG92ZXIgKi9cblx0dHJpZ2dlckV2ZW50OiBMdVBvcG92ZXJUcmlnZ2VyRXZlbnQ7XG5cdC8qKiBkZWxheSBiZWZvcmUgcG9wb3ZlciBhcHBhcml0aW9uIHdoZW4gdHJpZ2dlciBpcyAnaG92ZXInICovXG5cdGVudGVyRGVsYXk6IG51bWJlcjtcblx0LyoqIGRlbGF5IGJlZm9yZSBwb3BvdmVyIGRpc3Bhcml0aW9uIHdoZW4gdHJpZ2dlciBpcyAnaG92ZXInICovXG5cdGxlYXZlRGVsYXk6IG51bWJlcjtcblxuXHQvKiogZGlzYWJsZSBwb3BvdmVyIGFwcGFyaXRpb24gKi9cblx0ZGlzYWJsZWQ6IGJvb2xlYW47XG5cdC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBvcGVuZWQuICovXG5cdG9uT3BlbjogT2JzZXJ2YWJsZTx2b2lkPjtcblx0LyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYXNzb2NpYXRlZCBwb3BvdmVyIGlzIGNsb3NlZC4gKi9cblx0b25DbG9zZTogT2JzZXJ2YWJsZTx2b2lkPjtcblxuXHRvcGVuUG9wb3ZlcigpO1xuXG5cdGNsb3NlUG9wb3ZlcigpO1xuXG5cdHRvZ2dsZVBvcG92ZXIoKTtcblxuXHRkZXN0cm95UG9wb3ZlcigpO1xufVxuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFMdVBvcG92ZXJUcmlnZ2VyPFRQYW5lbCBleHRlbmRzIElMdVBvcG92ZXJQYW5lbCA9IElMdVBvcG92ZXJQYW5lbCwgVFRhcmdldCBleHRlbmRzIElMdVBvcG92ZXJUYXJnZXQgPSBJTHVQb3BvdmVyVGFyZ2V0PiBpbXBsZW1lbnRzIElMdVBvcG92ZXJUcmlnZ2VyPFRQYW5lbCwgVFRhcmdldD4ge1xuXHRwcm90ZWN0ZWQgX3BvcnRhbDogVGVtcGxhdGVQb3J0YWw8dW5rbm93bj4gfCBDb21wb25lbnRQb3J0YWw8VFBhbmVsPjtcblx0cHJvdGVjdGVkIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG5cdHByb3RlY3RlZCBfcG9wb3Zlck9wZW4gPSBmYWxzZTtcblx0Ly8gcHJvdGVjdGVkIF9oYWx0ID0gZmFsc2U7XG5cdHByb3RlY3RlZCBfYmFja2Ryb3BTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblx0cHJvdGVjdGVkIF9wb3NpdGlvblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG5cdHByb3RlY3RlZCBfbW91c2VvdmVyVGltZXI6IHVua25vd247XG5cblx0cHJvdGVjdGVkIF9ob3ZlcmVkJCA9IG5ldyBTdWJqZWN0KCk7XG5cdHByb3RlY3RlZCBfaG92ZXJlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXHRwcm90ZWN0ZWQgX3BhbmVsRXZlbnRzU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uO1xuXHRwcm90ZWN0ZWQgX292ZXJsYXlEZXRhY2htZW50c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG5cdC8vIHRyYWNraW5nIGlucHV0IHR5cGUgaXMgbmVjZXNzYXJ5IHNvIGl0J3MgcG9zc2libGUgdG8gb25seSBhdXRvLWZvY3VzXG5cdC8vIHRoZSBmaXJzdCBpdGVtIG9mIHRoZSBsaXN0IHdoZW4gdGhlIHBvcG92ZXIgaXMgb3BlbmVkIHZpYSB0aGUga2V5Ym9hcmRcblx0cHJvdGVjdGVkIF9vcGVuZWRCeU1vdXNlID0gZmFsc2U7XG5cblx0cHJvdGVjdGVkIF9wYW5lbDogVFBhbmVsO1xuXHQvKiogUmVmZXJlbmNlcyB0aGUgcG9wb3ZlciBpbnN0YW5jZSB0aGF0IHRoZSB0cmlnZ2VyIGlzIGFzc29jaWF0ZWQgd2l0aC4gKi9cblx0Z2V0IHBhbmVsKCkge1xuXHRcdHJldHVybiB0aGlzLl9wYW5lbDtcblx0fVxuXG5cdHNldCBwYW5lbChwOiBUUGFuZWwpIHtcblx0XHR0aGlzLl9wYW5lbCA9IHA7XG5cdH1cblxuXHRwcm90ZWN0ZWQgX3RhcmdldDogVFRhcmdldDtcblx0LyoqIFJlZmVyZW5jZXMgdGhlIHBvcG92ZXIgdGFyZ2V0IGluc3RhbmNlIHRoYXQgdGhlIHRyaWdnZXIgaXMgYXNzb2NpYXRlZCB3aXRoLiAqL1xuXHRnZXQgdGFyZ2V0KCkge1xuXHRcdHJldHVybiB0aGlzLl90YXJnZXQ7XG5cdH1cblxuXHRzZXQgdGFyZ2V0KHQ6IFRUYXJnZXQpIHtcblx0XHR0aGlzLl90YXJnZXQgPSB0O1xuXHR9XG5cblx0cHJvdGVjdGVkIF90cmlnZ2VyRXZlbnQ6IEx1UG9wb3ZlclRyaWdnZXJFdmVudCA9ICdjbGljayc7XG5cdGdldCB0cmlnZ2VyRXZlbnQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX3RyaWdnZXJFdmVudDtcblx0fVxuXG5cdHNldCB0cmlnZ2VyRXZlbnQodGU6IEx1UG9wb3ZlclRyaWdnZXJFdmVudCkge1xuXHRcdHRoaXMuX3RyaWdnZXJFdmVudCA9IHRlO1xuXHRcdGlmICh0ZSA9PT0gJ2hvdmVyJyB8fCB0ZSA9PT0gJ2ZvY3VzJykge1xuXHRcdFx0aWYgKHRoaXMuX2hvdmVyZWRTdWJzY3JpcHRpb24pIHtcblx0XHRcdFx0dGhpcy5faG92ZXJlZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5faG92ZXJlZFN1YnNjcmlwdGlvbiA9IHRoaXMuX2hvdmVyZWQkXG5cdFx0XHRcdC5waXBlKFxuXHRcdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG5cdFx0XHRcdFx0ZGVib3VuY2UoKGgpID0+IChoID8gdGltZXIodGhpcy5lbnRlckRlbGF5KSA6IHRpbWVyKHRoaXMubGVhdmVEZWxheSkpKSxcblx0XHRcdFx0KVxuXHRcdFx0XHQuc3Vic2NyaWJlKChoKSA9PiAoaCA/IHRoaXMub3BlblBvcG92ZXIoKSA6IHRoaXMuY2xvc2VQb3BvdmVyKCkpKTtcblx0XHR9XG5cdH1cblxuXHRwcm90ZWN0ZWQgX2VudGVyRGVsYXkgPSA1MDtcblx0Z2V0IGVudGVyRGVsYXkoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2VudGVyRGVsYXk7XG5cdH1cblxuXHRzZXQgZW50ZXJEZWxheShkOiBudW1iZXIpIHtcblx0XHR0aGlzLl9lbnRlckRlbGF5ID0gZDtcblx0fVxuXG5cdHByb3RlY3RlZCBfbGVhdmVEZWxheSA9IDUwO1xuXHRnZXQgbGVhdmVEZWxheSgpIHtcblx0XHRyZXR1cm4gdGhpcy5fbGVhdmVEZWxheTtcblx0fVxuXG5cdHNldCBsZWF2ZURlbGF5KGQ6IG51bWJlcikge1xuXHRcdHRoaXMuX2xlYXZlRGVsYXkgPSBkO1xuXHR9XG5cblx0cHJvdGVjdGVkIF9kaXNhYmxlZCA9IGZhbHNlO1xuXHRnZXQgZGlzYWJsZWQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuXHR9XG5cblx0c2V0IGRpc2FibGVkKGQ6IGJvb2xlYW4pIHtcblx0XHR0aGlzLl9kaXNhYmxlZCA9IGQ7XG5cdH1cblxuXHRwcm90ZWN0ZWQgX3doZW5FbGxpcHNpcyA9IGZhbHNlO1xuXHRnZXQgd2hlbkVsbGlwc2lzKCkge1xuXHRcdHJldHVybiB0aGlzLl93aGVuRWxsaXBzaXM7XG5cdH1cblxuXHRzZXQgd2hlbkVsbGlwc2lzKHdlOiBib29sZWFuKSB7XG5cdFx0dGhpcy5fd2hlbkVsbGlwc2lzID0gd2U7XG5cdH1cblxuXHRwcm90ZWN0ZWQgX3RyaWdnZXJJZDogc3RyaW5nO1xuXHRwcm90ZWN0ZWQgX3BhbmVsSWQ6IHN0cmluZztcblxuXHQvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhc3NvY2lhdGVkIHBvcG92ZXIgaXMgb3BlbmVkLiAqL1xuXHRhYnN0cmFjdCBvbk9wZW46IE9ic2VydmFibGU8dm9pZD47XG5cdC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBjbG9zZWQuICovXG5cdGFic3RyYWN0IG9uQ2xvc2U6IE9ic2VydmFibGU8dm9pZD47XG5cblx0cHJvdGVjdGVkIGFic3RyYWN0IF9lbWl0T3BlbigpOiB2b2lkO1xuXG5cdHByb3RlY3RlZCBhYnN0cmFjdCBfZW1pdENsb3NlKCk6IHZvaWQ7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJvdGVjdGVkIF9vdmVybGF5OiBPdmVybGF5LFxuXHRcdHByb3RlY3RlZCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG5cdFx0cHJvdGVjdGVkIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuXHQpIHtcblx0XHR0aGlzLl90cmlnZ2VySWQgPSBgcG9wb3ZlclRyaWdnZXJfJHtnZW5lcmF0ZUlkKCl9YDtcblx0XHR0aGlzLl9wYW5lbElkID0gYHBvcG92ZXJQYW5lbF8ke2dlbmVyYXRlSWQoKX1gO1xuXHR9XG5cblx0b25DbGljaygpIHtcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdjbGljaycgJiYgIXRoaXMuZGlzYWJsZWQpIHtcblx0XHRcdHRoaXMudG9nZ2xlUG9wb3ZlcigpO1xuXHRcdH1cblx0fVxuXG5cdG9uTW91c2VFbnRlcigpIHtcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcblx0XHRcdHRoaXMuX2hvdmVyZWQkLm5leHQodHJ1ZSk7XG5cdFx0fVxuXHR9XG5cblx0b25Nb3VzZUxlYXZlKCkge1xuXHRcdGlmICh0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2hvdmVyJyB8fCB0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2ZvY3VzJykge1xuXHRcdFx0dGhpcy5faG92ZXJlZCQubmV4dChmYWxzZSk7XG5cdFx0fVxuXHR9XG5cblx0b25Gb2N1cygpIHtcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcblx0XHRcdHRoaXMub3BlblBvcG92ZXIoKTtcblx0XHR9XG5cdH1cblxuXHRvbkJsdXIoKSB7XG5cdFx0aWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSAnaG92ZXInIHx8IHRoaXMudHJpZ2dlckV2ZW50ID09PSAnZm9jdXMnKSB7XG5cdFx0XHR0aGlzLmNsb3NlUG9wb3ZlcigpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBUb2dnbGVzIHRoZSBwb3BvdmVyIGJldHdlZW4gdGhlIG9wZW4gYW5kIGNsb3NlZCBzdGF0ZXMuICovXG5cdHRvZ2dsZVBvcG92ZXIoKTogdm9pZCB7XG5cdFx0cmV0dXJuIHRoaXMuX3BvcG92ZXJPcGVuID8gdGhpcy5jbG9zZVBvcG92ZXIoKSA6IHRoaXMub3BlblBvcG92ZXIoKTtcblx0fVxuXG5cdC8qKiBPcGVucyB0aGUgcG9wb3Zlci4gKi9cblx0b3BlblBvcG92ZXIoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLl9wb3BvdmVyT3BlbiAmJiAhdGhpcy5fZGlzYWJsZWQgJiYgKCF0aGlzLl93aGVuRWxsaXBzaXMgfHwgdGhpcy5faGFzRWxsaXBzaXMoKSkpIHtcblx0XHRcdHRoaXMuX2NyZWF0ZU92ZXJsYXkoKTtcblx0XHRcdHRoaXMuX2F0dGFjaFBvcnRhbFRvT3ZlcmxheSgpO1xuXG5cdFx0XHQvKiogT25seSBzdWJzY3JpYmUgdG8gb3ZlcmxheSBkZXRhY2htZW50cyBpZiB0cmlnZ2VyIGV2ZW50IGlzIGhvdmVyIG9yIGZvY3VzICovXG5cdFx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcblx0XHRcdFx0dGhpcy5fc3Vic2NyaWJlVG9PdmVybGF5RGV0YWNobWVudHMoKTtcblx0XHRcdH1cblxuXHRcdFx0LyoqIE9ubHkgc3Vic2NyaWJlIHRvIGJhY2tkcm9wIGlmIHRyaWdnZXIgZXZlbnQgaXMgY2xpY2sgKi9cblx0XHRcdGlmICh0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2NsaWNrJykge1xuXHRcdFx0XHR0aGlzLl9zdWJzY3JpYmVUb0JhY2tkcm9wKCk7XG5cdFx0XHR9XG5cblx0XHRcdC8qKiBPbmx5IHN1YnNjcmliZSB0byBtb3VzZSBlbnRlci9sZWF2ZSBvZiB0aGUgcGFuZWwgaWYgdHJpZ2dlciA9IGhvdmVyICovXG5cblx0XHRcdHRoaXMuX2luaXRQb3BvdmVyKCk7XG5cdFx0XHR0aGlzLl9lbWl0T3BlbigpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBDbG9zZXMgdGhlIHBvcG92ZXIuICovXG5cdGNsb3NlUG9wb3ZlcigpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5fb3ZlcmxheVJlZikge1xuXHRcdFx0LyoqIE92ZXJsYXkgY2FuIHN0aWxsIGJlIGF0dGFjaGVkIGlmIGNsb3NlIGhhcyBiZWVuIHRyaWdnZXJlZCBieSBtb3VzZSBsZWF2ZS4gKi9cblx0XHRcdGlmICh0aGlzLl9vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpIHtcblx0XHRcdFx0dGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcblx0XHRcdH1cblxuXHRcdFx0LyoqIHVuc3Vic2NyaWJlIHRvIGJhY2tkcm9wIGNsaWNrIGlmIGl0IHdhcyBkZWZpbmVkICovXG5cdFx0XHRpZiAodGhpcy5fYmFja2Ryb3BTdWJzY3JpcHRpb24pIHtcblx0XHRcdFx0Ly8gaWYgKHRoaXMucG9wb3Zlci50cmlnZ2VyRXZlbnQgPT09ICdjbGljaycpIHtcblx0XHRcdFx0dGhpcy5fYmFja2Ryb3BTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblx0XHRcdH1cblxuXHRcdFx0dGhpcy5fcmVzZXRQb3BvdmVyKCk7XG5cdFx0XHR0aGlzLl9lbWl0Q2xvc2UoKTtcblx0XHR9XG5cdH1cblxuXHQvKiogUmVtb3ZlcyB0aGUgcG9wb3ZlciBmcm9tIHRoZSBET00uICovXG5cdGRlc3Ryb3lQb3BvdmVyKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XG5cdFx0XHR0aGlzLl9vdmVybGF5UmVmLmRpc3Bvc2UoKTtcblx0XHRcdHRoaXMuX292ZXJsYXlSZWYgPSBudWxsO1xuXHRcdFx0dGhpcy5fY2xlYW5VcFN1YnNjcmlwdGlvbnMoKTtcblx0XHR9XG5cdH1cblxuXHQvKiogRm9jdXNlcyB0aGUgcG9wb3ZlciB0cmlnZ2VyLiAqL1xuXHRmb2N1cygpIHtcblx0XHR0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcblx0fVxuXG5cdF9oYW5kbGVNb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcblx0XHRpZiAoIWlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIoZXZlbnQpKSB7XG5cdFx0XHR0aGlzLl9vcGVuZWRCeU1vdXNlID0gdHJ1ZTtcblx0XHR9XG5cdH1cblxuXHQvKiogVGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBjb250YWluaW5nIGFwcC4gKi9cblx0Z2V0IGRpcigpOiBEaXJlY3Rpb24ge1xuXHRcdC8vIHJldHVybiB0aGlzLl9kaXIgJiYgdGhpcy5fZGlyLnZhbHVlID09PSAncnRsJyA/ICdydGwnIDogJ2x0cic7XG5cdFx0cmV0dXJuICdsdHInO1xuXHR9XG5cblx0LyoqIFJldHVybiBpZiB0aGUgcG9wb3ZlciBtYWluIHBvc2l0aW9ubmluZyBpcyB2ZXJ0aWNhbCAqL1xuXHRnZXQgaXNWZXJ0aWNhbGx5UG9zaXRpb25uZWQoKTogYm9vbGVhbiB7XG5cdFx0Y29uc3QgcG9zaXRpb24gPSB0aGlzLnRhcmdldC5wb3NpdGlvbjtcblx0XHRyZXR1cm4gcG9zaXRpb24gPT09ICdiZWxvdycgfHwgcG9zaXRpb24gPT09ICdhYm92ZSc7XG5cdH1cblxuXHRwcm90ZWN0ZWQgX2F0dGFjaFBvcnRhbFRvT3ZlcmxheSgpOiB2b2lkIHtcblx0XHR0aGlzLl9vdmVybGF5UmVmLmF0dGFjaCh0aGlzLl9wb3J0YWwpO1xuXHR9XG5cblx0cHJvdGVjdGVkIF9nZXRQYW5lbFNjcm9sbFN0cmF0ZWd5KCk6IEx1UG9wb3ZlclNjcm9sbFN0cmF0ZWd5IHtcblx0XHRyZXR1cm4gdGhpcy5wYW5lbC5zY3JvbGxTdHJhdGVneTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGlzIG1ldGhvZCBlbnN1cmVzIHRoYXQgdGhlIHBvcG92ZXJcblx0ICovXG5cdHByb3RlY3RlZCBfc3Vic2NyaWJlVG9QYW5lbEV2ZW50cygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5fb3ZlcmxheVJlZikge1xuXHRcdFx0dGhpcy5fcGFuZWxFdmVudHNTdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXHRcdFx0aWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSAnaG92ZXInIHx8IHRoaXMudHJpZ2dlckV2ZW50ID09PSAnZm9jdXMnKSB7XG5cdFx0XHRcdHRoaXMuX3BhbmVsRXZlbnRzU3Vic2NyaXB0aW9ucy5hZGQoXG5cdFx0XHRcdFx0dGhpcy5wYW5lbC5ob3ZlcmVkLnN1YnNjcmliZSgoaG92ZXJlZCkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5faG92ZXJlZCQubmV4dChob3ZlcmVkKTtcblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHRcdHRoaXMuX3BhbmVsRXZlbnRzU3Vic2NyaXB0aW9ucy5hZGQoXG5cdFx0XHRcdHRoaXMucGFuZWwuY2xvc2Uuc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLmNsb3NlUG9wb3ZlcigpO1xuXHRcdFx0XHR9KSxcblx0XHRcdCk7XG5cdFx0XHR0aGlzLl9wYW5lbEV2ZW50c1N1YnNjcmlwdGlvbnMuYWRkKFxuXHRcdFx0XHR0aGlzLnBhbmVsLm9wZW4uc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLm9wZW5Qb3BvdmVyKCk7XG5cdFx0XHRcdH0pLFxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBtZXRob2QgZW5zdXJlcyB0aGF0IHRoZSBwb3BvdmVyIGNsb3NlcyB3aGVuIHRoZSBvdmVybGF5IGhhcyBiZWVuIGRldGFjaGVkXG5cdCAqIERldGFjaCBjYW4gb2NjdXIgaWYgd2Ugc2Nyb2xsIHdoaWxlIHBvcG92ZXIgaXMgb3BlbmVkXG5cdCAqL1xuXHRwcm90ZWN0ZWQgX3N1YnNjcmliZVRvT3ZlcmxheURldGFjaG1lbnRzKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XG5cdFx0XHR0aGlzLl9vdmVybGF5RGV0YWNobWVudHNTdWJzY3JpcHRpb24gPSB0aGlzLl9vdmVybGF5UmVmLmRldGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdFx0dGhpcy5faG92ZXJlZCQubmV4dChmYWxzZSk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBtZXRob2QgZW5zdXJlcyB0aGF0IHRoZSBwb3BvdmVyIGNsb3NlcyB3aGVuIHRoZSBvdmVybGF5IGJhY2tkcm9wIGlzIGNsaWNrZWQuXG5cdCAqIFdlIGRvIG5vdCB1c2UgZmlyc3QoKSBoZXJlIGJlY2F1c2UgZG9pbmcgc28gd291bGQgbm90IGNhdGNoIGNsaWNrcyBmcm9tIHdpdGhpblxuXHQgKiB0aGUgcG9wb3ZlciwgYW5kIGl0IHdvdWxkIGZhaWwgdG8gdW5zdWJzY3JpYmUgcHJvcGVybHkuIEluc3RlYWQsIHdlIHVuc3Vic2NyaWJlXG5cdCAqIGV4cGxpY2l0bHkgd2hlbiB0aGUgcG9wb3ZlciBpcyBjbG9zZWQgb3IgZGVzdHJveWVkLlxuXHQgKi9cblx0cHJvdGVjdGVkIF9zdWJzY3JpYmVUb0JhY2tkcm9wKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XG5cdFx0XHR0aGlzLl9iYWNrZHJvcFN1YnNjcmlwdGlvbiA9IHRoaXMuX292ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB7XG5cdFx0XHRcdHRoaXMuY2xvc2VQb3BvdmVyKCk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBtZXRob2Qgc2V0cyB0aGUgcG9wb3ZlciBzdGF0ZSB0byBvcGVuIGFuZCBmb2N1c2VzIHRoZSBmaXJzdCBpdGVtIGlmXG5cdCAqIHRoZSBwb3BvdmVyIHdhcyBvcGVuZWQgdmlhIHRoZSBrZXlib2FyZC5cblx0ICovXG5cdHByb3RlY3RlZCBfaW5pdFBvcG92ZXIoKTogdm9pZCB7XG5cdFx0dGhpcy5fc2V0SXNQb3BvdmVyT3Blbih0cnVlKTtcblx0XHR0aGlzLnBhbmVsLnBhbmVsSWQgPSB0aGlzLl9wYW5lbElkO1xuXHRcdHRoaXMucGFuZWwudHJpZ2dlcklkID0gdGhpcy5fdHJpZ2dlcklkO1xuXHRcdHRoaXMucGFuZWwua2V5ZG93bkV2ZW50cyQgPSB0aGlzLl9vdmVybGF5UmVmLmtleWRvd25FdmVudHMoKTtcblx0XHR0aGlzLl9zdWJzY3JpYmVUb1BhbmVsRXZlbnRzKCk7XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBtZXRob2QgcmVzZXRzIHRoZSBwb3BvdmVyIHdoZW4gaXQncyBjbG9zZWQsIG1vc3QgaW1wb3J0YW50bHkgcmVzdG9yaW5nXG5cdCAqIGZvY3VzIHRvIHRoZSBwb3BvdmVyIHRyaWdnZXIgaWYgdGhlIHBvcG92ZXIgd2FzIG9wZW5lZCB2aWEgdGhlIGtleWJvYXJkLlxuXHQgKi9cblx0cHJvdGVjdGVkIF9yZXNldFBvcG92ZXIoKTogdm9pZCB7XG5cdFx0dGhpcy5fc2V0SXNQb3BvdmVyT3BlbihmYWxzZSk7XG5cblx0XHQvLyBGb2N1cyBvbmx5IG5lZWRzIHRvIGJlIHJlc2V0IHRvIHRoZSBob3N0IGVsZW1lbnQgaWYgdGhlIHBvcG92ZXIgd2FzIG9wZW5lZFxuXHRcdC8vIGJ5IHRoZSBrZXlib2FyZCBhbmQgbWFudWFsbHkgc2hpZnRlZCB0byB0aGUgZmlyc3QgcG9wb3ZlciBpdGVtLlxuXHRcdGlmICghdGhpcy5fb3BlbmVkQnlNb3VzZSAmJiB0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2NsaWNrJykge1xuXHRcdFx0dGhpcy5mb2N1cygpO1xuXHRcdH1cblx0XHR0aGlzLl9vcGVuZWRCeU1vdXNlID0gZmFsc2U7XG5cdH1cblxuXHQvKiogc2V0IHN0YXRlIHJhdGhlciB0aGFuIHRvZ2dsZSB0byBzdXBwb3J0IHRyaWdnZXJzIHNoYXJpbmcgYSBwb3BvdmVyICovXG5cdHByb3RlY3RlZCBfc2V0SXNQb3BvdmVyT3Blbihpc09wZW46IGJvb2xlYW4pOiB2b2lkIHtcblx0XHR0aGlzLl9wb3BvdmVyT3BlbiA9IGlzT3Blbjtcblx0XHQvLyB0ZWxsIHRoZSBwYW5lbCBpdCdzIG9wZW5pbmcvY2xvc2luZ1xuXHRcdGlzT3BlbiA/IHRoaXMucGFuZWwub25PcGVuKCkgOiB0aGlzLnBhbmVsLm9uQ2xvc2UoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiAgVGhpcyBtZXRob2QgY2hlY2tzIHRoYXQgYSB2YWxpZCBpbnN0YW5jZSBvZiBNZFBvcG92ZXIgaGFzIGJlZW4gcGFzc2VkIGludG9cblx0ICogIG1kUG9wb3ZlclRyaWdnZXJGb3IuIElmIG5vdCwgYW4gZXhjZXB0aW9uIGlzIHRocm93bi5cblx0ICovXG5cdHByb3RlY3RlZCBfY2hlY2tQYW5lbCgpIHtcblx0XHRpZiAoIXRoaXMucGFuZWwpIHtcblx0XHRcdHRocm93IEVycm9yKGBsdS1wb3BvdmVyLXRyaWdnZXI6IG11c3QgcGFzcyBpbiBhIGx1LXBvcG92ZXIgaW5zdGFuY2UuXG4gICAgICBFeGFtcGxlOlxuICAgICAgPGx1LXBvcG92ZXIgI3BvcG92ZXI9XCJMdVBvcG92ZXJcIj48L2x1LXBvcG92ZXI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbbHVQb3BvdmVyXT1cInBvcG92ZXJcIj48L2J1dHRvbj5gKTtcblx0XHR9XG5cdH1cblxuXHRwcm90ZWN0ZWQgX2NoZWNrVGFyZ2V0KCkge1xuXHRcdGlmICghdGhpcy50YXJnZXQpIHtcblx0XHRcdHRocm93IEVycm9yKGBsdS1wb3BvdmVyLXRyaWdnZXI6IG11c3QgcGFzcyBpbiBhIHBvcG92ZXIgdGFyZ2V0IGluc3RhbmNlLmApO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiAgVGhpcyBtZXRob2QgY3JlYXRlcyB0aGUgb3ZlcmxheSBmcm9tIHRoZSBwcm92aWRlZCBwb3BvdmVyJ3MgdGVtcGxhdGUgYW5kIHNhdmVzIGl0c1xuXHQgKiAgT3ZlcmxheVJlZiBzbyB0aGF0IGl0IGNhbiBiZSBhdHRhY2hlZCB0byB0aGUgRE9NIHdoZW4gb3BlblBvcG92ZXIgaXMgY2FsbGVkLlxuXHQgKi9cblx0cHJvdGVjdGVkIF9jcmVhdGVPdmVybGF5KCk6IE92ZXJsYXlSZWYge1xuXHRcdGlmICghdGhpcy5fb3ZlcmxheVJlZikge1xuXHRcdFx0dGhpcy5fcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMucGFuZWwudGVtcGxhdGVSZWYsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYpO1xuXHRcdFx0Y29uc3QgY29uZmlnID0gdGhpcy5fZ2V0T3ZlcmxheUNvbmZpZygpO1xuXHRcdFx0dGhpcy5fc3Vic2NyaWJlVG9Qb3NpdGlvbnMoY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KTtcblx0XHRcdHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZShjb25maWcpO1xuXHRcdFx0dGhpcy5fcGFuZWwub3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXlSZWY7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMuX292ZXJsYXlSZWY7XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBtZXRob2QgYnVpbGRzIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdCBuZWVkZWQgdG8gY3JlYXRlIHRoZSBvdmVybGF5LCB0aGUgT3ZlcmxheUNvbmZpZy5cblx0ICogQHJldHVybnMgT3ZlcmxheUNvbmZpZ1xuXHQgKi9cblx0cHJvdGVjdGVkIF9nZXRPdmVybGF5Q29uZmlnKCk6IE92ZXJsYXlDb25maWcge1xuXHRcdGNvbnN0IG92ZXJsYXlTdGF0ZSA9IG5ldyBPdmVybGF5Q29uZmlnKCk7XG5cdFx0b3ZlcmxheVN0YXRlLnBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9nZXRQb3NpdGlvbigpO1xuXHRcdC8qKiBEaXNwbGF5IG92ZXJsYXkgYmFja2Ryb3AgaWYgdHJpZ2dlciBldmVudCBpcyBjbGljayAqL1xuXHRcdGlmICh0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2NsaWNrJykge1xuXHRcdFx0b3ZlcmxheVN0YXRlLmhhc0JhY2tkcm9wID0gdHJ1ZTtcblx0XHRcdG92ZXJsYXlTdGF0ZS5iYWNrZHJvcENsYXNzID0gJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJztcblx0XHR9XG5cblx0XHRvdmVybGF5U3RhdGUuZGlyZWN0aW9uID0gdGhpcy5kaXI7XG5cdFx0Y29uc3Qgc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLl9nZXRQYW5lbFNjcm9sbFN0cmF0ZWd5KCk7XG5cdFx0c3dpdGNoIChzY3JvbGxTdHJhdGVneSkge1xuXHRcdFx0Y2FzZSAnYmxvY2snOlxuXHRcdFx0XHRvdmVybGF5U3RhdGUuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKTtcblx0XHRcdFx0YnJlYWs7XG5cblx0XHRcdGNhc2UgJ2Nsb3NlJzpcblx0XHRcdFx0b3ZlcmxheVN0YXRlLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmNsb3NlKCk7XG5cdFx0XHRcdGJyZWFrO1xuXG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRvdmVybGF5U3RhdGUuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xuXHRcdFx0XHRicmVhaztcblx0XHR9XG5cdFx0cmV0dXJuIG92ZXJsYXlTdGF0ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMaXN0ZW5zIHRvIGNoYW5nZXMgaW4gdGhlIHBvc2l0aW9uIG9mIHRoZSBvdmVybGF5IGFuZCBzZXRzIHRoZSBjb3JyZWN0IGNsYXNzZXNcblx0ICogb24gdGhlIHBvcG92ZXIgYmFzZWQgb24gdGhlIG5ldyBwb3NpdGlvbi4gVGhpcyBlbnN1cmVzIHRoZSBhbmltYXRpb24gb3JpZ2luIGlzIGFsd2F5c1xuXHQgKiBjb3JyZWN0LCBldmVuIGlmIGEgZmFsbGJhY2sgcG9zaXRpb24gaXMgdXNlZCBmb3IgdGhlIG92ZXJsYXkuXG5cdCAqL1xuXHRwcm90ZWN0ZWQgX3N1YnNjcmliZVRvUG9zaXRpb25zKHBvc2l0aW9uOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kpOiB2b2lkIHtcblx0XHR0aGlzLl9wb3NpdGlvblN1YnNjcmlwdGlvbiA9IHBvc2l0aW9uLnBvc2l0aW9uQ2hhbmdlc1xuXHRcdFx0LnBpcGUoXG5cdFx0XHRcdG1hcCgoYykgPT4gYy5jb25uZWN0aW9uUGFpciksXG5cdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG5cdFx0XHQpXG5cdFx0XHQuc3Vic2NyaWJlKChjb25uZWN0aW9uUGFpcikgPT4ge1xuXHRcdFx0XHR0aGlzLnBhbmVsLnNldFBvc2l0aW9uQ2xhc3Nlcyhjb25uZWN0aW9uUGFpci5vdmVybGF5WCwgY29ubmVjdGlvblBhaXIub3ZlcmxheVkpO1xuXHRcdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBtZXRob2QgYnVpbGRzIHRoZSBwb3NpdGlvbiBzdHJhdGVneSBmb3IgdGhlIG92ZXJsYXksIHNvIHRoZSBwb3BvdmVyIGlzIHByb3Blcmx5IGNvbm5lY3RlZFxuXHQgKiB0byB0aGUgdHJpZ2dlci5cblx0ICogQHJldHVybnMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5XG5cdCAqL1xuXHRwcm90ZWN0ZWQgX2dldFBvc2l0aW9uKCk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG5cdFx0LyoqXG5cdFx0ICogRm9yIG92ZXJyaWRpbmcgcG9zaXRpb24gZWxlbWVudCwgd2hlbiBMdVBvcG92ZXJUYXJnZXRBdCBoYXMgYSB2YWxpZCBlbGVtZW50IHJlZmVyZW5jZS5cblx0XHQgKiBVc2VmdWwgZm9yIHN0aWNraW5nIHBvcG92ZXIgdG8gcGFyZW50IGVsZW1lbnQgYW5kIG9mZnNldHRpbmcgYXJyb3cgdG8gdHJpZ2dlciBlbGVtZW50LlxuXHRcdCAqIElmIHVuZGVmaW5lZCBkZWZhdWx0cyB0byB0aGUgdHJpZ2dlciBlbGVtZW50IHJlZmVyZW5jZS5cblx0XHQgKi9cblx0XHRjb25zdCBlbGVtZW50ID0gdGhpcy50YXJnZXQuZWxlbWVudFJlZjtcblx0XHQvLyBpZiAodHlwZW9mIHRoaXMudGFyZ2V0RWxlbWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5wb3BvdmVyKSB7XG5cdFx0Ly8gXHR0aGlzLnBvcG92ZXIuY29udGFpbmVyUG9zaXRpb25pbmcgPSB0cnVlO1xuXHRcdC8vIFx0ZWxlbWVudCA9IHRoaXMudGFyZ2V0RWxlbWVudC5fZWxlbWVudFJlZjtcblx0XHQvLyB9XG5cblx0XHRjb25zdCBjb25uZWN0aW9uUG9zaXRpb246IE9yaWdpbkNvbm5lY3Rpb25Qb3NpdGlvbiA9IHtcblx0XHRcdG9yaWdpblg6ICdzdGFydCcsXG5cdFx0XHRvcmlnaW5ZOiAndG9wJyxcblx0XHR9O1xuXG5cdFx0Ly8gUG9zaXRpb25cblx0XHRjb25zdCBwb3NpdGlvbiA9IHRoaXMudGFyZ2V0LnBvc2l0aW9uO1xuXHRcdGNvbnN0IG92ZXJsYXAgPSB0aGlzLnRhcmdldC5vdmVybGFwO1xuXHRcdGlmIChwb3NpdGlvbiA9PT0gJ2Fib3ZlJykge1xuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblkgPSBvdmVybGFwID8gJ2JvdHRvbScgOiAndG9wJztcblx0XHR9IGVsc2UgaWYgKHBvc2l0aW9uID09PSAnYmVsb3cnKSB7XG5cdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSA9IG92ZXJsYXAgPyAndG9wJyA6ICdib3R0b20nO1xuXHRcdH0gZWxzZSBpZiAocG9zaXRpb24gPT09ICdiZWZvcmUnKSB7XG5cdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWCA9IG92ZXJsYXAgPyAnZW5kJyA6ICdzdGFydCc7XG5cdFx0fSBlbHNlIGlmIChwb3NpdGlvbiA9PT0gJ2FmdGVyJykge1xuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblggPSBvdmVybGFwID8gJ3N0YXJ0JyA6ICdlbmQnO1xuXHRcdH1cblxuXHRcdC8vIEFsaWdubWVudFxuXHRcdGNvbnN0IGFsaWdubWVudCA9IHRoaXMudGFyZ2V0LmFsaWdubWVudDtcblx0XHRpZiAodGhpcy5pc1ZlcnRpY2FsbHlQb3NpdGlvbm5lZCkge1xuXHRcdFx0aWYgKGFsaWdubWVudCA9PT0gJ2xlZnQnKSB7XG5cdFx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YID0gJ3N0YXJ0Jztcblx0XHRcdH0gZWxzZSBpZiAoYWxpZ25tZW50ID09PSAncmlnaHQnKSB7XG5cdFx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YID0gJ2VuZCc7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWCA9ICdjZW50ZXInO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRpZiAoYWxpZ25tZW50ID09PSAndG9wJykge1xuXHRcdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSA9ICd0b3AnO1xuXHRcdFx0fSBlbHNlIGlmIChhbGlnbm1lbnQgPT09ICdib3R0b20nKSB7XG5cdFx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZID0gJ2JvdHRvbSc7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSA9ICdjZW50ZXInO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNvbnN0IG92ZXJsYXlQb3NpdGlvbjogT3ZlcmxheUNvbm5lY3Rpb25Qb3NpdGlvbiA9IHtcblx0XHRcdG92ZXJsYXlYOiAnc3RhcnQnLFxuXHRcdFx0b3ZlcmxheVk6ICd0b3AnLFxuXHRcdH07XG5cblx0XHRpZiAob3ZlcmxhcCkge1xuXHRcdFx0b3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYID0gY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblg7XG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkgPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWTtcblx0XHR9IGVsc2UgaWYgKHRoaXMuaXNWZXJ0aWNhbGx5UG9zaXRpb25uZWQpIHtcblx0XHRcdG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCA9IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YO1xuXHRcdFx0b3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZID0gcG9zaXRpb24gPT09ICdhYm92ZScgPyAnYm90dG9tJyA6ICd0b3AnO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVggPSBwb3NpdGlvbiA9PT0gJ2JlZm9yZScgPyAnZW5kJyA6ICdzdGFydCc7XG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkgPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy5fb3ZlcmxheVxuXHRcdFx0LnBvc2l0aW9uKClcblx0XHRcdC5mbGV4aWJsZUNvbm5lY3RlZFRvKGVsZW1lbnQpXG5cdFx0XHQud2l0aFBvc2l0aW9ucyhbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRvcmlnaW5YOiBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWCxcblx0XHRcdFx0XHRvcmlnaW5ZOiBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSxcblx0XHRcdFx0XHRvdmVybGF5WDogb3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYLFxuXHRcdFx0XHRcdG92ZXJsYXlZOiBvdmVybGF5UG9zaXRpb24ub3ZlcmxheVksXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRvcmlnaW5YOiBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWCxcblx0XHRcdFx0XHRvcmlnaW5ZOiB0aGlzLl9pbnZlcnRWZXJ0aWNhbFBvcyhjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSksXG5cdFx0XHRcdFx0b3ZlcmxheVg6IG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCxcblx0XHRcdFx0XHRvdmVybGF5WTogdGhpcy5faW52ZXJ0VmVydGljYWxQb3Mob3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZKSxcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdG9yaWdpblg6IHRoaXMuX2ludmVydEhvcml6b250YWxQb3MoY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblgpLFxuXHRcdFx0XHRcdG9yaWdpblk6IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZLFxuXHRcdFx0XHRcdG92ZXJsYXlYOiB0aGlzLl9pbnZlcnRIb3Jpem9udGFsUG9zKG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCksXG5cdFx0XHRcdFx0b3ZlcmxheVk6IG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WSxcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdG9yaWdpblg6IHRoaXMuX2ludmVydEhvcml6b250YWxQb3MoY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblgpLFxuXHRcdFx0XHRcdG9yaWdpblk6IHRoaXMuX2ludmVydFZlcnRpY2FsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZKSxcblx0XHRcdFx0XHRvdmVybGF5WDogdGhpcy5faW52ZXJ0SG9yaXpvbnRhbFBvcyhvdmVybGF5UG9zaXRpb24ub3ZlcmxheVgpLFxuXHRcdFx0XHRcdG92ZXJsYXlZOiB0aGlzLl9pbnZlcnRWZXJ0aWNhbFBvcyhvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkpLFxuXHRcdFx0XHR9LFxuXHRcdFx0XSlcblx0XHRcdC53aXRoRGVmYXVsdE9mZnNldFgodGhpcy50YXJnZXQub2Zmc2V0WClcblx0XHRcdC53aXRoRGVmYXVsdE9mZnNldFkodGhpcy50YXJnZXQub2Zmc2V0WSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgX2ludmVydFZlcnRpY2FsUG9zKHk6IFZlcnRpY2FsQ29ubmVjdGlvblBvcykge1xuXHRcdGlmICh5ID09PSAndG9wJykge1xuXHRcdFx0eSA9ICdib3R0b20nO1xuXHRcdH0gZWxzZSBpZiAoeSA9PT0gJ2JvdHRvbScpIHtcblx0XHRcdHkgPSAndG9wJztcblx0XHR9XG5cdFx0cmV0dXJuIHk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgX2ludmVydEhvcml6b250YWxQb3MoeDogSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MpIHtcblx0XHRpZiAoeCA9PT0gJ2VuZCcpIHtcblx0XHRcdHggPSAnc3RhcnQnO1xuXHRcdH0gZWxzZSBpZiAoeCA9PT0gJ3N0YXJ0Jykge1xuXHRcdFx0eCA9ICdlbmQnO1xuXHRcdH1cblxuXHRcdHJldHVybiB4O1xuXHR9XG5cblx0cHJvdGVjdGVkIF9jbGVhblVwU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5fYmFja2Ryb3BTdWJzY3JpcHRpb24pIHtcblx0XHRcdHRoaXMuX2JhY2tkcm9wU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLl9wb3NpdGlvblN1YnNjcmlwdGlvbikge1xuXHRcdFx0dGhpcy5fcG9zaXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuX2hvdmVyZWRTdWJzY3JpcHRpb24pIHtcblx0XHRcdHRoaXMuX2hvdmVyZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuX3BhbmVsRXZlbnRzU3Vic2NyaXB0aW9ucykge1xuXHRcdFx0dGhpcy5fcGFuZWxFdmVudHNTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLl9vdmVybGF5RGV0YWNobWVudHNTdWJzY3JpcHRpb24pIHtcblx0XHRcdHRoaXMuX292ZXJsYXlEZXRhY2htZW50c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCBfaGFzRWxsaXBzaXMoKTogYm9vbGVhbiB7XG5cdFx0aWYgKCEodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0Y29uc3QgeyBzY3JvbGxXaWR0aCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRXaWR0aCwgY2xpZW50SGVpZ2h0IH0gPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cblx0XHRjb25zdCB0ZXh0Q2xhbXBlZEJ5V2lkdGggPSBzY3JvbGxXaWR0aCA+IGNsaWVudFdpZHRoO1xuXHRcdGNvbnN0IHRleHRDbGFtcGVkQnlIZWlnaHQgPSBzY3JvbGxIZWlnaHQgPiBjbGllbnRIZWlnaHQ7XG5cblx0XHRyZXR1cm4gdGV4dENsYW1wZWRCeVdpZHRoIHx8IHRleHRDbGFtcGVkQnlIZWlnaHQ7XG5cdH1cbn1cbiJdfQ==
@@ -1,17 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { LuPopoverTriggerDirective } from './popover-trigger.directive';
3
- import { OverlayModule } from '@angular/cdk/overlay';
4
- import * as i0 from "@angular/core";
5
- export class LuPopoverTriggerModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuPopoverTriggerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: LuPopoverTriggerModule, imports: [LuPopoverTriggerDirective, OverlayModule], exports: [LuPopoverTriggerDirective] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuPopoverTriggerModule, imports: [OverlayModule] }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuPopoverTriggerModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- imports: [LuPopoverTriggerDirective, OverlayModule],
14
- exports: [LuPopoverTriggerDirective],
15
- }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL3BvcG92ZXIvdHJpZ2dlci9wb3BvdmVyLXRyaWdnZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQU1yRCxNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixZQUh4Qix5QkFBeUIsRUFBRSxhQUFhLGFBQ3hDLHlCQUF5QjsrR0FFdkIsc0JBQXNCLFlBSEcsYUFBYTs7MkZBR3RDLHNCQUFzQjtrQkFKbEMsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxhQUFhLENBQUM7b0JBQ25ELE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMdVBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbkBOZ01vZHVsZSh7XG5cdGltcG9ydHM6IFtMdVBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlLCBPdmVybGF5TW9kdWxlXSxcblx0ZXhwb3J0czogW0x1UG9wb3ZlclRyaWdnZXJEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBMdVBvcG92ZXJUcmlnZ2VyTW9kdWxlIHt9XG4iXX0=