@leanix/components 0.3.100 → 0.3.102

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 (175) hide show
  1. package/esm2020/index.mjs +2 -1
  2. package/esm2020/lib/core-ui/components/badge/badge.component.mjs +3 -3
  3. package/esm2020/lib/core-ui/components/button/button.component.mjs +3 -3
  4. package/esm2020/lib/core-ui/components/button-group/button-group.component.mjs +3 -3
  5. package/esm2020/lib/core-ui/components/card/card.component.mjs +3 -3
  6. package/esm2020/lib/core-ui/components/collapsible/collapsible.component.mjs +3 -3
  7. package/esm2020/lib/core-ui/components/colored-label/colored-label.component.mjs +3 -3
  8. package/esm2020/lib/core-ui/components/ellipsis/ellipsis.component.mjs +3 -3
  9. package/esm2020/lib/core-ui/components/icon-scale/icon-scale.component.mjs +3 -3
  10. package/esm2020/lib/core-ui/components/spinner/spinner.component.mjs +4 -4
  11. package/esm2020/lib/core-ui/components/table/table-header/table-header.component.mjs +3 -3
  12. package/esm2020/lib/core-ui/components/table/table.component.mjs +3 -3
  13. package/esm2020/lib/core-ui/components/tiny-spinner/tiny-spinner.component.mjs +3 -3
  14. package/esm2020/lib/core-ui/core-ui.module.mjs +4 -4
  15. package/esm2020/lib/core-ui/directives/after-view-init.directive.mjs +3 -3
  16. package/esm2020/lib/core-ui/directives/autoclose-group.service.mjs +3 -3
  17. package/esm2020/lib/core-ui/directives/autoclose.directive.mjs +3 -3
  18. package/esm2020/lib/core-ui/directives/autofocus.directive.mjs +3 -3
  19. package/esm2020/lib/core-ui/directives/html.directive.mjs +3 -3
  20. package/esm2020/lib/core-ui/linkify/linkify.pipe.mjs +4 -4
  21. package/esm2020/lib/core-ui/linkify/unlinkify.pipe.mjs +3 -3
  22. package/esm2020/lib/core-ui/pipes/br.pipe.mjs +3 -3
  23. package/esm2020/lib/core-ui/pipes/contrast-color.pipe.mjs +3 -3
  24. package/esm2020/lib/core-ui/pipes/custom-date.pipe.mjs +4 -4
  25. package/esm2020/lib/core-ui/pipes/highlight-range.pipe.mjs +3 -3
  26. package/esm2020/lib/core-ui/pipes/highlight-term.pipe.mjs +3 -3
  27. package/esm2020/lib/core-ui/pipes/lx-is-uuid.pipe.mjs +3 -3
  28. package/esm2020/lib/core-ui/pipes/lx-time-ago.pipe.mjs +4 -4
  29. package/esm2020/lib/core-ui/pipes/lx-translate.pipe.mjs +4 -4
  30. package/esm2020/lib/core-ui/pipes/markdown.pipe.mjs +3 -3
  31. package/esm2020/lib/core-ui/pipes/nbsp.pipe.mjs +3 -3
  32. package/esm2020/lib/core-ui/pipes/sort.pipe.mjs +3 -3
  33. package/esm2020/lib/core-ui/pipes/translation-after.pipe.mjs +3 -3
  34. package/esm2020/lib/core-ui/pipes/translation-before.pipe.mjs +3 -3
  35. package/esm2020/lib/core-ui/pipes/translation-between.pipe.mjs +3 -3
  36. package/esm2020/lib/core-ui/pipes/unescape-curly-braces.pipe.mjs +3 -3
  37. package/esm2020/lib/core-ui/services/resize-observer.service.mjs +3 -3
  38. package/esm2020/lib/core-ui/tooltip/tooltip.component.mjs +3 -3
  39. package/esm2020/lib/core-ui/tooltip/tooltip.directive.mjs +3 -3
  40. package/esm2020/lib/core-ui/tooltip/tooltip.module.mjs +4 -4
  41. package/esm2020/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.mjs +3 -3
  42. package/esm2020/lib/forms-ui/components/basic-dropdown-item/basic-dropdown-item.component.mjs +3 -3
  43. package/esm2020/lib/forms-ui/components/breadcrumb/breadcrumb.component.mjs +47 -0
  44. package/esm2020/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.mjs +3 -3
  45. package/esm2020/lib/forms-ui/components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component.mjs +3 -3
  46. package/esm2020/lib/forms-ui/components/currency/currency-input.component.mjs +3 -3
  47. package/esm2020/lib/forms-ui/components/currency/currency-symbol.component.mjs +3 -3
  48. package/esm2020/lib/forms-ui/components/date-input/date-input.component.mjs +6 -6
  49. package/esm2020/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.mjs +3 -3
  50. package/esm2020/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component.mjs +3 -3
  51. package/esm2020/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.module.mjs +4 -4
  52. package/esm2020/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.mjs +3 -3
  53. package/esm2020/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-list/keyboard-sortable-list.directive.mjs +3 -3
  54. package/esm2020/lib/forms-ui/components/error-message/error-message.component.mjs +3 -3
  55. package/esm2020/lib/forms-ui/components/form-error/form-error.component.mjs +3 -3
  56. package/esm2020/lib/forms-ui/components/icon/icon.component.mjs +3 -3
  57. package/esm2020/lib/forms-ui/components/input/input.component.mjs +3 -3
  58. package/esm2020/lib/forms-ui/components/keyboard-select.directive.mjs +3 -3
  59. package/esm2020/lib/forms-ui/components/multi-select/multi-select.component.mjs +5 -5
  60. package/esm2020/lib/forms-ui/components/option/option.component.mjs +3 -3
  61. package/esm2020/lib/forms-ui/components/option-group/option-group.component.mjs +3 -3
  62. package/esm2020/lib/forms-ui/components/option-group-dropdown/option-group-dropdown.component.mjs +3 -3
  63. package/esm2020/lib/forms-ui/components/options-dropdown/options-dropdown.component.mjs +3 -3
  64. package/esm2020/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.mjs +3 -3
  65. package/esm2020/lib/forms-ui/components/picker/picker-trigger.directive.mjs +3 -3
  66. package/esm2020/lib/forms-ui/components/picker/picker.component.mjs +3 -3
  67. package/esm2020/lib/forms-ui/components/picker-option/picker-option.component.mjs +3 -3
  68. package/esm2020/lib/forms-ui/components/pill-item/pill-item.component.mjs +3 -3
  69. package/esm2020/lib/forms-ui/components/pill-list/pill-list.component.mjs +3 -3
  70. package/esm2020/lib/forms-ui/components/responsive-input/responsive-input.component.mjs +3 -3
  71. package/esm2020/lib/forms-ui/components/single-select/single-select.component.mjs +8 -7
  72. package/esm2020/lib/forms-ui/components/slider-toggle/slider-toggle.component.mjs +4 -4
  73. package/esm2020/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.mjs +3 -3
  74. package/esm2020/lib/forms-ui/components/sorting-dropdown-trigger/sorting-dropdown-trigger.component.mjs +3 -3
  75. package/esm2020/lib/forms-ui/directives/form-error.directive.mjs +3 -3
  76. package/esm2020/lib/forms-ui/directives/form-submit.directive.mjs +3 -3
  77. package/esm2020/lib/forms-ui/directives/keyboard-action-source.directive.mjs +3 -3
  78. package/esm2020/lib/forms-ui/directives/mark-invalid.directive.mjs +3 -3
  79. package/esm2020/lib/forms-ui/directives/select-dropdown.directive.mjs +3 -3
  80. package/esm2020/lib/forms-ui/directives/selectable-item.directive.mjs +3 -3
  81. package/esm2020/lib/forms-ui/directives/selected-option.directive.mjs +3 -3
  82. package/esm2020/lib/forms-ui/forms-ui.module.mjs +10 -5
  83. package/esm2020/lib/forms-ui/models/base-select.directive.mjs +3 -3
  84. package/esm2020/lib/forms-ui/pipes/filter-selection.pipe.mjs +3 -3
  85. package/esm2020/lib/forms-ui/pipes/filter-term.pipe.mjs +3 -3
  86. package/esm2020/lib/forms-ui/pipes/format-number.pipe.mjs +4 -4
  87. package/esm2020/lib/modal-ui/components/modal/modal.component.mjs +3 -3
  88. package/esm2020/lib/modal-ui/components/modal-footer/modal-footer.component.mjs +3 -3
  89. package/esm2020/lib/modal-ui/components/modal-header/modal-header.component.mjs +3 -3
  90. package/esm2020/lib/modal-ui/directives/modal-content.directive.mjs +3 -3
  91. package/esm2020/lib/modal-ui/modal.module.mjs +4 -4
  92. package/esm2020/lib/popover-ui/components/popover/popover.component.mjs +3 -3
  93. package/esm2020/lib/popover-ui/directives/popover-click.directive.mjs +3 -3
  94. package/esm2020/lib/popover-ui/directives/popover-content.directive.mjs +3 -3
  95. package/esm2020/lib/popover-ui/directives/popover-hover.directive.mjs +3 -3
  96. package/esm2020/lib/popover-ui/popover-ui.module.mjs +4 -4
  97. package/esm2020/lib/tab-ui/components/tab/tab.component.mjs +3 -3
  98. package/esm2020/lib/tab-ui/components/tab-group/tab-group.component.mjs +3 -3
  99. package/esm2020/lib/tab-ui/tab-ui.module.mjs +4 -4
  100. package/fesm2015/leanix-components.mjs +355 -309
  101. package/fesm2015/leanix-components.mjs.map +1 -1
  102. package/fesm2020/leanix-components.mjs +355 -309
  103. package/fesm2020/leanix-components.mjs.map +1 -1
  104. package/index.d.ts +1 -0
  105. package/lib/core-ui/components/badge/badge.component.d.ts +1 -1
  106. package/lib/core-ui/components/button/button.component.d.ts +1 -1
  107. package/lib/core-ui/components/button-group/button-group.component.d.ts +1 -1
  108. package/lib/core-ui/components/card/card.component.d.ts +1 -1
  109. package/lib/core-ui/components/collapsible/collapsible.component.d.ts +1 -1
  110. package/lib/core-ui/components/colored-label/colored-label.component.d.ts +1 -1
  111. package/lib/core-ui/components/ellipsis/ellipsis.component.d.ts +1 -1
  112. package/lib/core-ui/components/icon-scale/icon-scale.component.d.ts +1 -1
  113. package/lib/core-ui/components/spinner/spinner.component.d.ts +1 -1
  114. package/lib/core-ui/components/table/table-header/table-header.component.d.ts +1 -1
  115. package/lib/core-ui/components/table/table.component.d.ts +1 -1
  116. package/lib/core-ui/components/tiny-spinner/tiny-spinner.component.d.ts +1 -1
  117. package/lib/core-ui/directives/after-view-init.directive.d.ts +1 -1
  118. package/lib/core-ui/directives/autoclose.directive.d.ts +1 -1
  119. package/lib/core-ui/directives/autofocus.directive.d.ts +1 -1
  120. package/lib/core-ui/directives/html.directive.d.ts +1 -1
  121. package/lib/core-ui/tooltip/tooltip.component.d.ts +1 -1
  122. package/lib/core-ui/tooltip/tooltip.directive.d.ts +1 -1
  123. package/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.d.ts +1 -1
  124. package/lib/forms-ui/components/basic-dropdown-item/basic-dropdown-item.component.d.ts +1 -1
  125. package/lib/forms-ui/components/breadcrumb/breadcrumb.component.d.ts +20 -0
  126. package/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.d.ts +1 -1
  127. package/lib/forms-ui/components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component.d.ts +1 -1
  128. package/lib/forms-ui/components/currency/currency-input.component.d.ts +1 -1
  129. package/lib/forms-ui/components/currency/currency-symbol.component.d.ts +1 -1
  130. package/lib/forms-ui/components/date-input/date-input.component.d.ts +1 -1
  131. package/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.d.ts +1 -1
  132. package/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component.d.ts +1 -1
  133. package/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.d.ts +1 -1
  134. package/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-list/keyboard-sortable-list.directive.d.ts +1 -1
  135. package/lib/forms-ui/components/error-message/error-message.component.d.ts +1 -1
  136. package/lib/forms-ui/components/form-error/form-error.component.d.ts +1 -1
  137. package/lib/forms-ui/components/icon/icon.component.d.ts +1 -1
  138. package/lib/forms-ui/components/input/input.component.d.ts +1 -1
  139. package/lib/forms-ui/components/keyboard-select.directive.d.ts +1 -1
  140. package/lib/forms-ui/components/multi-select/multi-select.component.d.ts +1 -1
  141. package/lib/forms-ui/components/option/option.component.d.ts +1 -1
  142. package/lib/forms-ui/components/option-group/option-group.component.d.ts +1 -1
  143. package/lib/forms-ui/components/option-group-dropdown/option-group-dropdown.component.d.ts +1 -1
  144. package/lib/forms-ui/components/options-dropdown/options-dropdown.component.d.ts +1 -1
  145. package/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.d.ts +1 -1
  146. package/lib/forms-ui/components/picker/picker-trigger.directive.d.ts +1 -1
  147. package/lib/forms-ui/components/picker/picker.component.d.ts +1 -1
  148. package/lib/forms-ui/components/picker-option/picker-option.component.d.ts +1 -1
  149. package/lib/forms-ui/components/pill-item/pill-item.component.d.ts +1 -1
  150. package/lib/forms-ui/components/pill-list/pill-list.component.d.ts +1 -1
  151. package/lib/forms-ui/components/responsive-input/responsive-input.component.d.ts +1 -1
  152. package/lib/forms-ui/components/single-select/single-select.component.d.ts +1 -1
  153. package/lib/forms-ui/components/slider-toggle/slider-toggle.component.d.ts +1 -1
  154. package/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.d.ts +1 -1
  155. package/lib/forms-ui/components/sorting-dropdown-trigger/sorting-dropdown-trigger.component.d.ts +1 -1
  156. package/lib/forms-ui/directives/form-error.directive.d.ts +1 -1
  157. package/lib/forms-ui/directives/form-submit.directive.d.ts +1 -1
  158. package/lib/forms-ui/directives/keyboard-action-source.directive.d.ts +1 -1
  159. package/lib/forms-ui/directives/mark-invalid.directive.d.ts +1 -1
  160. package/lib/forms-ui/directives/select-dropdown.directive.d.ts +1 -1
  161. package/lib/forms-ui/directives/selectable-item.directive.d.ts +1 -1
  162. package/lib/forms-ui/directives/selected-option.directive.d.ts +1 -1
  163. package/lib/forms-ui/forms-ui.module.d.ts +45 -44
  164. package/lib/forms-ui/models/base-select.directive.d.ts +1 -1
  165. package/lib/modal-ui/components/modal/modal.component.d.ts +1 -1
  166. package/lib/modal-ui/components/modal-footer/modal-footer.component.d.ts +1 -1
  167. package/lib/modal-ui/components/modal-header/modal-header.component.d.ts +1 -1
  168. package/lib/modal-ui/directives/modal-content.directive.d.ts +1 -1
  169. package/lib/popover-ui/components/popover/popover.component.d.ts +1 -1
  170. package/lib/popover-ui/directives/popover-click.directive.d.ts +1 -1
  171. package/lib/popover-ui/directives/popover-content.directive.d.ts +1 -1
  172. package/lib/popover-ui/directives/popover-hover.directive.d.ts +1 -1
  173. package/lib/tab-ui/components/tab/tab.component.d.ts +1 -1
  174. package/lib/tab-ui/components/tab-group/tab-group.component.d.ts +1 -1
  175. package/package.json +2 -2
@@ -135,10 +135,10 @@ LxLinkifyPipe.HTTP_LINK_REGEX = /(?:(?:https?):\/\/)(?:[^\s/$.?#][^\s]*)/gi;
135
135
  * Link to regex101: https://regex101.com/r/5UMUH8/1
136
136
  */
137
137
  LxLinkifyPipe.NAMED_LINK_REGEX = /(?:\[([^\]]*)\])\(([^\s\/$.?#][^\s]*)\)/gi;
138
- LxLinkifyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LxLinkifyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
139
- LxLinkifyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: LxLinkifyPipe, name: "lxLinkify" });
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LxLinkifyPipe, decorators: [{
138
+ LxLinkifyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxLinkifyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
139
+ LxLinkifyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: LxLinkifyPipe, name: "lxLinkify" });
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxLinkifyPipe, decorators: [{
141
141
  type: Pipe,
142
142
  args: [{ name: 'lxLinkify' }]
143
143
  }] });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2lmeS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvY29yZS11aS9saW5raWZ5L2xpbmtpZnkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFFcEQ7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxNQUFNLE9BQU8sYUFBYTtJQStCeEIsU0FBUyxDQUFDLElBQW9CO1FBQzVCLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNwQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDMUUsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLENBQUMsb0NBQW9DLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM3RixPQUFPLHdCQUF3QixDQUFDO1NBQ2pDO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVPLG9DQUFvQyxDQUFDLElBQVk7UUFDdkQsSUFBSSx3QkFBd0IsR0FBRyxJQUFJLENBQUM7UUFDcEMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZGLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQzFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHLGNBQWMsQ0FBQztZQUMzQyxNQUFNLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JELElBQUksTUFB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QUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssOEJBQThCLENBQUMsS0FBYTtRQUNsRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3JGLENBQUM7O0FBaklEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ29CLDZCQUFlLEdBQUcsMkNBQTRDLENBQUE7QUFFckY7Ozs7Ozs7Ozs7R0FVRztBQUNvQiw4QkFBZ0IsR0FBRywyQ0FBNEMsQ0FBQTswR0E3QjNFLGFBQWE7d0dBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUR6QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBUaGlzIHBpcGUgdHJhbnNmb3Jtcy4uLlxuICogLSBcInJhd1wiIGh0dHAocykgbGlua3NcbiAqIC0gbWFya2Rvd24gbGluayBzeW50YXhcbiAqIC4uLiBpbnRvIGNsaWNrYWJsZSBhbmNob3IgZWxlbWVudHMuXG4gKlxuICogVGhlIGNoYXJhY3RlcnMgXCI8XCIgYW5kIFwiPlwiIGFyZSBlc2NhcGVkIHdpdGggdGhlaXIgSFRNTCBlbnRpdGllcyAmbHQ7IGFuZCAmZ3Q7LlxuICpcbiAqIFlvdSBoYXZlIGFuIHVzZXIgaW50ZXJmYWNlIHdoZXJlIHlvdSBkb24ndCB3YW50IGNsaWNrYWJsZSBsaW5rcyBidXQgYWxzb1xuICogZG9uJ3Qgd2FudCB1c2VycyB0byBzZWUgdGhlIFwidWdseVwiIG1hcmtkb3duIGxpbmsgc3ludGF4P1xuICogLT4gVXNlIHRoZSAnbHhVbmxpa2lmeScgcGlwZSB0byByZXBsYWNlIG1hcmtkb3duIGxpbmsgc3ludGF4IHdpdGgganVzdCB0aGUgbGluayBuYW1lXG4gKi9cbkBQaXBlKHsgbmFtZTogJ2x4TGlua2lmeScgfSlcbmV4cG9ydCBjbGFzcyBMeExpbmtpZnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIC8qKlxuICAgKiBUaGlzIGlzIG5vdCB0aGUgXCJvbmUgVVJMIHJlZ2V4IHRvIHJ1bGUgdGhlbSBhbGxcIiwgYnV0IGEgbW9yZSByZWFsaXN0aWMgb25lIHdoaWNoIHNob3VsZCB3b3JrXG4gICAqIGZvciBhbnkgVVJMcyB0aGF0IG91ciBjdXN0b21lcnMgaW5jbHVkZSBpbiB0ZXh0IGZpZWxkcyBvbiBhIEZhY3QgU2hlZXQuXG4gICAqXG4gICAqIFJlZ2V4IHJ1bGVzIGV4cGxhaW5lZCBpbiBwbGFpbiB0ZXh0OlxuICAgKlxuICAgKiAoPzooPzpodHRwcz8pOlxcL1xcLykgICAgICAgLT4gICAgTGlua3MgbXVzdCBzdGFydCB3aXRoIFwiaHR0cHM6Ly9cIiBvciBcImh0dHA6Ly9cIlxuICAgKlxuICAgKiAoPzpbXlxccy8kLj8jXVteXFxzXSooPzwhW1xcLildKSkgTEVUJ1MgU1BMSVQgVEhJUyBPTkUgVVBcbiAgICpcbiAgICogW15cXHMvJC4/I11bXlxcc10qICAgLT4gICAgTWF0Y2ggYW55IGxlZ2FsIFVSTCBjaGFyYWN0ZXIgdW50aWwgdGhlIG5leHQgd2hpdGVzcGFjZVxuICAgKiAoPzwhW1xcLildICAgICAgICAgIC0+ICAgIEEgbmVnYXRpdmUgbG9va2FoZWFkIHRvIHByZXZlbnQgbWF0Y2hpbmcgYSBkb3Qgb3IgcGFyZW50aGVzaXMgZm9sbG93aW5nIGEgVVJMXG4gICAqXG4gICAqIExpbmsgdG8gcmVnZXgxMDE6IGh0dHBzOi8vcmVnZXgxMDEuY29tL3IvZDNLdGZILzEgKE5PVEU6IHBsZWFzZSB1cGRhdGUgdGhpcyBsaW5rIHdoZW4gY2hhbmdpbmcgdGhlIHJlZ2V4KVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBIVFRQX0xJTktfUkVHRVggPSAvKD86KD86aHR0cHM/KTpcXC9cXC8pKD86W15cXHMvJC4/I11bXlxcc10qKS9naTtcblxuICAvKipcbiAgICogVGhpcyB3aWxsIG1hdGNoIHRoZSBtYXJrZG93biBsaW5rIHN5bnRheDogW2xpbmsgbmFtZV0odXJsKVxuICAgKiBSZWdleCBydWxlcyBleHBsYWluZWQgaW4gcGxhaW4gdGV4dDpcbiAgICpcbiAgICogKD86XFxbKFteXFxdXSopXFxdKSAgICAgICAgICAgIC0+ICAgICBNYXRjaCBhbnkgY2hhcmFjdGVycyBpbnNpZGUgc3F1YXJlIGJyYWNrZXRzXG4gICAqIFxcKChbXlxcc1xcLyQuPyNdW15cXHNdKilcXCkgICAgIC0+ICAgICBOb3RpY2UgdGhhdCB0aGlzIGlzIHRoZSBzYW1lIHJlZ2V4IGFzIHRoZSBIVFRQX0xJTktfUkVHRVggYWJvdmUsXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0IHdpdGhvdXQgdGhlIHJlcXVpcmVtZW50IGZvciB0aGUgaHR0cCBwcm90b2NvbC5cbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGFsbG93cyBmb3IgbGlua3Mgd2l0aG91dCBpbmNsdWRpbmcgdGhlIHByb3RvY29sIG9yIGFsc28gXCJtYWlsdG86aGVsbG9Ad29ybGQuZGVcIiBsaW5rc1xuICAgKlxuICAgKiBMaW5rIHRvIHJlZ2V4MTAxOiBodHRwczovL3JlZ2V4MTAxLmNvbS9yLzVVTVVIOC8xXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5BTUVEX0xJTktfUkVHRVggPSAvKD86XFxbKFteXFxdXSopXFxdKVxcKChbXlxcc1xcLyQuPyNdW15cXHNdKilcXCkvZ2k7XG5cbiAgdHJhbnNmb3JtKHRleHQ/OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgaWYgKHRleHQgJiYgdHlwZW9mIHRleHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBlc2NhcGVkVGV4dCA9IHRoaXMuZXNjYXBlSHRtbEluVXNlclByb3ZpZGVkU3RyaW5nKHRleHQpO1xuICAgICAgY29uc3QgdGV4dFdpdGhSYXdMaW5rcyA9IHRoaXMud3JhcFJhd0h0dHBMaW5rc1dpdGhBbmNob3JUYWdzKGVzY2FwZWRUZXh0KTtcbiAgICAgIGNvbnN0IHRleHRXaXRoUmF3QW5kTmFtZWRMaW5rcyA9IHRoaXMudHVybk1hcmtkb3duU3R5bGVMaW5rc0ludG9BbmNob3JUYWdzKHRleHRXaXRoUmF3TGlua3MpO1xuICAgICAgcmV0dXJuIHRleHRXaXRoUmF3QW5kTmFtZWRMaW5rcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0dXJuTWFya2Rvd25TdHlsZUxpbmtzSW50b0FuY2hvclRhZ3ModGV4dDogc3RyaW5nKSB7XG4gICAgbGV0IHRleHRXaXRoUmF3QW5kTmFtZWRMaW5rcyA9IHRleHQ7XG4gICAgY29uc3QgbmFtZWRMaW5rTWF0Y2hlcyA9IHRoaXMuZ2V0QWxsUmVnZXhNYXRjaGVzKEx4TGlua2lmeVBpcGUuTkFNRURfTElOS19SRUdFWCwgdGV4dCk7XG4gICAgbmFtZWRMaW5rTWF0Y2hlcy5mb3JFYWNoKChuYW1lZExpbmtNYXRjaCkgPT4ge1xuICAgICAgY29uc3QgW3NvdXJjZSwgbmFtZSwgdXJsXSA9IG5hbWVkTGlua01hdGNoO1xuICAgICAgY29uc3QgdXJsSXNWYWxpZCA9IHVybCAmJiAhL2phdmFzY3JpcHRcXDovaS50ZXN0KHVybCk7XG4gICAgICBpZiAoc291cmNlICYmIG5hbWUgJiYgdXJsSXNWYWxpZCkge1xuICAgICAgICB0ZXh0V2l0aFJhd0FuZE5hbWVkTGlua3MgPSB0ZXh0V2l0aFJhd0FuZE5hbWVkTGlua3MucmVwbGFjZShcbiAgICAgICAgICBzb3VyY2UsXG4gICAgICAgICAgYDxhIGhyZWY9XCIke3VybH1cIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+JHtuYW1lfTwvYT5gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHRleHRXaXRoUmF3QW5kTmFtZWRMaW5rcztcbiAgfVxuXG4gIHByaXZhdGUgd3JhcFJhd0h0dHBMaW5rc1dpdGhBbmNob3JUYWdzKHRleHQ6IHN0cmluZykge1xuICAgIGxldCB0ZXh0V2l0aFJhd0xpbmtzID0gdGV4dDtcbiAgICAvKipcbiAgICAgKiBLZWVwaW5nIHRyYWNrIG9mIHRoaXMgaW5kZXggcHJldmVudHMgaW5maW5pdGUgbG9vcHNcbiAgICAgKiB3aGVyZSBhIHByZXZpb3VzbHkgcHJvY2Vzc2VkIGxpbmsgc3RhcnRzIHdpdGggdGhlIHNhbWUgY2hhcmFjdGVyc1xuICAgICAqIGFzIGEgc2Vjb25kIGxpbmsuXG4gICAgICogZS5nLiBodHRwczovL2FuZ3VsYXIuaW8vZG9jcyBmb2xsb3dlZCBieSBodHRwczovL2FuZ3VsYXIuaW9cbiAgICAgKi9cbiAgICBsZXQgbmV4dEluZGV4VG9TdGFydFJlcGxhY2luZ0Zyb20gPSAwO1xuICAgIGNvbnN0IHJhd0xpbmtNYXRjaGVzID0gdGhpcy5nZXRBbGxSZWdleE1hdGNoZXMoTHhMaW5raWZ5UGlwZS5IVFRQX0xJTktfUkVHRVgsIHRleHQpO1xuICAgIHJhd0xpbmtNYXRjaGVzLmZvckVhY2goKHJhd0xpbmtNYXRjaCkgPT4ge1xuICAgICAgY29uc3QgW3VybF0gPSByYXdMaW5rTWF0Y2g7XG4gICAgICBjb25zdCB3cmFwVXJsSW5BbmNob3IgPSAoc2FuaXRpemVkVXJsTWF0Y2g6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBmaXJzdFBhcnQgPSB0ZXh0V2l0aFJhd0xpbmtzLnN1YnN0cmluZygwLCBuZXh0SW5kZXhUb1N0YXJ0UmVwbGFjaW5nRnJvbSk7XG4gICAgICAgIGNvbnN0IGFuY2hvclRhZ0h0bWwgPSBgPGEgaHJlZj1cIiR7c2FuaXRpemVkVXJsTWF0Y2h9XCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPiR7c2FuaXRpemVkVXJsTWF0Y2h9PC9hPmA7XG4gICAgICAgIGNvbnN0IHNlY29uZFBhcnQgPSB0ZXh0V2l0aFJhd0xpbmtzLnN1YnN0cmluZyhuZXh0SW5kZXhUb1N0YXJ0UmVwbGFjaW5nRnJvbSkucmVwbGFjZShzYW5pdGl6ZWRVcmxNYXRjaCEsIGFuY2hvclRhZ0h0bWwpO1xuICAgICAgICB0ZXh0V2l0aFJhd0xpbmtzID0gZmlyc3RQYXJ0ICsgc2Vjb25kUGFydDtcbiAgICAgICAgbmV4dEluZGV4VG9TdGFydFJlcGxhY2luZ0Zyb20gPSByYXdMaW5rTWF0Y2guaW5kZXggKyBhbmNob3JUYWdIdG1sLmxlbmd0aDtcbiAgICAgIH07XG4gICAgICBpZiAodXJsKSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIFRPRE86IGdldCByaWQgb2YgYWxsIHRoaXMgY29kZSBvbmNlIFNhZmFyaSBzdXBwb3J0cyBuZWdhdGl2ZSBsb29rYmVoaW5kcyBpbiByZWd1bGFyIGV4cHJlc3Npb25zXG4gICAgICAgICAqIFRoZSBmb2xsb3dpbmcgaXMgUmVnRXhwIHRoYXQgaGFuZGxlcyB0aGUgc2FtZSBzdHVmZiBhcyB0aGUgSlMgY29kZSBiZWxvdzpcbiAgICAgICAgICpcbiAgICAgICAgICogLyg/Oig/Oig/PCFcXF1cXCgpKSg/Omh0dHBzfGh0dHApOlxcL1xcLykoPzpbXlxccy8kLj8jXVteXFxzXSooPzwhW1xcLildKSkvZ2k7XG4gICAgICAgICAqXG4gICAgICAgICAqIERlbW8gb24gcmVnZXgxMDE6IGh0dHBzOi8vcmVnZXgxMDEuY29tL3IvN1ZsOWJnLzFcbiAgICAgICAgICpcbiAgICAgICAgICogQ2hlY2sgbG9va2JlaGluZCBzdXBwb3J0IGhlcmU6IGh0dHBzOi8vY2FuaXVzZS5jb20vP3NlYXJjaD1sb29rYmVoaW5kXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBsYXN0VXJsQ2hhcmFjdGVySW5kZXggPSByYXdMaW5rTWF0Y2guaW5kZXggKyB1cmwubGVuZ3RoIC0gMTtcbiAgICAgICAgY29uc3QgdGV4dFVzZWRUb1BlcmZvcm1NYXRjaGluZyA9IHJhd0xpbmtNYXRjaC5pbnB1dDtcbiAgICAgICAgY29uc3QgbGFzdENoYXJhY3RlckluVXJsID0gdGV4dFVzZWRUb1BlcmZvcm1NYXRjaGluZ1tsYXN0VXJsQ2hhcmFjdGVySW5kZXhdO1xuICAgICAgICBjb25zdCB0d29DaGFyYWN0ZXJzSW5Gcm9udE9mVGhlTGluayA9XG4gICAgICAgICAgcmF3TGlua01hdGNoLmluZGV4ID4gM1xuICAgICAgICAgICAgPyBgJHt0ZXh0VXNlZFRvUGVyZm9ybU1hdGNoaW5nW3Jhd0xpbmtNYXRjaC5pbmRleCAtIDJdfSR7dGV4dFVzZWRUb1BlcmZvcm1NYXRjaGluZ1tyYXdMaW5rTWF0Y2guaW5kZXggLSAxXX1gXG4gICAgICAgICAgICA6ICcnO1xuICAgICAgICBjb25zdCBpc01hcmtkb3duU3ludGF4TGluayA9IHR3b0NoYXJhY3RlcnNJbkZyb250T2ZUaGVMaW5rID09PSAnXSgnO1xuXG4gICAgICAgIGlmICghaXNNYXJrZG93blN5bnRheExpbmsgJiYgbGFzdENoYXJhY3RlckluVXJsID09PSAnLicpIHtcbiAgICAgICAgICBjb25zdCBjaGFyYWN0ZXJBZnRlclVybCA9IHRleHRVc2VkVG9QZXJmb3JtTWF0Y2hpbmdbbGFzdFVybENoYXJhY3RlckluZGV4ICsgMV07XG4gICAgICAgICAgaWYgKCFjaGFyYWN0ZXJBZnRlclVybCB8fCBjaGFyYWN0ZXJBZnRlclVybCA9PT0gJyAnIHx8IGNoYXJhY3RlckFmdGVyVXJsID09PSAnXFxuJykge1xuICAgICAgICAgICAgY29uc3QgdXJsV2l0aG91dERvdEF0VGhlRW5kID0gdXJsLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgICAgIHdyYXBVcmxJbkFuY2hvcih1cmxXaXRob3V0RG90QXRUaGVFbmQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICghaXNNYXJrZG93blN5bnRheExpbmspIHtcbiAgICAgICAgICB3cmFwVXJsSW5BbmNob3IodXJsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB0ZXh0V2l0aFJhd0xpbmtzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxSZWdleE1hdGNoZXMocmVnZXg6IFJlZ0V4cCwgaW5wdXQ6IHN0cmluZykge1xuICAgIGxldCBtYXRjaDogUmVnRXhwRXhlY0FycmF5IHwgbnVsbDtcbiAgICBjb25zdCBtYXRjaGVzOiBSZWdFeHBFeGVjQXJyYXlbXSA9IFtdO1xuICAgIHdoaWxlICgobWF0Y2ggPSByZWdleC5leGVjKGlucHV0KSkgIT09IG51bGwpIHtcbiAgICAgIG1hdGNoZXMucHVzaChtYXRjaCk7XG4gICAgfVxuICAgIHJldHVybiBtYXRjaGVzO1xuICB9XG5cbiAgLyoqXG4gICAqIFdlIGFzc3VtZSB0aGF0IGx4TGlua2lmeSBpcyBleGNsdXNpdmVseSB1c2VkIG9uIHVzZXIgcHJvdmlkZWQgc3RyaW5ncy5cbiAgICogVGhpcyBpcyB3aHkgd2Ugd2FudCB0byBlc2NhcGUgYW55IG90aGVyIEhUTUwgdGFncyB0aGF0IGFyZSBhbHJlYWR5IHByZXNlbnQgaW4gdGhlIHN0cmluZy5cbiAgICogVGhlIGxvZ2ljIGltcGxlbWVudGVkIGhlcmUgaGFzIGJlZW4gdXNlZCB3aXRoIG5vIGlzc3VlcyBmb3IgdGhyZWUgeWVhcnMgaW4gb3VyIEZhY3QgU2hlZXQgY29tbWVudHMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZ3JlZ2phY29icy9BdXRvbGlua2VyLmpzL3B1bGwvMzEzXG4gICAqXG4gICAqIFdoZW4gdXNpbmcgbHhMaW5raWZ5IGluIGNvbmp1bmN0aW9uIHdpdGggb3RoZXIgcGlwZXMgdGhhdCBhZGQgSFRNTCwgbWFrZSBzdXJlIHRvIHVzZSBseExpbmtpZnkgZmlyc3QsXG4gICAqIHNvIHRoYXQgaXQgZG9lc24ndCBlc2NhcGUgdGhlIEhUTUwgb2YgYW55IHByZXZpb3VzIHBpcGVzLlxuICAgKi9cbiAgcHJpdmF0ZSBlc2NhcGVIdG1sSW5Vc2VyUHJvdmlkZWRTdHJpbmcoaW5wdXQ6IHN0cmluZykge1xuICAgIHJldHVybiBpbnB1dC5yZXBsYWNlKC88fD4vZ2ksIChtYXRjaCkgPT4gJyYnICsgKG1hdGNoID09PSAnPicgPyAnZycgOiAnbCcpICsgJ3Q7Jyk7XG4gIH1cbn1cbiJdfQ==
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2lmeS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvY29yZS11aS9saW5raWZ5L2xpbmtpZnkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFFcEQ7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxNQUFNLE9BQU8sYUFBYTtJQStCeEIsU0FBUyxDQUFDLElBQW9CO1FBQzVCLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNwQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDMUUsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLENBQUMsb0NBQW9DLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM3RixPQUFPLHdCQUF3QixDQUFDO1NBQ2pDO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVPLG9DQUFvQyxDQUFDLElBQVk7UUFDdkQsSUFBSSx3QkFBd0IsR0FBRyxJQUFJLENBQUM7UUFDcEMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZGLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQzFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHLGNBQWMsQ0FBQztZQUMzQyxNQUFNLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JELElBQUksTUFB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QUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssOEJBQThCLENBQUMsS0FBYTtRQUNsRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3JGLENBQUM7O0FBaklEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ29CLDZCQUFlLEdBQUcsMkNBQTJDLENBQUM7QUFFckY7Ozs7Ozs7Ozs7R0FVRztBQUNvQiw4QkFBZ0IsR0FBRywyQ0FBMkMsQ0FBQzswR0E3QjNFLGFBQWE7d0dBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUR6QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBUaGlzIHBpcGUgdHJhbnNmb3Jtcy4uLlxuICogLSBcInJhd1wiIGh0dHAocykgbGlua3NcbiAqIC0gbWFya2Rvd24gbGluayBzeW50YXhcbiAqIC4uLiBpbnRvIGNsaWNrYWJsZSBhbmNob3IgZWxlbWVudHMuXG4gKlxuICogVGhlIGNoYXJhY3RlcnMgXCI8XCIgYW5kIFwiPlwiIGFyZSBlc2NhcGVkIHdpdGggdGhlaXIgSFRNTCBlbnRpdGllcyAmbHQ7IGFuZCAmZ3Q7LlxuICpcbiAqIFlvdSBoYXZlIGFuIHVzZXIgaW50ZXJmYWNlIHdoZXJlIHlvdSBkb24ndCB3YW50IGNsaWNrYWJsZSBsaW5rcyBidXQgYWxzb1xuICogZG9uJ3Qgd2FudCB1c2VycyB0byBzZWUgdGhlIFwidWdseVwiIG1hcmtkb3duIGxpbmsgc3ludGF4P1xuICogLT4gVXNlIHRoZSAnbHhVbmxpa2lmeScgcGlwZSB0byByZXBsYWNlIG1hcmtkb3duIGxpbmsgc3ludGF4IHdpdGgganVzdCB0aGUgbGluayBuYW1lXG4gKi9cbkBQaXBlKHsgbmFtZTogJ2x4TGlua2lmeScgfSlcbmV4cG9ydCBjbGFzcyBMeExpbmtpZnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIC8qKlxuICAgKiBUaGlzIGlzIG5vdCB0aGUgXCJvbmUgVVJMIHJlZ2V4IHRvIHJ1bGUgdGhlbSBhbGxcIiwgYnV0IGEgbW9yZSByZWFsaXN0aWMgb25lIHdoaWNoIHNob3VsZCB3b3JrXG4gICAqIGZvciBhbnkgVVJMcyB0aGF0IG91ciBjdXN0b21lcnMgaW5jbHVkZSBpbiB0ZXh0IGZpZWxkcyBvbiBhIEZhY3QgU2hlZXQuXG4gICAqXG4gICAqIFJlZ2V4IHJ1bGVzIGV4cGxhaW5lZCBpbiBwbGFpbiB0ZXh0OlxuICAgKlxuICAgKiAoPzooPzpodHRwcz8pOlxcL1xcLykgICAgICAgLT4gICAgTGlua3MgbXVzdCBzdGFydCB3aXRoIFwiaHR0cHM6Ly9cIiBvciBcImh0dHA6Ly9cIlxuICAgKlxuICAgKiAoPzpbXlxccy8kLj8jXVteXFxzXSooPzwhW1xcLildKSkgTEVUJ1MgU1BMSVQgVEhJUyBPTkUgVVBcbiAgICpcbiAgICogW15cXHMvJC4/I11bXlxcc10qICAgLT4gICAgTWF0Y2ggYW55IGxlZ2FsIFVSTCBjaGFyYWN0ZXIgdW50aWwgdGhlIG5leHQgd2hpdGVzcGFjZVxuICAgKiAoPzwhW1xcLildICAgICAgICAgIC0+ICAgIEEgbmVnYXRpdmUgbG9va2FoZWFkIHRvIHByZXZlbnQgbWF0Y2hpbmcgYSBkb3Qgb3IgcGFyZW50aGVzaXMgZm9sbG93aW5nIGEgVVJMXG4gICAqXG4gICAqIExpbmsgdG8gcmVnZXgxMDE6IGh0dHBzOi8vcmVnZXgxMDEuY29tL3IvZDNLdGZILzEgKE5PVEU6IHBsZWFzZSB1cGRhdGUgdGhpcyBsaW5rIHdoZW4gY2hhbmdpbmcgdGhlIHJlZ2V4KVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBIVFRQX0xJTktfUkVHRVggPSAvKD86KD86aHR0cHM/KTpcXC9cXC8pKD86W15cXHMvJC4/I11bXlxcc10qKS9naTtcblxuICAvKipcbiAgICogVGhpcyB3aWxsIG1hdGNoIHRoZSBtYXJrZG93biBsaW5rIHN5bnRheDogW2xpbmsgbmFtZV0odXJsKVxuICAgKiBSZWdleCBydWxlcyBleHBsYWluZWQgaW4gcGxhaW4gdGV4dDpcbiAgICpcbiAgICogKD86XFxbKFteXFxdXSopXFxdKSAgICAgICAgICAgIC0+ICAgICBNYXRjaCBhbnkgY2hhcmFjdGVycyBpbnNpZGUgc3F1YXJlIGJyYWNrZXRzXG4gICAqIFxcKChbXlxcc1xcLyQuPyNdW15cXHNdKilcXCkgICAgIC0+ICAgICBOb3RpY2UgdGhhdCB0aGlzIGlzIHRoZSBzYW1lIHJlZ2V4IGFzIHRoZSBIVFRQX0xJTktfUkVHRVggYWJvdmUsXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0IHdpdGhvdXQgdGhlIHJlcXVpcmVtZW50IGZvciB0aGUgaHR0cCBwcm90b2NvbC5cbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGFsbG93cyBmb3IgbGlua3Mgd2l0aG91dCBpbmNsdWRpbmcgdGhlIHByb3RvY29sIG9yIGFsc28gXCJtYWlsdG86aGVsbG9Ad29ybGQuZGVcIiBsaW5rc1xuICAgKlxuICAgKiBMaW5rIHRvIHJlZ2V4MTAxOiBodHRwczovL3JlZ2V4MTAxLmNvbS9yLzVVTVVIOC8xXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5BTUVEX0xJTktfUkVHRVggPSAvKD86XFxbKFteXFxdXSopXFxdKVxcKChbXlxcc1xcLyQuPyNdW15cXHNdKilcXCkvZ2k7XG5cbiAgdHJhbnNmb3JtKHRleHQ/OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgaWYgKHRleHQgJiYgdHlwZW9mIHRleHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBlc2NhcGVkVGV4dCA9IHRoaXMuZXNjYXBlSHRtbEluVXNlclByb3ZpZGVkU3RyaW5nKHRleHQpO1xuICAgICAgY29uc3QgdGV4dFdpdGhSYXdMaW5rcyA9IHRoaXMud3JhcFJhd0h0dHBMaW5rc1dpdGhBbmNob3JUYWdzKGVzY2FwZWRUZXh0KTtcbiAgICAgIGNvbnN0IHRleHRXaXRoUmF3QW5kTmFtZWRMaW5rcyA9IHRoaXMudHVybk1hcmtkb3duU3R5bGVMaW5rc0ludG9BbmNob3JUYWdzKHRleHRXaXRoUmF3TGlua3MpO1xuICAgICAgcmV0dXJuIHRleHRXaXRoUmF3QW5kTmFtZWRMaW5rcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0dXJuTWFya2Rvd25TdHlsZUxpbmtzSW50b0FuY2hvclRhZ3ModGV4dDogc3RyaW5nKSB7XG4gICAgbGV0IHRleHRXaXRoUmF3QW5kTmFtZWRMaW5rcyA9IHRleHQ7XG4gICAgY29uc3QgbmFtZWRMaW5rTWF0Y2hlcyA9IHRoaXMuZ2V0QWxsUmVnZXhNYXRjaGVzKEx4TGlua2lmeVBpcGUuTkFNRURfTElOS19SRUdFWCwgdGV4dCk7XG4gICAgbmFtZWRMaW5rTWF0Y2hlcy5mb3JFYWNoKChuYW1lZExpbmtNYXRjaCkgPT4ge1xuICAgICAgY29uc3QgW3NvdXJjZSwgbmFtZSwgdXJsXSA9IG5hbWVkTGlua01hdGNoO1xuICAgICAgY29uc3QgdXJsSXNWYWxpZCA9IHVybCAmJiAhL2phdmFzY3JpcHRcXDovaS50ZXN0KHVybCk7XG4gICAgICBpZiAoc291cmNlICYmIG5hbWUgJiYgdXJsSXNWYWxpZCkge1xuICAgICAgICB0ZXh0V2l0aFJhd0FuZE5hbWVkTGlua3MgPSB0ZXh0V2l0aFJhd0FuZE5hbWVkTGlua3MucmVwbGFjZShcbiAgICAgICAgICBzb3VyY2UsXG4gICAgICAgICAgYDxhIGhyZWY9XCIke3VybH1cIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+JHtuYW1lfTwvYT5gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHRleHRXaXRoUmF3QW5kTmFtZWRMaW5rcztcbiAgfVxuXG4gIHByaXZhdGUgd3JhcFJhd0h0dHBMaW5rc1dpdGhBbmNob3JUYWdzKHRleHQ6IHN0cmluZykge1xuICAgIGxldCB0ZXh0V2l0aFJhd0xpbmtzID0gdGV4dDtcbiAgICAvKipcbiAgICAgKiBLZWVwaW5nIHRyYWNrIG9mIHRoaXMgaW5kZXggcHJldmVudHMgaW5maW5pdGUgbG9vcHNcbiAgICAgKiB3aGVyZSBhIHByZXZpb3VzbHkgcHJvY2Vzc2VkIGxpbmsgc3RhcnRzIHdpdGggdGhlIHNhbWUgY2hhcmFjdGVyc1xuICAgICAqIGFzIGEgc2Vjb25kIGxpbmsuXG4gICAgICogZS5nLiBodHRwczovL2FuZ3VsYXIuaW8vZG9jcyBmb2xsb3dlZCBieSBodHRwczovL2FuZ3VsYXIuaW9cbiAgICAgKi9cbiAgICBsZXQgbmV4dEluZGV4VG9TdGFydFJlcGxhY2luZ0Zyb20gPSAwO1xuICAgIGNvbnN0IHJhd0xpbmtNYXRjaGVzID0gdGhpcy5nZXRBbGxSZWdleE1hdGNoZXMoTHhMaW5raWZ5UGlwZS5IVFRQX0xJTktfUkVHRVgsIHRleHQpO1xuICAgIHJhd0xpbmtNYXRjaGVzLmZvckVhY2goKHJhd0xpbmtNYXRjaCkgPT4ge1xuICAgICAgY29uc3QgW3VybF0gPSByYXdMaW5rTWF0Y2g7XG4gICAgICBjb25zdCB3cmFwVXJsSW5BbmNob3IgPSAoc2FuaXRpemVkVXJsTWF0Y2g6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBmaXJzdFBhcnQgPSB0ZXh0V2l0aFJhd0xpbmtzLnN1YnN0cmluZygwLCBuZXh0SW5kZXhUb1N0YXJ0UmVwbGFjaW5nRnJvbSk7XG4gICAgICAgIGNvbnN0IGFuY2hvclRhZ0h0bWwgPSBgPGEgaHJlZj1cIiR7c2FuaXRpemVkVXJsTWF0Y2h9XCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPiR7c2FuaXRpemVkVXJsTWF0Y2h9PC9hPmA7XG4gICAgICAgIGNvbnN0IHNlY29uZFBhcnQgPSB0ZXh0V2l0aFJhd0xpbmtzLnN1YnN0cmluZyhuZXh0SW5kZXhUb1N0YXJ0UmVwbGFjaW5nRnJvbSkucmVwbGFjZShzYW5pdGl6ZWRVcmxNYXRjaCEsIGFuY2hvclRhZ0h0bWwpO1xuICAgICAgICB0ZXh0V2l0aFJhd0xpbmtzID0gZmlyc3RQYXJ0ICsgc2Vjb25kUGFydDtcbiAgICAgICAgbmV4dEluZGV4VG9TdGFydFJlcGxhY2luZ0Zyb20gPSByYXdMaW5rTWF0Y2guaW5kZXggKyBhbmNob3JUYWdIdG1sLmxlbmd0aDtcbiAgICAgIH07XG4gICAgICBpZiAodXJsKSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIFRPRE86IGdldCByaWQgb2YgYWxsIHRoaXMgY29kZSBvbmNlIFNhZmFyaSBzdXBwb3J0cyBuZWdhdGl2ZSBsb29rYmVoaW5kcyBpbiByZWd1bGFyIGV4cHJlc3Npb25zXG4gICAgICAgICAqIFRoZSBmb2xsb3dpbmcgaXMgUmVnRXhwIHRoYXQgaGFuZGxlcyB0aGUgc2FtZSBzdHVmZiBhcyB0aGUgSlMgY29kZSBiZWxvdzpcbiAgICAgICAgICpcbiAgICAgICAgICogLyg/Oig/Oig/PCFcXF1cXCgpKSg/Omh0dHBzfGh0dHApOlxcL1xcLykoPzpbXlxccy8kLj8jXVteXFxzXSooPzwhW1xcLildKSkvZ2k7XG4gICAgICAgICAqXG4gICAgICAgICAqIERlbW8gb24gcmVnZXgxMDE6IGh0dHBzOi8vcmVnZXgxMDEuY29tL3IvN1ZsOWJnLzFcbiAgICAgICAgICpcbiAgICAgICAgICogQ2hlY2sgbG9va2JlaGluZCBzdXBwb3J0IGhlcmU6IGh0dHBzOi8vY2FuaXVzZS5jb20vP3NlYXJjaD1sb29rYmVoaW5kXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBsYXN0VXJsQ2hhcmFjdGVySW5kZXggPSByYXdMaW5rTWF0Y2guaW5kZXggKyB1cmwubGVuZ3RoIC0gMTtcbiAgICAgICAgY29uc3QgdGV4dFVzZWRUb1BlcmZvcm1NYXRjaGluZyA9IHJhd0xpbmtNYXRjaC5pbnB1dDtcbiAgICAgICAgY29uc3QgbGFzdENoYXJhY3RlckluVXJsID0gdGV4dFVzZWRUb1BlcmZvcm1NYXRjaGluZ1tsYXN0VXJsQ2hhcmFjdGVySW5kZXhdO1xuICAgICAgICBjb25zdCB0d29DaGFyYWN0ZXJzSW5Gcm9udE9mVGhlTGluayA9XG4gICAgICAgICAgcmF3TGlua01hdGNoLmluZGV4ID4gM1xuICAgICAgICAgICAgPyBgJHt0ZXh0VXNlZFRvUGVyZm9ybU1hdGNoaW5nW3Jhd0xpbmtNYXRjaC5pbmRleCAtIDJdfSR7dGV4dFVzZWRUb1BlcmZvcm1NYXRjaGluZ1tyYXdMaW5rTWF0Y2guaW5kZXggLSAxXX1gXG4gICAgICAgICAgICA6ICcnO1xuICAgICAgICBjb25zdCBpc01hcmtkb3duU3ludGF4TGluayA9IHR3b0NoYXJhY3RlcnNJbkZyb250T2ZUaGVMaW5rID09PSAnXSgnO1xuXG4gICAgICAgIGlmICghaXNNYXJrZG93blN5bnRheExpbmsgJiYgbGFzdENoYXJhY3RlckluVXJsID09PSAnLicpIHtcbiAgICAgICAgICBjb25zdCBjaGFyYWN0ZXJBZnRlclVybCA9IHRleHRVc2VkVG9QZXJmb3JtTWF0Y2hpbmdbbGFzdFVybENoYXJhY3RlckluZGV4ICsgMV07XG4gICAgICAgICAgaWYgKCFjaGFyYWN0ZXJBZnRlclVybCB8fCBjaGFyYWN0ZXJBZnRlclVybCA9PT0gJyAnIHx8IGNoYXJhY3RlckFmdGVyVXJsID09PSAnXFxuJykge1xuICAgICAgICAgICAgY29uc3QgdXJsV2l0aG91dERvdEF0VGhlRW5kID0gdXJsLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgICAgIHdyYXBVcmxJbkFuY2hvcih1cmxXaXRob3V0RG90QXRUaGVFbmQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICghaXNNYXJrZG93blN5bnRheExpbmspIHtcbiAgICAgICAgICB3cmFwVXJsSW5BbmNob3IodXJsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB0ZXh0V2l0aFJhd0xpbmtzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxSZWdleE1hdGNoZXMocmVnZXg6IFJlZ0V4cCwgaW5wdXQ6IHN0cmluZykge1xuICAgIGxldCBtYXRjaDogUmVnRXhwRXhlY0FycmF5IHwgbnVsbDtcbiAgICBjb25zdCBtYXRjaGVzOiBSZWdFeHBFeGVjQXJyYXlbXSA9IFtdO1xuICAgIHdoaWxlICgobWF0Y2ggPSByZWdleC5leGVjKGlucHV0KSkgIT09IG51bGwpIHtcbiAgICAgIG1hdGNoZXMucHVzaChtYXRjaCk7XG4gICAgfVxuICAgIHJldHVybiBtYXRjaGVzO1xuICB9XG5cbiAgLyoqXG4gICAqIFdlIGFzc3VtZSB0aGF0IGx4TGlua2lmeSBpcyBleGNsdXNpdmVseSB1c2VkIG9uIHVzZXIgcHJvdmlkZWQgc3RyaW5ncy5cbiAgICogVGhpcyBpcyB3aHkgd2Ugd2FudCB0byBlc2NhcGUgYW55IG90aGVyIEhUTUwgdGFncyB0aGF0IGFyZSBhbHJlYWR5IHByZXNlbnQgaW4gdGhlIHN0cmluZy5cbiAgICogVGhlIGxvZ2ljIGltcGxlbWVudGVkIGhlcmUgaGFzIGJlZW4gdXNlZCB3aXRoIG5vIGlzc3VlcyBmb3IgdGhyZWUgeWVhcnMgaW4gb3VyIEZhY3QgU2hlZXQgY29tbWVudHMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZ3JlZ2phY29icy9BdXRvbGlua2VyLmpzL3B1bGwvMzEzXG4gICAqXG4gICAqIFdoZW4gdXNpbmcgbHhMaW5raWZ5IGluIGNvbmp1bmN0aW9uIHdpdGggb3RoZXIgcGlwZXMgdGhhdCBhZGQgSFRNTCwgbWFrZSBzdXJlIHRvIHVzZSBseExpbmtpZnkgZmlyc3QsXG4gICAqIHNvIHRoYXQgaXQgZG9lc24ndCBlc2NhcGUgdGhlIEhUTUwgb2YgYW55IHByZXZpb3VzIHBpcGVzLlxuICAgKi9cbiAgcHJpdmF0ZSBlc2NhcGVIdG1sSW5Vc2VyUHJvdmlkZWRTdHJpbmcoaW5wdXQ6IHN0cmluZykge1xuICAgIHJldHVybiBpbnB1dC5yZXBsYWNlKC88fD4vZ2ksIChtYXRjaCkgPT4gJyYnICsgKG1hdGNoID09PSAnPicgPyAnZycgOiAnbCcpICsgJ3Q7Jyk7XG4gIH1cbn1cbiJdfQ==
@@ -39,9 +39,9 @@ export class LxUnlinkifyPipe {
39
39
  return matches;
40
40
  }
41
41
  }
42
- LxUnlinkifyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LxUnlinkifyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
43
- LxUnlinkifyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: LxUnlinkifyPipe, name: "lxUnlinkify" });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LxUnlinkifyPipe, decorators: [{
42
+ LxUnlinkifyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxUnlinkifyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
43
+ LxUnlinkifyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: LxUnlinkifyPipe, name: "lxUnlinkify" });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxUnlinkifyPipe, decorators: [{
45
45
  type: Pipe,
46
46
  args: [{ name: 'lxUnlinkify' }]
47
47
  }] });
@@ -12,9 +12,9 @@ export class BrPipe {
12
12
  return input;
13
13
  }
14
14
  }
15
- BrPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: BrPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
16
- BrPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: BrPipe, name: "lxBr" });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: BrPipe, decorators: [{
15
+ BrPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BrPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
16
+ BrPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: BrPipe, name: "lxBr" });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BrPipe, decorators: [{
18
18
  type: Pipe,
19
19
  args: [{
20
20
  name: 'lxBr'
@@ -9,9 +9,9 @@ export class ContrastColorPipe {
9
9
  return '';
10
10
  }
11
11
  }
12
- ContrastColorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ContrastColorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
13
- ContrastColorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: ContrastColorPipe, name: "lxContrastColor" });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ContrastColorPipe, decorators: [{
12
+ ContrastColorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ContrastColorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
13
+ ContrastColorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: ContrastColorPipe, name: "lxContrastColor" });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ContrastColorPipe, decorators: [{
15
15
  type: Pipe,
16
16
  args: [{
17
17
  name: 'lxContrastColor'
@@ -11,9 +11,9 @@ export class CustomDatePipe {
11
11
  return value ? format(value, f, { locale }) : '';
12
12
  }
13
13
  }
14
- CustomDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: CustomDatePipe, deps: [{ token: DATE_FN_LOCALE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
15
- CustomDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: CustomDatePipe, name: "lxDate" });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: CustomDatePipe, decorators: [{
14
+ CustomDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CustomDatePipe, deps: [{ token: DATE_FN_LOCALE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
15
+ CustomDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: CustomDatePipe, name: "lxDate" });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CustomDatePipe, decorators: [{
17
17
  type: Pipe,
18
18
  args: [{
19
19
  name: 'lxDate'
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
24
24
  type: Inject,
25
25
  args: [DATE_FN_LOCALE]
26
26
  }] }]; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvcGlwZXMvY3VzdG9tLWRhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUt0RCxNQUFNLE9BQU8sY0FBYztJQUN6QixZQUF3RCxlQUEwQjtRQUExQixvQkFBZSxHQUFmLGVBQWUsQ0FBVztJQUFHLENBQUM7SUFFdEYsU0FBUyxDQUFDLEtBQWdELEVBQUUsQ0FBUztRQUNuRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNwRSxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbkQsQ0FBQzs7MkdBTlUsY0FBYyxrQkFDTyxjQUFjO3lHQURuQyxjQUFjOzJGQUFkLGNBQWM7a0JBSDFCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFFBQVE7aUJBQ2Y7MERBRTJFLFFBQVE7MEJBQXJFLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgT3B0aW9uYWwsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZvcm1hdCB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IERBVEVfRk5fTE9DQUxFIH0gZnJvbSAnLi4vY29yZS11aS5jb25zdGFudHMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdseERhdGUnXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbURhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoREFURV9GTl9MT0NBTEUpIHByaXZhdGUgZ2V0RGF0ZUZuTG9jYWxlPzogRnVuY3Rpb24pIHt9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCwgZjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBsb2NhbGUgPSB0aGlzLmdldERhdGVGbkxvY2FsZSA/IHRoaXMuZ2V0RGF0ZUZuTG9jYWxlKCkgOiBudWxsO1xuICAgIHJldHVybiB2YWx1ZSA/IGZvcm1hdCh2YWx1ZSwgZiwgeyBsb2NhbGUgfSkgOiAnJztcbiAgfVxufVxuIl19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvcGlwZXMvY3VzdG9tLWRhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUt0RCxNQUFNLE9BQU8sY0FBYztJQUN6QixZQUF3RCxlQUEwQjtRQUExQixvQkFBZSxHQUFmLGVBQWUsQ0FBVztJQUFHLENBQUM7SUFFdEYsU0FBUyxDQUFDLEtBQWdELEVBQUUsQ0FBUztRQUNuRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNwRSxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbkQsQ0FBQzs7MkdBTlUsY0FBYyxrQkFDTyxjQUFjO3lHQURuQyxjQUFjOzJGQUFkLGNBQWM7a0JBSDFCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFFBQVE7aUJBQ2Y7OzBCQUVjLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgT3B0aW9uYWwsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZvcm1hdCB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IERBVEVfRk5fTE9DQUxFIH0gZnJvbSAnLi4vY29yZS11aS5jb25zdGFudHMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdseERhdGUnXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbURhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoREFURV9GTl9MT0NBTEUpIHByaXZhdGUgZ2V0RGF0ZUZuTG9jYWxlPzogRnVuY3Rpb24pIHt9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCwgZjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBsb2NhbGUgPSB0aGlzLmdldERhdGVGbkxvY2FsZSA/IHRoaXMuZ2V0RGF0ZUZuTG9jYWxlKCkgOiBudWxsO1xuICAgIHJldHVybiB2YWx1ZSA/IGZvcm1hdCh2YWx1ZSwgZiwgeyBsb2NhbGUgfSkgOiAnJztcbiAgfVxufVxuIl19
@@ -17,9 +17,9 @@ export class HighlightRangePipe {
17
17
  return `<span class="termHighlight">${text}</span>`;
18
18
  }
19
19
  }
20
- HighlightRangePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: HighlightRangePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
21
- HighlightRangePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: HighlightRangePipe, name: "lxHighlightRange" });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: HighlightRangePipe, decorators: [{
20
+ HighlightRangePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HighlightRangePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
21
+ HighlightRangePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: HighlightRangePipe, name: "lxHighlightRange" });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HighlightRangePipe, decorators: [{
23
23
  type: Pipe,
24
24
  args: [{ name: 'lxHighlightRange' }]
25
25
  }] });
@@ -45,9 +45,9 @@ export class HighlightTermPipe {
45
45
  }
46
46
  }
47
47
  }
48
- HighlightTermPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: HighlightTermPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
49
- HighlightTermPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: HighlightTermPipe, name: "lxHighlightTerm" });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: HighlightTermPipe, decorators: [{
48
+ HighlightTermPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HighlightTermPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
49
+ HighlightTermPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: HighlightTermPipe, name: "lxHighlightTerm" });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HighlightTermPipe, decorators: [{
51
51
  type: Pipe,
52
52
  args: [{ name: 'lxHighlightTerm' }]
53
53
  }] });
@@ -9,9 +9,9 @@ export class LxIsUuidPipe {
9
9
  return input ? isUuid(input) : false;
10
10
  }
11
11
  }
12
- LxIsUuidPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LxIsUuidPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
13
- LxIsUuidPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: LxIsUuidPipe, name: "lxIsUuid" });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LxIsUuidPipe, decorators: [{
12
+ LxIsUuidPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxIsUuidPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
13
+ LxIsUuidPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: LxIsUuidPipe, name: "lxIsUuid" });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxIsUuidPipe, decorators: [{
15
15
  type: Pipe,
16
16
  args: [{
17
17
  name: 'lxIsUuid',
@@ -11,9 +11,9 @@ export class LxTimeAgo {
11
11
  return distanceInWords(new Date(), input, { locale, addSuffix: true });
12
12
  }
13
13
  }
14
- LxTimeAgo.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LxTimeAgo, deps: [{ token: DATE_FN_LOCALE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
15
- LxTimeAgo.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: LxTimeAgo, name: "lxTimeAgo" });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LxTimeAgo, decorators: [{
14
+ LxTimeAgo.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxTimeAgo, deps: [{ token: DATE_FN_LOCALE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
15
+ LxTimeAgo.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: LxTimeAgo, name: "lxTimeAgo" });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxTimeAgo, decorators: [{
17
17
  type: Pipe,
18
18
  args: [{ name: 'lxTimeAgo', pure: true }]
19
19
  }], ctorParameters: function () { return [{ type: Function, decorators: [{
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
22
22
  type: Inject,
23
23
  args: [DATE_FN_LOCALE]
24
24
  }] }]; } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHgtdGltZS1hZ28ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvcGlwZXMvbHgtdGltZS1hZ28ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUd0RCxNQUFNLE9BQU8sU0FBUztJQUNwQixZQUF3RCxlQUEwQjtRQUExQixvQkFBZSxHQUFmLGVBQWUsQ0FBVztJQUFHLENBQUM7SUFFdEYsU0FBUyxDQUFDLEtBQW9CO1FBQzVCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3BFLE9BQU8sZUFBZSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7O3NHQU5VLFNBQVMsa0JBQ1ksY0FBYztvR0FEbkMsU0FBUzsyRkFBVCxTQUFTO2tCQURyQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFOzBEQUVxQyxRQUFROzBCQUFyRSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIE9wdGlvbmFsLCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkaXN0YW5jZUluV29yZHMgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBEQVRFX0ZOX0xPQ0FMRSB9IGZyb20gJy4uL2NvcmUtdWkuY29uc3RhbnRzJztcblxuQFBpcGUoeyBuYW1lOiAnbHhUaW1lQWdvJywgcHVyZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIEx4VGltZUFnbyBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KERBVEVfRk5fTE9DQUxFKSBwcml2YXRlIGdldERhdGVGbkxvY2FsZT86IEZ1bmN0aW9uKSB7fVxuXG4gIHRyYW5zZm9ybShpbnB1dDogRGF0ZSB8IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbG9jYWxlID0gdGhpcy5nZXREYXRlRm5Mb2NhbGUgPyB0aGlzLmdldERhdGVGbkxvY2FsZSgpIDogbnVsbDtcbiAgICByZXR1cm4gZGlzdGFuY2VJbldvcmRzKG5ldyBEYXRlKCksIGlucHV0LCB7IGxvY2FsZSwgYWRkU3VmZml4OiB0cnVlIH0pO1xuICB9XG59XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHgtdGltZS1hZ28ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvcGlwZXMvbHgtdGltZS1hZ28ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUd0RCxNQUFNLE9BQU8sU0FBUztJQUNwQixZQUF3RCxlQUEwQjtRQUExQixvQkFBZSxHQUFmLGVBQWUsQ0FBVztJQUFHLENBQUM7SUFFdEYsU0FBUyxDQUFDLEtBQW9CO1FBQzVCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3BFLE9BQU8sZUFBZSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7O3NHQU5VLFNBQVMsa0JBQ1ksY0FBYztvR0FEbkMsU0FBUzsyRkFBVCxTQUFTO2tCQURyQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFOzswQkFFeEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBPcHRpb25hbCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGlzdGFuY2VJbldvcmRzIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgREFURV9GTl9MT0NBTEUgfSBmcm9tICcuLi9jb3JlLXVpLmNvbnN0YW50cyc7XG5cbkBQaXBlKHsgbmFtZTogJ2x4VGltZUFnbycsIHB1cmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBMeFRpbWVBZ28gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChEQVRFX0ZOX0xPQ0FMRSkgcHJpdmF0ZSBnZXREYXRlRm5Mb2NhbGU/OiBGdW5jdGlvbikge31cblxuICB0cmFuc2Zvcm0oaW5wdXQ6IERhdGUgfCBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxvY2FsZSA9IHRoaXMuZ2V0RGF0ZUZuTG9jYWxlID8gdGhpcy5nZXREYXRlRm5Mb2NhbGUoKSA6IG51bGw7XG4gICAgcmV0dXJuIGRpc3RhbmNlSW5Xb3JkcyhuZXcgRGF0ZSgpLCBpbnB1dCwgeyBsb2NhbGUsIGFkZFN1ZmZpeDogdHJ1ZSB9KTtcbiAgfVxufVxuIl19
@@ -24,10 +24,10 @@ export class LxTranslatePipe {
24
24
  return this.translatePipe.transform(query, this.lastArgsExtended);
25
25
  }
26
26
  }
27
- LxTranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LxTranslatePipe, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }, { token: GLOBAL_TRANSLATION_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
28
- LxTranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: LxTranslatePipe, name: "lxTranslate", pure: false });
29
- LxTranslatePipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LxTranslatePipe, providedIn: 'root' });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LxTranslatePipe, decorators: [{
27
+ LxTranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxTranslatePipe, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }, { token: GLOBAL_TRANSLATION_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
28
+ LxTranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: LxTranslatePipe, name: "lxTranslate", pure: false });
29
+ LxTranslatePipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxTranslatePipe, providedIn: 'root' });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxTranslatePipe, decorators: [{
31
31
  type: Injectable,
32
32
  args: [{ providedIn: 'root' }]
33
33
  }, {
@@ -20,9 +20,9 @@ export class MarkdownPipe {
20
20
  return markdownText ? marked.parse(markdownText, options) : '';
21
21
  }
22
22
  }
23
- MarkdownPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MarkdownPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
24
- MarkdownPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: MarkdownPipe, name: "lxMarkdown" });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MarkdownPipe, decorators: [{
23
+ MarkdownPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: MarkdownPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
24
+ MarkdownPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: MarkdownPipe, name: "lxMarkdown" });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: MarkdownPipe, decorators: [{
26
26
  type: Pipe,
27
27
  args: [{ name: 'lxMarkdown' }]
28
28
  }], ctorParameters: function () { return []; } });
@@ -5,9 +5,9 @@ export class NbspPipe {
5
5
  return text ? text.replace(/&nbsp;/g, ' ') : '';
6
6
  }
7
7
  }
8
- NbspPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: NbspPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
- NbspPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: NbspPipe, name: "lxNbsp" });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: NbspPipe, decorators: [{
8
+ NbspPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: NbspPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
+ NbspPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: NbspPipe, name: "lxNbsp" });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: NbspPipe, decorators: [{
11
11
  type: Pipe,
12
12
  args: [{ name: 'lxNbsp' }]
13
13
  }] });
@@ -14,9 +14,9 @@ export class SortPipe {
14
14
  }
15
15
  }
16
16
  }
17
- SortPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
18
- SortPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: SortPipe, name: "lxSort" });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SortPipe, decorators: [{
17
+ SortPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
18
+ SortPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: SortPipe, name: "lxSort" });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SortPipe, decorators: [{
20
20
  type: Pipe,
21
21
  args: [{ name: 'lxSort' }]
22
22
  }] });
@@ -17,9 +17,9 @@ export class TranslationAfterPipe {
17
17
  return getTranslationParts(this.translateService, translationKey, cutMarkAndParams)[1] || '';
18
18
  }
19
19
  }
20
- TranslationAfterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TranslationAfterPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
21
- TranslationAfterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: TranslationAfterPipe, name: "lxTranslationAfter" });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TranslationAfterPipe, decorators: [{
20
+ TranslationAfterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TranslationAfterPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
21
+ TranslationAfterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: TranslationAfterPipe, name: "lxTranslationAfter" });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TranslationAfterPipe, decorators: [{
23
23
  type: Pipe,
24
24
  args: [{
25
25
  name: 'lxTranslationAfter'
@@ -42,9 +42,9 @@ export class TranslationBeforePipe {
42
42
  return getTranslationParts(this.translateService, translationKey, cutMarkAndParams)[0];
43
43
  }
44
44
  }
45
- TranslationBeforePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TranslationBeforePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
46
- TranslationBeforePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: TranslationBeforePipe, name: "lxTranslationBefore" });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TranslationBeforePipe, decorators: [{
45
+ TranslationBeforePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TranslationBeforePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
46
+ TranslationBeforePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: TranslationBeforePipe, name: "lxTranslationBefore" });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TranslationBeforePipe, decorators: [{
48
48
  type: Pipe,
49
49
  args: [{
50
50
  name: 'lxTranslationBefore'
@@ -56,9 +56,9 @@ export class TranslationBetweenPipe {
56
56
  return getTranslationBetween(this.translateService, translationKey, cutMarksAndParams);
57
57
  }
58
58
  }
59
- TranslationBetweenPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TranslationBetweenPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
60
- TranslationBetweenPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: TranslationBetweenPipe, name: "lxTranslationBetween" });
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TranslationBetweenPipe, decorators: [{
59
+ TranslationBetweenPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TranslationBetweenPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
60
+ TranslationBetweenPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: TranslationBetweenPipe, name: "lxTranslationBetween" });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TranslationBetweenPipe, decorators: [{
62
62
  type: Pipe,
63
63
  args: [{
64
64
  name: 'lxTranslationBetween'
@@ -5,9 +5,9 @@ export class UnescapeCurlyBracesPipe {
5
5
  return input.replace(/\\([{}])/g, '$1');
6
6
  }
7
7
  }
8
- UnescapeCurlyBracesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: UnescapeCurlyBracesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
- UnescapeCurlyBracesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: UnescapeCurlyBracesPipe, name: "lxUnescapeCurlyBraces" });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: UnescapeCurlyBracesPipe, decorators: [{
8
+ UnescapeCurlyBracesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: UnescapeCurlyBracesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
+ UnescapeCurlyBracesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: UnescapeCurlyBracesPipe, name: "lxUnescapeCurlyBraces" });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: UnescapeCurlyBracesPipe, decorators: [{
11
11
  type: Pipe,
12
12
  args: [{
13
13
  name: 'lxUnescapeCurlyBraces'
@@ -87,9 +87,9 @@ export class ResizeObserverService {
87
87
  };
88
88
  }
89
89
  }
90
- ResizeObserverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ResizeObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
91
- ResizeObserverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ResizeObserverService, providedIn: 'root' });
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ResizeObserverService, decorators: [{
90
+ ResizeObserverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ResizeObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
91
+ ResizeObserverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ResizeObserverService, providedIn: 'root' });
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ResizeObserverService, decorators: [{
93
93
  type: Injectable,
94
94
  args: [{ providedIn: 'root' }]
95
95
  }] });
@@ -11,9 +11,9 @@ export class TooltipComponent {
11
11
  };
12
12
  }
13
13
  }
14
- TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
- TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: TooltipComponent, selector: "lx-tooltip", inputs: { content: "content", isHtmlContent: "isHtmlContent", position: "position" }, ngImport: i0, template: "<div *ngIf=\"!isHtmlContent; else htmlTooltip\" [ngClass]=\"['x-' + position.x, 'y-' + position.y]\">{{ content }}</div>\n<ng-template #htmlTooltip>\n <div [innerHtml]=\"content\" [ngClass]=\"['x-' + position.x, 'y-' + position.y]\"></div>\n</ng-template>\n", styles: [":host{display:block;position:relative;margin:5px}div{background-color:#292929;color:#fff;border:0 solid transparent;border-radius:5px;opacity:1;font-size:11px;font-weight:400;text-shadow:0 1px black;text-align:left;word-wrap:break-word;line-height:16px;max-width:280px;min-width:50px;padding:6px 10px;overflow:hidden}.y-bottom:after,.y-top:after,.x-left:after,.x-right:after{content:\" \";position:absolute;border-width:5px;border-style:solid;border-color:#292929 transparent transparent transparent}.y-top:after{top:100%;margin-left:-5px}.y-bottom:after{top:0;margin-left:-5px;transform-origin:center top;transform:rotate(180deg)}.y-center:after{top:50%;margin-left:-5px;margin-top:-10px}.y-top.x-center:after,.y-bottom.x-center:after{left:50%}.y-top.x-left:after,.y-bottom.x-left:after{right:10px}.y-top.x-right:after,.y-bottom.x-right:after{left:10px}.y-center.x-right:after{left:0;transform-origin:left center;transform:rotate(90deg)}.y-center.x-left:after{left:100%;transform-origin:right center;transform:rotate(-90deg)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TooltipComponent, decorators: [{
14
+ TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
+ TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: TooltipComponent, selector: "lx-tooltip", inputs: { content: "content", isHtmlContent: "isHtmlContent", position: "position" }, ngImport: i0, template: "<div *ngIf=\"!isHtmlContent; else htmlTooltip\" [ngClass]=\"['x-' + position.x, 'y-' + position.y]\">{{ content }}</div>\n<ng-template #htmlTooltip>\n <div [innerHtml]=\"content\" [ngClass]=\"['x-' + position.x, 'y-' + position.y]\"></div>\n</ng-template>\n", styles: [":host{display:block;position:relative;margin:5px}div{background-color:#292929;color:#fff;border:0 solid transparent;border-radius:5px;opacity:1;font-size:11px;font-weight:400;text-shadow:0 1px black;text-align:left;word-wrap:break-word;line-height:16px;max-width:280px;min-width:50px;padding:6px 10px;overflow:hidden}.y-bottom:after,.y-top:after,.x-left:after,.x-right:after{content:\" \";position:absolute;border-width:5px;border-style:solid;border-color:#292929 transparent transparent transparent}.y-top:after{top:100%;margin-left:-5px}.y-bottom:after{top:0;margin-left:-5px;transform-origin:center top;transform:rotate(180deg)}.y-center:after{top:50%;margin-left:-5px;margin-top:-10px}.y-top.x-center:after,.y-bottom.x-center:after{left:50%}.y-top.x-left:after,.y-bottom.x-left:after{right:10px}.y-top.x-right:after,.y-bottom.x-right:after{left:10px}.y-center.x-right:after{left:0;transform-origin:left center;transform:rotate(90deg)}.y-center.x-left:after{left:100%;transform-origin:right center;transform:rotate(-90deg)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TooltipComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{ selector: 'lx-tooltip', template: "<div *ngIf=\"!isHtmlContent; else htmlTooltip\" [ngClass]=\"['x-' + position.x, 'y-' + position.y]\">{{ content }}</div>\n<ng-template #htmlTooltip>\n <div [innerHtml]=\"content\" [ngClass]=\"['x-' + position.x, 'y-' + position.y]\"></div>\n</ng-template>\n", styles: [":host{display:block;position:relative;margin:5px}div{background-color:#292929;color:#fff;border:0 solid transparent;border-radius:5px;opacity:1;font-size:11px;font-weight:400;text-shadow:0 1px black;text-align:left;word-wrap:break-word;line-height:16px;max-width:280px;min-width:50px;padding:6px 10px;overflow:hidden}.y-bottom:after,.y-top:after,.x-left:after,.x-right:after{content:\" \";position:absolute;border-width:5px;border-style:solid;border-color:#292929 transparent transparent transparent}.y-top:after{top:100%;margin-left:-5px}.y-bottom:after{top:0;margin-left:-5px;transform-origin:center top;transform:rotate(180deg)}.y-center:after{top:50%;margin-left:-5px;margin-top:-10px}.y-top.x-center:after,.y-bottom.x-center:after{left:50%}.y-top.x-left:after,.y-bottom.x-left:after{right:10px}.y-top.x-right:after,.y-bottom.x-right:after{left:10px}.y-center.x-right:after{left:0;transform-origin:left center;transform:rotate(90deg)}.y-center.x-left:after{left:100%;transform-origin:right center;transform:rotate(-90deg)}\n"] }]
19
19
  }], propDecorators: { content: [{
@@ -70,9 +70,9 @@ export class TooltipDirective {
70
70
  this.overlayRef?.dispose();
71
71
  }
72
72
  }
73
- TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TooltipDirective, deps: [{ token: i1.OverlayPositionBuilder }, { token: i0.ElementRef }, { token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Directive });
74
- TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: TooltipDirective, selector: "[lxTooltip]", inputs: { content: ["lxTooltip", "content"], lxTooltipPosition: "lxTooltipPosition", lxTooltipDelay: "lxTooltipDelay", lxTooltipIsHtmlContent: "lxTooltipIsHtmlContent" }, host: { listeners: { "mouseenter": "show()", "focus": "show()", "mouseleave": "hide()", "click": "hide()", "blur": "hide()" } }, usesOnChanges: true, ngImport: i0 });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TooltipDirective, decorators: [{
73
+ TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TooltipDirective, deps: [{ token: i1.OverlayPositionBuilder }, { token: i0.ElementRef }, { token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Directive });
74
+ TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: TooltipDirective, selector: "[lxTooltip]", inputs: { content: ["lxTooltip", "content"], lxTooltipPosition: "lxTooltipPosition", lxTooltipDelay: "lxTooltipDelay", lxTooltipIsHtmlContent: "lxTooltipIsHtmlContent" }, host: { listeners: { "mouseenter": "show()", "focus": "show()", "mouseleave": "hide()", "click": "hide()", "blur": "hide()" } }, usesOnChanges: true, ngImport: i0 });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TooltipDirective, decorators: [{
76
76
  type: Directive,
77
77
  args: [{
78
78
  selector: '[lxTooltip]'
@@ -6,10 +6,10 @@ import { TooltipDirective } from './tooltip.directive';
6
6
  import * as i0 from "@angular/core";
7
7
  export class LxTooltipModule {
8
8
  }
9
- LxTooltipModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LxTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- LxTooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: LxTooltipModule, declarations: [TooltipDirective, TooltipComponent], imports: [CommonModule, OverlayModule], exports: [TooltipDirective] });
11
- LxTooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LxTooltipModule, imports: [CommonModule, OverlayModule] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LxTooltipModule, decorators: [{
9
+ LxTooltipModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ LxTooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: LxTooltipModule, declarations: [TooltipDirective, TooltipComponent], imports: [CommonModule, OverlayModule], exports: [TooltipDirective] });
11
+ LxTooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxTooltipModule, imports: [CommonModule, OverlayModule] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxTooltipModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [TooltipDirective, TooltipComponent],
@@ -60,9 +60,9 @@ export class BasicDropdownComponent extends KeyboardSelectDirective {
60
60
  this.createNewOptionSelected.emit();
61
61
  }
62
62
  }
63
- BasicDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: BasicDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
64
- BasicDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: BasicDropdownComponent, selector: "lx-basic-dropdown", inputs: { options: "options", initiallySelectedIndex: "initiallySelectedIndex", labelKey: "labelKey", itemKey: "itemKey", placeholder: "placeholder", loading: "loading", newOptionLabel: "newOptionLabel", padding: "padding", showCreateNewOption: "showCreateNewOption", disabledOptions: "disabledOptions" }, outputs: { onItemSelected: "onItemSelected", triggerRequestForMoreEntries: "triggerRequestForMoreEntries", newOptionLabelSelected: "newOptionLabelSelected", createNewOptionSelected: "createNewOptionSelected" }, queries: [{ propertyName: "optionTemplateRef", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "createNewOptionTemplateRef", first: true, predicate: ["createNewOptionTemplate"], descendants: true }, { propertyName: "descriptionTemplateRef", first: true, predicate: ["descriptionTemplateRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ul\n class=\"options {{ padding }}Padding lxThinScrollbar\"\n #keyboardSelectContainer\n infinite-scroll\n [scrollWindow]=\"false\"\n [fromRoot]=\"true\"\n (scrolled)=\"onScroll()\"\n>\n <li\n *ngIf=\"newOptionLabel && isNewItem\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"onNewItemSelected()\"\n (select)=\"onNewItemSelected()\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option keyboardSelectable onTheFlyOption\"\n >\n <span class=\"newEntryContent\">\n {{ newOptionLabel }}\n </span>\n <lx-badge class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\"></lx-badge>\n </li>\n <li\n *ngIf=\"showCreateNewOption\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"onCreateNewOptionSelected()\"\n (select)=\"onCreateNewOptionSelected()\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option keyboardSelectable newEntryOption\"\n >\n <span class=\"newEntryContent\">\n <ng-container *ngIf=\"createNewOptionTemplateRef; else defaultNewOption\">\n <ng-container *ngTemplateOutlet=\"createNewOptionTemplateRef\"></ng-container>\n </ng-container>\n <ng-template #defaultNewOption>\n <span>\n {{ NAME + '.new' | translate }}\n </span>\n </ng-template>\n </span>\n </li>\n <li\n *ngIf=\"descriptionTemplateRef\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n class=\"option description disabledItem\"\n >\n <span class=\"descriptionContent\">\n <ng-container *ngTemplateOutlet=\"descriptionTemplateRef\"></ng-container>\n </span>\n </li>\n <li\n *ngIf=\"options?.length === 0 && !newOptionLabel && !loading\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option keyboardSelectable noOptionsAvailable\"\n >\n {{ NAME + '.noResults' | translate }}\n </li>\n <li\n *ngIf=\"placeholder\"\n tabindex=\"-1\"\n class=\"option keyboardSelectable clearSelection\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"selectOption(null)\"\n (select)=\"selectOption(null)\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n >\n {{ placeholder }}\n </li>\n <li\n *ngFor=\"let option of options; let index = index; trackBy: trackByProp(itemKey)\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n class=\"option keyboardSelectable\"\n (click)=\"selectOption(option)\"\n (select)=\"selectOption(option)\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n [class.initiallySelected]=\"index === initiallySelectedIndex\"\n [class.disabledItem]=\"itemKey ? !!disabledOptions[option[itemKey]] : false\"\n >\n <ng-container *ngIf=\"optionTemplateRef; else simpleStringDisplay\">\n <ng-container *ngTemplateOutlet=\"optionTemplateRef; context: { $implicit: option, index: index }\"></ng-container>\n </ng-container>\n <ng-template #simpleStringDisplay>\n <span>\n {{ labelKey ? option[labelKey] : option }}\n </span>\n </ng-template>\n </li>\n <lx-spinner *ngIf=\"loading\" [fadeBackground]=\"true\"></lx-spinner>\n</ul>\n", styles: [":host(.noOptionPadding) .options .option{padding:0}.defaultPadding .newEntryOption,.defaultPadding .onTheFlyOption,.defaultPadding .noOptionsAvailable{padding:4px 12px!important}.narrowPadding .newEntryOption,.narrowPadding .onTheFlyOption,.narrowPadding .noOptionsAvailable{padding:4px!important}.options{list-style:none;margin:0;padding:0;overflow-y:auto;max-height:250px}.options.defaultPadding .option{padding:4px 12px}.options.narrowPadding .option{padding:4px}.optionSearch{padding:2px}.option{cursor:pointer;display:block}.option:hover:not(.disabledItem){background-color:#e1e5eb!important}.option.selected{background:#eaedf1}.option.initiallySelected{color:var(--lx-primarybutton-backgroundcolor)}.option.disabledItem{cursor:default;opacity:.5}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i3.BadgeComponent, selector: "lx-badge", inputs: ["content", "size", "color"] }, { kind: "component", type: i4.SpinnerComponent, selector: "lx-spinner", inputs: ["fadeBackground"] }, { kind: "directive", type: i5.SelectableItemDirective, selector: "[lxSelectableItem]", inputs: ["scrollInContainer", "lxSelectableItem"], outputs: ["select"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: BasicDropdownComponent, decorators: [{
63
+ BasicDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BasicDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
64
+ BasicDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: BasicDropdownComponent, selector: "lx-basic-dropdown", inputs: { options: "options", initiallySelectedIndex: "initiallySelectedIndex", labelKey: "labelKey", itemKey: "itemKey", placeholder: "placeholder", loading: "loading", newOptionLabel: "newOptionLabel", padding: "padding", showCreateNewOption: "showCreateNewOption", disabledOptions: "disabledOptions" }, outputs: { onItemSelected: "onItemSelected", triggerRequestForMoreEntries: "triggerRequestForMoreEntries", newOptionLabelSelected: "newOptionLabelSelected", createNewOptionSelected: "createNewOptionSelected" }, queries: [{ propertyName: "optionTemplateRef", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "createNewOptionTemplateRef", first: true, predicate: ["createNewOptionTemplate"], descendants: true }, { propertyName: "descriptionTemplateRef", first: true, predicate: ["descriptionTemplateRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ul\n class=\"options {{ padding }}Padding lxThinScrollbar\"\n #keyboardSelectContainer\n infinite-scroll\n [scrollWindow]=\"false\"\n [fromRoot]=\"true\"\n (scrolled)=\"onScroll()\"\n>\n <li\n *ngIf=\"newOptionLabel && isNewItem\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"onNewItemSelected()\"\n (select)=\"onNewItemSelected()\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option keyboardSelectable onTheFlyOption\"\n >\n <span class=\"newEntryContent\">\n {{ newOptionLabel }}\n </span>\n <lx-badge class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\"></lx-badge>\n </li>\n <li\n *ngIf=\"showCreateNewOption\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"onCreateNewOptionSelected()\"\n (select)=\"onCreateNewOptionSelected()\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option keyboardSelectable newEntryOption\"\n >\n <span class=\"newEntryContent\">\n <ng-container *ngIf=\"createNewOptionTemplateRef; else defaultNewOption\">\n <ng-container *ngTemplateOutlet=\"createNewOptionTemplateRef\"></ng-container>\n </ng-container>\n <ng-template #defaultNewOption>\n <span>\n {{ NAME + '.new' | translate }}\n </span>\n </ng-template>\n </span>\n </li>\n <li\n *ngIf=\"descriptionTemplateRef\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n class=\"option description disabledItem\"\n >\n <span class=\"descriptionContent\">\n <ng-container *ngTemplateOutlet=\"descriptionTemplateRef\"></ng-container>\n </span>\n </li>\n <li\n *ngIf=\"options?.length === 0 && !newOptionLabel && !loading\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option keyboardSelectable noOptionsAvailable\"\n >\n {{ NAME + '.noResults' | translate }}\n </li>\n <li\n *ngIf=\"placeholder\"\n tabindex=\"-1\"\n class=\"option keyboardSelectable clearSelection\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"selectOption(null)\"\n (select)=\"selectOption(null)\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n >\n {{ placeholder }}\n </li>\n <li\n *ngFor=\"let option of options; let index = index; trackBy: trackByProp(itemKey)\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n class=\"option keyboardSelectable\"\n (click)=\"selectOption(option)\"\n (select)=\"selectOption(option)\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n [class.initiallySelected]=\"index === initiallySelectedIndex\"\n [class.disabledItem]=\"itemKey ? !!disabledOptions[option[itemKey]] : false\"\n >\n <ng-container *ngIf=\"optionTemplateRef; else simpleStringDisplay\">\n <ng-container *ngTemplateOutlet=\"optionTemplateRef; context: { $implicit: option, index: index }\"></ng-container>\n </ng-container>\n <ng-template #simpleStringDisplay>\n <span>\n {{ labelKey ? option[labelKey] : option }}\n </span>\n </ng-template>\n </li>\n <lx-spinner *ngIf=\"loading\" [fadeBackground]=\"true\"></lx-spinner>\n</ul>\n", styles: [":host(.noOptionPadding) .options .option{padding:0}.defaultPadding .newEntryOption,.defaultPadding .onTheFlyOption,.defaultPadding .noOptionsAvailable{padding:4px 12px!important}.narrowPadding .newEntryOption,.narrowPadding .onTheFlyOption,.narrowPadding .noOptionsAvailable{padding:4px!important}.options{list-style:none;margin:0;padding:0;overflow-y:auto;max-height:250px}.options.defaultPadding .option{padding:4px 12px}.options.narrowPadding .option{padding:4px}.optionSearch{padding:2px}.option{cursor:pointer;display:block}.option:hover:not(.disabledItem){background-color:#e1e5eb!important}.option.selected{background:#eaedf1}.option.initiallySelected{color:var(--lx-primarybutton-backgroundcolor)}.option.disabledItem{cursor:default;opacity:.5}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i3.BadgeComponent, selector: "lx-badge", inputs: ["content", "size", "color"] }, { kind: "component", type: i4.SpinnerComponent, selector: "lx-spinner", inputs: ["fadeBackground"] }, { kind: "directive", type: i5.SelectableItemDirective, selector: "[lxSelectableItem]", inputs: ["scrollInContainer", "lxSelectableItem"], outputs: ["select"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BasicDropdownComponent, decorators: [{
66
66
  type: Component,
67
67
  args: [{ selector: 'lx-basic-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ul\n class=\"options {{ padding }}Padding lxThinScrollbar\"\n #keyboardSelectContainer\n infinite-scroll\n [scrollWindow]=\"false\"\n [fromRoot]=\"true\"\n (scrolled)=\"onScroll()\"\n>\n <li\n *ngIf=\"newOptionLabel && isNewItem\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"onNewItemSelected()\"\n (select)=\"onNewItemSelected()\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option keyboardSelectable onTheFlyOption\"\n >\n <span class=\"newEntryContent\">\n {{ newOptionLabel }}\n </span>\n <lx-badge class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\"></lx-badge>\n </li>\n <li\n *ngIf=\"showCreateNewOption\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"onCreateNewOptionSelected()\"\n (select)=\"onCreateNewOptionSelected()\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option keyboardSelectable newEntryOption\"\n >\n <span class=\"newEntryContent\">\n <ng-container *ngIf=\"createNewOptionTemplateRef; else defaultNewOption\">\n <ng-container *ngTemplateOutlet=\"createNewOptionTemplateRef\"></ng-container>\n </ng-container>\n <ng-template #defaultNewOption>\n <span>\n {{ NAME + '.new' | translate }}\n </span>\n </ng-template>\n </span>\n </li>\n <li\n *ngIf=\"descriptionTemplateRef\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n class=\"option description disabledItem\"\n >\n <span class=\"descriptionContent\">\n <ng-container *ngTemplateOutlet=\"descriptionTemplateRef\"></ng-container>\n </span>\n </li>\n <li\n *ngIf=\"options?.length === 0 && !newOptionLabel && !loading\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option keyboardSelectable noOptionsAvailable\"\n >\n {{ NAME + '.noResults' | translate }}\n </li>\n <li\n *ngIf=\"placeholder\"\n tabindex=\"-1\"\n class=\"option keyboardSelectable clearSelection\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"selectOption(null)\"\n (select)=\"selectOption(null)\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n >\n {{ placeholder }}\n </li>\n <li\n *ngFor=\"let option of options; let index = index; trackBy: trackByProp(itemKey)\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n class=\"option keyboardSelectable\"\n (click)=\"selectOption(option)\"\n (select)=\"selectOption(option)\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n [class.initiallySelected]=\"index === initiallySelectedIndex\"\n [class.disabledItem]=\"itemKey ? !!disabledOptions[option[itemKey]] : false\"\n >\n <ng-container *ngIf=\"optionTemplateRef; else simpleStringDisplay\">\n <ng-container *ngTemplateOutlet=\"optionTemplateRef; context: { $implicit: option, index: index }\"></ng-container>\n </ng-container>\n <ng-template #simpleStringDisplay>\n <span>\n {{ labelKey ? option[labelKey] : option }}\n </span>\n </ng-template>\n </li>\n <lx-spinner *ngIf=\"loading\" [fadeBackground]=\"true\"></lx-spinner>\n</ul>\n", styles: [":host(.noOptionPadding) .options .option{padding:0}.defaultPadding .newEntryOption,.defaultPadding .onTheFlyOption,.defaultPadding .noOptionsAvailable{padding:4px 12px!important}.narrowPadding .newEntryOption,.narrowPadding .onTheFlyOption,.narrowPadding .noOptionsAvailable{padding:4px!important}.options{list-style:none;margin:0;padding:0;overflow-y:auto;max-height:250px}.options.defaultPadding .option{padding:4px 12px}.options.narrowPadding .option{padding:4px}.optionSearch{padding:2px}.option{cursor:pointer;display:block}.option:hover:not(.disabledItem){background-color:#e1e5eb!important}.option.selected{background:#eaedf1}.option.initiallySelected{color:var(--lx-primarybutton-backgroundcolor)}.option.disabledItem{cursor:default;opacity:.5}\n"] }]
68
68
  }], propDecorators: { options: [{
@@ -11,9 +11,9 @@ export class BasicDropdownItemComponent {
11
11
  return !!this.description;
12
12
  }
13
13
  }
14
- BasicDropdownItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: BasicDropdownItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
- BasicDropdownItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: BasicDropdownItemComponent, selector: "lx-basic-dropdown-item", inputs: { label: "label", description: "description", highlightTerm: "highlightTerm", labelFontWeight: "labelFontWeight", descriptionFontStyle: "descriptionFontStyle" }, host: { properties: { "class.hasDescription": "this.hasDescription" } }, ngImport: i0, template: "<div [class.boldLabel]=\"labelFontWeight === 'bold'\" [lxHtml]=\"label | lxHighlightTerm: highlightTerm\"></div>\n<div class=\"optionDescription\" [style.font-style]=\"descriptionFontStyle\">\n {{ description }}\n</div>\n", styles: [":host{display:block;padding:2px 0}:host.hasDescription{padding:4px 0}.boldLabel{font-weight:700}.optionDescription{padding-top:2px;color:#677a9a;font-size:11px}\n"], dependencies: [{ kind: "directive", type: i1.HtmlDirective, selector: "[lxHtml]", inputs: ["lxHtml"] }, { kind: "pipe", type: i2.HighlightTermPipe, name: "lxHighlightTerm" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: BasicDropdownItemComponent, decorators: [{
14
+ BasicDropdownItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BasicDropdownItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
+ BasicDropdownItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: BasicDropdownItemComponent, selector: "lx-basic-dropdown-item", inputs: { label: "label", description: "description", highlightTerm: "highlightTerm", labelFontWeight: "labelFontWeight", descriptionFontStyle: "descriptionFontStyle" }, host: { properties: { "class.hasDescription": "this.hasDescription" } }, ngImport: i0, template: "<div [class.boldLabel]=\"labelFontWeight === 'bold'\" [lxHtml]=\"label | lxHighlightTerm: highlightTerm\"></div>\n<div class=\"optionDescription\" [style.font-style]=\"descriptionFontStyle\">\n {{ description }}\n</div>\n", styles: [":host{display:block;padding:2px 0}:host.hasDescription{padding:4px 0}.boldLabel{font-weight:700}.optionDescription{padding-top:2px;color:#677a9a;font-size:11px}\n"], dependencies: [{ kind: "directive", type: i1.HtmlDirective, selector: "[lxHtml]", inputs: ["lxHtml"] }, { kind: "pipe", type: i2.HighlightTermPipe, name: "lxHighlightTerm" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BasicDropdownItemComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{ selector: 'lx-basic-dropdown-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class.boldLabel]=\"labelFontWeight === 'bold'\" [lxHtml]=\"label | lxHighlightTerm: highlightTerm\"></div>\n<div class=\"optionDescription\" [style.font-style]=\"descriptionFontStyle\">\n {{ description }}\n</div>\n", styles: [":host{display:block;padding:2px 0}:host.hasDescription{padding:4px 0}.boldLabel{font-weight:700}.optionDescription{padding-top:2px;color:#677a9a;font-size:11px}\n"] }]
19
19
  }], propDecorators: { label: [{
@@ -0,0 +1,47 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../../directives/keyboard-action-source.directive";
5
+ import * as i3 from "../option/option.component";
6
+ import * as i4 from "../cdk-options-dropdown/cdk-options-dropdown.component";
7
+ export class BreadcrumbComponent {
8
+ constructor() {
9
+ this.breadcrumbs = [];
10
+ this.viewBreadcrumbs = [];
11
+ }
12
+ ngOnChanges(changes) {
13
+ if (changes['breadcrumbs']) {
14
+ this.viewBreadcrumbs = this.breadcrumbs.reduce((viewBreadcrumbs, breadcrumb) => {
15
+ if (!breadcrumb.ellipsed) {
16
+ // Append normal breadcrumbs to the end of view breadcrumb array
17
+ viewBreadcrumbs.push(breadcrumb);
18
+ }
19
+ else {
20
+ // Reduce consecutive ellipsed breadcrumbs into one entry and show dropdown of these
21
+ const lastBreadcrumb = viewBreadcrumbs[viewBreadcrumbs.length - 1];
22
+ if (lastBreadcrumb && this.isEllipsedBreadcrumb(lastBreadcrumb)) {
23
+ lastBreadcrumb.breadcrumbs.push(breadcrumb);
24
+ }
25
+ else {
26
+ viewBreadcrumbs.push({
27
+ breadcrumbs: [breadcrumb]
28
+ });
29
+ }
30
+ }
31
+ return viewBreadcrumbs;
32
+ }, []);
33
+ }
34
+ }
35
+ isEllipsedBreadcrumb(breadcrumb) {
36
+ return !!breadcrumb.breadcrumbs;
37
+ }
38
+ }
39
+ BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
+ BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: BreadcrumbComponent, selector: "lx-breadcrumb", inputs: { breadcrumbs: "breadcrumbs" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"breadcrumbs\">\n <ng-container *ngFor=\"let breadcrumb of viewBreadcrumbs\">\n <ng-container *ngIf=\"isEllipsedBreadcrumb(breadcrumb)\">\n <lx-cdk-options-dropdown [align]=\"'right'\" class=\"dropdownContainer\">\n <a class=\"step\" href=\"\" lxKeyboardActionSource (click)=\"(false)\">...</a>\n <lx-option\n *ngFor=\"let ellipsedBreadcrumbs of breadcrumb.breadcrumbs\"\n [hasSelectedState]=\"false\"\n (select)=\"ellipsedBreadcrumbs.onClick?.(ellipsedBreadcrumbs)\"\n >\n {{ ellipsedBreadcrumbs.label }}\n </lx-option>\n </lx-cdk-options-dropdown>\n <span class=\"arrow\">&gt;</span>\n </ng-container>\n <ng-container *ngIf=\"!isEllipsedBreadcrumb(breadcrumb)\">\n <a class=\"step\" href=\"\" (click)=\"breadcrumb.onClick?.(breadcrumb); false\">{{ breadcrumb.label }}</a>\n <span class=\"arrow\">&gt;</span>\n </ng-container>\n </ng-container>\n</div>\n", styles: [".breadcrumbs{line-height:20px;font-weight:500}.breadcrumbs .step{color:var(--01-ui-colors-dark-gray);cursor:pointer}.breadcrumbs .arrow{margin:0 12px;color:var(--01-ui-colors-dark-gray)}.breadcrumbs .arrow:last-child{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.KeyboardActionSourceDirective, selector: "[lxKeyboardActionSource]", exportAs: ["keyboardActionSource"] }, { kind: "component", type: i3.OptionComponent, selector: "lx-option", inputs: ["selected", "isHighlighted", "disabled", "value", "hasSelectedState", "selectIcon"], outputs: ["select", "highlight", "selectedClick"] }, { kind: "component", type: i4.CdkOptionsDropdownComponent, selector: "lx-cdk-options-dropdown", inputs: ["align", "closeOnScroll", "disabled", "maxHeight"] }] });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BreadcrumbComponent, decorators: [{
42
+ type: Component,
43
+ args: [{ selector: 'lx-breadcrumb', template: "<div class=\"breadcrumbs\">\n <ng-container *ngFor=\"let breadcrumb of viewBreadcrumbs\">\n <ng-container *ngIf=\"isEllipsedBreadcrumb(breadcrumb)\">\n <lx-cdk-options-dropdown [align]=\"'right'\" class=\"dropdownContainer\">\n <a class=\"step\" href=\"\" lxKeyboardActionSource (click)=\"(false)\">...</a>\n <lx-option\n *ngFor=\"let ellipsedBreadcrumbs of breadcrumb.breadcrumbs\"\n [hasSelectedState]=\"false\"\n (select)=\"ellipsedBreadcrumbs.onClick?.(ellipsedBreadcrumbs)\"\n >\n {{ ellipsedBreadcrumbs.label }}\n </lx-option>\n </lx-cdk-options-dropdown>\n <span class=\"arrow\">&gt;</span>\n </ng-container>\n <ng-container *ngIf=\"!isEllipsedBreadcrumb(breadcrumb)\">\n <a class=\"step\" href=\"\" (click)=\"breadcrumb.onClick?.(breadcrumb); false\">{{ breadcrumb.label }}</a>\n <span class=\"arrow\">&gt;</span>\n </ng-container>\n </ng-container>\n</div>\n", styles: [".breadcrumbs{line-height:20px;font-weight:500}.breadcrumbs .step{color:var(--01-ui-colors-dark-gray);cursor:pointer}.breadcrumbs .arrow{margin:0 12px;color:var(--01-ui-colors-dark-gray)}.breadcrumbs .arrow:last-child{display:none}\n"] }]
44
+ }], propDecorators: { breadcrumbs: [{
45
+ type: Input
46
+ }] } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7Ozs7OztBQW1CM0UsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU1XLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUV4QyxvQkFBZSxHQUFxQixFQUFFLENBQUM7S0EyQnhDO0lBekJDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsZUFBZSxFQUFFLFVBQVUsRUFBRSxFQUFFO2dCQUM3RSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtvQkFDeEIsZ0VBQWdFO29CQUNoRSxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUNsQztxQkFBTTtvQkFDTCxvRkFBb0Y7b0JBQ3BGLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUNuRSxJQUFJLGNBQWMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDLEVBQUU7d0JBQy9ELGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3FCQUM3Qzt5QkFBTTt3QkFDTCxlQUFlLENBQUMsSUFBSSxDQUFDOzRCQUNuQixXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUM7eUJBQzFCLENBQUMsQ0FBQztxQkFDSjtpQkFDRjtnQkFDRCxPQUFPLGVBQWUsQ0FBQztZQUN6QixDQUFDLEVBQUUsRUFBc0IsQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLFVBQTBCO1FBQzdDLE9BQU8sQ0FBQyxDQUFFLFVBQWlDLENBQUMsV0FBVyxDQUFDO0lBQzFELENBQUM7O2dIQTdCVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixrSENuQmhDLDQ4QkFxQkE7MkZERmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGVBQWU7OEJBS2hCLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBCcmVhZGNydW1iIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgZWxsaXBzZWQ/OiBib29sZWFuO1xuICBvbkNsaWNrPzogKGJyZWFkY3J1bWI6IEJyZWFkY3J1bWIpID0+IHZvaWQ7XG59XG5cbmludGVyZmFjZSBFbGxpcHNlZEJyZWFkY3J1bWIge1xuICBicmVhZGNydW1iczogQnJlYWRjcnVtYltdO1xufVxuXG50eXBlIFZpZXdCcmVhZGNydW1iID0gQnJlYWRjcnVtYiB8IEVsbGlwc2VkQnJlYWRjcnVtYjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtYnJlYWRjcnVtYicsXG4gIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBicmVhZGNydW1iczogQnJlYWRjcnVtYltdID0gW107XG5cbiAgdmlld0JyZWFkY3J1bWJzOiBWaWV3QnJlYWRjcnVtYltdID0gW107XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydicmVhZGNydW1icyddKSB7XG4gICAgICB0aGlzLnZpZXdCcmVhZGNydW1icyA9IHRoaXMuYnJlYWRjcnVtYnMucmVkdWNlKCh2aWV3QnJlYWRjcnVtYnMsIGJyZWFkY3J1bWIpID0+IHtcbiAgICAgICAgaWYgKCFicmVhZGNydW1iLmVsbGlwc2VkKSB7XG4gICAgICAgICAgLy8gQXBwZW5kIG5vcm1hbCBicmVhZGNydW1icyB0byB0aGUgZW5kIG9mIHZpZXcgYnJlYWRjcnVtYiBhcnJheVxuICAgICAgICAgIHZpZXdCcmVhZGNydW1icy5wdXNoKGJyZWFkY3J1bWIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFJlZHVjZSBjb25zZWN1dGl2ZSBlbGxpcHNlZCBicmVhZGNydW1icyBpbnRvIG9uZSBlbnRyeSBhbmQgc2hvdyBkcm9wZG93biBvZiB0aGVzZVxuICAgICAgICAgIGNvbnN0IGxhc3RCcmVhZGNydW1iID0gdmlld0JyZWFkY3J1bWJzW3ZpZXdCcmVhZGNydW1icy5sZW5ndGggLSAxXTtcbiAgICAgICAgICBpZiAobGFzdEJyZWFkY3J1bWIgJiYgdGhpcy5pc0VsbGlwc2VkQnJlYWRjcnVtYihsYXN0QnJlYWRjcnVtYikpIHtcbiAgICAgICAgICAgIGxhc3RCcmVhZGNydW1iLmJyZWFkY3J1bWJzLnB1c2goYnJlYWRjcnVtYik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZpZXdCcmVhZGNydW1icy5wdXNoKHtcbiAgICAgICAgICAgICAgYnJlYWRjcnVtYnM6IFticmVhZGNydW1iXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2aWV3QnJlYWRjcnVtYnM7XG4gICAgICB9LCBbXSBhcyBWaWV3QnJlYWRjcnVtYltdKTtcbiAgICB9XG4gIH1cblxuICBpc0VsbGlwc2VkQnJlYWRjcnVtYihicmVhZGNydW1iOiBWaWV3QnJlYWRjcnVtYik6IGJyZWFkY3J1bWIgaXMgRWxsaXBzZWRCcmVhZGNydW1iIHtcbiAgICByZXR1cm4gISEoYnJlYWRjcnVtYiBhcyBFbGxpcHNlZEJyZWFkY3J1bWIpLmJyZWFkY3J1bWJzO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYnJlYWRjcnVtYnNcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnJlYWRjcnVtYiBvZiB2aWV3QnJlYWRjcnVtYnNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNFbGxpcHNlZEJyZWFkY3J1bWIoYnJlYWRjcnVtYilcIj5cbiAgICAgIDxseC1jZGstb3B0aW9ucy1kcm9wZG93biBbYWxpZ25dPVwiJ3JpZ2h0J1wiIGNsYXNzPVwiZHJvcGRvd25Db250YWluZXJcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJzdGVwXCIgaHJlZj1cIlwiIGx4S2V5Ym9hcmRBY3Rpb25Tb3VyY2UgKGNsaWNrKT1cIihmYWxzZSlcIj4uLi48L2E+XG4gICAgICAgIDxseC1vcHRpb25cbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZWxsaXBzZWRCcmVhZGNydW1icyBvZiBicmVhZGNydW1iLmJyZWFkY3J1bWJzXCJcbiAgICAgICAgICBbaGFzU2VsZWN0ZWRTdGF0ZV09XCJmYWxzZVwiXG4gICAgICAgICAgKHNlbGVjdCk9XCJlbGxpcHNlZEJyZWFkY3J1bWJzLm9uQ2xpY2s/LihlbGxpcHNlZEJyZWFkY3J1bWJzKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBlbGxpcHNlZEJyZWFkY3J1bWJzLmxhYmVsIH19XG4gICAgICAgIDwvbHgtb3B0aW9uPlxuICAgICAgPC9seC1jZGstb3B0aW9ucy1kcm9wZG93bj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3dcIj4mZ3Q7PC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNFbGxpcHNlZEJyZWFkY3J1bWIoYnJlYWRjcnVtYilcIj5cbiAgICAgIDxhIGNsYXNzPVwic3RlcFwiIGhyZWY9XCJcIiAoY2xpY2spPVwiYnJlYWRjcnVtYi5vbkNsaWNrPy4oYnJlYWRjcnVtYik7IGZhbHNlXCI+e3sgYnJlYWRjcnVtYi5sYWJlbCB9fTwvYT5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3dcIj4mZ3Q7PC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19