@leanix/components 0.4.531 → 0.4.533

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 (157) hide show
  1. package/fesm2022/leanix-components.mjs +365 -365
  2. package/fesm2022/leanix-components.mjs.map +1 -1
  3. package/lib/core-ui/tooltip/tooltip.directive.d.ts +1 -1
  4. package/lib/forms-ui/components/keyboard-select.directive.d.ts +1 -1
  5. package/lib/forms-ui/models/base-select.directive.d.ts +1 -1
  6. package/lib/tab-ui/components/tab-group/tab-group.component.d.ts +1 -1
  7. package/package.json +10 -14
  8. package/esm2022/index.mjs +0 -145
  9. package/esm2022/leanix-components.mjs +0 -5
  10. package/esm2022/lib/core-ui/components/avatar/avatar.component.mjs +0 -40
  11. package/esm2022/lib/core-ui/components/avatar/avatar.helpers.mjs +0 -49
  12. package/esm2022/lib/core-ui/components/avatar/avatar.model.mjs +0 -33
  13. package/esm2022/lib/core-ui/components/avatar-group/avatar-group.component.mjs +0 -75
  14. package/esm2022/lib/core-ui/components/badge/badge.component.mjs +0 -58
  15. package/esm2022/lib/core-ui/components/banner/banner.component.mjs +0 -68
  16. package/esm2022/lib/core-ui/components/banner/banner.models.mjs +0 -12
  17. package/esm2022/lib/core-ui/components/button/button.component.mjs +0 -179
  18. package/esm2022/lib/core-ui/components/button-group/button-group.component.mjs +0 -28
  19. package/esm2022/lib/core-ui/components/card/card.component.mjs +0 -26
  20. package/esm2022/lib/core-ui/components/collapsible/collapsible.component.mjs +0 -52
  21. package/esm2022/lib/core-ui/components/counter/counter.component.mjs +0 -30
  22. package/esm2022/lib/core-ui/components/ellipsis/ellipsis.component.mjs +0 -143
  23. package/esm2022/lib/core-ui/components/empty-state/empty-state.component.mjs +0 -41
  24. package/esm2022/lib/core-ui/components/icon-scale/icon-scale.component.mjs +0 -36
  25. package/esm2022/lib/core-ui/components/skeleton/skeleton.component.mjs +0 -44
  26. package/esm2022/lib/core-ui/components/spinner/spinner.component.mjs +0 -26
  27. package/esm2022/lib/core-ui/components/stepper/stepper.component.mjs +0 -70
  28. package/esm2022/lib/core-ui/components/table/table-header/table-header.component.mjs +0 -128
  29. package/esm2022/lib/core-ui/components/table/table.component.mjs +0 -77
  30. package/esm2022/lib/core-ui/components/tiny-spinner/tiny-spinner.component.mjs +0 -14
  31. package/esm2022/lib/core-ui/components/tokenizer/token/token.component.mjs +0 -20
  32. package/esm2022/lib/core-ui/components/tokenizer/tokenizer-overflow-popover/tokenizer-overflow-popover.component.mjs +0 -44
  33. package/esm2022/lib/core-ui/components/tokenizer/tokenizer.component.mjs +0 -149
  34. package/esm2022/lib/core-ui/core-ui.constants.mjs +0 -240
  35. package/esm2022/lib/core-ui/core-ui.module.mjs +0 -206
  36. package/esm2022/lib/core-ui/directives/after-view-init.directive.mjs +0 -33
  37. package/esm2022/lib/core-ui/directives/autoclose-group.service.mjs +0 -39
  38. package/esm2022/lib/core-ui/directives/autoclose.directive.mjs +0 -43
  39. package/esm2022/lib/core-ui/directives/autofocus.directive.mjs +0 -36
  40. package/esm2022/lib/core-ui/functions/core-css.helpers.mjs +0 -52
  41. package/esm2022/lib/core-ui/functions/highlight-text.function.mjs +0 -80
  42. package/esm2022/lib/core-ui/linkify/linkify.pipe.mjs +0 -146
  43. package/esm2022/lib/core-ui/linkify/unlinkify.pipe.mjs +0 -51
  44. package/esm2022/lib/core-ui/pipes/br.pipe.mjs +0 -24
  45. package/esm2022/lib/core-ui/pipes/contrast-color.pipe.mjs +0 -21
  46. package/esm2022/lib/core-ui/pipes/custom-date.pipe.mjs +0 -28
  47. package/esm2022/lib/core-ui/pipes/display-avatars.pipe.mjs +0 -37
  48. package/esm2022/lib/core-ui/pipes/highlight-range.pipe.mjs +0 -29
  49. package/esm2022/lib/core-ui/pipes/highlight-term.pipe.mjs +0 -57
  50. package/esm2022/lib/core-ui/pipes/lx-is-uuid.pipe.mjs +0 -22
  51. package/esm2022/lib/core-ui/pipes/lx-time-ago.pipe.mjs +0 -29
  52. package/esm2022/lib/core-ui/pipes/lx-translate.pipe.mjs +0 -50
  53. package/esm2022/lib/core-ui/pipes/markdown.pipe.mjs +0 -32
  54. package/esm2022/lib/core-ui/pipes/nbsp.pipe.mjs +0 -17
  55. package/esm2022/lib/core-ui/pipes/sort.pipe.mjs +0 -55
  56. package/esm2022/lib/core-ui/pipes/translation-after.pipe.mjs +0 -29
  57. package/esm2022/lib/core-ui/pipes/translation-before.pipe.mjs +0 -54
  58. package/esm2022/lib/core-ui/pipes/translation-between.pipe.mjs +0 -68
  59. package/esm2022/lib/core-ui/pipes/unescape-curly-braces.pipe.mjs +0 -17
  60. package/esm2022/lib/core-ui/services/resize-observer.service.mjs +0 -112
  61. package/esm2022/lib/core-ui/tooltip/to-cdk-position.function.mjs +0 -74
  62. package/esm2022/lib/core-ui/tooltip/tooltip-position.interface.mjs +0 -7
  63. package/esm2022/lib/core-ui/tooltip/tooltip.component.mjs +0 -26
  64. package/esm2022/lib/core-ui/tooltip/tooltip.directive.mjs +0 -117
  65. package/esm2022/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.mjs +0 -139
  66. package/esm2022/lib/forms-ui/components/basic-dropdown-item/basic-dropdown-item.component.mjs +0 -38
  67. package/esm2022/lib/forms-ui/components/breadcrumb/breadcrumb.component.mjs +0 -55
  68. package/esm2022/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.mjs +0 -215
  69. package/esm2022/lib/forms-ui/components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component.mjs +0 -135
  70. package/esm2022/lib/forms-ui/components/currency/currency-input.component.mjs +0 -159
  71. package/esm2022/lib/forms-ui/components/currency/currency-symbol-map.constant.mjs +0 -105
  72. package/esm2022/lib/forms-ui/components/currency/currency-symbol.component.mjs +0 -24
  73. package/esm2022/lib/forms-ui/components/date-input/date-input.component.mjs +0 -347
  74. package/esm2022/lib/forms-ui/components/date-picker-ui/date-formatter.mjs +0 -8
  75. package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker-inner.component.mjs +0 -312
  76. package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker-ui.module.mjs +0 -20
  77. package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker.component.mjs +0 -206
  78. package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker.config.mjs +0 -29
  79. package/esm2022/lib/forms-ui/components/date-picker-ui/daypicker.component.mjs +0 -319
  80. package/esm2022/lib/forms-ui/components/date-picker-ui/isBs3.mjs +0 -2
  81. package/esm2022/lib/forms-ui/components/date-picker-ui/monthpicker.component.mjs +0 -149
  82. package/esm2022/lib/forms-ui/components/date-picker-ui/yearpicker.component.mjs +0 -151
  83. package/esm2022/lib/forms-ui/components/drag-and-drop-list/constants.mjs +0 -5
  84. package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.mjs +0 -49
  85. package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component.mjs +0 -120
  86. package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.module.mjs +0 -39
  87. package/esm2022/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.mjs +0 -137
  88. package/esm2022/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-list/keyboard-sortable-list.directive.mjs +0 -38
  89. package/esm2022/lib/forms-ui/components/error-message/error-message.component.mjs +0 -16
  90. package/esm2022/lib/forms-ui/components/expanded-dropdown/expanded-dropdown.component.mjs +0 -26
  91. package/esm2022/lib/forms-ui/components/form-error/form-error.component.mjs +0 -44
  92. package/esm2022/lib/forms-ui/components/icon/icon.component.mjs +0 -45
  93. package/esm2022/lib/forms-ui/components/input/input.component.mjs +0 -48
  94. package/esm2022/lib/forms-ui/components/keyboard-select.directive.mjs +0 -126
  95. package/esm2022/lib/forms-ui/components/multi-select/multi-select-selection/multi-select-selection.component.mjs +0 -28
  96. package/esm2022/lib/forms-ui/components/multi-select/multi-select.component.mjs +0 -318
  97. package/esm2022/lib/forms-ui/components/option/option.component.mjs +0 -99
  98. package/esm2022/lib/forms-ui/components/option-group/option-group.component.mjs +0 -29
  99. package/esm2022/lib/forms-ui/components/option-group-dropdown/option-group-dropdown.component.mjs +0 -123
  100. package/esm2022/lib/forms-ui/components/options-dropdown/options-dropdown.component.mjs +0 -297
  101. package/esm2022/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.mjs +0 -94
  102. package/esm2022/lib/forms-ui/components/picker/picker-trigger.directive.mjs +0 -47
  103. package/esm2022/lib/forms-ui/components/picker/picker.component.mjs +0 -218
  104. package/esm2022/lib/forms-ui/components/picker-option/picker-option.component.mjs +0 -118
  105. package/esm2022/lib/forms-ui/components/pill-item/pill-item.component.mjs +0 -33
  106. package/esm2022/lib/forms-ui/components/pill-list/pill-list.component.mjs +0 -58
  107. package/esm2022/lib/forms-ui/components/responsive-input/responsive-input.component.mjs +0 -101
  108. package/esm2022/lib/forms-ui/components/select-list/select-list.component.mjs +0 -178
  109. package/esm2022/lib/forms-ui/components/single-select/single-select.component.mjs +0 -290
  110. package/esm2022/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.mjs +0 -71
  111. package/esm2022/lib/forms-ui/components/sorting-dropdown-trigger/sorting-dropdown-trigger.component.mjs +0 -21
  112. package/esm2022/lib/forms-ui/components/switch/switch.component.mjs +0 -51
  113. package/esm2022/lib/forms-ui/directives/contenteditable.directive.mjs +0 -130
  114. package/esm2022/lib/forms-ui/directives/form-error.directive.mjs +0 -121
  115. package/esm2022/lib/forms-ui/directives/form-submit.directive.mjs +0 -29
  116. package/esm2022/lib/forms-ui/directives/keyboard-action-source.directive.mjs +0 -63
  117. package/esm2022/lib/forms-ui/directives/mark-invalid.directive.mjs +0 -39
  118. package/esm2022/lib/forms-ui/directives/max-length-counter.directive.mjs +0 -131
  119. package/esm2022/lib/forms-ui/directives/select-dropdown.directive.mjs +0 -32
  120. package/esm2022/lib/forms-ui/directives/selectable-item.directive.mjs +0 -34
  121. package/esm2022/lib/forms-ui/directives/selected-option.directive.mjs +0 -27
  122. package/esm2022/lib/forms-ui/forms-ui.module.mjs +0 -270
  123. package/esm2022/lib/forms-ui/helpers/key-codes.constants.mjs +0 -13
  124. package/esm2022/lib/forms-ui/helpers/keyboard-navigation.helpers.mjs +0 -38
  125. package/esm2022/lib/forms-ui/models/base-select.directive.mjs +0 -183
  126. package/esm2022/lib/forms-ui/models/dropdown-item.interface.mjs +0 -2
  127. package/esm2022/lib/forms-ui/models/single-select-padding.interface.mjs +0 -2
  128. package/esm2022/lib/forms-ui/models/sorting.interface.mjs +0 -7
  129. package/esm2022/lib/forms-ui/pipes/filter-selection.pipe.mjs +0 -33
  130. package/esm2022/lib/forms-ui/pipes/filter-term.pipe.mjs +0 -29
  131. package/esm2022/lib/forms-ui/pipes/format-number.pipe.mjs +0 -66
  132. package/esm2022/lib/forms-ui/validators/date-in-foreseeable-future.validator.mjs +0 -26
  133. package/esm2022/lib/forms-ui/validators/string-not-in-array.validator.mjs +0 -30
  134. package/esm2022/lib/modal-ui/components/modal/modal.component.mjs +0 -264
  135. package/esm2022/lib/modal-ui/components/modal-footer/modal-footer.component.mjs +0 -16
  136. package/esm2022/lib/modal-ui/components/modal-header/modal-header.component.mjs +0 -19
  137. package/esm2022/lib/modal-ui/directives/modal-content.directive.mjs +0 -14
  138. package/esm2022/lib/modal-ui/modal.constants.mjs +0 -18
  139. package/esm2022/lib/modal-ui/modal.module.mjs +0 -47
  140. package/esm2022/lib/popover-ui/components/popover/popover.component.mjs +0 -228
  141. package/esm2022/lib/popover-ui/directives/popover-click.directive.mjs +0 -52
  142. package/esm2022/lib/popover-ui/directives/popover-content.directive.mjs +0 -17
  143. package/esm2022/lib/popover-ui/directives/popover-hover.directive.mjs +0 -88
  144. package/esm2022/lib/popover-ui/popover-ui.module.mjs +0 -21
  145. package/esm2022/lib/shared/date-helpers.mjs +0 -35
  146. package/esm2022/lib/shared/html-helpers.function.mjs +0 -34
  147. package/esm2022/lib/shared/misc-helpers.mjs +0 -24
  148. package/esm2022/lib/shared/observe.mjs +0 -40
  149. package/esm2022/lib/tab-ui/components/tab/tab.component.mjs +0 -118
  150. package/esm2022/lib/tab-ui/components/tab-group/tab-group-key-codes.enum.mjs +0 -12
  151. package/esm2022/lib/tab-ui/components/tab-group/tab-group.component.mjs +0 -150
  152. package/esm2022/lib/tab-ui/tab-ui.module.mjs +0 -20
  153. package/esm2022/ui5/icons/lx-icons.json +0 -177
  154. package/esm2022/ui5/icons/register-icons.mjs +0 -14
  155. package/esm2022/ui5/index.mjs +0 -8
  156. package/esm2022/ui5/leanix-components-ui5.mjs +0 -5
  157. package/esm2022/ui5/ui5.provider.mjs +0 -29
@@ -1,57 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import DOMPurify from 'dompurify';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * These characters are treated as seperators by
6
- * elasticsearch and split the input into search tokens
7
- * which are used to find matches.
8
- */
9
- const STANDARD_TOKENIZER_SEPERATORS = /[^a-zA-Z\d\s]/g;
10
- export class HighlightTermPipe {
11
- /**
12
- * Transforms the input text with highlighted text according to the provided search term.
13
- * @param text The input text.
14
- * @param search The search term to highlight.
15
- * @param options The highlight term search options.
16
- * @returns The transformed text with highlighted search term.
17
- */
18
- transform(text, search, options = { exactMatch: false }) {
19
- if (text) {
20
- const highlightedMarkup = this.doTransform(text, search, options);
21
- return highlightedMarkup ? DOMPurify.sanitize(highlightedMarkup, { ALLOWED_TAGS: ['span'], ALLOWED_ATTR: ['class'] }) : undefined;
22
- }
23
- else {
24
- return undefined;
25
- }
26
- }
27
- doTransform(text, search, options) {
28
- if (search) {
29
- let pattern = options.exactMatch ? search.trim() : search.replace(STANDARD_TOKENIZER_SEPERATORS, ' ');
30
- // replace special chars for a backslash for RegExp
31
- pattern = pattern.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&');
32
- pattern = options.exactMatch
33
- ? pattern
34
- : pattern
35
- .split(' ')
36
- .filter((t) => {
37
- return t.length > 0;
38
- })
39
- .join('|');
40
- const regex = new RegExp(pattern, 'gi');
41
- return text.replace(regex, (match) => `<span class="termHighlight">${match}</span>`); // add highlighting to matched regex pattern
42
- }
43
- else {
44
- return text;
45
- }
46
- }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HighlightTermPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
48
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: HighlightTermPipe, isStandalone: true, name: "lxHighlightTerm" }); }
49
- }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HighlightTermPipe, decorators: [{
51
- type: Pipe,
52
- args: [{
53
- name: 'lxHighlightTerm',
54
- standalone: true
55
- }]
56
- }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LXRlcm0ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvcGlwZXMvaGlnaGxpZ2h0LXRlcm0ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLFNBQVMsTUFBTSxXQUFXLENBQUM7O0FBVWxDOzs7O0dBSUc7QUFDSCxNQUFNLDZCQUE2QixHQUFHLGdCQUFnQixDQUFDO0FBTXZELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUI7Ozs7OztPQU1HO0lBQ0gsU0FBUyxDQUFDLElBQWEsRUFBRSxNQUFzQixFQUFFLFVBQXNDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRTtRQUMxRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbEUsT0FBTyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3BJLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUM7SUFFTyxXQUFXLENBQUMsSUFBWSxFQUFFLE1BQWlDLEVBQUUsT0FBbUM7UUFDdEcsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLElBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyw2QkFBNkIsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUV0RyxtREFBbUQ7WUFDbkQsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMscUNBQXFDLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFFekUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxVQUFVO2dCQUMxQixDQUFDLENBQUMsT0FBTztnQkFDVCxDQUFDLENBQUMsT0FBTztxQkFDSixLQUFLLENBQUMsR0FBRyxDQUFDO3FCQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNaLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQztxQkFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFakIsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLCtCQUErQixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsNENBQTRDO1FBQ3BJLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQzs4R0F0Q1UsaUJBQWlCOzRHQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSjdCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGlCQUFpQjtvQkFDdkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IERPTVB1cmlmeSBmcm9tICdkb21wdXJpZnknO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhpZ2hsaWdodFRlcm1TZWFyY2hPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHNlYXJjaCB0ZXJtIHNob3VsZCBiZSBleGFjdGx5IG1hdGNoZWQgaW4gdGhlIGdpdmVuIHRleHQuIFdoZW4gc2V0IHRvIHRydWUsIHRoZSBmb2xsb3dpbmdcbiAgICogY2hhcmFjdGVycyBhbmQgc3BhY2VzIGJldHdlZW4gd29yZHMgYXJlIGluY2x1ZGVkIGluIHRoZSBzZWFyY2g6IC0gWyBdIC8geyB9ICggKSAqICsgPyAuIF4gJCB8XG4gICAqL1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoZXNlIGNoYXJhY3RlcnMgYXJlIHRyZWF0ZWQgYXMgc2VwZXJhdG9ycyBieVxuICogZWxhc3RpY3NlYXJjaCBhbmQgc3BsaXQgdGhlIGlucHV0IGludG8gc2VhcmNoIHRva2Vuc1xuICogd2hpY2ggYXJlIHVzZWQgdG8gZmluZCBtYXRjaGVzLlxuICovXG5jb25zdCBTVEFOREFSRF9UT0tFTklaRVJfU0VQRVJBVE9SUyA9IC9bXmEtekEtWlxcZFxcc10vZztcblxuQFBpcGUoe1xuICBuYW1lOiAnbHhIaWdobGlnaHRUZXJtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBIaWdobGlnaHRUZXJtUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAvKipcbiAgICogVHJhbnNmb3JtcyB0aGUgaW5wdXQgdGV4dCB3aXRoIGhpZ2hsaWdodGVkIHRleHQgYWNjb3JkaW5nIHRvIHRoZSBwcm92aWRlZCBzZWFyY2ggdGVybS5cbiAgICogQHBhcmFtIHRleHQgVGhlIGlucHV0IHRleHQuXG4gICAqIEBwYXJhbSBzZWFyY2ggVGhlIHNlYXJjaCB0ZXJtIHRvIGhpZ2hsaWdodC5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIGhpZ2hsaWdodCB0ZXJtIHNlYXJjaCBvcHRpb25zLlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZWQgdGV4dCB3aXRoIGhpZ2hsaWdodGVkIHNlYXJjaCB0ZXJtLlxuICAgKi9cbiAgdHJhbnNmb3JtKHRleHQ/OiBzdHJpbmcsIHNlYXJjaD86IHN0cmluZyB8IG51bGwsIG9wdGlvbnM6IEhpZ2hsaWdodFRlcm1TZWFyY2hPcHRpb25zID0geyBleGFjdE1hdGNoOiBmYWxzZSB9KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGV4dCkge1xuICAgICAgY29uc3QgaGlnaGxpZ2h0ZWRNYXJrdXAgPSB0aGlzLmRvVHJhbnNmb3JtKHRleHQsIHNlYXJjaCwgb3B0aW9ucyk7XG4gICAgICByZXR1cm4gaGlnaGxpZ2h0ZWRNYXJrdXAgPyBET01QdXJpZnkuc2FuaXRpemUoaGlnaGxpZ2h0ZWRNYXJrdXAsIHsgQUxMT1dFRF9UQUdTOiBbJ3NwYW4nXSwgQUxMT1dFRF9BVFRSOiBbJ2NsYXNzJ10gfSkgOiB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkb1RyYW5zZm9ybSh0ZXh0OiBzdHJpbmcsIHNlYXJjaDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgb3B0aW9uczogSGlnaGxpZ2h0VGVybVNlYXJjaE9wdGlvbnMpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmIChzZWFyY2gpIHtcbiAgICAgIGxldCBwYXR0ZXJuID0gb3B0aW9ucy5leGFjdE1hdGNoID8gc2VhcmNoLnRyaW0oKSA6IHNlYXJjaC5yZXBsYWNlKFNUQU5EQVJEX1RPS0VOSVpFUl9TRVBFUkFUT1JTLCAnICcpO1xuXG4gICAgICAvLyByZXBsYWNlIHNwZWNpYWwgY2hhcnMgZm9yIGEgYmFja3NsYXNoIGZvciBSZWdFeHBcbiAgICAgIHBhdHRlcm4gPSBwYXR0ZXJuLnJlcGxhY2UoL1tcXC1cXFtcXF1cXC9cXHtcXH1cXChcXClcXCpcXCtcXD9cXC5cXFxcXFxeXFwkXFx8XS9nLCAnXFxcXCQmJyk7XG5cbiAgICAgIHBhdHRlcm4gPSBvcHRpb25zLmV4YWN0TWF0Y2hcbiAgICAgICAgPyBwYXR0ZXJuXG4gICAgICAgIDogcGF0dGVyblxuICAgICAgICAgICAgLnNwbGl0KCcgJylcbiAgICAgICAgICAgIC5maWx0ZXIoKHQpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHQubGVuZ3RoID4gMDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuam9pbignfCcpO1xuXG4gICAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAocGF0dGVybiwgJ2dpJyk7XG4gICAgICByZXR1cm4gdGV4dC5yZXBsYWNlKHJlZ2V4LCAobWF0Y2gpID0+IGA8c3BhbiBjbGFzcz1cInRlcm1IaWdobGlnaHRcIj4ke21hdGNofTwvc3Bhbj5gKTsgLy8gYWRkIGhpZ2hsaWdodGluZyB0byBtYXRjaGVkIHJlZ2V4IHBhdHRlcm5cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,22 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- function isUuid(s) {
4
- const uuidRegEx = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
5
- return uuidRegEx.test(s);
6
- }
7
- export class LxIsUuidPipe {
8
- transform(input) {
9
- return input ? isUuid(input) : false;
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LxIsUuidPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: LxIsUuidPipe, isStandalone: true, name: "lxIsUuid" }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LxIsUuidPipe, decorators: [{
15
- type: Pipe,
16
- args: [{
17
- name: 'lxIsUuid',
18
- pure: true,
19
- standalone: true
20
- }]
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHgtaXMtdXVpZC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvY29yZS11aS9waXBlcy9seC1pcy11dWlkLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBRXBELFNBQVMsTUFBTSxDQUFDLENBQVM7SUFDdkIsTUFBTSxTQUFTLEdBQUcsZ0VBQWdFLENBQUM7SUFDbkYsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFPRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixTQUFTLENBQUMsS0FBZ0M7UUFDeEMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7OEdBSFUsWUFBWTs0R0FBWixZQUFZOzsyRkFBWixZQUFZO2tCQUx4QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxVQUFVO29CQUNoQixJQUFJLEVBQUUsSUFBSTtvQkFDVixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmZ1bmN0aW9uIGlzVXVpZChzOiBzdHJpbmcpIHtcbiAgY29uc3QgdXVpZFJlZ0V4ID0gL15bMC05YS1mXXs4fS1bMC05YS1mXXs0fS1bMC05YS1mXXs0fS1bMC05YS1mXXs0fS1bMC05YS1mXXsxMn0kLztcbiAgcmV0dXJuIHV1aWRSZWdFeC50ZXN0KHMpO1xufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdseElzVXVpZCcsXG4gIHB1cmU6IHRydWUsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTHhJc1V1aWRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShpbnB1dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbnB1dCA/IGlzVXVpZChpbnB1dCkgOiBmYWxzZTtcbiAgfVxufVxuIl19
@@ -1,29 +0,0 @@
1
- import { Inject, Optional, Pipe } from '@angular/core';
2
- import { distanceInWords } from 'date-fns';
3
- import { DATE_FN_LOCALE } from '../core-ui.constants';
4
- import * as i0 from "@angular/core";
5
- export class LxTimeAgo {
6
- constructor(getDateFnLocale) {
7
- this.getDateFnLocale = getDateFnLocale;
8
- }
9
- transform(input) {
10
- const locale = this.getDateFnLocale ? this.getDateFnLocale() : null;
11
- return distanceInWords(new Date(), input, { locale, addSuffix: true });
12
- }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LxTimeAgo, deps: [{ token: DATE_FN_LOCALE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
14
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: LxTimeAgo, isStandalone: true, name: "lxTimeAgo" }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LxTimeAgo, decorators: [{
17
- type: Pipe,
18
- args: [{
19
- name: 'lxTimeAgo',
20
- pure: true,
21
- standalone: true
22
- }]
23
- }], ctorParameters: () => [{ type: Function, decorators: [{
24
- type: Optional
25
- }, {
26
- type: Inject,
27
- args: [DATE_FN_LOCALE]
28
- }] }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHgtdGltZS1hZ28ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvcGlwZXMvbHgtdGltZS1hZ28ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQU90RCxNQUFNLE9BQU8sU0FBUztJQUNwQixZQUF3RCxlQUEwQjtRQUExQixvQkFBZSxHQUFmLGVBQWUsQ0FBVztJQUFHLENBQUM7SUFFdEYsU0FBUyxDQUFDLEtBQW9CO1FBQzVCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3BFLE9BQU8sZUFBZSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7OEdBTlUsU0FBUyxrQkFDWSxjQUFjOzRHQURuQyxTQUFTOzsyRkFBVCxTQUFTO2tCQUxyQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxXQUFXO29CQUNqQixJQUFJLEVBQUUsSUFBSTtvQkFDVixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQUVjLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgT3B0aW9uYWwsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRpc3RhbmNlSW5Xb3JkcyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IERBVEVfRk5fTE9DQUxFIH0gZnJvbSAnLi4vY29yZS11aS5jb25zdGFudHMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdseFRpbWVBZ28nLFxuICBwdXJlOiB0cnVlLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEx4VGltZUFnbyBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KERBVEVfRk5fTE9DQUxFKSBwcml2YXRlIGdldERhdGVGbkxvY2FsZT86IEZ1bmN0aW9uKSB7fVxuXG4gIHRyYW5zZm9ybShpbnB1dDogRGF0ZSB8IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbG9jYWxlID0gdGhpcy5nZXREYXRlRm5Mb2NhbGUgPyB0aGlzLmdldERhdGVGbkxvY2FsZSgpIDogbnVsbDtcbiAgICByZXR1cm4gZGlzdGFuY2VJbldvcmRzKG5ldyBEYXRlKCksIGlucHV0LCB7IGxvY2FsZSwgYWRkU3VmZml4OiB0cnVlIH0pO1xuICB9XG59XG4iXX0=
@@ -1,50 +0,0 @@
1
- import { Inject, Injectable, Optional, Pipe } from '@angular/core';
2
- import { TranslatePipe } from '@ngx-translate/core';
3
- import { isArray, isEqual } from 'lodash-es';
4
- import { GLOBAL_TRANSLATION_OPTIONS } from '../core-ui.constants';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@ngx-translate/core";
7
- export class LxTranslatePipe {
8
- constructor(translate, cdRef, globalTranslationOptionsProvider) {
9
- this.translate = translate;
10
- this.cdRef = cdRef;
11
- this.globalTranslationOptionsProvider = globalTranslationOptionsProvider;
12
- this.translatePipe = new TranslatePipe(this.translate, this.cdRef);
13
- }
14
- transform(query, interpolations) {
15
- query = isArray(query) ? query.join('.') : query;
16
- const globalTranslationOptions = this.globalTranslationOptionsProvider?.createGlobalTranslationOptions() ?? {};
17
- if (!interpolations) {
18
- // No interpolations --> Use globalTranslationOptions only & update cache
19
- this.cachedIncomingInterpolations = interpolations;
20
- this.cachedResultingInterpolations = globalTranslationOptions;
21
- }
22
- else if (!isEqual(this.cachedIncomingInterpolations, interpolations)) {
23
- // Interpolations are different from the ones cached --> combine them with globalTranslationOptions & update cache
24
- this.cachedIncomingInterpolations = interpolations;
25
- this.cachedResultingInterpolations = Object.assign({}, globalTranslationOptions, interpolations);
26
- }
27
- // Else: Use cached resulting interpolations
28
- return this.translatePipe.transform(query, this.cachedResultingInterpolations);
29
- }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LxTranslatePipe, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }, { token: GLOBAL_TRANSLATION_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
31
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: LxTranslatePipe, isStandalone: true, name: "lxTranslate", pure: false }); }
32
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LxTranslatePipe, providedIn: 'root' }); }
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LxTranslatePipe, decorators: [{
35
- type: Injectable,
36
- args: [{ providedIn: 'root' }]
37
- }, {
38
- type: Pipe,
39
- args: [{
40
- name: 'lxTranslate',
41
- pure: false, // Because the underlying TranslatePipe isn't pure either
42
- standalone: true
43
- }]
44
- }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
45
- type: Optional
46
- }, {
47
- type: Inject,
48
- args: [GLOBAL_TRANSLATION_OPTIONS]
49
- }] }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHgtdHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlLXVpL3BpcGVzL2x4LXRyYW5zbGF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsYUFBYSxFQUFvQixNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdDLE9BQU8sRUFBRSwwQkFBMEIsRUFBb0MsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBUXBHLE1BQU0sT0FBTyxlQUFlO0lBUTFCLFlBQ1UsU0FBMkIsRUFDM0IsS0FBd0IsRUFDd0IsZ0NBQW1FO1FBRm5ILGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3dCLHFDQUFnQyxHQUFoQyxnQ0FBZ0MsQ0FBbUM7UUFFM0gsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU0sU0FBUyxDQUFDLEtBQXdCLEVBQUUsY0FBd0M7UUFDakYsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBRWpELE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLDhCQUE4QixFQUFFLElBQUksRUFBRSxDQUFDO1FBRS9HLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQix5RUFBeUU7WUFDekUsSUFBSSxDQUFDLDRCQUE0QixHQUFHLGNBQWMsQ0FBQztZQUNuRCxJQUFJLENBQUMsNkJBQTZCLEdBQUcsd0JBQXdCLENBQUM7UUFDaEUsQ0FBQzthQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDdkUsa0hBQWtIO1lBQ2xILElBQUksQ0FBQyw0QkFBNEIsR0FBRyxjQUFjLENBQUM7WUFDbkQsSUFBSSxDQUFDLDZCQUE2QixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLHdCQUF3QixFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ25HLENBQUM7UUFDRCw0Q0FBNEM7UUFFNUMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDakYsQ0FBQzs4R0FqQ1UsZUFBZSxtRkFXSiwwQkFBMEI7NEdBWHJDLGVBQWU7a0hBQWYsZUFBZSxjQU5GLE1BQU07OzJGQU1uQixlQUFlO2tCQU4zQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7a0JBQ2pDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGFBQWE7b0JBQ25CLElBQUksRUFBRSxLQUFLLEVBQUUseURBQXlEO29CQUN0RSxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQVlJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IGlzQXJyYXksIGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgR0xPQkFMX1RSQU5TTEFUSU9OX09QVElPTlMsIEdsb2JhbFRyYW5zbGF0aW9uT3B0aW9uc1Byb3ZpZGVyIH0gZnJvbSAnLi4vY29yZS11aS5jb25zdGFudHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuQFBpcGUoe1xuICBuYW1lOiAnbHhUcmFuc2xhdGUnLFxuICBwdXJlOiBmYWxzZSwgLy8gQmVjYXVzZSB0aGUgdW5kZXJseWluZyBUcmFuc2xhdGVQaXBlIGlzbid0IHB1cmUgZWl0aGVyXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTHhUcmFuc2xhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHByaXZhdGUgdHJhbnNsYXRlUGlwZTogVHJhbnNsYXRlUGlwZTtcblxuICAvLyBDYWNoZSBsYXN0IGludGVycG9sYXRpb25zIGFyZ3VtZW50XG4gIHByaXZhdGUgY2FjaGVkSW5jb21pbmdJbnRlcnBvbGF0aW9ucz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAvLyBDYWNoZSBjb3JyZXNwb25kaW5nIHJlc3VsdGluZyBpbnRlcnBvbGF0aW9ucywgd2hpY2ggaW5jbHVkZXMgdGhlIGdsb2JhbFRyYW5zbGF0aW9uT3B0aW9uc1xuICBwcml2YXRlIGNhY2hlZFJlc3VsdGluZ0ludGVycG9sYXRpb25zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEdMT0JBTF9UUkFOU0xBVElPTl9PUFRJT05TKSBwcml2YXRlIGdsb2JhbFRyYW5zbGF0aW9uT3B0aW9uc1Byb3ZpZGVyPzogR2xvYmFsVHJhbnNsYXRpb25PcHRpb25zUHJvdmlkZXJcbiAgKSB7XG4gICAgdGhpcy50cmFuc2xhdGVQaXBlID0gbmV3IFRyYW5zbGF0ZVBpcGUodGhpcy50cmFuc2xhdGUsIHRoaXMuY2RSZWYpO1xuICB9XG5cbiAgcHVibGljIHRyYW5zZm9ybShxdWVyeTogc3RyaW5nIHwgc3RyaW5nW10sIGludGVycG9sYXRpb25zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBhbnkge1xuICAgIHF1ZXJ5ID0gaXNBcnJheShxdWVyeSkgPyBxdWVyeS5qb2luKCcuJykgOiBxdWVyeTtcblxuICAgIGNvbnN0IGdsb2JhbFRyYW5zbGF0aW9uT3B0aW9ucyA9IHRoaXMuZ2xvYmFsVHJhbnNsYXRpb25PcHRpb25zUHJvdmlkZXI/LmNyZWF0ZUdsb2JhbFRyYW5zbGF0aW9uT3B0aW9ucygpID8/IHt9O1xuXG4gICAgaWYgKCFpbnRlcnBvbGF0aW9ucykge1xuICAgICAgLy8gTm8gaW50ZXJwb2xhdGlvbnMgLS0+IFVzZSBnbG9iYWxUcmFuc2xhdGlvbk9wdGlvbnMgb25seSAmIHVwZGF0ZSBjYWNoZVxuICAgICAgdGhpcy5jYWNoZWRJbmNvbWluZ0ludGVycG9sYXRpb25zID0gaW50ZXJwb2xhdGlvbnM7XG4gICAgICB0aGlzLmNhY2hlZFJlc3VsdGluZ0ludGVycG9sYXRpb25zID0gZ2xvYmFsVHJhbnNsYXRpb25PcHRpb25zO1xuICAgIH0gZWxzZSBpZiAoIWlzRXF1YWwodGhpcy5jYWNoZWRJbmNvbWluZ0ludGVycG9sYXRpb25zLCBpbnRlcnBvbGF0aW9ucykpIHtcbiAgICAgIC8vIEludGVycG9sYXRpb25zIGFyZSBkaWZmZXJlbnQgZnJvbSB0aGUgb25lcyBjYWNoZWQgLS0+IGNvbWJpbmUgdGhlbSB3aXRoIGdsb2JhbFRyYW5zbGF0aW9uT3B0aW9ucyAmIHVwZGF0ZSBjYWNoZVxuICAgICAgdGhpcy5jYWNoZWRJbmNvbWluZ0ludGVycG9sYXRpb25zID0gaW50ZXJwb2xhdGlvbnM7XG4gICAgICB0aGlzLmNhY2hlZFJlc3VsdGluZ0ludGVycG9sYXRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgZ2xvYmFsVHJhbnNsYXRpb25PcHRpb25zLCBpbnRlcnBvbGF0aW9ucyk7XG4gICAgfVxuICAgIC8vIEVsc2U6IFVzZSBjYWNoZWQgcmVzdWx0aW5nIGludGVycG9sYXRpb25zXG5cbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVQaXBlLnRyYW5zZm9ybShxdWVyeSwgdGhpcy5jYWNoZWRSZXN1bHRpbmdJbnRlcnBvbGF0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,32 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- // eslint-disable-next-line no-restricted-imports
3
- import { marked, Renderer } from 'marked';
4
- import * as i0 from "@angular/core";
5
- export class MarkdownPipe {
6
- constructor() {
7
- this.renderer = new Renderer();
8
- this.renderer.link = (href, title, text) => `<a href="${href}" title="${title || ''}" target="_blank" rel="noopener noreferrer">${text}</a>`;
9
- }
10
- transform(markdownText, markdownOptions) {
11
- const options = { renderer: this.renderer };
12
- if (markdownOptions?.disableListRendering && options.renderer) {
13
- options.renderer.list = (body, _ordered, positionInList) => {
14
- return `${positionInList}. ${body}`;
15
- };
16
- options.renderer.listitem = (text) => {
17
- return text;
18
- };
19
- }
20
- return markdownText ? marked.parse(markdownText, options) : '';
21
- }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MarkdownPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
23
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: MarkdownPipe, isStandalone: true, name: "lxMarkdown" }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MarkdownPipe, decorators: [{
26
- type: Pipe,
27
- args: [{
28
- name: 'lxMarkdown',
29
- standalone: true
30
- }]
31
- }], ctorParameters: () => [] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvcGlwZXMvbWFya2Rvd24ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxpREFBaUQ7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7O0FBVTFDLE1BQU0sT0FBTyxZQUFZO0lBR3ZCO1FBQ0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxJQUFZLEVBQUUsRUFBRSxDQUNqRSxZQUFZLElBQUksWUFBWSxLQUFLLElBQUksRUFBRSwrQ0FBK0MsSUFBSSxNQUFNLENBQUM7SUFDckcsQ0FBQztJQUVELFNBQVMsQ0FBQyxZQUF1QyxFQUFFLGVBQWlDO1FBQ2xGLE1BQU0sT0FBTyxHQUF5QixFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEUsSUFBSSxlQUFlLEVBQUUsb0JBQW9CLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzlELE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBWSxFQUFFLFFBQWlCLEVBQUUsY0FBc0IsRUFBRSxFQUFFO2dCQUNsRixPQUFPLEdBQUcsY0FBYyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3RDLENBQUMsQ0FBQztZQUNGLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUU7Z0JBQzNDLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQyxDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2pFLENBQUM7OEdBcEJVLFlBQVk7NEdBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFKeEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtaW1wb3J0c1xuaW1wb3J0IHsgbWFya2VkLCBSZW5kZXJlciB9IGZyb20gJ21hcmtlZCc7XG5cbmludGVyZmFjZSBNYXJrZG93bk9wdGlvbnMge1xuICBkaXNhYmxlTGlzdFJlbmRlcmluZz86IGJvb2xlYW47XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2x4TWFya2Rvd24nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE1hcmtkb3duUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXI7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5yZW5kZXJlciA9IG5ldyBSZW5kZXJlcigpO1xuICAgIHRoaXMucmVuZGVyZXIubGluayA9IChocmVmOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIHRleHQ6IHN0cmluZykgPT5cbiAgICAgIGA8YSBocmVmPVwiJHtocmVmfVwiIHRpdGxlPVwiJHt0aXRsZSB8fCAnJ31cIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+JHt0ZXh0fTwvYT5gO1xuICB9XG5cbiAgdHJhbnNmb3JtKG1hcmtkb3duVGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgbWFya2Rvd25PcHRpb25zPzogTWFya2Rvd25PcHRpb25zKTogc3RyaW5nIHtcbiAgICBjb25zdCBvcHRpb25zOiBtYXJrZWQuTWFya2VkT3B0aW9ucyA9IHsgcmVuZGVyZXI6IHRoaXMucmVuZGVyZXIgfTtcbiAgICBpZiAobWFya2Rvd25PcHRpb25zPy5kaXNhYmxlTGlzdFJlbmRlcmluZyAmJiBvcHRpb25zLnJlbmRlcmVyKSB7XG4gICAgICBvcHRpb25zLnJlbmRlcmVyLmxpc3QgPSAoYm9keTogc3RyaW5nLCBfb3JkZXJlZDogYm9vbGVhbiwgcG9zaXRpb25Jbkxpc3Q6IG51bWJlcikgPT4ge1xuICAgICAgICByZXR1cm4gYCR7cG9zaXRpb25Jbkxpc3R9LiAke2JvZHl9YDtcbiAgICAgIH07XG4gICAgICBvcHRpb25zLnJlbmRlcmVyLmxpc3RpdGVtID0gKHRleHQ6IHN0cmluZykgPT4ge1xuICAgICAgICByZXR1cm4gdGV4dDtcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBtYXJrZG93blRleHQgPyBtYXJrZWQucGFyc2UobWFya2Rvd25UZXh0LCBvcHRpb25zKSA6ICcnO1xuICB9XG59XG4iXX0=
@@ -1,17 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class NbspPipe {
4
- transform(text) {
5
- return text ? text.replace(/&nbsp;/g, ' ') : '';
6
- }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: NbspPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: NbspPipe, isStandalone: true, name: "lxNbsp" }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: NbspPipe, decorators: [{
11
- type: Pipe,
12
- args: [{
13
- name: 'lxNbsp',
14
- standalone: true
15
- }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmJzcC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvY29yZS11aS9waXBlcy9uYnNwLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxRQUFRO0lBQ25CLFNBQVMsQ0FBQyxJQUErQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNsRCxDQUFDOzhHQUhVLFFBQVE7NEdBQVIsUUFBUTs7MkZBQVIsUUFBUTtrQkFKcEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsUUFBUTtvQkFDZCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2x4TmJzcCcsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTmJzcFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHRleHQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIHJldHVybiB0ZXh0ID8gdGV4dC5yZXBsYWNlKC8mbmJzcDsvZywgJyAnKSA6ICcnO1xuICB9XG59XG4iXX0=
@@ -1,55 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { get, sortBy } from 'lodash/fp';
3
- import * as i0 from "@angular/core";
4
- export class SortPipe {
5
- transform(items, options = {}) {
6
- if (!items) {
7
- return [];
8
- }
9
- if (options.order !== 'DESC') {
10
- return applySorting(options, items);
11
- }
12
- else {
13
- return applySorting(options, items).reverse();
14
- }
15
- }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
17
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: SortPipe, isStandalone: true, name: "lxSort" }); }
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SortPipe, decorators: [{
20
- type: Pipe,
21
- args: [{
22
- name: 'lxSort',
23
- standalone: true
24
- }]
25
- }] });
26
- function applySorting(options, items) {
27
- if (options.caseInsensitive) {
28
- return options.key ? sortBy(getValueForKey(options.key), items) : items.slice().sort(sortStringCaseInsensitive());
29
- }
30
- return options.key ? sortBy((item) => get(options.key, item), items) : items.slice().sort();
31
- }
32
- function sortStringCaseInsensitive() {
33
- return (a, b) => {
34
- if (typeof a === 'string' && typeof b === 'string') {
35
- return a.localeCompare(b, undefined, { sensitivity: 'base' });
36
- }
37
- if (a === b) {
38
- return 0;
39
- }
40
- if (a < b) {
41
- return -1;
42
- }
43
- return 1;
44
- };
45
- }
46
- function getValueForKey(key) {
47
- return (item) => {
48
- const value = item[key];
49
- if (typeof value === 'string') {
50
- return value.toLowerCase();
51
- }
52
- return value;
53
- };
54
- }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvY29yZS11aS9waXBlcy9zb3J0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBYXhDLE1BQU0sT0FBTyxRQUFRO0lBQ25CLFNBQVMsQ0FBSSxLQUEyQixFQUFFLFVBQTBCLEVBQUU7UUFDcEUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzdCLE9BQU8sWUFBWSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sWUFBWSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoRCxDQUFDO0lBQ0gsQ0FBQzs4R0FYVSxRQUFROzRHQUFSLFFBQVE7OzJGQUFSLFFBQVE7a0JBSnBCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFFBQVE7b0JBQ2QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztBQWVELFNBQVMsWUFBWSxDQUFJLE9BQXVCLEVBQUUsS0FBb0I7SUFDcEUsSUFBSSxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDNUIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLENBQUM7SUFDdkgsQ0FBQztJQUNELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ2xHLENBQUM7QUFFRCxTQUFTLHlCQUF5QjtJQUNoQyxPQUFPLENBQUMsQ0FBSSxFQUFFLENBQUksRUFBRSxFQUFFO1FBQ3BCLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ25ELE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ1osT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDVixPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ1osQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsY0FBYyxDQUFJLEdBQVc7SUFDcEMsT0FBTyxDQUFDLElBQU8sRUFBRSxFQUFFO1FBQ2pCLE1BQU0sS0FBSyxHQUFTLElBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlCLE9BQU8sS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdCLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXQsIHNvcnRCeSB9IGZyb20gJ2xvZGFzaC9mcCc7XG5cbmV4cG9ydCB0eXBlIE9yZGVyT3B0aW9uID0gJ0FTQycgfCAnREVTQycgfCB1bmRlZmluZWQ7XG5leHBvcnQgaW50ZXJmYWNlIFNvcnRpbmdPcHRpb25zIHtcbiAga2V5Pzogc3RyaW5nO1xuICBjYXNlSW5zZW5zaXRpdmU/OiBib29sZWFuO1xuICBvcmRlcj86IE9yZGVyT3B0aW9uO1xufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdseFNvcnQnLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFNvcnRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybTxUPihpdGVtczogUmVhZG9ubHk8VFtdPiB8IG51bGwsIG9wdGlvbnM6IFNvcnRpbmdPcHRpb25zID0ge30pOiBhbnlbXSB7XG4gICAgaWYgKCFpdGVtcykge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLm9yZGVyICE9PSAnREVTQycpIHtcbiAgICAgIHJldHVybiBhcHBseVNvcnRpbmcob3B0aW9ucywgaXRlbXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYXBwbHlTb3J0aW5nKG9wdGlvbnMsIGl0ZW1zKS5yZXZlcnNlKCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFwcGx5U29ydGluZzxUPihvcHRpb25zOiBTb3J0aW5nT3B0aW9ucywgaXRlbXM6IFJlYWRvbmx5PFRbXT4pOiBUW10ge1xuICBpZiAob3B0aW9ucy5jYXNlSW5zZW5zaXRpdmUpIHtcbiAgICByZXR1cm4gb3B0aW9ucy5rZXkgPyBzb3J0Qnk8VD4oZ2V0VmFsdWVGb3JLZXkob3B0aW9ucy5rZXkpLCBpdGVtcykgOiBpdGVtcy5zbGljZSgpLnNvcnQoc29ydFN0cmluZ0Nhc2VJbnNlbnNpdGl2ZSgpKTtcbiAgfVxuICByZXR1cm4gb3B0aW9ucy5rZXkgPyBzb3J0Qnk8VD4oKGl0ZW0pID0+IGdldChvcHRpb25zLmtleSEsIGl0ZW0pLCBpdGVtcykgOiBpdGVtcy5zbGljZSgpLnNvcnQoKTtcbn1cblxuZnVuY3Rpb24gc29ydFN0cmluZ0Nhc2VJbnNlbnNpdGl2ZTxUPigpIHtcbiAgcmV0dXJuIChhOiBULCBiOiBUKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBhID09PSAnc3RyaW5nJyAmJiB0eXBlb2YgYiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBhLmxvY2FsZUNvbXBhcmUoYiwgdW5kZWZpbmVkLCB7IHNlbnNpdGl2aXR5OiAnYmFzZScgfSk7XG4gICAgfVxuICAgIGlmIChhID09PSBiKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgaWYgKGEgPCBiKSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICAgIHJldHVybiAxO1xuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRWYWx1ZUZvcktleTxUPihrZXk6IHN0cmluZykge1xuICByZXR1cm4gKGl0ZW06IFQpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9ICg8YW55Pml0ZW0pW2tleV07XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH07XG59XG4iXX0=
@@ -1,29 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { getTranslationParts } from './translation-before.pipe';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@ngx-translate/core";
5
- /**
6
- * Translates the given i18n-key (instantly) and returns the part of the translation
7
- * following the cut-mark string '[[<cutMark>]]'.
8
- * NB: Use normal interpolations rather than cut-marks whenever the content is text, even if it comes from another pipe.
9
- * @see TranslationBeforePipe
10
- * @see TranslationBetweenPipe
11
- */
12
- export class TranslationAfterPipe {
13
- constructor(translateService) {
14
- this.translateService = translateService;
15
- }
16
- transform(translationKey, cutMarkAndParams) {
17
- return getTranslationParts(this.translateService, translationKey, cutMarkAndParams)[1] || '';
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TranslationAfterPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
20
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: TranslationAfterPipe, isStandalone: true, name: "lxTranslationAfter" }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TranslationAfterPipe, decorators: [{
23
- type: Pipe,
24
- args: [{
25
- name: 'lxTranslationAfter',
26
- standalone: true
27
- }]
28
- }], ctorParameters: () => [{ type: i1.TranslateService }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tYWZ0ZXIucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvcGlwZXMvdHJhbnNsYXRpb24tYWZ0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBRWhFOzs7Ozs7R0FNRztBQUtILE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBRyxDQUFDO0lBRTFELFNBQVMsQ0FBQyxjQUFpQyxFQUFFLGdCQUF3QztRQUNuRixPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0YsQ0FBQzs4R0FMVSxvQkFBb0I7NEdBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFKaEMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsb0JBQW9CO29CQUMxQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvblBhcnRzIH0gZnJvbSAnLi90cmFuc2xhdGlvbi1iZWZvcmUucGlwZSc7XG5cbi8qKlxuICogVHJhbnNsYXRlcyB0aGUgZ2l2ZW4gaTE4bi1rZXkgKGluc3RhbnRseSkgYW5kIHJldHVybnMgdGhlIHBhcnQgb2YgdGhlIHRyYW5zbGF0aW9uXG4gKiBmb2xsb3dpbmcgdGhlIGN1dC1tYXJrIHN0cmluZyAnW1s8Y3V0TWFyaz5dXScuXG4gKiBOQjogVXNlIG5vcm1hbCBpbnRlcnBvbGF0aW9ucyByYXRoZXIgdGhhbiBjdXQtbWFya3Mgd2hlbmV2ZXIgdGhlIGNvbnRlbnQgaXMgdGV4dCwgZXZlbiBpZiBpdCBjb21lcyBmcm9tIGFub3RoZXIgcGlwZS5cbiAqIEBzZWUgVHJhbnNsYXRpb25CZWZvcmVQaXBlXG4gKiBAc2VlIFRyYW5zbGF0aW9uQmV0d2VlblBpcGVcbiAqL1xuQFBpcGUoe1xuICBuYW1lOiAnbHhUcmFuc2xhdGlvbkFmdGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvbkFmdGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgdHJhbnNmb3JtKHRyYW5zbGF0aW9uS2V5OiBzdHJpbmcgfCBzdHJpbmdbXSwgY3V0TWFya0FuZFBhcmFtczogc3RyaW5nIHwgW3N0cmluZywgYW55XSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldFRyYW5zbGF0aW9uUGFydHModGhpcy50cmFuc2xhdGVTZXJ2aWNlLCB0cmFuc2xhdGlvbktleSwgY3V0TWFya0FuZFBhcmFtcylbMV0gfHwgJyc7XG4gIH1cbn1cbiJdfQ==
@@ -1,54 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { isArray, split } from 'lodash-es';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@ngx-translate/core";
5
- export function getTranslationParts(translateService, translationKey, cutMarkAndParams) {
6
- translationKey = isArray(translationKey) ? translationKey.join('.') : translationKey;
7
- const cutMark = isArray(cutMarkAndParams) ? cutMarkAndParams[0] : cutMarkAndParams;
8
- const params = isArray(cutMarkAndParams) ? cutMarkAndParams[1] : null;
9
- const translation = translateService.instant(translationKey, params);
10
- const parts = split(translation, `[[${cutMark}]]`);
11
- if (parts.length === 1) {
12
- console.error(`'[[${cutMark}]]' not found in '${translation}' for key '${translationKey}'.`);
13
- }
14
- return parts;
15
- }
16
- /**
17
- * Translates the given i18n-key (instantly) and returns the part of the translation
18
- * preceding the cut-mark string '[[<cutMark>]]'.
19
- * NB: Use normal interpolations rather than cut-marks whenever the content is text, even if it comes from another pipe.
20
- * @example
21
- * {{ 'some.text' | lxTranslationBefore:'link' }}
22
- * <a>{{'some.linkLabel' | translate}}</a>
23
- * {{ 'some.text' | lxTranslationAfter:'link' }}
24
- *
25
- * {{ 'some.textWithOtherInterpolations' | lxTranslationBefore:['link', params] }}
26
- * <a>{{'some.linkLabel' | translate}}</a>
27
- * {{ 'some.textWithOtherInterpolations' | lxTranslationAfter:['link', params] }}
28
- * @see TranslationAfterPipe
29
- * @see TranslationBetweenPipe
30
- */
31
- export class TranslationBeforePipe {
32
- constructor(translateService) {
33
- this.translateService = translateService;
34
- }
35
- /**
36
- * @param {string|string[]} translationKey i18n key or array of its segments
37
- * @param {(string|[string, any])} cutMarkAndParams either just the cut-mark to split by or
38
- * an array of cut-mark string and translation params
39
- * @returns {string}
40
- */
41
- transform(translationKey, cutMarkAndParams) {
42
- return getTranslationParts(this.translateService, translationKey, cutMarkAndParams)[0];
43
- }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TranslationBeforePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
45
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: TranslationBeforePipe, isStandalone: true, name: "lxTranslationBefore" }); }
46
- }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TranslationBeforePipe, decorators: [{
48
- type: Pipe,
49
- args: [{
50
- name: 'lxTranslationBefore',
51
- standalone: true
52
- }]
53
- }], ctorParameters: () => [{ type: i1.TranslateService }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tYmVmb3JlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlLXVpL3BpcGVzL3RyYW5zbGF0aW9uLWJlZm9yZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFFM0MsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxnQkFBa0MsRUFDbEMsY0FBaUMsRUFDakMsZ0JBQXdDO0lBRXhDLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztJQUNyRixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO0lBQ25GLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3RFLE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLE9BQU8sSUFBSSxDQUFDLENBQUM7SUFDbkQsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxPQUFPLHFCQUFxQixXQUFXLGNBQWMsY0FBYyxJQUFJLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFLSCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUcsQ0FBQztJQUUxRDs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxjQUFpQyxFQUFFLGdCQUF3QztRQUNuRixPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQztJQUMxRixDQUFDOzhHQVhVLHFCQUFxQjs0R0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUpqQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxxQkFBcUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IGlzQXJyYXksIHNwbGl0IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRyYW5zbGF0aW9uUGFydHMoXG4gIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gIHRyYW5zbGF0aW9uS2V5OiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgY3V0TWFya0FuZFBhcmFtczogc3RyaW5nIHwgW3N0cmluZywgYW55XVxuKTogc3RyaW5nW10ge1xuICB0cmFuc2xhdGlvbktleSA9IGlzQXJyYXkodHJhbnNsYXRpb25LZXkpID8gdHJhbnNsYXRpb25LZXkuam9pbignLicpIDogdHJhbnNsYXRpb25LZXk7XG4gIGNvbnN0IGN1dE1hcmsgPSBpc0FycmF5KGN1dE1hcmtBbmRQYXJhbXMpID8gY3V0TWFya0FuZFBhcmFtc1swXSA6IGN1dE1hcmtBbmRQYXJhbXM7XG4gIGNvbnN0IHBhcmFtcyA9IGlzQXJyYXkoY3V0TWFya0FuZFBhcmFtcykgPyBjdXRNYXJrQW5kUGFyYW1zWzFdIDogbnVsbDtcbiAgY29uc3QgdHJhbnNsYXRpb24gPSB0cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodHJhbnNsYXRpb25LZXksIHBhcmFtcyk7XG4gIGNvbnN0IHBhcnRzID0gc3BsaXQodHJhbnNsYXRpb24sIGBbWyR7Y3V0TWFya31dXWApO1xuICBpZiAocGFydHMubGVuZ3RoID09PSAxKSB7XG4gICAgY29uc29sZS5lcnJvcihgJ1tbJHtjdXRNYXJrfV1dJyBub3QgZm91bmQgaW4gJyR7dHJhbnNsYXRpb259JyBmb3Iga2V5ICcke3RyYW5zbGF0aW9uS2V5fScuYCk7XG4gIH1cbiAgcmV0dXJuIHBhcnRzO1xufVxuXG4vKipcbiAqIFRyYW5zbGF0ZXMgdGhlIGdpdmVuIGkxOG4ta2V5IChpbnN0YW50bHkpIGFuZCByZXR1cm5zIHRoZSBwYXJ0IG9mIHRoZSB0cmFuc2xhdGlvblxuICogcHJlY2VkaW5nIHRoZSBjdXQtbWFyayBzdHJpbmcgJ1tbPGN1dE1hcms+XV0nLlxuICogTkI6IFVzZSBub3JtYWwgaW50ZXJwb2xhdGlvbnMgcmF0aGVyIHRoYW4gY3V0LW1hcmtzIHdoZW5ldmVyIHRoZSBjb250ZW50IGlzIHRleHQsIGV2ZW4gaWYgaXQgY29tZXMgZnJvbSBhbm90aGVyIHBpcGUuXG4gKiBAZXhhbXBsZVxuICoge3sgJ3NvbWUudGV4dCcgfCBseFRyYW5zbGF0aW9uQmVmb3JlOidsaW5rJyB9fVxuICogICA8YT57eydzb21lLmxpbmtMYWJlbCcgfCB0cmFuc2xhdGV9fTwvYT5cbiAqIHt7ICdzb21lLnRleHQnIHwgbHhUcmFuc2xhdGlvbkFmdGVyOidsaW5rJyB9fVxuICpcbiAqIHt7ICdzb21lLnRleHRXaXRoT3RoZXJJbnRlcnBvbGF0aW9ucycgfCBseFRyYW5zbGF0aW9uQmVmb3JlOlsnbGluaycsIHBhcmFtc10gfX1cbiAqICAgPGE+e3snc29tZS5saW5rTGFiZWwnIHwgdHJhbnNsYXRlfX08L2E+XG4gKiB7eyAnc29tZS50ZXh0V2l0aE90aGVySW50ZXJwb2xhdGlvbnMnIHwgbHhUcmFuc2xhdGlvbkFmdGVyOlsnbGluaycsIHBhcmFtc10gfX1cbiAqIEBzZWUgVHJhbnNsYXRpb25BZnRlclBpcGVcbiAqIEBzZWUgVHJhbnNsYXRpb25CZXR3ZWVuUGlwZVxuICovXG5AUGlwZSh7XG4gIG5hbWU6ICdseFRyYW5zbGF0aW9uQmVmb3JlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvbkJlZm9yZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ3xzdHJpbmdbXX0gdHJhbnNsYXRpb25LZXkgaTE4biBrZXkgb3IgYXJyYXkgb2YgaXRzIHNlZ21lbnRzXG4gICAqIEBwYXJhbSB7KHN0cmluZ3xbc3RyaW5nLCBhbnldKX0gY3V0TWFya0FuZFBhcmFtcyBlaXRoZXIganVzdCB0aGUgY3V0LW1hcmsgdG8gc3BsaXQgYnkgb3JcbiAgICogICBhbiBhcnJheSBvZiBjdXQtbWFyayBzdHJpbmcgYW5kIHRyYW5zbGF0aW9uIHBhcmFtc1xuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgdHJhbnNmb3JtKHRyYW5zbGF0aW9uS2V5OiBzdHJpbmcgfCBzdHJpbmdbXSwgY3V0TWFya0FuZFBhcmFtczogc3RyaW5nIHwgW3N0cmluZywgYW55XSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldFRyYW5zbGF0aW9uUGFydHModGhpcy50cmFuc2xhdGVTZXJ2aWNlLCB0cmFuc2xhdGlvbktleSwgY3V0TWFya0FuZFBhcmFtcylbMF0hO1xuICB9XG59XG4iXX0=
@@ -1,68 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { isArray, split } from 'lodash-es';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@ngx-translate/core";
5
- function getTranslationBetween(translateService, translationKey, cutMarksAndParams) {
6
- translationKey = isArray(translationKey) ? translationKey.join('.') : translationKey;
7
- const cutMarks = cutMarksAndParams.slice(0, 2);
8
- const params = cutMarksAndParams[2] || null;
9
- const translation = translateService.instant(translationKey, params);
10
- const parts1 = split(translation, `[[${cutMarks[0]}]]`);
11
- if (parts1.length === 1) {
12
- console.error(`'[[${cutMarks[0]}]]' not found in '${translation}' for key '${translationKey}'.`);
13
- return translation;
14
- }
15
- else {
16
- const parts2 = split(parts1[1], `[[${cutMarks[1]}]]`);
17
- if (parts2.length === 1) {
18
- console.error(`'[[${cutMarks[1]}]]' not found in '${translation}' after '[[${cutMarks[0]}]]' for key '${translationKey}'.`);
19
- return translation;
20
- }
21
- return parts2[0];
22
- }
23
- }
24
- /**
25
- * Translates the given i18n-key (instantly) and returns the part of the translation
26
- * between the two cut-mark strings '[[<cutMark>]]'.
27
- * NB: This pipe should be used very rarely, as it fixes the order of cut-marks, which may make
28
- * them untranslateable in some languages. It also makes the template harder to read.
29
- * Use normal interpolations rather than cut-marks whenever the content is text, even if it comes from another pipe.
30
- * @example
31
- * {{ 'some.text' | lxTranslationBefore:'link' }}
32
- * <a>{{'some.linkLabel' | translate}}</a>
33
- * {{ 'some.text' | lxTranslationBetween:['link', 'userLink'] }}
34
- * <a>{{'some.userName' | translate}}</a>
35
- * {{ 'some.text' | lxTranslationAfter:'userLink' }}
36
- *
37
- * {{ 'some.textWithOtherInterpolations' | lxTranslationBefore:['link', params] }}
38
- * <a>{{'some.linkLabel' | translate}}</a>
39
- * {{ 'some.textWithOtherInterpolations' | lxTranslationBetween:['link', 'userLink', params] }}
40
- * <a>{{'some.userName' | translate}}</a>
41
- * {{ 'some.textWithOtherInterpolations' | lxTranslationAfter:['userLink', params] }}
42
- * @see TranslationBeforePipe
43
- * @see TranslationAferPipe
44
- */
45
- export class TranslationBetweenPipe {
46
- constructor(translateService) {
47
- this.translateService = translateService;
48
- }
49
- /**
50
- * @param {string|string[]} translationKey i18n key or array of its segments
51
- * @param {([string, string]|[string, string, any])} interpolationsAndParams either just the interpolation string to split by or
52
- * an array of interpolation string and translation params
53
- * @returns {string}
54
- */
55
- transform(translationKey, cutMarksAndParams) {
56
- return getTranslationBetween(this.translateService, translationKey, cutMarksAndParams);
57
- }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TranslationBetweenPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
59
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: TranslationBetweenPipe, isStandalone: true, name: "lxTranslationBetween" }); }
60
- }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TranslationBetweenPipe, decorators: [{
62
- type: Pipe,
63
- args: [{
64
- name: 'lxTranslationBetween',
65
- standalone: true
66
- }]
67
- }], ctorParameters: () => [{ type: i1.TranslateService }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tYmV0d2Vlbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvY29yZS11aS9waXBlcy90cmFuc2xhdGlvbi1iZXR3ZWVuLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUUzQyxTQUFTLHFCQUFxQixDQUM1QixnQkFBa0MsRUFDbEMsY0FBaUMsRUFDakMsaUJBQTJEO0lBRTNELGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztJQUNyRixNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUM1QyxNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JFLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsV0FBVyxjQUFjLGNBQWMsSUFBSSxDQUFDLENBQUM7UUFDakcsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQyxDQUFDLENBQUMscUJBQXFCLFdBQVcsY0FBYyxRQUFRLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixjQUFjLElBQUksQ0FBQyxDQUFDO1lBQzVILE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUUsQ0FBQztJQUNwQixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUtILE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBRyxDQUFDO0lBRTFEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLGNBQWlDLEVBQUUsaUJBQTJEO1FBQ3RHLE9BQU8scUJBQXFCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7OEdBWFUsc0JBQXNCOzRHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSmxDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLHNCQUFzQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgaXNBcnJheSwgc3BsaXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5mdW5jdGlvbiBnZXRUcmFuc2xhdGlvbkJldHdlZW4oXG4gIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gIHRyYW5zbGF0aW9uS2V5OiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgY3V0TWFya3NBbmRQYXJhbXM6IFtzdHJpbmcsIHN0cmluZ10gfCBbc3RyaW5nLCBzdHJpbmcsIGFueV1cbik6IHN0cmluZyB7XG4gIHRyYW5zbGF0aW9uS2V5ID0gaXNBcnJheSh0cmFuc2xhdGlvbktleSkgPyB0cmFuc2xhdGlvbktleS5qb2luKCcuJykgOiB0cmFuc2xhdGlvbktleTtcbiAgY29uc3QgY3V0TWFya3MgPSBjdXRNYXJrc0FuZFBhcmFtcy5zbGljZSgwLCAyKTtcbiAgY29uc3QgcGFyYW1zID0gY3V0TWFya3NBbmRQYXJhbXNbMl0gfHwgbnVsbDtcbiAgY29uc3QgdHJhbnNsYXRpb24gPSB0cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodHJhbnNsYXRpb25LZXksIHBhcmFtcyk7XG4gIGNvbnN0IHBhcnRzMSA9IHNwbGl0KHRyYW5zbGF0aW9uLCBgW1ske2N1dE1hcmtzWzBdfV1dYCk7XG4gIGlmIChwYXJ0czEubGVuZ3RoID09PSAxKSB7XG4gICAgY29uc29sZS5lcnJvcihgJ1tbJHtjdXRNYXJrc1swXX1dXScgbm90IGZvdW5kIGluICcke3RyYW5zbGF0aW9ufScgZm9yIGtleSAnJHt0cmFuc2xhdGlvbktleX0nLmApO1xuICAgIHJldHVybiB0cmFuc2xhdGlvbjtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBwYXJ0czIgPSBzcGxpdChwYXJ0czFbMV0sIGBbWyR7Y3V0TWFya3NbMV19XV1gKTtcbiAgICBpZiAocGFydHMyLmxlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc29sZS5lcnJvcihgJ1tbJHtjdXRNYXJrc1sxXX1dXScgbm90IGZvdW5kIGluICcke3RyYW5zbGF0aW9ufScgYWZ0ZXIgJ1tbJHtjdXRNYXJrc1swXX1dXScgZm9yIGtleSAnJHt0cmFuc2xhdGlvbktleX0nLmApO1xuICAgICAgcmV0dXJuIHRyYW5zbGF0aW9uO1xuICAgIH1cbiAgICByZXR1cm4gcGFydHMyWzBdITtcbiAgfVxufVxuXG4vKipcbiAqIFRyYW5zbGF0ZXMgdGhlIGdpdmVuIGkxOG4ta2V5IChpbnN0YW50bHkpIGFuZCByZXR1cm5zIHRoZSBwYXJ0IG9mIHRoZSB0cmFuc2xhdGlvblxuICogYmV0d2VlbiB0aGUgdHdvIGN1dC1tYXJrIHN0cmluZ3MgJ1tbPGN1dE1hcms+XV0nLlxuICogTkI6IFRoaXMgcGlwZSBzaG91bGQgYmUgdXNlZCB2ZXJ5IHJhcmVseSwgYXMgaXQgZml4ZXMgdGhlIG9yZGVyIG9mIGN1dC1tYXJrcywgd2hpY2ggbWF5IG1ha2VcbiAqIHRoZW0gdW50cmFuc2xhdGVhYmxlIGluIHNvbWUgbGFuZ3VhZ2VzLiBJdCBhbHNvIG1ha2VzIHRoZSB0ZW1wbGF0ZSBoYXJkZXIgdG8gcmVhZC5cbiAqIFVzZSBub3JtYWwgaW50ZXJwb2xhdGlvbnMgcmF0aGVyIHRoYW4gY3V0LW1hcmtzIHdoZW5ldmVyIHRoZSBjb250ZW50IGlzIHRleHQsIGV2ZW4gaWYgaXQgY29tZXMgZnJvbSBhbm90aGVyIHBpcGUuXG4gKiBAZXhhbXBsZVxuICoge3sgJ3NvbWUudGV4dCcgfCBseFRyYW5zbGF0aW9uQmVmb3JlOidsaW5rJyB9fVxuICogICA8YT57eydzb21lLmxpbmtMYWJlbCcgfCB0cmFuc2xhdGV9fTwvYT5cbiAqIHt7ICdzb21lLnRleHQnIHwgbHhUcmFuc2xhdGlvbkJldHdlZW46WydsaW5rJywgJ3VzZXJMaW5rJ10gfX1cbiAqICAgPGE+e3snc29tZS51c2VyTmFtZScgfCB0cmFuc2xhdGV9fTwvYT5cbiAqIHt7ICdzb21lLnRleHQnIHwgbHhUcmFuc2xhdGlvbkFmdGVyOid1c2VyTGluaycgfX1cbiAqXG4gKiB7eyAnc29tZS50ZXh0V2l0aE90aGVySW50ZXJwb2xhdGlvbnMnIHwgbHhUcmFuc2xhdGlvbkJlZm9yZTpbJ2xpbmsnLCBwYXJhbXNdIH19XG4gKiAgIDxhPnt7J3NvbWUubGlua0xhYmVsJyB8IHRyYW5zbGF0ZX19PC9hPlxuICoge3sgJ3NvbWUudGV4dFdpdGhPdGhlckludGVycG9sYXRpb25zJyB8IGx4VHJhbnNsYXRpb25CZXR3ZWVuOlsnbGluaycsICd1c2VyTGluaycsIHBhcmFtc10gfX1cbiAqICAgPGE+e3snc29tZS51c2VyTmFtZScgfCB0cmFuc2xhdGV9fTwvYT5cbiAqIHt7ICdzb21lLnRleHRXaXRoT3RoZXJJbnRlcnBvbGF0aW9ucycgfCBseFRyYW5zbGF0aW9uQWZ0ZXI6Wyd1c2VyTGluaycsIHBhcmFtc10gfX1cbiAqIEBzZWUgVHJhbnNsYXRpb25CZWZvcmVQaXBlXG4gKiBAc2VlIFRyYW5zbGF0aW9uQWZlclBpcGVcbiAqL1xuQFBpcGUoe1xuICBuYW1lOiAnbHhUcmFuc2xhdGlvbkJldHdlZW4nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0aW9uQmV0d2VlblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ3xzdHJpbmdbXX0gdHJhbnNsYXRpb25LZXkgaTE4biBrZXkgb3IgYXJyYXkgb2YgaXRzIHNlZ21lbnRzXG4gICAqIEBwYXJhbSB7KFtzdHJpbmcsIHN0cmluZ118W3N0cmluZywgc3RyaW5nLCBhbnldKX0gaW50ZXJwb2xhdGlvbnNBbmRQYXJhbXMgZWl0aGVyIGp1c3QgdGhlIGludGVycG9sYXRpb24gc3RyaW5nIHRvIHNwbGl0IGJ5IG9yXG4gICAqICAgYW4gYXJyYXkgb2YgaW50ZXJwb2xhdGlvbiBzdHJpbmcgYW5kIHRyYW5zbGF0aW9uIHBhcmFtc1xuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgdHJhbnNmb3JtKHRyYW5zbGF0aW9uS2V5OiBzdHJpbmcgfCBzdHJpbmdbXSwgY3V0TWFya3NBbmRQYXJhbXM6IFtzdHJpbmcsIHN0cmluZ10gfCBbc3RyaW5nLCBzdHJpbmcsIGFueV0pOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRUcmFuc2xhdGlvbkJldHdlZW4odGhpcy50cmFuc2xhdGVTZXJ2aWNlLCB0cmFuc2xhdGlvbktleSwgY3V0TWFya3NBbmRQYXJhbXMpO1xuICB9XG59XG4iXX0=
@@ -1,17 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class UnescapeCurlyBracesPipe {
4
- transform(input) {
5
- return input.replace(/\\([{}])/g, '$1');
6
- }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: UnescapeCurlyBracesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: UnescapeCurlyBracesPipe, isStandalone: true, name: "lxUnescapeCurlyBraces" }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: UnescapeCurlyBracesPipe, decorators: [{
11
- type: Pipe,
12
- args: [{
13
- name: 'lxUnescapeCurlyBraces',
14
- standalone: true
15
- }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5lc2NhcGUtY3VybHktYnJhY2VzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlLXVpL3BpcGVzL3VuZXNjYXBlLWN1cmx5LWJyYWNlcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1wRCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs4R0FIVSx1QkFBdUI7NEdBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFKbkMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsdUJBQXVCO29CQUM3QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2x4VW5lc2NhcGVDdXJseUJyYWNlcycsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVW5lc2NhcGVDdXJseUJyYWNlc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKGlucHV0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBpbnB1dC5yZXBsYWNlKC9cXFxcKFt7fV0pL2csICckMScpO1xuICB9XG59XG4iXX0=