@porscheinformatik/clr-addons 15.10.0 → 16.0.0

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 (230) hide show
  1. package/brand-avatar/brand-avatar.d.ts +1 -1
  2. package/collapse-expand-section/collapse-expand-section.d.ts +1 -1
  3. package/data-list-validator/data-list-predefined-validator.directive.d.ts +1 -1
  4. package/datagrid/datagrid-state-persistence/datagrid-field.directive.d.ts +1 -1
  5. package/datagrid/datagrid-state-persistence/state-persistence-key.directive.d.ts +1 -1
  6. package/datagrid/date-filter/date-filter.component.d.ts +1 -1
  7. package/datagrid/enum-filter/enum-filter.component.d.ts +1 -1
  8. package/daterangepicker/directives/datepicker/datepicker.component.d.ts +1 -1
  9. package/daterangepicker/directives/daterangepicker/daterangepicker.directive.d.ts +1 -1
  10. package/daterangepicker/directives/daterangepicker-container/daterangepicker-container.component.d.ts +1 -1
  11. package/daterangepicker/directives/if-daterange-error.directive.d.ts +1 -1
  12. package/daterangepicker/validators/daterange-max.validator.d.ts +1 -1
  13. package/daterangepicker/validators/daterange-min.validator.d.ts +1 -1
  14. package/daterangepicker/validators/daterange-order.validator.d.ts +1 -1
  15. package/daterangepicker/validators/daterange-required.validator.d.ts +1 -1
  16. package/dot-pager/dot-pager.d.ts +1 -1
  17. package/dropdown/clr-dropdown-overflow.directive.d.ts +1 -1
  18. package/{esm2020 → esm2022}/abstract-form-component/abstract-form-component.mjs +4 -4
  19. package/{esm2020 → esm2022}/abstract-form-component/control-id.service.mjs +4 -4
  20. package/{esm2020 → esm2022}/abstract-form-component/form.module.mjs +5 -5
  21. package/{esm2020 → esm2022}/abstract-form-component/label.mjs +4 -4
  22. package/{esm2020 → esm2022}/autocomplete-off/autocomplete-off.directive.mjs +4 -4
  23. package/{esm2020 → esm2022}/autocomplete-off/autocomplete-off.module.mjs +5 -5
  24. package/{esm2020 → esm2022}/back-button/back-button.mjs +4 -4
  25. package/{esm2020 → esm2022}/back-button/back-button.module.mjs +5 -5
  26. package/{esm2020 → esm2022}/brand-avatar/brand-avatar.mjs +5 -5
  27. package/{esm2020 → esm2022}/brand-avatar/brand-avatar.module.mjs +5 -5
  28. package/{esm2020 → esm2022}/breadcrumb/breadcrumb.mjs +4 -4
  29. package/{esm2020 → esm2022}/breadcrumb/breadcrumb.module.mjs +5 -5
  30. package/{esm2020 → esm2022}/breadcrumb/breadcrumb.service.mjs +4 -4
  31. package/{esm2020 → esm2022}/clr-addons.module.mjs +67 -67
  32. package/esm2022/collapse-expand-section/collapse-expand-section.mjs +82 -0
  33. package/{esm2020 → esm2022}/collapse-expand-section/collapse-expand-section.module.mjs +5 -5
  34. package/{esm2020 → esm2022}/content-panel/content-panel-container-content.mjs +4 -4
  35. package/{esm2020 → esm2022}/content-panel/content-panel-container-footer.mjs +4 -4
  36. package/{esm2020 → esm2022}/content-panel/content-panel-container.mjs +6 -6
  37. package/esm2022/content-panel/content-panel.mjs +81 -0
  38. package/{esm2020 → esm2022}/content-panel/content-panel.module.mjs +8 -8
  39. package/{esm2020 → esm2022}/data-list-validator/data-list-predefined-validator.directive.mjs +4 -4
  40. package/{esm2020 → esm2022}/data-list-validator/data-list-validator.module.mjs +5 -5
  41. package/{esm2020 → esm2022}/datagrid/datagrid-state-persistence/column-hidden-state-persistence.directive.mjs +4 -4
  42. package/{esm2020 → esm2022}/datagrid/datagrid-state-persistence/datagrid-field.directive.mjs +4 -4
  43. package/{esm2020 → esm2022}/datagrid/datagrid-state-persistence/datagrid-state-persistence.module.mjs +5 -5
  44. package/{esm2020 → esm2022}/datagrid/datagrid-state-persistence/state-persistence-key.directive.mjs +4 -4
  45. package/{esm2020 → esm2022}/datagrid/date-filter/date-filter.component.mjs +4 -4
  46. package/{esm2020 → esm2022}/datagrid/date-filter/date-filter.module.mjs +5 -5
  47. package/{esm2020 → esm2022}/datagrid/enum-filter/enum-filter.component.mjs +4 -4
  48. package/{esm2020 → esm2022}/datagrid/enum-filter/enum-filter.module.mjs +5 -5
  49. package/{esm2020 → esm2022}/date-time-container/date-time-container.mjs +6 -6
  50. package/{esm2020 → esm2022}/date-time-container/date-time-module.mjs +5 -5
  51. package/{esm2020 → esm2022}/date-time-container/time-input.mjs +4 -4
  52. package/esm2022/daterangepicker/daterangepicker.module.mjs +57 -0
  53. package/{esm2020 → esm2022}/daterangepicker/directives/abstract-container.component.mjs +4 -4
  54. package/{esm2020 → esm2022}/daterangepicker/directives/datepicker/datepicker.component.mjs +4 -4
  55. package/{esm2020 → esm2022}/daterangepicker/directives/daterangepicker/daterangepicker.directive.mjs +4 -4
  56. package/{esm2020 → esm2022}/daterangepicker/directives/daterangepicker-container/daterangepicker-container.component.mjs +12 -12
  57. package/{esm2020 → esm2022}/daterangepicker/directives/if-daterange-error.directive.mjs +4 -4
  58. package/esm2022/daterangepicker/models/popover-positions.model.mjs +66 -0
  59. package/{esm2020 → esm2022}/daterangepicker/providers/daterange-control-state.service.mjs +4 -4
  60. package/{esm2020 → esm2022}/daterangepicker/providers/daterange-parsing.service.mjs +4 -4
  61. package/{esm2020 → esm2022}/daterangepicker/providers/daterange.service.mjs +4 -4
  62. package/{esm2020 → esm2022}/daterangepicker/providers/opened-datepickers-tracker.service.mjs +4 -4
  63. package/esm2022/daterangepicker/validators/daterange-max.validator.mjs +85 -0
  64. package/esm2022/daterangepicker/validators/daterange-min.validator.mjs +85 -0
  65. package/esm2022/daterangepicker/validators/daterange-order.validator.mjs +75 -0
  66. package/esm2022/daterangepicker/validators/daterange-required.validator.mjs +71 -0
  67. package/{esm2020 → esm2022}/dot-pager/dot-pager.mjs +4 -4
  68. package/{esm2020 → esm2022}/dot-pager/dot-pager.module.mjs +5 -5
  69. package/{esm2020 → esm2022}/dropdown/clr-dropdown-overflow.directive.mjs +4 -4
  70. package/{esm2020 → esm2022}/dropdown/clr-dropdown-overflow.module.mjs +5 -5
  71. package/{esm2020 → esm2022}/flow-bar/flow-bar.mjs +4 -4
  72. package/{esm2020 → esm2022}/flow-bar/flow-bar.module.mjs +5 -5
  73. package/{esm2020 → esm2022}/generic-quick-list/generic-quick-list.mjs +4 -4
  74. package/{esm2020 → esm2022}/generic-quick-list/generic-quick-list.module.mjs +5 -5
  75. package/{esm2020 → esm2022}/history/history-pinned.mjs +4 -4
  76. package/{esm2020 → esm2022}/history/history.mjs +4 -4
  77. package/{esm2020 → esm2022}/history/history.module.mjs +5 -5
  78. package/{esm2020 → esm2022}/history/history.service.mjs +4 -4
  79. package/{esm2020 → esm2022}/html-editor/html/html-editor.component.mjs +4 -4
  80. package/{esm2020 → esm2022}/html-editor/html-editor.module.mjs +5 -5
  81. package/esm2022/icons/shapes.mjs +419 -0
  82. package/{esm2020 → esm2022}/letter-avatar/letter-avatar.mjs +4 -4
  83. package/{esm2020 → esm2022}/letter-avatar/letter-avatar.module.mjs +5 -5
  84. package/{esm2020 → esm2022}/location-bar/location-bar-node/location-bar-node.component.mjs +4 -4
  85. package/{esm2020 → esm2022}/location-bar/location-bar.component.mjs +4 -4
  86. package/{esm2020 → esm2022}/location-bar/location-bar.module.mjs +5 -5
  87. package/{esm2020 → esm2022}/main-nav-group/main-nav-group-item.mjs +4 -4
  88. package/{esm2020 → esm2022}/main-nav-group/main-nav-group.mjs +4 -4
  89. package/{esm2020 → esm2022}/main-nav-group/main-nav-group.module.mjs +5 -5
  90. package/{esm2020 → esm2022}/multilingual/abstract-multilingual.mjs +4 -4
  91. package/esm2022/multilingual/multilingual-input/multilingual-input.mjs +42 -0
  92. package/{esm2020 → esm2022}/multilingual/multilingual-selector.mjs +6 -6
  93. package/esm2022/multilingual/multilingual-textarea/multilingual-textarea.mjs +44 -0
  94. package/{esm2020 → esm2022}/multilingual/multilingual-validators.mjs +7 -7
  95. package/{esm2020 → esm2022}/multilingual/multilingual.module.mjs +13 -13
  96. package/esm2022/notification/notification.mjs +134 -0
  97. package/{esm2020 → esm2022}/notification/notification.module.mjs +5 -5
  98. package/{esm2020 → esm2022}/notification/notification.service.mjs +4 -4
  99. package/{esm2020 → esm2022}/numericfield/numeric-field-validators.mjs +7 -7
  100. package/{esm2020 → esm2022}/numericfield/numeric-field.mjs +10 -10
  101. package/{esm2020 → esm2022}/numericfield/numeric-field.module.mjs +5 -5
  102. package/{esm2020 → esm2022}/paged-search-result-list/paged-search-result-list.mjs +4 -4
  103. package/{esm2020 → esm2022}/paged-search-result-list/paged-search-result-list.module.mjs +5 -5
  104. package/{esm2020 → esm2022}/pager/pager.mjs +4 -4
  105. package/{esm2020 → esm2022}/pager/pager.module.mjs +5 -5
  106. package/esm2022/progress-spinner/progress-spinner.mjs +78 -0
  107. package/{esm2020 → esm2022}/progress-spinner/progress-spinner.module.mjs +5 -5
  108. package/{esm2020 → esm2022}/quick-list/add-option.mjs +4 -4
  109. package/esm2022/quick-list/quick-list.mjs +128 -0
  110. package/{esm2020 → esm2022}/quick-list/quick-list.module.mjs +5 -5
  111. package/{esm2020 → esm2022}/searchfield/search-field.mjs +4 -4
  112. package/{esm2020 → esm2022}/searchfield/search-field.module.mjs +5 -5
  113. package/{esm2020 → esm2022}/treetable/renderer/cell-renderer.mjs +4 -4
  114. package/{esm2020 → esm2022}/treetable/renderer/header-renderer.mjs +4 -4
  115. package/{esm2020 → esm2022}/treetable/renderer/main-renderer.mjs +4 -4
  116. package/{esm2020 → esm2022}/treetable/renderer/row-renderer.mjs +4 -4
  117. package/{esm2020 → esm2022}/treetable/treetable-action-overflow.mjs +6 -6
  118. package/{esm2020 → esm2022}/treetable/treetable-cell.mjs +4 -4
  119. package/{esm2020 → esm2022}/treetable/treetable-column.mjs +4 -4
  120. package/{esm2020 → esm2022}/treetable/treetable-placeholder.mjs +6 -6
  121. package/esm2022/treetable/treetable-row.mjs +100 -0
  122. package/{esm2020 → esm2022}/treetable/treetable.mjs +4 -4
  123. package/{esm2020 → esm2022}/treetable/treetable.module.mjs +23 -23
  124. package/{esm2020 → esm2022}/view-edit-section/view-edit-section.mjs +20 -20
  125. package/{esm2020 → esm2022}/view-edit-section/view-edit-section.module.mjs +5 -5
  126. package/{fesm2020 → fesm2022}/clr-addons.mjs +709 -733
  127. package/fesm2022/clr-addons.mjs.map +1 -0
  128. package/flow-bar/flow-bar.d.ts +1 -1
  129. package/generic-quick-list/generic-quick-list.d.ts +1 -1
  130. package/history/history-pinned.d.ts +1 -1
  131. package/history/history.d.ts +1 -1
  132. package/html-editor/html/html-editor.component.d.ts +1 -1
  133. package/letter-avatar/letter-avatar.d.ts +1 -1
  134. package/location-bar/location-bar-node/location-bar-node.component.d.ts +1 -1
  135. package/location-bar/location-bar.component.d.ts +1 -1
  136. package/main-nav-group/main-nav-group.d.ts +1 -1
  137. package/multilingual/abstract-multilingual.d.ts +1 -1
  138. package/multilingual/multilingual-selector.d.ts +1 -1
  139. package/multilingual/multilingual-textarea/multilingual-textarea.d.ts +1 -1
  140. package/multilingual/multilingual-validators.d.ts +2 -2
  141. package/notification/notification.d.ts +1 -1
  142. package/numericfield/numeric-field-validators.d.ts +2 -2
  143. package/numericfield/numeric-field.d.ts +1 -1
  144. package/package.json +8 -14
  145. package/paged-search-result-list/paged-search-result-list.d.ts +1 -1
  146. package/pager/pager.d.ts +1 -1
  147. package/progress-spinner/progress-spinner.d.ts +1 -1
  148. package/quick-list/add-option.d.ts +1 -1
  149. package/quick-list/quick-list.d.ts +1 -1
  150. package/styles/clr-addons-phs.css +73 -73
  151. package/styles/clr-addons-phs.min.css +1 -1
  152. package/styles/clr-addons-phs.min.css.map +1 -1
  153. package/treetable/treetable-action-overflow.d.ts +1 -1
  154. package/treetable/treetable-row.d.ts +1 -1
  155. package/treetable/treetable.d.ts +1 -1
  156. package/view-edit-section/view-edit-section.d.ts +1 -1
  157. package/esm2020/collapse-expand-section/collapse-expand-section.mjs +0 -82
  158. package/esm2020/content-panel/content-panel.mjs +0 -81
  159. package/esm2020/daterangepicker/daterangepicker.module.mjs +0 -58
  160. package/esm2020/daterangepicker/models/popover-positions.model.mjs +0 -66
  161. package/esm2020/daterangepicker/validators/daterange-max.validator.mjs +0 -85
  162. package/esm2020/daterangepicker/validators/daterange-min.validator.mjs +0 -85
  163. package/esm2020/daterangepicker/validators/daterange-order.validator.mjs +0 -75
  164. package/esm2020/daterangepicker/validators/daterange-required.validator.mjs +0 -71
  165. package/esm2020/icons/shapes.mjs +0 -442
  166. package/esm2020/multilingual/multilingual-input/multilingual-input.mjs +0 -42
  167. package/esm2020/multilingual/multilingual-textarea/multilingual-textarea.mjs +0 -44
  168. package/esm2020/notification/notification.mjs +0 -134
  169. package/esm2020/progress-spinner/progress-spinner.mjs +0 -78
  170. package/esm2020/quick-list/quick-list.mjs +0 -128
  171. package/esm2020/treetable/treetable-row.mjs +0 -100
  172. package/fesm2015/clr-addons.mjs +0 -7980
  173. package/fesm2015/clr-addons.mjs.map +0 -1
  174. package/fesm2020/clr-addons.mjs.map +0 -1
  175. /package/{esm2020 → esm2022}/abstract-form-component/index.mjs +0 -0
  176. /package/{esm2020 → esm2022}/autocomplete-off/index.mjs +0 -0
  177. /package/{esm2020 → esm2022}/back-button/index.mjs +0 -0
  178. /package/{esm2020 → esm2022}/brand-avatar/index.mjs +0 -0
  179. /package/{esm2020 → esm2022}/breadcrumb/breadcrumb-model.interface.mjs +0 -0
  180. /package/{esm2020 → esm2022}/breadcrumb/index.mjs +0 -0
  181. /package/{esm2020 → esm2022}/clr-addons.mjs +0 -0
  182. /package/{esm2020 → esm2022}/collapse-expand-section/index.mjs +0 -0
  183. /package/{esm2020 → esm2022}/content-panel/index.mjs +0 -0
  184. /package/{esm2020 → esm2022}/data-list-validator/data-list.validator.mjs +0 -0
  185. /package/{esm2020 → esm2022}/data-list-validator/index.mjs +0 -0
  186. /package/{esm2020 → esm2022}/datagrid/datagrid-state-persistence/datagrid-state-persistence-model.interface.mjs +0 -0
  187. /package/{esm2020 → esm2022}/datagrid/datagrid-state-persistence/index.mjs +0 -0
  188. /package/{esm2020 → esm2022}/datagrid/datagrid-state-persistence/state-persistence-options.interface.mjs +0 -0
  189. /package/{esm2020 → esm2022}/datagrid/date-filter/index.mjs +0 -0
  190. /package/{esm2020 → esm2022}/datagrid/date-filter/nested-property.mjs +0 -0
  191. /package/{esm2020 → esm2022}/datagrid/enum-filter/index.mjs +0 -0
  192. /package/{esm2020 → esm2022}/datagrid/index.mjs +0 -0
  193. /package/{esm2020 → esm2022}/date-time-container/index.mjs +0 -0
  194. /package/{esm2020 → esm2022}/daterangepicker/daterange.constants.mjs +0 -0
  195. /package/{esm2020 → esm2022}/daterangepicker/index.mjs +0 -0
  196. /package/{esm2020 → esm2022}/daterangepicker/interfaces/daterange-preset.interface.mjs +0 -0
  197. /package/{esm2020 → esm2022}/daterangepicker/interfaces/daterange.interface.mjs +0 -0
  198. /package/{esm2020 → esm2022}/daterangepicker/models/day.model.mjs +0 -0
  199. /package/{esm2020 → esm2022}/dot-pager/index.mjs +0 -0
  200. /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
  201. /package/{esm2020 → esm2022}/flow-bar/index.mjs +0 -0
  202. /package/{esm2020 → esm2022}/generic-quick-list/index.mjs +0 -0
  203. /package/{esm2020 → esm2022}/history/history-model.interface.mjs +0 -0
  204. /package/{esm2020 → esm2022}/history/index.mjs +0 -0
  205. /package/{esm2020 → esm2022}/html-editor/html/index.mjs +0 -0
  206. /package/{esm2020 → esm2022}/html-editor/index.mjs +0 -0
  207. /package/{esm2020 → esm2022}/icons/index.mjs +0 -0
  208. /package/{esm2020 → esm2022}/icons/svg-tag-generator.mjs +0 -0
  209. /package/{esm2020 → esm2022}/index.mjs +0 -0
  210. /package/{esm2020 → esm2022}/letter-avatar/index.mjs +0 -0
  211. /package/{esm2020 → esm2022}/location-bar/index.mjs +0 -0
  212. /package/{esm2020 → esm2022}/location-bar/location-bar.model.mjs +0 -0
  213. /package/{esm2020 → esm2022}/location-bar/location-bar.provider.mjs +0 -0
  214. /package/{esm2020 → esm2022}/main-nav-group/index.mjs +0 -0
  215. /package/{esm2020 → esm2022}/multilingual/index.mjs +0 -0
  216. /package/{esm2020 → esm2022}/notification/index.mjs +0 -0
  217. /package/{esm2020 → esm2022}/notification/notification-ref.mjs +0 -0
  218. /package/{esm2020 → esm2022}/notification/scheduler-utils.mjs +0 -0
  219. /package/{esm2020 → esm2022}/numericfield/index.mjs +0 -0
  220. /package/{esm2020 → esm2022}/paged-search-result-list/index.mjs +0 -0
  221. /package/{esm2020 → esm2022}/pager/index.mjs +0 -0
  222. /package/{esm2020 → esm2022}/progress-spinner/index.mjs +0 -0
  223. /package/{esm2020 → esm2022}/quick-list/add-option.service.mjs +0 -0
  224. /package/{esm2020 → esm2022}/quick-list/index.mjs +0 -0
  225. /package/{esm2020 → esm2022}/searchfield/index.mjs +0 -0
  226. /package/{esm2020 → esm2022}/treetable/index.mjs +0 -0
  227. /package/{esm2020 → esm2022}/treetable/renderer/index.mjs +0 -0
  228. /package/{esm2020 → esm2022}/util/escape.util.mjs +0 -0
  229. /package/{esm2020 → esm2022}/util/index.mjs +0 -0
  230. /package/{esm2020 → esm2022}/view-edit-section/index.mjs +0 -0
@@ -1,42 +0,0 @@
1
- /*
2
- * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.
3
- * This software is released under MIT license.
4
- * The full license information can be found in LICENSE in the root directory of this project.
5
- */
6
- import { Component, forwardRef, Injector } from '@angular/core';
7
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
8
- import { ControlIdService } from '../../abstract-form-component/control-id.service';
9
- import { ClrMultilingualAbstract } from '../abstract-multilingual';
10
- import { ClarityIcons, exclamationCircleIcon } from '@cds/core/icon';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/common";
13
- import * as i2 from "@clr/angular";
14
- import * as i3 from "@angular/forms";
15
- import * as i4 from "../multilingual-selector";
16
- ClarityIcons.addIcons(exclamationCircleIcon);
17
- export class ClrMultilingualInput extends ClrMultilingualAbstract {
18
- constructor(injector) {
19
- super(injector);
20
- }
21
- }
22
- ClrMultilingualInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrMultilingualInput, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
23
- ClrMultilingualInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrMultilingualInput, selector: "clr-multilingual-input", providers: [
24
- {
25
- provide: NG_VALUE_ACCESSOR,
26
- useExisting: forwardRef(() => ClrMultilingualInput),
27
- multi: true,
28
- },
29
- ControlIdService,
30
- ], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <clr-multilingual-selector\n *ngIf=\"showLanguageSelector()\"\n [disabled]=\"disabled\"\n [texts]=\"shownTexts\"\n [selectedLang]=\"selectedLang\"\n (selectedLangChange)=\"changeLanguage($event)\"\n >\n </clr-multilingual-selector>\n <div class=\"clr-multi-input-wrapper\">\n <div class=\"clr-input-wrapper\">\n <input\n class=\"clr-input\"\n type=\"text\"\n [id]=\"inputId\"\n [ngModel]=\"!!shownTexts && !!selectedLang ? shownTexts.get(selectedLang) : ''\"\n (ngModelChange)=\"setText(selectedLang, $event)\"\n (blur)=\"onTouch()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readonly === ''\"\n autocomplete=\"off\"\n [maxlength]=\"maxlength || null\"\n #input\n />\n <cds-icon *ngIf=\"showError\" class=\"clr-validate-icon\" shape=\"exclamation-circle\" aria-hidden=\"true\"></cds-icon>\n </div>\n <ng-content select=\"clr-control-helper\" *ngIf=\"!showError\"></ng-content>\n <ng-content select=\"clr-control-error\" *ngIf=\"showError\"></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ClrMultilingualSelector, selector: "clr-multilingual-selector", inputs: ["disabled", "texts", "selectedLang"], outputs: ["selectedLangChange"] }] });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrMultilingualInput, decorators: [{
32
- type: Component,
33
- args: [{ selector: 'clr-multilingual-input', providers: [
34
- {
35
- provide: NG_VALUE_ACCESSOR,
36
- useExisting: forwardRef(() => ClrMultilingualInput),
37
- multi: true,
38
- },
39
- ControlIdService,
40
- ], template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <clr-multilingual-selector\n *ngIf=\"showLanguageSelector()\"\n [disabled]=\"disabled\"\n [texts]=\"shownTexts\"\n [selectedLang]=\"selectedLang\"\n (selectedLangChange)=\"changeLanguage($event)\"\n >\n </clr-multilingual-selector>\n <div class=\"clr-multi-input-wrapper\">\n <div class=\"clr-input-wrapper\">\n <input\n class=\"clr-input\"\n type=\"text\"\n [id]=\"inputId\"\n [ngModel]=\"!!shownTexts && !!selectedLang ? shownTexts.get(selectedLang) : ''\"\n (ngModelChange)=\"setText(selectedLang, $event)\"\n (blur)=\"onTouch()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readonly === ''\"\n autocomplete=\"off\"\n [maxlength]=\"maxlength || null\"\n #input\n />\n <cds-icon *ngIf=\"showError\" class=\"clr-validate-icon\" shape=\"exclamation-circle\" aria-hidden=\"true\"></cds-icon>\n </div>\n <ng-content select=\"clr-control-helper\" *ngIf=\"!showError\"></ng-content>\n <ng-content select=\"clr-control-error\" *ngIf=\"showError\"></ng-content>\n </div>\n</div>\n" }]
41
- }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsaW5ndWFsLWlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvbXVsdGlsaW5ndWFsL211bHRpbGluZ3VhbC1pbnB1dC9tdWx0aWxpbmd1YWwtaW5wdXQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9tdWx0aWxpbmd1YWwvbXVsdGlsaW5ndWFsLWlucHV0L211bHRpbGluZ3VhbC1pbnB1dC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDcEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFFckUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBYzdDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBdUI7SUFDL0QsWUFBWSxRQUFrQjtRQUM1QixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEIsQ0FBQzs7aUhBSFUsb0JBQW9CO3FHQUFwQixvQkFBb0IsaURBVHBCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7WUFDbkQsS0FBSyxFQUFFLElBQUk7U0FDWjtRQUNELGdCQUFnQjtLQUNqQixpREN2Qkgsc3NDQStCQTsyRkROYSxvQkFBb0I7a0JBWmhDLFNBQVM7K0JBQ0Usd0JBQXdCLGFBRXZCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDOzRCQUNuRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCxnQkFBZ0I7cUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIzIFBvcnNjaGUgSW5mb3JtYXRpay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cbmltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29udHJvbElkU2VydmljZSB9IGZyb20gJy4uLy4uL2Fic3RyYWN0LWZvcm0tY29tcG9uZW50L2NvbnRyb2wtaWQuc2VydmljZSc7XG5pbXBvcnQgeyBDbHJNdWx0aWxpbmd1YWxBYnN0cmFjdCB9IGZyb20gJy4uL2Fic3RyYWN0LW11bHRpbGluZ3VhbCc7XG5pbXBvcnQgeyBDbGFyaXR5SWNvbnMsIGV4Y2xhbWF0aW9uQ2lyY2xlSWNvbiB9IGZyb20gJ0BjZHMvY29yZS9pY29uJztcblxuQ2xhcml0eUljb25zLmFkZEljb25zKGV4Y2xhbWF0aW9uQ2lyY2xlSWNvbik7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1tdWx0aWxpbmd1YWwtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGlsaW5ndWFsLWlucHV0Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENsck11bHRpbGluZ3VhbElucHV0KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAgQ29udHJvbElkU2VydmljZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyTXVsdGlsaW5ndWFsSW5wdXQgZXh0ZW5kcyBDbHJNdWx0aWxpbmd1YWxBYnN0cmFjdCB7XG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHN1cGVyKGluamVjdG9yKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwibGFiZWxcIj48L25nLWNvbnRlbnQ+XG48ZGl2IGNsYXNzPVwiY2xyLWNvbnRyb2wtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwiY29udHJvbENsYXNzZXNcIj5cbiAgPGNsci1tdWx0aWxpbmd1YWwtc2VsZWN0b3JcbiAgICAqbmdJZj1cInNob3dMYW5ndWFnZVNlbGVjdG9yKClcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3RleHRzXT1cInNob3duVGV4dHNcIlxuICAgIFtzZWxlY3RlZExhbmddPVwic2VsZWN0ZWRMYW5nXCJcbiAgICAoc2VsZWN0ZWRMYW5nQ2hhbmdlKT1cImNoYW5nZUxhbmd1YWdlKCRldmVudClcIlxuICA+XG4gIDwvY2xyLW11bHRpbGluZ3VhbC1zZWxlY3Rvcj5cbiAgPGRpdiBjbGFzcz1cImNsci1tdWx0aS1pbnB1dC13cmFwcGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImNsci1pbnB1dC13cmFwcGVyXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgY2xhc3M9XCJjbHItaW5wdXRcIlxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICAgICAgW25nTW9kZWxdPVwiISFzaG93blRleHRzICYmICEhc2VsZWN0ZWRMYW5nID8gc2hvd25UZXh0cy5nZXQoc2VsZWN0ZWRMYW5nKSA6ICcnXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0VGV4dChzZWxlY3RlZExhbmcsICRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkgfHwgcmVhZG9ubHkgPT09ICcnXCJcbiAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5ndGggfHwgbnVsbFwiXG4gICAgICAgICNpbnB1dFxuICAgICAgLz5cbiAgICAgIDxjZHMtaWNvbiAqbmdJZj1cInNob3dFcnJvclwiIGNsYXNzPVwiY2xyLXZhbGlkYXRlLWljb25cIiBzaGFwZT1cImV4Y2xhbWF0aW9uLWNpcmNsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvY2RzLWljb24+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiY2xyLWNvbnRyb2wtaGVscGVyXCIgKm5nSWY9XCIhc2hvd0Vycm9yXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImNsci1jb250cm9sLWVycm9yXCIgKm5nSWY9XCJzaG93RXJyb3JcIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,44 +0,0 @@
1
- /*
2
- * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.
3
- * This software is released under MIT license.
4
- * The full license information can be found in LICENSE in the root directory of this project.
5
- */
6
- import { Component, forwardRef, Injector, Input } from '@angular/core';
7
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
8
- import { ControlIdService } from '../../abstract-form-component/control-id.service';
9
- import { ClrMultilingualAbstract } from '../abstract-multilingual';
10
- import { ClarityIcons, exclamationCircleIcon } from '@cds/core/icon';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/common";
13
- import * as i2 from "@clr/angular";
14
- import * as i3 from "@angular/forms";
15
- import * as i4 from "../multilingual-selector";
16
- ClarityIcons.addIcons(exclamationCircleIcon);
17
- export class ClrMultilingualTextarea extends ClrMultilingualAbstract {
18
- constructor(injector) {
19
- super(injector);
20
- }
21
- }
22
- ClrMultilingualTextarea.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrMultilingualTextarea, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
23
- ClrMultilingualTextarea.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrMultilingualTextarea, selector: "clr-multilingual-textarea", inputs: { rows: "rows" }, providers: [
24
- {
25
- provide: NG_VALUE_ACCESSOR,
26
- useExisting: forwardRef(() => ClrMultilingualTextarea),
27
- multi: true,
28
- },
29
- ControlIdService,
30
- ], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <clr-multilingual-selector\n *ngIf=\"showLanguageSelector()\"\n [disabled]=\"disabled\"\n [texts]=\"shownTexts\"\n [selectedLang]=\"selectedLang\"\n (selectedLangChange)=\"changeLanguage($event)\"\n >\n </clr-multilingual-selector>\n <div class=\"clr-multi-input-wrapper\">\n <div class=\"clr-textarea-wrapper\">\n <textarea\n class=\"clr-textarea\"\n [id]=\"inputId\"\n [ngModel]=\"!!shownTexts && !!selectedLang ? shownTexts.get(selectedLang) : ''\"\n (ngModelChange)=\"setText(selectedLang, $event)\"\n (blur)=\"onTouch()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readonly === ''\"\n [maxlength]=\"maxlength || null\"\n [rows]=\"rows || 1\"\n #input\n ></textarea>\n <cds-icon *ngIf=\"showError\" class=\"clr-validate-icon\" shape=\"exclamation-circle\" aria-hidden=\"true\"></cds-icon>\n </div>\n <ng-content select=\"clr-control-helper\" *ngIf=\"!showError\"></ng-content>\n <ng-content select=\"clr-control-error\" *ngIf=\"showError\"></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ClrMultilingualSelector, selector: "clr-multilingual-selector", inputs: ["disabled", "texts", "selectedLang"], outputs: ["selectedLangChange"] }] });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrMultilingualTextarea, decorators: [{
32
- type: Component,
33
- args: [{ selector: 'clr-multilingual-textarea', providers: [
34
- {
35
- provide: NG_VALUE_ACCESSOR,
36
- useExisting: forwardRef(() => ClrMultilingualTextarea),
37
- multi: true,
38
- },
39
- ControlIdService,
40
- ], template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <clr-multilingual-selector\n *ngIf=\"showLanguageSelector()\"\n [disabled]=\"disabled\"\n [texts]=\"shownTexts\"\n [selectedLang]=\"selectedLang\"\n (selectedLangChange)=\"changeLanguage($event)\"\n >\n </clr-multilingual-selector>\n <div class=\"clr-multi-input-wrapper\">\n <div class=\"clr-textarea-wrapper\">\n <textarea\n class=\"clr-textarea\"\n [id]=\"inputId\"\n [ngModel]=\"!!shownTexts && !!selectedLang ? shownTexts.get(selectedLang) : ''\"\n (ngModelChange)=\"setText(selectedLang, $event)\"\n (blur)=\"onTouch()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readonly === ''\"\n [maxlength]=\"maxlength || null\"\n [rows]=\"rows || 1\"\n #input\n ></textarea>\n <cds-icon *ngIf=\"showError\" class=\"clr-validate-icon\" shape=\"exclamation-circle\" aria-hidden=\"true\"></cds-icon>\n </div>\n <ng-content select=\"clr-control-helper\" *ngIf=\"!showError\"></ng-content>\n <ng-content select=\"clr-control-error\" *ngIf=\"showError\"></ng-content>\n </div>\n</div>\n" }]
41
- }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { rows: [{
42
- type: Input
43
- }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsaW5ndWFsLXRleHRhcmVhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvbXVsdGlsaW5ndWFsL211bHRpbGluZ3VhbC10ZXh0YXJlYS9tdWx0aWxpbmd1YWwtdGV4dGFyZWEudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9tdWx0aWxpbmd1YWwvbXVsdGlsaW5ndWFsLXRleHRhcmVhL211bHRpbGluZ3VhbC10ZXh0YXJlYS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRXJFLFlBQVksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQWM3QyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsdUJBQXVCO0lBR2xFLFlBQVksUUFBa0I7UUFDNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7O29IQUxVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDhFQVR2QjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO1lBQ3RELEtBQUssRUFBRSxJQUFJO1NBQ1o7UUFDRCxnQkFBZ0I7S0FDakIsaURDdkJILGtzQ0E4QkE7MkZETGEsdUJBQXVCO2tCQVpuQyxTQUFTOytCQUNFLDJCQUEyQixhQUUxQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0QsZ0JBQWdCO3FCQUNqQjsrRkFHUSxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjMgUG9yc2NoZSBJbmZvcm1hdGlrLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbmplY3RvciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29udHJvbElkU2VydmljZSB9IGZyb20gJy4uLy4uL2Fic3RyYWN0LWZvcm0tY29tcG9uZW50L2NvbnRyb2wtaWQuc2VydmljZSc7XG5pbXBvcnQgeyBDbHJNdWx0aWxpbmd1YWxBYnN0cmFjdCB9IGZyb20gJy4uL2Fic3RyYWN0LW11bHRpbGluZ3VhbCc7XG5pbXBvcnQgeyBDbGFyaXR5SWNvbnMsIGV4Y2xhbWF0aW9uQ2lyY2xlSWNvbiB9IGZyb20gJ0BjZHMvY29yZS9pY29uJztcblxuQ2xhcml0eUljb25zLmFkZEljb25zKGV4Y2xhbWF0aW9uQ2lyY2xlSWNvbik7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1tdWx0aWxpbmd1YWwtdGV4dGFyZWEnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGlsaW5ndWFsLXRleHRhcmVhLmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENsck11bHRpbGluZ3VhbFRleHRhcmVhKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAgQ29udHJvbElkU2VydmljZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyTXVsdGlsaW5ndWFsVGV4dGFyZWEgZXh0ZW5kcyBDbHJNdWx0aWxpbmd1YWxBYnN0cmFjdCB7XG4gIEBJbnB1dCgpIHJvd3M6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImxhYmVsXCI+PC9uZy1jb250ZW50PlxuPGRpdiBjbGFzcz1cImNsci1jb250cm9sLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cImNvbnRyb2xDbGFzc2VzXCI+XG4gIDxjbHItbXVsdGlsaW5ndWFsLXNlbGVjdG9yXG4gICAgKm5nSWY9XCJzaG93TGFuZ3VhZ2VTZWxlY3RvcigpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFt0ZXh0c109XCJzaG93blRleHRzXCJcbiAgICBbc2VsZWN0ZWRMYW5nXT1cInNlbGVjdGVkTGFuZ1wiXG4gICAgKHNlbGVjdGVkTGFuZ0NoYW5nZSk9XCJjaGFuZ2VMYW5ndWFnZSgkZXZlbnQpXCJcbiAgPlxuICA8L2Nsci1tdWx0aWxpbmd1YWwtc2VsZWN0b3I+XG4gIDxkaXYgY2xhc3M9XCJjbHItbXVsdGktaW5wdXQtd3JhcHBlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJjbHItdGV4dGFyZWEtd3JhcHBlclwiPlxuICAgICAgPHRleHRhcmVhXG4gICAgICAgIGNsYXNzPVwiY2xyLXRleHRhcmVhXCJcbiAgICAgICAgW2lkXT1cImlucHV0SWRcIlxuICAgICAgICBbbmdNb2RlbF09XCIhIXNob3duVGV4dHMgJiYgISFzZWxlY3RlZExhbmcgPyBzaG93blRleHRzLmdldChzZWxlY3RlZExhbmcpIDogJydcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRUZXh0KHNlbGVjdGVkTGFuZywgJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seSB8fCByZWFkb25seSA9PT0gJydcIlxuICAgICAgICBbbWF4bGVuZ3RoXT1cIm1heGxlbmd0aCB8fCBudWxsXCJcbiAgICAgICAgW3Jvd3NdPVwicm93cyB8fCAxXCJcbiAgICAgICAgI2lucHV0XG4gICAgICA+PC90ZXh0YXJlYT5cbiAgICAgIDxjZHMtaWNvbiAqbmdJZj1cInNob3dFcnJvclwiIGNsYXNzPVwiY2xyLXZhbGlkYXRlLWljb25cIiBzaGFwZT1cImV4Y2xhbWF0aW9uLWNpcmNsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvY2RzLWljb24+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiY2xyLWNvbnRyb2wtaGVscGVyXCIgKm5nSWY9XCIhc2hvd0Vycm9yXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImNsci1jb250cm9sLWVycm9yXCIgKm5nSWY9XCJzaG93RXJyb3JcIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,134 +0,0 @@
1
- /*
2
- * Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.
3
- * This software is released under MIT license.
4
- * The full license information can be found in LICENSE in the root directory of this project.
5
- */
6
- import { Component, EventEmitter, Input, NgZone, Output, ElementRef, ViewChild } from '@angular/core';
7
- import { animate, style, transition, trigger, state } from '@angular/animations';
8
- import { ClrAlert } from '@clr/angular';
9
- import { zonedInterval, zonedTimer } from './scheduler-utils';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/common";
12
- import * as i2 from "@clr/angular";
13
- export class ClrNotification {
14
- get translate() {
15
- return this._translate;
16
- }
17
- get height() {
18
- return this._height + 10;
19
- }
20
- constructor(elementRef, ngZone) {
21
- this.elementRef = elementRef;
22
- this.ngZone = ngZone;
23
- this.progressStatus = 0;
24
- this.step = 100;
25
- this._translate = 0;
26
- this._height = 0;
27
- this.heightInitalized = new Promise(resolve => {
28
- this._heightInitalized = resolve;
29
- });
30
- this.timeout = 2000;
31
- this.notificationType = 'info'; // "info", "warning", "success" and "danger"
32
- this.dismissable = false;
33
- this.progressbar = false;
34
- this.closed = new EventEmitter();
35
- }
36
- ngOnInit() {
37
- zonedTimer(0, this.ngZone).subscribe(() => {
38
- this._height = this.elementRef.nativeElement.children[0].offsetHeight;
39
- this._heightInitalized();
40
- });
41
- if (this.timeout > 0) {
42
- if (this.progressbar) {
43
- this.startTime = new Date().getTime();
44
- this.interval = zonedInterval(this.timeout / (this.timeout / this.step), this.ngZone).subscribe(() => this.updateProgressStatus());
45
- }
46
- this.timer = zonedTimer(this.timeout, this.ngZone).subscribe(() => this.close());
47
- }
48
- }
49
- updateProgressStatus() {
50
- this.progressStatus = new Date().getTime() - this.startTime;
51
- }
52
- close() {
53
- if (this.interval) {
54
- this.interval.unsubscribe();
55
- }
56
- if (this.timer) {
57
- this.timer.unsubscribe();
58
- }
59
- this.clrAlert._closed = false;
60
- this.state = { value: 'fadeOut', params: { absolute: this._translate } };
61
- zonedTimer(300, this.ngZone).subscribe(() => this.closed.emit());
62
- }
63
- moveDown(translateValue) {
64
- this._translate += translateValue;
65
- this.state = { value: 'moveDown', params: { absolute: this._translate } };
66
- this.setCurrentPosition();
67
- }
68
- moveUp(translateValue) {
69
- this._translate -= translateValue;
70
- this.state = { value: 'moveUp', params: { absolute: this._translate } };
71
- this.setCurrentPosition();
72
- }
73
- setCurrentPosition() {
74
- zonedTimer(300, this.ngZone).subscribe(() => (this.state = { value: 'currentPosition', params: { absolute: this._translate } }));
75
- }
76
- }
77
- ClrNotification.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrNotification, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
78
- ClrNotification.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrNotification, selector: "clr-notification", inputs: { timeout: "timeout", notificationType: "notificationType", dismissable: "dismissable", progressbar: "progressbar" }, outputs: { closed: "closed" }, host: { properties: { "class.notification": "true" } }, viewQueries: [{ propertyName: "clrAlert", first: true, predicate: ClrAlert, descendants: true, static: true }], ngImport: i0, template: "<div class=\"notification__wrapper\" [@slideDown] [@move]=\"state\" [@fade]=\"state\">\n <div class=\"progress top\" [ngClass]=\"notificationType\" *ngIf=\"progressbar && timeout > 0\">\n <progress class=\"progress\" [max]=\"timeout\" [value]=\"progressStatus\"></progress>\n </div>\n <clr-alert\n [clrAlertType]=\"notificationType\"\n [clrAlertAppLevel]=\"true\"\n [clrAlertClosable]=\"dismissable\"\n (clrAlertClosedChange)=\"close()\"\n >\n <div class=\"alert-item\">\n <span class=\"alert-text\">\n <ng-content select=\"[clr-notification-message]\"></ng-content>\n </span>\n </div>\n </clr-alert>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ClrAlert, selector: "clr-alert", inputs: ["clrAlertSizeSmall", "clrAlertClosable", "clrAlertAppLevel", "clrCloseButtonAriaLabel", "clrAlertType", "clrAlertIcon", "clrAlertClosed"], outputs: ["clrAlertClosedChange"] }, { kind: "directive", type: i2.ClrAlertText, selector: ".alert-text" }], animations: [
79
- trigger('slideDown', [
80
- transition(':enter', [
81
- style({ transform: 'translateY(-200%)' }),
82
- animate('0.5s', style({ transform: 'translateY(0%)' })),
83
- ]),
84
- ]),
85
- trigger('move', [
86
- state('currentPosition', style({ transform: 'translateY({{absolute}}px)' }), { params: { absolute: '0' } }),
87
- state('moveUp', style({ transform: 'translateY({{absolute}}px)' }), { params: { absolute: '0' } }),
88
- state('moveDown', style({ transform: 'translateY({{absolute}}px)' }), { params: { absolute: '0' } }),
89
- transition('* => moveDown', animate('0.3s')),
90
- transition('* => moveUp', animate('0.3s')),
91
- ]),
92
- trigger('fade', [
93
- state('fadeOut', style({ transform: 'translateY({{absolute}}px)', opacity: 0 }), { params: { absolute: '0' } }),
94
- transition('* => fadeOut', animate('0.3s')),
95
- ]),
96
- ] });
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrNotification, decorators: [{
98
- type: Component,
99
- args: [{ selector: 'clr-notification', animations: [
100
- trigger('slideDown', [
101
- transition(':enter', [
102
- style({ transform: 'translateY(-200%)' }),
103
- animate('0.5s', style({ transform: 'translateY(0%)' })),
104
- ]),
105
- ]),
106
- trigger('move', [
107
- state('currentPosition', style({ transform: 'translateY({{absolute}}px)' }), { params: { absolute: '0' } }),
108
- state('moveUp', style({ transform: 'translateY({{absolute}}px)' }), { params: { absolute: '0' } }),
109
- state('moveDown', style({ transform: 'translateY({{absolute}}px)' }), { params: { absolute: '0' } }),
110
- transition('* => moveDown', animate('0.3s')),
111
- transition('* => moveUp', animate('0.3s')),
112
- ]),
113
- trigger('fade', [
114
- state('fadeOut', style({ transform: 'translateY({{absolute}}px)', opacity: 0 }), { params: { absolute: '0' } }),
115
- transition('* => fadeOut', animate('0.3s')),
116
- ]),
117
- ], host: {
118
- '[class.notification]': 'true',
119
- }, template: "<div class=\"notification__wrapper\" [@slideDown] [@move]=\"state\" [@fade]=\"state\">\n <div class=\"progress top\" [ngClass]=\"notificationType\" *ngIf=\"progressbar && timeout > 0\">\n <progress class=\"progress\" [max]=\"timeout\" [value]=\"progressStatus\"></progress>\n </div>\n <clr-alert\n [clrAlertType]=\"notificationType\"\n [clrAlertAppLevel]=\"true\"\n [clrAlertClosable]=\"dismissable\"\n (clrAlertClosedChange)=\"close()\"\n >\n <div class=\"alert-item\">\n <span class=\"alert-text\">\n <ng-content select=\"[clr-notification-message]\"></ng-content>\n </span>\n </div>\n </clr-alert>\n</div>\n" }]
120
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { clrAlert: [{
121
- type: ViewChild,
122
- args: [ClrAlert, { static: true }]
123
- }], timeout: [{
124
- type: Input
125
- }], notificationType: [{
126
- type: Input
127
- }], dismissable: [{
128
- type: Input
129
- }], progressbar: [{
130
- type: Input
131
- }], closed: [{
132
- type: Output
133
- }] } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBVSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQTRCOUQsTUFBTSxPQUFPLGVBQWU7SUFXMUIsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFHRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFjRCxZQUFvQixVQUFzQixFQUFVLE1BQWM7UUFBOUMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUE5QmxFLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO1FBRVgsU0FBSSxHQUFHLEdBQUcsQ0FBQztRQU1YLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFLZixZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBTXBCLHFCQUFnQixHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsR0FB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QUFLLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSw0QkFBNEIsRUFBRSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQzs0QkFDcEcsVUFBVSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7NEJBQzVDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3lCQUMzQyxDQUFDO3dCQUNGLE9BQU8sQ0FBQyxNQUFNLEVBQUU7NEJBQ2QsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsNEJBQTRCLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQzs0QkFDL0csVUFBVSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7eUJBQzVDLENBQUM7cUJBQ0gsUUFDSzt3QkFDSixzQkFBc0IsRUFBRSxNQUFNO3FCQUMvQjtzSEFHc0MsUUFBUTtzQkFBOUMsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQXdCNUIsT0FBTztzQkFBZixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIxIFBvcnNjaGUgSW5mb3JtYXRpay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBOZ1pvbmUsIE9uSW5pdCwgT3V0cHV0LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyLCBzdGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDbHJBbGVydCB9IGZyb20gJ0BjbHIvYW5ndWxhcic7XG5pbXBvcnQgeyB6b25lZEludGVydmFsLCB6b25lZFRpbWVyIH0gZnJvbSAnLi9zY2hlZHVsZXItdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItbm90aWZpY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25vdGlmaWNhdGlvbi5odG1sJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3NsaWRlRG93bicsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0yMDAlKScgfSksXG4gICAgICAgIGFuaW1hdGUoJzAuNXMnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCUpJyB9KSksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgICB0cmlnZ2VyKCdtb3ZlJywgW1xuICAgICAgc3RhdGUoJ2N1cnJlbnRQb3NpdGlvbicsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e2Fic29sdXRlfX1weCknIH0pLCB7IHBhcmFtczogeyBhYnNvbHV0ZTogJzAnIH0gfSksXG4gICAgICBzdGF0ZSgnbW92ZVVwJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKHt7YWJzb2x1dGV9fXB4KScgfSksIHsgcGFyYW1zOiB7IGFic29sdXRlOiAnMCcgfSB9KSxcbiAgICAgIHN0YXRlKCdtb3ZlRG93bicsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e2Fic29sdXRlfX1weCknIH0pLCB7IHBhcmFtczogeyBhYnNvbHV0ZTogJzAnIH0gfSksXG4gICAgICB0cmFuc2l0aW9uKCcqID0+IG1vdmVEb3duJywgYW5pbWF0ZSgnMC4zcycpKSxcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gbW92ZVVwJywgYW5pbWF0ZSgnMC4zcycpKSxcbiAgICBdKSxcbiAgICB0cmlnZ2VyKCdmYWRlJywgW1xuICAgICAgc3RhdGUoJ2ZhZGVPdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3thYnNvbHV0ZX19cHgpJywgb3BhY2l0eTogMCB9KSwgeyBwYXJhbXM6IHsgYWJzb2x1dGU6ICcwJyB9IH0pLFxuICAgICAgdHJhbnNpdGlvbignKiA9PiBmYWRlT3V0JywgYW5pbWF0ZSgnMC4zcycpKSxcbiAgICBdKSxcbiAgXSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Mubm90aWZpY2F0aW9uXSc6ICd0cnVlJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyTm90aWZpY2F0aW9uIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZChDbHJBbGVydCwgeyBzdGF0aWM6IHRydWUgfSkgY2xyQWxlcnQ6IENsckFsZXJ0O1xuICBwcm9ncmVzc1N0YXR1cyA9IDA7XG5cbiAgcHJpdmF0ZSBzdGVwID0gMTAwO1xuICBwcml2YXRlIHN0YXJ0VGltZTogbnVtYmVyO1xuICBzdGF0ZTogYW55O1xuICBwcml2YXRlIHRpbWVyOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgaW50ZXJ2YWw6IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIF90cmFuc2xhdGUgPSAwO1xuICBnZXQgdHJhbnNsYXRlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgX2hlaWdodCA9IDA7XG4gIGdldCBoZWlnaHQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5faGVpZ2h0ICsgMTA7XG4gIH1cblxuICBwcml2YXRlIF9oZWlnaHRJbml0YWxpemVkOiAodmFsdWU/OiB1bmtub3duKSA9PiB2b2lkO1xuICBoZWlnaHRJbml0YWxpemVkID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgdGhpcy5faGVpZ2h0SW5pdGFsaXplZCA9IHJlc29sdmU7XG4gIH0pO1xuXG4gIEBJbnB1dCgpIHRpbWVvdXQgPSAyMDAwO1xuICBASW5wdXQoKSBub3RpZmljYXRpb25UeXBlID0gJ2luZm8nOyAvLyBcImluZm9cIiwgXCJ3YXJuaW5nXCIsIFwic3VjY2Vzc1wiIGFuZCBcImRhbmdlclwiXG4gIEBJbnB1dCgpIGRpc21pc3NhYmxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIHByb2dyZXNzYmFyID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIGNsb3NlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIG5nWm9uZTogTmdab25lKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHpvbmVkVGltZXIoMCwgdGhpcy5uZ1pvbmUpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl9oZWlnaHQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXS5vZmZzZXRIZWlnaHQ7XG4gICAgICB0aGlzLl9oZWlnaHRJbml0YWxpemVkKCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy50aW1lb3V0ID4gMCkge1xuICAgICAgaWYgKHRoaXMucHJvZ3Jlc3NiYXIpIHtcbiAgICAgICAgdGhpcy5zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgdGhpcy5pbnRlcnZhbCA9IHpvbmVkSW50ZXJ2YWwodGhpcy50aW1lb3V0IC8gKHRoaXMudGltZW91dCAvIHRoaXMuc3RlcCksIHRoaXMubmdab25lKS5zdWJzY3JpYmUoKCkgPT5cbiAgICAgICAgICB0aGlzLnVwZGF0ZVByb2dyZXNzU3RhdHVzKClcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy50aW1lciA9IHpvbmVkVGltZXIodGhpcy50aW1lb3V0LCB0aGlzLm5nWm9uZSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVwZGF0ZVByb2dyZXNzU3RhdHVzKCk6IHZvaWQge1xuICAgIHRoaXMucHJvZ3Jlc3NTdGF0dXMgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHRoaXMuc3RhcnRUaW1lO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmludGVydmFsKSB7XG4gICAgICB0aGlzLmludGVydmFsLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnRpbWVyKSB7XG4gICAgICB0aGlzLnRpbWVyLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuY2xyQWxlcnQuX2Nsb3NlZCA9IGZhbHNlO1xuICAgIHRoaXMuc3RhdGUgPSB7IHZhbHVlOiAnZmFkZU91dCcsIHBhcmFtczogeyBhYnNvbHV0ZTogdGhpcy5fdHJhbnNsYXRlIH0gfTtcbiAgICB6b25lZFRpbWVyKDMwMCwgdGhpcy5uZ1pvbmUpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlZC5lbWl0KCkpO1xuICB9XG5cbiAgcHVibGljIG1vdmVEb3duKHRyYW5zbGF0ZVZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl90cmFuc2xhdGUgKz0gdHJhbnNsYXRlVmFsdWU7XG4gICAgdGhpcy5zdGF0ZSA9IHsgdmFsdWU6ICdtb3ZlRG93bicsIHBhcmFtczogeyBhYnNvbHV0ZTogdGhpcy5fdHJhbnNsYXRlIH0gfTtcbiAgICB0aGlzLnNldEN1cnJlbnRQb3NpdGlvbigpO1xuICB9XG5cbiAgcHVibGljIG1vdmVVcCh0cmFuc2xhdGVWYWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fdHJhbnNsYXRlIC09IHRyYW5zbGF0ZVZhbHVlO1xuICAgIHRoaXMuc3RhdGUgPSB7IHZhbHVlOiAnbW92ZVVwJywgcGFyYW1zOiB7IGFic29sdXRlOiB0aGlzLl90cmFuc2xhdGUgfSB9O1xuICAgIHRoaXMuc2V0Q3VycmVudFBvc2l0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIHNldEN1cnJlbnRQb3NpdGlvbigpOiB2b2lkIHtcbiAgICB6b25lZFRpbWVyKDMwMCwgdGhpcy5uZ1pvbmUpLnN1YnNjcmliZShcbiAgICAgICgpID0+ICh0aGlzLnN0YXRlID0geyB2YWx1ZTogJ2N1cnJlbnRQb3NpdGlvbicsIHBhcmFtczogeyBhYnNvbHV0ZTogdGhpcy5fdHJhbnNsYXRlIH0gfSlcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uX193cmFwcGVyXCIgW0BzbGlkZURvd25dIFtAbW92ZV09XCJzdGF0ZVwiIFtAZmFkZV09XCJzdGF0ZVwiPlxuICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MgdG9wXCIgW25nQ2xhc3NdPVwibm90aWZpY2F0aW9uVHlwZVwiICpuZ0lmPVwicHJvZ3Jlc3NiYXIgJiYgdGltZW91dCA+IDBcIj5cbiAgICA8cHJvZ3Jlc3MgY2xhc3M9XCJwcm9ncmVzc1wiIFttYXhdPVwidGltZW91dFwiIFt2YWx1ZV09XCJwcm9ncmVzc1N0YXR1c1wiPjwvcHJvZ3Jlc3M+XG4gIDwvZGl2PlxuICA8Y2xyLWFsZXJ0XG4gICAgW2NsckFsZXJ0VHlwZV09XCJub3RpZmljYXRpb25UeXBlXCJcbiAgICBbY2xyQWxlcnRBcHBMZXZlbF09XCJ0cnVlXCJcbiAgICBbY2xyQWxlcnRDbG9zYWJsZV09XCJkaXNtaXNzYWJsZVwiXG4gICAgKGNsckFsZXJ0Q2xvc2VkQ2hhbmdlKT1cImNsb3NlKClcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImFsZXJ0LWl0ZW1cIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYWxlcnQtdGV4dFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbY2xyLW5vdGlmaWNhdGlvbi1tZXNzYWdlXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9jbHItYWxlcnQ+XG48L2Rpdj5cbiJdfQ==
@@ -1,78 +0,0 @@
1
- /*
2
- * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.
3
- * This software is released under MIT license.
4
- * The full license information can be found in LICENSE in the root directory of this project.
5
- */
6
- import { ChangeDetectorRef, Component, Input } from '@angular/core';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
9
- export class ClrProgressSpinnerComponent {
10
- set showSpinner(value) {
11
- if (value) {
12
- this.show();
13
- }
14
- else {
15
- this.hide();
16
- }
17
- }
18
- constructor(changeDetectorRef) {
19
- this.changeDetectorRef = changeDetectorRef;
20
- this.size = 'sm';
21
- }
22
- ngOnDestroy() {
23
- clearTimeout(this.hideTimeout);
24
- }
25
- show() {
26
- clearTimeout(this.hideTimeout);
27
- this._showSpinner = true;
28
- this.startTimestamp = new Date().getTime();
29
- }
30
- hide() {
31
- this.hideTimeout = setTimeout(() => {
32
- this.startTimestamp = undefined;
33
- this._showSpinner = false;
34
- this.changeDetectorRef.markForCheck();
35
- }, this.getRemainingVisibleTime());
36
- }
37
- getRemainingVisibleTime() {
38
- return Math.max(0, ClrProgressSpinnerComponent.MINIMUM_VISIBLE_DURATION - this.getVisibleTime());
39
- }
40
- getVisibleTime() {
41
- if (!this.startTimestamp) {
42
- return 0;
43
- }
44
- else {
45
- return new Date().getTime() - this.startTimestamp;
46
- }
47
- }
48
- }
49
- ClrProgressSpinnerComponent.MINIMUM_VISIBLE_DURATION = 200;
50
- ClrProgressSpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrProgressSpinnerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
51
- ClrProgressSpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrProgressSpinnerComponent, selector: "clr-progress-spinner", inputs: { size: ["clrSize", "size"], showSpinner: ["clrShowSpinner", "showSpinner"] }, host: { properties: { "class.progress-spinner-overlay": "_showSpinner" } }, ngImport: i0, template: `
52
- <ng-container *ngIf="_showSpinner">
53
- <span [class]="'spinner-' + size + ' spinner'"></span>
54
- <span>&nbsp;<ng-content></ng-content></span>
55
- </ng-container>
56
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrProgressSpinnerComponent, decorators: [{
58
- type: Component,
59
- args: [{
60
- selector: 'clr-progress-spinner',
61
- template: `
62
- <ng-container *ngIf="_showSpinner">
63
- <span [class]="'spinner-' + size + ' spinner'"></span>
64
- <span>&nbsp;<ng-content></ng-content></span>
65
- </ng-container>
66
- `,
67
- host: {
68
- '[class.progress-spinner-overlay]': '_showSpinner',
69
- },
70
- }]
71
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { size: [{
72
- type: Input,
73
- args: ['clrSize']
74
- }], showSpinner: [{
75
- type: Input,
76
- args: ['clrShowSpinner']
77
- }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3Mtc3Bpbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL3Byb2dyZXNzLXNwaW5uZXIvcHJvZ3Jlc3Mtc3Bpbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7OztBQWMvRSxNQUFNLE9BQU8sMkJBQTJCO0lBU3RDLElBQ0ksV0FBVyxDQUFDLEtBQWM7UUFDNUIsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDYjthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRUQsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFidEMsU0FBSSxHQUFHLElBQUksQ0FBQztJQWE2QixDQUFDO0lBRTVELFdBQVc7UUFDVCxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTyxJQUFJO1FBQ1YsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVPLElBQUk7UUFDVixJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7WUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hDLENBQUMsRUFBRSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSwyQkFBMkIsQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixPQUFPLENBQUMsQ0FBQztTQUNWO2FBQU07WUFDTCxPQUFPLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUNuRDtJQUNILENBQUM7O0FBL0N1QixvREFBd0IsR0FBRyxHQUFHLENBQUM7d0hBRDVDLDJCQUEyQjs0R0FBM0IsMkJBQTJCLCtOQVY1Qjs7Ozs7R0FLVDsyRkFLVSwyQkFBMkI7a0JBWnZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFOzs7OztHQUtUO29CQUNELElBQUksRUFBRTt3QkFDSixrQ0FBa0MsRUFBRSxjQUFjO3FCQUNuRDtpQkFDRjt3R0FNbUIsSUFBSTtzQkFBckIsS0FBSzt1QkFBQyxTQUFTO2dCQUtaLFdBQVc7c0JBRGQsS0FBSzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMTkgUG9yc2NoZSBJbmZvcm1hdGlrLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItcHJvZ3Jlc3Mtc3Bpbm5lcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9zaG93U3Bpbm5lclwiPlxuICAgICAgPHNwYW4gW2NsYXNzXT1cIidzcGlubmVyLScgKyBzaXplICsgJyBzcGlubmVyJ1wiPjwvc3Bhbj5cbiAgICAgIDxzcGFuPiZuYnNwOzxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIGAsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLnByb2dyZXNzLXNwaW5uZXItb3ZlcmxheV0nOiAnX3Nob3dTcGlubmVyJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyUHJvZ3Jlc3NTcGlubmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgTUlOSU1VTV9WSVNJQkxFX0RVUkFUSU9OID0gMjAwO1xuICBwcml2YXRlIHN0YXJ0VGltZXN0YW1wOiBudW1iZXI7XG4gIHByaXZhdGUgaGlkZVRpbWVvdXQ6IGFueTtcblxuICBASW5wdXQoJ2NsclNpemUnKSBzaXplID0gJ3NtJztcblxuICBfc2hvd1NwaW5uZXI6IGJvb2xlYW47XG5cbiAgQElucHV0KCdjbHJTaG93U3Bpbm5lcicpXG4gIHNldCBzaG93U3Bpbm5lcih2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5zaG93KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLmhpZGVUaW1lb3V0KTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvdygpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5oaWRlVGltZW91dCk7XG4gICAgdGhpcy5fc2hvd1NwaW5uZXIgPSB0cnVlO1xuICAgIHRoaXMuc3RhcnRUaW1lc3RhbXAgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnN0YXJ0VGltZXN0YW1wID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fc2hvd1NwaW5uZXIgPSBmYWxzZTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSwgdGhpcy5nZXRSZW1haW5pbmdWaXNpYmxlVGltZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVtYWluaW5nVmlzaWJsZVRpbWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5tYXgoMCwgQ2xyUHJvZ3Jlc3NTcGlubmVyQ29tcG9uZW50Lk1JTklNVU1fVklTSUJMRV9EVVJBVElPTiAtIHRoaXMuZ2V0VmlzaWJsZVRpbWUoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldFZpc2libGVUaW1lKCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnN0YXJ0VGltZXN0YW1wKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gdGhpcy5zdGFydFRpbWVzdGFtcDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,128 +0,0 @@
1
- /*
2
- * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.
3
- * This software is released under MIT license.
4
- * The full license information can be found in LICENSE in the root directory of this project.
5
- */
6
- import { Component, EventEmitter, forwardRef, Input, Output, QueryList, ViewChildren } from '@angular/core';
7
- import { CLR_BLANK_OPTION } from './add-option.service';
8
- import { ClrAddOption } from './add-option';
9
- import { ClrAbstractFormComponent } from '../abstract-form-component/abstract-form-component';
10
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
11
- import { ClarityIcons, plusCircleIcon } from '@cds/core/icon';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/common";
14
- import * as i2 from "@clr/angular";
15
- import * as i3 from "./add-option";
16
- ClarityIcons.addIcons(plusCircleIcon);
17
- export class ClrQuickList extends ClrAbstractFormComponent {
18
- constructor() {
19
- super(...arguments);
20
- this.blankOption = CLR_BLANK_OPTION;
21
- this.allValues = [this.blankOption];
22
- this.mandatory = false;
23
- this.values = [];
24
- this.addLabel = 'ADD';
25
- this.controlClasses = 'clr-col-md-10';
26
- this.compactMode = false;
27
- this.valuesChanged = new EventEmitter();
28
- this.emptyOptionAdded = new EventEmitter();
29
- }
30
- ngOnInit() {
31
- if (this.values.length === 0) {
32
- this.values.push(...this.getEmptyValues());
33
- }
34
- }
35
- writeValue(value) {
36
- this.values = value?.length ? [...value] : this.getEmptyValues();
37
- }
38
- getEmptyValues() {
39
- return this.mandatory ? [this.blankOption] : [];
40
- }
41
- onValueChanged(value, i) {
42
- if (value) {
43
- this.values[i] = value;
44
- this.emitValueChanged();
45
- this.focusOption(value);
46
- }
47
- }
48
- onRemoveValue(i) {
49
- this.values.splice(i, 1);
50
- this.emitValueChanged();
51
- }
52
- addBlankOption() {
53
- if (!this.hasBlankOption()) {
54
- this.values.push(this.blankOption);
55
- this.emitValueChanged();
56
- this.emptyOptionAdded.emit();
57
- this.focusOption(this.blankOption);
58
- }
59
- }
60
- emitValueChanged() {
61
- this.valuesChanged.emit(this.values);
62
- this.onChange(this.values);
63
- }
64
- focusOption(option) {
65
- setTimeout(() => {
66
- const opt = this.options.find(o => o.value.id === option.id);
67
- if (opt) {
68
- opt.focusComponent();
69
- }
70
- });
71
- }
72
- hasBlankOption() {
73
- return this.values.map(val => val.id).includes(this.blankOption.id);
74
- }
75
- addNotPossible() {
76
- return this.hasBlankOption() || this.values.length === this.allValues.length;
77
- }
78
- }
79
- ClrQuickList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrQuickList, deps: null, target: i0.ɵɵFactoryTarget.Component });
80
- ClrQuickList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrQuickList, selector: "clr-quick-list", inputs: { blankOption: ["clrBlankOption", "blankOption"], allValues: ["clrAllValues", "allValues"], mandatory: ["clrMandatory", "mandatory"], values: ["clrValues", "values"], addLabel: ["clrAddLabel", "addLabel"], controlClasses: ["clrControlClasses", "controlClasses"], readonly: "readonly", compactMode: "compactMode" }, outputs: { valuesChanged: "clrValuesChanged", emptyOptionAdded: "clrEmptyOptionAdded" }, host: { properties: { "class.quick-list": "true" } }, providers: [
81
- {
82
- provide: NG_VALUE_ACCESSOR,
83
- useExisting: forwardRef(() => ClrQuickList),
84
- multi: true,
85
- },
86
- ], viewQueries: [{ propertyName: "options", predicate: ClrAddOption, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-container *ngFor=\"let value of values; index as i\">\n <clr-add-option\n [allValues]=\"allValues\"\n [excludedValues]=\"values\"\n (remove)=\"onRemoveValue(i)\"\n (add)=\"addBlankOption()\"\n [value]=\"value\"\n (valueChanged)=\"onValueChanged($event, i)\"\n [blankOption]=\"blankOption\"\n [mandatory]=\"mandatory\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [disableAddButton]=\"addNotPossible() || disabled\"\n [showAddButton]=\"compactMode && i === values.length - 1\"\n >\n </clr-add-option>\n </ng-container>\n <button\n *ngIf=\"!(readonly || readonly === '') && values.length === 0 && compactMode\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addBlankOption()\"\n [disabled]=\"addNotPossible() || disabled\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && !compactMode\"\n type=\"button\"\n class=\"btn btn-link btn-sm quick-list-add\"\n (click)=\"addBlankOption()\"\n [disabled]=\"addNotPossible() || disabled\"\n >\n {{addLabel}}\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: i3.ClrAddOption, selector: "clr-add-option", inputs: ["blankOption", "value", "mandatory", "allValues", "excludedValues", "readonly", "disabled", "disableAddButton", "showAddButton"], outputs: ["valueChanged", "remove", "add"] }] });
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrQuickList, decorators: [{
88
- type: Component,
89
- args: [{ selector: 'clr-quick-list', host: { '[class.quick-list]': 'true' }, providers: [
90
- {
91
- provide: NG_VALUE_ACCESSOR,
92
- useExisting: forwardRef(() => ClrQuickList),
93
- multi: true,
94
- },
95
- ], template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-container *ngFor=\"let value of values; index as i\">\n <clr-add-option\n [allValues]=\"allValues\"\n [excludedValues]=\"values\"\n (remove)=\"onRemoveValue(i)\"\n (add)=\"addBlankOption()\"\n [value]=\"value\"\n (valueChanged)=\"onValueChanged($event, i)\"\n [blankOption]=\"blankOption\"\n [mandatory]=\"mandatory\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [disableAddButton]=\"addNotPossible() || disabled\"\n [showAddButton]=\"compactMode && i === values.length - 1\"\n >\n </clr-add-option>\n </ng-container>\n <button\n *ngIf=\"!(readonly || readonly === '') && values.length === 0 && compactMode\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addBlankOption()\"\n [disabled]=\"addNotPossible() || disabled\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && !compactMode\"\n type=\"button\"\n class=\"btn btn-link btn-sm quick-list-add\"\n (click)=\"addBlankOption()\"\n [disabled]=\"addNotPossible() || disabled\"\n >\n {{addLabel}}\n </button>\n</div>\n" }]
96
- }], propDecorators: { blankOption: [{
97
- type: Input,
98
- args: ['clrBlankOption']
99
- }], allValues: [{
100
- type: Input,
101
- args: ['clrAllValues']
102
- }], mandatory: [{
103
- type: Input,
104
- args: ['clrMandatory']
105
- }], values: [{
106
- type: Input,
107
- args: ['clrValues']
108
- }], addLabel: [{
109
- type: Input,
110
- args: ['clrAddLabel']
111
- }], controlClasses: [{
112
- type: Input,
113
- args: ['clrControlClasses']
114
- }], readonly: [{
115
- type: Input
116
- }], compactMode: [{
117
- type: Input
118
- }], valuesChanged: [{
119
- type: Output,
120
- args: ['clrValuesChanged']
121
- }], emptyOptionAdded: [{
122
- type: Output,
123
- args: ['clrEmptyOptionAdded']
124
- }], options: [{
125
- type: ViewChildren,
126
- args: [ClrAddOption]
127
- }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2stbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL3F1aWNrLWxpc3QvcXVpY2stbGlzdC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL3F1aWNrLWxpc3QvcXVpY2stbGlzdC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxnQkFBZ0IsRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBRTlELFlBQVksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7QUFjdEMsTUFBTSxPQUFPLFlBQWdCLFNBQVEsd0JBQXdCO0lBWjdEOztRQWEyQixnQkFBVyxHQUF5QixnQkFBZ0IsQ0FBQztRQUN2RCxjQUFTLEdBQTJCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDckIsV0FBTSxHQUEyQixFQUFFLENBQUM7UUFDbEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNYLG1CQUFjLEdBQUcsZUFBZSxDQUFDO1FBRXBELGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ0Qsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQUN4RCxxQkFBZ0IsR0FBRyxJQUFJLFlBQVks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LFlBQVksdUVDdkM1QixreUNBc0NBOzJGRFhhLFlBQVk7a0JBWnhCLFNBQVM7K0JBQ0UsZ0JBQWdCLFFBQ3BCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLGFBRTNCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQzs0QkFDM0MsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBR3dCLFdBQVc7c0JBQW5DLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUNBLFNBQVM7c0JBQS9CLEtBQUs7dUJBQUMsY0FBYztnQkFDRSxTQUFTO3NCQUEvQixLQUFLO3VCQUFDLGNBQWM7Z0JBQ0QsTUFBTTtzQkFBekIsS0FBSzt1QkFBQyxXQUFXO2dCQUNJLFFBQVE7c0JBQTdCLEtBQUs7dUJBQUMsYUFBYTtnQkFDUSxjQUFjO3NCQUF6QyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFDakIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNzQixhQUFhO3NCQUF4QyxNQUFNO3VCQUFDLGtCQUFrQjtnQkFDSyxnQkFBZ0I7c0JBQTlDLE1BQU07dUJBQUMscUJBQXFCO2dCQUVELE9BQU87c0JBQWxDLFlBQVk7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMyBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDTFJfQkxBTktfT1BUSU9OLCBDbHJRdWlja0xpc3RWYWx1ZSB9IGZyb20gJy4vYWRkLW9wdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENsckFkZE9wdGlvbiB9IGZyb20gJy4vYWRkLW9wdGlvbic7XG5pbXBvcnQgeyBDbHJBYnN0cmFjdEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdC1mb3JtLWNvbXBvbmVudC9hYnN0cmFjdC1mb3JtLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENsYXJpdHlJY29ucywgcGx1c0NpcmNsZUljb24gfSBmcm9tICdAY2RzL2NvcmUvaWNvbic7XG5cbkNsYXJpdHlJY29ucy5hZGRJY29ucyhwbHVzQ2lyY2xlSWNvbik7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1xdWljay1saXN0JyxcbiAgaG9zdDogeyAnW2NsYXNzLnF1aWNrLWxpc3RdJzogJ3RydWUnIH0sXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWljay1saXN0Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENsclF1aWNrTGlzdCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJRdWlja0xpc3Q8VD4gZXh0ZW5kcyBDbHJBYnN0cmFjdEZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoJ2NsckJsYW5rT3B0aW9uJykgYmxhbmtPcHRpb246IENsclF1aWNrTGlzdFZhbHVlPFQ+ID0gQ0xSX0JMQU5LX09QVElPTjtcbiAgQElucHV0KCdjbHJBbGxWYWx1ZXMnKSBhbGxWYWx1ZXM6IENsclF1aWNrTGlzdFZhbHVlPFQ+W10gPSBbdGhpcy5ibGFua09wdGlvbl07XG4gIEBJbnB1dCgnY2xyTWFuZGF0b3J5JykgbWFuZGF0b3J5ID0gZmFsc2U7XG4gIEBJbnB1dCgnY2xyVmFsdWVzJykgdmFsdWVzOiBDbHJRdWlja0xpc3RWYWx1ZTxUPltdID0gW107XG4gIEBJbnB1dCgnY2xyQWRkTGFiZWwnKSBhZGRMYWJlbCA9ICdBREQnO1xuICBASW5wdXQoJ2NsckNvbnRyb2xDbGFzc2VzJykgY29udHJvbENsYXNzZXMgPSAnY2xyLWNvbC1tZC0xMCc7XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbXBhY3RNb2RlID0gZmFsc2U7XG4gIEBPdXRwdXQoJ2NsclZhbHVlc0NoYW5nZWQnKSB2YWx1ZXNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDbHJRdWlja0xpc3RWYWx1ZTxUPltdPigpO1xuICBAT3V0cHV0KCdjbHJFbXB0eU9wdGlvbkFkZGVkJykgZW1wdHlPcHRpb25BZGRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAVmlld0NoaWxkcmVuKENsckFkZE9wdGlvbikgb3B0aW9uczogUXVlcnlMaXN0PENsckFkZE9wdGlvbjxUPj47XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy52YWx1ZXMucHVzaCguLi50aGlzLmdldEVtcHR5VmFsdWVzKCkpO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IENsclF1aWNrTGlzdFZhbHVlPFQ+W10pOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlcyA9IHZhbHVlPy5sZW5ndGggPyBbLi4udmFsdWVdIDogdGhpcy5nZXRFbXB0eVZhbHVlcygpO1xuICB9XG5cbiAgZ2V0RW1wdHlWYWx1ZXMoKTogQ2xyUXVpY2tMaXN0VmFsdWU8VD5bXSB7XG4gICAgcmV0dXJuIHRoaXMubWFuZGF0b3J5ID8gW3RoaXMuYmxhbmtPcHRpb25dIDogW107XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlZCh2YWx1ZTogQ2xyUXVpY2tMaXN0VmFsdWU8VD4sIGk6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZXNbaV0gPSB2YWx1ZTtcbiAgICAgIHRoaXMuZW1pdFZhbHVlQ2hhbmdlZCgpO1xuICAgICAgdGhpcy5mb2N1c09wdGlvbih2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgb25SZW1vdmVWYWx1ZShpOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlcy5zcGxpY2UoaSwgMSk7XG4gICAgdGhpcy5lbWl0VmFsdWVDaGFuZ2VkKCk7XG4gIH1cblxuICBhZGRCbGFua09wdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaGFzQmxhbmtPcHRpb24oKSkge1xuICAgICAgdGhpcy52YWx1ZXMucHVzaCh0aGlzLmJsYW5rT3B0aW9uKTtcbiAgICAgIHRoaXMuZW1pdFZhbHVlQ2hhbmdlZCgpO1xuICAgICAgdGhpcy5lbXB0eU9wdGlvbkFkZGVkLmVtaXQoKTtcbiAgICAgIHRoaXMuZm9jdXNPcHRpb24odGhpcy5ibGFua09wdGlvbik7XG4gICAgfVxuICB9XG5cbiAgZW1pdFZhbHVlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlc0NoYW5nZWQuZW1pdCh0aGlzLnZhbHVlcyk7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlcyk7XG4gIH1cblxuICBmb2N1c09wdGlvbihvcHRpb246IENsclF1aWNrTGlzdFZhbHVlPFQ+KTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBvcHQgPSB0aGlzLm9wdGlvbnMuZmluZChvID0+IG8udmFsdWUuaWQgPT09IG9wdGlvbi5pZCk7XG4gICAgICBpZiAob3B0KSB7XG4gICAgICAgIG9wdC5mb2N1c0NvbXBvbmVudCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgaGFzQmxhbmtPcHRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLm1hcCh2YWwgPT4gdmFsLmlkKS5pbmNsdWRlcyh0aGlzLmJsYW5rT3B0aW9uLmlkKTtcbiAgfVxuXG4gIGFkZE5vdFBvc3NpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhc0JsYW5rT3B0aW9uKCkgfHwgdGhpcy52YWx1ZXMubGVuZ3RoID09PSB0aGlzLmFsbFZhbHVlcy5sZW5ndGg7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImxhYmVsXCI+PC9uZy1jb250ZW50PlxuPGRpdiBjbGFzcz1cImNsci1jb250cm9sLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cImNvbnRyb2xDbGFzc2VzXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHZhbHVlIG9mIHZhbHVlczsgaW5kZXggYXMgaVwiPlxuICAgIDxjbHItYWRkLW9wdGlvblxuICAgICAgW2FsbFZhbHVlc109XCJhbGxWYWx1ZXNcIlxuICAgICAgW2V4Y2x1ZGVkVmFsdWVzXT1cInZhbHVlc1wiXG4gICAgICAocmVtb3ZlKT1cIm9uUmVtb3ZlVmFsdWUoaSlcIlxuICAgICAgKGFkZCk9XCJhZGRCbGFua09wdGlvbigpXCJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAodmFsdWVDaGFuZ2VkKT1cIm9uVmFsdWVDaGFuZ2VkKCRldmVudCwgaSlcIlxuICAgICAgW2JsYW5rT3B0aW9uXT1cImJsYW5rT3B0aW9uXCJcbiAgICAgIFttYW5kYXRvcnldPVwibWFuZGF0b3J5XCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW2Rpc2FibGVBZGRCdXR0b25dPVwiYWRkTm90UG9zc2libGUoKSB8fCBkaXNhYmxlZFwiXG4gICAgICBbc2hvd0FkZEJ1dHRvbl09XCJjb21wYWN0TW9kZSAmJiBpID09PSB2YWx1ZXMubGVuZ3RoIC0gMVwiXG4gICAgPlxuICAgIDwvY2xyLWFkZC1vcHRpb24+XG4gIDwvbmctY29udGFpbmVyPlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCIhKHJlYWRvbmx5IHx8IHJlYWRvbmx5ID09PSAnJykgJiYgdmFsdWVzLmxlbmd0aCA9PT0gMCAmJiBjb21wYWN0TW9kZVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJidG4gYnRuLWljb24gYnRuLWxpbmsgcXVpY2stbGlzdC1hZGRjb21wYWN0XCJcbiAgICAoY2xpY2spPVwiYWRkQmxhbmtPcHRpb24oKVwiXG4gICAgW2Rpc2FibGVkXT1cImFkZE5vdFBvc3NpYmxlKCkgfHwgZGlzYWJsZWRcIlxuICA+XG4gICAgPGNkcy1pY29uIHNoYXBlPVwicGx1cy1jaXJjbGVcIj48L2Nkcy1pY29uPlxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwiIShyZWFkb25seSB8fCByZWFkb25seSA9PT0gJycpICYmICFjb21wYWN0TW9kZVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgYnRuLXNtIHF1aWNrLWxpc3QtYWRkXCJcbiAgICAoY2xpY2spPVwiYWRkQmxhbmtPcHRpb24oKVwiXG4gICAgW2Rpc2FibGVkXT1cImFkZE5vdFBvc3NpYmxlKCkgfHwgZGlzYWJsZWRcIlxuICA+XG4gICAge3thZGRMYWJlbH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=