valtech-components 2.0.404 → 2.0.407

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 (280) hide show
  1. package/README.md +71 -0
  2. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +4 -4
  3. package/esm2022/lib/components/atoms/avatar/types.mjs +1 -1
  4. package/esm2022/lib/components/atoms/box/box.component.mjs +4 -4
  5. package/esm2022/lib/components/atoms/box/types.mjs +1 -1
  6. package/esm2022/lib/components/atoms/button/button.component.mjs +6 -6
  7. package/esm2022/lib/components/atoms/button/factory.mjs +1 -1
  8. package/esm2022/lib/components/atoms/countdown/countdown.component.mjs +343 -0
  9. package/esm2022/lib/components/atoms/countdown/types.mjs +27 -0
  10. package/esm2022/lib/components/atoms/display/display.component.mjs +4 -4
  11. package/esm2022/lib/components/atoms/display/types.mjs +1 -1
  12. package/esm2022/lib/components/atoms/divider/divider.component.mjs +4 -4
  13. package/esm2022/lib/components/atoms/divider/types.mjs +1 -1
  14. package/esm2022/lib/components/atoms/fab/fab.component.mjs +152 -0
  15. package/esm2022/lib/components/atoms/fab/types.mjs +2 -0
  16. package/esm2022/lib/components/atoms/href/href.component.mjs +4 -4
  17. package/esm2022/lib/components/atoms/href/types.mjs +1 -1
  18. package/esm2022/lib/components/atoms/icon/icon.component.mjs +4 -4
  19. package/esm2022/lib/components/atoms/icon/types.mjs +1 -1
  20. package/esm2022/lib/components/atoms/image/image.component.mjs +6 -6
  21. package/esm2022/lib/components/atoms/image/types.mjs +1 -1
  22. package/esm2022/lib/components/atoms/price-tag/price-tag.component.mjs +245 -0
  23. package/esm2022/lib/components/atoms/price-tag/types.mjs +15 -0
  24. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +4 -4
  25. package/esm2022/lib/components/atoms/progress-bar/types.mjs +1 -1
  26. package/esm2022/lib/components/atoms/progress-ring/progress-ring.component.mjs +149 -0
  27. package/esm2022/lib/components/atoms/progress-ring/types.mjs +2 -0
  28. package/esm2022/lib/components/atoms/qr-code/qr-code.component.mjs +417 -0
  29. package/esm2022/lib/components/atoms/qr-code/types.mjs +2 -0
  30. package/esm2022/lib/components/atoms/skeleton/skeleton.component.mjs +193 -0
  31. package/esm2022/lib/components/atoms/skeleton/types.mjs +13 -0
  32. package/esm2022/lib/components/atoms/text/text.component.mjs +4 -4
  33. package/esm2022/lib/components/atoms/text/types.mjs +1 -1
  34. package/esm2022/lib/components/atoms/title/title.component.mjs +4 -4
  35. package/esm2022/lib/components/atoms/title/types.mjs +1 -1
  36. package/esm2022/lib/components/molecules/accordion/accordion.component.mjs +139 -0
  37. package/esm2022/lib/components/molecules/accordion/types.mjs +2 -0
  38. package/esm2022/lib/components/molecules/action-header/action-header.component.mjs +4 -4
  39. package/esm2022/lib/components/molecules/action-header/types.mjs +1 -1
  40. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +4 -4
  41. package/esm2022/lib/components/molecules/alert-box/types.mjs +1 -1
  42. package/esm2022/lib/components/molecules/breadcrumb/breadcrumb.component.mjs +137 -0
  43. package/esm2022/lib/components/molecules/breadcrumb/types.mjs +2 -0
  44. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +4 -4
  45. package/esm2022/lib/components/molecules/button-group/types.mjs +1 -1
  46. package/esm2022/lib/components/molecules/card/card.component.mjs +5 -5
  47. package/esm2022/lib/components/molecules/card/types.mjs +1 -1
  48. package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +4 -4
  49. package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +174 -0
  50. package/esm2022/lib/components/molecules/chip-group/types.mjs +2 -0
  51. package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +4 -4
  52. package/esm2022/lib/components/molecules/code-display/types.mjs +1 -1
  53. package/esm2022/lib/components/molecules/command-display/command-display.component.mjs +4 -4
  54. package/esm2022/lib/components/molecules/command-display/types.mjs +1 -1
  55. package/esm2022/lib/components/molecules/comment/comment.component.mjs +634 -0
  56. package/esm2022/lib/components/molecules/comment/types.mjs +2 -0
  57. package/esm2022/lib/components/molecules/comment-input/comment-input.component.mjs +4 -4
  58. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +4 -4
  59. package/esm2022/lib/components/molecules/content-loader/types.mjs +1 -1
  60. package/esm2022/lib/components/molecules/currency-input/currency-input.component.mjs +368 -0
  61. package/esm2022/lib/components/molecules/currency-input/types.mjs +18 -0
  62. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +5 -5
  63. package/esm2022/lib/components/molecules/date-range-input/date-range-input.component.mjs +418 -0
  64. package/esm2022/lib/components/molecules/date-range-input/types.mjs +2 -0
  65. package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +4 -4
  66. package/esm2022/lib/components/molecules/expandable-text/expandable-text.component.mjs +4 -4
  67. package/esm2022/lib/components/molecules/expandable-text/types.mjs +1 -1
  68. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +4 -4
  69. package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +279 -0
  70. package/esm2022/lib/components/molecules/glow-card/types.mjs +11 -0
  71. package/esm2022/lib/components/molecules/hint/hint.component.mjs +4 -4
  72. package/esm2022/lib/components/molecules/hour-input/hour-input.component.mjs +4 -4
  73. package/esm2022/lib/components/molecules/info/info.component.mjs +4 -4
  74. package/esm2022/lib/components/molecules/info/types.mjs +1 -1
  75. package/esm2022/lib/components/molecules/language-selector/language-selector.component.mjs +4 -4
  76. package/esm2022/lib/components/molecules/language-selector/types.mjs +1 -1
  77. package/esm2022/lib/components/molecules/layered-card/layered-card.component.mjs +4 -4
  78. package/esm2022/lib/components/molecules/layered-card/types.mjs +1 -1
  79. package/esm2022/lib/components/molecules/link/link.component.mjs +4 -4
  80. package/esm2022/lib/components/molecules/link/types.mjs +1 -1
  81. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +4 -4
  82. package/esm2022/lib/components/molecules/links-cake/types.mjs +1 -1
  83. package/esm2022/lib/components/molecules/multi-select-search/multi-select-search.component.mjs +5 -5
  84. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +4 -4
  85. package/esm2022/lib/components/molecules/notes-box/types.mjs +1 -1
  86. package/esm2022/lib/components/molecules/number-from-to/number-from-to.component.mjs +4 -4
  87. package/esm2022/lib/components/molecules/number-input/number-input.component.mjs +4 -4
  88. package/esm2022/lib/components/molecules/number-stepper/number-stepper.component.mjs +377 -0
  89. package/esm2022/lib/components/molecules/number-stepper/types.mjs +2 -0
  90. package/esm2022/lib/components/molecules/pagination/pagination.component.mjs +253 -0
  91. package/esm2022/lib/components/molecules/pagination/types.mjs +2 -0
  92. package/esm2022/lib/components/molecules/participant-card/participant-card.component.mjs +486 -0
  93. package/esm2022/lib/components/molecules/participant-card/types.mjs +21 -0
  94. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +4 -4
  95. package/esm2022/lib/components/molecules/phone-input/phone-input.component.mjs +336 -0
  96. package/esm2022/lib/components/molecules/phone-input/types.mjs +19 -0
  97. package/esm2022/lib/components/molecules/pill/pill.component.mjs +4 -4
  98. package/esm2022/lib/components/molecules/pill/types.mjs +1 -1
  99. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +4 -4
  100. package/esm2022/lib/components/molecules/plain-code-box/plain-code-box.component.mjs +4 -4
  101. package/esm2022/lib/components/molecules/plain-code-box/types.mjs +1 -1
  102. package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +5 -5
  103. package/esm2022/lib/components/molecules/popover-selector/types.mjs +1 -1
  104. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +4 -4
  105. package/esm2022/lib/components/molecules/progress-status/types.mjs +1 -1
  106. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +4 -4
  107. package/esm2022/lib/components/molecules/prompter/types.mjs +1 -1
  108. package/esm2022/lib/components/molecules/quote-box/quote-box.component.mjs +155 -0
  109. package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +5 -5
  110. package/esm2022/lib/components/molecules/raffle-status-card/raffle-status-card.component.mjs +484 -0
  111. package/esm2022/lib/components/molecules/raffle-status-card/types.mjs +23 -0
  112. package/esm2022/lib/components/molecules/range-input/range-input.component.mjs +148 -0
  113. package/esm2022/lib/components/molecules/range-input/types.mjs +2 -0
  114. package/esm2022/lib/components/molecules/rating/rating.component.mjs +149 -0
  115. package/esm2022/lib/components/molecules/rating/types.mjs +2 -0
  116. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +4 -4
  117. package/esm2022/lib/components/molecules/segment-control/segment-control.component.mjs +145 -0
  118. package/esm2022/lib/components/molecules/segment-control/types.mjs +2 -0
  119. package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +5 -5
  120. package/esm2022/lib/components/molecules/select-search/select-search.component.mjs +5 -5
  121. package/esm2022/lib/components/molecules/share-buttons/share-buttons.component.mjs +277 -0
  122. package/esm2022/lib/components/molecules/share-buttons/types.mjs +88 -0
  123. package/esm2022/lib/components/molecules/stats-card/stats-card.component.mjs +165 -0
  124. package/esm2022/lib/components/molecules/stats-card/types.mjs +2 -0
  125. package/esm2022/lib/components/molecules/stepper/stepper.component.mjs +239 -0
  126. package/esm2022/lib/components/molecules/stepper/types.mjs +2 -0
  127. package/esm2022/lib/components/molecules/tabs/tabs.component.mjs +135 -0
  128. package/esm2022/lib/components/molecules/tabs/types.mjs +2 -0
  129. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +4 -4
  130. package/esm2022/lib/components/molecules/textarea-input/textarea-input.component.mjs +204 -0
  131. package/esm2022/lib/components/molecules/textarea-input/types.mjs +2 -0
  132. package/esm2022/lib/components/molecules/ticket-grid/ticket-grid.component.mjs +497 -0
  133. package/esm2022/lib/components/molecules/ticket-grid/types.mjs +11 -0
  134. package/esm2022/lib/components/molecules/timeline/timeline.component.mjs +140 -0
  135. package/esm2022/lib/components/molecules/timeline/types.mjs +2 -0
  136. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +4 -4
  137. package/esm2022/lib/components/molecules/title-block/types.mjs +1 -1
  138. package/esm2022/lib/components/molecules/toggle-input/toggle-input.component.mjs +89 -0
  139. package/esm2022/lib/components/molecules/toggle-input/types.mjs +2 -0
  140. package/esm2022/lib/components/molecules/winner-display/types.mjs +9 -0
  141. package/esm2022/lib/components/molecules/winner-display/winner-display.component.mjs +370 -0
  142. package/esm2022/lib/components/organisms/article/article.component.mjs +4 -4
  143. package/esm2022/lib/components/organisms/article/types.mjs +1 -1
  144. package/esm2022/lib/components/organisms/banner/banner.component.mjs +4 -4
  145. package/esm2022/lib/components/organisms/banner/types.mjs +1 -1
  146. package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +578 -0
  147. package/esm2022/lib/components/organisms/comment-section/types.mjs +2 -0
  148. package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +853 -0
  149. package/esm2022/lib/components/organisms/data-table/types.mjs +13 -0
  150. package/esm2022/lib/components/organisms/footer/footer.component.mjs +4 -4
  151. package/esm2022/lib/components/organisms/footer/types.mjs +1 -1
  152. package/esm2022/lib/components/organisms/form/factory.mjs +1 -1
  153. package/esm2022/lib/components/organisms/form/form-footer/form-footer.component.mjs +4 -4
  154. package/esm2022/lib/components/organisms/form/form.component.mjs +4 -4
  155. package/esm2022/lib/components/organisms/header/header.component.mjs +4 -4
  156. package/esm2022/lib/components/organisms/header/types.mjs +1 -1
  157. package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +4 -4
  158. package/esm2022/lib/components/organisms/item-list/types.mjs +1 -1
  159. package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +4 -4
  160. package/esm2022/lib/components/organisms/no-content/types.mjs +1 -1
  161. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +4 -4
  162. package/esm2022/lib/components/organisms/toolbar/types.mjs +1 -1
  163. package/esm2022/lib/components/organisms/wizard/types.mjs +1 -1
  164. package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +4 -4
  165. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +4 -4
  166. package/esm2022/lib/components/templates/layout/layout.component.mjs +4 -4
  167. package/esm2022/lib/components/templates/simple/simple.component.mjs +5 -5
  168. package/esm2022/lib/components/templates/simple/types.mjs +1 -1
  169. package/esm2022/lib/components/types.mjs +22 -16
  170. package/esm2022/lib/services/confirmation-dialog/confirmation-dialog.service.mjs +180 -0
  171. package/esm2022/lib/services/confirmation-dialog/types.mjs +14 -0
  172. package/esm2022/lib/services/download.service.mjs +4 -4
  173. package/esm2022/lib/services/icons.service.mjs +4 -4
  174. package/esm2022/lib/services/in-app-browser.service.mjs +4 -4
  175. package/esm2022/lib/services/lang-provider/components/lang-settings.mjs +1 -1
  176. package/esm2022/lib/services/lang-provider/content.mjs +1 -1
  177. package/esm2022/lib/services/lang-provider/lang-provider.service.mjs +4 -4
  178. package/esm2022/lib/services/lang-provider/types.mjs +1 -1
  179. package/esm2022/lib/services/link-processor.service.mjs +4 -4
  180. package/esm2022/lib/services/local-storage.service.mjs +1 -1
  181. package/esm2022/lib/services/modal/modal.service.mjs +213 -0
  182. package/esm2022/lib/services/modal/simple-modal-content.component.mjs +133 -0
  183. package/esm2022/lib/services/modal/types.mjs +26 -0
  184. package/esm2022/lib/services/navigation.service.mjs +4 -4
  185. package/esm2022/lib/services/qr-generator/qr-generator.service.mjs +341 -0
  186. package/esm2022/lib/services/qr-generator/types.mjs +46 -0
  187. package/esm2022/lib/services/theme.service.mjs +4 -4
  188. package/esm2022/lib/services/toast.service.mjs +4 -4
  189. package/esm2022/lib/services/types.mjs +1 -1
  190. package/esm2022/lib/shared/constants/storage.mjs +1 -1
  191. package/esm2022/lib/shared/pipes/process-links.pipe.mjs +4 -4
  192. package/esm2022/lib/shared/utils/content.mjs +1 -1
  193. package/esm2022/lib/shared/utils/dom.mjs +1 -1
  194. package/esm2022/lib/shared/utils/form-defaults.mjs +1 -1
  195. package/esm2022/lib/shared/utils/simple-content.mjs +1 -1
  196. package/esm2022/lib/shared/utils/styles.mjs +1 -1
  197. package/esm2022/lib/shared/utils/text.mjs +1 -1
  198. package/esm2022/public-api.mjs +73 -3
  199. package/esm2022/valtech-components.mjs +1 -1
  200. package/fesm2022/valtech-components-simple-modal-content.component-DQhEgUmS.mjs +136 -0
  201. package/fesm2022/valtech-components-simple-modal-content.component-DQhEgUmS.mjs.map +1 -0
  202. package/fesm2022/valtech-components.mjs +14848 -4293
  203. package/fesm2022/valtech-components.mjs.map +1 -1
  204. package/lib/components/atoms/countdown/countdown.component.d.ts +38 -0
  205. package/lib/components/atoms/countdown/types.d.ts +108 -0
  206. package/lib/components/atoms/fab/fab.component.d.ts +16 -0
  207. package/lib/components/atoms/fab/types.d.ts +45 -0
  208. package/lib/components/atoms/price-tag/price-tag.component.d.ts +16 -0
  209. package/lib/components/atoms/price-tag/types.d.ts +59 -0
  210. package/lib/components/atoms/progress-ring/progress-ring.component.d.ts +20 -0
  211. package/lib/components/atoms/progress-ring/types.d.ts +24 -0
  212. package/lib/components/atoms/qr-code/qr-code.component.d.ts +36 -0
  213. package/lib/components/atoms/qr-code/types.d.ts +124 -0
  214. package/lib/components/atoms/skeleton/skeleton.component.d.ts +12 -0
  215. package/lib/components/atoms/skeleton/types.d.ts +29 -0
  216. package/lib/components/molecules/accordion/accordion.component.d.ts +19 -0
  217. package/lib/components/molecules/accordion/types.d.ts +47 -0
  218. package/lib/components/molecules/breadcrumb/breadcrumb.component.d.ts +22 -0
  219. package/lib/components/molecules/breadcrumb/types.d.ts +45 -0
  220. package/lib/components/molecules/chip-group/chip-group.component.d.ts +22 -0
  221. package/lib/components/molecules/chip-group/types.d.ts +65 -0
  222. package/lib/components/molecules/comment/comment.component.d.ts +42 -0
  223. package/lib/components/molecules/comment/types.d.ts +171 -0
  224. package/lib/components/molecules/currency-input/currency-input.component.d.ts +43 -0
  225. package/lib/components/molecules/currency-input/types.d.ts +96 -0
  226. package/lib/components/molecules/date-range-input/date-range-input.component.d.ts +42 -0
  227. package/lib/components/molecules/date-range-input/types.d.ts +109 -0
  228. package/lib/components/molecules/glow-card/glow-card.component.d.ts +51 -0
  229. package/lib/components/molecules/glow-card/types.d.ts +92 -0
  230. package/lib/components/molecules/number-stepper/number-stepper.component.d.ts +34 -0
  231. package/lib/components/molecules/number-stepper/types.d.ts +88 -0
  232. package/lib/components/molecules/pagination/pagination.component.d.ts +15 -0
  233. package/lib/components/molecules/pagination/types.d.ts +41 -0
  234. package/lib/components/molecules/participant-card/participant-card.component.d.ts +26 -0
  235. package/lib/components/molecules/participant-card/types.d.ts +132 -0
  236. package/lib/components/molecules/phone-input/phone-input.component.d.ts +38 -0
  237. package/lib/components/molecules/phone-input/types.d.ts +98 -0
  238. package/lib/components/molecules/quote-box/quote-box.component.d.ts +26 -0
  239. package/lib/components/molecules/raffle-status-card/raffle-status-card.component.d.ts +22 -0
  240. package/lib/components/molecules/raffle-status-card/types.d.ts +108 -0
  241. package/lib/components/molecules/range-input/range-input.component.d.ts +30 -0
  242. package/lib/components/molecules/range-input/types.d.ts +59 -0
  243. package/lib/components/molecules/rating/rating.component.d.ts +17 -0
  244. package/lib/components/molecules/rating/types.d.ts +41 -0
  245. package/lib/components/molecules/segment-control/segment-control.component.d.ts +30 -0
  246. package/lib/components/molecules/segment-control/types.d.ts +46 -0
  247. package/lib/components/molecules/share-buttons/share-buttons.component.d.ts +22 -0
  248. package/lib/components/molecules/share-buttons/types.d.ts +108 -0
  249. package/lib/components/molecules/stats-card/stats-card.component.d.ts +14 -0
  250. package/lib/components/molecules/stats-card/types.d.ts +41 -0
  251. package/lib/components/molecules/stepper/stepper.component.d.ts +21 -0
  252. package/lib/components/molecules/stepper/types.d.ts +66 -0
  253. package/lib/components/molecules/tabs/tabs.component.d.ts +17 -0
  254. package/lib/components/molecules/tabs/types.d.ts +45 -0
  255. package/lib/components/molecules/textarea-input/textarea-input.component.d.ts +27 -0
  256. package/lib/components/molecules/textarea-input/types.d.ts +74 -0
  257. package/lib/components/molecules/ticket-grid/ticket-grid.component.d.ts +41 -0
  258. package/lib/components/molecules/ticket-grid/types.d.ts +122 -0
  259. package/lib/components/molecules/timeline/timeline.component.d.ts +14 -0
  260. package/lib/components/molecules/timeline/types.d.ts +39 -0
  261. package/lib/components/molecules/toggle-input/toggle-input.component.d.ts +24 -0
  262. package/lib/components/molecules/toggle-input/types.d.ts +30 -0
  263. package/lib/components/molecules/winner-display/types.d.ts +103 -0
  264. package/lib/components/molecules/winner-display/winner-display.component.d.ts +37 -0
  265. package/lib/components/organisms/article/article.component.d.ts +1 -1
  266. package/lib/components/organisms/comment-section/comment-section.component.d.ts +52 -0
  267. package/lib/components/organisms/comment-section/types.d.ts +144 -0
  268. package/lib/components/organisms/data-table/data-table.component.d.ts +46 -0
  269. package/lib/components/organisms/data-table/types.d.ts +205 -0
  270. package/lib/components/types.d.ts +21 -15
  271. package/lib/services/confirmation-dialog/confirmation-dialog.service.d.ts +71 -0
  272. package/lib/services/confirmation-dialog/types.d.ts +61 -0
  273. package/lib/services/modal/modal.service.d.ts +98 -0
  274. package/lib/services/modal/simple-modal-content.component.d.ts +19 -0
  275. package/lib/services/modal/types.d.ts +155 -0
  276. package/lib/services/qr-generator/qr-generator.service.d.ts +115 -0
  277. package/lib/services/qr-generator/types.d.ts +141 -0
  278. package/package.json +11 -4
  279. package/public-api.d.ts +72 -2
  280. package/LICENSE +0 -21
@@ -0,0 +1,213 @@
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { ModalController } from '@ionic/angular/standalone';
3
+ import { MODAL_SIZES, DEFAULT_MODAL_CONFIRM_BUTTON, DEFAULT_MODAL_CANCEL_BUTTON, } from './types';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * ModalService
7
+ *
8
+ * A service for creating and managing modals with various configurations.
9
+ *
10
+ * @example Basic component modal
11
+ * ```typescript
12
+ * const result = await modalService.open({
13
+ * component: MyFormComponent,
14
+ * componentProps: { userId: 123 },
15
+ * header: { title: 'Edit User', showCloseButton: true },
16
+ * size: 'medium'
17
+ * });
18
+ *
19
+ * if (result.role === 'confirm') {
20
+ * console.log('Saved:', result.data);
21
+ * }
22
+ * ```
23
+ *
24
+ * @example Simple content modal
25
+ * ```typescript
26
+ * await modalService.openSimple({
27
+ * title: 'Terms of Service',
28
+ * content: '<p>Terms content here...</p>',
29
+ * size: 'large',
30
+ * showCloseButton: true
31
+ * });
32
+ * ```
33
+ *
34
+ * @example Sheet modal (mobile)
35
+ * ```typescript
36
+ * const result = await modalService.openSheet({
37
+ * component: FilterComponent,
38
+ * breakpoints: {
39
+ * initialBreakpoint: 0.5,
40
+ * breakpoints: [0, 0.5, 1],
41
+ * showHandle: true
42
+ * }
43
+ * });
44
+ * ```
45
+ */
46
+ export class ModalService {
47
+ constructor() {
48
+ this.modalController = inject(ModalController);
49
+ }
50
+ /**
51
+ * Opens a modal with a component.
52
+ * @param options - Modal configuration
53
+ * @returns Promise resolving to the modal result
54
+ */
55
+ async open(options) {
56
+ const size = MODAL_SIZES[options.size || 'medium'];
57
+ const cssClasses = this.buildCssClasses(options);
58
+ const modal = await this.modalController.create({
59
+ component: options.component,
60
+ componentProps: {
61
+ ...options.componentProps,
62
+ // Pass modal reference for dismiss from within component
63
+ _modalRef: {
64
+ dismiss: (data, role) => modal.dismiss(data, role),
65
+ },
66
+ },
67
+ id: options.id,
68
+ showBackdrop: options.showBackdrop ?? true,
69
+ backdropDismiss: options.backdropDismiss ?? true,
70
+ keyboardClose: options.keyboardClose ?? true,
71
+ cssClass: cssClasses,
72
+ mode: options.mode,
73
+ animated: options.animated ?? true,
74
+ canDismiss: this.normalizeCanDismiss(options.canDismiss ?? true),
75
+ presentingElement: options.presentingElement,
76
+ // Sheet modal options
77
+ initialBreakpoint: options.breakpoints?.initialBreakpoint,
78
+ breakpoints: options.breakpoints?.breakpoints,
79
+ handle: options.breakpoints?.showHandle,
80
+ handleBehavior: options.breakpoints?.handleBehavior,
81
+ });
82
+ // Apply custom size styles
83
+ if (options.width || options.height || size) {
84
+ const modalEl = modal;
85
+ modalEl.style.setProperty('--width', options.width || size.width || 'auto');
86
+ modalEl.style.setProperty('--height', options.height || size.height || 'auto');
87
+ }
88
+ await modal.present();
89
+ const { data, role } = await modal.onDidDismiss();
90
+ return { data, role };
91
+ }
92
+ /**
93
+ * Opens a simple content modal without a custom component.
94
+ * Uses Ionic's alert-like styling but with modal capabilities.
95
+ * @param options - Simple modal configuration
96
+ * @returns Promise resolving to the modal result
97
+ */
98
+ async openSimple(options) {
99
+ // Import the simple modal component dynamically
100
+ const { SimpleModalContentComponent } = await import('./simple-modal-content.component');
101
+ return this.open({
102
+ component: SimpleModalContentComponent,
103
+ componentProps: {
104
+ title: options.title,
105
+ content: options.content,
106
+ buttons: options.buttons || [DEFAULT_MODAL_CANCEL_BUTTON, DEFAULT_MODAL_CONFIRM_BUTTON],
107
+ showCloseButton: options.showCloseButton ?? true,
108
+ },
109
+ size: options.size || 'medium',
110
+ backdropDismiss: options.backdropDismiss ?? true,
111
+ cssClass: ['simple-modal', options.cssClass].filter(Boolean).join(' '),
112
+ });
113
+ }
114
+ /**
115
+ * Opens a confirmation modal.
116
+ * @param title - Modal title
117
+ * @param message - Modal message
118
+ * @param confirmButton - Confirm button config (optional)
119
+ * @param cancelButton - Cancel button config (optional)
120
+ * @returns Promise resolving to true if confirmed
121
+ */
122
+ async confirm(title, message, confirmButton, cancelButton) {
123
+ const result = await this.openSimple({
124
+ title,
125
+ content: message,
126
+ size: 'small',
127
+ showCloseButton: false,
128
+ backdropDismiss: false,
129
+ buttons: [
130
+ { ...DEFAULT_MODAL_CANCEL_BUTTON, ...cancelButton },
131
+ { ...DEFAULT_MODAL_CONFIRM_BUTTON, ...confirmButton },
132
+ ],
133
+ });
134
+ return result.role === 'confirm';
135
+ }
136
+ /**
137
+ * Opens a sheet modal (iOS-style bottom sheet).
138
+ * @param options - Modal configuration with sheet-specific options
139
+ * @returns Promise resolving to the modal result
140
+ */
141
+ async openSheet(options) {
142
+ return this.open({
143
+ ...options,
144
+ breakpoints: {
145
+ initialBreakpoint: options.initialBreakpoint ?? 0.5,
146
+ breakpoints: options.breakpoints ?? [0, 0.5, 1],
147
+ showHandle: options.showHandle ?? true,
148
+ },
149
+ cssClass: ['sheet-modal', options.cssClass].filter(Boolean).join(' '),
150
+ });
151
+ }
152
+ /**
153
+ * Opens a fullscreen modal.
154
+ * @param options - Modal configuration
155
+ * @returns Promise resolving to the modal result
156
+ */
157
+ async openFullscreen(options) {
158
+ return this.open({
159
+ ...options,
160
+ size: 'full',
161
+ cssClass: ['fullscreen-modal', options.cssClass].filter(Boolean).join(' '),
162
+ });
163
+ }
164
+ /**
165
+ * Dismisses the top-most modal.
166
+ * @param data - Optional data to return
167
+ * @param role - Optional role
168
+ */
169
+ async dismiss(data, role) {
170
+ return this.modalController.dismiss(data, role);
171
+ }
172
+ /**
173
+ * Gets the top-most modal.
174
+ */
175
+ async getTop() {
176
+ return this.modalController.getTop();
177
+ }
178
+ normalizeCanDismiss(canDismiss) {
179
+ if (typeof canDismiss === 'boolean') {
180
+ return canDismiss;
181
+ }
182
+ // Wrap the function to ensure it returns a Promise
183
+ return async (data, role) => {
184
+ const result = canDismiss();
185
+ return Promise.resolve(result);
186
+ };
187
+ }
188
+ buildCssClasses(options) {
189
+ const classes = ['val-modal'];
190
+ if (options.size) {
191
+ classes.push(`modal-${options.size}`);
192
+ }
193
+ if (options.header) {
194
+ classes.push('modal-with-header');
195
+ }
196
+ if (options.footer) {
197
+ classes.push('modal-with-footer');
198
+ }
199
+ if (options.cssClass) {
200
+ classes.push(options.cssClass);
201
+ }
202
+ return classes.join(' ');
203
+ }
204
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
205
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalService, providedIn: 'root' }); }
206
+ }
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalService, decorators: [{
208
+ type: Injectable,
209
+ args: [{
210
+ providedIn: 'root',
211
+ }]
212
+ }] });
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvbW9kYWwvbW9kYWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUtMLFdBQVcsRUFDWCw0QkFBNEIsRUFDNUIsMkJBQTJCLEdBQzVCLE1BQU0sU0FBUyxDQUFDOztBQUVqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdDRztBQUlILE1BQU0sT0FBTyxZQUFZO0lBSHpCO1FBSVUsb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7S0E0TG5EO0lBMUxDOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsSUFBSSxDQUFtQixPQUF5QjtRQUNwRCxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsQ0FBQztRQUNuRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFDOUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO1lBQzVCLGNBQWMsRUFBRTtnQkFDZCxHQUFHLE9BQU8sQ0FBQyxjQUFjO2dCQUN6Qix5REFBeUQ7Z0JBQ3pELFNBQVMsRUFBRTtvQkFDVCxPQUFPLEVBQUUsQ0FBQyxJQUFVLEVBQUUsSUFBYSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7aUJBQ2xFO2FBQ0Y7WUFDRCxFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFD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Y0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQge1xuICBNb2RhbE1ldGFkYXRhLFxuICBTaW1wbGVNb2RhbE1ldGFkYXRhLFxuICBNb2RhbFJlc3VsdCxcbiAgTW9kYWxCdXR0b24sXG4gIE1PREFMX1NJWkVTLFxuICBERUZBVUxUX01PREFMX0NPTkZJUk1fQlVUVE9OLFxuICBERUZBVUxUX01PREFMX0NBTkNFTF9CVVRUT04sXG59IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIE1vZGFsU2VydmljZVxuICpcbiAqIEEgc2VydmljZSBmb3IgY3JlYXRpbmcgYW5kIG1hbmFnaW5nIG1vZGFscyB3aXRoIHZhcmlvdXMgY29uZmlndXJhdGlvbnMuXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgY29tcG9uZW50IG1vZGFsXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCByZXN1bHQgPSBhd2FpdCBtb2RhbFNlcnZpY2Uub3Blbih7XG4gKiAgIGNvbXBvbmVudDogTXlGb3JtQ29tcG9uZW50LFxuICogICBjb21wb25lbnRQcm9wczogeyB1c2VySWQ6IDEyMyB9LFxuICogICBoZWFkZXI6IHsgdGl0bGU6ICdFZGl0IFVzZXInLCBzaG93Q2xvc2VCdXR0b246IHRydWUgfSxcbiAqICAgc2l6ZTogJ21lZGl1bSdcbiAqIH0pO1xuICpcbiAqIGlmIChyZXN1bHQucm9sZSA9PT0gJ2NvbmZpcm0nKSB7XG4gKiAgIGNvbnNvbGUubG9nKCdTYXZlZDonLCByZXN1bHQuZGF0YSk7XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBTaW1wbGUgY29udGVudCBtb2RhbFxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgbW9kYWxTZXJ2aWNlLm9wZW5TaW1wbGUoe1xuICogICB0aXRsZTogJ1Rlcm1zIG9mIFNlcnZpY2UnLFxuICogICBjb250ZW50OiAnPHA+VGVybXMgY29udGVudCBoZXJlLi4uPC9wPicsXG4gKiAgIHNpemU6ICdsYXJnZScsXG4gKiAgIHNob3dDbG9zZUJ1dHRvbjogdHJ1ZVxuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBTaGVldCBtb2RhbCAobW9iaWxlKVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcmVzdWx0ID0gYXdhaXQgbW9kYWxTZXJ2aWNlLm9wZW5TaGVldCh7XG4gKiAgIGNvbXBvbmVudDogRmlsdGVyQ29tcG9uZW50LFxuICogICBicmVha3BvaW50czoge1xuICogICAgIGluaXRpYWxCcmVha3BvaW50OiAwLjUsXG4gKiAgICAgYnJlYWtwb2ludHM6IFswLCAwLjUsIDFdLFxuICogICAgIHNob3dIYW5kbGU6IHRydWVcbiAqICAgfVxuICogfSk7XG4gKiBgYGBcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsU2VydmljZSB7XG4gIHByaXZhdGUgbW9kYWxDb250cm9sbGVyID0gaW5qZWN0KE1vZGFsQ29udHJvbGxlcik7XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgbW9kYWwgd2l0aCBhIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBNb2RhbCBjb25maWd1cmF0aW9uXG4gICAqIEByZXR1cm5zIFByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSBtb2RhbCByZXN1bHRcbiAgICovXG4gIGFzeW5jIG9wZW48VCA9IGFueSwgUiA9IGFueT4ob3B0aW9uczogTW9kYWxNZXRhZGF0YTxUPik6IFByb21pc2U8TW9kYWxSZXN1bHQ8Uj4+IHtcbiAgICBjb25zdCBzaXplID0gTU9EQUxfU0laRVNbb3B0aW9ucy5zaXplIHx8ICdtZWRpdW0nXTtcbiAgICBjb25zdCBjc3NDbGFzc2VzID0gdGhpcy5idWlsZENzc0NsYXNzZXMob3B0aW9ucyk7XG5cbiAgICBjb25zdCBtb2RhbCA9IGF3YWl0IHRoaXMubW9kYWxDb250cm9sbGVyLmNyZWF0ZSh7XG4gICAgICBjb21wb25lbnQ6IG9wdGlvbnMuY29tcG9uZW50LFxuICAgICAgY29tcG9uZW50UHJvcHM6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5jb21wb25lbnRQcm9wcyxcbiAgICAgICAgLy8gUGFzcyBtb2RhbCByZWZlcmVuY2UgZm9yIGRpc21pc3MgZnJvbSB3aXRoaW4gY29tcG9uZW50XG4gICAgICAgIF9tb2RhbFJlZjoge1xuICAgICAgICAgIGRpc21pc3M6IChkYXRhPzogYW55LCByb2xlPzogc3RyaW5nKSA9PiBtb2RhbC5kaXNtaXNzKGRhdGEsIHJvbGUpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGlkOiBvcHRpb25zLmlkLFxuICAgICAgc2hvd0JhY2tkcm9wOiBvcHRpb25zLnNob3dCYWNrZHJvcCA/PyB0cnVlLFxuICAgICAgYmFja2Ryb3BEaXNtaXNzOiBvcHRpb25zLmJhY2tkcm9wRGlzbWlzcyA/PyB0cnVlLFxuICAgICAga2V5Ym9hcmRDbG9zZTogb3B0aW9ucy5rZXlib2FyZENsb3NlID8/IHRydWUsXG4gICAgICBjc3NDbGFzczogY3NzQ2xhc3NlcyxcbiAgICAgIG1vZGU6IG9wdGlvbnMubW9kZSxcbiAgICAgIGFuaW1hdGVkOiBvcHRpb25zLmFuaW1hdGVkID8/IHRydWUsXG4gICAgICBjYW5EaXNtaXNzOiB0aGlzLm5vcm1hbGl6ZUNhbkRpc21pc3Mob3B0aW9ucy5jYW5EaXNtaXNzID8/IHRydWUpLFxuICAgICAgcHJlc2VudGluZ0VsZW1lbnQ6IG9wdGlvbnMucHJlc2VudGluZ0VsZW1lbnQsXG4gICAgICAvLyBTaGVldCBtb2RhbCBvcHRpb25zXG4gICAgICBpbml0aWFsQnJlYWtwb2ludDogb3B0aW9ucy5icmVha3BvaW50cz8uaW5pdGlhbEJyZWFrcG9pbnQsXG4gICAgICBicmVha3BvaW50czogb3B0aW9ucy5icmVha3BvaW50cz8uYnJlYWtwb2ludHMsXG4gICAgICBoYW5kbGU6IG9wdGlvbnMuYnJlYWtwb2ludHM/LnNob3dIYW5kbGUsXG4gICAgICBoYW5kbGVCZWhhdmlvcjogb3B0aW9ucy5icmVha3BvaW50cz8uaGFuZGxlQmVoYXZpb3IsXG4gICAgfSk7XG5cbiAgICAvLyBBcHBseSBjdXN0b20gc2l6ZSBzdHlsZXNcbiAgICBpZiAob3B0aW9ucy53aWR0aCB8fCBvcHRpb25zLmhlaWdodCB8fCBzaXplKSB7XG4gICAgICBjb25zdCBtb2RhbEVsID0gbW9kYWwgYXMgSFRNTElvbk1vZGFsRWxlbWVudDtcbiAgICAgIG1vZGFsRWwuc3R5bGUuc2V0UHJvcGVydHkoJy0td2lkdGgnLCBvcHRpb25zLndpZHRoIHx8IHNpemUud2lkdGggfHwgJ2F1dG8nKTtcbiAgICAgIG1vZGFsRWwuc3R5bGUuc2V0UHJvcGVydHkoJy0taGVpZ2h0Jywgb3B0aW9ucy5oZWlnaHQgfHwgc2l6ZS5oZWlnaHQgfHwgJ2F1dG8nKTtcbiAgICB9XG5cbiAgICBhd2FpdCBtb2RhbC5wcmVzZW50KCk7XG4gICAgY29uc3QgeyBkYXRhLCByb2xlIH0gPSBhd2FpdCBtb2RhbC5vbkRpZERpc21pc3MoKTtcblxuICAgIHJldHVybiB7IGRhdGEsIHJvbGUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyBhIHNpbXBsZSBjb250ZW50IG1vZGFsIHdpdGhvdXQgYSBjdXN0b20gY29tcG9uZW50LlxuICAgKiBVc2VzIElvbmljJ3MgYWxlcnQtbGlrZSBzdHlsaW5nIGJ1dCB3aXRoIG1vZGFsIGNhcGFiaWxpdGllcy5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBTaW1wbGUgbW9kYWwgY29uZmlndXJhdGlvblxuICAgKiBAcmV0dXJucyBQcm9taXNlIHJlc29sdmluZyB0byB0aGUgbW9kYWwgcmVzdWx0XG4gICAqL1xuICBhc3luYyBvcGVuU2ltcGxlKG9wdGlvbnM6IFNpbXBsZU1vZGFsTWV0YWRhdGEpOiBQcm9taXNlPE1vZGFsUmVzdWx0PiB7XG4gICAgLy8gSW1wb3J0IHRoZSBzaW1wbGUgbW9kYWwgY29tcG9uZW50IGR5bmFtaWNhbGx5XG4gICAgY29uc3QgeyBTaW1wbGVNb2RhbENvbnRlbnRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydCgnLi9zaW1wbGUtbW9kYWwtY29udGVudC5jb21wb25lbnQnKTtcblxuICAgIHJldHVybiB0aGlzLm9wZW4oe1xuICAgICAgY29tcG9uZW50OiBTaW1wbGVNb2RhbENvbnRlbnRDb21wb25lbnQsXG4gICAgICBjb21wb25lbnRQcm9wczoge1xuICAgICAgICB0aXRsZTogb3B0aW9ucy50aXRsZSxcbiAgICAgICAgY29udGVudDogb3B0aW9ucy5jb250ZW50LFxuICAgICAgICBidXR0b25zOiBvcHRpb25zLmJ1dHRvbnMgfHwgW0RFRkFVTFRfTU9EQUxfQ0FOQ0VMX0JVVFRPTiwgREVGQVVMVF9NT0RBTF9DT05GSVJNX0JVVFRPTl0sXG4gICAgICAgIHNob3dDbG9zZUJ1dHRvbjogb3B0aW9ucy5zaG93Q2xvc2VCdXR0b24gPz8gdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBzaXplOiBvcHRpb25zLnNpemUgfHwgJ21lZGl1bScsXG4gICAgICBiYWNrZHJvcERpc21pc3M6IG9wdGlvbnMuYmFja2Ryb3BEaXNtaXNzID8/IHRydWUsXG4gICAgICBjc3NDbGFzczogWydzaW1wbGUtbW9kYWwnLCBvcHRpb25zLmNzc0NsYXNzXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgY29uZmlybWF0aW9uIG1vZGFsLlxuICAgKiBAcGFyYW0gdGl0bGUgLSBNb2RhbCB0aXRsZVxuICAgKiBAcGFyYW0gbWVzc2FnZSAtIE1vZGFsIG1lc3NhZ2VcbiAgICogQHBhcmFtIGNvbmZpcm1CdXR0b24gLSBDb25maXJtIGJ1dHRvbiBjb25maWcgKG9wdGlvbmFsKVxuICAgKiBAcGFyYW0gY2FuY2VsQnV0dG9uIC0gQ2FuY2VsIGJ1dHRvbiBjb25maWcgKG9wdGlvbmFsKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIHJlc29sdmluZyB0byB0cnVlIGlmIGNvbmZpcm1lZFxuICAgKi9cbiAgYXN5bmMgY29uZmlybShcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBjb25maXJtQnV0dG9uPzogUGFydGlhbDxNb2RhbEJ1dHRvbj4sXG4gICAgY2FuY2VsQnV0dG9uPzogUGFydGlhbDxNb2RhbEJ1dHRvbj5cbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5vcGVuU2ltcGxlKHtcbiAgICAgIHRpdGxlLFxuICAgICAgY29udGVudDogbWVzc2FnZSxcbiAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICBzaG93Q2xvc2VCdXR0b246IGZhbHNlLFxuICAgICAgYmFja2Ryb3BEaXNtaXNzOiBmYWxzZSxcbiAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAgeyAuLi5ERUZBVUxUX01PREFMX0NBTkNFTF9CVVRUT04sIC4uLmNhbmNlbEJ1dHRvbiB9LFxuICAgICAgICB7IC4uLkRFRkFVTFRfTU9EQUxfQ09ORklSTV9CVVRUT04sIC4uLmNvbmZpcm1CdXR0b24gfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzdWx0LnJvbGUgPT09ICdjb25maXJtJztcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyBhIHNoZWV0IG1vZGFsIChpT1Mtc3R5bGUgYm90dG9tIHNoZWV0KS5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBNb2RhbCBjb25maWd1cmF0aW9uIHdpdGggc2hlZXQtc3BlY2lmaWMgb3B0aW9uc1xuICAgKiBAcmV0dXJucyBQcm9taXNlIHJlc29sdmluZyB0byB0aGUgbW9kYWwgcmVzdWx0XG4gICAqL1xuICBhc3luYyBvcGVuU2hlZXQ8VCA9IGFueSwgUiA9IGFueT4oXG4gICAgb3B0aW9uczogT21pdDxNb2RhbE1ldGFkYXRhPFQ+LCAnYnJlYWtwb2ludHMnPiAmIHtcbiAgICAgIGluaXRpYWxCcmVha3BvaW50PzogbnVtYmVyO1xuICAgICAgYnJlYWtwb2ludHM/OiBudW1iZXJbXTtcbiAgICAgIHNob3dIYW5kbGU/OiBib29sZWFuO1xuICAgIH1cbiAgKTogUHJvbWlzZTxNb2RhbFJlc3VsdDxSPj4ge1xuICAgIHJldHVybiB0aGlzLm9wZW4oe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGJyZWFrcG9pbnRzOiB7XG4gICAgICAgIGluaXRpYWxCcmVha3BvaW50OiBvcHRpb25zLmluaXRpYWxCcmVha3BvaW50ID8/IDAuNSxcbiAgICAgICAgYnJlYWtwb2ludHM6IG9wdGlvbnMuYnJlYWtwb2ludHMgPz8gWzAsIDAuNSwgMV0sXG4gICAgICAgIHNob3dIYW5kbGU6IG9wdGlvbnMuc2hvd0hhbmRsZSA/PyB0cnVlLFxuICAgICAgfSxcbiAgICAgIGNzc0NsYXNzOiBbJ3NoZWV0LW1vZGFsJywgb3B0aW9ucy5jc3NDbGFzc10uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyBhIGZ1bGxzY3JlZW4gbW9kYWwuXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gTW9kYWwgY29uZmlndXJhdGlvblxuICAgKiBAcmV0dXJucyBQcm9taXNlIHJlc29sdmluZyB0byB0aGUgbW9kYWwgcmVzdWx0XG4gICAqL1xuICBhc3luYyBvcGVuRnVsbHNjcmVlbjxUID0gYW55LCBSID0gYW55PihvcHRpb25zOiBNb2RhbE1ldGFkYXRhPFQ+KTogUHJvbWlzZTxNb2RhbFJlc3VsdDxSPj4ge1xuICAgIHJldHVybiB0aGlzLm9wZW4oe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHNpemU6ICdmdWxsJyxcbiAgICAgIGNzc0NsYXNzOiBbJ2Z1bGxzY3JlZW4tbW9kYWwnLCBvcHRpb25zLmNzc0NsYXNzXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc21pc3NlcyB0aGUgdG9wLW1vc3QgbW9kYWwuXG4gICAqIEBwYXJhbSBkYXRhIC0gT3B0aW9uYWwgZGF0YSB0byByZXR1cm5cbiAgICogQHBhcmFtIHJvbGUgLSBPcHRpb25hbCByb2xlXG4gICAqL1xuICBhc3luYyBkaXNtaXNzKGRhdGE/OiBhbnksIHJvbGU/OiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5tb2RhbENvbnRyb2xsZXIuZGlzbWlzcyhkYXRhLCByb2xlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0b3AtbW9zdCBtb2RhbC5cbiAgICovXG4gIGFzeW5jIGdldFRvcCgpOiBQcm9taXNlPEhUTUxJb25Nb2RhbEVsZW1lbnQgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5tb2RhbENvbnRyb2xsZXIuZ2V0VG9wKCk7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZUNhbkRpc21pc3MoXG4gICAgY2FuRGlzbWlzczogYm9vbGVhbiB8ICgoKSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPilcbiAgKTogYm9vbGVhbiB8ICgoZGF0YT86IGFueSwgcm9sZT86IHN0cmluZykgPT4gUHJvbWlzZTxib29sZWFuPikge1xuICAgIGlmICh0eXBlb2YgY2FuRGlzbWlzcyA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICByZXR1cm4gY2FuRGlzbWlzcztcbiAgICB9XG4gICAgLy8gV3JhcCB0aGUgZnVuY3Rpb24gdG8gZW5zdXJlIGl0IHJldHVybnMgYSBQcm9taXNlXG4gICAgcmV0dXJuIGFzeW5jIChkYXRhPzogYW55LCByb2xlPzogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBjYW5EaXNtaXNzKCk7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3VsdCk7XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRDc3NDbGFzc2VzKG9wdGlvbnM6IE1vZGFsTWV0YWRhdGEpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNsYXNzZXM6IHN0cmluZ1tdID0gWyd2YWwtbW9kYWwnXTtcblxuICAgIGlmIChvcHRpb25zLnNpemUpIHtcbiAgICAgIGNsYXNzZXMucHVzaChgbW9kYWwtJHtvcHRpb25zLnNpemV9YCk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuaGVhZGVyKSB7XG4gICAgICBjbGFzc2VzLnB1c2goJ21vZGFsLXdpdGgtaGVhZGVyJyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuZm9vdGVyKSB7XG4gICAgICBjbGFzc2VzLnB1c2goJ21vZGFsLXdpdGgtZm9vdGVyJyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuY3NzQ2xhc3MpIHtcbiAgICAgIGNsYXNzZXMucHVzaChvcHRpb25zLmNzc0NsYXNzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,133 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input } from '@angular/core';
3
+ import { IonHeader, IonToolbar, IonTitle, IonButtons, IonButton, IonIcon, IonContent, IonFooter, IonSpinner } from '@ionic/angular/standalone';
4
+ import { addIcons } from 'ionicons';
5
+ import { closeOutline } from 'ionicons/icons';
6
+ import * as i0 from "@angular/core";
7
+ addIcons({ closeOutline });
8
+ /**
9
+ * Internal component for simple content modals.
10
+ * Used by ModalService.openSimple()
11
+ */
12
+ export class SimpleModalContentComponent {
13
+ constructor() {
14
+ this.title = '';
15
+ this.content = '';
16
+ this.buttons = [];
17
+ this.showCloseButton = true;
18
+ }
19
+ async onButtonClick(button) {
20
+ if (button.handler) {
21
+ const result = await button.handler();
22
+ // If handler returns false, don't dismiss
23
+ if (result === false) {
24
+ return;
25
+ }
26
+ }
27
+ this._modalRef?.dismiss(undefined, button.role || 'confirm');
28
+ }
29
+ onDismiss(role) {
30
+ this._modalRef?.dismiss(undefined, role);
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SimpleModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SimpleModalContentComponent, isStandalone: true, selector: "val-simple-modal-content", inputs: { title: "title", content: "content", buttons: "buttons", showCloseButton: "showCloseButton", _modalRef: "_modalRef" }, ngImport: i0, template: `
34
+ <ion-header>
35
+ <ion-toolbar>
36
+ <ion-title>{{ title }}</ion-title>
37
+ @if (showCloseButton) {
38
+ <ion-buttons slot="end">
39
+ <ion-button (click)="onDismiss('close')">
40
+ <ion-icon slot="icon-only" name="close-outline"></ion-icon>
41
+ </ion-button>
42
+ </ion-buttons>
43
+ }
44
+ </ion-toolbar>
45
+ </ion-header>
46
+
47
+ <ion-content class="ion-padding">
48
+ <div [innerHTML]="content"></div>
49
+ </ion-content>
50
+
51
+ @if (buttons && buttons.length > 0) {
52
+ <ion-footer>
53
+ <ion-toolbar>
54
+ <div class="button-container">
55
+ @for (button of buttons; track button.text) {
56
+ <ion-button
57
+ [color]="button.color || 'medium'"
58
+ [fill]="button.fill || 'solid'"
59
+ [size]="button.size || 'default'"
60
+ [disabled]="button.disabled || button.loading"
61
+ [class]="button.cssClass"
62
+ (click)="onButtonClick(button)"
63
+ >
64
+ @if (button.loading) {
65
+ <ion-spinner name="crescent"></ion-spinner>
66
+ } @else {
67
+ {{ button.text }}
68
+ }
69
+ </ion-button>
70
+ }
71
+ </div>
72
+ </ion-toolbar>
73
+ </ion-footer>
74
+ }
75
+ `, isInline: true, styles: [".button-container{display:flex;justify-content:flex-end;gap:8px;padding:8px 0}ion-content{--padding-top: 16px;--padding-bottom: 16px}ion-footer ion-toolbar{--padding-start: 16px;--padding-end: 16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }] }); }
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SimpleModalContentComponent, decorators: [{
78
+ type: Component,
79
+ args: [{ selector: 'val-simple-modal-content', standalone: true, imports: [CommonModule, IonHeader, IonToolbar, IonTitle, IonButtons, IonButton, IonIcon, IonContent, IonFooter, IonSpinner], template: `
80
+ <ion-header>
81
+ <ion-toolbar>
82
+ <ion-title>{{ title }}</ion-title>
83
+ @if (showCloseButton) {
84
+ <ion-buttons slot="end">
85
+ <ion-button (click)="onDismiss('close')">
86
+ <ion-icon slot="icon-only" name="close-outline"></ion-icon>
87
+ </ion-button>
88
+ </ion-buttons>
89
+ }
90
+ </ion-toolbar>
91
+ </ion-header>
92
+
93
+ <ion-content class="ion-padding">
94
+ <div [innerHTML]="content"></div>
95
+ </ion-content>
96
+
97
+ @if (buttons && buttons.length > 0) {
98
+ <ion-footer>
99
+ <ion-toolbar>
100
+ <div class="button-container">
101
+ @for (button of buttons; track button.text) {
102
+ <ion-button
103
+ [color]="button.color || 'medium'"
104
+ [fill]="button.fill || 'solid'"
105
+ [size]="button.size || 'default'"
106
+ [disabled]="button.disabled || button.loading"
107
+ [class]="button.cssClass"
108
+ (click)="onButtonClick(button)"
109
+ >
110
+ @if (button.loading) {
111
+ <ion-spinner name="crescent"></ion-spinner>
112
+ } @else {
113
+ {{ button.text }}
114
+ }
115
+ </ion-button>
116
+ }
117
+ </div>
118
+ </ion-toolbar>
119
+ </ion-footer>
120
+ }
121
+ `, styles: [".button-container{display:flex;justify-content:flex-end;gap:8px;padding:8px 0}ion-content{--padding-top: 16px;--padding-bottom: 16px}ion-footer ion-toolbar{--padding-start: 16px;--padding-end: 16px}\n"] }]
122
+ }], propDecorators: { title: [{
123
+ type: Input
124
+ }], content: [{
125
+ type: Input
126
+ }], buttons: [{
127
+ type: Input
128
+ }], showCloseButton: [{
129
+ type: Input
130
+ }], _modalRef: [{
131
+ type: Input
132
+ }] } });
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLW1vZGFsLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9tb2RhbC9zaW1wbGUtbW9kYWwtY29udGVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9JLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUc5QyxRQUFRLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0FBRTNCOzs7R0FHRztBQW1FSCxNQUFNLE9BQU8sMkJBQTJCO0lBbEV4QztRQW1FVyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsWUFBTyxHQUFrQixFQUFFLENBQUM7UUFDNUIsb0JBQWUsR0FBWSxJQUFJLENBQUM7S0FvQjFDO0lBZkMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFtQjtRQUNyQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNuQixNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QywwQ0FBMEM7WUFDMUMsSUFBSSxNQUFNLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ3JCLE9BQU87WUFDVCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxTQUFTLENBQUMsSUFBWTtRQUNwQixJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQzsrR0F2QlUsMkJBQTJCO21HQUEzQiwyQkFBMkIsb05BOUQ1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMENULGlSQTNDUyxZQUFZLCtCQUFFLFNBQVMsb0dBQUUsVUFBVSxtRkFBRSxRQUFRLGlGQUFFLFVBQVUsOEVBQUUsU0FBUyxvUEFBRSxPQUFPLDJKQUFFLFVBQVUsd0tBQUUsU0FBUyxvR0FBRSxVQUFVOzs0RkErRC9HLDJCQUEyQjtrQkFsRXZDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxZQUNqSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMENUOzhCQXFCUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uSGVhZGVyLCBJb25Ub29sYmFyLCBJb25UaXRsZSwgSW9uQnV0dG9ucywgSW9uQnV0dG9uLCBJb25JY29uLCBJb25Db250ZW50LCBJb25Gb290ZXIsIElvblNwaW5uZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgY2xvc2VPdXRsaW5lIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHsgTW9kYWxCdXR0b24gfSBmcm9tICcuL3R5cGVzJztcblxuYWRkSWNvbnMoeyBjbG9zZU91dGxpbmUgfSk7XG5cbi8qKlxuICogSW50ZXJuYWwgY29tcG9uZW50IGZvciBzaW1wbGUgY29udGVudCBtb2RhbHMuXG4gKiBVc2VkIGJ5IE1vZGFsU2VydmljZS5vcGVuU2ltcGxlKClcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXNpbXBsZS1tb2RhbC1jb250ZW50JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uSGVhZGVyLCBJb25Ub29sYmFyLCBJb25UaXRsZSwgSW9uQnV0dG9ucywgSW9uQnV0dG9uLCBJb25JY29uLCBJb25Db250ZW50LCBJb25Gb290ZXIsIElvblNwaW5uZXJdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24taGVhZGVyPlxuICAgICAgPGlvbi10b29sYmFyPlxuICAgICAgICA8aW9uLXRpdGxlPnt7IHRpdGxlIH19PC9pb24tdGl0bGU+XG4gICAgICAgIEBpZiAoc2hvd0Nsb3NlQnV0dG9uKSB7XG4gICAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJvbkRpc21pc3MoJ2Nsb3NlJylcIj5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2xvc2Utb3V0bGluZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgICAgfVxuICAgICAgPC9pb24tdG9vbGJhcj5cbiAgICA8L2lvbi1oZWFkZXI+XG5cbiAgICA8aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImNvbnRlbnRcIj48L2Rpdj5cbiAgICA8L2lvbi1jb250ZW50PlxuXG4gICAgQGlmIChidXR0b25zICYmIGJ1dHRvbnMubGVuZ3RoID4gMCkge1xuICAgICAgPGlvbi1mb290ZXI+XG4gICAgICAgIDxpb24tdG9vbGJhcj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgQGZvciAoYnV0dG9uIG9mIGJ1dHRvbnM7IHRyYWNrIGJ1dHRvbi50ZXh0KSB7XG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cImJ1dHRvbi5jb2xvciB8fCAnbWVkaXVtJ1wiXG4gICAgICAgICAgICAgICAgW2ZpbGxdPVwiYnV0dG9uLmZpbGwgfHwgJ3NvbGlkJ1wiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiYnV0dG9uLnNpemUgfHwgJ2RlZmF1bHQnXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYnV0dG9uLmRpc2FibGVkIHx8IGJ1dHRvbi5sb2FkaW5nXCJcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwiYnV0dG9uLmNzc0NsYXNzXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CdXR0b25DbGljayhidXR0b24pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEBpZiAoYnV0dG9uLmxvYWRpbmcpIHtcbiAgICAgICAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIj48L2lvbi1zcGlubmVyPlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAge3sgYnV0dG9uLnRleHQgfX1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9pb24tdG9vbGJhcj5cbiAgICAgIDwvaW9uLWZvb3Rlcj5cbiAgICB9XG4gIGAsXG4gIHN0eWxlczogW2BcbiAgICAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGdhcDogOHB4O1xuICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgfVxuXG4gICAgaW9uLWNvbnRlbnQge1xuICAgICAgLS1wYWRkaW5nLXRvcDogMTZweDtcbiAgICAgIC0tcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgfVxuXG4gICAgaW9uLWZvb3RlciBpb24tdG9vbGJhciB7XG4gICAgICAtLXBhZGRpbmctc3RhcnQ6IDE2cHg7XG4gICAgICAtLXBhZGRpbmctZW5kOiAxNnB4O1xuICAgIH1cbiAgYF0sXG59KVxuZXhwb3J0IGNsYXNzIFNpbXBsZU1vZGFsQ29udGVudENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgY29udGVudDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGJ1dHRvbnM6IE1vZGFsQnV0dG9uW10gPSBbXTtcbiAgQElucHV0KCkgc2hvd0Nsb3NlQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAvLyBJbmplY3RlZCBieSBNb2RhbFNlcnZpY2VcbiAgQElucHV0KCkgX21vZGFsUmVmOiB7IGRpc21pc3M6IChkYXRhPzogYW55LCByb2xlPzogc3RyaW5nKSA9PiBQcm9taXNlPGJvb2xlYW4+IH07XG5cbiAgYXN5bmMgb25CdXR0b25DbGljayhidXR0b246IE1vZGFsQnV0dG9uKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGJ1dHRvbi5oYW5kbGVyKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBidXR0b24uaGFuZGxlcigpO1xuICAgICAgLy8gSWYgaGFuZGxlciByZXR1cm5zIGZhbHNlLCBkb24ndCBkaXNtaXNzXG4gICAgICBpZiAocmVzdWx0ID09PSBmYWxzZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fbW9kYWxSZWY/LmRpc21pc3ModW5kZWZpbmVkLCBidXR0b24ucm9sZSB8fCAnY29uZmlybScpO1xuICB9XG5cbiAgb25EaXNtaXNzKHJvbGU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX21vZGFsUmVmPy5kaXNtaXNzKHVuZGVmaW5lZCwgcm9sZSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Default modal sizes.
3
+ */
4
+ export const MODAL_SIZES = {
5
+ small: { width: '300px', height: 'auto' },
6
+ medium: { width: '500px', height: 'auto' },
7
+ large: { width: '800px', height: '80vh' },
8
+ full: { width: '100%', height: '100%' },
9
+ auto: { width: 'auto', height: 'auto' },
10
+ };
11
+ /**
12
+ * Default modal buttons.
13
+ */
14
+ export const DEFAULT_MODAL_CONFIRM_BUTTON = {
15
+ text: 'Confirm',
16
+ role: 'confirm',
17
+ color: 'primary',
18
+ fill: 'solid',
19
+ };
20
+ export const DEFAULT_MODAL_CANCEL_BUTTON = {
21
+ text: 'Cancel',
22
+ role: 'cancel',
23
+ color: 'medium',
24
+ fill: 'clear',
25
+ };
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL21vZGFsL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlKQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBMkQ7SUFDakYsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFO0lBQ3pDLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtJQUMxQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUU7SUFDekMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFO0lBQ3ZDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtDQUN4QyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBZ0I7SUFDdkQsSUFBSSxFQUFFLFNBQVM7SUFDZixJQUFJLEVBQUUsU0FBUztJQUNmLEtBQUssRUFBRSxTQUFTO0lBQ2hCLElBQUksRUFBRSxPQUFPO0NBQ2QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFnQjtJQUN0RCxJQUFJLEVBQUUsUUFBUTtJQUNkLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFQUFFLFFBQVE7SUFDZixJQUFJLEVBQUUsT0FBTztDQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb2xvciB9IGZyb20gJ0Bpb25pYy9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbk1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy90eXBlcyc7XG5cbi8qKlxuICogTW9kYWwgc2l6ZSBwcmVzZXQuXG4gKi9cbmV4cG9ydCB0eXBlIE1vZGFsU2l6ZSA9ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCAnZnVsbCcgfCAnYXV0byc7XG5cbi8qKlxuICogTW9kYWwgYnJlYWtwb2ludCBjb25maWd1cmF0aW9uIGZvciBzaGVldCBtb2RhbHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9kYWxCcmVha3BvaW50IHtcbiAgLyoqIEluaXRpYWwgYnJlYWtwb2ludCAoMC0xKSAqL1xuICBpbml0aWFsQnJlYWtwb2ludD86IG51bWJlcjtcbiAgLyoqIEF2YWlsYWJsZSBicmVha3BvaW50cyAqL1xuICBicmVha3BvaW50cz86IG51bWJlcltdO1xuICAvKiogQ2FuIGRpc21pc3MgYnkgZHJhZ2dpbmcgYmVsb3cgdGhyZXNob2xkICovXG4gIGNhbkRpc21pc3M/OiBib29sZWFuIHwgKCgpID0+IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+KTtcbiAgLyoqIEhhbmRsZSBlbGVtZW50ICovXG4gIGhhbmRsZUJlaGF2aW9yPzogJ2N5Y2xlJyB8ICdub25lJztcbiAgLyoqIFNob3cgaGFuZGxlICovXG4gIHNob3dIYW5kbGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIE1vZGFsIGhlYWRlciBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsSGVhZGVyIHtcbiAgLyoqIFRpdGxlIHRleHQgKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBTdWJ0aXRsZSB0ZXh0ICovXG4gIHN1YnRpdGxlPzogc3RyaW5nO1xuICAvKiogU2hvdyBjbG9zZSBidXR0b24gKi9cbiAgc2hvd0Nsb3NlQnV0dG9uPzogYm9vbGVhbjtcbiAgLyoqIENsb3NlIGJ1dHRvbiBpY29uICovXG4gIGNsb3NlSWNvbj86IHN0cmluZztcbiAgLyoqIEhlYWRlciBjb2xvciAqL1xuICBjb2xvcj86IENvbG9yO1xuICAvKiogQ3VzdG9tIENTUyBjbGFzcyAqL1xuICBjc3NDbGFzcz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBNb2RhbCBmb290ZXIgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb2RhbEZvb3RlciB7XG4gIC8qKiBGb290ZXIgYnV0dG9ucyAqL1xuICBidXR0b25zPzogTW9kYWxCdXR0b25bXTtcbiAgLyoqIEZvb3RlciBhbGlnbm1lbnQgKi9cbiAgYWxpZ25tZW50PzogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCcgfCAnc3BhY2UtYmV0d2Vlbic7XG4gIC8qKiBDdXN0b20gQ1NTIGNsYXNzICovXG4gIGNzc0NsYXNzPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIE1vZGFsIGJ1dHRvbiBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsQnV0dG9uIHtcbiAgLyoqIEJ1dHRvbiB0ZXh0ICovXG4gIHRleHQ6IHN0cmluZztcbiAgLyoqIEJ1dHRvbiByb2xlICovXG4gIHJvbGU/OiAnY2FuY2VsJyB8ICdjb25maXJtJyB8ICdkZXN0cnVjdGl2ZScgfCBzdHJpbmc7XG4gIC8qKiBCdXR0b24gY29sb3IgKi9cbiAgY29sb3I/OiBDb2xvcjtcbiAgLyoqIEJ1dHRvbiBmaWxsICovXG4gIGZpbGw/OiAnY2xlYXInIHwgJ291dGxpbmUnIHwgJ3NvbGlkJztcbiAgLyoqIEJ1dHRvbiBzaXplICovXG4gIHNpemU/OiAnc21hbGwnIHwgJ2RlZmF1bHQnIHwgJ2xhcmdlJztcbiAgLyoqIEN1c3RvbSBDU1MgY2xhc3MgKi9cbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIC8qKiBEaXNhYmxlZCBzdGF0ZSAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKiBMb2FkaW5nIHN0YXRlICovXG4gIGxvYWRpbmc/OiBib29sZWFuO1xuICAvKiogSGFuZGxlciBmdW5jdGlvbiAqL1xuICBoYW5kbGVyPzogKGRhdGE/OiBhbnkpID0+IHZvaWQgfCBib29sZWFuIHwgUHJvbWlzZTx2b2lkIHwgYm9vbGVhbj47XG59XG5cbi8qKlxuICogTWV0YWRhdGEgZm9yIGNyZWF0aW5nIGEgbW9kYWwgd2l0aCBhIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb2RhbE1ldGFkYXRhPFQgPSBhbnk+IHtcbiAgLyoqIENvbXBvbmVudCB0byByZW5kZXIgaW4gbW9kYWwgKi9cbiAgY29tcG9uZW50OiBUeXBlPFQ+O1xuICAvKiogQ29tcG9uZW50IGlucHV0cy9wcm9wcyAqL1xuICBjb21wb25lbnRQcm9wcz86IFBhcnRpYWw8VD47XG4gIC8qKiBVbmlxdWUgaWRlbnRpZmllciAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqIE1vZGFsIGhlYWRlciBjb25maWd1cmF0aW9uICovXG4gIGhlYWRlcj86IE1vZGFsSGVhZGVyO1xuICAvKiogTW9kYWwgZm9vdGVyIGNvbmZpZ3VyYXRpb24gKi9cbiAgZm9vdGVyPzogTW9kYWxGb290ZXI7XG4gIC8qKiBNb2RhbCBzaXplICovXG4gIHNpemU/OiBNb2RhbFNpemU7XG4gIC8qKiBDdXN0b20gd2lkdGggKG92ZXJyaWRlcyBzaXplKSAqL1xuICB3aWR0aD86IHN0cmluZztcbiAgLyoqIEN1c3RvbSBoZWlnaHQgKG92ZXJyaWRlcyBzaXplKSAqL1xuICBoZWlnaHQ/OiBzdHJpbmc7XG4gIC8qKiBTaG93IGJhY2tkcm9wICovXG4gIHNob3dCYWNrZHJvcD86IGJvb2xlYW47XG4gIC8qKiBCYWNrZHJvcCBkaXNtaXNzICovXG4gIGJhY2tkcm9wRGlzbWlzcz86IGJvb2xlYW47XG4gIC8qKiBFbmFibGUga2V5Ym9hcmQgY2xvc2UgKEVTQykgKi9cbiAga2V5Ym9hcmRDbG9zZT86IGJvb2xlYW47XG4gIC8qKiBDU1MgY2xhc3MgZm9yIG1vZGFsICovXG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICAvKiogQW5pbWF0aW9uIG1vZGUgKi9cbiAgbW9kZT86ICdpb3MnIHwgJ21kJztcbiAgLyoqIEVudGVyIGFuaW1hdGlvbiAqL1xuICBlbnRlckFuaW1hdGlvbj86IGFueTtcbiAgLyoqIExlYXZlIGFuaW1hdGlvbiAqL1xuICBsZWF2ZUFuaW1hdGlvbj86IGFueTtcbiAgLyoqIFNoZWV0IG1vZGFsIGJyZWFrcG9pbnRzICovXG4gIGJyZWFrcG9pbnRzPzogTW9kYWxCcmVha3BvaW50O1xuICAvKiogUHJlc2VudGluZyBlbGVtZW50IGZvciBjYXJkIG1vZGFsICovXG4gIHByZXNlbnRpbmdFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIC8qKiBDYW4gZGlzbWlzcyBjYWxsYmFjayAqL1xuICBjYW5EaXNtaXNzPzogYm9vbGVhbiB8ICgoKSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPik7XG4gIC8qKiBBbmltYXRlZCAqL1xuICBhbmltYXRlZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogTWV0YWRhdGEgZm9yIGNyZWF0aW5nIGEgc2ltcGxlIGNvbnRlbnQgbW9kYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2ltcGxlTW9kYWxNZXRhZGF0YSB7XG4gIC8qKiBNb2RhbCB0aXRsZSAqL1xuICB0aXRsZTogc3RyaW5nO1xuICAvKiogTW9kYWwgY29udGVudCAoSFRNTCBvciBwbGFpbiB0ZXh0KSAqL1xuICBjb250ZW50OiBzdHJpbmc7XG4gIC8qKiBNb2RhbCBzaXplICovXG4gIHNpemU/OiBNb2RhbFNpemU7XG4gIC8qKiBGb290ZXIgYnV0dG9ucyAqL1xuICBidXR0b25zPzogTW9kYWxCdXR0b25bXTtcbiAgLyoqIFNob3cgY2xvc2UgYnV0dG9uIGluIGhlYWRlciAqL1xuICBzaG93Q2xvc2VCdXR0b24/OiBib29sZWFuO1xuICAvKiogQmFja2Ryb3AgZGlzbWlzcyAqL1xuICBiYWNrZHJvcERpc21pc3M/OiBib29sZWFuO1xuICAvKiogQ1NTIGNsYXNzICovXG4gIGNzc0NsYXNzPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3VsdCBmcm9tIG1vZGFsIGRpc21pc3NhbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb2RhbFJlc3VsdDxUID0gYW55PiB7XG4gIC8qKiBSb2xlIG9mIHRoZSBkaXNtaXNzYWwgKGJ1dHRvbiByb2xlIG9yICdiYWNrZHJvcCcpICovXG4gIHJvbGU/OiBzdHJpbmc7XG4gIC8qKiBEYXRhIHJldHVybmVkIGZyb20gbW9kYWwgKi9cbiAgZGF0YT86IFQ7XG59XG5cbi8qKlxuICogRGVmYXVsdCBtb2RhbCBzaXplcy5cbiAqL1xuZXhwb3J0IGNvbnN0IE1PREFMX1NJWkVTOiBSZWNvcmQ8TW9kYWxTaXplLCB7IHdpZHRoPzogc3RyaW5nOyBoZWlnaHQ/OiBzdHJpbmcgfT4gPSB7XG4gIHNtYWxsOiB7IHdpZHRoOiAnMzAwcHgnLCBoZWlnaHQ6ICdhdXRvJyB9LFxuICBtZWRpdW06IHsgd2lkdGg6ICc1MDBweCcsIGhlaWdodDogJ2F1dG8nIH0sXG4gIGxhcmdlOiB7IHdpZHRoOiAnODAwcHgnLCBoZWlnaHQ6ICc4MHZoJyB9LFxuICBmdWxsOiB7IHdpZHRoOiAnMTAwJScsIGhlaWdodDogJzEwMCUnIH0sXG4gIGF1dG86IHsgd2lkdGg6ICdhdXRvJywgaGVpZ2h0OiAnYXV0bycgfSxcbn07XG5cbi8qKlxuICogRGVmYXVsdCBtb2RhbCBidXR0b25zLlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9NT0RBTF9DT05GSVJNX0JVVFRPTjogTW9kYWxCdXR0b24gPSB7XG4gIHRleHQ6ICdDb25maXJtJyxcbiAgcm9sZTogJ2NvbmZpcm0nLFxuICBjb2xvcjogJ3ByaW1hcnknLFxuICBmaWxsOiAnc29saWQnLFxufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTU9EQUxfQ0FOQ0VMX0JVVFRPTjogTW9kYWxCdXR0b24gPSB7XG4gIHRleHQ6ICdDYW5jZWwnLFxuICByb2xlOiAnY2FuY2VsJyxcbiAgY29sb3I6ICdtZWRpdW0nLFxuICBmaWxsOiAnY2xlYXInLFxufTtcbiJdfQ==
@@ -56,13 +56,13 @@ export class NavigationService {
56
56
  back() {
57
57
  this.location.back();
58
58
  }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
60
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavigationService, providedIn: 'root' }); }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
60
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigationService, providedIn: 'root' }); }
61
61
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavigationService, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigationService, decorators: [{
63
63
  type: Injectable,
64
64
  args: [{
65
65
  providedIn: 'root',
66
66
  }]
67
67
  }], ctorParameters: () => [] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvbmF2aWdhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQW9CLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUUvRDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBUzVCO1FBSkEsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLGlCQUFZLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFNUIsQ0FBQztJQUVoQjs7O09BR0c7SUFDSCxhQUFhLENBQUMsR0FBVztRQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsZ0JBQWdCLENBQUMsS0FBYSxFQUFFLFlBQWlCO1FBQy9DLE1BQU0sZ0JBQWdCLEdBQXFCO1lBQ3pDLEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsWUFBWTthQUNuQjtTQUNGLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWEsQ0FBQyxHQUFXO1FBQ3ZCLElBQUksQ0FBQyxNQUFNO2FBQ1IsYUFBYSxDQUFDLEdBQUcsQ0FBQzthQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRSxDQUFDLENBQUM7YUFDcEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksQ0FBQyxHQUFXO1FBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7T0FFRztJQUNILElBQUk7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7K0dBMURVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FeHRyYXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJbkFwcEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnLi9pbi1hcHAtYnJvd3Nlci5zZXJ2aWNlJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBuYXZpZ2F0aW9uIGFuZCByb3V0aW5nIHdpdGhpbiB0aGUgYXBwbGljYXRpb24uXG4gKiBTdXBwb3J0cyBuYXZpZ2F0aW9uIHdpdGggZGF0YSB0cmFuc2ZlciwgaW4tYXBwIGJyb3dzZXIsIGFuZCBvcGVuaW5nIGxpbmtzIGluIG5ldyB0YWJzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvblNlcnZpY2Uge1xuICAvKipcbiAgICogQXJiaXRyYXJ5IGRhdGEgdG8gYmUgdHJhbnNmZXJyZWQgZHVyaW5nIG5hdmlnYXRpb24uXG4gICAqL1xuICBkYXRhOiBhbnk7XG4gIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBsb2NhdGlvbiA9IGluamVjdChMb2NhdGlvbik7XG4gIGluQXBwQnJvd3NlciA9IGluamVjdChJbkFwcEJyb3dzZXJTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgVVJMIHVzaW5nIHRoZSBpbi1hcHAgYnJvd3NlciBzZXJ2aWNlLlxuICAgKiBAcGFyYW0gdXJsIFRoZSBVUkwgdG8gb3BlblxuICAgKi9cbiAgbmF2aWdhdGVJbkFwcCh1cmw6IHN0cmluZykge1xuICAgIHRoaXMuaW5BcHBCcm93c2VyLm9wZW5XaXRoSW5BcHBCcm93c2VyKHVybCk7XG4gIH1cblxuICAvKipcbiAgICogTmF2aWdhdGVzIHRvIGEgcm91dGUgYW5kIHRyYW5zZmVycyBkYXRhIHVzaW5nIEFuZ3VsYXIgUm91dGVyIHN0YXRlLlxuICAgKiBAcGFyYW0gcm91dGUgVGhlIHJvdXRlIHRvIG5hdmlnYXRlIHRvXG4gICAqIEBwYXJhbSBkYXRhVHJhbnNmZXIgVGhlIGRhdGEgdG8gdHJhbnNmZXJcbiAgICovXG4gIG5hdmlnYXRlV2l0aERhdGEocm91dGU6IHN0cmluZywgZGF0YVRyYW5zZmVyOiBhbnkpIHtcbiAgICBjb25zdCBuYXZpZ2F0aW9uRXh0cmFzOiBOYXZpZ2F0aW9uRXh0cmFzID0ge1xuICAgICAgc3RhdGU6IHtcbiAgICAgICAgZGF0YTogZGF0YVRyYW5zZmVyLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3JvdXRlXSwgbmF2aWdhdGlvbkV4dHJhcyk7XG4gIH1cblxuICAvKipcbiAgICogTmF2aWdhdGVzIHRvIGEgVVJMIHVzaW5nIEFuZ3VsYXIgUm91dGVyLlxuICAgKiBAcGFyYW0gdXJsIFRoZSBVUkwgdG8gbmF2aWdhdGUgdG9cbiAgICovXG4gIG5hdmlnYXRlQnlVcmwodXJsOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJvdXRlclxuICAgICAgLm5hdmlnYXRlQnlVcmwodXJsKVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge30pXG4gICAgICAuY2F0Y2goZXJyb3IgPT4ge30pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgVVJMIGluIGEgbmV3IGJyb3dzZXIgdGFiLlxuICAgKiBAcGFyYW0gdXJsIFRoZSBVUkwgdG8gb3BlblxuICAgKi9cbiAgb3BlbkluTmV3VGFiKHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJywgJ25vb3BlbmVyLG5vcmVmZXJyZXInKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOYXZpZ2F0ZXMgYmFjayB0byB0aGUgcHJldmlvdXMgcGFnZSBpbiB0aGUgYnJvd3NlciBoaXN0b3J5LlxuICAgKi9cbiAgYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcbiAgfVxufVxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9uYXZpZ2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBb0IsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRS9EOzs7R0FHRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFTNUI7UUFKQSxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsaUJBQVksR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUU1QixDQUFDO0lBRWhCOzs7T0FHRztJQUNILGFBQWEsQ0FBQyxHQUFXO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsWUFBaUI7UUFDL0MsTUFBTSxnQkFBZ0IsR0FBcUI7WUFDekMsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRSxZQUFZO2FBQ25CO1NBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLEdBQVc7UUFDdkIsSUFBSSxDQUFDLE1BQU07YUFDUixhQUFhLENBQUMsR0FBRyxDQUFDO2FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFFLENBQUMsQ0FBQzthQUNwQixLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLEdBQVc7UUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSTtRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzsrR0ExRFUsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkV4dHJhcywgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEluQXBwQnJvd3NlclNlcnZpY2UgfSBmcm9tICcuL2luLWFwcC1icm93c2VyLnNlcnZpY2UnO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIG5hdmlnYXRpb24gYW5kIHJvdXRpbmcgd2l0aGluIHRoZSBhcHBsaWNhdGlvbi5cbiAqIFN1cHBvcnRzIG5hdmlnYXRpb24gd2l0aCBkYXRhIHRyYW5zZmVyLCBpbi1hcHAgYnJvd3NlciwgYW5kIG9wZW5pbmcgbGlua3MgaW4gbmV3IHRhYnMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uU2VydmljZSB7XG4gIC8qKlxuICAgKiBBcmJpdHJhcnkgZGF0YSB0byBiZSB0cmFuc2ZlcnJlZCBkdXJpbmcgbmF2aWdhdGlvbi5cbiAgICovXG4gIGRhdGE6IGFueTtcbiAgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGxvY2F0aW9uID0gaW5qZWN0KExvY2F0aW9uKTtcbiAgaW5BcHBCcm93c2VyID0gaW5qZWN0KEluQXBwQnJvd3NlclNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogT3BlbnMgYSBVUkwgdXNpbmcgdGhlIGluLWFwcCBicm93c2VyIHNlcnZpY2UuXG4gICAqIEBwYXJhbSB1cmwgVGhlIFVSTCB0byBvcGVuXG4gICAqL1xuICBuYXZpZ2F0ZUluQXBwKHVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5pbkFwcEJyb3dzZXIub3BlbldpdGhJbkFwcEJyb3dzZXIodXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOYXZpZ2F0ZXMgdG8gYSByb3V0ZSBhbmQgdHJhbnNmZXJzIGRhdGEgdXNpbmcgQW5ndWxhciBSb3V0ZXIgc3RhdGUuXG4gICAqIEBwYXJhbSByb3V0ZSBUaGUgcm91dGUgdG8gbmF2aWdhdGUgdG9cbiAgICogQHBhcmFtIGRhdGFUcmFuc2ZlciBUaGUgZGF0YSB0byB0cmFuc2ZlclxuICAgKi9cbiAgbmF2aWdhdGVXaXRoRGF0YShyb3V0ZTogc3RyaW5nLCBkYXRhVHJhbnNmZXI6IGFueSkge1xuICAgIGNvbnN0IG5hdmlnYXRpb25FeHRyYXM6IE5hdmlnYXRpb25FeHRyYXMgPSB7XG4gICAgICBzdGF0ZToge1xuICAgICAgICBkYXRhOiBkYXRhVHJhbnNmZXIsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcm91dGVdLCBuYXZpZ2F0aW9uRXh0cmFzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOYXZpZ2F0ZXMgdG8gYSBVUkwgdXNpbmcgQW5ndWxhciBSb3V0ZXIuXG4gICAqIEBwYXJhbSB1cmwgVGhlIFVSTCB0byBuYXZpZ2F0ZSB0b1xuICAgKi9cbiAgbmF2aWdhdGVCeVVybCh1cmw6IHN0cmluZykge1xuICAgIHRoaXMucm91dGVyXG4gICAgICAubmF2aWdhdGVCeVVybCh1cmwpXG4gICAgICAudGhlbihyZXNwb25zZSA9PiB7fSlcbiAgICAgIC5jYXRjaChlcnJvciA9PiB7fSk7XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgYSBVUkwgaW4gYSBuZXcgYnJvd3NlciB0YWIuXG4gICAqIEBwYXJhbSB1cmwgVGhlIFVSTCB0byBvcGVuXG4gICAqL1xuICBvcGVuSW5OZXdUYWIodXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnLCAnbm9vcGVuZXIsbm9yZWZlcnJlcicpO1xuICB9XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlcyBiYWNrIHRvIHRoZSBwcmV2aW91cyBwYWdlIGluIHRoZSBicm93c2VyIGhpc3RvcnkuXG4gICAqL1xuICBiYWNrKCk6IHZvaWQge1xuICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xuICB9XG59XG4iXX0=