@seniorsistemas/data-seniorx-core 2.3.0 → 3.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 (262) hide show
  1. package/core/constants/autocomplete.const.d.ts +4 -0
  2. package/core/constants/context-selector.const.d.ts +1 -0
  3. package/core/constants/gantt.const.d.ts +7 -0
  4. package/core/constants/hyperlink.const.d.ts +1 -0
  5. package/core/constants/inline-edit.const.d.ts +4 -0
  6. package/core/constants/kanban.const.d.ts +2 -0
  7. package/core/constants/pin-code-field.const.d.ts +5 -0
  8. package/core/constants/rating-scale.const.d.ts +1 -0
  9. package/core/constants/spotlight.const.d.ts +8 -0
  10. package/core/constants/star-rating.const.d.ts +4 -0
  11. package/core/constants/stepper.const.d.ts +1 -0
  12. package/core/constants/tiered-menu.const.d.ts +3 -0
  13. package/core/types/autocomplete.type.d.ts +9 -0
  14. package/core/types/chat.type.d.ts +12 -0
  15. package/core/types/checkbox-list.type.d.ts +12 -0
  16. package/core/types/gantt.type.d.ts +22 -0
  17. package/core/types/grid-menu.type.d.ts +13 -0
  18. package/core/types/hyperlink.type.d.ts +1 -0
  19. package/core/types/image-cropper.type.d.ts +20 -0
  20. package/core/types/inline-edit.type.d.ts +26 -0
  21. package/core/types/kanban.type.d.ts +36 -0
  22. package/core/types/panel.type.d.ts +16 -0
  23. package/core/types/profile-picture-picker.type.d.ts +9 -0
  24. package/core/types/rating-scale.type.d.ts +5 -0
  25. package/core/types/select-button.type.d.ts +1 -0
  26. package/core/types/spotlight.type.d.ts +34 -0
  27. package/core/types/star-rating.type.d.ts +1 -0
  28. package/core/types/stepper.type.d.ts +20 -0
  29. package/core/types/table-column.type.d.ts +3 -1
  30. package/core/types/table-options.type.d.ts +8 -2
  31. package/core/types/table.type.d.ts +1 -1
  32. package/core/types/tiered-menu.type.d.ts +16 -0
  33. package/core/types/tree.type.d.ts +25 -0
  34. package/core/types/workspace-switch.type.d.ts +6 -0
  35. package/core/utils/body-scroll.util.d.ts +2 -0
  36. package/core/utils/roving-focus.util.d.ts +2 -0
  37. package/core/utils/selection.util.d.ts +3 -0
  38. package/core/utils/tree.util.d.ts +4 -0
  39. package/esm2022/core/constants/autocomplete.const.mjs +5 -0
  40. package/esm2022/core/constants/context-selector.const.mjs +2 -0
  41. package/esm2022/core/constants/gantt.const.mjs +7 -0
  42. package/esm2022/core/constants/hyperlink.const.mjs +2 -1
  43. package/esm2022/core/constants/inline-edit.const.mjs +5 -0
  44. package/esm2022/core/constants/kanban.const.mjs +3 -0
  45. package/esm2022/core/constants/pin-code-field.const.mjs +6 -0
  46. package/esm2022/core/constants/rating-scale.const.mjs +2 -0
  47. package/esm2022/core/constants/spotlight.const.mjs +9 -0
  48. package/esm2022/core/constants/star-rating.const.mjs +5 -0
  49. package/esm2022/core/constants/stepper.const.mjs +2 -0
  50. package/esm2022/core/constants/table.const.mjs +2 -2
  51. package/esm2022/core/constants/tiered-menu.const.mjs +4 -0
  52. package/esm2022/core/types/autocomplete.type.mjs +2 -0
  53. package/esm2022/core/types/chat.type.mjs +2 -0
  54. package/esm2022/core/types/checkbox-list.type.mjs +2 -0
  55. package/esm2022/core/types/gantt.type.mjs +2 -0
  56. package/esm2022/core/types/grid-menu.type.mjs +2 -0
  57. package/esm2022/core/types/hyperlink.type.mjs +1 -1
  58. package/esm2022/core/types/image-cropper.type.mjs +2 -0
  59. package/esm2022/core/types/inline-edit.type.mjs +2 -0
  60. package/esm2022/core/types/kanban.type.mjs +2 -0
  61. package/esm2022/core/types/panel.type.mjs +9 -0
  62. package/esm2022/core/types/profile-picture-picker.type.mjs +2 -0
  63. package/esm2022/core/types/rating-scale.type.mjs +2 -0
  64. package/esm2022/core/types/select-button.type.mjs +1 -1
  65. package/esm2022/core/types/spotlight.type.mjs +2 -0
  66. package/esm2022/core/types/star-rating.type.mjs +2 -0
  67. package/esm2022/core/types/stepper.type.mjs +7 -0
  68. package/esm2022/core/types/table-column.type.mjs +1 -1
  69. package/esm2022/core/types/table-options.type.mjs +1 -1
  70. package/esm2022/core/types/table.type.mjs +1 -1
  71. package/esm2022/core/types/tiered-menu.type.mjs +2 -0
  72. package/esm2022/core/types/tree.type.mjs +2 -0
  73. package/esm2022/core/types/workspace-switch.type.mjs +2 -0
  74. package/esm2022/core/utils/body-scroll.util.mjs +19 -0
  75. package/esm2022/core/utils/combobox.util.mjs +3 -2
  76. package/esm2022/core/utils/roving-focus.util.mjs +20 -0
  77. package/esm2022/core/utils/selection.util.mjs +13 -0
  78. package/esm2022/core/utils/string.util.mjs +8 -3
  79. package/esm2022/core/utils/tree.util.mjs +23 -0
  80. package/esm2022/features/accordion/accordion.component.mjs +2 -2
  81. package/esm2022/features/accordion/{accordion-item.component.mjs → components/accordion-item/accordion-item.component.mjs} +7 -7
  82. package/esm2022/features/autocomplete/autocomplete.component.mjs +501 -0
  83. package/esm2022/features/autocomplete/components/autocomplete-chip/autocomplete-chip.component.mjs +30 -0
  84. package/esm2022/features/breadcrumb/breadcrumb.component.mjs +2 -2
  85. package/esm2022/features/card-list/card/card.component.mjs +63 -99
  86. package/esm2022/features/chat/chat.component.mjs +126 -0
  87. package/esm2022/features/checkbox-list/checkbox-list.component.mjs +125 -0
  88. package/esm2022/features/combobox/combobox.component.mjs +20 -8
  89. package/esm2022/features/context-selector/context-selector.component.mjs +198 -0
  90. package/esm2022/features/filters/filters.component.mjs +1 -1
  91. package/esm2022/features/gantt/components/gantt-side-table/gantt-side-table.component.mjs +17 -0
  92. package/esm2022/features/gantt/gantt-date.utils.mjs +97 -0
  93. package/esm2022/features/gantt/gantt.component.mjs +89 -0
  94. package/esm2022/features/gantt/gantt.engine.mjs +662 -0
  95. package/esm2022/features/grid-menu/grid-menu.component.mjs +104 -0
  96. package/esm2022/features/hyperlink/hyperlink.component.mjs +7 -4
  97. package/esm2022/features/icon-picker/icon-picker.component.mjs +3 -3
  98. package/esm2022/features/image-cropper/image-cropper.component.mjs +218 -0
  99. package/esm2022/features/image-cropper/services/image-cropper.service.mjs +50 -0
  100. package/esm2022/features/infinite-scroll/infinite-scroll.directive.mjs +89 -0
  101. package/esm2022/features/info-sign/info-sign.component.mjs +3 -3
  102. package/esm2022/features/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +38 -0
  103. package/esm2022/features/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.mjs +29 -0
  104. package/esm2022/features/inline-edit/components/fields/inline-edit-textarea/inline-edit-textarea.component.mjs +29 -0
  105. package/esm2022/features/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +131 -0
  106. package/esm2022/features/inline-edit/fields/inline-edit-field.mjs +17 -0
  107. package/esm2022/features/inline-edit/fields/inline-edit-number-field.mjs +15 -0
  108. package/esm2022/features/inline-edit/fields/inline-edit-text-field.mjs +11 -0
  109. package/esm2022/features/inline-edit/fields/inline-edit-textarea-field.mjs +15 -0
  110. package/esm2022/features/inline-edit/inline-edit.component.mjs +27 -0
  111. package/esm2022/features/interactive-content/interactive-content.directive.mjs +140 -0
  112. package/esm2022/features/kanban/components/kanban-column/kanban-column.component.mjs +88 -0
  113. package/esm2022/features/kanban/components/kanban-item/kanban-item.component.mjs +72 -0
  114. package/esm2022/features/kanban/components/kanban-item-dragging/kanban-item-dragging.component.mjs +19 -0
  115. package/esm2022/features/kanban/directives/kanban-template.directive.mjs +22 -0
  116. package/esm2022/features/kanban/kanban.component.mjs +198 -0
  117. package/esm2022/features/kanban/services/kanban-event.service.mjs +27 -0
  118. package/esm2022/features/loading-state/loading-state.component.mjs +3 -62
  119. package/esm2022/features/mouse-events/directives/double-click.directive.mjs +34 -0
  120. package/esm2022/features/mouse-events/directives/long-press.directive.mjs +61 -0
  121. package/esm2022/features/paginator/paginator.component.mjs +8 -3
  122. package/esm2022/features/panel/panel.component.mjs +43 -11
  123. package/esm2022/features/pin-code-field/pin-code-field.component.mjs +234 -0
  124. package/esm2022/features/profile-picture-picker/profile-picture-picker.component.mjs +330 -0
  125. package/esm2022/features/rating-scale/rating-scale.component.mjs +86 -0
  126. package/esm2022/features/row-card-list/row-card/row-card.component.mjs +3 -3
  127. package/esm2022/features/scaffold/scaffold.component.mjs +4 -6
  128. package/esm2022/features/select-button/select-button.component.mjs +7 -4
  129. package/esm2022/features/speech-recognition/services/speech-recognition.service.mjs +148 -0
  130. package/esm2022/features/speech-recognition/services/text-to-speech.service.mjs +88 -0
  131. package/esm2022/features/speech-recognition/speech-recognition.component.mjs +243 -0
  132. package/esm2022/features/spotlight/components/spotlight-overlay/spotlight-overlay.component.mjs +521 -0
  133. package/esm2022/features/spotlight/directives/spotlight-step.directive.mjs +38 -0
  134. package/esm2022/features/spotlight/services/spotlight-tour.service.mjs +179 -0
  135. package/esm2022/features/spotlight/spotlight.component.mjs +160 -0
  136. package/esm2022/features/star-rating/star-rating.component.mjs +95 -0
  137. package/esm2022/features/stepper/stepper.component.mjs +86 -0
  138. package/esm2022/features/switch/switch.component.mjs +12 -8
  139. package/esm2022/features/tab/{tab-item.component.mjs → components/tab-item/tab-item.component.mjs} +1 -1
  140. package/esm2022/features/tab/tab.component.mjs +4 -4
  141. package/esm2022/features/table/components/table-cell-content.component.mjs +14 -5
  142. package/esm2022/features/table/table.component.mjs +220 -29
  143. package/esm2022/features/table/utils/table-data.util.mjs +71 -8
  144. package/esm2022/features/table/utils/table-layout.util.mjs +21 -1
  145. package/esm2022/features/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +367 -0
  146. package/esm2022/features/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.mjs +11 -0
  147. package/esm2022/features/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +97 -0
  148. package/esm2022/features/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +181 -0
  149. package/esm2022/features/tiered-menu/directives/tiered-menu.directive.mjs +246 -0
  150. package/esm2022/features/tiered-menu/services/tiered-menu.event.service.mjs +16 -0
  151. package/esm2022/features/tiered-menu/services/tiered-menu.global.service.mjs +12 -0
  152. package/esm2022/features/tiered-menu/services/tiered-menu.service.mjs +49 -0
  153. package/esm2022/features/tree/components/tree-node-item/tree-node-item.component.mjs +169 -0
  154. package/esm2022/features/tree/tree.component.mjs +211 -0
  155. package/esm2022/features/visual-sql-editor/components/visual-sql-editor-field-modal/visual-sql-editor-field-modal.component.mjs +41 -0
  156. package/esm2022/features/visual-sql-editor/components/visual-sql-editor-filter-modal/visual-sql-editor-filter-modal.component.mjs +38 -0
  157. package/esm2022/features/visual-sql-editor/components/visual-sql-editor-join-modal/visual-sql-editor-join-modal.component.mjs +29 -0
  158. package/esm2022/features/visual-sql-editor/components/visual-sql-editor-sort-modal/visual-sql-editor-sort-modal.component.mjs +29 -0
  159. package/esm2022/features/visual-sql-editor/components/visual-sql-editor-source-modal/visual-sql-editor-source-modal.component.mjs +35 -0
  160. package/esm2022/features/visual-sql-editor/services/visual-sql-editor-flow.service.mjs +106 -0
  161. package/esm2022/features/visual-sql-editor/services/visual-sql-editor-state.service.mjs +230 -0
  162. package/esm2022/features/visual-sql-editor/types/visual-sql-editor.types.mjs +2 -0
  163. package/esm2022/features/visual-sql-editor/utils/visual-sql-editor-sanitize.util.mjs +72 -0
  164. package/esm2022/features/visual-sql-editor/utils/visual-sql-editor-sql.util.mjs +281 -0
  165. package/esm2022/features/visual-sql-editor/utils/visual-sql-editor-text.util.mjs +37 -0
  166. package/esm2022/features/visual-sql-editor/utils/visual-sql-editor.constants.mjs +89 -0
  167. package/esm2022/features/visual-sql-editor/visual-sql-editor.component.mjs +172 -630
  168. package/esm2022/locales/en.json +351 -3
  169. package/esm2022/locales/es-CO.json +351 -3
  170. package/esm2022/locales/pt.json +351 -3
  171. package/esm2022/providers/features.provider.mjs +40 -4
  172. package/esm2022/public-api.mjs +56 -3
  173. package/features/accordion/accordion.component.d.ts +1 -1
  174. package/features/accordion/{accordion-item.component.d.ts → components/accordion-item/accordion-item.component.d.ts} +1 -1
  175. package/features/autocomplete/autocomplete.component.d.ts +102 -0
  176. package/features/autocomplete/components/autocomplete-chip/autocomplete-chip.component.d.ts +11 -0
  177. package/features/card-list/card/card.component.d.ts +14 -34
  178. package/features/chat/chat.component.d.ts +31 -0
  179. package/features/checkbox-list/checkbox-list.component.d.ts +26 -0
  180. package/features/combobox/combobox.component.d.ts +2 -1
  181. package/features/context-selector/context-selector.component.d.ts +37 -0
  182. package/features/gantt/components/gantt-side-table/gantt-side-table.component.d.ts +8 -0
  183. package/features/gantt/gantt-date.utils.d.ts +36 -0
  184. package/features/gantt/gantt.component.d.ts +24 -0
  185. package/features/gantt/gantt.engine.d.ts +52 -0
  186. package/features/grid-menu/grid-menu.component.d.ts +29 -0
  187. package/features/hyperlink/hyperlink.component.d.ts +2 -1
  188. package/features/image-cropper/image-cropper.component.d.ts +43 -0
  189. package/features/image-cropper/services/image-cropper.service.d.ts +13 -0
  190. package/features/infinite-scroll/infinite-scroll.directive.d.ts +25 -0
  191. package/features/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.d.ts +13 -0
  192. package/features/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.d.ts +13 -0
  193. package/features/inline-edit/components/fields/inline-edit-textarea/inline-edit-textarea.component.d.ts +13 -0
  194. package/features/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +37 -0
  195. package/features/inline-edit/fields/inline-edit-field.d.ts +12 -0
  196. package/features/inline-edit/fields/inline-edit-number-field.d.ts +9 -0
  197. package/features/inline-edit/fields/inline-edit-text-field.d.ts +7 -0
  198. package/features/inline-edit/fields/inline-edit-textarea-field.d.ts +9 -0
  199. package/features/inline-edit/inline-edit.component.d.ts +13 -0
  200. package/features/interactive-content/interactive-content.directive.d.ts +31 -0
  201. package/features/kanban/components/kanban-column/kanban-column.component.d.ts +22 -0
  202. package/features/kanban/components/kanban-item/kanban-item.component.d.ts +23 -0
  203. package/features/kanban/components/kanban-item-dragging/kanban-item-dragging.component.d.ts +8 -0
  204. package/features/kanban/directives/kanban-template.directive.d.ts +10 -0
  205. package/features/kanban/kanban.component.d.ts +32 -0
  206. package/features/kanban/services/kanban-event.service.d.ts +15 -0
  207. package/features/loading-state/loading-state.component.d.ts +0 -2
  208. package/features/mouse-events/directives/double-click.directive.d.ts +11 -0
  209. package/features/mouse-events/directives/long-press.directive.d.ts +14 -0
  210. package/features/panel/panel.component.d.ts +12 -3
  211. package/features/pin-code-field/pin-code-field.component.d.ts +44 -0
  212. package/features/profile-picture-picker/profile-picture-picker.component.d.ts +77 -0
  213. package/features/rating-scale/rating-scale.component.d.ts +24 -0
  214. package/features/select-button/select-button.component.d.ts +2 -1
  215. package/features/speech-recognition/services/speech-recognition.service.d.ts +29 -0
  216. package/features/speech-recognition/services/text-to-speech.service.d.ts +24 -0
  217. package/features/speech-recognition/speech-recognition.component.d.ts +50 -0
  218. package/features/spotlight/components/spotlight-overlay/spotlight-overlay.component.d.ts +59 -0
  219. package/features/spotlight/directives/spotlight-step.directive.d.ts +13 -0
  220. package/features/spotlight/services/spotlight-tour.service.d.ts +46 -0
  221. package/features/spotlight/spotlight.component.d.ts +59 -0
  222. package/features/star-rating/star-rating.component.d.ts +26 -0
  223. package/features/stepper/stepper.component.d.ts +23 -0
  224. package/features/switch/switch.component.d.ts +2 -1
  225. package/features/tab/tab.component.d.ts +1 -1
  226. package/features/table/components/table-cell-content.component.d.ts +4 -3
  227. package/features/table/table.component.d.ts +40 -5
  228. package/features/table/utils/table-data.util.d.ts +1 -0
  229. package/features/table/utils/table-layout.util.d.ts +1 -0
  230. package/features/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +49 -0
  231. package/features/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.d.ts +5 -0
  232. package/features/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +19 -0
  233. package/features/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +26 -0
  234. package/features/tiered-menu/directives/tiered-menu.directive.d.ts +44 -0
  235. package/features/tiered-menu/services/tiered-menu.event.service.d.ts +13 -0
  236. package/features/tiered-menu/services/tiered-menu.global.service.d.ts +7 -0
  237. package/features/tiered-menu/services/tiered-menu.service.d.ts +14 -0
  238. package/features/tree/components/tree-node-item/tree-node-item.component.d.ts +37 -0
  239. package/features/tree/tree.component.d.ts +37 -0
  240. package/features/visual-sql-editor/components/visual-sql-editor-field-modal/visual-sql-editor-field-modal.component.d.ts +18 -0
  241. package/features/visual-sql-editor/components/visual-sql-editor-filter-modal/visual-sql-editor-filter-modal.component.d.ts +17 -0
  242. package/features/visual-sql-editor/components/visual-sql-editor-join-modal/visual-sql-editor-join-modal.component.d.ts +13 -0
  243. package/features/visual-sql-editor/components/visual-sql-editor-sort-modal/visual-sql-editor-sort-modal.component.d.ts +13 -0
  244. package/features/visual-sql-editor/components/visual-sql-editor-source-modal/visual-sql-editor-source-modal.component.d.ts +15 -0
  245. package/features/visual-sql-editor/services/visual-sql-editor-flow.service.d.ts +26 -0
  246. package/features/visual-sql-editor/services/visual-sql-editor-state.service.d.ts +72 -0
  247. package/features/visual-sql-editor/types/visual-sql-editor.types.d.ts +182 -0
  248. package/features/visual-sql-editor/utils/visual-sql-editor-sanitize.util.d.ts +14 -0
  249. package/features/visual-sql-editor/utils/visual-sql-editor-sql.util.d.ts +81 -0
  250. package/features/visual-sql-editor/utils/visual-sql-editor-text.util.d.ts +15 -0
  251. package/features/visual-sql-editor/utils/visual-sql-editor.constants.d.ts +36 -0
  252. package/features/visual-sql-editor/visual-sql-editor.component.d.ts +37 -199
  253. package/fesm2022/seniorsistemas-data-seniorx-core.mjs +14883 -6353
  254. package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
  255. package/package.json +8 -8
  256. package/public-api.d.ts +72 -2
  257. package/src/locales/en.json +353 -15
  258. package/src/locales/es-CO.json +352 -14
  259. package/src/locales/pt.json +352 -14
  260. package/styles/sdc-global-variables.scss +1 -1
  261. package/styles.css +1 -1
  262. /package/features/tab/{tab-item.component.d.ts → components/tab-item/tab-item.component.d.ts} +0 -0
@@ -0,0 +1,218 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, inject } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { TranslateModule } from '@ngx-translate/core';
4
+ import { ButtonComponent } from '../button/button.component';
5
+ import { EmptyStateComponent } from '../empty-state/empty-state.component';
6
+ import { ModalComponent } from '../modal/modal.component';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@ngx-translate/core";
9
+ // Image cropper constants
10
+ const DEFAULT_OUTPUT_WIDTH = 400;
11
+ const JPEG_QUALITY = 0.9;
12
+ const CIRCLE_FULL_ANGLE = Math.PI * 2;
13
+ const HALF_DIVISOR = 2;
14
+ export class ImageCropperComponent {
15
+ imageEl;
16
+ visible = false;
17
+ imageSource = undefined;
18
+ header = 'platform.datacore.image_cropper.header';
19
+ cropLabel = 'platform.datacore.image_cropper.crop';
20
+ cancelLabel = 'platform.datacore.image_cropper.cancel';
21
+ removeLabel = 'platform.datacore.image_cropper.remove';
22
+ selectAnotherLabel = 'platform.datacore.image_cropper.select_another';
23
+ emptyStateTitle = 'platform.datacore.image_cropper.empty_state_title';
24
+ emptyStateActionLabel = 'platform.datacore.image_cropper.empty_state_action';
25
+ aspectRatio = NaN;
26
+ rounded = false;
27
+ allowSelectAnother = true;
28
+ allowRemove = true;
29
+ allowCancel = true;
30
+ visibleChange = new EventEmitter();
31
+ croppedImage = new EventEmitter();
32
+ croppedCanvas = new EventEmitter();
33
+ changeImage = new EventEmitter();
34
+ removedImage = new EventEmitter();
35
+ cancel = new EventEmitter();
36
+ cdr = inject(ChangeDetectorRef);
37
+ get hasImage() {
38
+ return !!this.imageSource;
39
+ }
40
+ get outputWidth() {
41
+ return DEFAULT_OUTPUT_WIDTH;
42
+ }
43
+ get outputHeight() {
44
+ if (isNaN(this.aspectRatio) || this.aspectRatio <= 0) {
45
+ return DEFAULT_OUTPUT_WIDTH;
46
+ }
47
+ return Math.round(this.outputWidth / this.aspectRatio);
48
+ }
49
+ onModalVisibleChange(value) {
50
+ this.visible = value;
51
+ this.visibleChange.emit(value);
52
+ this.cdr.markForCheck();
53
+ }
54
+ onCropImage() {
55
+ const img = this.imageEl?.nativeElement;
56
+ if (!img) {
57
+ this.closeModal();
58
+ return;
59
+ }
60
+ const canvas = document.createElement('canvas');
61
+ canvas.width = this.outputWidth;
62
+ canvas.height = this.outputHeight;
63
+ const ctx = canvas.getContext('2d');
64
+ if (!ctx) {
65
+ this.closeModal();
66
+ return;
67
+ }
68
+ if (this.rounded) {
69
+ ctx.beginPath();
70
+ ctx.arc(canvas.width / HALF_DIVISOR, canvas.height / HALF_DIVISOR, Math.min(canvas.width, canvas.height) / HALF_DIVISOR, 0, CIRCLE_FULL_ANGLE);
71
+ ctx.clip();
72
+ }
73
+ const scaleX = img.naturalWidth / (img.offsetWidth || img.naturalWidth);
74
+ const scaleY = img.naturalHeight / (img.offsetHeight || img.naturalHeight);
75
+ ctx.drawImage(img, 0, 0, img.offsetWidth * scaleX, img.offsetHeight * scaleY, 0, 0, canvas.width, canvas.height);
76
+ const base64 = canvas.toDataURL('image/jpeg', JPEG_QUALITY);
77
+ this.croppedImage.emit(base64);
78
+ this.croppedCanvas.emit(canvas);
79
+ this.closeModal();
80
+ }
81
+ onCancel() {
82
+ this.cancel.emit();
83
+ this.closeModal();
84
+ }
85
+ onRemove() {
86
+ this.removedImage.emit();
87
+ this.closeModal();
88
+ }
89
+ onSelectAnother() {
90
+ this.changeImage.emit();
91
+ }
92
+ onEmptyStateAction() {
93
+ this.changeImage.emit();
94
+ }
95
+ applyConfig(config) {
96
+ this.applyConfigProperties(config);
97
+ this.applyConfigEventListeners(config);
98
+ this.cdr.markForCheck();
99
+ }
100
+ applyConfigProperties(config) {
101
+ this.assignIfDefined(config.imageSource, (value) => {
102
+ this.imageSource = value;
103
+ });
104
+ this.assignIfDefined(config.header, (value) => {
105
+ this.header = value;
106
+ });
107
+ this.assignIfDefined(config.cropLabel, (value) => {
108
+ this.cropLabel = value;
109
+ });
110
+ this.assignIfDefined(config.cancelLabel, (value) => {
111
+ this.cancelLabel = value;
112
+ });
113
+ this.assignIfDefined(config.removeLabel, (value) => {
114
+ this.removeLabel = value;
115
+ });
116
+ this.assignIfDefined(config.selectAnotherLabel, (value) => {
117
+ this.selectAnotherLabel = value;
118
+ });
119
+ this.assignIfDefined(config.emptyStateTitle, (value) => {
120
+ this.emptyStateTitle = value;
121
+ });
122
+ this.assignIfDefined(config.emptyStateActionLabel, (value) => {
123
+ this.emptyStateActionLabel = value;
124
+ });
125
+ this.assignIfDefined(config.aspectRatio, (value) => {
126
+ this.aspectRatio = value;
127
+ });
128
+ this.assignIfDefined(config.rounded, (value) => {
129
+ this.rounded = value;
130
+ });
131
+ this.assignIfDefined(config.allowSelectAnother, (value) => {
132
+ this.allowSelectAnother = value;
133
+ });
134
+ this.assignIfDefined(config.allowRemove, (value) => {
135
+ this.allowRemove = value;
136
+ });
137
+ this.assignIfDefined(config.allowCancel, (value) => {
138
+ this.allowCancel = value;
139
+ });
140
+ }
141
+ assignIfDefined(value, setter) {
142
+ if (value !== undefined) {
143
+ setter(value);
144
+ }
145
+ }
146
+ applyConfigEventListeners(config) {
147
+ if (config.croppedImage) {
148
+ this.croppedImage.subscribe(config.croppedImage);
149
+ }
150
+ if (config.croppedCanvas) {
151
+ this.croppedCanvas.subscribe(config.croppedCanvas);
152
+ }
153
+ if (config.changeImage) {
154
+ this.changeImage.subscribe(config.changeImage);
155
+ }
156
+ if (config.removedImage) {
157
+ this.removedImage.subscribe(config.removedImage);
158
+ }
159
+ if (config.cancel) {
160
+ this.cancel.subscribe(config.cancel);
161
+ }
162
+ }
163
+ closeModal() {
164
+ this.visible = false;
165
+ this.visibleChange.emit(false);
166
+ this.cdr.markForCheck();
167
+ }
168
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ImageCropperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
169
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ImageCropperComponent, isStandalone: true, selector: "sdc-image-cropper", inputs: { visible: "visible", imageSource: "imageSource", header: "header", cropLabel: "cropLabel", cancelLabel: "cancelLabel", removeLabel: "removeLabel", selectAnotherLabel: "selectAnotherLabel", emptyStateTitle: "emptyStateTitle", emptyStateActionLabel: "emptyStateActionLabel", aspectRatio: "aspectRatio", rounded: "rounded", allowSelectAnother: "allowSelectAnother", allowRemove: "allowRemove", allowCancel: "allowCancel" }, outputs: { visibleChange: "visibleChange", croppedImage: "croppedImage", croppedCanvas: "croppedCanvas", changeImage: "changeImage", removedImage: "removedImage", cancel: "cancel" }, viewQueries: [{ propertyName: "imageEl", first: true, predicate: ["imageEl"], descendants: true }], ngImport: i0, template: "<sdc-modal\n [visible]=\"visible\"\n (visibleChange)=\"onModalVisibleChange($event)\"\n [header]=\"header\"\n [closable]=\"true\"\n [responsive]=\"true\"\n width=\"600px\"\n styleClass=\"sdc-image-cropper-modal\"\n>\n <div class=\"sdc-image-cropper\">\n @if (hasImage) {\n <div class=\"sdc-image-cropper__image-container\">\n <img\n #imageEl\n class=\"sdc-image-cropper__image\"\n [class.sdc-image-cropper__image--rounded]=\"rounded\"\n [src]=\"imageSource\"\n [attr.width]=\"outputWidth\"\n [attr.height]=\"outputHeight\"\n alt=\"\"\n aria-hidden=\"true\"\n />\n </div>\n } @else {\n <div class=\"sdc-image-cropper__empty\">\n <sdc-empty-state\n [title]=\"emptyStateTitle\"\n [primaryActionLabel]=\"emptyStateActionLabel\"\n [showPrimaryAction]=\"true\"\n [showSecondaryAction]=\"false\"\n (primaryAction)=\"onEmptyStateAction()\"\n ></sdc-empty-state>\n </div>\n }\n\n <div class=\"sdc-image-cropper__footer\">\n <div class=\"sdc-image-cropper__actions sdc-image-cropper__actions--left\">\n @if (allowSelectAnother && hasImage) {\n <sdc-button\n id=\"image-cropper-select-another\"\n [label]=\"selectAnotherLabel | translate\"\n priority=\"link\"\n (clicked)=\"onSelectAnother()\"\n ></sdc-button>\n }\n\n @if (allowRemove && hasImage) {\n <sdc-button\n id=\"image-cropper-remove\"\n [label]=\"removeLabel | translate\"\n priority=\"danger\"\n (clicked)=\"onRemove()\"\n ></sdc-button>\n }\n </div>\n\n <div class=\"sdc-image-cropper__actions sdc-image-cropper__actions--right\">\n @if (allowCancel) {\n <sdc-button\n id=\"image-cropper-cancel\"\n [label]=\"cancelLabel | translate\"\n priority=\"secondary\"\n (clicked)=\"onCancel()\"\n ></sdc-button>\n }\n\n @if (hasImage) {\n <sdc-button\n id=\"image-cropper-crop\"\n [label]=\"cropLabel | translate\"\n priority=\"primary\"\n (clicked)=\"onCropImage()\"\n ></sdc-button>\n }\n </div>\n </div>\n </div>\n</sdc-modal>\n", styles: [":host{display:block}.sdc-image-cropper{--sdc-image-cropper-bg: #000;--sdc-image-cropper-btn-gap: .5rem;--sdc-image-cropper-image-max-height: 60vh;--sdc-image-cropper-footer-padding: 1rem 0 0}.sdc-image-cropper__image-container{display:flex;justify-content:center;align-items:center;background-color:var(--sdc-image-cropper-bg);border-radius:4px;overflow:hidden;min-height:200px}.sdc-image-cropper__image{max-width:100%;max-height:var(--sdc-image-cropper-image-max-height);object-fit:contain;display:block}.sdc-image-cropper__image--rounded{border-radius:50%}.sdc-image-cropper__empty{display:flex;justify-content:center;align-items:center;min-height:200px;padding:2rem}.sdc-image-cropper__footer{display:flex;justify-content:space-between;align-items:center;padding:var(--sdc-image-cropper-footer-padding);flex-wrap:wrap;gap:var(--sdc-image-cropper-btn-gap)}.sdc-image-cropper__actions{display:flex;gap:var(--sdc-image-cropper-btn-gap);align-items:center}.sdc-image-cropper__actions--left{flex:1}.sdc-image-cropper__actions--right{display:flex;gap:var(--sdc-image-cropper-btn-gap)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "ariaLabel", "disabled", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "menuContext", "model"], outputs: ["clicked"] }, { kind: "component", type: EmptyStateComponent, selector: "sdc-empty-state", inputs: ["id", "title", "variant", "titleParams", "iconClass", "description", "descriptionParams", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "primaryActionLabelParams", "secondaryActionLabel", "secondaryActionLabelParams", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }, { kind: "component", type: ModalComponent, selector: "sdc-modal", inputs: ["footerButtons", "header", "height", "maximizable", "maximize", "resizable", "responsive", "width", "zIndex", "closable", "styleClass", "appendToBody", "visible"], outputs: ["hidden", "visibleChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
170
+ }
171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ImageCropperComponent, decorators: [{
172
+ type: Component,
173
+ args: [{ selector: 'sdc-image-cropper', standalone: true, imports: [CommonModule, TranslateModule, ButtonComponent, EmptyStateComponent, ModalComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<sdc-modal\n [visible]=\"visible\"\n (visibleChange)=\"onModalVisibleChange($event)\"\n [header]=\"header\"\n [closable]=\"true\"\n [responsive]=\"true\"\n width=\"600px\"\n styleClass=\"sdc-image-cropper-modal\"\n>\n <div class=\"sdc-image-cropper\">\n @if (hasImage) {\n <div class=\"sdc-image-cropper__image-container\">\n <img\n #imageEl\n class=\"sdc-image-cropper__image\"\n [class.sdc-image-cropper__image--rounded]=\"rounded\"\n [src]=\"imageSource\"\n [attr.width]=\"outputWidth\"\n [attr.height]=\"outputHeight\"\n alt=\"\"\n aria-hidden=\"true\"\n />\n </div>\n } @else {\n <div class=\"sdc-image-cropper__empty\">\n <sdc-empty-state\n [title]=\"emptyStateTitle\"\n [primaryActionLabel]=\"emptyStateActionLabel\"\n [showPrimaryAction]=\"true\"\n [showSecondaryAction]=\"false\"\n (primaryAction)=\"onEmptyStateAction()\"\n ></sdc-empty-state>\n </div>\n }\n\n <div class=\"sdc-image-cropper__footer\">\n <div class=\"sdc-image-cropper__actions sdc-image-cropper__actions--left\">\n @if (allowSelectAnother && hasImage) {\n <sdc-button\n id=\"image-cropper-select-another\"\n [label]=\"selectAnotherLabel | translate\"\n priority=\"link\"\n (clicked)=\"onSelectAnother()\"\n ></sdc-button>\n }\n\n @if (allowRemove && hasImage) {\n <sdc-button\n id=\"image-cropper-remove\"\n [label]=\"removeLabel | translate\"\n priority=\"danger\"\n (clicked)=\"onRemove()\"\n ></sdc-button>\n }\n </div>\n\n <div class=\"sdc-image-cropper__actions sdc-image-cropper__actions--right\">\n @if (allowCancel) {\n <sdc-button\n id=\"image-cropper-cancel\"\n [label]=\"cancelLabel | translate\"\n priority=\"secondary\"\n (clicked)=\"onCancel()\"\n ></sdc-button>\n }\n\n @if (hasImage) {\n <sdc-button\n id=\"image-cropper-crop\"\n [label]=\"cropLabel | translate\"\n priority=\"primary\"\n (clicked)=\"onCropImage()\"\n ></sdc-button>\n }\n </div>\n </div>\n </div>\n</sdc-modal>\n", styles: [":host{display:block}.sdc-image-cropper{--sdc-image-cropper-bg: #000;--sdc-image-cropper-btn-gap: .5rem;--sdc-image-cropper-image-max-height: 60vh;--sdc-image-cropper-footer-padding: 1rem 0 0}.sdc-image-cropper__image-container{display:flex;justify-content:center;align-items:center;background-color:var(--sdc-image-cropper-bg);border-radius:4px;overflow:hidden;min-height:200px}.sdc-image-cropper__image{max-width:100%;max-height:var(--sdc-image-cropper-image-max-height);object-fit:contain;display:block}.sdc-image-cropper__image--rounded{border-radius:50%}.sdc-image-cropper__empty{display:flex;justify-content:center;align-items:center;min-height:200px;padding:2rem}.sdc-image-cropper__footer{display:flex;justify-content:space-between;align-items:center;padding:var(--sdc-image-cropper-footer-padding);flex-wrap:wrap;gap:var(--sdc-image-cropper-btn-gap)}.sdc-image-cropper__actions{display:flex;gap:var(--sdc-image-cropper-btn-gap);align-items:center}.sdc-image-cropper__actions--left{flex:1}.sdc-image-cropper__actions--right{display:flex;gap:var(--sdc-image-cropper-btn-gap)}\n"] }]
174
+ }], propDecorators: { imageEl: [{
175
+ type: ViewChild,
176
+ args: ['imageEl']
177
+ }], visible: [{
178
+ type: Input
179
+ }], imageSource: [{
180
+ type: Input
181
+ }], header: [{
182
+ type: Input
183
+ }], cropLabel: [{
184
+ type: Input
185
+ }], cancelLabel: [{
186
+ type: Input
187
+ }], removeLabel: [{
188
+ type: Input
189
+ }], selectAnotherLabel: [{
190
+ type: Input
191
+ }], emptyStateTitle: [{
192
+ type: Input
193
+ }], emptyStateActionLabel: [{
194
+ type: Input
195
+ }], aspectRatio: [{
196
+ type: Input
197
+ }], rounded: [{
198
+ type: Input
199
+ }], allowSelectAnother: [{
200
+ type: Input
201
+ }], allowRemove: [{
202
+ type: Input
203
+ }], allowCancel: [{
204
+ type: Input
205
+ }], visibleChange: [{
206
+ type: Output
207
+ }], croppedImage: [{
208
+ type: Output
209
+ }], croppedCanvas: [{
210
+ type: Output
211
+ }], changeImage: [{
212
+ type: Output
213
+ }], removedImage: [{
214
+ type: Output
215
+ }], cancel: [{
216
+ type: Output
217
+ }] } });
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2ltYWdlLWNyb3BwZXIvaW1hZ2UtY3JvcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2ltYWdlLWNyb3BwZXIvaW1hZ2UtY3JvcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUd0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFFMUQsMEJBQTBCO0FBQzFCLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDO0FBQ2pDLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQztBQUN6QixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ3RDLE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQztBQVd2QixNQUFNLE9BQU8scUJBQXFCO0lBQ1YsT0FBTyxDQUFnQztJQUVwRCxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLFdBQVcsR0FBdUIsU0FBUyxDQUFDO0lBQzVDLE1BQU0sR0FBRyx3Q0FBd0MsQ0FBQztJQUNsRCxTQUFTLEdBQUcsc0NB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QVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLGNBQWMsQ0FBQyxtQkFHN0UsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUTs4QkFHbkIsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUVYLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IEltYWdlQ3JvcHBlckNvbmZpZyB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvaW1hZ2UtY3JvcHBlci50eXBlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEVtcHR5U3RhdGVDb21wb25lbnQgfSBmcm9tICcuLi9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuXG4vLyBJbWFnZSBjcm9wcGVyIGNvbnN0YW50c1xuY29uc3QgREVGQVVMVF9PVVRQVVRfV0lEVEggPSA0MDA7XG5jb25zdCBKUEVHX1FVQUxJVFkgPSAwLjk7XG5jb25zdCBDSVJDTEVfRlVMTF9BTkdMRSA9IE1hdGguUEkgKiAyO1xuY29uc3QgSEFMRl9ESVZJU09SID0gMjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLWltYWdlLWNyb3BwZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIEJ1dHRvbkNvbXBvbmVudCwgRW1wdHlTdGF0ZUNvbXBvbmVudCwgTW9kYWxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UtY3JvcHBlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlQ3JvcHBlckNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2ltYWdlRWwnKSBpbWFnZUVsPzogRWxlbWVudFJlZjxIVE1MSW1hZ2VFbGVtZW50PjtcblxuICBASW5wdXQoKSB2aXNpYmxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGltYWdlU291cmNlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGhlYWRlciA9ICdwbGF0Zm9ybS5kYXRhY29yZS5pbWFnZV9jcm9wcGVyLmhlYWRlcic7XG4gIEBJbnB1dCgpIGNyb3BMYWJlbCA9ICdwbGF0Zm9ybS5kYXRhY29yZS5pbWFnZV9jcm9wcGVyLmNyb3AnO1xuICBASW5wdXQoKSBjYW5jZWxMYWJlbCA9ICdwbGF0Zm9ybS5kYXRhY29yZS5pbWFnZV9jcm9wcGVyLmNhbmNlbCc7XG4gIEBJbnB1dCgpIHJlbW92ZUxhYmVsID0gJ3BsYXRmb3JtLmRhdGFjb3JlLmltYWdlX2Nyb3BwZXIucmVtb3ZlJztcbiAgQElucHV0KCkgc2VsZWN0QW5vdGhlckxhYmVsID0gJ3BsYXRmb3JtLmRhdGFjb3JlLmltYWdlX2Nyb3BwZXIuc2VsZWN0X2Fub3RoZXInO1xuICBASW5wdXQoKSBlbXB0eVN0YXRlVGl0bGUgPSAncGxhdGZvcm0uZGF0YWNvcmUuaW1hZ2VfY3JvcHBlci5lbXB0eV9zdGF0ZV90aXRsZSc7XG4gIEBJbnB1dCgpIGVtcHR5U3RhdGVBY3Rpb25MYWJlbCA9ICdwbGF0Zm9ybS5kYXRhY29yZS5pbWFnZV9jcm9wcGVyLmVtcHR5X3N0YXRlX2FjdGlvbic7XG4gIEBJbnB1dCgpIGFzcGVjdFJhdGlvID0gTmFOO1xuICBASW5wdXQoKSByb3VuZGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFsbG93U2VsZWN0QW5vdGhlciA9IHRydWU7XG4gIEBJbnB1dCgpIGFsbG93UmVtb3ZlID0gdHJ1ZTtcbiAgQElucHV0KCkgYWxsb3dDYW5jZWwgPSB0cnVlO1xuXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgY3JvcHBlZEltYWdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBjcm9wcGVkQ2FudmFzID0gbmV3IEV2ZW50RW1pdHRlcjxIVE1MQ2FudmFzRWxlbWVudD4oKTtcbiAgQE91dHB1dCgpIGNoYW5nZUltYWdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgcmVtb3ZlZEltYWdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBnZXQgaGFzSW1hZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5pbWFnZVNvdXJjZTtcbiAgfVxuXG4gIGdldCBvdXRwdXRXaWR0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiBERUZBVUxUX09VVFBVVF9XSURUSDtcbiAgfVxuXG4gIGdldCBvdXRwdXRIZWlnaHQoKTogbnVtYmVyIHtcbiAgICBpZiAoaXNOYU4odGhpcy5hc3BlY3RSYXRpbykgfHwgdGhpcy5hc3BlY3RSYXRpbyA8PSAwKSB7XG4gICAgICByZXR1cm4gREVGQVVMVF9PVVRQVVRfV0lEVEg7XG4gICAgfVxuXG4gICAgcmV0dXJuIE1hdGgucm91bmQodGhpcy5vdXRwdXRXaWR0aCAvIHRoaXMuYXNwZWN0UmF0aW8pO1xuICB9XG5cbiAgb25Nb2RhbFZpc2libGVDaGFuZ2UodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkNyb3BJbWFnZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpbWcgPSB0aGlzLmltYWdlRWw/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBpZiAoIWltZykge1xuICAgICAgdGhpcy5jbG9zZU1vZGFsKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgY2FudmFzLndpZHRoID0gdGhpcy5vdXRwdXRXaWR0aDtcbiAgICBjYW52YXMuaGVpZ2h0ID0gdGhpcy5vdXRwdXRIZWlnaHQ7XG4gICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG5cbiAgICBpZiAoIWN0eCkge1xuICAgICAgdGhpcy5jbG9zZU1vZGFsKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucm91bmRlZCkge1xuICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgY3R4LmFyYyhcbiAgICAgICAgY2FudmFzLndpZHRoIC8gSEFMRl9ESVZJU09SLFxuICAgICAgICBjYW52YXMuaGVpZ2h0IC8gSEFMRl9ESVZJU09SLFxuICAgICAgICBNYXRoLm1pbihjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpIC8gSEFMRl9ESVZJU09SLFxuICAgICAgICAwLFxuICAgICAgICBDSVJDTEVfRlVMTF9BTkdMRVxuICAgICAgKTtcbiAgICAgIGN0eC5jbGlwKCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2NhbGVYID0gaW1nLm5hdHVyYWxXaWR0aCAvIChpbWcub2Zmc2V0V2lkdGggfHwgaW1nLm5hdHVyYWxXaWR0aCk7XG4gICAgY29uc3Qgc2NhbGVZID0gaW1nLm5hdHVyYWxIZWlnaHQgLyAoaW1nLm9mZnNldEhlaWdodCB8fCBpbWcubmF0dXJhbEhlaWdodCk7XG5cbiAgICBjdHguZHJhd0ltYWdlKFxuICAgICAgaW1nLFxuICAgICAgMCxcbiAgICAgIDAsXG4gICAgICBpbWcub2Zmc2V0V2lkdGggKiBzY2FsZVgsXG4gICAgICBpbWcub2Zmc2V0SGVpZ2h0ICogc2NhbGVZLFxuICAgICAgMCxcbiAgICAgIDAsXG4gICAgICBjYW52YXMud2lkdGgsXG4gICAgICBjYW52YXMuaGVpZ2h0XG4gICAgKTtcblxuICAgIGNvbnN0IGJhc2U2NCA9IGNhbnZhcy50b0RhdGFVUkwoJ2ltYWdlL2pwZWcnLCBKUEVHX1FVQUxJVFkpO1xuICAgIHRoaXMuY3JvcHBlZEltYWdlLmVtaXQoYmFzZTY0KTtcbiAgICB0aGlzLmNyb3BwZWRDYW52YXMuZW1pdChjYW52YXMpO1xuICAgIHRoaXMuY2xvc2VNb2RhbCgpO1xuICB9XG5cbiAgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICAgIHRoaXMuY2xvc2VNb2RhbCgpO1xuICB9XG5cbiAgb25SZW1vdmUoKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVkSW1hZ2UuZW1pdCgpO1xuICAgIHRoaXMuY2xvc2VNb2RhbCgpO1xuICB9XG5cbiAgb25TZWxlY3RBbm90aGVyKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlSW1hZ2UuZW1pdCgpO1xuICB9XG5cbiAgb25FbXB0eVN0YXRlQWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlSW1hZ2UuZW1pdCgpO1xuICB9XG5cbiAgYXBwbHlDb25maWcoY29uZmlnOiBJbWFnZUNyb3BwZXJDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLmFwcGx5Q29uZmlnUHJvcGVydGllcyhjb25maWcpO1xuICAgIHRoaXMuYXBwbHlDb25maWdFdmVudExpc3RlbmVycyhjb25maWcpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUNvbmZpZ1Byb3BlcnRpZXMoY29uZmlnOiBJbWFnZUNyb3BwZXJDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLmFzc2lnbklmRGVmaW5lZChjb25maWcuaW1hZ2VTb3VyY2UsICh2YWx1ZSkgPT4ge1xuICAgICAgdGhpcy5pbWFnZVNvdXJjZSA9IHZhbHVlO1xuICAgIH0pO1xuICAgIHRoaXMuYXNzaWduSWZEZWZpbmVkKGNvbmZpZy5oZWFkZXIsICh2YWx1ZSkgPT4ge1xuICAgICAgdGhpcy5oZWFkZXIgPSB2YWx1ZTtcbiAgICB9KTtcbiAgICB0aGlzLmFzc2lnbklmRGVmaW5lZChjb25maWcuY3JvcExhYmVsLCAodmFsdWUpID0+IHtcbiAgICAgIHRoaXMuY3JvcExhYmVsID0gdmFsdWU7XG4gICAgfSk7XG4gICAgdGhpcy5hc3NpZ25JZkRlZmluZWQoY29uZmlnLmNhbmNlbExhYmVsLCAodmFsdWUpID0+IHtcbiAgICAgIHRoaXMuY2FuY2VsTGFiZWwgPSB2YWx1ZTtcbiAgICB9KTtcbiAgICB0aGlzLmFzc2lnbklmRGVmaW5lZChjb25maWcucmVtb3ZlTGFiZWwsICh2YWx1ZSkgPT4ge1xuICAgICAgdGhpcy5yZW1vdmVMYWJlbCA9IHZhbHVlO1xuICAgIH0pO1xuICAgIHRoaXMuYXNzaWduSWZEZWZpbmVkKGNvbmZpZy5zZWxlY3RBbm90aGVyTGFiZWwsICh2YWx1ZSkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RBbm90aGVyTGFiZWwgPSB2YWx1ZTtcbiAgICB9KTtcbiAgICB0aGlzLmFzc2lnbklmRGVmaW5lZChjb25maWcuZW1wdHlTdGF0ZVRpdGxlLCAodmFsdWUpID0+IHtcbiAgICAgIHRoaXMuZW1wdHlTdGF0ZVRpdGxlID0gdmFsdWU7XG4gICAgfSk7XG4gICAgdGhpcy5hc3NpZ25JZkRlZmluZWQoY29uZmlnLmVtcHR5U3RhdGVBY3Rpb25MYWJlbCwgKHZhbHVlKSA9PiB7XG4gICAgICB0aGlzLmVtcHR5U3RhdGVBY3Rpb25MYWJlbCA9IHZhbHVlO1xuICAgIH0pO1xuICAgIHRoaXMuYXNzaWduSWZEZWZpbmVkKGNvbmZpZy5hc3BlY3RSYXRpbywgKHZhbHVlKSA9PiB7XG4gICAgICB0aGlzLmFzcGVjdFJhdGlvID0gdmFsdWU7XG4gICAgfSk7XG4gICAgdGhpcy5hc3NpZ25JZkRlZmluZWQoY29uZmlnLnJvdW5kZWQsICh2YWx1ZSkgPT4ge1xuICAgICAgdGhpcy5yb3VuZGVkID0gdmFsdWU7XG4gICAgfSk7XG4gICAgdGhpcy5hc3NpZ25JZkRlZmluZWQoY29uZmlnLmFsbG93U2VsZWN0QW5vdGhlciwgKHZhbHVlKSA9PiB7XG4gICAgICB0aGlzLmFsbG93U2VsZWN0QW5vdGhlciA9IHZhbHVlO1xuICAgIH0pO1xuICAgIHRoaXMuYXNzaWduSWZEZWZpbmVkKGNvbmZpZy5hbGxvd1JlbW92ZSwgKHZhbHVlKSA9PiB7XG4gICAgICB0aGlzLmFsbG93UmVtb3ZlID0gdmFsdWU7XG4gICAgfSk7XG4gICAgdGhpcy5hc3NpZ25JZkRlZmluZWQoY29uZmlnLmFsbG93Q2FuY2VsLCAodmFsdWUpID0+IHtcbiAgICAgIHRoaXMuYWxsb3dDYW5jZWwgPSB2YWx1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXNzaWduSWZEZWZpbmVkPFQ+KHZhbHVlOiBUIHwgdW5kZWZpbmVkLCBzZXR0ZXI6IChuZXh0VmFsdWU6IFQpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc2V0dGVyKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5Q29uZmlnRXZlbnRMaXN0ZW5lcnMoY29uZmlnOiBJbWFnZUNyb3BwZXJDb25maWcpOiB2b2lkIHtcbiAgICBpZiAoY29uZmlnLmNyb3BwZWRJbWFnZSkge1xuICAgICAgdGhpcy5jcm9wcGVkSW1hZ2Uuc3Vic2NyaWJlKGNvbmZpZy5jcm9wcGVkSW1hZ2UpO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmNyb3BwZWRDYW52YXMpIHtcbiAgICAgIHRoaXMuY3JvcHBlZENhbnZhcy5zdWJzY3JpYmUoY29uZmlnLmNyb3BwZWRDYW52YXMpO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmNoYW5nZUltYWdlKSB7XG4gICAgICB0aGlzLmNoYW5nZUltYWdlLnN1YnNjcmliZShjb25maWcuY2hhbmdlSW1hZ2UpO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLnJlbW92ZWRJbWFnZSkge1xuICAgICAgdGhpcy5yZW1vdmVkSW1hZ2Uuc3Vic2NyaWJlKGNvbmZpZy5yZW1vdmVkSW1hZ2UpO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmNhbmNlbCkge1xuICAgICAgdGhpcy5jYW5jZWwuc3Vic2NyaWJlKGNvbmZpZy5jYW5jZWwpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdChmYWxzZSk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxzZGMtbW9kYWxcbiAgW3Zpc2libGVdPVwidmlzaWJsZVwiXG4gICh2aXNpYmxlQ2hhbmdlKT1cIm9uTW9kYWxWaXNpYmxlQ2hhbmdlKCRldmVudClcIlxuICBbaGVhZGVyXT1cImhlYWRlclwiXG4gIFtjbG9zYWJsZV09XCJ0cnVlXCJcbiAgW3Jlc3BvbnNpdmVdPVwidHJ1ZVwiXG4gIHdpZHRoPVwiNjAwcHhcIlxuICBzdHlsZUNsYXNzPVwic2RjLWltYWdlLWNyb3BwZXItbW9kYWxcIlxuPlxuICA8ZGl2IGNsYXNzPVwic2RjLWltYWdlLWNyb3BwZXJcIj5cbiAgICBAaWYgKGhhc0ltYWdlKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwic2RjLWltYWdlLWNyb3BwZXJfX2ltYWdlLWNvbnRhaW5lclwiPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgI2ltYWdlRWxcbiAgICAgICAgICBjbGFzcz1cInNkYy1pbWFnZS1jcm9wcGVyX19pbWFnZVwiXG4gICAgICAgICAgW2NsYXNzLnNkYy1pbWFnZS1jcm9wcGVyX19pbWFnZS0tcm91bmRlZF09XCJyb3VuZGVkXCJcbiAgICAgICAgICBbc3JjXT1cImltYWdlU291cmNlXCJcbiAgICAgICAgICBbYXR0ci53aWR0aF09XCJvdXRwdXRXaWR0aFwiXG4gICAgICAgICAgW2F0dHIuaGVpZ2h0XT1cIm91dHB1dEhlaWdodFwiXG4gICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8ZGl2IGNsYXNzPVwic2RjLWltYWdlLWNyb3BwZXJfX2VtcHR5XCI+XG4gICAgICAgIDxzZGMtZW1wdHktc3RhdGVcbiAgICAgICAgICBbdGl0bGVdPVwiZW1wdHlTdGF0ZVRpdGxlXCJcbiAgICAgICAgICBbcHJpbWFyeUFjdGlvbkxhYmVsXT1cImVtcHR5U3RhdGVBY3Rpb25MYWJlbFwiXG4gICAgICAgICAgW3Nob3dQcmltYXJ5QWN0aW9uXT1cInRydWVcIlxuICAgICAgICAgIFtzaG93U2Vjb25kYXJ5QWN0aW9uXT1cImZhbHNlXCJcbiAgICAgICAgICAocHJpbWFyeUFjdGlvbik9XCJvbkVtcHR5U3RhdGVBY3Rpb24oKVwiXG4gICAgICAgID48L3NkYy1lbXB0eS1zdGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDxkaXYgY2xhc3M9XCJzZGMtaW1hZ2UtY3JvcHBlcl9fZm9vdGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2RjLWltYWdlLWNyb3BwZXJfX2FjdGlvbnMgc2RjLWltYWdlLWNyb3BwZXJfX2FjdGlvbnMtLWxlZnRcIj5cbiAgICAgICAgQGlmIChhbGxvd1NlbGVjdEFub3RoZXIgJiYgaGFzSW1hZ2UpIHtcbiAgICAgICAgICA8c2RjLWJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJpbWFnZS1jcm9wcGVyLXNlbGVjdC1hbm90aGVyXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJzZWxlY3RBbm90aGVyTGFiZWwgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgcHJpb3JpdHk9XCJsaW5rXCJcbiAgICAgICAgICAgIChjbGlja2VkKT1cIm9uU2VsZWN0QW5vdGhlcigpXCJcbiAgICAgICAgICA+PC9zZGMtYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChhbGxvd1JlbW92ZSAmJiBoYXNJbWFnZSkge1xuICAgICAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgICAgICBpZD1cImltYWdlLWNyb3BwZXItcmVtb3ZlXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJyZW1vdmVMYWJlbCB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBwcmlvcml0eT1cImRhbmdlclwiXG4gICAgICAgICAgICAoY2xpY2tlZCk9XCJvblJlbW92ZSgpXCJcbiAgICAgICAgICA+PC9zZGMtYnV0dG9uPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInNkYy1pbWFnZS1jcm9wcGVyX19hY3Rpb25zIHNkYy1pbWFnZS1jcm9wcGVyX19hY3Rpb25zLS1yaWdodFwiPlxuICAgICAgICBAaWYgKGFsbG93Q2FuY2VsKSB7XG4gICAgICAgICAgPHNkYy1idXR0b25cbiAgICAgICAgICAgIGlkPVwiaW1hZ2UtY3JvcHBlci1jYW5jZWxcIlxuICAgICAgICAgICAgW2xhYmVsXT1cImNhbmNlbExhYmVsIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIHByaW9yaXR5PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2FuY2VsKClcIlxuICAgICAgICAgID48L3NkYy1idXR0b24+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGhhc0ltYWdlKSB7XG4gICAgICAgICAgPHNkYy1idXR0b25cbiAgICAgICAgICAgIGlkPVwiaW1hZ2UtY3JvcHBlci1jcm9wXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJjcm9wTGFiZWwgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgcHJpb3JpdHk9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIChjbGlja2VkKT1cIm9uQ3JvcEltYWdlKClcIlxuICAgICAgICAgID48L3NkYy1idXR0b24+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvc2RjLW1vZGFsPlxuIl19
@@ -0,0 +1,50 @@
1
+ import { Injectable, createComponent } from '@angular/core';
2
+ import { ImageCropperComponent } from '../image-cropper.component';
3
+ import * as i0 from "@angular/core";
4
+ export class ImageCropperService {
5
+ appRef;
6
+ injector;
7
+ activeRef = null;
8
+ constructor(appRef, injector) {
9
+ this.appRef = appRef;
10
+ this.injector = injector;
11
+ }
12
+ show(config) {
13
+ this.destroy();
14
+ const componentRef = createComponent(ImageCropperComponent, {
15
+ environmentInjector: this.appRef.injector,
16
+ elementInjector: this.injector
17
+ });
18
+ this.appRef.attachView(componentRef.hostView);
19
+ const domElem = componentRef.hostView.rootNodes[0];
20
+ document.body.appendChild(domElem);
21
+ componentRef.instance.visible = true;
22
+ if (config) {
23
+ componentRef.instance.applyConfig(config);
24
+ }
25
+ componentRef.instance.visibleChange.subscribe((visible) => {
26
+ if (!visible) {
27
+ this.destroy();
28
+ }
29
+ });
30
+ this.activeRef = componentRef;
31
+ componentRef.changeDetectorRef.detectChanges();
32
+ }
33
+ destroy() {
34
+ if (!this.activeRef) {
35
+ return;
36
+ }
37
+ this.appRef.detachView(this.activeRef.hostView);
38
+ this.activeRef.destroy();
39
+ this.activeRef = null;
40
+ }
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ImageCropperService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
42
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ImageCropperService, providedIn: 'root' });
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ImageCropperService, decorators: [{
45
+ type: Injectable,
46
+ args: [{
47
+ providedIn: 'root'
48
+ }]
49
+ }], ctorParameters: () => [{ type: i0.ApplicationRef }, { type: i0.Injector }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcHBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9pbWFnZS1jcm9wcGVyL3NlcnZpY2VzL2ltYWdlLWNyb3BwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsVUFBVSxFQUVWLGVBQWUsRUFDaEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBS25FLE1BQU0sT0FBTyxtQkFBbUI7SUFJWDtJQUNBO0lBSlgsU0FBUyxHQUErQyxJQUFJLENBQUM7SUFFckUsWUFDbUIsTUFBc0IsRUFDdEIsUUFBa0I7UUFEbEIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUNsQyxDQUFDO0lBRUosSUFBSSxDQUFDLE1BQTJCO1FBQzlCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVmLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxxQkFBcUIsRUFBRTtZQUMxRCxtQkFBbUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDekMsZUFBZSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQy9CLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU5QyxNQUFNLE9BQU8sR0FBSSxZQUFZLENBQUMsUUFBcUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFnQixDQUFDO1FBQ2hHLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRW5DLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUVyQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtZQUNqRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDO1FBQzlCLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQzt3R0E3Q1UsbUJBQW1COzRHQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFwcGxpY2F0aW9uUmVmLFxuICBDb21wb25lbnRSZWYsXG4gIEVtYmVkZGVkVmlld1JlZixcbiAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0b3IsXG4gIGNyZWF0ZUNvbXBvbmVudFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHR5cGUgeyBJbWFnZUNyb3BwZXJDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzL2ltYWdlLWNyb3BwZXIudHlwZSc7XG5pbXBvcnQgeyBJbWFnZUNyb3BwZXJDb21wb25lbnQgfSBmcm9tICcuLi9pbWFnZS1jcm9wcGVyLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlQ3JvcHBlclNlcnZpY2Uge1xuICBwcml2YXRlIGFjdGl2ZVJlZjogQ29tcG9uZW50UmVmPEltYWdlQ3JvcHBlckNvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7fVxuXG4gIHNob3coY29uZmlnPzogSW1hZ2VDcm9wcGVyQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95KCk7XG5cbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSBjcmVhdGVDb21wb25lbnQoSW1hZ2VDcm9wcGVyQ29tcG9uZW50LCB7XG4gICAgICBlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLmFwcFJlZi5pbmplY3RvcixcbiAgICAgIGVsZW1lbnRJbmplY3RvcjogdGhpcy5pbmplY3RvclxuICAgIH0pO1xuXG4gICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuXG4gICAgY29uc3QgZG9tRWxlbSA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPHVua25vd24+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb21FbGVtKTtcblxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS52aXNpYmxlID0gdHJ1ZTtcblxuICAgIGlmIChjb25maWcpIHtcbiAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5hcHBseUNvbmZpZyhjb25maWcpO1xuICAgIH1cblxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS52aXNpYmxlQ2hhbmdlLnN1YnNjcmliZSgodmlzaWJsZTogYm9vbGVhbikgPT4ge1xuICAgICAgaWYgKCF2aXNpYmxlKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveSgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5hY3RpdmVSZWYgPSBjb21wb25lbnRSZWY7XG4gICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYWN0aXZlUmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyh0aGlzLmFjdGl2ZVJlZi5ob3N0Vmlldyk7XG4gICAgdGhpcy5hY3RpdmVSZWYuZGVzdHJveSgpO1xuICAgIHRoaXMuYWN0aXZlUmVmID0gbnVsbDtcbiAgfVxufVxuIl19
@@ -0,0 +1,89 @@
1
+ import { Directive, ElementRef, EventEmitter, HostListener, Input, Output, booleanAttribute, inject, numberAttribute } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class InfiniteScrollDirective {
4
+ hostRef = inject(ElementRef);
5
+ debounceHandle = null;
6
+ waitingForReset = false;
7
+ previousLoading = false;
8
+ threshold = 32;
9
+ disabled = false;
10
+ debounceMs = 100;
11
+ loading = false;
12
+ scrolled = new EventEmitter();
13
+ ngOnChanges() {
14
+ if (this.previousLoading && !this.loading) {
15
+ this.waitingForReset = false;
16
+ this.scheduleEvaluation(0);
17
+ }
18
+ this.previousLoading = this.loading;
19
+ }
20
+ ngOnDestroy() {
21
+ this.clearDebounceHandle();
22
+ }
23
+ onHostScroll() {
24
+ if (this.disabled) {
25
+ return;
26
+ }
27
+ this.scheduleEvaluation(Math.max(0, this.debounceMs));
28
+ }
29
+ evaluateScrollPosition() {
30
+ const host = this.hostRef.nativeElement;
31
+ if (this.disabled) {
32
+ return;
33
+ }
34
+ const distanceToBottom = host.scrollHeight - host.scrollTop - host.clientHeight;
35
+ const reachedThreshold = distanceToBottom <= Math.max(0, this.threshold);
36
+ if (!reachedThreshold) {
37
+ if (!this.loading) {
38
+ this.waitingForReset = false;
39
+ }
40
+ return;
41
+ }
42
+ if (this.loading || this.waitingForReset) {
43
+ return;
44
+ }
45
+ this.waitingForReset = true;
46
+ this.scrolled.emit(host);
47
+ }
48
+ clearDebounceHandle() {
49
+ if (!this.debounceHandle) {
50
+ return;
51
+ }
52
+ clearTimeout(this.debounceHandle);
53
+ this.debounceHandle = null;
54
+ }
55
+ scheduleEvaluation(delayMs) {
56
+ this.clearDebounceHandle();
57
+ this.debounceHandle = setTimeout(() => {
58
+ this.debounceHandle = null;
59
+ this.evaluateScrollPosition();
60
+ }, Math.max(0, delayMs));
61
+ }
62
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InfiniteScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
63
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.14", type: InfiniteScrollDirective, isStandalone: true, selector: "[sdcInfiniteScroll]", inputs: { threshold: ["threshold", "threshold", numberAttribute], disabled: ["disabled", "disabled", booleanAttribute], debounceMs: ["debounceMs", "debounceMs", numberAttribute], loading: ["loading", "loading", booleanAttribute] }, outputs: { scrolled: "scrolled" }, host: { listeners: { "scroll": "onHostScroll()" } }, usesOnChanges: true, ngImport: i0 });
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InfiniteScrollDirective, decorators: [{
66
+ type: Directive,
67
+ args: [{
68
+ selector: '[sdcInfiniteScroll]',
69
+ standalone: true
70
+ }]
71
+ }], propDecorators: { threshold: [{
72
+ type: Input,
73
+ args: [{ transform: numberAttribute }]
74
+ }], disabled: [{
75
+ type: Input,
76
+ args: [{ transform: booleanAttribute }]
77
+ }], debounceMs: [{
78
+ type: Input,
79
+ args: [{ transform: numberAttribute }]
80
+ }], loading: [{
81
+ type: Input,
82
+ args: [{ transform: booleanAttribute }]
83
+ }], scrolled: [{
84
+ type: Output
85
+ }], onHostScroll: [{
86
+ type: HostListener,
87
+ args: ['scroll']
88
+ }] } });
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvaW5maW5pdGUtc2Nyb2xsL2luZmluaXRlLXNjcm9sbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sZUFBZSxFQUNoQixNQUFNLGVBQWUsQ0FBQzs7QUFNdkIsTUFBTSxPQUFPLHVCQUF1QjtJQUNqQixPQUFPLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztJQUMvRCxjQUFjLEdBQXlDLElBQUksQ0FBQztJQUM1RCxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFFTyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ2QsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNsQixVQUFVLEdBQUcsR0FBRyxDQUFDO0lBQ2hCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFOUMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7SUFFckQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUM3QixJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFHUyxZQUFZO1FBQ3BCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFFeEMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ2hGLE1BQU0sZ0JBQWdCLEdBQUcsZ0JBQWdCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXpFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQy9CLENBQUM7WUFDRCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDekIsT0FBTztRQUNULENBQUM7UUFFRCxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxPQUFlO1FBQ3hDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNwQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNoQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzQixDQUFDO3dHQTNFVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qix1R0FNZCxlQUFlLHNDQUNmLGdCQUFnQiw0Q0FDaEIsZUFBZSxtQ0FDZixnQkFBZ0I7OzRGQVR6Qix1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQU93QyxTQUFTO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFDRyxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNDLFVBQVU7c0JBQWhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUNHLE9BQU87c0JBQTlDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRTVCLFFBQVE7c0JBQWpCLE1BQU07Z0JBZ0JHLFlBQVk7c0JBRHJCLFlBQVk7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBpbmplY3QsXG4gIG51bWJlckF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NkY0luZmluaXRlU2Nyb2xsXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaG9zdFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gIHByaXZhdGUgZGVib3VuY2VIYW5kbGU6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgd2FpdGluZ0ZvclJlc2V0ID0gZmFsc2U7XG4gIHByaXZhdGUgcHJldmlvdXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdGhyZXNob2xkID0gMzI7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBkZWJvdW5jZU1zID0gMTAwO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbG9hZGluZyA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBzY3JvbGxlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SFRNTEVsZW1lbnQ+KCk7XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJldmlvdXNMb2FkaW5nICYmICF0aGlzLmxvYWRpbmcpIHtcbiAgICAgIHRoaXMud2FpdGluZ0ZvclJlc2V0ID0gZmFsc2U7XG4gICAgICB0aGlzLnNjaGVkdWxlRXZhbHVhdGlvbigwKTtcbiAgICB9XG5cbiAgICB0aGlzLnByZXZpb3VzTG9hZGluZyA9IHRoaXMubG9hZGluZztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJEZWJvdW5jZUhhbmRsZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignc2Nyb2xsJylcbiAgcHJvdGVjdGVkIG9uSG9zdFNjcm9sbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2NoZWR1bGVFdmFsdWF0aW9uKE1hdGgubWF4KDAsIHRoaXMuZGVib3VuY2VNcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBldmFsdWF0ZVNjcm9sbFBvc2l0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmhvc3RSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGlzdGFuY2VUb0JvdHRvbSA9IGhvc3Quc2Nyb2xsSGVpZ2h0IC0gaG9zdC5zY3JvbGxUb3AgLSBob3N0LmNsaWVudEhlaWdodDtcbiAgICBjb25zdCByZWFjaGVkVGhyZXNob2xkID0gZGlzdGFuY2VUb0JvdHRvbSA8PSBNYXRoLm1heCgwLCB0aGlzLnRocmVzaG9sZCk7XG5cbiAgICBpZiAoIXJlYWNoZWRUaHJlc2hvbGQpIHtcbiAgICAgIGlmICghdGhpcy5sb2FkaW5nKSB7XG4gICAgICAgIHRoaXMud2FpdGluZ0ZvclJlc2V0ID0gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubG9hZGluZyB8fCB0aGlzLndhaXRpbmdGb3JSZXNldCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMud2FpdGluZ0ZvclJlc2V0ID0gdHJ1ZTtcbiAgICB0aGlzLnNjcm9sbGVkLmVtaXQoaG9zdCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyRGVib3VuY2VIYW5kbGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRlYm91bmNlSGFuZGxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuZGVib3VuY2VIYW5kbGUpO1xuICAgIHRoaXMuZGVib3VuY2VIYW5kbGUgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzY2hlZHVsZUV2YWx1YXRpb24oZGVsYXlNczogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckRlYm91bmNlSGFuZGxlKCk7XG4gICAgdGhpcy5kZWJvdW5jZUhhbmRsZSA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5kZWJvdW5jZUhhbmRsZSA9IG51bGw7XG4gICAgICB0aGlzLmV2YWx1YXRlU2Nyb2xsUG9zaXRpb24oKTtcbiAgICB9LCBNYXRoLm1heCgwLCBkZWxheU1zKSk7XG4gIH1cbn1cbiJdfQ==
@@ -27,11 +27,11 @@ export class InfoSignComponent {
27
27
  return template.replace('{text}', this.resolvedTooltip);
28
28
  }
29
29
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InfoSignComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: InfoSignComponent, isStandalone: true, selector: "sdc-info-sign", inputs: { label: "label", labelParams: "labelParams", tooltip: "tooltip", tooltipParams: "tooltipParams", iconClass: "iconClass", iconAriaLabel: "iconAriaLabel", tooltipPosition: "tooltipPosition", tooltipEvent: "tooltipEvent", inline: "inline" }, ngImport: i0, template: "<span class=\"sdc-info-sign\" [class.sdc-info-sign--inline]=\"inline\">\n @if (resolvedLabel) {\n <span class=\"sdc-info-sign__label\">{{ resolvedLabel }}</span>\n } @else {\n <ng-content></ng-content>\n }\n\n <sdc-tooltip [pTooltip]=\"resolvedTooltip\" [tooltipPosition]=\"tooltipPosition\" [tooltipEvent]=\"tooltipEvent\">\n <button type=\"button\" class=\"sdc-info-sign__icon\" [attr.aria-label]=\"resolvedAriaLabel\">\n <i [class]=\"iconClass\" aria-hidden=\"true\"></i>\n </button>\n </sdc-tooltip>\n</span>\n", styles: [":host{display:inline-flex}.sdc-info-sign{align-items:center;color:inherit;display:inline-flex;gap:.375rem}.sdc-info-sign__label{min-width:0}.sdc-info-sign__icon{align-items:center;background:transparent;border:0;color:var(--sdc-info-sign-icon-color, var(--sdc-form-tooltip-color, #090909));cursor:help;display:inline-flex;font-size:var(--sdc-info-sign-icon-size, .95rem);justify-content:center;min-height:var(--sdc-info-sign-button-height, 1.25rem);min-width:var(--sdc-info-sign-button-width, 1.25rem);padding:0}.sdc-info-sign__icon:focus-visible{outline:var(--sdc-focus-outline, 2px solid #428bca);outline-offset:2px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled", "allowHtml"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
30
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: InfoSignComponent, isStandalone: true, selector: "sdc-info-sign", inputs: { label: "label", labelParams: "labelParams", tooltip: "tooltip", tooltipParams: "tooltipParams", iconClass: "iconClass", iconAriaLabel: "iconAriaLabel", tooltipPosition: "tooltipPosition", tooltipEvent: "tooltipEvent", inline: "inline" }, ngImport: i0, template: "<span class=\"sdc-info-sign\" [class.sdc-info-sign--inline]=\"inline\">\n @if (resolvedLabel) {\n <span class=\"sdc-info-sign__label\">{{ resolvedLabel }}</span>\n } @else {\n <ng-content></ng-content>\n }\n\n <sdc-tooltip [pTooltip]=\"resolvedTooltip\" [tooltipPosition]=\"tooltipPosition\" [tooltipEvent]=\"tooltipEvent\">\n <button type=\"button\" class=\"sdc-info-sign__icon\" [attr.aria-label]=\"resolvedAriaLabel\">\n <i [class]=\"iconClass\" aria-hidden=\"true\"></i>\n </button>\n </sdc-tooltip>\n</span>\n", styles: [":host{display:inline-flex}.sdc-info-sign{align-items:center;color:inherit;display:inline-flex;gap:.375rem}.sdc-info-sign__label{min-width:0}.sdc-info-sign__icon{align-items:center;background:transparent;border:0;color:var(--sdc-info-sign-icon-color, var(--sdc-form-tooltip-color, #090909));cursor:var(--sdc-info-sign-icon-cursor, help);display:inline-flex;font-size:var(--sdc-info-sign-icon-size, .95rem);justify-content:center;min-height:var(--sdc-info-sign-button-height, 1.25rem);min-width:var(--sdc-info-sign-button-width, 1.25rem);padding:0}.sdc-info-sign__icon:focus-visible{outline:var(--sdc-focus-outline, 2px solid #428bca);outline-offset:2px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled", "allowHtml"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
31
31
  }
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InfoSignComponent, decorators: [{
33
33
  type: Component,
34
- args: [{ selector: 'sdc-info-sign', standalone: true, imports: [CommonModule, TranslateModule, TooltipComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<span class=\"sdc-info-sign\" [class.sdc-info-sign--inline]=\"inline\">\n @if (resolvedLabel) {\n <span class=\"sdc-info-sign__label\">{{ resolvedLabel }}</span>\n } @else {\n <ng-content></ng-content>\n }\n\n <sdc-tooltip [pTooltip]=\"resolvedTooltip\" [tooltipPosition]=\"tooltipPosition\" [tooltipEvent]=\"tooltipEvent\">\n <button type=\"button\" class=\"sdc-info-sign__icon\" [attr.aria-label]=\"resolvedAriaLabel\">\n <i [class]=\"iconClass\" aria-hidden=\"true\"></i>\n </button>\n </sdc-tooltip>\n</span>\n", styles: [":host{display:inline-flex}.sdc-info-sign{align-items:center;color:inherit;display:inline-flex;gap:.375rem}.sdc-info-sign__label{min-width:0}.sdc-info-sign__icon{align-items:center;background:transparent;border:0;color:var(--sdc-info-sign-icon-color, var(--sdc-form-tooltip-color, #090909));cursor:help;display:inline-flex;font-size:var(--sdc-info-sign-icon-size, .95rem);justify-content:center;min-height:var(--sdc-info-sign-button-height, 1.25rem);min-width:var(--sdc-info-sign-button-width, 1.25rem);padding:0}.sdc-info-sign__icon:focus-visible{outline:var(--sdc-focus-outline, 2px solid #428bca);outline-offset:2px}\n"] }]
34
+ args: [{ selector: 'sdc-info-sign', standalone: true, imports: [CommonModule, TranslateModule, TooltipComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<span class=\"sdc-info-sign\" [class.sdc-info-sign--inline]=\"inline\">\n @if (resolvedLabel) {\n <span class=\"sdc-info-sign__label\">{{ resolvedLabel }}</span>\n } @else {\n <ng-content></ng-content>\n }\n\n <sdc-tooltip [pTooltip]=\"resolvedTooltip\" [tooltipPosition]=\"tooltipPosition\" [tooltipEvent]=\"tooltipEvent\">\n <button type=\"button\" class=\"sdc-info-sign__icon\" [attr.aria-label]=\"resolvedAriaLabel\">\n <i [class]=\"iconClass\" aria-hidden=\"true\"></i>\n </button>\n </sdc-tooltip>\n</span>\n", styles: [":host{display:inline-flex}.sdc-info-sign{align-items:center;color:inherit;display:inline-flex;gap:.375rem}.sdc-info-sign__label{min-width:0}.sdc-info-sign__icon{align-items:center;background:transparent;border:0;color:var(--sdc-info-sign-icon-color, var(--sdc-form-tooltip-color, #090909));cursor:var(--sdc-info-sign-icon-cursor, help);display:inline-flex;font-size:var(--sdc-info-sign-icon-size, .95rem);justify-content:center;min-height:var(--sdc-info-sign-button-height, 1.25rem);min-width:var(--sdc-info-sign-button-width, 1.25rem);padding:0}.sdc-info-sign__icon:focus-visible{outline:var(--sdc-focus-outline, 2px solid #428bca);outline-offset:2px}\n"] }]
35
35
  }], propDecorators: { label: [{
36
36
  type: Input
37
37
  }], labelParams: [{
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
52
52
  }], inline: [{
53
53
  type: Input
54
54
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1zaWduLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvaW5mby1zaWduL2luZm8tc2lnbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2luZm8tc2lnbi9pbmZvLXNpZ24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHbEgsT0FBTyxFQUFFLCtCQUErQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBV2hFLE1BQU0sT0FBTyxpQkFBaUI7SUFDWCxTQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFN0MsS0FBSyxDQUFVO0lBQ2YsV0FBVyxDQUEyQjtJQUNwQixPQUFPLENBQVU7SUFDbkMsYUFBYSxDQUEyQjtJQUN4QyxTQUFTLEdBQUcsNEJBQTRCLENBQUM7SUFDekMsYUFBYSxHQUFHLDRCQUE0QixDQUFDO0lBQzdDLGVBQWUsR0FBb0IsT0FBTyxDQUFDO0lBQzNDLFlBQVksR0FBaUIsTUFBTSxDQUFDO0lBQ3BDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFFdkIsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sdUJBQXVCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sK0JBQStCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE1BQU0sUUFBUSxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdFLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzFELENBQUM7d0dBeEJVLGlCQUFpQjs0RkFBakIsaUJBQWlCLGlVQ25COUIsMGhCQWFBLHFxQkRBWSxZQUFZLDhCQUFFLGVBQWUsK0JBQUUsZ0JBQWdCOzs0RkFNOUMsaUJBQWlCO2tCQVQ3QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixDQUFDLG1CQUd6Qyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxRQUFROzhCQUtoQyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDcUIsT0FBTztzQkFBakMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBJTkZPX1NJR05fREVGQVVMVF9BUklBX0xBQkVMLCBJTkZPX1NJR05fREVGQVVMVF9JQ09OX0NMQVNTIH0gZnJvbSAnLi4vLi4vY29yZS9jb25zdGFudHMvaW5mby1zaWduLmNvbnN0JztcbmltcG9ydCB0eXBlIHsgSW5mb1NpZ25UcmFuc2xhdGVQYXJhbXMgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL2luZm8tc2lnbi50eXBlJztcbmltcG9ydCB0eXBlIHsgVG9vbHRpcEV2ZW50LCBUb29sdGlwUG9zaXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3Rvb2x0aXAudHlwZSc7XG5pbXBvcnQgeyByZXNvbHZlTnVsbGFibGVUcmFuc2xhdGFibGVUZXh0LCByZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvaTE4bi51dGlsJztcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLWluZm8tc2lnbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgVG9vbHRpcENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvLXNpZ24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW5mby1zaWduLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIEluZm9TaWduQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG5cbiAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsUGFyYW1zPzogSW5mb1NpZ25UcmFuc2xhdGVQYXJhbXM7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHRvb2x0aXAhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRvb2x0aXBQYXJhbXM/OiBJbmZvU2lnblRyYW5zbGF0ZVBhcmFtcztcbiAgQElucHV0KCkgaWNvbkNsYXNzID0gSU5GT19TSUdOX0RFRkFVTFRfSUNPTl9DTEFTUztcbiAgQElucHV0KCkgaWNvbkFyaWFMYWJlbCA9IElORk9fU0lHTl9ERUZBVUxUX0FSSUFfTEFCRUw7XG4gIEBJbnB1dCgpIHRvb2x0aXBQb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uID0gJ3JpZ2h0JztcbiAgQElucHV0KCkgdG9vbHRpcEV2ZW50OiBUb29sdGlwRXZlbnQgPSAnYm90aCc7XG4gIEBJbnB1dCgpIGlubGluZSA9IHRydWU7XG5cbiAgZ2V0IHJlc29sdmVkVG9vbHRpcCgpOiBzdHJpbmcge1xuICAgIHJldHVybiByZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZSwgdGhpcy50b29sdGlwLCAnJywgdGhpcy50b29sdGlwUGFyYW1zKTtcbiAgfVxuXG4gIGdldCByZXNvbHZlZExhYmVsKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiByZXNvbHZlTnVsbGFibGVUcmFuc2xhdGFibGVUZXh0KHRoaXMudHJhbnNsYXRlLCB0aGlzLmxhYmVsLCAnJywgdGhpcy5sYWJlbFBhcmFtcyk7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRBcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9IHJlc29sdmVUcmFuc2xhdGFibGVUZXh0KHRoaXMudHJhbnNsYXRlLCB0aGlzLmljb25BcmlhTGFiZWwpO1xuICAgIHJldHVybiB0ZW1wbGF0ZS5yZXBsYWNlKCd7dGV4dH0nLCB0aGlzLnJlc29sdmVkVG9vbHRpcCk7XG4gIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwic2RjLWluZm8tc2lnblwiIFtjbGFzcy5zZGMtaW5mby1zaWduLS1pbmxpbmVdPVwiaW5saW5lXCI+XG4gIEBpZiAocmVzb2x2ZWRMYWJlbCkge1xuICAgIDxzcGFuIGNsYXNzPVwic2RjLWluZm8tc2lnbl9fbGFiZWxcIj57eyByZXNvbHZlZExhYmVsIH19PC9zcGFuPlxuICB9IEBlbHNlIHtcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIH1cblxuICA8c2RjLXRvb2x0aXAgW3BUb29sdGlwXT1cInJlc29sdmVkVG9vbHRpcFwiIFt0b29sdGlwUG9zaXRpb25dPVwidG9vbHRpcFBvc2l0aW9uXCIgW3Rvb2x0aXBFdmVudF09XCJ0b29sdGlwRXZlbnRcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNkYy1pbmZvLXNpZ25fX2ljb25cIiBbYXR0ci5hcmlhLWxhYmVsXT1cInJlc29sdmVkQXJpYUxhYmVsXCI+XG4gICAgICA8aSBbY2xhc3NdPVwiaWNvbkNsYXNzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuICA8L3NkYy10b29sdGlwPlxuPC9zcGFuPlxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1zaWduLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvaW5mby1zaWduL2luZm8tc2lnbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2luZm8tc2lnbi9pbmZvLXNpZ24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHbEgsT0FBTyxFQUFFLCtCQUErQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBV2hFLE1BQU0sT0FBTyxpQkFBaUI7SUFDWCxTQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFN0MsS0FBSyxDQUFVO0lBQ2YsV0FBVyxDQUEyQjtJQUNwQixPQUFPLENBQVU7SUFDbkMsYUFBYSxDQUEyQjtJQUN4QyxTQUFTLEdBQUcsNEJBQTRCLENBQUM7SUFDekMsYUFBYSxHQUFHLDRCQUE0QixDQUFDO0lBQzdDLGVBQWUsR0FBb0IsT0FBTyxDQUFDO0lBQzNDLFlBQVksR0FBaUIsTUFBTSxDQUFDO0lBQ3BDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFFdkIsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sdUJBQXVCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sK0JBQStCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE1BQU0sUUFBUSxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdFLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzFELENBQUM7d0dBeEJVLGlCQUFpQjs0RkFBakIsaUJBQWlCLGlVQ25COUIsMGhCQWFBLHVzQkRBWSxZQUFZLDhCQUFFLGVBQWUsK0JBQUUsZ0JBQWdCOzs0RkFNOUMsaUJBQWlCO2tCQVQ3QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixDQUFDLG1CQUd6Qyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxRQUFROzhCQUtoQyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDcUIsT0FBTztzQkFBakMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBJTkZPX1NJR05fREVGQVVMVF9BUklBX0xBQkVMLCBJTkZPX1NJR05fREVGQVVMVF9JQ09OX0NMQVNTIH0gZnJvbSAnLi4vLi4vY29yZS9jb25zdGFudHMvaW5mby1zaWduLmNvbnN0JztcbmltcG9ydCB0eXBlIHsgSW5mb1NpZ25UcmFuc2xhdGVQYXJhbXMgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL2luZm8tc2lnbi50eXBlJztcbmltcG9ydCB0eXBlIHsgVG9vbHRpcEV2ZW50LCBUb29sdGlwUG9zaXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3Rvb2x0aXAudHlwZSc7XG5pbXBvcnQgeyByZXNvbHZlTnVsbGFibGVUcmFuc2xhdGFibGVUZXh0LCByZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvaTE4bi51dGlsJztcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLWluZm8tc2lnbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgVG9vbHRpcENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvLXNpZ24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW5mby1zaWduLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIEluZm9TaWduQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG5cbiAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsUGFyYW1zPzogSW5mb1NpZ25UcmFuc2xhdGVQYXJhbXM7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHRvb2x0aXAhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRvb2x0aXBQYXJhbXM/OiBJbmZvU2lnblRyYW5zbGF0ZVBhcmFtcztcbiAgQElucHV0KCkgaWNvbkNsYXNzID0gSU5GT19TSUdOX0RFRkFVTFRfSUNPTl9DTEFTUztcbiAgQElucHV0KCkgaWNvbkFyaWFMYWJlbCA9IElORk9fU0lHTl9ERUZBVUxUX0FSSUFfTEFCRUw7XG4gIEBJbnB1dCgpIHRvb2x0aXBQb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uID0gJ3JpZ2h0JztcbiAgQElucHV0KCkgdG9vbHRpcEV2ZW50OiBUb29sdGlwRXZlbnQgPSAnYm90aCc7XG4gIEBJbnB1dCgpIGlubGluZSA9IHRydWU7XG5cbiAgZ2V0IHJlc29sdmVkVG9vbHRpcCgpOiBzdHJpbmcge1xuICAgIHJldHVybiByZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZSwgdGhpcy50b29sdGlwLCAnJywgdGhpcy50b29sdGlwUGFyYW1zKTtcbiAgfVxuXG4gIGdldCByZXNvbHZlZExhYmVsKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiByZXNvbHZlTnVsbGFibGVUcmFuc2xhdGFibGVUZXh0KHRoaXMudHJhbnNsYXRlLCB0aGlzLmxhYmVsLCAnJywgdGhpcy5sYWJlbFBhcmFtcyk7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRBcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9IHJlc29sdmVUcmFuc2xhdGFibGVUZXh0KHRoaXMudHJhbnNsYXRlLCB0aGlzLmljb25BcmlhTGFiZWwpO1xuICAgIHJldHVybiB0ZW1wbGF0ZS5yZXBsYWNlKCd7dGV4dH0nLCB0aGlzLnJlc29sdmVkVG9vbHRpcCk7XG4gIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwic2RjLWluZm8tc2lnblwiIFtjbGFzcy5zZGMtaW5mby1zaWduLS1pbmxpbmVdPVwiaW5saW5lXCI+XG4gIEBpZiAocmVzb2x2ZWRMYWJlbCkge1xuICAgIDxzcGFuIGNsYXNzPVwic2RjLWluZm8tc2lnbl9fbGFiZWxcIj57eyByZXNvbHZlZExhYmVsIH19PC9zcGFuPlxuICB9IEBlbHNlIHtcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIH1cblxuICA8c2RjLXRvb2x0aXAgW3BUb29sdGlwXT1cInJlc29sdmVkVG9vbHRpcFwiIFt0b29sdGlwUG9zaXRpb25dPVwidG9vbHRpcFBvc2l0aW9uXCIgW3Rvb2x0aXBFdmVudF09XCJ0b29sdGlwRXZlbnRcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNkYy1pbmZvLXNpZ25fX2ljb25cIiBbYXR0ci5hcmlhLWxhYmVsXT1cInJlc29sdmVkQXJpYUxhYmVsXCI+XG4gICAgICA8aSBbY2xhc3NdPVwiaWNvbkNsYXNzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuICA8L3NkYy10b29sdGlwPlxuPC9zcGFuPlxuIl19
@@ -0,0 +1,38 @@
1
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import { NumberInputComponent } from '../../../../number-input/number-input.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ export class InlineEditNumberComponent {
7
+ field;
8
+ formGroup;
9
+ tempValue = null;
10
+ ngOnInit() {
11
+ const raw = this.formGroup.get(this.field.name)?.value;
12
+ if (typeof raw === 'number') {
13
+ this.tempValue = raw;
14
+ return;
15
+ }
16
+ if (raw === null || raw === undefined || raw === '') {
17
+ this.tempValue = null;
18
+ return;
19
+ }
20
+ this.tempValue = Number(raw);
21
+ }
22
+ saveValue() {
23
+ this.formGroup.get(this.field.name)?.setValue(this.tempValue);
24
+ }
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InlineEditNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: InlineEditNumberComponent, isStandalone: true, selector: "sdc-inline-edit-number", inputs: { field: "field", formGroup: "formGroup" }, ngImport: i0, template: "<sdc-number-input\n [(ngModel)]=\"tempValue\"\n width=\"100%\"\n [placeholder]=\"field.placeholder || ''\"\n [min]=\"field.min ?? undefined\"\n [max]=\"field.max ?? undefined\"\n [step]=\"field.step ?? 1\"\n></sdc-number-input>\n", styles: [".sdc-inline-edit-number__input{width:100%;box-sizing:border-box}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NumberInputComponent, selector: "sdc-number-input", inputs: ["precision", "scale", "decimalSeparator", "thousandsSeparator", "alignTo", "allowNegative", "min", "max", "step", "infoTooltip", "infoTooltipPosition", "infoTooltipEvent"], outputs: ["pasteRejected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InlineEditNumberComponent, decorators: [{
29
+ type: Component,
30
+ args: [{ selector: 'sdc-inline-edit-number', standalone: true, imports: [FormsModule, NumberInputComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<sdc-number-input\n [(ngModel)]=\"tempValue\"\n width=\"100%\"\n [placeholder]=\"field.placeholder || ''\"\n [min]=\"field.min ?? undefined\"\n [max]=\"field.max ?? undefined\"\n [step]=\"field.step ?? 1\"\n></sdc-number-input>\n", styles: [".sdc-inline-edit-number__input{width:100%;box-sizing:border-box}\n"] }]
31
+ }], propDecorators: { field: [{
32
+ type: Input,
33
+ args: [{ required: true }]
34
+ }], formGroup: [{
35
+ type: Input,
36
+ args: [{ required: true }]
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWVkaXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvaW5saW5lLWVkaXQvY29tcG9uZW50cy9maWVsZHMvaW5saW5lLWVkaXQtbnVtYmVyL2lubGluZS1lZGl0LW51bWJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2lubGluZS1lZGl0L2NvbXBvbmVudHMvZmllbGRzL2lubGluZS1lZGl0LW51bWJlci9pbmxpbmUtZWRpdC1udW1iZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7QUFXdkYsTUFBTSxPQUFPLHlCQUF5QjtJQUNULEtBQUssQ0FBeUI7SUFDOUIsU0FBUyxDQUFhO0lBRWpELFNBQVMsR0FBa0IsSUFBSSxDQUFDO0lBRWhDLFFBQVE7UUFDTixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQztRQUV2RCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1lBQ3JCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3BELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEUsQ0FBQzt3R0F4QlUseUJBQXlCOzRGQUF6Qix5QkFBeUIsc0lDZnRDLDZPQVFBLDJIRENZLFdBQVcsK1ZBQUUsb0JBQW9COzs0RkFNaEMseUJBQXlCO2tCQVRyQyxTQUFTOytCQUNFLHdCQUF3QixjQUN0QixJQUFJLFdBQ1AsQ0FBQyxXQUFXLEVBQUUsb0JBQW9CLENBQUMsbUJBRzNCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVE7OEJBR2QsS0FBSztzQkFBL0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsU0FBUztzQkFBbkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgSW5saW5lRWRpdE51bWJlckZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZmllbGRzL2lubGluZS1lZGl0LW51bWJlci1maWVsZCc7XG5pbXBvcnQgeyBOdW1iZXJJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLWlubGluZS1lZGl0LW51bWJlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgTnVtYmVySW5wdXRDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5saW5lLWVkaXQtbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5saW5lLWVkaXQtbnVtYmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBJbmxpbmVFZGl0TnVtYmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgZmllbGQhOiBJbmxpbmVFZGl0TnVtYmVyRmllbGQ7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcblxuICB0ZW1wVmFsdWU6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHJhdyA9IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmZpZWxkLm5hbWUpPy52YWx1ZTtcblxuICAgIGlmICh0eXBlb2YgcmF3ID09PSAnbnVtYmVyJykge1xuICAgICAgdGhpcy50ZW1wVmFsdWUgPSByYXc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHJhdyA9PT0gbnVsbCB8fCByYXcgPT09IHVuZGVmaW5lZCB8fCByYXcgPT09ICcnKSB7XG4gICAgICB0aGlzLnRlbXBWYWx1ZSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy50ZW1wVmFsdWUgPSBOdW1iZXIocmF3KTtcbiAgfVxuXG4gIHNhdmVWYWx1ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5maWVsZC5uYW1lKT8uc2V0VmFsdWUodGhpcy50ZW1wVmFsdWUpO1xuICB9XG59XG4iLCI8c2RjLW51bWJlci1pbnB1dFxuICBbKG5nTW9kZWwpXT1cInRlbXBWYWx1ZVwiXG4gIHdpZHRoPVwiMTAwJVwiXG4gIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gIFttaW5dPVwiZmllbGQubWluID8/IHVuZGVmaW5lZFwiXG4gIFttYXhdPVwiZmllbGQubWF4ID8/IHVuZGVmaW5lZFwiXG4gIFtzdGVwXT1cImZpZWxkLnN0ZXAgPz8gMVwiXG4+PC9zZGMtbnVtYmVyLWlucHV0PlxuIl19
@@ -0,0 +1,29 @@
1
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import { TextboxComponent } from '../../../../textbox/textbox.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ export class InlineEditTextComponent {
7
+ field;
8
+ formGroup;
9
+ tempValue = '';
10
+ ngOnInit() {
11
+ this.tempValue = this.formGroup.get(this.field.name)?.value ?? '';
12
+ }
13
+ saveValue() {
14
+ this.formGroup.get(this.field.name)?.setValue(this.tempValue);
15
+ }
16
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InlineEditTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: InlineEditTextComponent, isStandalone: true, selector: "sdc-inline-edit-text", inputs: { field: "field", formGroup: "formGroup" }, ngImport: i0, template: "<sdc-textbox\n [(ngModel)]=\"tempValue\"\n width=\"100%\"\n [placeholder]=\"field.placeholder || ''\"\n [maxlength]=\"field.maxlength || 524288\"\n></sdc-textbox>\n", styles: [".sdc-inline-edit-text__input{width:100%;box-sizing:border-box}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TextboxComponent, selector: "sdc-textbox", inputs: ["infoTooltip", "infoTooltipPosition", "infoTooltipEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InlineEditTextComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'sdc-inline-edit-text', standalone: true, imports: [FormsModule, TextboxComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<sdc-textbox\n [(ngModel)]=\"tempValue\"\n width=\"100%\"\n [placeholder]=\"field.placeholder || ''\"\n [maxlength]=\"field.maxlength || 524288\"\n></sdc-textbox>\n", styles: [".sdc-inline-edit-text__input{width:100%;box-sizing:border-box}\n"] }]
22
+ }], propDecorators: { field: [{
23
+ type: Input,
24
+ args: [{ required: true }]
25
+ }], formGroup: [{
26
+ type: Input,
27
+ args: [{ required: true }]
28
+ }] } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWVkaXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2lubGluZS1lZGl0L2NvbXBvbmVudHMvZmllbGRzL2lubGluZS1lZGl0LXRleHQvaW5saW5lLWVkaXQtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2lubGluZS1lZGl0L2NvbXBvbmVudHMvZmllbGRzL2lubGluZS1lZGl0LXRleHQvaW5saW5lLWVkaXQtdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQWEsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7OztBQVd6RSxNQUFNLE9BQU8sdUJBQXVCO0lBQ1AsS0FBSyxDQUF1QjtJQUM1QixTQUFTLENBQWE7SUFFakQsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUVmLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUNwRSxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRSxDQUFDO3dHQVpVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLG9JQ2ZwQywwS0FNQSx5SERHWSxXQUFXLGtnQkFBRSxnQkFBZ0I7OzRGQU01Qix1QkFBdUI7a0JBVG5DLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxtQkFHdkIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUTs4QkFHZCxLQUFLO3NCQUEvQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxTQUFTO3NCQUFuQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBJbmxpbmVFZGl0VGV4dEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZmllbGRzL2lubGluZS1lZGl0LXRleHQtZmllbGQnO1xuaW1wb3J0IHsgVGV4dGJveENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3RleHRib3gvdGV4dGJveC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtaW5saW5lLWVkaXQtdGV4dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgVGV4dGJveENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmxpbmUtZWRpdC10ZXh0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5saW5lLWVkaXQtdGV4dC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgSW5saW5lRWRpdFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBmaWVsZCE6IElubGluZUVkaXRUZXh0RmllbGQ7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcblxuICB0ZW1wVmFsdWUgPSAnJztcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRlbXBWYWx1ZSA9IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmZpZWxkLm5hbWUpPy52YWx1ZSA/PyAnJztcbiAgfVxuXG4gIHNhdmVWYWx1ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5maWVsZC5uYW1lKT8uc2V0VmFsdWUodGhpcy50ZW1wVmFsdWUpO1xuICB9XG59XG4iLCI8c2RjLXRleHRib3hcbiAgWyhuZ01vZGVsKV09XCJ0ZW1wVmFsdWVcIlxuICB3aWR0aD1cIjEwMCVcIlxuICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXIgfHwgJydcIlxuICBbbWF4bGVuZ3RoXT1cImZpZWxkLm1heGxlbmd0aCB8fCA1MjQyODhcIlxuPjwvc2RjLXRleHRib3g+XG4iXX0=