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,484 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input, Output, EventEmitter, inject } from '@angular/core';
3
+ import { IonIcon, IonBadge, IonProgressBar } from '@ionic/angular/standalone';
4
+ import { addIcons } from 'ionicons';
5
+ import { ticketOutline, calendarOutline, giftOutline, heartOutline, timeOutline, } from 'ionicons/icons';
6
+ import { LangService } from '../../../services/lang-provider/lang-provider.service';
7
+ import { ImageComponent } from '../../atoms/image/image.component';
8
+ import { ButtonComponent } from '../../atoms/button/button.component';
9
+ import { CountdownComponent } from '../../atoms/countdown/countdown.component';
10
+ import { PriceTagComponent } from '../../atoms/price-tag/price-tag.component';
11
+ import { DEFAULT_STATUS_LABELS, DEFAULT_STATUS_COLORS, } from './types';
12
+ import * as i0 from "@angular/core";
13
+ addIcons({
14
+ ticketOutline,
15
+ calendarOutline,
16
+ giftOutline,
17
+ heartOutline,
18
+ timeOutline,
19
+ });
20
+ /**
21
+ * val-raffle-status-card
22
+ *
23
+ * A card component for displaying raffle status and information.
24
+ *
25
+ * @example Basic usage
26
+ * ```html
27
+ * <val-raffle-status-card
28
+ * [props]="{
29
+ * title: 'Rifa Benéfica 2024',
30
+ * status: 'active',
31
+ * ticketPrice: 50,
32
+ * progress: {
33
+ * totalTickets: 1000,
34
+ * soldTickets: 450
35
+ * }
36
+ * }"
37
+ * ></val-raffle-status-card>
38
+ * ```
39
+ *
40
+ * @example Featured with prize
41
+ * ```html
42
+ * <val-raffle-status-card
43
+ * [props]="{
44
+ * title: 'Gran Sorteo iPhone 15',
45
+ * description: 'Participa y gana un iPhone 15 Pro Max',
46
+ * status: 'active',
47
+ * variant: 'featured',
48
+ * coverImage: { src: 'cover.jpg' },
49
+ * prize: {
50
+ * name: 'iPhone 15 Pro Max 256GB',
51
+ * value: 32000,
52
+ * image: { src: 'iphone.jpg' }
53
+ * },
54
+ * ticketPrice: 100,
55
+ * endDate: '2024-12-25',
56
+ * showCountdown: true,
57
+ * primaryAction: {
58
+ * label: 'Comprar boletos',
59
+ * color: 'success'
60
+ * }
61
+ * }"
62
+ * ></val-raffle-status-card>
63
+ * ```
64
+ */
65
+ export class RaffleStatusCardComponent {
66
+ constructor() {
67
+ this.primaryActionClick = new EventEmitter();
68
+ this.secondaryActionClick = new EventEmitter();
69
+ this.langService = inject(LangService);
70
+ }
71
+ get isActiveOrUpcoming() {
72
+ return this.props.status === 'active' || this.props.status === 'upcoming';
73
+ }
74
+ get progressPercentage() {
75
+ if (!this.props.progress)
76
+ return 0;
77
+ const { soldTickets, totalTickets } = this.props.progress;
78
+ if (totalTickets === 0)
79
+ return 0;
80
+ return Math.round((soldTickets / totalTickets) * 100);
81
+ }
82
+ getStatusLabel() {
83
+ const labels = { ...DEFAULT_STATUS_LABELS, ...this.props.statusLabels };
84
+ return labels[this.props.status] || this.props.status;
85
+ }
86
+ getStatusColor() {
87
+ if (this.props.statusColor)
88
+ return this.props.statusColor;
89
+ return DEFAULT_STATUS_COLORS[this.props.status] || 'medium';
90
+ }
91
+ getProgressColor() {
92
+ if (this.progressPercentage >= 100)
93
+ return 'success';
94
+ if (this.progressPercentage >= 75)
95
+ return 'warning';
96
+ return 'primary';
97
+ }
98
+ getTitle() {
99
+ if (this.props.titleContentKey && this.props.contentClass) {
100
+ return this.langService.getText(this.props.contentClass, this.props.titleContentKey, this.props.title);
101
+ }
102
+ return this.props.title;
103
+ }
104
+ getDescription() {
105
+ if (this.props.descriptionContentKey && this.props.contentClass) {
106
+ return this.langService.getText(this.props.contentClass, this.props.descriptionContentKey, this.props.description || '');
107
+ }
108
+ return this.props.description || '';
109
+ }
110
+ formatCurrency(amount) {
111
+ const symbol = this.props.currencySymbol || '$';
112
+ return `${symbol}${amount.toLocaleString('es-MX')}`;
113
+ }
114
+ formatDate(date) {
115
+ const d = typeof date === 'string' ? new Date(date) : date;
116
+ return d.toLocaleDateString('es-MX', {
117
+ day: 'numeric',
118
+ month: 'short',
119
+ year: 'numeric',
120
+ });
121
+ }
122
+ onPrimaryAction() {
123
+ this.primaryActionClick.emit();
124
+ }
125
+ onSecondaryAction() {
126
+ this.secondaryActionClick.emit();
127
+ }
128
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RaffleStatusCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
129
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RaffleStatusCardComponent, isStandalone: true, selector: "val-raffle-status-card", inputs: { props: "props" }, outputs: { primaryActionClick: "primaryActionClick", secondaryActionClick: "secondaryActionClick" }, ngImport: i0, template: `
130
+ <article
131
+ class="raffle-card"
132
+ [class]="props.cssClass"
133
+ [class.variant-default]="props.variant === 'default' || !props.variant"
134
+ [class.variant-featured]="props.variant === 'featured'"
135
+ [class.variant-compact]="props.variant === 'compact'"
136
+ [class.variant-horizontal]="props.variant === 'horizontal'"
137
+ [class.size-small]="props.size === 'small'"
138
+ [class.size-medium]="props.size === 'medium' || !props.size"
139
+ [class.size-large]="props.size === 'large'"
140
+ [class]="'status-' + props.status"
141
+ >
142
+ <!-- Cover image -->
143
+ @if (props.coverImage && props.variant !== 'compact') {
144
+ <div class="card-image">
145
+ <val-image [props]="props.coverImage"></val-image>
146
+
147
+ <!-- Status badge over image -->
148
+ @if (props.showStatusBadge !== false) {
149
+ <ion-badge [color]="getStatusColor()" class="status-badge">
150
+ {{ getStatusLabel() }}
151
+ </ion-badge>
152
+ }
153
+
154
+ <!-- Countdown overlay -->
155
+ @if (props.showCountdown && props.endDate && isActiveOrUpcoming) {
156
+ <div class="countdown-overlay">
157
+ <val-countdown
158
+ [props]="{
159
+ targetDate: props.endDate,
160
+ format: 'compact',
161
+ size: 'small',
162
+ color: 'light'
163
+ }"
164
+ ></val-countdown>
165
+ </div>
166
+ }
167
+ </div>
168
+ }
169
+
170
+ <div class="card-content">
171
+ <!-- Header -->
172
+ <header class="card-header">
173
+ @if (props.showStatusBadge !== false && (props.variant === 'compact' || !props.coverImage)) {
174
+ <ion-badge [color]="getStatusColor()" class="status-badge inline">
175
+ {{ getStatusLabel() }}
176
+ </ion-badge>
177
+ }
178
+
179
+ <h3 class="card-title">{{ getTitle() }}</h3>
180
+
181
+ @if (props.description) {
182
+ <p class="card-description">{{ getDescription() }}</p>
183
+ }
184
+ </header>
185
+
186
+ <!-- Beneficiary -->
187
+ @if (props.beneficiary) {
188
+ <div class="beneficiary-info">
189
+ <ion-icon name="heart-outline"></ion-icon>
190
+ @if (props.beneficiaryImage) {
191
+ <val-image [props]="props.beneficiaryImage" class="beneficiary-image"></val-image>
192
+ }
193
+ <span>{{ props.beneficiary }}</span>
194
+ </div>
195
+ }
196
+
197
+ <!-- Prize preview -->
198
+ @if (props.prize && props.variant !== 'compact') {
199
+ <div class="prize-preview">
200
+ <div class="prize-header">
201
+ <ion-icon name="gift-outline"></ion-icon>
202
+ <span>Premio</span>
203
+ </div>
204
+ <div class="prize-name">{{ props.prize.name }}</div>
205
+ @if (props.prize.value) {
206
+ <div class="prize-value">
207
+ {{ formatCurrency(props.prize.value) }}
208
+ </div>
209
+ }
210
+ </div>
211
+ }
212
+
213
+ <!-- Progress -->
214
+ @if (props.showProgress !== false && props.progress) {
215
+ <div class="progress-section">
216
+ <div class="progress-header">
217
+ <span class="progress-label">Progreso</span>
218
+ <span class="progress-value">{{ progressPercentage }}%</span>
219
+ </div>
220
+ <ion-progress-bar
221
+ [value]="progressPercentage / 100"
222
+ [color]="getProgressColor()"
223
+ ></ion-progress-bar>
224
+ </div>
225
+ }
226
+
227
+ <!-- Ticket stats -->
228
+ @if (props.showTicketStats !== false && props.progress) {
229
+ <div class="ticket-stats">
230
+ <div class="stat">
231
+ <ion-icon name="ticket-outline"></ion-icon>
232
+ <span class="stat-value">{{ props.progress.soldTickets }}</span>
233
+ <span class="stat-label">vendidos</span>
234
+ </div>
235
+ <div class="stat-divider"></div>
236
+ <div class="stat">
237
+ <span class="stat-value">{{ props.progress.totalTickets - props.progress.soldTickets }}</span>
238
+ <span class="stat-label">disponibles</span>
239
+ </div>
240
+ </div>
241
+ }
242
+
243
+ <!-- Price -->
244
+ @if (props.showPrice !== false && props.ticketPrice) {
245
+ <div class="price-section">
246
+ <val-price-tag
247
+ [props]="{
248
+ amount: props.ticketPrice,
249
+ currency: props.currency || 'MXN',
250
+ currencySymbol: props.currencySymbol,
251
+ period: 'por boleto',
252
+ size: props.size === 'large' ? 'large' : 'medium',
253
+ variant: 'highlight'
254
+ }"
255
+ ></val-price-tag>
256
+ </div>
257
+ }
258
+
259
+ <!-- Dates -->
260
+ @if (props.showDates !== false && (props.startDate || props.endDate)) {
261
+ <div class="dates-section">
262
+ @if (props.startDate) {
263
+ <div class="date-item">
264
+ <ion-icon name="calendar-outline"></ion-icon>
265
+ <span>Inicia: {{ formatDate(props.startDate) }}</span>
266
+ </div>
267
+ }
268
+ @if (props.endDate) {
269
+ <div class="date-item">
270
+ <ion-icon name="time-outline"></ion-icon>
271
+ <span>Sorteo: {{ formatDate(props.endDate) }}</span>
272
+ </div>
273
+ }
274
+ </div>
275
+ }
276
+
277
+ <!-- Actions -->
278
+ @if (props.primaryAction || props.secondaryAction) {
279
+ <div class="card-actions">
280
+ @if (props.primaryAction) {
281
+ <val-button
282
+ [props]="props.primaryAction"
283
+ (click)="onPrimaryAction()"
284
+ ></val-button>
285
+ }
286
+ @if (props.secondaryAction) {
287
+ <val-button
288
+ [props]="props.secondaryAction"
289
+ (click)="onSecondaryAction()"
290
+ ></val-button>
291
+ }
292
+ </div>
293
+ }
294
+ </div>
295
+ </article>
296
+ `, isInline: true, styles: [":host{display:block}.raffle-card{display:flex;flex-direction:column;background:var(--ion-color-light);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s}.raffle-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.card-image{position:relative;aspect-ratio:16/9;overflow:hidden}.card-image val-image{width:100%;height:100%}.card-image val-image ::ng-deep img{width:100%;height:100%;object-fit:cover}.status-badge{position:absolute;top:12px;left:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:4px}.status-badge.inline{position:static;margin-bottom:8px}.countdown-overlay{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;background:linear-gradient(transparent,#000000b3)}.card-content{display:flex;flex-direction:column;gap:12px;padding:16px}.card-header{display:flex;flex-direction:column;gap:4px}.card-title{font-size:18px;font-weight:600;color:var(--ion-color-dark);margin:0;line-height:1.3}.card-description{font-size:14px;color:var(--ion-color-medium-shade);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.beneficiary-info{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ion-color-medium-shade)}.beneficiary-info ion-icon{font-size:16px;color:var(--ion-color-danger)}.beneficiary-info .beneficiary-image{width:24px;height:24px;border-radius:50%;overflow:hidden}.prize-preview{padding:12px;background:var(--ion-color-light-shade);border-radius:8px}.prize-header{display:flex;align-items:center;gap:4px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--ion-color-medium);margin-bottom:4px}.prize-header ion-icon{font-size:14px;color:var(--ion-color-warning)}.prize-name{font-size:15px;font-weight:600;color:var(--ion-color-dark)}.prize-value{font-size:18px;font-weight:700;color:var(--ion-color-success);margin-top:4px}.progress-section{display:flex;flex-direction:column;gap:6px}.progress-header{display:flex;justify-content:space-between;align-items:center}.progress-label{font-size:12px;color:var(--ion-color-medium-shade)}.progress-value{font-size:14px;font-weight:600;color:var(--ion-color-dark)}ion-progress-bar{height:8px;border-radius:4px;--background: var(--ion-color-light-shade)}.ticket-stats{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px;background:var(--ion-color-light-shade);border-radius:8px}.stat{display:flex;align-items:center;gap:6px;font-size:13px}.stat ion-icon{font-size:18px;color:var(--ion-color-primary)}.stat-value{font-weight:700;color:var(--ion-color-dark);font-size:16px}.stat-label{color:var(--ion-color-medium-shade)}.stat-divider{width:1px;height:24px;background:var(--ion-color-medium-tint)}.price-section{display:flex;justify-content:center;padding:8px 0}.dates-section{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ion-color-medium-shade)}.date-item{display:flex;align-items:center;gap:6px}.date-item ion-icon{font-size:16px;color:var(--ion-color-primary)}.card-actions{display:flex;gap:8px;margin-top:4px}.card-actions val-button{flex:1}.variant-featured{border:2px solid var(--ion-color-warning)}.variant-featured .card-image{aspect-ratio:2/1}.variant-featured .card-title{font-size:22px}.variant-compact .card-content{padding:12px;gap:8px}.variant-compact .card-title{font-size:15px}.variant-compact .card-description{font-size:13px;-webkit-line-clamp:1}.variant-compact .ticket-stats,.variant-compact .dates-section{display:none}.variant-horizontal{flex-direction:row}.variant-horizontal .card-image{width:40%;min-width:150px;aspect-ratio:1}.variant-horizontal .card-content{flex:1;justify-content:center}.size-small .card-content{padding:12px;gap:8px}.size-small .card-title{font-size:15px}.size-small .card-description{font-size:12px}.size-small .ticket-stats{padding:8px}.size-small .stat-value{font-size:14px}.size-large .card-content{padding:24px;gap:16px}.size-large .card-title{font-size:24px}.size-large .card-description{font-size:16px}.size-large .prize-name{font-size:18px}.size-large .prize-value{font-size:22px}.status-upcoming{opacity:.9}.status-sold_out .card-image:after{content:\"\";position:absolute;inset:0;background:#0000004d}.status-completed .card-actions{opacity:.5;pointer-events:none}.status-cancelled{opacity:.6}.status-cancelled .card-image:after{content:\"\";position:absolute;inset:0;background:#0006}@media (max-width: 480px){.variant-horizontal{flex-direction:column}.variant-horizontal .card-image{width:100%;aspect-ratio:16/9}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonBadge, selector: "ion-badge", inputs: ["color", "mode"] }, { kind: "component", type: IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: CountdownComponent, selector: "val-countdown", inputs: ["props"], outputs: ["complete", "tick"] }, { kind: "component", type: PriceTagComponent, selector: "val-price-tag", inputs: ["props"] }] }); }
297
+ }
298
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RaffleStatusCardComponent, decorators: [{
299
+ type: Component,
300
+ args: [{ selector: 'val-raffle-status-card', standalone: true, imports: [
301
+ CommonModule,
302
+ IonIcon,
303
+ IonBadge,
304
+ IonProgressBar,
305
+ ImageComponent,
306
+ ButtonComponent,
307
+ CountdownComponent,
308
+ PriceTagComponent,
309
+ ], template: `
310
+ <article
311
+ class="raffle-card"
312
+ [class]="props.cssClass"
313
+ [class.variant-default]="props.variant === 'default' || !props.variant"
314
+ [class.variant-featured]="props.variant === 'featured'"
315
+ [class.variant-compact]="props.variant === 'compact'"
316
+ [class.variant-horizontal]="props.variant === 'horizontal'"
317
+ [class.size-small]="props.size === 'small'"
318
+ [class.size-medium]="props.size === 'medium' || !props.size"
319
+ [class.size-large]="props.size === 'large'"
320
+ [class]="'status-' + props.status"
321
+ >
322
+ <!-- Cover image -->
323
+ @if (props.coverImage && props.variant !== 'compact') {
324
+ <div class="card-image">
325
+ <val-image [props]="props.coverImage"></val-image>
326
+
327
+ <!-- Status badge over image -->
328
+ @if (props.showStatusBadge !== false) {
329
+ <ion-badge [color]="getStatusColor()" class="status-badge">
330
+ {{ getStatusLabel() }}
331
+ </ion-badge>
332
+ }
333
+
334
+ <!-- Countdown overlay -->
335
+ @if (props.showCountdown && props.endDate && isActiveOrUpcoming) {
336
+ <div class="countdown-overlay">
337
+ <val-countdown
338
+ [props]="{
339
+ targetDate: props.endDate,
340
+ format: 'compact',
341
+ size: 'small',
342
+ color: 'light'
343
+ }"
344
+ ></val-countdown>
345
+ </div>
346
+ }
347
+ </div>
348
+ }
349
+
350
+ <div class="card-content">
351
+ <!-- Header -->
352
+ <header class="card-header">
353
+ @if (props.showStatusBadge !== false && (props.variant === 'compact' || !props.coverImage)) {
354
+ <ion-badge [color]="getStatusColor()" class="status-badge inline">
355
+ {{ getStatusLabel() }}
356
+ </ion-badge>
357
+ }
358
+
359
+ <h3 class="card-title">{{ getTitle() }}</h3>
360
+
361
+ @if (props.description) {
362
+ <p class="card-description">{{ getDescription() }}</p>
363
+ }
364
+ </header>
365
+
366
+ <!-- Beneficiary -->
367
+ @if (props.beneficiary) {
368
+ <div class="beneficiary-info">
369
+ <ion-icon name="heart-outline"></ion-icon>
370
+ @if (props.beneficiaryImage) {
371
+ <val-image [props]="props.beneficiaryImage" class="beneficiary-image"></val-image>
372
+ }
373
+ <span>{{ props.beneficiary }}</span>
374
+ </div>
375
+ }
376
+
377
+ <!-- Prize preview -->
378
+ @if (props.prize && props.variant !== 'compact') {
379
+ <div class="prize-preview">
380
+ <div class="prize-header">
381
+ <ion-icon name="gift-outline"></ion-icon>
382
+ <span>Premio</span>
383
+ </div>
384
+ <div class="prize-name">{{ props.prize.name }}</div>
385
+ @if (props.prize.value) {
386
+ <div class="prize-value">
387
+ {{ formatCurrency(props.prize.value) }}
388
+ </div>
389
+ }
390
+ </div>
391
+ }
392
+
393
+ <!-- Progress -->
394
+ @if (props.showProgress !== false && props.progress) {
395
+ <div class="progress-section">
396
+ <div class="progress-header">
397
+ <span class="progress-label">Progreso</span>
398
+ <span class="progress-value">{{ progressPercentage }}%</span>
399
+ </div>
400
+ <ion-progress-bar
401
+ [value]="progressPercentage / 100"
402
+ [color]="getProgressColor()"
403
+ ></ion-progress-bar>
404
+ </div>
405
+ }
406
+
407
+ <!-- Ticket stats -->
408
+ @if (props.showTicketStats !== false && props.progress) {
409
+ <div class="ticket-stats">
410
+ <div class="stat">
411
+ <ion-icon name="ticket-outline"></ion-icon>
412
+ <span class="stat-value">{{ props.progress.soldTickets }}</span>
413
+ <span class="stat-label">vendidos</span>
414
+ </div>
415
+ <div class="stat-divider"></div>
416
+ <div class="stat">
417
+ <span class="stat-value">{{ props.progress.totalTickets - props.progress.soldTickets }}</span>
418
+ <span class="stat-label">disponibles</span>
419
+ </div>
420
+ </div>
421
+ }
422
+
423
+ <!-- Price -->
424
+ @if (props.showPrice !== false && props.ticketPrice) {
425
+ <div class="price-section">
426
+ <val-price-tag
427
+ [props]="{
428
+ amount: props.ticketPrice,
429
+ currency: props.currency || 'MXN',
430
+ currencySymbol: props.currencySymbol,
431
+ period: 'por boleto',
432
+ size: props.size === 'large' ? 'large' : 'medium',
433
+ variant: 'highlight'
434
+ }"
435
+ ></val-price-tag>
436
+ </div>
437
+ }
438
+
439
+ <!-- Dates -->
440
+ @if (props.showDates !== false && (props.startDate || props.endDate)) {
441
+ <div class="dates-section">
442
+ @if (props.startDate) {
443
+ <div class="date-item">
444
+ <ion-icon name="calendar-outline"></ion-icon>
445
+ <span>Inicia: {{ formatDate(props.startDate) }}</span>
446
+ </div>
447
+ }
448
+ @if (props.endDate) {
449
+ <div class="date-item">
450
+ <ion-icon name="time-outline"></ion-icon>
451
+ <span>Sorteo: {{ formatDate(props.endDate) }}</span>
452
+ </div>
453
+ }
454
+ </div>
455
+ }
456
+
457
+ <!-- Actions -->
458
+ @if (props.primaryAction || props.secondaryAction) {
459
+ <div class="card-actions">
460
+ @if (props.primaryAction) {
461
+ <val-button
462
+ [props]="props.primaryAction"
463
+ (click)="onPrimaryAction()"
464
+ ></val-button>
465
+ }
466
+ @if (props.secondaryAction) {
467
+ <val-button
468
+ [props]="props.secondaryAction"
469
+ (click)="onSecondaryAction()"
470
+ ></val-button>
471
+ }
472
+ </div>
473
+ }
474
+ </div>
475
+ </article>
476
+ `, styles: [":host{display:block}.raffle-card{display:flex;flex-direction:column;background:var(--ion-color-light);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s}.raffle-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.card-image{position:relative;aspect-ratio:16/9;overflow:hidden}.card-image val-image{width:100%;height:100%}.card-image val-image ::ng-deep img{width:100%;height:100%;object-fit:cover}.status-badge{position:absolute;top:12px;left:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:4px}.status-badge.inline{position:static;margin-bottom:8px}.countdown-overlay{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;background:linear-gradient(transparent,#000000b3)}.card-content{display:flex;flex-direction:column;gap:12px;padding:16px}.card-header{display:flex;flex-direction:column;gap:4px}.card-title{font-size:18px;font-weight:600;color:var(--ion-color-dark);margin:0;line-height:1.3}.card-description{font-size:14px;color:var(--ion-color-medium-shade);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.beneficiary-info{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ion-color-medium-shade)}.beneficiary-info ion-icon{font-size:16px;color:var(--ion-color-danger)}.beneficiary-info .beneficiary-image{width:24px;height:24px;border-radius:50%;overflow:hidden}.prize-preview{padding:12px;background:var(--ion-color-light-shade);border-radius:8px}.prize-header{display:flex;align-items:center;gap:4px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--ion-color-medium);margin-bottom:4px}.prize-header ion-icon{font-size:14px;color:var(--ion-color-warning)}.prize-name{font-size:15px;font-weight:600;color:var(--ion-color-dark)}.prize-value{font-size:18px;font-weight:700;color:var(--ion-color-success);margin-top:4px}.progress-section{display:flex;flex-direction:column;gap:6px}.progress-header{display:flex;justify-content:space-between;align-items:center}.progress-label{font-size:12px;color:var(--ion-color-medium-shade)}.progress-value{font-size:14px;font-weight:600;color:var(--ion-color-dark)}ion-progress-bar{height:8px;border-radius:4px;--background: var(--ion-color-light-shade)}.ticket-stats{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px;background:var(--ion-color-light-shade);border-radius:8px}.stat{display:flex;align-items:center;gap:6px;font-size:13px}.stat ion-icon{font-size:18px;color:var(--ion-color-primary)}.stat-value{font-weight:700;color:var(--ion-color-dark);font-size:16px}.stat-label{color:var(--ion-color-medium-shade)}.stat-divider{width:1px;height:24px;background:var(--ion-color-medium-tint)}.price-section{display:flex;justify-content:center;padding:8px 0}.dates-section{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ion-color-medium-shade)}.date-item{display:flex;align-items:center;gap:6px}.date-item ion-icon{font-size:16px;color:var(--ion-color-primary)}.card-actions{display:flex;gap:8px;margin-top:4px}.card-actions val-button{flex:1}.variant-featured{border:2px solid var(--ion-color-warning)}.variant-featured .card-image{aspect-ratio:2/1}.variant-featured .card-title{font-size:22px}.variant-compact .card-content{padding:12px;gap:8px}.variant-compact .card-title{font-size:15px}.variant-compact .card-description{font-size:13px;-webkit-line-clamp:1}.variant-compact .ticket-stats,.variant-compact .dates-section{display:none}.variant-horizontal{flex-direction:row}.variant-horizontal .card-image{width:40%;min-width:150px;aspect-ratio:1}.variant-horizontal .card-content{flex:1;justify-content:center}.size-small .card-content{padding:12px;gap:8px}.size-small .card-title{font-size:15px}.size-small .card-description{font-size:12px}.size-small .ticket-stats{padding:8px}.size-small .stat-value{font-size:14px}.size-large .card-content{padding:24px;gap:16px}.size-large .card-title{font-size:24px}.size-large .card-description{font-size:16px}.size-large .prize-name{font-size:18px}.size-large .prize-value{font-size:22px}.status-upcoming{opacity:.9}.status-sold_out .card-image:after{content:\"\";position:absolute;inset:0;background:#0000004d}.status-completed .card-actions{opacity:.5;pointer-events:none}.status-cancelled{opacity:.6}.status-cancelled .card-image:after{content:\"\";position:absolute;inset:0;background:#0006}@media (max-width: 480px){.variant-horizontal{flex-direction:column}.variant-horizontal .card-image{width:100%;aspect-ratio:16/9}}\n"] }]
477
+ }], propDecorators: { props: [{
478
+ type: Input
479
+ }], primaryActionClick: [{
480
+ type: Output
481
+ }], secondaryActionClick: [{
482
+ type: Output
483
+ }] } });
484
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFmZmxlLXN0YXR1cy1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcmFmZmxlLXN0YXR1cy1jYXJkL3JhZmZsZS1zdGF0dXMtY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUNMLGFBQWEsRUFDYixlQUFlLEVBQ2YsV0FBVyxFQUNYLFlBQVksRUFDWixXQUFXLEdBQ1osTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBRUwscUJBQXFCLEVBQ3JCLHFCQUFxQixHQUN0QixNQUFNLFNBQVMsQ0FBQzs7QUFFakIsUUFBUSxDQUFDO0lBQ1AsYUFBYTtJQUNiLGVBQWU7SUFDZixXQUFXO0lBQ1gsWUFBWTtJQUNaLFdBQVc7Q0FDWixDQUFDLENBQUM7QUF5TEg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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Q1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUtUOzhCQWlEUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25JY29uLCBJb25CYWRnZSwgSW9uUHJvZ3Jlc3NCYXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHtcbiAgdGlja2V0T3V0bGluZSxcbiAgY2FsZW5kYXJPdXRsaW5lLFxuICBnaWZ0T3V0bGluZSxcbiAgaGVhcnRPdXRsaW5lLFxuICB0aW1lT3V0bGluZSxcbn0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHsgTGFuZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sYW5nLXByb3ZpZGVyL2xhbmctcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2ltYWdlL2ltYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb3VudGRvd25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9jb3VudGRvd24vY291bnRkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcmljZVRhZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3ByaWNlLXRhZy9wcmljZS10YWcuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFJhZmZsZVN0YXR1c0NhcmRNZXRhZGF0YSxcbiAgREVGQVVMVF9TVEFUVVNfTEFCRUxTLFxuICBERUZBVUxUX1NUQVRVU19DT0xPUlMsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5hZGRJY29ucyh7XG4gIHRpY2tldE91dGxpbmUsXG4gIGNhbGVuZGFyT3V0bGluZSxcbiAgZ2lmdE91dGxpbmUsXG4gIGhlYXJ0T3V0bGluZSxcbiAgdGltZU91dGxpbmUsXG59KTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXJhZmZsZS1zdGF0dXMtY2FyZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW9uSWNvbixcbiAgICBJb25CYWRnZSxcbiAgICBJb25Qcm9ncmVzc0JhcixcbiAgICBJbWFnZUNvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQ291bnRkb3duQ29tcG9uZW50LFxuICAgIFByaWNlVGFnQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxhcnRpY2xlXG4gICAgICBjbGFzcz1cInJhZmZsZS1jYXJkXCJcbiAgICAgIFtjbGFzc109XCJwcm9wcy5jc3NDbGFzc1wiXG4gICAgICBbY2xhc3MudmFyaWFudC1kZWZhdWx0XT1cInByb3BzLnZhcmlhbnQgPT09ICdkZWZhdWx0JyB8fCAhcHJvcHMudmFyaWFudFwiXG4gICAgICBbY2xhc3MudmFyaWFudC1mZWF0dXJlZF09XCJwcm9wcy52YXJpYW50ID09PSAnZmVhdHVyZWQnXCJcbiAgICAgIFtjbGFzcy52YXJpYW50LWNvbXBhY3RdPVwicHJvcHMudmFyaWFudCA9PT0gJ2NvbXBhY3QnXCJcbiAgICAgIFtjbGFzcy52YXJpYW50LWhvcml6b250YWxdPVwicHJvcHMudmFyaWFudCA9PT0gJ2hvcml6b250YWwnXCJcbiAgICAgIFtjbGFzcy5zaXplLXNtYWxsXT1cInByb3BzLnNpemUgPT09ICdzbWFsbCdcIlxuICAgICAgW2NsYXNzLnNpemUtbWVkaXVtXT1cInByb3BzLnNpemUgPT09ICdtZWRpdW0nIHx8ICFwcm9wcy5zaXplXCJcbiAgICAgIFtjbGFzcy5zaXplLWxhcmdlXT1cInByb3BzLnNpemUgPT09ICdsYXJnZSdcIlxuICAgICAgW2NsYXNzXT1cIidzdGF0dXMtJyArIHByb3BzLnN0YXR1c1wiXG4gICAgPlxuICAgICAgPCEtLSBDb3ZlciBpbWFnZSAtLT5cbiAgICAgIEBpZiAocHJvcHMuY292ZXJJbWFnZSAmJiBwcm9wcy52YXJpYW50ICE9PSAnY29tcGFjdCcpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaW1hZ2VcIj5cbiAgICAgICAgICA8dmFsLWltYWdlIFtwcm9wc109XCJwcm9wcy5jb3ZlckltYWdlXCI+PC92YWwtaW1hZ2U+XG5cbiAgICAgICAgICA8IS0tIFN0YXR1cyBiYWRnZSBvdmVyIGltYWdlIC0tPlxuICAgICAgICAgIEBpZiAocHJvcHMuc2hvd1N0YXR1c0JhZGdlICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgPGlvbi1iYWRnZSBbY29sb3JdPVwiZ2V0U3RhdHVzQ29sb3IoKVwiIGNsYXNzPVwic3RhdHVzLWJhZGdlXCI+XG4gICAgICAgICAgICAgIHt7IGdldFN0YXR1c0xhYmVsKCkgfX1cbiAgICAgICAgICAgIDwvaW9uLWJhZGdlPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIDwhLS0gQ291bnRkb3duIG92ZXJsYXkgLS0+XG4gICAgICAgICAgQGlmIChwcm9wcy5zaG93Q291bnRkb3duICYmIHByb3BzLmVuZERhdGUgJiYgaXNBY3RpdmVPclVwY29taW5nKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291bnRkb3duLW92ZXJsYXlcIj5cbiAgICAgICAgICAgICAgPHZhbC1jb3VudGRvd25cbiAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgdGFyZ2V0RGF0ZTogcHJvcHMuZW5kRGF0ZSxcbiAgICAgICAgICAgICAgICAgIGZvcm1hdDogJ2NvbXBhY3QnLFxuICAgICAgICAgICAgICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnbGlnaHQnXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgID48L3ZhbC1jb3VudGRvd24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1jb250ZW50XCI+XG4gICAgICAgIDwhLS0gSGVhZGVyIC0tPlxuICAgICAgICA8aGVhZGVyIGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cbiAgICAgICAgICBAaWYgKHByb3BzLnNob3dTdGF0dXNCYWRnZSAhPT0gZmFsc2UgJiYgKHByb3BzLnZhcmlhbnQgPT09ICdjb21wYWN0JyB8fCAhcHJvcHMuY292ZXJJbWFnZSkpIHtcbiAgICAgICAgICAgIDxpb24tYmFkZ2UgW2NvbG9yXT1cImdldFN0YXR1c0NvbG9yKClcIiBjbGFzcz1cInN0YXR1cy1iYWRnZSBpbmxpbmVcIj5cbiAgICAgICAgICAgICAge3sgZ2V0U3RhdHVzTGFiZWwoKSB9fVxuICAgICAgICAgICAgPC9pb24tYmFkZ2U+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZVwiPnt7IGdldFRpdGxlKCkgfX08L2gzPlxuXG4gICAgICAgICAgQGlmIChwcm9wcy5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgPHAgY2xhc3M9XCJjYXJkLWRlc2NyaXB0aW9uXCI+e3sgZ2V0RGVzY3JpcHRpb24oKSB9fTwvcD5cbiAgICAgICAgICB9XG4gICAgICAgIDwvaGVhZGVyPlxuXG4gICAgICAgIDwhLS0gQmVuZWZpY2lhcnkgLS0+XG4gICAgICAgIEBpZiAocHJvcHMuYmVuZWZpY2lhcnkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmVuZWZpY2lhcnktaW5mb1wiPlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJoZWFydC1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIEBpZiAocHJvcHMuYmVuZWZpY2lhcnlJbWFnZSkge1xuICAgICAgICAgICAgICA8dmFsLWltYWdlIFtwcm9wc109XCJwcm9wcy5iZW5lZmljaWFyeUltYWdlXCIgY2xhc3M9XCJiZW5lZmljaWFyeS1pbWFnZVwiPjwvdmFsLWltYWdlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPHNwYW4+e3sgcHJvcHMuYmVuZWZpY2lhcnkgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIFByaXplIHByZXZpZXcgLS0+XG4gICAgICAgIEBpZiAocHJvcHMucHJpemUgJiYgcHJvcHMudmFyaWFudCAhPT0gJ2NvbXBhY3QnKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByaXplLXByZXZpZXdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcml6ZS1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJnaWZ0LW91dGxpbmVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj5QcmVtaW88L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcml6ZS1uYW1lXCI+e3sgcHJvcHMucHJpemUubmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgQGlmIChwcm9wcy5wcml6ZS52YWx1ZSkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpemUtdmFsdWVcIj5cbiAgICAgICAgICAgICAgICB7eyBmb3JtYXRDdXJyZW5jeShwcm9wcy5wcml6ZS52YWx1ZSkgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIFByb2dyZXNzIC0tPlxuICAgICAgICBAaWYgKHByb3BzLnNob3dQcm9ncmVzcyAhPT0gZmFsc2UgJiYgcHJvcHMucHJvZ3Jlc3MpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3Mtc2VjdGlvblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLWhlYWRlclwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb2dyZXNzLWxhYmVsXCI+UHJvZ3Jlc288L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJvZ3Jlc3MtdmFsdWVcIj57eyBwcm9ncmVzc1BlcmNlbnRhZ2UgfX0lPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aW9uLXByb2dyZXNzLWJhclxuICAgICAgICAgICAgICBbdmFsdWVdPVwicHJvZ3Jlc3NQZXJjZW50YWdlIC8gMTAwXCJcbiAgICAgICAgICAgICAgW2NvbG9yXT1cImdldFByb2dyZXNzQ29sb3IoKVwiXG4gICAgICAgICAgICA+PC9pb24tcHJvZ3Jlc3MtYmFyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBUaWNrZXQgc3RhdHMgLS0+XG4gICAgICAgIEBpZiAocHJvcHMuc2hvd1RpY2tldFN0YXRzICE9PSBmYWxzZSAmJiBwcm9wcy5wcm9ncmVzcykge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtc3RhdHNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0XCI+XG4gICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwidGlja2V0LW91dGxpbmVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0YXQtdmFsdWVcIj57eyBwcm9wcy5wcm9ncmVzcy5zb2xkVGlja2V0cyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGF0LWxhYmVsXCI+dmVuZGlkb3M8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0LWRpdmlkZXJcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RhdC12YWx1ZVwiPnt7IHByb3BzLnByb2dyZXNzLnRvdGFsVGlja2V0cyAtIHByb3BzLnByb2dyZXNzLnNvbGRUaWNrZXRzIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0YXQtbGFiZWxcIj5kaXNwb25pYmxlczwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBQcmljZSAtLT5cbiAgICAgICAgQGlmIChwcm9wcy5zaG93UHJpY2UgIT09IGZhbHNlICYmIHByb3BzLnRpY2tldFByaWNlKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXNlY3Rpb25cIj5cbiAgICAgICAgICAgIDx2YWwtcHJpY2UtdGFnXG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgYW1vdW50OiBwcm9wcy50aWNrZXRQcmljZSxcbiAgICAgICAgICAgICAgICBjdXJyZW5jeTogcHJvcHMuY3VycmVuY3kgfHwgJ01YTicsXG4gICAgICAgICAgICAgICAgY3VycmVuY3lTeW1ib2w6IHByb3BzLmN1cnJlbmN5U3ltYm9sLFxuICAgICAgICAgICAgICAgIHBlcmlvZDogJ3BvciBib2xldG8nLFxuICAgICAgICAgICAgICAgIHNpemU6IHByb3BzLnNpemUgPT09ICdsYXJnZScgPyAnbGFyZ2UnIDogJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgdmFyaWFudDogJ2hpZ2hsaWdodCdcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICA+PC92YWwtcHJpY2UtdGFnPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBEYXRlcyAtLT5cbiAgICAgICAgQGlmIChwcm9wcy5zaG93RGF0ZXMgIT09IGZhbHNlICYmIChwcm9wcy5zdGFydERhdGUgfHwgcHJvcHMuZW5kRGF0ZSkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZXMtc2VjdGlvblwiPlxuICAgICAgICAgICAgQGlmIChwcm9wcy5zdGFydERhdGUpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtaXRlbVwiPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2FsZW5kYXItb3V0bGluZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+SW5pY2lhOiB7eyBmb3JtYXREYXRlKHByb3BzLnN0YXJ0RGF0ZSkgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChwcm9wcy5lbmREYXRlKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInRpbWUtb3V0bGluZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+U29ydGVvOiB7eyBmb3JtYXREYXRlKHByb3BzLmVuZERhdGUpIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gQWN0aW9ucyAtLT5cbiAgICAgICAgQGlmIChwcm9wcy5wcmltYXJ5QWN0aW9uIHx8IHByb3BzLnNlY29uZGFyeUFjdGlvbikge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWFjdGlvbnNcIj5cbiAgICAgICAgICAgIEBpZiAocHJvcHMucHJpbWFyeUFjdGlvbikge1xuICAgICAgICAgICAgICA8dmFsLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtwcm9wc109XCJwcm9wcy5wcmltYXJ5QWN0aW9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25QcmltYXJ5QWN0aW9uKClcIlxuICAgICAgICAgICAgICA+PC92YWwtYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChwcm9wcy5zZWNvbmRhcnlBY3Rpb24pIHtcbiAgICAgICAgICAgICAgPHZhbC1idXR0b25cbiAgICAgICAgICAgICAgICBbcHJvcHNdPVwicHJvcHMuc2Vjb25kYXJ5QWN0aW9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZWNvbmRhcnlBY3Rpb24oKVwiXG4gICAgICAgICAgICAgID48L3ZhbC1idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvYXJ0aWNsZT5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vcmFmZmxlLXN0YXR1cy1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtcmFmZmxlLXN0YXR1cy1jYXJkXG4gKlxuICogQSBjYXJkIGNvbXBvbmVudCBmb3IgZGlzcGxheWluZyByYWZmbGUgc3RhdHVzIGFuZCBpbmZvcm1hdGlvbi5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogYGBgaHRtbFxuICogPHZhbC1yYWZmbGUtc3RhdHVzLWNhcmRcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICB0aXRsZTogJ1JpZmEgQmVuw6lmaWNhIDIwMjQnLFxuICogICAgIHN0YXR1czogJ2FjdGl2ZScsXG4gKiAgICAgdGlja2V0UHJpY2U6IDUwLFxuICogICAgIHByb2dyZXNzOiB7XG4gKiAgICAgICB0b3RhbFRpY2tldHM6IDEwMDAsXG4gKiAgICAgICBzb2xkVGlja2V0czogNDUwXG4gKiAgICAgfVxuICogICB9XCJcbiAqID48L3ZhbC1yYWZmbGUtc3RhdHVzLWNhcmQ+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBGZWF0dXJlZCB3aXRoIHByaXplXG4gKiBgYGBodG1sXG4gKiA8dmFsLXJhZmZsZS1zdGF0dXMtY2FyZFxuICogICBbcHJvcHNdPVwie1xuICogICAgIHRpdGxlOiAnR3JhbiBTb3J0ZW8gaVBob25lIDE1JyxcbiAqICAgICBkZXNjcmlwdGlvbjogJ1BhcnRpY2lwYSB5IGdhbmEgdW4gaVBob25lIDE1IFBybyBNYXgnLFxuICogICAgIHN0YXR1czogJ2FjdGl2ZScsXG4gKiAgICAgdmFyaWFudDogJ2ZlYXR1cmVkJyxcbiAqICAgICBjb3ZlckltYWdlOiB7IHNyYzogJ2NvdmVyLmpwZycgfSxcbiAqICAgICBwcml6ZToge1xuICogICAgICAgbmFtZTogJ2lQaG9uZSAxNSBQcm8gTWF4IDI1NkdCJyxcbiAqICAgICAgIHZhbHVlOiAzMjAwMCxcbiAqICAgICAgIGltYWdlOiB7IHNyYzogJ2lwaG9uZS5qcGcnIH1cbiAqICAgICB9LFxuICogICAgIHRpY2tldFByaWNlOiAxMDAsXG4gKiAgICAgZW5kRGF0ZTogJzIwMjQtMTItMjUnLFxuICogICAgIHNob3dDb3VudGRvd246IHRydWUsXG4gKiAgICAgcHJpbWFyeUFjdGlvbjoge1xuICogICAgICAgbGFiZWw6ICdDb21wcmFyIGJvbGV0b3MnLFxuICogICAgICAgY29sb3I6ICdzdWNjZXNzJ1xuICogICAgIH1cbiAqICAgfVwiXG4gKiA+PC92YWwtcmFmZmxlLXN0YXR1cy1jYXJkPlxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBSYWZmbGVTdGF0dXNDYXJkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHJvcHM6IFJhZmZsZVN0YXR1c0NhcmRNZXRhZGF0YTtcblxuICBAT3V0cHV0KCkgcHJpbWFyeUFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc2Vjb25kYXJ5QWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBsYW5nU2VydmljZSA9IGluamVjdChMYW5nU2VydmljZSk7XG5cbiAgZ2V0IGlzQWN0aXZlT3JVcGNvbWluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5zdGF0dXMgPT09ICdhY3RpdmUnIHx8IHRoaXMucHJvcHMuc3RhdHVzID09PSAndXBjb21pbmcnO1xuICB9XG5cbiAgZ2V0IHByb2dyZXNzUGVyY2VudGFnZSgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5wcm9wcy5wcm9ncmVzcykgcmV0dXJuIDA7XG4gICAgY29uc3QgeyBzb2xkVGlja2V0cywgdG90YWxUaWNrZXRzIH0gPSB0aGlzLnByb3BzLnByb2dyZXNzO1xuICAgIGlmICh0b3RhbFRpY2tldHMgPT09IDApIHJldHVybiAwO1xuICAgIHJldHVybiBNYXRoLnJvdW5kKChzb2xkVGlja2V0cyAvIHRvdGFsVGlja2V0cykgKiAxMDApO1xuICB9XG5cbiAgZ2V0U3RhdHVzTGFiZWwoKTogc3RyaW5nIHtcbiAgICBjb25zdCBsYWJlbHMgPSB7IC4uLkRFRkFVTFRfU1RBVFVTX0xBQkVMUywgLi4udGhpcy5wcm9wcy5zdGF0dXNMYWJlbHMgfTtcbiAgICByZXR1cm4gbGFiZWxzW3RoaXMucHJvcHMuc3RhdHVzXSB8fCB0aGlzLnByb3BzLnN0YXR1cztcbiAgfVxuXG4gIGdldFN0YXR1c0NvbG9yKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucHJvcHMuc3RhdHVzQ29sb3IpIHJldHVybiB0aGlzLnByb3BzLnN0YXR1c0NvbG9yO1xuICAgIHJldHVybiBERUZBVUxUX1NUQVRVU19DT0xPUlNbdGhpcy5wcm9wcy5zdGF0dXNdIHx8ICdtZWRpdW0nO1xuICB9XG5cbiAgZ2V0UHJvZ3Jlc3NDb2xvcigpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnByb2dyZXNzUGVyY2VudGFnZSA+PSAxMDApIHJldHVybiAnc3VjY2Vzcyc7XG4gICAgaWYgKHRoaXMucHJvZ3Jlc3NQZXJjZW50YWdlID49IDc1KSByZXR1cm4gJ3dhcm5pbmcnO1xuICAgIHJldHVybiAncHJpbWFyeSc7XG4gIH1cblxuICBnZXRUaXRsZSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnByb3BzLnRpdGxlQ29udGVudEtleSAmJiB0aGlzLnByb3BzLmNvbnRlbnRDbGFzcykge1xuICAgICAgcmV0dXJuIHRoaXMubGFuZ1NlcnZpY2UuZ2V0VGV4dChcbiAgICAgICAgdGhpcy5wcm9wcy5jb250ZW50Q2xhc3MsXG4gICAgICAgIHRoaXMucHJvcHMudGl0bGVDb250ZW50S2V5LFxuICAgICAgICB0aGlzLnByb3BzLnRpdGxlXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wcm9wcy50aXRsZTtcbiAgfVxuXG4gIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucHJvcHMuZGVzY3JpcHRpb25Db250ZW50S2V5ICYmIHRoaXMucHJvcHMuY29udGVudENsYXNzKSB7XG4gICAgICByZXR1cm4gdGhpcy5sYW5nU2VydmljZS5nZXRUZXh0KFxuICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnRDbGFzcyxcbiAgICAgICAgdGhpcy5wcm9wcy5kZXNjcmlwdGlvbkNvbnRlbnRLZXksXG4gICAgICAgIHRoaXMucHJvcHMuZGVzY3JpcHRpb24gfHwgJydcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnByb3BzLmRlc2NyaXB0aW9uIHx8ICcnO1xuICB9XG5cbiAgZm9ybWF0Q3VycmVuY3koYW1vdW50OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IHN5bWJvbCA9IHRoaXMucHJvcHMuY3VycmVuY3lTeW1ib2wgfHwgJyQnO1xuICAgIHJldHVybiBgJHtzeW1ib2x9JHthbW91bnQudG9Mb2NhbGVTdHJpbmcoJ2VzLU1YJyl9YDtcbiAgfVxuXG4gIGZvcm1hdERhdGUoZGF0ZTogRGF0ZSB8IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZCA9IHR5cGVvZiBkYXRlID09PSAnc3RyaW5nJyA/IG5ldyBEYXRlKGRhdGUpIDogZGF0ZTtcbiAgICByZXR1cm4gZC50b0xvY2FsZURhdGVTdHJpbmcoJ2VzLU1YJywge1xuICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICBtb250aDogJ3Nob3J0JyxcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICB9KTtcbiAgfVxuXG4gIG9uUHJpbWFyeUFjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnByaW1hcnlBY3Rpb25DbGljay5lbWl0KCk7XG4gIH1cblxuICBvblNlY29uZGFyeUFjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNlY29uZGFyeUFjdGlvbkNsaWNrLmVtaXQoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Default status labels.
3
+ */
4
+ export const DEFAULT_STATUS_LABELS = {
5
+ upcoming: 'Próximamente',
6
+ active: 'Activo',
7
+ sold_out: 'Agotado',
8
+ drawing: 'Sorteando',
9
+ completed: 'Finalizado',
10
+ cancelled: 'Cancelado',
11
+ };
12
+ /**
13
+ * Default status colors.
14
+ */
15
+ export const DEFAULT_STATUS_COLORS = {
16
+ upcoming: 'medium',
17
+ active: 'success',
18
+ sold_out: 'warning',
19
+ drawing: 'tertiary',
20
+ completed: 'primary',
21
+ cancelled: 'danger',
22
+ };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3JhZmZsZS1zdGF0dXMtY2FyZC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErSEE7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBaUM7SUFDakUsUUFBUSxFQUFFLGNBQWM7SUFDeEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsUUFBUSxFQUFFLFNBQVM7SUFDbkIsT0FBTyxFQUFFLFdBQVc7SUFDcEIsU0FBUyxFQUFFLFlBQVk7SUFDdkIsU0FBUyxFQUFFLFdBQVc7Q0FDdkIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQWdDO0lBQ2hFLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLE9BQU8sRUFBRSxVQUFVO0lBQ25CLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxRQUFRO0NBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvciB9IGZyb20gJ0Bpb25pYy9jb3JlJztcbmltcG9ydCB7IEltYWdlTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9hdG9tcy9pbWFnZS90eXBlcyc7XG5pbXBvcnQgeyBCdXR0b25NZXRhZGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuLyoqXG4gKiBSYWZmbGUgc3RhdHVzIHR5cGUuXG4gKi9cbmV4cG9ydCB0eXBlIFJhZmZsZVN0YXR1cyA9XG4gIHwgJ3VwY29taW5nJyAgICAvLyBOb3Qgc3RhcnRlZCB5ZXRcbiAgfCAnYWN0aXZlJyAgICAgIC8vIEN1cnJlbnRseSBzZWxsaW5nIHRpY2tldHNcbiAgfCAnc29sZF9vdXQnICAgIC8vIEFsbCB0aWNrZXRzIHNvbGRcbiAgfCAnZHJhd2luZycgICAgIC8vIERyYXcgaW4gcHJvZ3Jlc3NcbiAgfCAnY29tcGxldGVkJyAgIC8vIFdpbm5lciBhbm5vdW5jZWRcbiAgfCAnY2FuY2VsbGVkJzsgIC8vIFJhZmZsZSBjYW5jZWxsZWRcblxuLyoqXG4gKiBSYWZmbGUgcHJvZ3Jlc3MgaW5mb3JtYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmFmZmxlUHJvZ3Jlc3Mge1xuICAvKiogVG90YWwgdGlja2V0cyBhdmFpbGFibGUgKi9cbiAgdG90YWxUaWNrZXRzOiBudW1iZXI7XG4gIC8qKiBUaWNrZXRzIHNvbGQgKi9cbiAgc29sZFRpY2tldHM6IG51bWJlcjtcbiAgLyoqIFRpY2tldHMgcmVzZXJ2ZWQgKG5vdCBwYWlkKSAqL1xuICByZXNlcnZlZFRpY2tldHM/OiBudW1iZXI7XG4gIC8qKiBHb2FsIGFtb3VudCAobW9uZXRhcnkpICovXG4gIGdvYWxBbW91bnQ/OiBudW1iZXI7XG4gIC8qKiBDdXJyZW50IGFtb3VudCByYWlzZWQgKi9cbiAgY3VycmVudEFtb3VudD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBQcml6ZSBpbmZvcm1hdGlvbiBmb3IgdGhlIHJhZmZsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSYWZmbGVQcml6ZSB7XG4gIC8qKiBQcml6ZSBuYW1lICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIFByaXplIGRlc2NyaXB0aW9uICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKiogUHJpemUgaW1hZ2UgKi9cbiAgaW1hZ2U/OiBJbWFnZU1ldGFkYXRhO1xuICAvKiogUHJpemUgdmFsdWUgKi9cbiAgdmFsdWU/OiBudW1iZXI7XG4gIC8qKiBDdXJyZW5jeSBmb3IgdmFsdWUgKi9cbiAgY3VycmVuY3k/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogTWV0YWRhdGEgZm9yIHRoZSByYWZmbGUgc3RhdHVzIGNhcmQgY29tcG9uZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJhZmZsZVN0YXR1c0NhcmRNZXRhZGF0YSB7XG4gIC8qKiBSYWZmbGUgdGl0bGUgKi9cbiAgdGl0bGU6IHN0cmluZztcbiAgLyoqIFJhZmZsZSBkZXNjcmlwdGlvbiAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqIEN1cnJlbnQgc3RhdHVzICovXG4gIHN0YXR1czogUmFmZmxlU3RhdHVzO1xuICAvKiogUHJvZ3Jlc3MgaW5mb3JtYXRpb24gKi9cbiAgcHJvZ3Jlc3M/OiBSYWZmbGVQcm9ncmVzcztcbiAgLyoqIFByaXplIGluZm9ybWF0aW9uICovXG4gIHByaXplPzogUmFmZmxlUHJpemU7XG4gIC8qKiBDb3ZlciBpbWFnZSAqL1xuICBjb3ZlckltYWdlPzogSW1hZ2VNZXRhZGF0YTtcblxuICAvLyA9PT0gRGF0ZXMgPT09XG4gIC8qKiBSYWZmbGUgc3RhcnQgZGF0ZSAqL1xuICBzdGFydERhdGU/OiBEYXRlIHwgc3RyaW5nO1xuICAvKiogUmFmZmxlIGVuZCBkYXRlIC8gZHJhdyBkYXRlICovXG4gIGVuZERhdGU/OiBEYXRlIHwgc3RyaW5nO1xuICAvKiogU2hvdyBjb3VudGRvd24gdG8gZW5kIGRhdGUgKi9cbiAgc2hvd0NvdW50ZG93bj86IGJvb2xlYW47XG5cbiAgLy8gPT09IFByaWNpbmcgPT09XG4gIC8qKiBUaWNrZXQgcHJpY2UgKi9cbiAgdGlja2V0UHJpY2U/OiBudW1iZXI7XG4gIC8qKiBDdXJyZW5jeSAqL1xuICBjdXJyZW5jeT86IHN0cmluZztcbiAgLyoqIEN1cnJlbmN5IHN5bWJvbCAqL1xuICBjdXJyZW5jeVN5bWJvbD86IHN0cmluZztcblxuICAvLyA9PT0gRGlzcGxheSBvcHRpb25zID09PVxuICAvKiogQ2FyZCB2YXJpYW50ICovXG4gIHZhcmlhbnQ/OiAnZGVmYXVsdCcgfCAnZmVhdHVyZWQnIHwgJ2NvbXBhY3QnIHwgJ2hvcml6b250YWwnO1xuICAvKiogU2l6ZSAqL1xuICBzaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJztcbiAgLyoqIFNob3cgcHJvZ3Jlc3MgYmFyICovXG4gIHNob3dQcm9ncmVzcz86IGJvb2xlYW47XG4gIC8qKiBTaG93IHRpY2tldCBzdGF0cyAqL1xuICBzaG93VGlja2V0U3RhdHM/OiBib29sZWFuO1xuICAvKiogU2hvdyBwcmljZSAqL1xuICBzaG93UHJpY2U/OiBib29sZWFuO1xuICAvKiogU2hvdyBkYXRlcyAqL1xuICBzaG93RGF0ZXM/OiBib29sZWFuO1xuICAvKiogU2hvdyBzdGF0dXMgYmFkZ2UgKi9cbiAgc2hvd1N0YXR1c0JhZGdlPzogYm9vbGVhbjtcblxuICAvLyA9PT0gQWN0aW9ucyA9PT1cbiAgLyoqIFByaW1hcnkgYWN0aW9uIGJ1dHRvbiAqL1xuICBwcmltYXJ5QWN0aW9uPzogQnV0dG9uTWV0YWRhdGE7XG4gIC8qKiBTZWNvbmRhcnkgYWN0aW9uIGJ1dHRvbiAqL1xuICBzZWNvbmRhcnlBY3Rpb24/OiBCdXR0b25NZXRhZGF0YTtcblxuICAvLyA9PT0gU3R5bGluZyA9PT1cbiAgLyoqIEN1c3RvbSBDU1MgY2xhc3MgKi9cbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIC8qKiBTdGF0dXMgY29sb3Igb3ZlcnJpZGUgKi9cbiAgc3RhdHVzQ29sb3I/OiBDb2xvcjtcblxuICAvLyA9PT0gQmVuZWZpY2lhcnkgPT09XG4gIC8qKiBCZW5lZmljaWFyeSBuYW1lICovXG4gIGJlbmVmaWNpYXJ5Pzogc3RyaW5nO1xuICAvKiogQmVuZWZpY2lhcnkgbG9nby9pbWFnZSAqL1xuICBiZW5lZmljaWFyeUltYWdlPzogSW1hZ2VNZXRhZGF0YTtcblxuICAvLyA9PT0gTGFiZWxzID09PVxuICAvKiogQ3VzdG9tIHN0YXR1cyBsYWJlbHMgKi9cbiAgc3RhdHVzTGFiZWxzPzogUGFydGlhbDxSZWNvcmQ8UmFmZmxlU3RhdHVzLCBzdHJpbmc+PjtcblxuICAvLyA9PT0gUmVhY3RpdmUgY29udGVudCA9PT1cbiAgLyoqIENvbnRlbnQgY2xhc3MgZm9yIHJlYWN0aXZlIGNvbnRlbnQgKi9cbiAgY29udGVudENsYXNzPzogc3RyaW5nO1xuICAvKiogQ29udGVudCBrZXkgZm9yIHRpdGxlICovXG4gIHRpdGxlQ29udGVudEtleT86IHN0cmluZztcbiAgLyoqIENvbnRlbnQga2V5IGZvciBkZXNjcmlwdGlvbiAqL1xuICBkZXNjcmlwdGlvbkNvbnRlbnRLZXk/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGVmYXVsdCBzdGF0dXMgbGFiZWxzLlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9TVEFUVVNfTEFCRUxTOiBSZWNvcmQ8UmFmZmxlU3RhdHVzLCBzdHJpbmc+ID0ge1xuICB1cGNvbWluZzogJ1Byw7N4aW1hbWVudGUnLFxuICBhY3RpdmU6ICdBY3Rpdm8nLFxuICBzb2xkX291dDogJ0Fnb3RhZG8nLFxuICBkcmF3aW5nOiAnU29ydGVhbmRvJyxcbiAgY29tcGxldGVkOiAnRmluYWxpemFkbycsXG4gIGNhbmNlbGxlZDogJ0NhbmNlbGFkbycsXG59O1xuXG4vKipcbiAqIERlZmF1bHQgc3RhdHVzIGNvbG9ycy5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU1RBVFVTX0NPTE9SUzogUmVjb3JkPFJhZmZsZVN0YXR1cywgQ29sb3I+ID0ge1xuICB1cGNvbWluZzogJ21lZGl1bScsXG4gIGFjdGl2ZTogJ3N1Y2Nlc3MnLFxuICBzb2xkX291dDogJ3dhcm5pbmcnLFxuICBkcmF3aW5nOiAndGVydGlhcnknLFxuICBjb21wbGV0ZWQ6ICdwcmltYXJ5JyxcbiAgY2FuY2VsbGVkOiAnZGFuZ2VyJyxcbn07XG4iXX0=