valtech-components 2.0.62 → 2.0.63

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 (331) hide show
  1. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +31 -0
  2. package/esm2022/lib/components/atoms/avatar/types.mjs +2 -0
  3. package/esm2022/lib/components/atoms/box/box.component.mjs +52 -0
  4. package/esm2022/lib/components/atoms/box/types.mjs +2 -0
  5. package/esm2022/lib/components/atoms/button/button.component.mjs +70 -0
  6. package/esm2022/lib/components/atoms/button/factory.mjs +217 -0
  7. package/esm2022/lib/components/atoms/display/display.component.mjs +28 -0
  8. package/esm2022/lib/components/atoms/display/types.mjs +2 -0
  9. package/esm2022/lib/components/atoms/divider/divider.component.mjs +17 -0
  10. package/esm2022/lib/components/atoms/divider/types.mjs +2 -0
  11. package/esm2022/lib/components/atoms/href/href.component.mjs +51 -0
  12. package/esm2022/lib/components/atoms/href/types.mjs +2 -0
  13. package/esm2022/lib/components/atoms/icon/icon.component.mjs +19 -0
  14. package/esm2022/lib/components/atoms/icon/types.mjs +2 -0
  15. package/esm2022/lib/components/atoms/image/image.component.mjs +50 -0
  16. package/esm2022/lib/components/atoms/image/types.mjs +2 -0
  17. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +36 -0
  18. package/esm2022/lib/components/atoms/progress-bar/types.mjs +2 -0
  19. package/esm2022/lib/components/atoms/text/text.component.mjs +24 -0
  20. package/esm2022/lib/components/atoms/text/types.mjs +2 -0
  21. package/esm2022/lib/components/atoms/title/title.component.mjs +31 -0
  22. package/esm2022/lib/components/atoms/title/types.mjs +2 -0
  23. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +32 -0
  24. package/esm2022/lib/components/molecules/alert-box/types.mjs +2 -0
  25. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +49 -0
  26. package/esm2022/lib/components/molecules/button-group/types.mjs +2 -0
  27. package/esm2022/lib/components/molecules/card/card.component.mjs +365 -0
  28. package/esm2022/lib/components/molecules/card/types.mjs +16 -0
  29. package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +15 -0
  30. package/esm2022/lib/components/molecules/comment-input/comment-input.component.mjs +23 -0
  31. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +32 -0
  32. package/esm2022/lib/components/molecules/content-loader/types.mjs +2 -0
  33. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +73 -0
  34. package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +19 -0
  35. package/esm2022/lib/components/molecules/expandable-text/expandable-text.component.mjs +58 -0
  36. package/esm2022/lib/components/molecules/expandable-text/types.mjs +2 -0
  37. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +69 -0
  38. package/esm2022/lib/components/molecules/hint/hint.component.mjs +52 -0
  39. package/esm2022/lib/components/molecules/hour-input/hour-input.component.mjs +18 -0
  40. package/esm2022/lib/components/molecules/link/link.component.mjs +53 -0
  41. package/esm2022/lib/components/molecules/link/types.mjs +2 -0
  42. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +37 -0
  43. package/esm2022/lib/components/molecules/links-cake/types.mjs +2 -0
  44. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +33 -0
  45. package/esm2022/lib/components/molecules/notes-box/types.mjs +2 -0
  46. package/esm2022/lib/components/molecules/number-input/number-input.component.mjs +18 -0
  47. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +44 -0
  48. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +45 -0
  49. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +94 -0
  50. package/esm2022/lib/components/molecules/progress-status/types.mjs +2 -0
  51. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +84 -0
  52. package/esm2022/lib/components/molecules/prompter/types.mjs +2 -0
  53. package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +33 -0
  54. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +61 -0
  55. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +18 -0
  56. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +77 -0
  57. package/esm2022/lib/components/molecules/title-block/types.mjs +2 -0
  58. package/esm2022/lib/components/organisms/banner/banner.component.mjs +75 -0
  59. package/esm2022/lib/components/organisms/banner/types.mjs +2 -0
  60. package/esm2022/lib/components/organisms/footer/footer.component.mjs +50 -0
  61. package/esm2022/lib/components/organisms/footer/types.mjs +2 -0
  62. package/esm2022/lib/components/organisms/form/factory.mjs +8 -0
  63. package/esm2022/lib/components/organisms/form/form-footer/form-footer.component.mjs +76 -0
  64. package/esm2022/lib/components/organisms/form/form.component.mjs +230 -0
  65. package/esm2022/lib/components/organisms/header/header.component.mjs +32 -0
  66. package/esm2022/lib/components/organisms/header/types.mjs +2 -0
  67. package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +358 -0
  68. package/esm2022/lib/components/organisms/item-list/types.mjs +2 -0
  69. package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +44 -0
  70. package/esm2022/lib/components/organisms/no-content/types.mjs +2 -0
  71. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +171 -0
  72. package/esm2022/lib/components/organisms/toolbar/types.mjs +2 -0
  73. package/esm2022/lib/components/organisms/wizard/types.mjs +7 -0
  74. package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +107 -0
  75. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +103 -0
  76. package/esm2022/lib/components/templates/layout/layout.component.mjs +19 -0
  77. package/esm2022/lib/components/templates/simple/simple.component.mjs +102 -0
  78. package/esm2022/lib/components/templates/simple/types.mjs +2 -0
  79. package/esm2022/lib/components/types.mjs +36 -0
  80. package/esm2022/lib/services/download.service.mjs +63 -0
  81. package/esm2022/lib/services/icons.service.mjs +32 -0
  82. package/esm2022/lib/services/in-app-browser.service.mjs +24 -0
  83. package/esm2022/lib/services/lang-provider/components/lang-settings.mjs +13 -0
  84. package/esm2022/lib/services/lang-provider/components/theme-settings.mjs +15 -0
  85. package/esm2022/lib/services/lang-provider/content.mjs +8 -0
  86. package/esm2022/lib/services/lang-provider/lang-provider.service.mjs +39 -0
  87. package/esm2022/lib/services/lang-provider/types.mjs +14 -0
  88. package/esm2022/lib/services/local-storage.service.mjs +16 -0
  89. package/esm2022/lib/services/navigation.service.mjs +39 -0
  90. package/esm2022/lib/services/theme.service.mjs +97 -0
  91. package/esm2022/lib/services/types.mjs +3 -0
  92. package/esm2022/lib/shared/constants/storage.mjs +3 -0
  93. package/esm2022/lib/shared/utils/dom.mjs +17 -0
  94. package/esm2022/lib/shared/utils/styles.mjs +25 -0
  95. package/esm2022/public-api.mjs +95 -0
  96. package/esm2022/valtech-components.mjs +5 -0
  97. package/fesm2022/valtech-components.mjs +3558 -0
  98. package/fesm2022/valtech-components.mjs.map +1 -0
  99. package/index.d.ts +5 -0
  100. package/lib/components/atoms/avatar/avatar.component.d.ts +12 -0
  101. package/lib/components/atoms/avatar/types.d.ts +6 -0
  102. package/lib/components/atoms/box/box.component.d.ts +13 -0
  103. package/lib/components/atoms/box/types.d.ts +7 -0
  104. package/lib/components/atoms/button/button.component.d.ts +21 -0
  105. package/lib/components/atoms/button/factory.d.ts +71 -0
  106. package/lib/components/atoms/display/display.component.d.ts +10 -0
  107. package/lib/components/atoms/display/types.d.ts +6 -0
  108. package/lib/components/atoms/divider/divider.component.d.ts +10 -0
  109. package/lib/components/atoms/divider/types.d.ts +5 -0
  110. package/lib/components/atoms/href/href.component.d.ts +15 -0
  111. package/lib/components/atoms/href/types.d.ts +9 -0
  112. package/lib/components/atoms/icon/icon.component.d.ts +11 -0
  113. package/lib/components/atoms/icon/types.d.ts +6 -0
  114. package/lib/components/atoms/image/image.component.d.ts +12 -0
  115. package/lib/components/atoms/image/types.d.ts +11 -0
  116. package/lib/components/atoms/progress-bar/progress-bar.component.d.ts +10 -0
  117. package/lib/components/atoms/progress-bar/types.d.ts +9 -0
  118. package/lib/components/atoms/text/text.component.d.ts +10 -0
  119. package/lib/components/atoms/text/types.d.ts +7 -0
  120. package/lib/components/atoms/title/title.component.d.ts +10 -0
  121. package/lib/components/atoms/title/types.d.ts +7 -0
  122. package/lib/components/molecules/alert-box/alert-box.component.d.ts +10 -0
  123. package/{src/lib/components/molecules/alert-box/types.ts → lib/components/molecules/alert-box/types.d.ts} +3 -4
  124. package/lib/components/molecules/button-group/button-group.component.d.ts +13 -0
  125. package/lib/components/molecules/button-group/types.d.ts +6 -0
  126. package/lib/components/molecules/card/card.component.d.ts +16 -0
  127. package/lib/components/molecules/card/types.d.ts +32 -0
  128. package/lib/components/molecules/check-input/check-input.component.d.ts +8 -0
  129. package/lib/components/molecules/comment-input/comment-input.component.d.ts +10 -0
  130. package/lib/components/molecules/content-loader/content-loader.component.d.ts +10 -0
  131. package/lib/components/molecules/content-loader/types.d.ts +7 -0
  132. package/lib/components/molecules/date-input/date-input.component.d.ts +10 -0
  133. package/lib/components/molecules/email-input/email-input.component.d.ts +10 -0
  134. package/lib/components/molecules/expandable-text/expandable-text.component.d.ts +13 -0
  135. package/lib/components/molecules/expandable-text/types.d.ts +6 -0
  136. package/lib/components/molecules/file-input/file-input.component.d.ts +15 -0
  137. package/lib/components/molecules/hint/hint.component.d.ts +11 -0
  138. package/lib/components/molecules/hour-input/hour-input.component.d.ts +10 -0
  139. package/lib/components/molecules/link/link.component.d.ts +14 -0
  140. package/lib/components/molecules/link/types.d.ts +9 -0
  141. package/lib/components/molecules/links-cake/links-cake.component.d.ts +10 -0
  142. package/{src/lib/components/molecules/links-cake/types.ts → lib/components/molecules/links-cake/types.d.ts} +3 -4
  143. package/lib/components/molecules/notes-box/notes-box.component.d.ts +10 -0
  144. package/lib/components/molecules/notes-box/types.d.ts +8 -0
  145. package/lib/components/molecules/number-input/number-input.component.d.ts +10 -0
  146. package/lib/components/molecules/password-input/password-input.component.d.ts +11 -0
  147. package/lib/components/molecules/pin-input/pin-input.component.d.ts +15 -0
  148. package/lib/components/molecules/progress-status/progress-status.component.d.ts +14 -0
  149. package/lib/components/molecules/progress-status/types.d.ts +10 -0
  150. package/lib/components/molecules/prompter/prompter.component.d.ts +12 -0
  151. package/{src/lib/components/molecules/prompter/types.ts → lib/components/molecules/prompter/types.d.ts} +6 -7
  152. package/lib/components/molecules/radio-input/radio-input.component.d.ts +10 -0
  153. package/lib/components/molecules/searchbar/searchbar.component.d.ts +14 -0
  154. package/lib/components/molecules/text-input/text-input.component.d.ts +10 -0
  155. package/lib/components/molecules/title-block/title-block.component.d.ts +10 -0
  156. package/lib/components/molecules/title-block/types.d.ts +12 -0
  157. package/lib/components/organisms/banner/banner.component.d.ts +14 -0
  158. package/lib/components/organisms/banner/types.d.ts +12 -0
  159. package/lib/components/organisms/footer/footer.component.d.ts +12 -0
  160. package/{src/lib/components/organisms/footer/types.ts → lib/components/organisms/footer/types.d.ts} +3 -4
  161. package/lib/components/organisms/form/factory.d.ts +5 -0
  162. package/lib/components/organisms/form/form-footer/form-footer.component.d.ts +15 -0
  163. package/lib/components/organisms/form/form.component.d.ts +23 -0
  164. package/lib/components/organisms/header/header.component.d.ts +12 -0
  165. package/{src/lib/components/organisms/header/types.ts → lib/components/organisms/header/types.d.ts} +3 -4
  166. package/lib/components/organisms/item-list/item-list.component.d.ts +23 -0
  167. package/lib/components/organisms/item-list/types.d.ts +38 -0
  168. package/lib/components/organisms/no-content/no-content.component.d.ts +12 -0
  169. package/{src/lib/components/organisms/no-content/types.ts → lib/components/organisms/no-content/types.d.ts} +3 -4
  170. package/lib/components/organisms/toolbar/toolbar.component.d.ts +21 -0
  171. package/lib/components/organisms/toolbar/types.d.ts +11 -0
  172. package/lib/components/organisms/wizard/types.d.ts +20 -0
  173. package/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.d.ts +21 -0
  174. package/lib/components/organisms/wizard/wizard.component.d.ts +22 -0
  175. package/lib/components/templates/layout/layout.component.d.ts +5 -0
  176. package/lib/components/templates/simple/simple.component.d.ts +10 -0
  177. package/{src/lib/components/templates/simple/types.ts → lib/components/templates/simple/types.d.ts} +5 -6
  178. package/lib/components/types.d.ts +113 -0
  179. package/lib/services/download.service.d.ts +8 -0
  180. package/lib/services/icons.service.d.ts +6 -0
  181. package/lib/services/in-app-browser.service.d.ts +9 -0
  182. package/lib/services/lang-provider/components/lang-settings.d.ts +3 -0
  183. package/lib/services/lang-provider/components/theme-settings.d.ts +3 -0
  184. package/lib/services/lang-provider/content.d.ts +6 -0
  185. package/lib/services/lang-provider/lang-provider.service.d.ts +17 -0
  186. package/lib/services/lang-provider/types.d.ts +15 -0
  187. package/lib/services/local-storage.service.d.ts +6 -0
  188. package/lib/services/navigation.service.d.ts +15 -0
  189. package/lib/services/theme.service.d.ts +27 -0
  190. package/{src/lib/services/types.ts → lib/services/types.d.ts} +2 -4
  191. package/lib/shared/constants/storage.d.ts +2 -0
  192. package/lib/shared/utils/dom.d.ts +3 -0
  193. package/lib/shared/utils/styles.d.ts +1 -0
  194. package/package.json +13 -15
  195. package/{src/public-api.ts → public-api.d.ts} +0 -13
  196. package/ng-package.json +0 -10
  197. package/release.sh +0 -76
  198. package/src/lib/components/atoms/avatar/avatar.component.scss +0 -20
  199. package/src/lib/components/atoms/avatar/avatar.component.ts +0 -29
  200. package/src/lib/components/atoms/avatar/types.ts +0 -6
  201. package/src/lib/components/atoms/box/box.component.scss +0 -57
  202. package/src/lib/components/atoms/box/box.component.ts +0 -41
  203. package/src/lib/components/atoms/box/types.ts +0 -8
  204. package/src/lib/components/atoms/button/button.component.scss +0 -6
  205. package/src/lib/components/atoms/button/button.component.ts +0 -54
  206. package/src/lib/components/atoms/button/factory.ts +0 -444
  207. package/src/lib/components/atoms/display/display.component.scss +0 -17
  208. package/src/lib/components/atoms/display/display.component.ts +0 -25
  209. package/src/lib/components/atoms/display/types.ts +0 -7
  210. package/src/lib/components/atoms/divider/divider.component.scss +0 -62
  211. package/src/lib/components/atoms/divider/divider.component.ts +0 -18
  212. package/src/lib/components/atoms/divider/types.ts +0 -5
  213. package/src/lib/components/atoms/href/href.component.scss +0 -25
  214. package/src/lib/components/atoms/href/href.component.ts +0 -43
  215. package/src/lib/components/atoms/href/types.ts +0 -10
  216. package/src/lib/components/atoms/icon/icon.component.scss +0 -33
  217. package/src/lib/components/atoms/icon/icon.component.ts +0 -21
  218. package/src/lib/components/atoms/icon/types.ts +0 -7
  219. package/src/lib/components/atoms/image/image.component.scss +0 -70
  220. package/src/lib/components/atoms/image/image.component.ts +0 -40
  221. package/src/lib/components/atoms/image/types.ts +0 -11
  222. package/src/lib/components/atoms/progress-bar/progress-bar.component.scss +0 -22
  223. package/src/lib/components/atoms/progress-bar/progress-bar.component.ts +0 -29
  224. package/src/lib/components/atoms/progress-bar/types.ts +0 -10
  225. package/src/lib/components/atoms/text/text.component.scss +0 -33
  226. package/src/lib/components/atoms/text/text.component.ts +0 -23
  227. package/src/lib/components/atoms/text/types.ts +0 -8
  228. package/src/lib/components/atoms/title/title.component.scss +0 -17
  229. package/src/lib/components/atoms/title/title.component.ts +0 -27
  230. package/src/lib/components/atoms/title/types.ts +0 -8
  231. package/src/lib/components/molecules/alert-box/alert-box.component.scss +0 -10
  232. package/src/lib/components/molecules/alert-box/alert-box.component.ts +0 -28
  233. package/src/lib/components/molecules/button-group/button-group.component.scss +0 -31
  234. package/src/lib/components/molecules/button-group/button-group.component.ts +0 -44
  235. package/src/lib/components/molecules/button-group/types.ts +0 -7
  236. package/src/lib/components/molecules/card/card.component.scss +0 -46
  237. package/src/lib/components/molecules/card/card.component.ts +0 -218
  238. package/src/lib/components/molecules/card/types.ts +0 -36
  239. package/src/lib/components/molecules/check-input/check-input.component.scss +0 -0
  240. package/src/lib/components/molecules/check-input/check-input.component.ts +0 -16
  241. package/src/lib/components/molecules/comment-input/comment-input.component.scss +0 -0
  242. package/src/lib/components/molecules/comment-input/comment-input.component.ts +0 -22
  243. package/src/lib/components/molecules/content-loader/content-loader.component.scss +0 -42
  244. package/src/lib/components/molecules/content-loader/content-loader.component.ts +0 -27
  245. package/src/lib/components/molecules/content-loader/types.ts +0 -8
  246. package/src/lib/components/molecules/date-input/date-input.component.scss +0 -11
  247. package/src/lib/components/molecules/date-input/date-input.component.ts +0 -47
  248. package/src/lib/components/molecules/email-input/email-input.component.scss +0 -0
  249. package/src/lib/components/molecules/email-input/email-input.component.ts +0 -20
  250. package/src/lib/components/molecules/expandable-text/expandable-text.component.ts +0 -89
  251. package/src/lib/components/molecules/expandable-text/types.ts +0 -6
  252. package/src/lib/components/molecules/file-input/file-input.component.scss +0 -11
  253. package/src/lib/components/molecules/file-input/file-input.component.ts +0 -56
  254. package/src/lib/components/molecules/hint/hint.component.scss +0 -5
  255. package/src/lib/components/molecules/hint/hint.component.ts +0 -42
  256. package/src/lib/components/molecules/hour-input/hour-input.component.scss +0 -0
  257. package/src/lib/components/molecules/hour-input/hour-input.component.ts +0 -19
  258. package/src/lib/components/molecules/link/link.component.scss +0 -5
  259. package/src/lib/components/molecules/link/link.component.ts +0 -52
  260. package/src/lib/components/molecules/link/types.ts +0 -10
  261. package/src/lib/components/molecules/links-cake/links-cake.component.scss +0 -9
  262. package/src/lib/components/molecules/links-cake/links-cake.component.ts +0 -30
  263. package/src/lib/components/molecules/notes-box/notes-box.component.scss +0 -5
  264. package/src/lib/components/molecules/notes-box/notes-box.component.ts +0 -28
  265. package/src/lib/components/molecules/notes-box/types.ts +0 -9
  266. package/src/lib/components/molecules/number-input/number-input.component.scss +0 -0
  267. package/src/lib/components/molecules/number-input/number-input.component.ts +0 -19
  268. package/src/lib/components/molecules/password-input/password-input.component.scss +0 -7
  269. package/src/lib/components/molecules/password-input/password-input.component.ts +0 -33
  270. package/src/lib/components/molecules/pin-input/pin-input.component.scss +0 -13
  271. package/src/lib/components/molecules/pin-input/pin-input.component.ts +0 -42
  272. package/src/lib/components/molecules/progress-status/progress-status.component.scss +0 -41
  273. package/src/lib/components/molecules/progress-status/progress-status.component.ts +0 -70
  274. package/src/lib/components/molecules/progress-status/types.ts +0 -11
  275. package/src/lib/components/molecules/prompter/prompter.component.scss +0 -34
  276. package/src/lib/components/molecules/prompter/prompter.component.ts +0 -58
  277. package/src/lib/components/molecules/radio-input/radio-input.component.scss +0 -0
  278. package/src/lib/components/molecules/radio-input/radio-input.component.ts +0 -27
  279. package/src/lib/components/molecules/searchbar/searchbar.component.scss +0 -9
  280. package/src/lib/components/molecules/searchbar/searchbar.component.ts +0 -47
  281. package/src/lib/components/molecules/text-input/text-input.component.scss +0 -1
  282. package/src/lib/components/molecules/text-input/text-input.component.ts +0 -19
  283. package/src/lib/components/molecules/title-block/title-block.component.scss +0 -36
  284. package/src/lib/components/molecules/title-block/title-block.component.ts +0 -50
  285. package/src/lib/components/molecules/title-block/types.ts +0 -14
  286. package/src/lib/components/organisms/banner/banner.component.scss +0 -45
  287. package/src/lib/components/organisms/banner/banner.component.ts +0 -57
  288. package/src/lib/components/organisms/banner/types.ts +0 -13
  289. package/src/lib/components/organisms/footer/footer.component.scss +0 -3
  290. package/src/lib/components/organisms/footer/footer.component.ts +0 -40
  291. package/src/lib/components/organisms/form/factory.ts +0 -11
  292. package/src/lib/components/organisms/form/form-footer/form-footer.component.scss +0 -0
  293. package/src/lib/components/organisms/form/form-footer/form-footer.component.ts +0 -63
  294. package/src/lib/components/organisms/form/form.component.scss +0 -16
  295. package/src/lib/components/organisms/form/form.component.ts +0 -183
  296. package/src/lib/components/organisms/header/header.component.scss +0 -5
  297. package/src/lib/components/organisms/header/header.component.ts +0 -31
  298. package/src/lib/components/organisms/item-list/item-list.component.scss +0 -41
  299. package/src/lib/components/organisms/item-list/item-list.component.ts +0 -221
  300. package/src/lib/components/organisms/item-list/types.ts +0 -42
  301. package/src/lib/components/organisms/no-content/no-content.component.scss +0 -11
  302. package/src/lib/components/organisms/no-content/no-content.component.ts +0 -37
  303. package/src/lib/components/organisms/toolbar/toolbar.component.scss +0 -13
  304. package/src/lib/components/organisms/toolbar/toolbar.component.ts +0 -123
  305. package/src/lib/components/organisms/toolbar/types.ts +0 -12
  306. package/src/lib/components/organisms/wizard/types.ts +0 -24
  307. package/src/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.scss +0 -0
  308. package/src/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.ts +0 -90
  309. package/src/lib/components/organisms/wizard/wizard.component.scss +0 -15
  310. package/src/lib/components/organisms/wizard/wizard.component.ts +0 -99
  311. package/src/lib/components/templates/layout/layout.component.scss +0 -24
  312. package/src/lib/components/templates/layout/layout.component.ts +0 -14
  313. package/src/lib/components/templates/simple/simple.component.ts +0 -75
  314. package/src/lib/components/types.ts +0 -122
  315. package/src/lib/services/download.service.ts +0 -58
  316. package/src/lib/services/icons.service.ts +0 -40
  317. package/src/lib/services/in-app-browser.service.ts +0 -19
  318. package/src/lib/services/lang-provider/components/lang-settings.ts +0 -14
  319. package/src/lib/services/lang-provider/components/theme-settings.ts +0 -16
  320. package/src/lib/services/lang-provider/content.ts +0 -14
  321. package/src/lib/services/lang-provider/lang-provider.service.ts +0 -38
  322. package/src/lib/services/lang-provider/types.ts +0 -25
  323. package/src/lib/services/local-storage.service.ts +0 -18
  324. package/src/lib/services/navigation.service.ts +0 -39
  325. package/src/lib/services/theme.service.ts +0 -102
  326. package/src/lib/shared/constants/storage.ts +0 -2
  327. package/src/lib/shared/utils/dom.ts +0 -19
  328. package/src/lib/shared/utils/styles.ts +0 -27
  329. package/tsconfig.lib.json +0 -14
  330. package/tsconfig.lib.prod.json +0 -10
  331. package/tsconfig.spec.json +0 -14
@@ -0,0 +1,365 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonIcon, } from '@ionic/angular/standalone';
4
+ import { AvatarComponent } from '../../atoms/avatar/avatar.component';
5
+ import { ButtonComponent } from '../../atoms/button/button.component';
6
+ import { ImageComponent } from '../../atoms/image/image.component';
7
+ import { TextComponent } from '../../atoms/text/text.component';
8
+ import { ToolbarActionType } from '../../types';
9
+ import { CardSection, CardType } from './types';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/common";
12
+ export class CardComponent {
13
+ constructor() {
14
+ this.onClick = new EventEmitter();
15
+ this.types = CardType;
16
+ this.actionTypes = ToolbarActionType;
17
+ this.sections = CardSection;
18
+ }
19
+ ngOnInit() { }
20
+ clickHandler(section, token) {
21
+ this.onClick.emit({ section, token });
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CardComponent, isStandalone: true, selector: "val-card", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
25
+ <ion-card *ngIf="props.type === types.native">
26
+ <img alt="image" [src]="props.image" />
27
+ <ion-card-header *ngIf="props.title || props.overtitle">
28
+ <ion-card-title *ngIf="props.title">{{ props.title }}</ion-card-title>
29
+ <ion-card-subtitle *ngIf="props.overtitle">{{ props.overtitle }}</ion-card-subtitle>
30
+ </ion-card-header>
31
+
32
+ <ion-card-content *ngIf="props.content">{{ props.content }}</ion-card-content>
33
+
34
+ <val-button
35
+ *ngFor="let b of props.footerActions"
36
+ [props]="b"
37
+ (onClick)="clickHandler(sections.footer, b.token)"
38
+ ></val-button>
39
+ </ion-card>
40
+
41
+ <ion-card
42
+ *ngIf="props.type === types.tappable"
43
+ (click)="clickHandler(sections.content, props.token)"
44
+ class="tapable"
45
+ >
46
+ <img alt="image" [src]="props.image" />
47
+ <ion-card-header *ngIf="props.title || props.overtitle">
48
+ <ion-card-title *ngIf="props.title">{{ props.title }}</ion-card-title>
49
+ <ion-card-subtitle *ngIf="props.overtitle">{{ props.overtitle }}</ion-card-subtitle>
50
+ </ion-card-header>
51
+
52
+ <ion-card-content *ngIf="props.content">{{ props.content }}</ion-card-content>
53
+ </ion-card>
54
+
55
+ <ion-card
56
+ *ngIf="props.type === types.checker"
57
+ (click)="clickHandler(sections.content, props.token)"
58
+ class="tapable"
59
+ >
60
+ <ion-card-header *ngIf="props.title || props.overtitle" class="checker">
61
+ <div>
62
+ <ion-card-subtitle *ngIf="props.overtitle">{{ props.overtitle }}</ion-card-subtitle>
63
+ <ion-card-title *ngIf="props.title">{{ props.title }}</ion-card-title>
64
+ </div>
65
+ <div>
66
+ <ion-checkbox [checked]="props.selected"></ion-checkbox>
67
+ </div>
68
+ </ion-card-header>
69
+
70
+ <ion-card-content *ngIf="props.content">{{ props.content }}</ion-card-content>
71
+ </ion-card>
72
+
73
+ <ion-card *ngIf="props.type === types.complex" class="complex">
74
+ <ion-card-header class="complex-header">
75
+ <ion-buttons style="display: flex; align-items: center" *ngIf="props.leftActions.length > 0">
76
+ <ng-container *ngFor="let action of props.leftActions">
77
+ <ion-button
78
+ *ngIf="action.type === actionTypes.ICON"
79
+ (click)="clickHandler(sections.headerLeft, action.token)"
80
+ >
81
+ <ion-icon slot="icon-only" [name]="action.description" color="dark"></ion-icon>
82
+ </ion-button>
83
+ <val-avatar
84
+ style="margin-right: 4px; cursor: pointer"
85
+ *ngIf="action.type === actionTypes.AVATAR"
86
+ [props]="{ size: 'small', image: action.description, default: '' }"
87
+ (onClick)="clickHandler(sections.headerLeft, action.token)"
88
+ ></val-avatar>
89
+ <val-image
90
+ *ngIf="action.type === actionTypes.IMAGE"
91
+ [props]="action.image"
92
+ (click)="clickHandler(sections.headerLeft, action.token)"
93
+ ></val-image>
94
+ <ion-button
95
+ *ngIf="action.type === actionTypes.BUTTON"
96
+ (click)="clickHandler(sections.headerLeft, action.token)"
97
+ >
98
+ {{ action.description }}
99
+ </ion-button>
100
+ <div *ngIf="props.headerText">
101
+ <val-text [props]="{ content: props.headerText, color: 'dark', bold: true, size: 'medium' }" />
102
+ </div>
103
+ </ng-container>
104
+ </ion-buttons>
105
+ <ion-buttons style="display: flex; align-items: center" *ngIf="props.rightActions.length > 0">
106
+ <ng-container *ngFor="let action of props.rightActions">
107
+ <ion-button
108
+ *ngIf="action.type === actionTypes.ICON"
109
+ (click)="clickHandler(sections.headerRight, action.token)"
110
+ >
111
+ <ion-icon slot="icon-only" [name]="action.description" color="dark"></ion-icon>
112
+ </ion-button>
113
+ <val-avatar
114
+ style="margin-right: 4px; cursor: pointer"
115
+ *ngIf="action.type === actionTypes.AVATAR"
116
+ [props]="{ size: 'small', image: action.description, default: '' }"
117
+ (onClick)="clickHandler(sections.headerRight, action.token)"
118
+ ></val-avatar>
119
+ <val-image
120
+ *ngIf="action.type === actionTypes.IMAGE"
121
+ [props]="action.image"
122
+ (click)="clickHandler(sections.headerRight, action.token)"
123
+ ></val-image>
124
+ <ion-button
125
+ *ngIf="action.type === actionTypes.BUTTON"
126
+ (click)="clickHandler(sections.headerRight, action.token)"
127
+ >
128
+ {{ action.description }}
129
+ </ion-button>
130
+ </ng-container>
131
+ </ion-buttons>
132
+ </ion-card-header>
133
+
134
+ <div class="tapable" (click)="clickHandler(sections.content, props.token)">
135
+ <ion-card-header *ngIf="props.title || props.overtitle" class="complex-header">
136
+ <div>
137
+ <ion-card-subtitle *ngIf="props.overtitle">{{ props.overtitle }}</ion-card-subtitle>
138
+ <ion-card-title *ngIf="props.title">{{ props.title }}</ion-card-title>
139
+ </div>
140
+ </ion-card-header>
141
+
142
+ <img alt="image" [src]="props.image" />
143
+ <ion-card-content *ngIf="props.content" class="complex-content">{{ props.content }}</ion-card-content>
144
+ </div>
145
+ <val-button
146
+ *ngFor="let b of props.footerActions"
147
+ [props]="b"
148
+ (onClick)="clickHandler(sections.footer, b.token)"
149
+ ></val-button>
150
+ <ion-buttons
151
+ style="display: flex; align-items: center; justify-content: flex-end; margin: 8px"
152
+ *ngIf="props.footerComplexActions.length > 0"
153
+ >
154
+ <ng-container *ngFor="let action of props.footerComplexActions">
155
+ <ion-button
156
+ *ngIf="action.type === actionTypes.ICON"
157
+ (click)="clickHandler(sections.footerExtra, action.token)"
158
+ >
159
+ <ion-icon slot="icon-only" [name]="action.description" color="dark"></ion-icon>
160
+ </ion-button>
161
+ <val-avatar
162
+ style="margin-right: 4px; cursor: pointer"
163
+ *ngIf="action.type === actionTypes.AVATAR"
164
+ [props]="{ size: 'small', image: action.description, default: '' }"
165
+ (onClick)="clickHandler(sections.footerExtra, action.token)"
166
+ ></val-avatar>
167
+ <val-image
168
+ *ngIf="action.type === actionTypes.IMAGE"
169
+ [props]="action.image"
170
+ (click)="clickHandler(sections.footerExtra, action.token)"
171
+ ></val-image>
172
+ <ion-button
173
+ *ngIf="action.type === actionTypes.BUTTON"
174
+ (click)="clickHandler(sections.footerExtra, action.token)"
175
+ color="dark"
176
+ >
177
+ {{ action.description }}
178
+ </ion-button>
179
+ </ng-container>
180
+ </ion-buttons>
181
+ </ion-card>
182
+ `, isInline: true, styles: ["ion-card.tapable{transition:transform .3s ease,box-shadow .3s ease}ion-card.tapable:hover{transform:scale(1.01);box-shadow:.1875rem .625rem .5rem #1219541a}.tapable{cursor:pointer}.checker{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.complex-header{padding:10px;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.complex-content{padding-left:10px;padding-top:4px;padding-bottom:10px}.complex{border-radius:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: AvatarComponent, selector: "val-avatar", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { kind: "component", type: IonCardSubtitle, selector: "ion-card-subtitle", inputs: ["color", "mode"] }, { kind: "component", type: IonCheckbox, selector: "ion-checkbox", inputs: ["checked", "color", "disabled", "indeterminate", "justify", "labelPlacement", "mode", "name", "value"] }, { 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"] }] }); }
183
+ }
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CardComponent, decorators: [{
185
+ type: Component,
186
+ args: [{ selector: 'val-card', standalone: true, imports: [
187
+ CommonModule,
188
+ ButtonComponent,
189
+ AvatarComponent,
190
+ ImageComponent,
191
+ TextComponent,
192
+ IonCard,
193
+ IonCardContent,
194
+ IonCardHeader,
195
+ IonCardTitle,
196
+ IonCardSubtitle,
197
+ IonCheckbox,
198
+ IonButtons,
199
+ IonButton,
200
+ IonIcon,
201
+ ], template: `
202
+ <ion-card *ngIf="props.type === types.native">
203
+ <img alt="image" [src]="props.image" />
204
+ <ion-card-header *ngIf="props.title || props.overtitle">
205
+ <ion-card-title *ngIf="props.title">{{ props.title }}</ion-card-title>
206
+ <ion-card-subtitle *ngIf="props.overtitle">{{ props.overtitle }}</ion-card-subtitle>
207
+ </ion-card-header>
208
+
209
+ <ion-card-content *ngIf="props.content">{{ props.content }}</ion-card-content>
210
+
211
+ <val-button
212
+ *ngFor="let b of props.footerActions"
213
+ [props]="b"
214
+ (onClick)="clickHandler(sections.footer, b.token)"
215
+ ></val-button>
216
+ </ion-card>
217
+
218
+ <ion-card
219
+ *ngIf="props.type === types.tappable"
220
+ (click)="clickHandler(sections.content, props.token)"
221
+ class="tapable"
222
+ >
223
+ <img alt="image" [src]="props.image" />
224
+ <ion-card-header *ngIf="props.title || props.overtitle">
225
+ <ion-card-title *ngIf="props.title">{{ props.title }}</ion-card-title>
226
+ <ion-card-subtitle *ngIf="props.overtitle">{{ props.overtitle }}</ion-card-subtitle>
227
+ </ion-card-header>
228
+
229
+ <ion-card-content *ngIf="props.content">{{ props.content }}</ion-card-content>
230
+ </ion-card>
231
+
232
+ <ion-card
233
+ *ngIf="props.type === types.checker"
234
+ (click)="clickHandler(sections.content, props.token)"
235
+ class="tapable"
236
+ >
237
+ <ion-card-header *ngIf="props.title || props.overtitle" class="checker">
238
+ <div>
239
+ <ion-card-subtitle *ngIf="props.overtitle">{{ props.overtitle }}</ion-card-subtitle>
240
+ <ion-card-title *ngIf="props.title">{{ props.title }}</ion-card-title>
241
+ </div>
242
+ <div>
243
+ <ion-checkbox [checked]="props.selected"></ion-checkbox>
244
+ </div>
245
+ </ion-card-header>
246
+
247
+ <ion-card-content *ngIf="props.content">{{ props.content }}</ion-card-content>
248
+ </ion-card>
249
+
250
+ <ion-card *ngIf="props.type === types.complex" class="complex">
251
+ <ion-card-header class="complex-header">
252
+ <ion-buttons style="display: flex; align-items: center" *ngIf="props.leftActions.length > 0">
253
+ <ng-container *ngFor="let action of props.leftActions">
254
+ <ion-button
255
+ *ngIf="action.type === actionTypes.ICON"
256
+ (click)="clickHandler(sections.headerLeft, action.token)"
257
+ >
258
+ <ion-icon slot="icon-only" [name]="action.description" color="dark"></ion-icon>
259
+ </ion-button>
260
+ <val-avatar
261
+ style="margin-right: 4px; cursor: pointer"
262
+ *ngIf="action.type === actionTypes.AVATAR"
263
+ [props]="{ size: 'small', image: action.description, default: '' }"
264
+ (onClick)="clickHandler(sections.headerLeft, action.token)"
265
+ ></val-avatar>
266
+ <val-image
267
+ *ngIf="action.type === actionTypes.IMAGE"
268
+ [props]="action.image"
269
+ (click)="clickHandler(sections.headerLeft, action.token)"
270
+ ></val-image>
271
+ <ion-button
272
+ *ngIf="action.type === actionTypes.BUTTON"
273
+ (click)="clickHandler(sections.headerLeft, action.token)"
274
+ >
275
+ {{ action.description }}
276
+ </ion-button>
277
+ <div *ngIf="props.headerText">
278
+ <val-text [props]="{ content: props.headerText, color: 'dark', bold: true, size: 'medium' }" />
279
+ </div>
280
+ </ng-container>
281
+ </ion-buttons>
282
+ <ion-buttons style="display: flex; align-items: center" *ngIf="props.rightActions.length > 0">
283
+ <ng-container *ngFor="let action of props.rightActions">
284
+ <ion-button
285
+ *ngIf="action.type === actionTypes.ICON"
286
+ (click)="clickHandler(sections.headerRight, action.token)"
287
+ >
288
+ <ion-icon slot="icon-only" [name]="action.description" color="dark"></ion-icon>
289
+ </ion-button>
290
+ <val-avatar
291
+ style="margin-right: 4px; cursor: pointer"
292
+ *ngIf="action.type === actionTypes.AVATAR"
293
+ [props]="{ size: 'small', image: action.description, default: '' }"
294
+ (onClick)="clickHandler(sections.headerRight, action.token)"
295
+ ></val-avatar>
296
+ <val-image
297
+ *ngIf="action.type === actionTypes.IMAGE"
298
+ [props]="action.image"
299
+ (click)="clickHandler(sections.headerRight, action.token)"
300
+ ></val-image>
301
+ <ion-button
302
+ *ngIf="action.type === actionTypes.BUTTON"
303
+ (click)="clickHandler(sections.headerRight, action.token)"
304
+ >
305
+ {{ action.description }}
306
+ </ion-button>
307
+ </ng-container>
308
+ </ion-buttons>
309
+ </ion-card-header>
310
+
311
+ <div class="tapable" (click)="clickHandler(sections.content, props.token)">
312
+ <ion-card-header *ngIf="props.title || props.overtitle" class="complex-header">
313
+ <div>
314
+ <ion-card-subtitle *ngIf="props.overtitle">{{ props.overtitle }}</ion-card-subtitle>
315
+ <ion-card-title *ngIf="props.title">{{ props.title }}</ion-card-title>
316
+ </div>
317
+ </ion-card-header>
318
+
319
+ <img alt="image" [src]="props.image" />
320
+ <ion-card-content *ngIf="props.content" class="complex-content">{{ props.content }}</ion-card-content>
321
+ </div>
322
+ <val-button
323
+ *ngFor="let b of props.footerActions"
324
+ [props]="b"
325
+ (onClick)="clickHandler(sections.footer, b.token)"
326
+ ></val-button>
327
+ <ion-buttons
328
+ style="display: flex; align-items: center; justify-content: flex-end; margin: 8px"
329
+ *ngIf="props.footerComplexActions.length > 0"
330
+ >
331
+ <ng-container *ngFor="let action of props.footerComplexActions">
332
+ <ion-button
333
+ *ngIf="action.type === actionTypes.ICON"
334
+ (click)="clickHandler(sections.footerExtra, action.token)"
335
+ >
336
+ <ion-icon slot="icon-only" [name]="action.description" color="dark"></ion-icon>
337
+ </ion-button>
338
+ <val-avatar
339
+ style="margin-right: 4px; cursor: pointer"
340
+ *ngIf="action.type === actionTypes.AVATAR"
341
+ [props]="{ size: 'small', image: action.description, default: '' }"
342
+ (onClick)="clickHandler(sections.footerExtra, action.token)"
343
+ ></val-avatar>
344
+ <val-image
345
+ *ngIf="action.type === actionTypes.IMAGE"
346
+ [props]="action.image"
347
+ (click)="clickHandler(sections.footerExtra, action.token)"
348
+ ></val-image>
349
+ <ion-button
350
+ *ngIf="action.type === actionTypes.BUTTON"
351
+ (click)="clickHandler(sections.footerExtra, action.token)"
352
+ color="dark"
353
+ >
354
+ {{ action.description }}
355
+ </ion-button>
356
+ </ng-container>
357
+ </ion-buttons>
358
+ </ion-card>
359
+ `, styles: ["ion-card.tapable{transition:transform .3s ease,box-shadow .3s ease}ion-card.tapable:hover{transform:scale(1.01);box-shadow:.1875rem .625rem .5rem #1219541a}.tapable{cursor:pointer}.checker{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.complex-header{padding:10px;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.complex-content{padding-left:10px;padding-top:4px;padding-bottom:10px}.complex{border-radius:16px}\n"] }]
360
+ }], ctorParameters: () => [], propDecorators: { props: [{
361
+ type: Input
362
+ }], onClick: [{
363
+ type: Output
364
+ }] } });
365
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jYXJkL2NhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE9BQU8sRUFDUCxjQUFjLEVBQ2QsYUFBYSxFQUNiLGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLE9BQU8sR0FDUixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFnQyxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFzTDlFLE1BQU0sT0FBTyxhQUFhO0lBVXhCO1FBTkEsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBRTdDLFVBQUssR0FBRyxRQUFRLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxpQkFBaUIsQ0FBQztRQUNoQyxhQUFRLEdBQUcsV0FBVyxDQUFDO0lBRVIsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUViLFlBQVksQ0FBQyxPQUFvQixFQUFFLEtBQWM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDOytHQWhCVSxhQUFhO21HQUFiLGFBQWEsaUlBaktkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThKVCwwaUJBN0tDLFlBQVksZ1FBQ1osZUFBZSxnR0FDZixlQUFlLGdHQUNmLGNBQWMseUVBQ2QsYUFBYSx3RUFDYixPQUFPLHlMQUNQLGNBQWMsK0VBQ2QsYUFBYSxzR0FDYixZQUFZLHNGQUNaLGVBQWUseUZBQ2YsV0FBVywwS0FDWCxVQUFVLDhFQUNWLFNBQVMsb1BBQ1QsT0FBTzs7NEZBbUtFLGFBQWE7a0JBcEx6QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLE9BQU87d0JBQ1AsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixXQUFXO3dCQUNYLFVBQVU7d0JBQ1YsU0FBUzt3QkFDVCxPQUFPO3FCQUNSLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEpUO3dEQUlRLEtBQUs7c0JBQWIsS0FBSztnQkFHTixPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSW9uQnV0dG9uLFxuICBJb25CdXR0b25zLFxuICBJb25DYXJkLFxuICBJb25DYXJkQ29udGVudCxcbiAgSW9uQ2FyZEhlYWRlcixcbiAgSW9uQ2FyZFN1YnRpdGxlLFxuICBJb25DYXJkVGl0bGUsXG4gIElvbkNoZWNrYm94LFxuICBJb25JY29uLFxufSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90ZXh0L3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2xiYXJBY3Rpb25UeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ2FyZENsaWNrRXZlbnQsIENhcmRNZXRhZGF0YSwgQ2FyZFNlY3Rpb24sIENhcmRUeXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQXZhdGFyQ29tcG9uZW50LFxuICAgIEltYWdlQ29tcG9uZW50LFxuICAgIFRleHRDb21wb25lbnQsXG4gICAgSW9uQ2FyZCxcbiAgICBJb25DYXJkQ29udGVudCxcbiAgICBJb25DYXJkSGVhZGVyLFxuICAgIElvbkNhcmRUaXRsZSxcbiAgICBJb25DYXJkU3VidGl0bGUsXG4gICAgSW9uQ2hlY2tib3gsXG4gICAgSW9uQnV0dG9ucyxcbiAgICBJb25CdXR0b24sXG4gICAgSW9uSWNvbixcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWNhcmQgKm5nSWY9XCJwcm9wcy50eXBlID09PSB0eXBlcy5uYXRpdmVcIj5cbiAgICAgIDxpbWcgYWx0PVwiaW1hZ2VcIiBbc3JjXT1cInByb3BzLmltYWdlXCIgLz5cbiAgICAgIDxpb24tY2FyZC1oZWFkZXIgKm5nSWY9XCJwcm9wcy50aXRsZSB8fCBwcm9wcy5vdmVydGl0bGVcIj5cbiAgICAgICAgPGlvbi1jYXJkLXRpdGxlICpuZ0lmPVwicHJvcHMudGl0bGVcIj57eyBwcm9wcy50aXRsZSB9fTwvaW9uLWNhcmQtdGl0bGU+XG4gICAgICAgIDxpb24tY2FyZC1zdWJ0aXRsZSAqbmdJZj1cInByb3BzLm92ZXJ0aXRsZVwiPnt7IHByb3BzLm92ZXJ0aXRsZSB9fTwvaW9uLWNhcmQtc3VidGl0bGU+XG4gICAgICA8L2lvbi1jYXJkLWhlYWRlcj5cblxuICAgICAgPGlvbi1jYXJkLWNvbnRlbnQgKm5nSWY9XCJwcm9wcy5jb250ZW50XCI+e3sgcHJvcHMuY29udGVudCB9fTwvaW9uLWNhcmQtY29udGVudD5cblxuICAgICAgPHZhbC1idXR0b25cbiAgICAgICAgKm5nRm9yPVwibGV0IGIgb2YgcHJvcHMuZm9vdGVyQWN0aW9uc1wiXG4gICAgICAgIFtwcm9wc109XCJiXCJcbiAgICAgICAgKG9uQ2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmZvb3RlciwgYi50b2tlbilcIlxuICAgICAgPjwvdmFsLWJ1dHRvbj5cbiAgICA8L2lvbi1jYXJkPlxuXG4gICAgPGlvbi1jYXJkXG4gICAgICAqbmdJZj1cInByb3BzLnR5cGUgPT09IHR5cGVzLnRhcHBhYmxlXCJcbiAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoc2VjdGlvbnMuY29udGVudCwgcHJvcHMudG9rZW4pXCJcbiAgICAgIGNsYXNzPVwidGFwYWJsZVwiXG4gICAgPlxuICAgICAgPGltZyBhbHQ9XCJpbWFnZVwiIFtzcmNdPVwicHJvcHMuaW1hZ2VcIiAvPlxuICAgICAgPGlvbi1jYXJkLWhlYWRlciAqbmdJZj1cInByb3BzLnRpdGxlIHx8IHByb3BzLm92ZXJ0aXRsZVwiPlxuICAgICAgICA8aW9uLWNhcmQtdGl0bGUgKm5nSWY9XCJwcm9wcy50aXRsZVwiPnt7IHByb3BzLnRpdGxlIH19PC9pb24tY2FyZC10aXRsZT5cbiAgICAgICAgPGlvbi1jYXJkLXN1YnRpdGxlICpuZ0lmPVwicHJvcHMub3ZlcnRpdGxlXCI+e3sgcHJvcHMub3ZlcnRpdGxlIH19PC9pb24tY2FyZC1zdWJ0aXRsZT5cbiAgICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxuXG4gICAgICA8aW9uLWNhcmQtY29udGVudCAqbmdJZj1cInByb3BzLmNvbnRlbnRcIj57eyBwcm9wcy5jb250ZW50IH19PC9pb24tY2FyZC1jb250ZW50PlxuICAgIDwvaW9uLWNhcmQ+XG5cbiAgICA8aW9uLWNhcmRcbiAgICAgICpuZ0lmPVwicHJvcHMudHlwZSA9PT0gdHlwZXMuY2hlY2tlclwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmNvbnRlbnQsIHByb3BzLnRva2VuKVwiXG4gICAgICBjbGFzcz1cInRhcGFibGVcIlxuICAgID5cbiAgICAgIDxpb24tY2FyZC1oZWFkZXIgKm5nSWY9XCJwcm9wcy50aXRsZSB8fCBwcm9wcy5vdmVydGl0bGVcIiBjbGFzcz1cImNoZWNrZXJcIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aW9uLWNhcmQtc3VidGl0bGUgKm5nSWY9XCJwcm9wcy5vdmVydGl0bGVcIj57eyBwcm9wcy5vdmVydGl0bGUgfX08L2lvbi1jYXJkLXN1YnRpdGxlPlxuICAgICAgICAgIDxpb24tY2FyZC10aXRsZSAqbmdJZj1cInByb3BzLnRpdGxlXCI+e3sgcHJvcHMudGl0bGUgfX08L2lvbi1jYXJkLXRpdGxlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aW9uLWNoZWNrYm94IFtjaGVja2VkXT1cInByb3BzLnNlbGVjdGVkXCI+PC9pb24tY2hlY2tib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9pb24tY2FyZC1oZWFkZXI+XG5cbiAgICAgIDxpb24tY2FyZC1jb250ZW50ICpuZ0lmPVwicHJvcHMuY29udGVudFwiPnt7IHByb3BzLmNvbnRlbnQgfX08L2lvbi1jYXJkLWNvbnRlbnQ+XG4gICAgPC9pb24tY2FyZD5cblxuICAgIDxpb24tY2FyZCAqbmdJZj1cInByb3BzLnR5cGUgPT09IHR5cGVzLmNvbXBsZXhcIiBjbGFzcz1cImNvbXBsZXhcIj5cbiAgICAgIDxpb24tY2FyZC1oZWFkZXIgY2xhc3M9XCJjb21wbGV4LWhlYWRlclwiPlxuICAgICAgICA8aW9uLWJ1dHRvbnMgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyXCIgKm5nSWY9XCJwcm9wcy5sZWZ0QWN0aW9ucy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHByb3BzLmxlZnRBY3Rpb25zXCI+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5JQ09OXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcihzZWN0aW9ucy5oZWFkZXJMZWZ0LCBhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBbbmFtZV09XCJhY3Rpb24uZGVzY3JpcHRpb25cIiBjb2xvcj1cImRhcmtcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPHZhbC1hdmF0YXJcbiAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDRweDsgY3Vyc29yOiBwb2ludGVyXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb24udHlwZSA9PT0gYWN0aW9uVHlwZXMuQVZBVEFSXCJcbiAgICAgICAgICAgICAgW3Byb3BzXT1cInsgc2l6ZTogJ3NtYWxsJywgaW1hZ2U6IGFjdGlvbi5kZXNjcmlwdGlvbiwgZGVmYXVsdDogJycgfVwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cImNsaWNrSGFuZGxlcihzZWN0aW9ucy5oZWFkZXJMZWZ0LCBhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgID48L3ZhbC1hdmF0YXI+XG4gICAgICAgICAgICA8dmFsLWltYWdlXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLklNQUdFXCJcbiAgICAgICAgICAgICAgW3Byb3BzXT1cImFjdGlvbi5pbWFnZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoc2VjdGlvbnMuaGVhZGVyTGVmdCwgYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgICA+PC92YWwtaW1hZ2U+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5CVVRUT05cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmhlYWRlckxlZnQsIGFjdGlvbi50b2tlbilcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBhY3Rpb24uZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9wcy5oZWFkZXJUZXh0XCI+XG4gICAgICAgICAgICAgIDx2YWwtdGV4dCBbcHJvcHNdPVwieyBjb250ZW50OiBwcm9wcy5oZWFkZXJUZXh0LCBjb2xvcjogJ2RhcmsnLCBib2xkOiB0cnVlLCBzaXplOiAnbWVkaXVtJyB9XCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgICA8aW9uLWJ1dHRvbnMgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyXCIgKm5nSWY9XCJwcm9wcy5yaWdodEFjdGlvbnMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBwcm9wcy5yaWdodEFjdGlvbnNcIj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLklDT05cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmhlYWRlclJpZ2h0LCBhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBbbmFtZV09XCJhY3Rpb24uZGVzY3JpcHRpb25cIiBjb2xvcj1cImRhcmtcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPHZhbC1hdmF0YXJcbiAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDRweDsgY3Vyc29yOiBwb2ludGVyXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb24udHlwZSA9PT0gYWN0aW9uVHlwZXMuQVZBVEFSXCJcbiAgICAgICAgICAgICAgW3Byb3BzXT1cInsgc2l6ZTogJ3NtYWxsJywgaW1hZ2U6IGFjdGlvbi5kZXNjcmlwdGlvbiwgZGVmYXVsdDogJycgfVwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cImNsaWNrSGFuZGxlcihzZWN0aW9ucy5oZWFkZXJSaWdodCwgYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgICA+PC92YWwtYXZhdGFyPlxuICAgICAgICAgICAgPHZhbC1pbWFnZVxuICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5JTUFHRVwiXG4gICAgICAgICAgICAgIFtwcm9wc109XCJhY3Rpb24uaW1hZ2VcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmhlYWRlclJpZ2h0LCBhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgID48L3ZhbC1pbWFnZT5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLkJVVFRPTlwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoc2VjdGlvbnMuaGVhZGVyUmlnaHQsIGFjdGlvbi50b2tlbilcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBhY3Rpb24uZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwidGFwYWJsZVwiIChjbGljayk9XCJjbGlja0hhbmRsZXIoc2VjdGlvbnMuY29udGVudCwgcHJvcHMudG9rZW4pXCI+XG4gICAgICAgIDxpb24tY2FyZC1oZWFkZXIgKm5nSWY9XCJwcm9wcy50aXRsZSB8fCBwcm9wcy5vdmVydGl0bGVcIiBjbGFzcz1cImNvbXBsZXgtaGVhZGVyXCI+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxpb24tY2FyZC1zdWJ0aXRsZSAqbmdJZj1cInByb3BzLm92ZXJ0aXRsZVwiPnt7IHByb3BzLm92ZXJ0aXRsZSB9fTwvaW9uLWNhcmQtc3VidGl0bGU+XG4gICAgICAgICAgICA8aW9uLWNhcmQtdGl0bGUgKm5nSWY9XCJwcm9wcy50aXRsZVwiPnt7IHByb3BzLnRpdGxlIH19PC9pb24tY2FyZC10aXRsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9pb24tY2FyZC1oZWFkZXI+XG5cbiAgICAgICAgPGltZyBhbHQ9XCJpbWFnZVwiIFtzcmNdPVwicHJvcHMuaW1hZ2VcIiAvPlxuICAgICAgICA8aW9uLWNhcmQtY29udGVudCAqbmdJZj1cInByb3BzLmNvbnRlbnRcIiBjbGFzcz1cImNvbXBsZXgtY29udGVudFwiPnt7IHByb3BzLmNvbnRlbnQgfX08L2lvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx2YWwtYnV0dG9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBiIG9mIHByb3BzLmZvb3RlckFjdGlvbnNcIlxuICAgICAgICBbcHJvcHNdPVwiYlwiXG4gICAgICAgIChvbkNsaWNrKT1cImNsaWNrSGFuZGxlcihzZWN0aW9ucy5mb290ZXIsIGIudG9rZW4pXCJcbiAgICAgID48L3ZhbC1idXR0b24+XG4gICAgICA8aW9uLWJ1dHRvbnNcbiAgICAgICAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyBtYXJnaW46IDhweFwiXG4gICAgICAgICpuZ0lmPVwicHJvcHMuZm9vdGVyQ29tcGxleEFjdGlvbnMubGVuZ3RoID4gMFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBwcm9wcy5mb290ZXJDb21wbGV4QWN0aW9uc1wiPlxuICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5JQ09OXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoc2VjdGlvbnMuZm9vdGVyRXh0cmEsIGFjdGlvbi50b2tlbilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgW25hbWVdPVwiYWN0aW9uLmRlc2NyaXB0aW9uXCIgY29sb3I9XCJkYXJrXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgPHZhbC1hdmF0YXJcbiAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiA0cHg7IGN1cnNvcjogcG9pbnRlclwiXG4gICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5BVkFUQVJcIlxuICAgICAgICAgICAgW3Byb3BzXT1cInsgc2l6ZTogJ3NtYWxsJywgaW1hZ2U6IGFjdGlvbi5kZXNjcmlwdGlvbiwgZGVmYXVsdDogJycgfVwiXG4gICAgICAgICAgICAob25DbGljayk9XCJjbGlja0hhbmRsZXIoc2VjdGlvbnMuZm9vdGVyRXh0cmEsIGFjdGlvbi50b2tlbilcIlxuICAgICAgICAgID48L3ZhbC1hdmF0YXI+XG4gICAgICAgICAgPHZhbC1pbWFnZVxuICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb24udHlwZSA9PT0gYWN0aW9uVHlwZXMuSU1BR0VcIlxuICAgICAgICAgICAgW3Byb3BzXT1cImFjdGlvbi5pbWFnZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmZvb3RlckV4dHJhLCBhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICA+PC92YWwtaW1hZ2U+XG4gICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLkJVVFRPTlwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmZvb3RlckV4dHJhLCBhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgIGNvbG9yPVwiZGFya1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgYWN0aW9uLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvaW9uLWJ1dHRvbnM+XG4gICAgPC9pb24tY2FyZD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vY2FyZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHJvcHM6IENhcmRNZXRhZGF0YTtcblxuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FyZENsaWNrRXZlbnQ+KCk7XG5cbiAgdHlwZXMgPSBDYXJkVHlwZTtcbiAgYWN0aW9uVHlwZXMgPSBUb29sYmFyQWN0aW9uVHlwZTtcbiAgc2VjdGlvbnMgPSBDYXJkU2VjdGlvbjtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGNsaWNrSGFuZGxlcihzZWN0aW9uOiBDYXJkU2VjdGlvbiwgdG9rZW4/OiBzdHJpbmcpIHtcbiAgICB0aGlzLm9uQ2xpY2suZW1pdCh7IHNlY3Rpb24sIHRva2VuIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ export var CardType;
2
+ (function (CardType) {
3
+ CardType["native"] = "native";
4
+ CardType["checker"] = "checker";
5
+ CardType["tappable"] = "tappable";
6
+ CardType["complex"] = "complex";
7
+ })(CardType || (CardType = {}));
8
+ export var CardSection;
9
+ (function (CardSection) {
10
+ CardSection[CardSection["headerLeft"] = 0] = "headerLeft";
11
+ CardSection[CardSection["headerRight"] = 1] = "headerRight";
12
+ CardSection[CardSection["content"] = 2] = "content";
13
+ CardSection[CardSection["footer"] = 3] = "footer";
14
+ CardSection[CardSection["footerExtra"] = 4] = "footerExtra";
15
+ })(CardSection || (CardSection = {}));
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jYXJkL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBTixJQUFZLFFBS1g7QUFMRCxXQUFZLFFBQVE7SUFDbEIsNkJBQWlCLENBQUE7SUFDakIsK0JBQW1CLENBQUE7SUFDbkIsaUNBQXFCLENBQUE7SUFDckIsK0JBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUxXLFFBQVEsS0FBUixRQUFRLFFBS25CO0FBT0QsTUFBTSxDQUFOLElBQVksV0FNWDtBQU5ELFdBQVksV0FBVztJQUNyQix5REFBVSxDQUFBO0lBQ1YsMkRBQVcsQ0FBQTtJQUNYLG1EQUFPLENBQUE7SUFDUCxpREFBTSxDQUFBO0lBQ04sMkRBQVcsQ0FBQTtBQUNiLENBQUMsRUFOVyxXQUFXLEtBQVgsV0FBVyxRQU10QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbk1ldGFkYXRhLCBUb29sYmFyQWN0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5leHBvcnQgZW51bSBDYXJkVHlwZSB7XG4gIG5hdGl2ZSA9ICduYXRpdmUnLFxuICBjaGVja2VyID0gJ2NoZWNrZXInLFxuICB0YXBwYWJsZSA9ICd0YXBwYWJsZScsXG4gIGNvbXBsZXggPSAnY29tcGxleCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FyZENsaWNrRXZlbnQge1xuICBzZWN0aW9uOiBDYXJkU2VjdGlvbjtcbiAgdG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIENhcmRTZWN0aW9uIHtcbiAgaGVhZGVyTGVmdCxcbiAgaGVhZGVyUmlnaHQsXG4gIGNvbnRlbnQsXG4gIGZvb3RlcixcbiAgZm9vdGVyRXh0cmEsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FyZE1ldGFkYXRhIHtcbiAgdG9rZW4/OiBzdHJpbmc7XG4gIHR5cGU6IENhcmRUeXBlO1xuICB0aXRsZT86IHN0cmluZztcbiAgb3ZlcnRpdGxlPzogc3RyaW5nO1xuICBjb250ZW50Pzogc3RyaW5nO1xuICBpbWFnZT86IHN0cmluZztcbiAgZm9vdGVyQWN0aW9uczogQnV0dG9uTWV0YWRhdGFbXTtcbiAgZm9vdGVyQ29tcGxleEFjdGlvbnM6IFRvb2xiYXJBY3Rpb25bXTtcbiAgbGVmdEFjdGlvbnM6IFRvb2xiYXJBY3Rpb25bXTtcbiAgcmlnaHRBY3Rpb25zOiBUb29sYmFyQWN0aW9uW107XG4gIHNlbGVjdGVkOiBib29sZWFuO1xuICBoZWFkZXJUZXh0Pzogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,15 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component } from '@angular/core';
3
+ import { IonCheckbox } from '@ionic/angular/standalone';
4
+ import * as i0 from "@angular/core";
5
+ export class CheckInputComponent {
6
+ constructor() { }
7
+ ngOnInit() { }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CheckInputComponent, isStandalone: true, selector: "val-check-input", ngImport: i0, template: ` <ion-checkbox>I agree to the terms and conditions</ion-checkbox> `, isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonCheckbox, selector: "ion-checkbox", inputs: ["checked", "color", "disabled", "indeterminate", "justify", "labelPlacement", "mode", "name", "value"] }] }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckInputComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: 'val-check-input', standalone: true, imports: [CommonModule, IonCheckbox], template: ` <ion-checkbox>I agree to the terms and conditions</ion-checkbox> ` }]
14
+ }], ctorParameters: () => [] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2staW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvY2hlY2staW5wdXQvY2hlY2staW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFTeEQsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixnQkFBZSxDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDOytHQUhGLG1CQUFtQjttR0FBbkIsbUJBQW1CLDJFQUhwQixvRUFBb0UseUVBRHBFLFlBQVksK0JBQUUsV0FBVzs7NEZBSXhCLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLFlBQzFCLG9FQUFvRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQ2hlY2tib3ggfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNoZWNrLWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uQ2hlY2tib3hdLFxuICB0ZW1wbGF0ZTogYCA8aW9uLWNoZWNrYm94PkkgYWdyZWUgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zPC9pb24tY2hlY2tib3g+IGAsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxufVxuIl19
@@ -0,0 +1,23 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input } from '@angular/core';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { IonCheckbox, IonTextarea } from '@ionic/angular/standalone';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ export class CommentInputComponent {
8
+ constructor() { }
9
+ ngOnInit() { }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommentInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CommentInputComponent, isStandalone: true, selector: "val-comment-input", inputs: { props: "props" }, ngImport: i0, template: `
12
+ <ion-textarea [formControl]="props.control" [counter]="true" [maxlength]="props.range.max"></ion-textarea>
13
+ `, isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonTextarea, selector: "ion-textarea", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "shape", "spellcheck", "value", "wrap"] }] }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommentInputComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'val-comment-input', standalone: true, imports: [CommonModule, ReactiveFormsModule, IonCheckbox, IonTextarea], template: `
18
+ <ion-textarea [formControl]="props.control" [counter]="true" [maxlength]="props.range.max"></ion-textarea>
19
+ ` }]
20
+ }], ctorParameters: () => [], propDecorators: { props: [{
21
+ type: Input
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jb21tZW50LWlucHV0L2NvbW1lbnQtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFZckUsTUFBTSxPQUFPLHFCQUFxQjtJQUdoQyxnQkFBZSxDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDOytHQUxGLHFCQUFxQjttR0FBckIscUJBQXFCLHlHQUx0Qjs7R0FFVCx5RUFIUyxZQUFZLDhCQUFFLG1CQUFtQiw2ZEFBZSxXQUFXOzs0RkFNMUQscUJBQXFCO2tCQVRqQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxZQUM1RDs7R0FFVDt3REFJUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uQ2hlY2tib3gsIElvblRleHRhcmVhIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBJbnB1dE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY29tbWVudC1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIElvbkNoZWNrYm94LCBJb25UZXh0YXJlYV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi10ZXh0YXJlYSBbZm9ybUNvbnRyb2xdPVwicHJvcHMuY29udHJvbFwiIFtjb3VudGVyXT1cInRydWVcIiBbbWF4bGVuZ3RoXT1cInByb3BzLnJhbmdlLm1heFwiPjwvaW9uLXRleHRhcmVhPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9jb21tZW50LWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbW1lbnRJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHByb3BzOiBJbnB1dE1ldGFkYXRhO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHt9XG59XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input } from '@angular/core';
3
+ import { IonSpinner, IonText } from '@ionic/angular/standalone';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class ContentLoaderComponent {
7
+ constructor() { }
8
+ ngOnInit() { }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContentLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ContentLoaderComponent, isStandalone: true, selector: "val-content-loader", inputs: { props: "props" }, ngImport: i0, template: `
11
+ <div [ngClass]="['spinner-wrapper', props.size]">
12
+ <ion-spinner [ngClass]="[props.size]" [name]="props.name" [color]="props.color"></ion-spinner>
13
+ <ion-text [color]="props.color">
14
+ <p>{{ props.text }}</p>
15
+ </ion-text>
16
+ </div>
17
+ `, isInline: true, styles: [".small{width:1.5rem;height:1.5rem}.medium{width:2.375rem;height:2.375rem}.large{width:3rem;height:3rem}.spinner-wrapper{width:100%;text-align:center}.spinner-wrapper.small{height:4.5rem;padding-top:1.5rem;font-size:.75rem;line-height:1.25rem;font-weight:400}.spinner-wrapper.medium{height:6.125rem;padding-top:2rem;font-size:.875rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.spinner-wrapper.medium{font-size:1rem;line-height:1.5rem}}.spinner-wrapper.large{height:6.75rem;padding-top:2.625rem;font-size:1rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.spinner-wrapper.large{font-size:1.125rem;line-height:1.5rem}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContentLoaderComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'val-content-loader', standalone: true, imports: [CommonModule, IonSpinner, IonText], template: `
22
+ <div [ngClass]="['spinner-wrapper', props.size]">
23
+ <ion-spinner [ngClass]="[props.size]" [name]="props.name" [color]="props.color"></ion-spinner>
24
+ <ion-text [color]="props.color">
25
+ <p>{{ props.text }}</p>
26
+ </ion-text>
27
+ </div>
28
+ `, styles: [".small{width:1.5rem;height:1.5rem}.medium{width:2.375rem;height:2.375rem}.large{width:3rem;height:3rem}.spinner-wrapper{width:100%;text-align:center}.spinner-wrapper.small{height:4.5rem;padding-top:1.5rem;font-size:.75rem;line-height:1.25rem;font-weight:400}.spinner-wrapper.medium{height:6.125rem;padding-top:2rem;font-size:.875rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.spinner-wrapper.medium{font-size:1rem;line-height:1.5rem}}.spinner-wrapper.large{height:6.75rem;padding-top:2.625rem;font-size:1rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.spinner-wrapper.large{font-size:1.125rem;line-height:1.5rem}}\n"] }]
29
+ }], ctorParameters: () => [], propDecorators: { props: [{
30
+ type: Input
31
+ }] } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1sb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvY29udGVudC1sb2FkZXIvY29udGVudC1sb2FkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFpQmhFLE1BQU0sT0FBTyxzQkFBc0I7SUFJakMsZ0JBQWUsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQzsrR0FORixzQkFBc0I7bUdBQXRCLHNCQUFzQiwwR0FWdkI7Ozs7Ozs7R0FPVCxxdEJBUlMsWUFBWSw2SEFBRSxVQUFVLHlHQUFFLE9BQU87OzRGQVdoQyxzQkFBc0I7a0JBZGxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLFlBQ2xDOzs7Ozs7O0dBT1Q7d0RBS0QsS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uU3Bpbm5lciwgSW9uVGV4dCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgQ29udGVudExvYWRlck1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1jb250ZW50LWxvYWRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvblNwaW5uZXIsIElvblRleHRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgW25nQ2xhc3NdPVwiWydzcGlubmVyLXdyYXBwZXInLCBwcm9wcy5zaXplXVwiPlxuICAgICAgPGlvbi1zcGlubmVyIFtuZ0NsYXNzXT1cIltwcm9wcy5zaXplXVwiIFtuYW1lXT1cInByb3BzLm5hbWVcIiBbY29sb3JdPVwicHJvcHMuY29sb3JcIj48L2lvbi1zcGlubmVyPlxuICAgICAgPGlvbi10ZXh0IFtjb2xvcl09XCJwcm9wcy5jb2xvclwiPlxuICAgICAgICA8cD57eyBwcm9wcy50ZXh0IH19PC9wPlxuICAgICAgPC9pb24tdGV4dD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGVudC1sb2FkZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudExvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHByb3BzOiBDb250ZW50TG9hZGVyTWV0YWRhdGE7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge31cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jb250ZW50LWxvYWRlci90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudExvYWRlck1ldGFkYXRhIHtcbiAgY29sb3I6IENvbG9yO1xuICBzaXplOiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnO1xuICBuYW1lOiAnY2lyY3VsYXInIHwgJ2NyZXNjZW50JyB8ICdkb3RzJyB8ICdsaW5lcy1zaGFycCc7XG4gIHRleHQ6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,73 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input } from '@angular/core';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { IonDatetime, IonDatetimeButton, IonModal } from '@ionic/angular/standalone';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ export class DateInputComponent {
8
+ constructor() { }
9
+ ngOnInit() { }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DateInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DateInputComponent, isStandalone: true, selector: "val-date-input", inputs: { props: "props" }, ngImport: i0, template: `
12
+ <div class="button-container">
13
+ <ion-datetime-button class="action" datetime="datetime"></ion-datetime-button>
14
+ </div>
15
+ <ion-modal [keepContentsMounted]="true">
16
+ <ng-template>
17
+ <ion-datetime
18
+ [formControl]="props.control"
19
+ id="datetime"
20
+ presentation="date"
21
+ locale="es-ES"
22
+ [firstDayOfWeek]="1"
23
+ [showDefaultButtons]="true"
24
+ doneText="Aceptar"
25
+ cancelText="Cancelar"
26
+ formatOptions="{
27
+ date: { weekday: 'short', month: 'long', day: '2-digit' },
28
+ time: {
29
+ hour: '2-digit',
30
+ minute: '2-digit',
31
+ },
32
+ }"
33
+ >
34
+ <span slot="title">{{ props.hint }}</span>
35
+ </ion-datetime>
36
+ </ng-template>
37
+ </ion-modal>
38
+ `, isInline: true, styles: [".section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}.button-container{display:flex;flex-direction:column;align-items:flex-start}.action{margin-top:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonDatetime, selector: "ion-datetime", inputs: ["cancelText", "clearText", "color", "dayValues", "disabled", "doneText", "firstDayOfWeek", "highlightedDates", "hourCycle", "hourValues", "isDateEnabled", "locale", "max", "min", "minuteValues", "mode", "monthValues", "multiple", "name", "preferWheel", "presentation", "readonly", "showClearButton", "showDefaultButtons", "showDefaultTimeLabel", "showDefaultTitle", "size", "titleSelectedDatesFormatter", "value", "yearValues"] }, { kind: "component", type: IonDatetimeButton, selector: "ion-datetime-button", inputs: ["color", "datetime", "disabled", "mode"] }, { kind: "component", type: IonModal, selector: "ion-modal" }] }); }
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DateInputComponent, decorators: [{
41
+ type: Component,
42
+ args: [{ selector: 'val-date-input', standalone: true, imports: [CommonModule, ReactiveFormsModule, IonDatetime, IonDatetimeButton, IonModal], template: `
43
+ <div class="button-container">
44
+ <ion-datetime-button class="action" datetime="datetime"></ion-datetime-button>
45
+ </div>
46
+ <ion-modal [keepContentsMounted]="true">
47
+ <ng-template>
48
+ <ion-datetime
49
+ [formControl]="props.control"
50
+ id="datetime"
51
+ presentation="date"
52
+ locale="es-ES"
53
+ [firstDayOfWeek]="1"
54
+ [showDefaultButtons]="true"
55
+ doneText="Aceptar"
56
+ cancelText="Cancelar"
57
+ formatOptions="{
58
+ date: { weekday: 'short', month: 'long', day: '2-digit' },
59
+ time: {
60
+ hour: '2-digit',
61
+ minute: '2-digit',
62
+ },
63
+ }"
64
+ >
65
+ <span slot="title">{{ props.hint }}</span>
66
+ </ion-datetime>
67
+ </ng-template>
68
+ </ion-modal>
69
+ `, styles: [".section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}.button-container{display:flex;flex-direction:column;align-items:flex-start}.action{margin-top:.25rem}\n"] }]
70
+ }], ctorParameters: () => [], propDecorators: { props: [{
71
+ type: Input
72
+ }] } });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFxQ3JGLE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsZ0JBQWUsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQzsrR0FMRixrQkFBa0I7bUdBQWxCLGtCQUFrQixzR0E5Qm5COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQlQsa1JBNUJTLFlBQVksOEJBQUUsbUJBQW1CLDBUQUFFLFdBQVcsK2VBQUUsaUJBQWlCLG1IQUFFLFFBQVE7OzRGQStCMUUsa0JBQWtCO2tCQWxDOUIsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxZQUM1RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJUO3dEQUlRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25EYXRldGltZSwgSW9uRGF0ZXRpbWVCdXR0b24sIElvbk1vZGFsIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBJbnB1dE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZGF0ZS1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIElvbkRhdGV0aW1lLCBJb25EYXRldGltZUJ1dHRvbiwgSW9uTW9kYWxdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCI+XG4gICAgICA8aW9uLWRhdGV0aW1lLWJ1dHRvbiBjbGFzcz1cImFjdGlvblwiIGRhdGV0aW1lPVwiZGF0ZXRpbWVcIj48L2lvbi1kYXRldGltZS1idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGlvbi1tb2RhbCBba2VlcENvbnRlbnRzTW91bnRlZF09XCJ0cnVlXCI+XG4gICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgIDxpb24tZGF0ZXRpbWVcbiAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwicHJvcHMuY29udHJvbFwiXG4gICAgICAgICAgaWQ9XCJkYXRldGltZVwiXG4gICAgICAgICAgcHJlc2VudGF0aW9uPVwiZGF0ZVwiXG4gICAgICAgICAgbG9jYWxlPVwiZXMtRVNcIlxuICAgICAgICAgIFtmaXJzdERheU9mV2Vla109XCIxXCJcbiAgICAgICAgICBbc2hvd0RlZmF1bHRCdXR0b25zXT1cInRydWVcIlxuICAgICAgICAgIGRvbmVUZXh0PVwiQWNlcHRhclwiXG4gICAgICAgICAgY2FuY2VsVGV4dD1cIkNhbmNlbGFyXCJcbiAgICAgICAgICBmb3JtYXRPcHRpb25zPVwie1xuICAgICAgICAgICAgZGF0ZTogeyB3ZWVrZGF5OiAnc2hvcnQnLCBtb250aDogJ2xvbmcnLCBkYXk6ICcyLWRpZ2l0JyB9LFxuICAgICAgICAgICAgdGltZToge1xuICAgICAgICAgICAgICBob3VyOiAnMi1kaWdpdCcsXG4gICAgICAgICAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIHNsb3Q9XCJ0aXRsZVwiPnt7IHByb3BzLmhpbnQgfX08L3NwYW4+XG4gICAgICAgIDwvaW9uLWRhdGV0aW1lPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2lvbi1tb2RhbD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwcm9wczogSW5wdXRNZXRhZGF0YTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxufVxuIl19
@@ -0,0 +1,19 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input } from '@angular/core';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { IonInput } from '@ionic/angular/standalone';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ export class EmailInputComponent {
8
+ constructor() { }
9
+ ngOnInit() { }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmailInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: EmailInputComponent, isStandalone: true, selector: "val-email-input", inputs: { props: "props" }, ngImport: i0, template: ` <ion-input [formControl]="props.control" type="email" [placeholder]="props.placeholder"></ion-input> `, isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }] }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmailInputComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'val-email-input', standalone: true, imports: [CommonModule, ReactiveFormsModule, IonInput], template: ` <ion-input [formControl]="props.control" type="email" [placeholder]="props.placeholder"></ion-input> ` }]
16
+ }], ctorParameters: () => [], propDecorators: { props: [{
17
+ type: Input
18
+ }] } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZW1haWwtaW5wdXQvZW1haWwtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQVVyRCxNQUFNLE9BQU8sbUJBQW1CO0lBRzlCLGdCQUFlLENBQUM7SUFFaEIsUUFBUSxLQUFJLENBQUM7K0dBTEYsbUJBQW1CO21HQUFuQixtQkFBbUIsdUdBSHBCLHdHQUF3Ryx5RUFEeEcsWUFBWSw4QkFBRSxtQkFBbUIsMFRBQUUsUUFBUTs7NEZBSTFDLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLFlBQzVDLHdHQUF3Rzt3REFJekcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvbklucHV0IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBJbnB1dE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZW1haWwtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25JbnB1dF0sXG4gIHRlbXBsYXRlOiBgIDxpb24taW5wdXQgW2Zvcm1Db250cm9sXT1cInByb3BzLmNvbnRyb2xcIiB0eXBlPVwiZW1haWxcIiBbcGxhY2Vob2xkZXJdPVwicHJvcHMucGxhY2Vob2xkZXJcIj48L2lvbi1pbnB1dD4gYCxcbiAgc3R5bGVVcmxzOiBbJy4vZW1haWwtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRW1haWxJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHByb3BzOiBJbnB1dE1ldGFkYXRhO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHt9XG59XG4iXX0=