valtech-components 2.0.820 → 2.0.821

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 (817) hide show
  1. package/fesm2022/valtech-components.mjs +1 -1
  2. package/fesm2022/valtech-components.mjs.map +1 -1
  3. package/package.json +1 -1
  4. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +0 -94
  5. package/esm2022/lib/components/atoms/avatar/types.mjs +0 -2
  6. package/esm2022/lib/components/atoms/box/box.component.mjs +0 -88
  7. package/esm2022/lib/components/atoms/box/types.mjs +0 -2
  8. package/esm2022/lib/components/atoms/button/button.component.mjs +0 -174
  9. package/esm2022/lib/components/atoms/button/factory.mjs +0 -217
  10. package/esm2022/lib/components/atoms/container/container.component.mjs +0 -52
  11. package/esm2022/lib/components/atoms/container/types.mjs +0 -2
  12. package/esm2022/lib/components/atoms/countdown/countdown.component.mjs +0 -340
  13. package/esm2022/lib/components/atoms/countdown/types.mjs +0 -27
  14. package/esm2022/lib/components/atoms/display/display.component.mjs +0 -51
  15. package/esm2022/lib/components/atoms/display/types.mjs +0 -2
  16. package/esm2022/lib/components/atoms/divider/divider.component.mjs +0 -27
  17. package/esm2022/lib/components/atoms/divider/types.mjs +0 -2
  18. package/esm2022/lib/components/atoms/fab/fab.component.mjs +0 -190
  19. package/esm2022/lib/components/atoms/fab/types.mjs +0 -2
  20. package/esm2022/lib/components/atoms/glass/glass.component.mjs +0 -125
  21. package/esm2022/lib/components/atoms/glass/types.mjs +0 -2
  22. package/esm2022/lib/components/atoms/glow/glow.component.mjs +0 -95
  23. package/esm2022/lib/components/atoms/glow/types.mjs +0 -2
  24. package/esm2022/lib/components/atoms/horizontal-scroll/horizontal-scroll.component.mjs +0 -82
  25. package/esm2022/lib/components/atoms/horizontal-scroll/types.mjs +0 -2
  26. package/esm2022/lib/components/atoms/href/href.component.mjs +0 -62
  27. package/esm2022/lib/components/atoms/href/types.mjs +0 -2
  28. package/esm2022/lib/components/atoms/icon/icon.component.mjs +0 -29
  29. package/esm2022/lib/components/atoms/icon/types.mjs +0 -2
  30. package/esm2022/lib/components/atoms/image/image.component.mjs +0 -507
  31. package/esm2022/lib/components/atoms/image/types.mjs +0 -2
  32. package/esm2022/lib/components/atoms/pattern/motifs.mjs +0 -147
  33. package/esm2022/lib/components/atoms/pattern/pattern.component.mjs +0 -178
  34. package/esm2022/lib/components/atoms/pattern/types.mjs +0 -2
  35. package/esm2022/lib/components/atoms/price-tag/price-tag.component.mjs +0 -235
  36. package/esm2022/lib/components/atoms/price-tag/types.mjs +0 -15
  37. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +0 -91
  38. package/esm2022/lib/components/atoms/progress-bar/types.mjs +0 -2
  39. package/esm2022/lib/components/atoms/progress-ring/progress-ring.component.mjs +0 -149
  40. package/esm2022/lib/components/atoms/progress-ring/types.mjs +0 -2
  41. package/esm2022/lib/components/atoms/qr-code/qr-code.component.mjs +0 -394
  42. package/esm2022/lib/components/atoms/qr-code/types.mjs +0 -2
  43. package/esm2022/lib/components/atoms/rights-footer/rights-footer.component.mjs +0 -108
  44. package/esm2022/lib/components/atoms/rights-footer/types.mjs +0 -2
  45. package/esm2022/lib/components/atoms/skeleton/skeleton.component.mjs +0 -193
  46. package/esm2022/lib/components/atoms/skeleton/types.mjs +0 -13
  47. package/esm2022/lib/components/atoms/text/text.component.mjs +0 -132
  48. package/esm2022/lib/components/atoms/text/types.mjs +0 -2
  49. package/esm2022/lib/components/atoms/title/title.component.mjs +0 -68
  50. package/esm2022/lib/components/atoms/title/types.mjs +0 -22
  51. package/esm2022/lib/components/atoms/user-avatar/types.mjs +0 -2
  52. package/esm2022/lib/components/atoms/user-avatar/user-avatar.component.mjs +0 -209
  53. package/esm2022/lib/components/molecules/accordion/accordion.component.mjs +0 -120
  54. package/esm2022/lib/components/molecules/accordion/types.mjs +0 -2
  55. package/esm2022/lib/components/molecules/action-card/action-card.component.mjs +0 -273
  56. package/esm2022/lib/components/molecules/action-card/types.mjs +0 -11
  57. package/esm2022/lib/components/molecules/action-header/action-header.component.mjs +0 -55
  58. package/esm2022/lib/components/molecules/action-header/types.mjs +0 -2
  59. package/esm2022/lib/components/molecules/ad-slot/ad-slot.component.mjs +0 -274
  60. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +0 -119
  61. package/esm2022/lib/components/molecules/alert-box/types.mjs +0 -2
  62. package/esm2022/lib/components/molecules/breadcrumb/breadcrumb.component.mjs +0 -130
  63. package/esm2022/lib/components/molecules/breadcrumb/types.mjs +0 -2
  64. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +0 -63
  65. package/esm2022/lib/components/molecules/button-group/types.mjs +0 -2
  66. package/esm2022/lib/components/molecules/card/card.component.mjs +0 -450
  67. package/esm2022/lib/components/molecules/card/types.mjs +0 -16
  68. package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +0 -82
  69. package/esm2022/lib/components/molecules/checkbox-radio-input/checkbox-radio-input.component.mjs +0 -79
  70. package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +0 -166
  71. package/esm2022/lib/components/molecules/chip-group/types.mjs +0 -2
  72. package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +0 -115
  73. package/esm2022/lib/components/molecules/code-display/types.mjs +0 -2
  74. package/esm2022/lib/components/molecules/command-display/command-display.component.mjs +0 -49
  75. package/esm2022/lib/components/molecules/command-display/types.mjs +0 -2
  76. package/esm2022/lib/components/molecules/comment/comment.component.mjs +0 -618
  77. package/esm2022/lib/components/molecules/comment/types.mjs +0 -2
  78. package/esm2022/lib/components/molecules/comment-input/comment-input.component.mjs +0 -41
  79. package/esm2022/lib/components/molecules/comment-input/types.mjs +0 -2
  80. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +0 -42
  81. package/esm2022/lib/components/molecules/content-loader/types.mjs +0 -2
  82. package/esm2022/lib/components/molecules/content-reaction/content-reaction.component.mjs +0 -210
  83. package/esm2022/lib/components/molecules/content-reaction/types.mjs +0 -2
  84. package/esm2022/lib/components/molecules/currency-input/currency-input.component.mjs +0 -347
  85. package/esm2022/lib/components/molecules/currency-input/types.mjs +0 -18
  86. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +0 -148
  87. package/esm2022/lib/components/molecules/date-input/types.mjs +0 -2
  88. package/esm2022/lib/components/molecules/date-range-input/date-range-input.component.mjs +0 -416
  89. package/esm2022/lib/components/molecules/date-range-input/types.mjs +0 -2
  90. package/esm2022/lib/components/molecules/docs-api-table/docs-api-table.component.mjs +0 -222
  91. package/esm2022/lib/components/molecules/docs-api-table/types.mjs +0 -11
  92. package/esm2022/lib/components/molecules/docs-breadcrumb/docs-breadcrumb.component.mjs +0 -144
  93. package/esm2022/lib/components/molecules/docs-breadcrumb/types.mjs +0 -2
  94. package/esm2022/lib/components/molecules/docs-callout/docs-callout.component.mjs +0 -60
  95. package/esm2022/lib/components/molecules/docs-code-example/docs-code-example.component.mjs +0 -249
  96. package/esm2022/lib/components/molecules/docs-code-example/types.mjs +0 -2
  97. package/esm2022/lib/components/molecules/docs-nav-links/docs-nav-links.component.mjs +0 -140
  98. package/esm2022/lib/components/molecules/docs-nav-links/types.mjs +0 -2
  99. package/esm2022/lib/components/molecules/docs-search/docs-search.component.mjs +0 -268
  100. package/esm2022/lib/components/molecules/docs-search/types.mjs +0 -2
  101. package/esm2022/lib/components/molecules/docs-section/docs-section.component.mjs +0 -85
  102. package/esm2022/lib/components/molecules/docs-section/types.mjs +0 -2
  103. package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +0 -68
  104. package/esm2022/lib/components/molecules/expandable-text/expandable-text.component.mjs +0 -77
  105. package/esm2022/lib/components/molecules/expandable-text/types.mjs +0 -2
  106. package/esm2022/lib/components/molecules/features-list/features-list.component.mjs +0 -179
  107. package/esm2022/lib/components/molecules/features-list/types.mjs +0 -11
  108. package/esm2022/lib/components/molecules/feedback-form/feedback-form.component.mjs +0 -354
  109. package/esm2022/lib/components/molecules/feedback-form/types.mjs +0 -2
  110. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +0 -90
  111. package/esm2022/lib/components/molecules/file-input/types.mjs +0 -2
  112. package/esm2022/lib/components/molecules/footer-links/footer-links.component.mjs +0 -391
  113. package/esm2022/lib/components/molecules/footer-links/types.mjs +0 -2
  114. package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +0 -314
  115. package/esm2022/lib/components/molecules/glow-card/types.mjs +0 -11
  116. package/esm2022/lib/components/molecules/hint/hint.component.mjs +0 -90
  117. package/esm2022/lib/components/molecules/hour-input/hour-input.component.mjs +0 -28
  118. package/esm2022/lib/components/molecules/image-crop/image-crop.component.mjs +0 -174
  119. package/esm2022/lib/components/molecules/image-crop/index.mjs +0 -2
  120. package/esm2022/lib/components/molecules/info/info.component.mjs +0 -49
  121. package/esm2022/lib/components/molecules/info/types.mjs +0 -2
  122. package/esm2022/lib/components/molecules/language-selector/language-selector.component.mjs +0 -221
  123. package/esm2022/lib/components/molecules/language-selector/types.mjs +0 -2
  124. package/esm2022/lib/components/molecules/layered-card/layered-card.component.mjs +0 -104
  125. package/esm2022/lib/components/molecules/layered-card/types.mjs +0 -2
  126. package/esm2022/lib/components/molecules/link/link.component.mjs +0 -64
  127. package/esm2022/lib/components/molecules/link/types.mjs +0 -2
  128. package/esm2022/lib/components/molecules/linked-providers/linked-providers.component.mjs +0 -236
  129. package/esm2022/lib/components/molecules/linked-providers/types.mjs +0 -27
  130. package/esm2022/lib/components/molecules/links-accordion/links-accordion.component.mjs +0 -203
  131. package/esm2022/lib/components/molecules/links-accordion/types.mjs +0 -2
  132. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +0 -51
  133. package/esm2022/lib/components/molecules/links-cake/types.mjs +0 -2
  134. package/esm2022/lib/components/molecules/multi-select-search/multi-select-search.component.mjs +0 -488
  135. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +0 -92
  136. package/esm2022/lib/components/molecules/notes-box/types.mjs +0 -2
  137. package/esm2022/lib/components/molecules/number-from-to/number-from-to.component.mjs +0 -143
  138. package/esm2022/lib/components/molecules/number-from-to/types.mjs +0 -2
  139. package/esm2022/lib/components/molecules/number-input/number-input.component.mjs +0 -34
  140. package/esm2022/lib/components/molecules/number-stepper/number-stepper.component.mjs +0 -379
  141. package/esm2022/lib/components/molecules/number-stepper/types.mjs +0 -2
  142. package/esm2022/lib/components/molecules/page-links/page-links.component.mjs +0 -150
  143. package/esm2022/lib/components/molecules/page-links/types.mjs +0 -2
  144. package/esm2022/lib/components/molecules/pagination/pagination.component.mjs +0 -253
  145. package/esm2022/lib/components/molecules/pagination/types.mjs +0 -2
  146. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +0 -93
  147. package/esm2022/lib/components/molecules/phone-input/phone-input.component.mjs +0 -365
  148. package/esm2022/lib/components/molecules/phone-input/types.mjs +0 -19
  149. package/esm2022/lib/components/molecules/pill/pill.component.mjs +0 -202
  150. package/esm2022/lib/components/molecules/pill/types.mjs +0 -2
  151. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +0 -78
  152. package/esm2022/lib/components/molecules/pin-input/types.mjs +0 -2
  153. package/esm2022/lib/components/molecules/plain-code-box/plain-code-box.component.mjs +0 -82
  154. package/esm2022/lib/components/molecules/plain-code-box/types.mjs +0 -2
  155. package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +0 -188
  156. package/esm2022/lib/components/molecules/popover-selector/types.mjs +0 -2
  157. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +0 -105
  158. package/esm2022/lib/components/molecules/progress-status/types.mjs +0 -2
  159. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +0 -85
  160. package/esm2022/lib/components/molecules/prompter/types.mjs +0 -2
  161. package/esm2022/lib/components/molecules/quote-box/quote-box.component.mjs +0 -155
  162. package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +0 -52
  163. package/esm2022/lib/components/molecules/range-input/range-input.component.mjs +0 -127
  164. package/esm2022/lib/components/molecules/range-input/types.mjs +0 -2
  165. package/esm2022/lib/components/molecules/rating/rating.component.mjs +0 -166
  166. package/esm2022/lib/components/molecules/rating/types.mjs +0 -2
  167. package/esm2022/lib/components/molecules/refresher/refresher.component.mjs +0 -275
  168. package/esm2022/lib/components/molecules/refresher/types.mjs +0 -15
  169. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +0 -127
  170. package/esm2022/lib/components/molecules/searchbar/types.mjs +0 -2
  171. package/esm2022/lib/components/molecules/segment-control/segment-control.component.mjs +0 -129
  172. package/esm2022/lib/components/molecules/segment-control/types.mjs +0 -2
  173. package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +0 -148
  174. package/esm2022/lib/components/molecules/select-search/select-search.component.mjs +0 -434
  175. package/esm2022/lib/components/molecules/share-buttons/share-buttons.component.mjs +0 -274
  176. package/esm2022/lib/components/molecules/share-buttons/types.mjs +0 -88
  177. package/esm2022/lib/components/molecules/stats-card/stats-card.component.mjs +0 -211
  178. package/esm2022/lib/components/molecules/stats-card/types.mjs +0 -2
  179. package/esm2022/lib/components/molecules/stepper/stepper.component.mjs +0 -242
  180. package/esm2022/lib/components/molecules/stepper/types.mjs +0 -2
  181. package/esm2022/lib/components/molecules/swipe-carousel/swipe-carousel.component.mjs +0 -206
  182. package/esm2022/lib/components/molecules/swipe-carousel/types.mjs +0 -2
  183. package/esm2022/lib/components/molecules/tabs/tabs.component.mjs +0 -139
  184. package/esm2022/lib/components/molecules/tabs/types.mjs +0 -2
  185. package/esm2022/lib/components/molecules/testimonial-card/testimonial-card.component.mjs +0 -138
  186. package/esm2022/lib/components/molecules/testimonial-card/types.mjs +0 -2
  187. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +0 -77
  188. package/esm2022/lib/components/molecules/textarea-input/textarea-input.component.mjs +0 -213
  189. package/esm2022/lib/components/molecules/textarea-input/types.mjs +0 -2
  190. package/esm2022/lib/components/molecules/timeline/timeline.component.mjs +0 -140
  191. package/esm2022/lib/components/molecules/timeline/types.mjs +0 -2
  192. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +0 -102
  193. package/esm2022/lib/components/molecules/title-block/types.mjs +0 -2
  194. package/esm2022/lib/components/molecules/toggle-input/toggle-input.component.mjs +0 -93
  195. package/esm2022/lib/components/molecules/toggle-input/types.mjs +0 -2
  196. package/esm2022/lib/components/molecules/update-banner/types.mjs +0 -42
  197. package/esm2022/lib/components/molecules/update-banner/update-banner.component.mjs +0 -243
  198. package/esm2022/lib/components/molecules/username-input/types.mjs +0 -2
  199. package/esm2022/lib/components/molecules/username-input/username-input.component.mjs +0 -295
  200. package/esm2022/lib/components/organisms/article/article.component.mjs +0 -578
  201. package/esm2022/lib/components/organisms/article/types.mjs +0 -183
  202. package/esm2022/lib/components/organisms/avatar-upload/avatar-upload.component.mjs +0 -325
  203. package/esm2022/lib/components/organisms/avatar-upload/types.mjs +0 -15
  204. package/esm2022/lib/components/organisms/banner/banner.component.mjs +0 -111
  205. package/esm2022/lib/components/organisms/banner/types.mjs +0 -2
  206. package/esm2022/lib/components/organisms/bottom-nav/bottom-nav.component.mjs +0 -383
  207. package/esm2022/lib/components/organisms/bottom-nav/types.mjs +0 -19
  208. package/esm2022/lib/components/organisms/cards-carousel/cards-carousel.component.mjs +0 -108
  209. package/esm2022/lib/components/organisms/cards-carousel/types.mjs +0 -2
  210. package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +0 -537
  211. package/esm2022/lib/components/organisms/comment-section/types.mjs +0 -2
  212. package/esm2022/lib/components/organisms/company-footer/company-footer.component.mjs +0 -76
  213. package/esm2022/lib/components/organisms/company-footer/types.mjs +0 -2
  214. package/esm2022/lib/components/organisms/cookie-banner/cookie-banner.component.mjs +0 -199
  215. package/esm2022/lib/components/organisms/cookie-banner/types.mjs +0 -2
  216. package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +0 -1081
  217. package/esm2022/lib/components/organisms/data-table/types.mjs +0 -13
  218. package/esm2022/lib/components/organisms/docs-sidebar/docs-sidebar.component.mjs +0 -290
  219. package/esm2022/lib/components/organisms/docs-sidebar/types.mjs +0 -2
  220. package/esm2022/lib/components/organisms/docs-toc/docs-toc.component.mjs +0 -307
  221. package/esm2022/lib/components/organisms/docs-toc/types.mjs +0 -2
  222. package/esm2022/lib/components/organisms/faq/faq.component.mjs +0 -176
  223. package/esm2022/lib/components/organisms/faq/types.mjs +0 -9
  224. package/esm2022/lib/components/organisms/footer/footer.component.mjs +0 -73
  225. package/esm2022/lib/components/organisms/footer/types.mjs +0 -2
  226. package/esm2022/lib/components/organisms/form/factory.mjs +0 -29
  227. package/esm2022/lib/components/organisms/form/form-footer/form-footer.component.mjs +0 -83
  228. package/esm2022/lib/components/organisms/form/form.component.mjs +0 -510
  229. package/esm2022/lib/components/organisms/fun-header/fun-header.component.mjs +0 -225
  230. package/esm2022/lib/components/organisms/fun-header/types.mjs +0 -2
  231. package/esm2022/lib/components/organisms/header/header.component.mjs +0 -51
  232. package/esm2022/lib/components/organisms/header/types.mjs +0 -2
  233. package/esm2022/lib/components/organisms/infinite-list/infinite-list.component.mjs +0 -620
  234. package/esm2022/lib/components/organisms/infinite-list/types.mjs +0 -15
  235. package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +0 -418
  236. package/esm2022/lib/components/organisms/item-list/types.mjs +0 -2
  237. package/esm2022/lib/components/organisms/login/login.component.mjs +0 -735
  238. package/esm2022/lib/components/organisms/login/types.mjs +0 -11
  239. package/esm2022/lib/components/organisms/menu/menu.component.mjs +0 -206
  240. package/esm2022/lib/components/organisms/menu/types.mjs +0 -2
  241. package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +0 -66
  242. package/esm2022/lib/components/organisms/no-content/types.mjs +0 -2
  243. package/esm2022/lib/components/organisms/rotating-text/rotating-text.component.mjs +0 -180
  244. package/esm2022/lib/components/organisms/rotating-text/types.mjs +0 -2
  245. package/esm2022/lib/components/organisms/skeleton-layout/skeleton-layout.component.mjs +0 -423
  246. package/esm2022/lib/components/organisms/skeleton-layout/types.mjs +0 -10
  247. package/esm2022/lib/components/organisms/tabbed-content/tabbed-content.component.mjs +0 -170
  248. package/esm2022/lib/components/organisms/tabbed-content/types.mjs +0 -2
  249. package/esm2022/lib/components/organisms/terminal-404/terminal-404.component.mjs +0 -214
  250. package/esm2022/lib/components/organisms/terminal-404/types.mjs +0 -2
  251. package/esm2022/lib/components/organisms/testimonial-carousel/testimonial-carousel.component.mjs +0 -72
  252. package/esm2022/lib/components/organisms/testimonial-carousel/types.mjs +0 -2
  253. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +0 -255
  254. package/esm2022/lib/components/organisms/toolbar/types.mjs +0 -2
  255. package/esm2022/lib/components/organisms/wizard/types.mjs +0 -10
  256. package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +0 -111
  257. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +0 -161
  258. package/esm2022/lib/components/templates/auth-background/auth-background.component.mjs +0 -164
  259. package/esm2022/lib/components/templates/auth-background/types.mjs +0 -2
  260. package/esm2022/lib/components/templates/docs-layout/docs-layout.component.mjs +0 -221
  261. package/esm2022/lib/components/templates/docs-layout/types.mjs +0 -2
  262. package/esm2022/lib/components/templates/docs-page/docs-page.component.mjs +0 -251
  263. package/esm2022/lib/components/templates/docs-page/types.mjs +0 -2
  264. package/esm2022/lib/components/templates/docs-shell/docs-shell.component.mjs +0 -376
  265. package/esm2022/lib/components/templates/docs-shell/types.mjs +0 -2
  266. package/esm2022/lib/components/templates/maintenance-page/maintenance-page.component.mjs +0 -153
  267. package/esm2022/lib/components/templates/maintenance-page/types.mjs +0 -2
  268. package/esm2022/lib/components/templates/page-content/page-content.component.mjs +0 -193
  269. package/esm2022/lib/components/templates/page-content/types.mjs +0 -2
  270. package/esm2022/lib/components/templates/page-template/page-template.component.mjs +0 -188
  271. package/esm2022/lib/components/templates/page-template/types.mjs +0 -2
  272. package/esm2022/lib/components/templates/page-wrapper/page-wrapper.component.mjs +0 -238
  273. package/esm2022/lib/components/templates/page-wrapper/types.mjs +0 -2
  274. package/esm2022/lib/components/templates/simple/simple.component.mjs +0 -123
  275. package/esm2022/lib/components/templates/simple/types.mjs +0 -2
  276. package/esm2022/lib/components/types.mjs +0 -60
  277. package/esm2022/lib/config/company-footer.config.mjs +0 -125
  278. package/esm2022/lib/config/index.mjs +0 -5
  279. package/esm2022/lib/services/ads/ads-loader.service.mjs +0 -120
  280. package/esm2022/lib/services/ads/ads.service.mjs +0 -236
  281. package/esm2022/lib/services/ads/config.mjs +0 -81
  282. package/esm2022/lib/services/ads/index.mjs +0 -13
  283. package/esm2022/lib/services/ads/types.mjs +0 -23
  284. package/esm2022/lib/services/app-config/app-config.service.mjs +0 -209
  285. package/esm2022/lib/services/app-config/config.mjs +0 -47
  286. package/esm2022/lib/services/app-config/index.mjs +0 -48
  287. package/esm2022/lib/services/app-config/types.mjs +0 -13
  288. package/esm2022/lib/services/app-config/version.mjs +0 -85
  289. package/esm2022/lib/services/app-version/app-version.service.mjs +0 -187
  290. package/esm2022/lib/services/app-version/config.mjs +0 -42
  291. package/esm2022/lib/services/app-version/index.mjs +0 -24
  292. package/esm2022/lib/services/app-version/types.mjs +0 -17
  293. package/esm2022/lib/services/auth/auth-state.service.mjs +0 -207
  294. package/esm2022/lib/services/auth/auth.service.mjs +0 -1142
  295. package/esm2022/lib/services/auth/config.mjs +0 -75
  296. package/esm2022/lib/services/auth/device.service.mjs +0 -135
  297. package/esm2022/lib/services/auth/guards.mjs +0 -199
  298. package/esm2022/lib/services/auth/handoff.service.mjs +0 -152
  299. package/esm2022/lib/services/auth/index.mjs +0 -98
  300. package/esm2022/lib/services/auth/interceptor.mjs +0 -122
  301. package/esm2022/lib/services/auth/notification-action.service.mjs +0 -117
  302. package/esm2022/lib/services/auth/oauth-callback.component.mjs +0 -169
  303. package/esm2022/lib/services/auth/oauth.service.mjs +0 -322
  304. package/esm2022/lib/services/auth/org-switch.service.mjs +0 -137
  305. package/esm2022/lib/services/auth/session.service.mjs +0 -78
  306. package/esm2022/lib/services/auth/storage.service.mjs +0 -152
  307. package/esm2022/lib/services/auth/sync.service.mjs +0 -149
  308. package/esm2022/lib/services/auth/token.service.mjs +0 -122
  309. package/esm2022/lib/services/auth/types.mjs +0 -30
  310. package/esm2022/lib/services/confirmation-dialog/confirmation-dialog.service.mjs +0 -189
  311. package/esm2022/lib/services/confirmation-dialog/types.mjs +0 -14
  312. package/esm2022/lib/services/content/content-types/blog.mjs +0 -275
  313. package/esm2022/lib/services/content/content-types/documentation.mjs +0 -303
  314. package/esm2022/lib/services/content/content-types/news.mjs +0 -277
  315. package/esm2022/lib/services/content/index.mjs +0 -51
  316. package/esm2022/lib/services/content/transformer.mjs +0 -265
  317. package/esm2022/lib/services/content/types.mjs +0 -41
  318. package/esm2022/lib/services/docs/docs-navigation.service.mjs +0 -91
  319. package/esm2022/lib/services/donation/config.mjs +0 -41
  320. package/esm2022/lib/services/donation/donation.service.mjs +0 -92
  321. package/esm2022/lib/services/donation/index.mjs +0 -25
  322. package/esm2022/lib/services/donation/types.mjs +0 -10
  323. package/esm2022/lib/services/download.service.mjs +0 -80
  324. package/esm2022/lib/services/feedback/config.mjs +0 -49
  325. package/esm2022/lib/services/feedback/feedback.service.mjs +0 -296
  326. package/esm2022/lib/services/feedback/index.mjs +0 -44
  327. package/esm2022/lib/services/feedback/types.mjs +0 -30
  328. package/esm2022/lib/services/firebase/analytics-error-handler.mjs +0 -141
  329. package/esm2022/lib/services/firebase/analytics-router-tracker.mjs +0 -99
  330. package/esm2022/lib/services/firebase/analytics-types.mjs +0 -7
  331. package/esm2022/lib/services/firebase/analytics.service.mjs +0 -620
  332. package/esm2022/lib/services/firebase/config.mjs +0 -131
  333. package/esm2022/lib/services/firebase/firebase.service.mjs +0 -506
  334. package/esm2022/lib/services/firebase/firestore-collection.mjs +0 -301
  335. package/esm2022/lib/services/firebase/firestore.service.mjs +0 -571
  336. package/esm2022/lib/services/firebase/index.mjs +0 -56
  337. package/esm2022/lib/services/firebase/messaging.service.mjs +0 -721
  338. package/esm2022/lib/services/firebase/notifications.service.mjs +0 -274
  339. package/esm2022/lib/services/firebase/shared-config.mjs +0 -147
  340. package/esm2022/lib/services/firebase/storage.service.mjs +0 -484
  341. package/esm2022/lib/services/firebase/types.mjs +0 -18
  342. package/esm2022/lib/services/firebase/utils/path-builder.mjs +0 -195
  343. package/esm2022/lib/services/firebase/utils/query-builder.mjs +0 -302
  344. package/esm2022/lib/services/i18n/config.mjs +0 -128
  345. package/esm2022/lib/services/i18n/default-content.mjs +0 -577
  346. package/esm2022/lib/services/i18n/i18n.service.mjs +0 -217
  347. package/esm2022/lib/services/i18n/index.mjs +0 -13
  348. package/esm2022/lib/services/i18n/input-i18n.helper.mjs +0 -97
  349. package/esm2022/lib/services/i18n/translate.pipe.mjs +0 -50
  350. package/esm2022/lib/services/i18n/types.mjs +0 -15
  351. package/esm2022/lib/services/icons.service.mjs +0 -83
  352. package/esm2022/lib/services/image/image.service.mjs +0 -244
  353. package/esm2022/lib/services/image/index.mjs +0 -3
  354. package/esm2022/lib/services/image/types.mjs +0 -13
  355. package/esm2022/lib/services/in-app-browser.service.mjs +0 -35
  356. package/esm2022/lib/services/legal-link/legal-link.service.mjs +0 -85
  357. package/esm2022/lib/services/link-processor.service.mjs +0 -259
  358. package/esm2022/lib/services/local-storage.service.mjs +0 -37
  359. package/esm2022/lib/services/locale.service.mjs +0 -75
  360. package/esm2022/lib/services/markdown-article/legal-content.service.mjs +0 -107
  361. package/esm2022/lib/services/markdown-article/markdown-article-parser.mjs +0 -302
  362. package/esm2022/lib/services/markdown-article/markdown-article-parser.service.mjs +0 -20
  363. package/esm2022/lib/services/meta/index.mjs +0 -3
  364. package/esm2022/lib/services/meta/meta.service.mjs +0 -63
  365. package/esm2022/lib/services/meta/types.mjs +0 -2
  366. package/esm2022/lib/services/modal/modal.service.mjs +0 -220
  367. package/esm2022/lib/services/modal/simple-modal-content.component.mjs +0 -133
  368. package/esm2022/lib/services/modal/types.mjs +0 -26
  369. package/esm2022/lib/services/navigation/index.mjs +0 -3
  370. package/esm2022/lib/services/navigation/navigation.service.mjs +0 -216
  371. package/esm2022/lib/services/navigation/types.mjs +0 -16
  372. package/esm2022/lib/services/page-refresh/page-refresh.service.mjs +0 -104
  373. package/esm2022/lib/services/pagination/index.mjs +0 -5
  374. package/esm2022/lib/services/pagination/pagination.service.mjs +0 -218
  375. package/esm2022/lib/services/pagination/types.mjs +0 -14
  376. package/esm2022/lib/services/preferences/index.mjs +0 -3
  377. package/esm2022/lib/services/preferences/preferences.service.mjs +0 -198
  378. package/esm2022/lib/services/preferences/preferences.types.mjs +0 -7
  379. package/esm2022/lib/services/presets/config.mjs +0 -46
  380. package/esm2022/lib/services/presets/index.mjs +0 -5
  381. package/esm2022/lib/services/presets/preset.service.mjs +0 -104
  382. package/esm2022/lib/services/presets/types.mjs +0 -2
  383. package/esm2022/lib/services/qr-generator/qr-generator.service.mjs +0 -341
  384. package/esm2022/lib/services/qr-generator/types.mjs +0 -46
  385. package/esm2022/lib/services/refreshable-stream/index.mjs +0 -8
  386. package/esm2022/lib/services/refreshable-stream/refreshable-stream.mjs +0 -112
  387. package/esm2022/lib/services/skeleton/config.mjs +0 -79
  388. package/esm2022/lib/services/skeleton/directives/loading.directive.mjs +0 -215
  389. package/esm2022/lib/services/skeleton/index.mjs +0 -16
  390. package/esm2022/lib/services/skeleton/skeleton.service.mjs +0 -198
  391. package/esm2022/lib/services/skeleton/templates/detail-skeleton.component.mjs +0 -223
  392. package/esm2022/lib/services/skeleton/templates/form-skeleton.component.mjs +0 -127
  393. package/esm2022/lib/services/skeleton/templates/grid-skeleton.component.mjs +0 -154
  394. package/esm2022/lib/services/skeleton/templates/list-skeleton.component.mjs +0 -110
  395. package/esm2022/lib/services/skeleton/templates/profile-skeleton.component.mjs +0 -207
  396. package/esm2022/lib/services/skeleton/templates/table-skeleton.component.mjs +0 -116
  397. package/esm2022/lib/services/skeleton/types.mjs +0 -11
  398. package/esm2022/lib/services/theme.service.mjs +0 -153
  399. package/esm2022/lib/services/toast.service.mjs +0 -53
  400. package/esm2022/lib/services/types.mjs +0 -5
  401. package/esm2022/lib/shared/constants/storage.mjs +0 -3
  402. package/esm2022/lib/shared/pipes/process-links.pipe.mjs +0 -69
  403. package/esm2022/lib/shared/utils/datetime.mjs +0 -24
  404. package/esm2022/lib/shared/utils/dom.mjs +0 -27
  405. package/esm2022/lib/shared/utils/form-defaults.mjs +0 -112
  406. package/esm2022/lib/shared/utils/styles.mjs +0 -37
  407. package/esm2022/lib/shared/utils/text.mjs +0 -12
  408. package/esm2022/lib/version.mjs +0 -6
  409. package/esm2022/public-api.mjs +0 -367
  410. package/esm2022/valtech-components.mjs +0 -5
  411. package/index.d.ts +0 -5
  412. package/lib/components/atoms/avatar/avatar.component.d.ts +0 -36
  413. package/lib/components/atoms/avatar/types.d.ts +0 -15
  414. package/lib/components/atoms/box/box.component.d.ts +0 -26
  415. package/lib/components/atoms/box/types.d.ts +0 -19
  416. package/lib/components/atoms/button/button.component.d.ts +0 -63
  417. package/lib/components/atoms/button/factory.d.ts +0 -71
  418. package/lib/components/atoms/container/container.component.d.ts +0 -30
  419. package/lib/components/atoms/container/types.d.ts +0 -11
  420. package/lib/components/atoms/countdown/countdown.component.d.ts +0 -38
  421. package/lib/components/atoms/countdown/types.d.ts +0 -108
  422. package/lib/components/atoms/display/display.component.d.ts +0 -19
  423. package/lib/components/atoms/display/types.d.ts +0 -33
  424. package/lib/components/atoms/divider/divider.component.d.ts +0 -27
  425. package/lib/components/atoms/divider/types.d.ts +0 -12
  426. package/lib/components/atoms/fab/fab.component.d.ts +0 -36
  427. package/lib/components/atoms/fab/types.d.ts +0 -45
  428. package/lib/components/atoms/glass/glass.component.d.ts +0 -43
  429. package/lib/components/atoms/glass/types.d.ts +0 -70
  430. package/lib/components/atoms/glow/glow.component.d.ts +0 -42
  431. package/lib/components/atoms/glow/types.d.ts +0 -40
  432. package/lib/components/atoms/horizontal-scroll/horizontal-scroll.component.d.ts +0 -41
  433. package/lib/components/atoms/horizontal-scroll/types.d.ts +0 -13
  434. package/lib/components/atoms/href/href.component.d.ts +0 -25
  435. package/lib/components/atoms/href/types.d.ts +0 -19
  436. package/lib/components/atoms/icon/icon.component.d.ts +0 -18
  437. package/lib/components/atoms/icon/types.d.ts +0 -13
  438. package/lib/components/atoms/image/image.component.d.ts +0 -41
  439. package/lib/components/atoms/image/types.d.ts +0 -37
  440. package/lib/components/atoms/pattern/motifs.d.ts +0 -60
  441. package/lib/components/atoms/pattern/pattern.component.d.ts +0 -68
  442. package/lib/components/atoms/pattern/types.d.ts +0 -61
  443. package/lib/components/atoms/price-tag/price-tag.component.d.ts +0 -15
  444. package/lib/components/atoms/price-tag/types.d.ts +0 -59
  445. package/lib/components/atoms/progress-bar/progress-bar.component.d.ts +0 -35
  446. package/lib/components/atoms/progress-bar/types.d.ts +0 -19
  447. package/lib/components/atoms/progress-ring/progress-ring.component.d.ts +0 -20
  448. package/lib/components/atoms/progress-ring/types.d.ts +0 -24
  449. package/lib/components/atoms/qr-code/qr-code.component.d.ts +0 -33
  450. package/lib/components/atoms/qr-code/types.d.ts +0 -124
  451. package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +0 -53
  452. package/lib/components/atoms/rights-footer/types.d.ts +0 -21
  453. package/lib/components/atoms/skeleton/skeleton.component.d.ts +0 -12
  454. package/lib/components/atoms/skeleton/types.d.ts +0 -29
  455. package/lib/components/atoms/text/text.component.d.ts +0 -33
  456. package/lib/components/atoms/text/types.d.ts +0 -42
  457. package/lib/components/atoms/title/title.component.d.ts +0 -21
  458. package/lib/components/atoms/title/types.d.ts +0 -36
  459. package/lib/components/atoms/user-avatar/types.d.ts +0 -74
  460. package/lib/components/atoms/user-avatar/user-avatar.component.d.ts +0 -55
  461. package/lib/components/molecules/accordion/accordion.component.d.ts +0 -18
  462. package/lib/components/molecules/accordion/types.d.ts +0 -47
  463. package/lib/components/molecules/action-card/action-card.component.d.ts +0 -90
  464. package/lib/components/molecules/action-card/types.d.ts +0 -83
  465. package/lib/components/molecules/action-header/action-header.component.d.ts +0 -27
  466. package/lib/components/molecules/action-header/types.d.ts +0 -27
  467. package/lib/components/molecules/ad-slot/ad-slot.component.d.ts +0 -69
  468. package/lib/components/molecules/alert-box/alert-box.component.d.ts +0 -39
  469. package/lib/components/molecules/alert-box/types.d.ts +0 -37
  470. package/lib/components/molecules/breadcrumb/breadcrumb.component.d.ts +0 -22
  471. package/lib/components/molecules/breadcrumb/types.d.ts +0 -45
  472. package/lib/components/molecules/button-group/button-group.component.d.ts +0 -23
  473. package/lib/components/molecules/button-group/types.d.ts +0 -13
  474. package/lib/components/molecules/card/card.component.d.ts +0 -49
  475. package/lib/components/molecules/card/types.d.ts +0 -32
  476. package/lib/components/molecules/check-input/check-input.component.d.ts +0 -36
  477. package/lib/components/molecules/checkbox-radio-input/checkbox-radio-input.component.d.ts +0 -17
  478. package/lib/components/molecules/chip-group/chip-group.component.d.ts +0 -22
  479. package/lib/components/molecules/chip-group/types.d.ts +0 -65
  480. package/lib/components/molecules/code-display/code-display.component.d.ts +0 -24
  481. package/lib/components/molecules/code-display/types.d.ts +0 -10
  482. package/lib/components/molecules/command-display/command-display.component.d.ts +0 -11
  483. package/lib/components/molecules/command-display/types.d.ts +0 -3
  484. package/lib/components/molecules/comment/comment.component.d.ts +0 -42
  485. package/lib/components/molecules/comment/types.d.ts +0 -171
  486. package/lib/components/molecules/comment-input/comment-input.component.d.ts +0 -16
  487. package/lib/components/molecules/comment-input/types.d.ts +0 -59
  488. package/lib/components/molecules/content-loader/content-loader.component.d.ts +0 -18
  489. package/lib/components/molecules/content-loader/types.d.ts +0 -15
  490. package/lib/components/molecules/content-reaction/content-reaction.component.d.ts +0 -58
  491. package/lib/components/molecules/content-reaction/types.d.ts +0 -77
  492. package/lib/components/molecules/currency-input/currency-input.component.d.ts +0 -40
  493. package/lib/components/molecules/currency-input/types.d.ts +0 -96
  494. package/lib/components/molecules/date-input/date-input.component.d.ts +0 -40
  495. package/lib/components/molecules/date-input/types.d.ts +0 -74
  496. package/lib/components/molecules/date-range-input/date-range-input.component.d.ts +0 -50
  497. package/lib/components/molecules/date-range-input/types.d.ts +0 -109
  498. package/lib/components/molecules/docs-api-table/docs-api-table.component.d.ts +0 -41
  499. package/lib/components/molecules/docs-api-table/types.d.ts +0 -62
  500. package/lib/components/molecules/docs-breadcrumb/docs-breadcrumb.component.d.ts +0 -31
  501. package/lib/components/molecules/docs-breadcrumb/types.d.ts +0 -20
  502. package/lib/components/molecules/docs-callout/docs-callout.component.d.ts +0 -17
  503. package/lib/components/molecules/docs-code-example/docs-code-example.component.d.ts +0 -45
  504. package/lib/components/molecules/docs-code-example/types.d.ts +0 -63
  505. package/lib/components/molecules/docs-nav-links/docs-nav-links.component.d.ts +0 -30
  506. package/lib/components/molecules/docs-nav-links/types.d.ts +0 -31
  507. package/lib/components/molecules/docs-search/docs-search.component.d.ts +0 -47
  508. package/lib/components/molecules/docs-search/types.d.ts +0 -27
  509. package/lib/components/molecules/docs-section/docs-section.component.d.ts +0 -29
  510. package/lib/components/molecules/docs-section/types.d.ts +0 -27
  511. package/lib/components/molecules/email-input/email-input.component.d.ts +0 -34
  512. package/lib/components/molecules/expandable-text/expandable-text.component.d.ts +0 -23
  513. package/lib/components/molecules/expandable-text/types.d.ts +0 -14
  514. package/lib/components/molecules/features-list/features-list.component.d.ts +0 -66
  515. package/lib/components/molecules/features-list/types.d.ts +0 -36
  516. package/lib/components/molecules/feedback-form/feedback-form.component.d.ts +0 -58
  517. package/lib/components/molecules/feedback-form/types.d.ts +0 -54
  518. package/lib/components/molecules/file-input/file-input.component.d.ts +0 -25
  519. package/lib/components/molecules/file-input/types.d.ts +0 -72
  520. package/lib/components/molecules/footer-links/footer-links.component.d.ts +0 -47
  521. package/lib/components/molecules/footer-links/types.d.ts +0 -50
  522. package/lib/components/molecules/glow-card/glow-card.component.d.ts +0 -60
  523. package/lib/components/molecules/glow-card/types.d.ts +0 -94
  524. package/lib/components/molecules/hint/hint.component.d.ts +0 -19
  525. package/lib/components/molecules/hour-input/hour-input.component.d.ts +0 -15
  526. package/lib/components/molecules/image-crop/image-crop.component.d.ts +0 -59
  527. package/lib/components/molecules/image-crop/index.d.ts +0 -1
  528. package/lib/components/molecules/info/info.component.d.ts +0 -9
  529. package/lib/components/molecules/info/types.d.ts +0 -10
  530. package/lib/components/molecules/language-selector/language-selector.component.d.ts +0 -40
  531. package/lib/components/molecules/language-selector/types.d.ts +0 -82
  532. package/lib/components/molecules/layered-card/layered-card.component.d.ts +0 -10
  533. package/lib/components/molecules/layered-card/types.d.ts +0 -15
  534. package/lib/components/molecules/link/link.component.d.ts +0 -24
  535. package/lib/components/molecules/link/types.d.ts +0 -19
  536. package/lib/components/molecules/linked-providers/linked-providers.component.d.ts +0 -30
  537. package/lib/components/molecules/linked-providers/types.d.ts +0 -38
  538. package/lib/components/molecules/links-accordion/links-accordion.component.d.ts +0 -61
  539. package/lib/components/molecules/links-accordion/types.d.ts +0 -39
  540. package/lib/components/molecules/links-cake/links-cake.component.d.ts +0 -17
  541. package/lib/components/molecules/links-cake/types.d.ts +0 -13
  542. package/lib/components/molecules/multi-select-search/multi-select-search.component.d.ts +0 -76
  543. package/lib/components/molecules/notes-box/notes-box.component.d.ts +0 -33
  544. package/lib/components/molecules/notes-box/types.d.ts +0 -35
  545. package/lib/components/molecules/number-from-to/number-from-to.component.d.ts +0 -27
  546. package/lib/components/molecules/number-from-to/types.d.ts +0 -76
  547. package/lib/components/molecules/number-input/number-input.component.d.ts +0 -16
  548. package/lib/components/molecules/number-stepper/number-stepper.component.d.ts +0 -38
  549. package/lib/components/molecules/number-stepper/types.d.ts +0 -88
  550. package/lib/components/molecules/page-links/page-links.component.d.ts +0 -29
  551. package/lib/components/molecules/page-links/types.d.ts +0 -38
  552. package/lib/components/molecules/pagination/pagination.component.d.ts +0 -15
  553. package/lib/components/molecules/pagination/types.d.ts +0 -41
  554. package/lib/components/molecules/password-input/password-input.component.d.ts +0 -37
  555. package/lib/components/molecules/phone-input/phone-input.component.d.ts +0 -59
  556. package/lib/components/molecules/phone-input/types.d.ts +0 -98
  557. package/lib/components/molecules/pill/pill.component.d.ts +0 -44
  558. package/lib/components/molecules/pill/types.d.ts +0 -63
  559. package/lib/components/molecules/pin-input/pin-input.component.d.ts +0 -21
  560. package/lib/components/molecules/pin-input/types.d.ts +0 -69
  561. package/lib/components/molecules/plain-code-box/plain-code-box.component.d.ts +0 -22
  562. package/lib/components/molecules/plain-code-box/types.d.ts +0 -10
  563. package/lib/components/molecules/popover-selector/popover-selector.component.d.ts +0 -42
  564. package/lib/components/molecules/popover-selector/types.d.ts +0 -69
  565. package/lib/components/molecules/progress-status/progress-status.component.d.ts +0 -23
  566. package/lib/components/molecules/progress-status/types.d.ts +0 -20
  567. package/lib/components/molecules/prompter/prompter.component.d.ts +0 -10
  568. package/lib/components/molecules/prompter/types.d.ts +0 -25
  569. package/lib/components/molecules/quote-box/quote-box.component.d.ts +0 -26
  570. package/lib/components/molecules/radio-input/radio-input.component.d.ts +0 -15
  571. package/lib/components/molecules/range-input/range-input.component.d.ts +0 -25
  572. package/lib/components/molecules/range-input/types.d.ts +0 -59
  573. package/lib/components/molecules/rating/rating.component.d.ts +0 -23
  574. package/lib/components/molecules/rating/types.d.ts +0 -41
  575. package/lib/components/molecules/refresher/refresher.component.d.ts +0 -84
  576. package/lib/components/molecules/refresher/types.d.ts +0 -86
  577. package/lib/components/molecules/searchbar/searchbar.component.d.ts +0 -43
  578. package/lib/components/molecules/searchbar/types.d.ts +0 -33
  579. package/lib/components/molecules/segment-control/segment-control.component.d.ts +0 -35
  580. package/lib/components/molecules/segment-control/types.d.ts +0 -46
  581. package/lib/components/molecules/select-input/select-input.component.d.ts +0 -57
  582. package/lib/components/molecules/select-search/select-search.component.d.ts +0 -78
  583. package/lib/components/molecules/share-buttons/share-buttons.component.d.ts +0 -22
  584. package/lib/components/molecules/share-buttons/types.d.ts +0 -108
  585. package/lib/components/molecules/stats-card/stats-card.component.d.ts +0 -20
  586. package/lib/components/molecules/stats-card/types.d.ts +0 -60
  587. package/lib/components/molecules/stepper/stepper.component.d.ts +0 -31
  588. package/lib/components/molecules/stepper/types.d.ts +0 -66
  589. package/lib/components/molecules/swipe-carousel/swipe-carousel.component.d.ts +0 -66
  590. package/lib/components/molecules/swipe-carousel/types.d.ts +0 -35
  591. package/lib/components/molecules/tabs/tabs.component.d.ts +0 -34
  592. package/lib/components/molecules/tabs/types.d.ts +0 -45
  593. package/lib/components/molecules/testimonial-card/testimonial-card.component.d.ts +0 -41
  594. package/lib/components/molecules/testimonial-card/types.d.ts +0 -25
  595. package/lib/components/molecules/text-input/text-input.component.d.ts +0 -42
  596. package/lib/components/molecules/textarea-input/textarea-input.component.d.ts +0 -46
  597. package/lib/components/molecules/textarea-input/types.d.ts +0 -74
  598. package/lib/components/molecules/timeline/timeline.component.d.ts +0 -14
  599. package/lib/components/molecules/timeline/types.d.ts +0 -39
  600. package/lib/components/molecules/title-block/title-block.component.d.ts +0 -12
  601. package/lib/components/molecules/title-block/types.d.ts +0 -15
  602. package/lib/components/molecules/toggle-input/toggle-input.component.d.ts +0 -39
  603. package/lib/components/molecules/toggle-input/types.d.ts +0 -30
  604. package/lib/components/molecules/update-banner/types.d.ts +0 -41
  605. package/lib/components/molecules/update-banner/update-banner.component.d.ts +0 -48
  606. package/lib/components/molecules/username-input/types.d.ts +0 -36
  607. package/lib/components/molecules/username-input/username-input.component.d.ts +0 -58
  608. package/lib/components/organisms/article/article.component.d.ts +0 -108
  609. package/lib/components/organisms/article/types.d.ts +0 -367
  610. package/lib/components/organisms/avatar-upload/avatar-upload.component.d.ts +0 -84
  611. package/lib/components/organisms/avatar-upload/types.d.ts +0 -62
  612. package/lib/components/organisms/banner/banner.component.d.ts +0 -16
  613. package/lib/components/organisms/banner/types.d.ts +0 -29
  614. package/lib/components/organisms/bottom-nav/bottom-nav.component.d.ts +0 -91
  615. package/lib/components/organisms/bottom-nav/types.d.ts +0 -120
  616. package/lib/components/organisms/cards-carousel/cards-carousel.component.d.ts +0 -36
  617. package/lib/components/organisms/cards-carousel/types.d.ts +0 -40
  618. package/lib/components/organisms/comment-section/comment-section.component.d.ts +0 -50
  619. package/lib/components/organisms/comment-section/types.d.ts +0 -144
  620. package/lib/components/organisms/company-footer/company-footer.component.d.ts +0 -37
  621. package/lib/components/organisms/company-footer/types.d.ts +0 -15
  622. package/lib/components/organisms/cookie-banner/cookie-banner.component.d.ts +0 -36
  623. package/lib/components/organisms/cookie-banner/types.d.ts +0 -62
  624. package/lib/components/organisms/data-table/data-table.component.d.ts +0 -63
  625. package/lib/components/organisms/data-table/types.d.ts +0 -219
  626. package/lib/components/organisms/docs-sidebar/docs-sidebar.component.d.ts +0 -51
  627. package/lib/components/organisms/docs-sidebar/types.d.ts +0 -93
  628. package/lib/components/organisms/docs-toc/docs-toc.component.d.ts +0 -62
  629. package/lib/components/organisms/docs-toc/types.d.ts +0 -62
  630. package/lib/components/organisms/faq/faq.component.d.ts +0 -46
  631. package/lib/components/organisms/faq/types.d.ts +0 -53
  632. package/lib/components/organisms/footer/footer.component.d.ts +0 -36
  633. package/lib/components/organisms/footer/types.d.ts +0 -16
  634. package/lib/components/organisms/form/factory.d.ts +0 -17
  635. package/lib/components/organisms/form/form-footer/form-footer.component.d.ts +0 -17
  636. package/lib/components/organisms/form/form.component.d.ts +0 -72
  637. package/lib/components/organisms/fun-header/fun-header.component.d.ts +0 -72
  638. package/lib/components/organisms/fun-header/types.d.ts +0 -28
  639. package/lib/components/organisms/header/header.component.d.ts +0 -22
  640. package/lib/components/organisms/header/types.d.ts +0 -16
  641. package/lib/components/organisms/infinite-list/infinite-list.component.d.ts +0 -113
  642. package/lib/components/organisms/infinite-list/types.d.ts +0 -197
  643. package/lib/components/organisms/item-list/item-list.component.d.ts +0 -43
  644. package/lib/components/organisms/item-list/types.d.ts +0 -126
  645. package/lib/components/organisms/login/login.component.d.ts +0 -79
  646. package/lib/components/organisms/login/types.d.ts +0 -70
  647. package/lib/components/organisms/menu/menu.component.d.ts +0 -44
  648. package/lib/components/organisms/menu/types.d.ts +0 -23
  649. package/lib/components/organisms/no-content/no-content.component.d.ts +0 -14
  650. package/lib/components/organisms/no-content/types.d.ts +0 -17
  651. package/lib/components/organisms/rotating-text/rotating-text.component.d.ts +0 -47
  652. package/lib/components/organisms/rotating-text/types.d.ts +0 -28
  653. package/lib/components/organisms/skeleton-layout/skeleton-layout.component.d.ts +0 -37
  654. package/lib/components/organisms/skeleton-layout/types.d.ts +0 -50
  655. package/lib/components/organisms/tabbed-content/tabbed-content.component.d.ts +0 -65
  656. package/lib/components/organisms/tabbed-content/types.d.ts +0 -53
  657. package/lib/components/organisms/terminal-404/terminal-404.component.d.ts +0 -42
  658. package/lib/components/organisms/terminal-404/types.d.ts +0 -22
  659. package/lib/components/organisms/testimonial-carousel/testimonial-carousel.component.d.ts +0 -33
  660. package/lib/components/organisms/testimonial-carousel/types.d.ts +0 -8
  661. package/lib/components/organisms/toolbar/toolbar.component.d.ts +0 -85
  662. package/lib/components/organisms/toolbar/types.d.ts +0 -31
  663. package/lib/components/organisms/wizard/types.d.ts +0 -42
  664. package/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.d.ts +0 -23
  665. package/lib/components/organisms/wizard/wizard.component.d.ts +0 -27
  666. package/lib/components/templates/auth-background/auth-background.component.d.ts +0 -62
  667. package/lib/components/templates/auth-background/types.d.ts +0 -30
  668. package/lib/components/templates/docs-layout/docs-layout.component.d.ts +0 -42
  669. package/lib/components/templates/docs-layout/types.d.ts +0 -39
  670. package/lib/components/templates/docs-page/docs-page.component.d.ts +0 -61
  671. package/lib/components/templates/docs-page/types.d.ts +0 -121
  672. package/lib/components/templates/docs-shell/docs-shell.component.d.ts +0 -33
  673. package/lib/components/templates/docs-shell/types.d.ts +0 -152
  674. package/lib/components/templates/maintenance-page/maintenance-page.component.d.ts +0 -57
  675. package/lib/components/templates/maintenance-page/types.d.ts +0 -12
  676. package/lib/components/templates/page-content/page-content.component.d.ts +0 -107
  677. package/lib/components/templates/page-content/types.d.ts +0 -27
  678. package/lib/components/templates/page-template/page-template.component.d.ts +0 -54
  679. package/lib/components/templates/page-template/types.d.ts +0 -17
  680. package/lib/components/templates/page-wrapper/page-wrapper.component.d.ts +0 -99
  681. package/lib/components/templates/page-wrapper/types.d.ts +0 -26
  682. package/lib/components/templates/simple/simple.component.d.ts +0 -14
  683. package/lib/components/templates/simple/types.d.ts +0 -10
  684. package/lib/components/types.d.ts +0 -304
  685. package/lib/config/company-footer.config.d.ts +0 -118
  686. package/lib/config/index.d.ts +0 -4
  687. package/lib/services/ads/ads-loader.service.d.ts +0 -41
  688. package/lib/services/ads/ads.service.d.ts +0 -99
  689. package/lib/services/ads/config.d.ts +0 -53
  690. package/lib/services/ads/index.d.ts +0 -9
  691. package/lib/services/ads/types.d.ts +0 -106
  692. package/lib/services/app-config/app-config.service.d.ts +0 -115
  693. package/lib/services/app-config/config.d.ts +0 -31
  694. package/lib/services/app-config/index.d.ts +0 -47
  695. package/lib/services/app-config/types.d.ts +0 -54
  696. package/lib/services/app-config/version.d.ts +0 -64
  697. package/lib/services/app-version/app-version.service.d.ts +0 -64
  698. package/lib/services/app-version/config.d.ts +0 -35
  699. package/lib/services/app-version/index.d.ts +0 -23
  700. package/lib/services/app-version/types.d.ts +0 -35
  701. package/lib/services/auth/auth-state.service.d.ts +0 -106
  702. package/lib/services/auth/auth.service.d.ts +0 -429
  703. package/lib/services/auth/config.d.ts +0 -38
  704. package/lib/services/auth/device.service.d.ts +0 -101
  705. package/lib/services/auth/guards.d.ts +0 -126
  706. package/lib/services/auth/handoff.service.d.ts +0 -159
  707. package/lib/services/auth/index.d.ts +0 -89
  708. package/lib/services/auth/interceptor.d.ts +0 -22
  709. package/lib/services/auth/notification-action.service.d.ts +0 -34
  710. package/lib/services/auth/oauth-callback.component.d.ts +0 -34
  711. package/lib/services/auth/oauth.service.d.ts +0 -99
  712. package/lib/services/auth/org-switch.service.d.ts +0 -127
  713. package/lib/services/auth/session.service.d.ts +0 -60
  714. package/lib/services/auth/storage.service.d.ts +0 -52
  715. package/lib/services/auth/sync.service.d.ts +0 -49
  716. package/lib/services/auth/token.service.d.ts +0 -57
  717. package/lib/services/auth/types.d.ts +0 -862
  718. package/lib/services/confirmation-dialog/confirmation-dialog.service.d.ts +0 -71
  719. package/lib/services/confirmation-dialog/types.d.ts +0 -61
  720. package/lib/services/content/content-types/blog.d.ts +0 -148
  721. package/lib/services/content/content-types/documentation.d.ts +0 -183
  722. package/lib/services/content/content-types/news.d.ts +0 -162
  723. package/lib/services/content/index.d.ts +0 -49
  724. package/lib/services/content/transformer.d.ts +0 -96
  725. package/lib/services/content/types.d.ts +0 -220
  726. package/lib/services/docs/docs-navigation.service.d.ts +0 -51
  727. package/lib/services/donation/config.d.ts +0 -33
  728. package/lib/services/donation/donation.service.d.ts +0 -54
  729. package/lib/services/donation/index.d.ts +0 -25
  730. package/lib/services/donation/types.d.ts +0 -85
  731. package/lib/services/download.service.d.ts +0 -21
  732. package/lib/services/feedback/config.d.ts +0 -35
  733. package/lib/services/feedback/feedback.service.d.ts +0 -134
  734. package/lib/services/feedback/index.d.ts +0 -40
  735. package/lib/services/feedback/types.d.ts +0 -173
  736. package/lib/services/firebase/analytics-error-handler.d.ts +0 -54
  737. package/lib/services/firebase/analytics-router-tracker.d.ts +0 -51
  738. package/lib/services/firebase/analytics-types.d.ts +0 -221
  739. package/lib/services/firebase/analytics.service.d.ts +0 -256
  740. package/lib/services/firebase/config.d.ts +0 -49
  741. package/lib/services/firebase/firebase.service.d.ts +0 -303
  742. package/lib/services/firebase/firestore-collection.d.ts +0 -199
  743. package/lib/services/firebase/firestore.service.d.ts +0 -335
  744. package/lib/services/firebase/index.d.ts +0 -44
  745. package/lib/services/firebase/messaging.service.d.ts +0 -341
  746. package/lib/services/firebase/notifications.service.d.ts +0 -158
  747. package/lib/services/firebase/shared-config.d.ts +0 -151
  748. package/lib/services/firebase/storage.service.d.ts +0 -238
  749. package/lib/services/firebase/types.d.ts +0 -374
  750. package/lib/services/firebase/utils/path-builder.d.ts +0 -132
  751. package/lib/services/firebase/utils/query-builder.d.ts +0 -210
  752. package/lib/services/i18n/config.d.ts +0 -29
  753. package/lib/services/i18n/default-content.d.ts +0 -30
  754. package/lib/services/i18n/i18n.service.d.ts +0 -128
  755. package/lib/services/i18n/index.d.ts +0 -6
  756. package/lib/services/i18n/input-i18n.helper.d.ts +0 -70
  757. package/lib/services/i18n/translate.pipe.d.ts +0 -36
  758. package/lib/services/i18n/types.d.ts +0 -93
  759. package/lib/services/icons.service.d.ts +0 -9
  760. package/lib/services/image/image.service.d.ts +0 -76
  761. package/lib/services/image/index.d.ts +0 -2
  762. package/lib/services/image/types.d.ts +0 -74
  763. package/lib/services/in-app-browser.service.d.ts +0 -16
  764. package/lib/services/legal-link/legal-link.service.d.ts +0 -73
  765. package/lib/services/link-processor.service.d.ts +0 -104
  766. package/lib/services/local-storage.service.d.ts +0 -27
  767. package/lib/services/locale.service.d.ts +0 -52
  768. package/lib/services/markdown-article/legal-content.service.d.ts +0 -73
  769. package/lib/services/markdown-article/markdown-article-parser.d.ts +0 -38
  770. package/lib/services/markdown-article/markdown-article-parser.service.d.ts +0 -12
  771. package/lib/services/meta/index.d.ts +0 -2
  772. package/lib/services/meta/meta.service.d.ts +0 -23
  773. package/lib/services/meta/types.d.ts +0 -12
  774. package/lib/services/modal/modal.service.d.ts +0 -100
  775. package/lib/services/modal/simple-modal-content.component.d.ts +0 -19
  776. package/lib/services/modal/types.d.ts +0 -155
  777. package/lib/services/navigation/index.d.ts +0 -2
  778. package/lib/services/navigation/navigation.service.d.ts +0 -134
  779. package/lib/services/navigation/types.d.ts +0 -67
  780. package/lib/services/page-refresh/page-refresh.service.d.ts +0 -86
  781. package/lib/services/pagination/index.d.ts +0 -2
  782. package/lib/services/pagination/pagination.service.d.ts +0 -43
  783. package/lib/services/pagination/types.d.ts +0 -113
  784. package/lib/services/preferences/index.d.ts +0 -2
  785. package/lib/services/preferences/preferences.service.d.ts +0 -61
  786. package/lib/services/preferences/preferences.types.d.ts +0 -35
  787. package/lib/services/presets/config.d.ts +0 -32
  788. package/lib/services/presets/index.d.ts +0 -3
  789. package/lib/services/presets/preset.service.d.ts +0 -69
  790. package/lib/services/presets/types.d.ts +0 -39
  791. package/lib/services/qr-generator/qr-generator.service.d.ts +0 -115
  792. package/lib/services/qr-generator/types.d.ts +0 -141
  793. package/lib/services/refreshable-stream/index.d.ts +0 -7
  794. package/lib/services/refreshable-stream/refreshable-stream.d.ts +0 -113
  795. package/lib/services/skeleton/config.d.ts +0 -30
  796. package/lib/services/skeleton/directives/loading.directive.d.ts +0 -71
  797. package/lib/services/skeleton/index.d.ts +0 -10
  798. package/lib/services/skeleton/skeleton.service.d.ts +0 -127
  799. package/lib/services/skeleton/templates/detail-skeleton.component.d.ts +0 -18
  800. package/lib/services/skeleton/templates/form-skeleton.component.d.ts +0 -22
  801. package/lib/services/skeleton/templates/grid-skeleton.component.d.ts +0 -18
  802. package/lib/services/skeleton/templates/list-skeleton.component.d.ts +0 -17
  803. package/lib/services/skeleton/templates/profile-skeleton.component.d.ts +0 -20
  804. package/lib/services/skeleton/templates/table-skeleton.component.d.ts +0 -17
  805. package/lib/services/skeleton/types.d.ts +0 -111
  806. package/lib/services/theme.service.d.ts +0 -76
  807. package/lib/services/toast.service.d.ts +0 -28
  808. package/lib/services/types.d.ts +0 -1
  809. package/lib/shared/constants/storage.d.ts +0 -2
  810. package/lib/shared/pipes/process-links.pipe.d.ts +0 -55
  811. package/lib/shared/utils/datetime.d.ts +0 -21
  812. package/lib/shared/utils/dom.d.ts +0 -13
  813. package/lib/shared/utils/form-defaults.d.ts +0 -30
  814. package/lib/shared/utils/styles.d.ts +0 -13
  815. package/lib/shared/utils/text.d.ts +0 -11
  816. package/lib/version.d.ts +0 -5
  817. package/public-api.d.ts +0 -316
@@ -1,341 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import QRCodeStyling from 'qr-code-styling';
3
- import { QR_PRESETS, } from './types';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * QrGeneratorService
7
- *
8
- * A comprehensive service for generating, customizing, and manipulating QR codes.
9
- * Uses qr-code-styling library for high-quality, customizable QR code generation.
10
- *
11
- * @example Basic usage
12
- * ```typescript
13
- * const qr = await this.qrService.generate({ data: 'https://example.com' });
14
- * console.log(qr.dataUrl); // base64 image
15
- * ```
16
- *
17
- * @example With customization
18
- * ```typescript
19
- * const qr = await this.qrService.generate({
20
- * data: 'https://example.com',
21
- * width: 400,
22
- * dotsStyle: 'rounded',
23
- * dotsColor: '#3880ff',
24
- * logo: { src: 'logo.png', width: 60 }
25
- * });
26
- * ```
27
- *
28
- * @example Using presets
29
- * ```typescript
30
- * const qr = await this.qrService.generateFromPreset('modern', 'https://example.com');
31
- * ```
32
- */
33
- export class QrGeneratorService {
34
- /**
35
- * Generate a QR code with the given configuration.
36
- *
37
- * @param config - QR code configuration
38
- * @returns Promise<QrResult> - Generated QR code result
39
- *
40
- * @example
41
- * ```typescript
42
- * const qr = await this.qrService.generate({
43
- * data: 'https://myapp.com/product/123',
44
- * width: 300,
45
- * dotsStyle: 'rounded',
46
- * dotsColor: '#000000',
47
- * backgroundColor: '#ffffff'
48
- * });
49
- * ```
50
- */
51
- async generate(config) {
52
- // Merge with defaults
53
- const finalConfig = {
54
- width: 300,
55
- height: config.height || config.width || 300,
56
- margin: 0,
57
- dotsStyle: 'square',
58
- dotsColor: '#000000',
59
- backgroundColor: '#ffffff',
60
- errorCorrectionLevel: 'M',
61
- format: 'png',
62
- quality: 1,
63
- ...config,
64
- };
65
- // Build qr-code-styling options
66
- const qrOptions = {
67
- width: finalConfig.width,
68
- height: finalConfig.height,
69
- data: finalConfig.data,
70
- margin: finalConfig.margin,
71
- qrOptions: {
72
- errorCorrectionLevel: finalConfig.errorCorrectionLevel,
73
- },
74
- dotsOptions: {
75
- type: finalConfig.dotsStyle,
76
- ...this.buildColorOptions(finalConfig.dotsColor),
77
- },
78
- backgroundOptions: {
79
- ...this.buildColorOptions(finalConfig.backgroundColor),
80
- },
81
- cornersSquareOptions: finalConfig.cornersSquareColor || finalConfig.cornersSquareStyle
82
- ? {
83
- type: finalConfig.cornersSquareStyle,
84
- ...this.buildColorOptions(finalConfig.cornersSquareColor || finalConfig.dotsColor),
85
- }
86
- : undefined,
87
- cornersDotOptions: finalConfig.cornersDotColor || finalConfig.cornersDotStyle
88
- ? {
89
- type: finalConfig.cornersDotStyle,
90
- ...this.buildColorOptions(finalConfig.cornersDotColor || finalConfig.dotsColor),
91
- }
92
- : undefined,
93
- };
94
- // Add logo if provided
95
- if (finalConfig.logo) {
96
- qrOptions.image = finalConfig.logo.src;
97
- qrOptions.imageOptions = {
98
- hideBackgroundDots: finalConfig.logo.hideBackgroundDots ?? true,
99
- imageSize: 0.4,
100
- margin: finalConfig.logo.margin ?? 5,
101
- crossOrigin: 'anonymous',
102
- };
103
- }
104
- // Create QR code instance
105
- const qrCode = new QRCodeStyling(qrOptions);
106
- // Generate blob
107
- const format = finalConfig.format || 'png';
108
- const mimeType = this.getMimeType(format);
109
- const extension = format === 'jpeg' ? 'jpg' : format;
110
- let blob;
111
- let svg;
112
- let dataUrl;
113
- if (format === 'svg') {
114
- // Get SVG data
115
- const svgData = await qrCode.getRawData('svg');
116
- if (!svgData) {
117
- throw new Error('Failed to generate SVG');
118
- }
119
- blob = svgData;
120
- svg = await blob.text();
121
- dataUrl = `data:${mimeType};base64,${btoa(svg)}`;
122
- }
123
- else {
124
- // Get image blob
125
- const imageBlob = await qrCode.getRawData(format);
126
- if (!imageBlob) {
127
- throw new Error('Failed to generate image');
128
- }
129
- blob = imageBlob;
130
- dataUrl = await this.blobToDataUrl(blob);
131
- }
132
- return {
133
- config: finalConfig,
134
- dataUrl,
135
- blob,
136
- svg,
137
- mimeType,
138
- extension,
139
- generatedAt: new Date(),
140
- };
141
- }
142
- /**
143
- * Generate a QR code using a preset configuration.
144
- *
145
- * @param preset - Preset name ('default', 'rounded', 'dots', 'classy', 'modern')
146
- * @param data - Data to encode
147
- * @param overrides - Optional configuration overrides
148
- * @returns Promise<QrResult>
149
- */
150
- async generateFromPreset(preset, data, overrides) {
151
- const presetConfig = QR_PRESETS[preset] || QR_PRESETS['default'];
152
- return this.generate({
153
- ...presetConfig,
154
- ...overrides,
155
- data,
156
- });
157
- }
158
- /**
159
- * Download the QR code as a file.
160
- *
161
- * @param qr - QR result to download
162
- * @param options - Download options
163
- */
164
- async download(qr, options) {
165
- const filename = options?.filename || `qr-code-${Date.now()}`;
166
- const format = options?.format || qr.config.format || 'png';
167
- const extension = format === 'jpeg' ? 'jpg' : format;
168
- let blob = qr.blob;
169
- // Convert if different format requested
170
- if (options?.format && options.format !== qr.config.format) {
171
- const newQr = await this.generate({
172
- ...qr.config,
173
- format: options.format,
174
- });
175
- blob = newQr.blob;
176
- }
177
- // Create download link
178
- const url = URL.createObjectURL(blob);
179
- const link = document.createElement('a');
180
- link.href = url;
181
- link.download = `${filename}.${extension}`;
182
- document.body.appendChild(link);
183
- link.click();
184
- document.body.removeChild(link);
185
- URL.revokeObjectURL(url);
186
- }
187
- /**
188
- * Copy the QR code to clipboard as an image.
189
- *
190
- * @param qr - QR result to copy
191
- * @returns Promise<boolean> - Whether copy was successful
192
- */
193
- async copyToClipboard(qr) {
194
- try {
195
- // Clipboard API requires PNG format
196
- let pngBlob = qr.blob;
197
- if (qr.mimeType !== 'image/png') {
198
- const pngQr = await this.generate({
199
- ...qr.config,
200
- format: 'png',
201
- });
202
- pngBlob = pngQr.blob;
203
- }
204
- await navigator.clipboard.write([
205
- new ClipboardItem({
206
- 'image/png': pngBlob,
207
- }),
208
- ]);
209
- return true;
210
- }
211
- catch (error) {
212
- console.error('Failed to copy QR to clipboard:', error);
213
- return false;
214
- }
215
- }
216
- /**
217
- * Share the QR code using Web Share API.
218
- *
219
- * @param qr - QR result to share
220
- * @param options - Share options
221
- * @returns Promise<boolean> - Whether share was successful
222
- */
223
- async share(qr, options) {
224
- if (!navigator.share || !navigator.canShare) {
225
- console.warn('Web Share API not available');
226
- return false;
227
- }
228
- try {
229
- const filename = options?.filename || `qr-code-${Date.now()}.${qr.extension}`;
230
- const file = new File([qr.blob], filename, { type: qr.mimeType });
231
- const shareData = {
232
- title: options?.title || 'QR Code',
233
- text: options?.text,
234
- files: [file],
235
- };
236
- if (navigator.canShare(shareData)) {
237
- await navigator.share(shareData);
238
- return true;
239
- }
240
- // Fallback without file
241
- await navigator.share({
242
- title: options?.title || 'QR Code',
243
- text: options?.text,
244
- });
245
- return true;
246
- }
247
- catch (error) {
248
- if (error.name !== 'AbortError') {
249
- console.error('Failed to share QR:', error);
250
- }
251
- return false;
252
- }
253
- }
254
- /**
255
- * Get the QR code as a base64 string (without data URL prefix).
256
- *
257
- * @param qr - QR result
258
- * @returns Base64 string
259
- */
260
- toBase64(qr) {
261
- const prefix = `data:${qr.mimeType};base64,`;
262
- if (qr.dataUrl.startsWith(prefix)) {
263
- return qr.dataUrl.substring(prefix.length);
264
- }
265
- return qr.dataUrl;
266
- }
267
- /**
268
- * Get the QR code as a data URL.
269
- *
270
- * @param qr - QR result
271
- * @returns Data URL string
272
- */
273
- toDataUrl(qr) {
274
- return qr.dataUrl;
275
- }
276
- /**
277
- * Get the QR code as a Blob.
278
- *
279
- * @param qr - QR result
280
- * @returns Blob
281
- */
282
- toBlob(qr) {
283
- return qr.blob;
284
- }
285
- /**
286
- * Check if Web Share API is available.
287
- */
288
- canShare() {
289
- return !!(navigator.share && navigator.canShare);
290
- }
291
- /**
292
- * Check if Clipboard API is available for images.
293
- */
294
- canCopyToClipboard() {
295
- return !!(navigator.clipboard && navigator.clipboard.write);
296
- }
297
- // === Private Helpers ===
298
- buildColorOptions(color) {
299
- if (!color) {
300
- return {};
301
- }
302
- if (typeof color === 'string') {
303
- return { color };
304
- }
305
- // Gradient
306
- const gradient = color;
307
- return {
308
- gradient: {
309
- type: gradient.type,
310
- rotation: gradient.rotation || 0,
311
- colorStops: gradient.colorStops,
312
- },
313
- };
314
- }
315
- getMimeType(format) {
316
- const mimeTypes = {
317
- png: 'image/png',
318
- jpeg: 'image/jpeg',
319
- webp: 'image/webp',
320
- svg: 'image/svg+xml',
321
- };
322
- return mimeTypes[format] || 'image/png';
323
- }
324
- blobToDataUrl(blob) {
325
- return new Promise((resolve, reject) => {
326
- const reader = new FileReader();
327
- reader.onloadend = () => resolve(reader.result);
328
- reader.onerror = reject;
329
- reader.readAsDataURL(blob);
330
- });
331
- }
332
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: QrGeneratorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
333
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: QrGeneratorService, providedIn: 'root' }); }
334
- }
335
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: QrGeneratorService, decorators: [{
336
- type: Injectable,
337
- args: [{
338
- providedIn: 'root',
339
- }]
340
- }] });
341
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXItZ2VuZXJhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3FyLWdlbmVyYXRvci9xci1nZW5lcmF0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sYUFBYSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFPTCxVQUFVLEdBQ1gsTUFBTSxTQUFTLENBQUM7O0FBRWpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQkc7QUFJSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7Ozs7Ozs7Ozs7Ozs7O09BZ0JHO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFnQjtRQUU3QixzQkFBc0I7UUFDdEIsTUFBTSxXQUFXLEdBQWE7WUFDNUIsS0FBSyxFQUFFLEdBQUc7WUFDVixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxJQUFJLEdBQUc7WUFDNUMsTUFBTSxFQUFFLENBQUM7WUFDVCxTQUFTLEVBQUUsUUFBUTtZQUNuQixTQUFTLEVBQUUsU0FBUztZQUNwQixlQUFlLEVBQUUsU0FBUztZQUMxQixvQkFBb0IsRUFBRSxHQUFHO1lBQ3pCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsT0FBTyxFQUFFLENBQUM7WUFDVixHQUFHLE1BQU07U0FDVixDQUFDO1FBRUYsZ0NBQWdDO1FBQ2hDLE1BQU0sU0FBUyxHQUFRO1lBQ3JCLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSztZQUN4QixNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU07WUFDMUIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJO1lBQ3RCLE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTTtZQUMxQixTQUFTLEVBQUU7Z0JBQ1Qsb0JBQW9CLEVBQUUsV0FBVyxDQUFDLG9CQUFvQjth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QUFDLENBQUM7SUFDTCxDQUFDOytHQTdVVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFFSQ29kZVN0eWxpbmcgZnJvbSAncXItY29kZS1zdHlsaW5nJztcbmltcG9ydCB7XG4gIFFyQ29uZmlnLFxuICBRclJlc3VsdCxcbiAgUXJEb3dubG9hZE9wdGlvbnMsXG4gIFFyU2hhcmVPcHRpb25zLFxuICBRckNvbG9yQ29uZmlnLFxuICBRckdyYWRpZW50LFxuICBRUl9QUkVTRVRTLFxufSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBRckdlbmVyYXRvclNlcnZpY2VcbiAqXG4gKiBBIGNvbXByZWhlbnNpdmUgc2VydmljZSBmb3IgZ2VuZXJhdGluZywgY3VzdG9taXppbmcsIGFuZCBtYW5pcHVsYXRpbmcgUVIgY29kZXMuXG4gKiBVc2VzIHFyLWNvZGUtc3R5bGluZyBsaWJyYXJ5IGZvciBoaWdoLXF1YWxpdHksIGN1c3RvbWl6YWJsZSBRUiBjb2RlIGdlbmVyYXRpb24uXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgdXNhZ2VcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHFyID0gYXdhaXQgdGhpcy5xclNlcnZpY2UuZ2VuZXJhdGUoeyBkYXRhOiAnaHR0cHM6Ly9leGFtcGxlLmNvbScgfSk7XG4gKiBjb25zb2xlLmxvZyhxci5kYXRhVXJsKTsgLy8gYmFzZTY0IGltYWdlXG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBXaXRoIGN1c3RvbWl6YXRpb25cbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHFyID0gYXdhaXQgdGhpcy5xclNlcnZpY2UuZ2VuZXJhdGUoe1xuICogICBkYXRhOiAnaHR0cHM6Ly9leGFtcGxlLmNvbScsXG4gKiAgIHdpZHRoOiA0MDAsXG4gKiAgIGRvdHNTdHlsZTogJ3JvdW5kZWQnLFxuICogICBkb3RzQ29sb3I6ICcjMzg4MGZmJyxcbiAqICAgbG9nbzogeyBzcmM6ICdsb2dvLnBuZycsIHdpZHRoOiA2MCB9XG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFVzaW5nIHByZXNldHNcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHFyID0gYXdhaXQgdGhpcy5xclNlcnZpY2UuZ2VuZXJhdGVGcm9tUHJlc2V0KCdtb2Rlcm4nLCAnaHR0cHM6Ly9leGFtcGxlLmNvbScpO1xuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBRckdlbmVyYXRvclNlcnZpY2Uge1xuICAvKipcbiAgICogR2VuZXJhdGUgYSBRUiBjb2RlIHdpdGggdGhlIGdpdmVuIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgLSBRUiBjb2RlIGNvbmZpZ3VyYXRpb25cbiAgICogQHJldHVybnMgUHJvbWlzZTxRclJlc3VsdD4gLSBHZW5lcmF0ZWQgUVIgY29kZSByZXN1bHRcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCBxciA9IGF3YWl0IHRoaXMucXJTZXJ2aWNlLmdlbmVyYXRlKHtcbiAgICogICBkYXRhOiAnaHR0cHM6Ly9teWFwcC5jb20vcHJvZHVjdC8xMjMnLFxuICAgKiAgIHdpZHRoOiAzMDAsXG4gICAqICAgZG90c1N0eWxlOiAncm91bmRlZCcsXG4gICAqICAgZG90c0NvbG9yOiAnIzAwMDAwMCcsXG4gICAqICAgYmFja2dyb3VuZENvbG9yOiAnI2ZmZmZmZidcbiAgICogfSk7XG4gICAqIGBgYFxuICAgKi9cbiAgYXN5bmMgZ2VuZXJhdGUoY29uZmlnOiBRckNvbmZpZyk6IFByb21pc2U8UXJSZXN1bHQ+IHtcblxuICAgIC8vIE1lcmdlIHdpdGggZGVmYXVsdHNcbiAgICBjb25zdCBmaW5hbENvbmZpZzogUXJDb25maWcgPSB7XG4gICAgICB3aWR0aDogMzAwLFxuICAgICAgaGVpZ2h0OiBjb25maWcuaGVpZ2h0IHx8IGNvbmZpZy53aWR0aCB8fCAzMDAsXG4gICAgICBtYXJnaW46IDAsXG4gICAgICBkb3RzU3R5bGU6ICdzcXVhcmUnLFxuICAgICAgZG90c0NvbG9yOiAnIzAwMDAwMCcsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZmZmZmZmJyxcbiAgICAgIGVycm9yQ29ycmVjdGlvbkxldmVsOiAnTScsXG4gICAgICBmb3JtYXQ6ICdwbmcnLFxuICAgICAgcXVhbGl0eTogMSxcbiAgICAgIC4uLmNvbmZpZyxcbiAgICB9O1xuXG4gICAgLy8gQnVpbGQgcXItY29kZS1zdHlsaW5nIG9wdGlvbnNcbiAgICBjb25zdCBxck9wdGlvbnM6IGFueSA9IHtcbiAgICAgIHdpZHRoOiBmaW5hbENvbmZpZy53aWR0aCxcbiAgICAgIGhlaWdodDogZmluYWxDb25maWcuaGVpZ2h0LFxuICAgICAgZGF0YTogZmluYWxDb25maWcuZGF0YSxcbiAgICAgIG1hcmdpbjogZmluYWxDb25maWcubWFyZ2luLFxuICAgICAgcXJPcHRpb25zOiB7XG4gICAgICAgIGVycm9yQ29ycmVjdGlvbkxldmVsOiBmaW5hbENvbmZpZy5lcnJvckNvcnJlY3Rpb25MZXZlbCxcbiAgICAgIH0sXG4gICAgICBkb3RzT3B0aW9uczoge1xuICAgICAgICB0eXBlOiBmaW5hbENvbmZpZy5kb3RzU3R5bGUsXG4gICAgICAgIC4uLnRoaXMuYnVpbGRDb2xvck9wdGlvbnMoZmluYWxDb25maWcuZG90c0NvbG9yKSxcbiAgICAgIH0sXG4gICAgICBiYWNrZ3JvdW5kT3B0aW9uczoge1xuICAgICAgICAuLi50aGlzLmJ1aWxkQ29sb3JPcHRpb25zKGZpbmFsQ29uZmlnLmJhY2tncm91bmRDb2xvciksXG4gICAgICB9LFxuICAgICAgY29ybmVyc1NxdWFyZU9wdGlvbnM6IGZpbmFsQ29uZmlnLmNvcm5lcnNTcXVhcmVDb2xvciB8fCBmaW5hbENvbmZpZy5jb3JuZXJzU3F1YXJlU3R5bGVcbiAgICAgICAgPyB7XG4gICAgICAgICAgICB0eXBlOiBmaW5hbENvbmZpZy5jb3JuZXJzU3F1YXJlU3R5bGUsXG4gICAgICAgICAgICAuLi50aGlzLmJ1aWxkQ29sb3JPcHRpb25zKGZpbmFsQ29uZmlnLmNvcm5lcnNTcXVhcmVDb2xvciB8fCBmaW5hbENvbmZpZy5kb3RzQ29sb3IpLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBjb3JuZXJzRG90T3B0aW9uczogZmluYWxDb25maWcuY29ybmVyc0RvdENvbG9yIHx8IGZpbmFsQ29uZmlnLmNvcm5lcnNEb3RTdHlsZVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIHR5cGU6IGZpbmFsQ29uZmlnLmNvcm5lcnNEb3RTdHlsZSxcbiAgICAgICAgICAgIC4uLnRoaXMuYnVpbGRDb2xvck9wdGlvbnMoZmluYWxDb25maWcuY29ybmVyc0RvdENvbG9yIHx8IGZpbmFsQ29uZmlnLmRvdHNDb2xvciksXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9O1xuXG4gICAgLy8gQWRkIGxvZ28gaWYgcHJvdmlkZWRcbiAgICBpZiAoZmluYWxDb25maWcubG9nbykge1xuICAgICAgcXJPcHRpb25zLmltYWdlID0gZmluYWxDb25maWcubG9nby5zcmM7XG4gICAgICBxck9wdGlvbnMuaW1hZ2VPcHRpb25zID0ge1xuICAgICAgICBoaWRlQmFja2dyb3VuZERvdHM6IGZpbmFsQ29uZmlnLmxvZ28uaGlkZUJhY2tncm91bmREb3RzID8/IHRydWUsXG4gICAgICAgIGltYWdlU2l6ZTogMC40LFxuICAgICAgICBtYXJnaW46IGZpbmFsQ29uZmlnLmxvZ28ubWFyZ2luID8/IDUsXG4gICAgICAgIGNyb3NzT3JpZ2luOiAnYW5vbnltb3VzJyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIFFSIGNvZGUgaW5zdGFuY2VcbiAgICBjb25zdCBxckNvZGUgPSBuZXcgUVJDb2RlU3R5bGluZyhxck9wdGlvbnMpO1xuXG4gICAgLy8gR2VuZXJhdGUgYmxvYlxuICAgIGNvbnN0IGZvcm1hdCA9IGZpbmFsQ29uZmlnLmZvcm1hdCB8fCAncG5nJztcbiAgICBjb25zdCBtaW1lVHlwZSA9IHRoaXMuZ2V0TWltZVR5cGUoZm9ybWF0KTtcbiAgICBjb25zdCBleHRlbnNpb24gPSBmb3JtYXQgPT09ICdqcGVnJyA/ICdqcGcnIDogZm9ybWF0O1xuXG4gICAgbGV0IGJsb2I6IEJsb2I7XG4gICAgbGV0IHN2Zzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGxldCBkYXRhVXJsOiBzdHJpbmc7XG5cbiAgICBpZiAoZm9ybWF0ID09PSAnc3ZnJykge1xuICAgICAgLy8gR2V0IFNWRyBkYXRhXG4gICAgICBjb25zdCBzdmdEYXRhID0gYXdhaXQgcXJDb2RlLmdldFJhd0RhdGEoJ3N2ZycpO1xuICAgICAgaWYgKCFzdmdEYXRhKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGdlbmVyYXRlIFNWRycpO1xuICAgICAgfVxuICAgICAgYmxvYiA9IHN2Z0RhdGEgYXMgQmxvYjtcbiAgICAgIHN2ZyA9IGF3YWl0IGJsb2IudGV4dCgpO1xuICAgICAgZGF0YVVybCA9IGBkYXRhOiR7bWltZVR5cGV9O2Jhc2U2NCwke2J0b2Eoc3ZnKX1gO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBHZXQgaW1hZ2UgYmxvYlxuICAgICAgY29uc3QgaW1hZ2VCbG9iID0gYXdhaXQgcXJDb2RlLmdldFJhd0RhdGEoZm9ybWF0IGFzICdwbmcnIHwgJ2pwZWcnIHwgJ3dlYnAnKTtcbiAgICAgIGlmICghaW1hZ2VCbG9iKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGdlbmVyYXRlIGltYWdlJyk7XG4gICAgICB9XG4gICAgICBibG9iID0gaW1hZ2VCbG9iIGFzIEJsb2I7XG4gICAgICBkYXRhVXJsID0gYXdhaXQgdGhpcy5ibG9iVG9EYXRhVXJsKGJsb2IpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBjb25maWc6IGZpbmFsQ29uZmlnLFxuICAgICAgZGF0YVVybCxcbiAgICAgIGJsb2IsXG4gICAgICBzdmcsXG4gICAgICBtaW1lVHlwZSxcbiAgICAgIGV4dGVuc2lvbixcbiAgICAgIGdlbmVyYXRlZEF0OiBuZXcgRGF0ZSgpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBRUiBjb2RlIHVzaW5nIGEgcHJlc2V0IGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBwcmVzZXQgLSBQcmVzZXQgbmFtZSAoJ2RlZmF1bHQnLCAncm91bmRlZCcsICdkb3RzJywgJ2NsYXNzeScsICdtb2Rlcm4nKVxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgdG8gZW5jb2RlXG4gICAqIEBwYXJhbSBvdmVycmlkZXMgLSBPcHRpb25hbCBjb25maWd1cmF0aW9uIG92ZXJyaWRlc1xuICAgKiBAcmV0dXJucyBQcm9taXNlPFFyUmVzdWx0PlxuICAgKi9cbiAgYXN5bmMgZ2VuZXJhdGVGcm9tUHJlc2V0KFxuICAgIHByZXNldDoga2V5b2YgdHlwZW9mIFFSX1BSRVNFVFMgfCBzdHJpbmcsXG4gICAgZGF0YTogc3RyaW5nLFxuICAgIG92ZXJyaWRlcz86IFBhcnRpYWw8UXJDb25maWc+XG4gICk6IFByb21pc2U8UXJSZXN1bHQ+IHtcbiAgICBjb25zdCBwcmVzZXRDb25maWcgPSBRUl9QUkVTRVRTW3ByZXNldF0gfHwgUVJfUFJFU0VUU1snZGVmYXVsdCddO1xuICAgIHJldHVybiB0aGlzLmdlbmVyYXRlKHtcbiAgICAgIC4uLnByZXNldENvbmZpZyxcbiAgICAgIC4uLm92ZXJyaWRlcyxcbiAgICAgIGRhdGEsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRG93bmxvYWQgdGhlIFFSIGNvZGUgYXMgYSBmaWxlLlxuICAgKlxuICAgKiBAcGFyYW0gcXIgLSBRUiByZXN1bHQgdG8gZG93bmxvYWRcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBEb3dubG9hZCBvcHRpb25zXG4gICAqL1xuICBhc3luYyBkb3dubG9hZChxcjogUXJSZXN1bHQsIG9wdGlvbnM/OiBRckRvd25sb2FkT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZpbGVuYW1lID0gb3B0aW9ucz8uZmlsZW5hbWUgfHwgYHFyLWNvZGUtJHtEYXRlLm5vdygpfWA7XG4gICAgY29uc3QgZm9ybWF0ID0gb3B0aW9ucz8uZm9ybWF0IHx8IHFyLmNvbmZpZy5mb3JtYXQgfHwgJ3BuZyc7XG4gICAgY29uc3QgZXh0ZW5zaW9uID0gZm9ybWF0ID09PSAnanBlZycgPyAnanBnJyA6IGZvcm1hdDtcblxuICAgIGxldCBibG9iID0gcXIuYmxvYjtcblxuICAgIC8vIENvbnZlcnQgaWYgZGlmZmVyZW50IGZvcm1hdCByZXF1ZXN0ZWRcbiAgICBpZiAob3B0aW9ucz8uZm9ybWF0ICYmIG9wdGlvbnMuZm9ybWF0ICE9PSBxci5jb25maWcuZm9ybWF0KSB7XG4gICAgICBjb25zdCBuZXdRciA9IGF3YWl0IHRoaXMuZ2VuZXJhdGUoe1xuICAgICAgICAuLi5xci5jb25maWcsXG4gICAgICAgIGZvcm1hdDogb3B0aW9ucy5mb3JtYXQsXG4gICAgICB9KTtcbiAgICAgIGJsb2IgPSBuZXdRci5ibG9iO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBkb3dubG9hZCBsaW5rXG4gICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGxpbmsuaHJlZiA9IHVybDtcbiAgICBsaW5rLmRvd25sb2FkID0gYCR7ZmlsZW5hbWV9LiR7ZXh0ZW5zaW9ufWA7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcbiAgICBsaW5rLmNsaWNrKCk7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgICBVUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XG4gIH1cblxuICAvKipcbiAgICogQ29weSB0aGUgUVIgY29kZSB0byBjbGlwYm9hcmQgYXMgYW4gaW1hZ2UuXG4gICAqXG4gICAqIEBwYXJhbSBxciAtIFFSIHJlc3VsdCB0byBjb3B5XG4gICAqIEByZXR1cm5zIFByb21pc2U8Ym9vbGVhbj4gLSBXaGV0aGVyIGNvcHkgd2FzIHN1Y2Nlc3NmdWxcbiAgICovXG4gIGFzeW5jIGNvcHlUb0NsaXBib2FyZChxcjogUXJSZXN1bHQpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0cnkge1xuICAgICAgLy8gQ2xpcGJvYXJkIEFQSSByZXF1aXJlcyBQTkcgZm9ybWF0XG4gICAgICBsZXQgcG5nQmxvYiA9IHFyLmJsb2I7XG5cbiAgICAgIGlmIChxci5taW1lVHlwZSAhPT0gJ2ltYWdlL3BuZycpIHtcbiAgICAgICAgY29uc3QgcG5nUXIgPSBhd2FpdCB0aGlzLmdlbmVyYXRlKHtcbiAgICAgICAgICAuLi5xci5jb25maWcsXG4gICAgICAgICAgZm9ybWF0OiAncG5nJyxcbiAgICAgICAgfSk7XG4gICAgICAgIHBuZ0Jsb2IgPSBwbmdRci5ibG9iO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKFtcbiAgICAgICAgbmV3IENsaXBib2FyZEl0ZW0oe1xuICAgICAgICAgICdpbWFnZS9wbmcnOiBwbmdCbG9iLFxuICAgICAgICB9KSxcbiAgICAgIF0pO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGNvcHkgUVIgdG8gY2xpcGJvYXJkOicsIGVycm9yKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2hhcmUgdGhlIFFSIGNvZGUgdXNpbmcgV2ViIFNoYXJlIEFQSS5cbiAgICpcbiAgICogQHBhcmFtIHFyIC0gUVIgcmVzdWx0IHRvIHNoYXJlXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gU2hhcmUgb3B0aW9uc1xuICAgKiBAcmV0dXJucyBQcm9taXNlPGJvb2xlYW4+IC0gV2hldGhlciBzaGFyZSB3YXMgc3VjY2Vzc2Z1bFxuICAgKi9cbiAgYXN5bmMgc2hhcmUocXI6IFFyUmVzdWx0LCBvcHRpb25zPzogUXJTaGFyZU9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAoIW5hdmlnYXRvci5zaGFyZSB8fCAhbmF2aWdhdG9yLmNhblNoYXJlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1dlYiBTaGFyZSBBUEkgbm90IGF2YWlsYWJsZScpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBmaWxlbmFtZSA9IG9wdGlvbnM/LmZpbGVuYW1lIHx8IGBxci1jb2RlLSR7RGF0ZS5ub3coKX0uJHtxci5leHRlbnNpb259YDtcbiAgICAgIGNvbnN0IGZpbGUgPSBuZXcgRmlsZShbcXIuYmxvYl0sIGZpbGVuYW1lLCB7IHR5cGU6IHFyLm1pbWVUeXBlIH0pO1xuXG4gICAgICBjb25zdCBzaGFyZURhdGE6IFNoYXJlRGF0YSA9IHtcbiAgICAgICAgdGl0bGU6IG9wdGlvbnM/LnRpdGxlIHx8ICdRUiBDb2RlJyxcbiAgICAgICAgdGV4dDogb3B0aW9ucz8udGV4dCxcbiAgICAgICAgZmlsZXM6IFtmaWxlXSxcbiAgICAgIH07XG5cbiAgICAgIGlmIChuYXZpZ2F0b3IuY2FuU2hhcmUoc2hhcmVEYXRhKSkge1xuICAgICAgICBhd2FpdCBuYXZpZ2F0b3Iuc2hhcmUoc2hhcmVEYXRhKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZhbGxiYWNrIHdpdGhvdXQgZmlsZVxuICAgICAgYXdhaXQgbmF2aWdhdG9yLnNoYXJlKHtcbiAgICAgICAgdGl0bGU6IG9wdGlvbnM/LnRpdGxlIHx8ICdRUiBDb2RlJyxcbiAgICAgICAgdGV4dDogb3B0aW9ucz8udGV4dCxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKChlcnJvciBhcyBFcnJvcikubmFtZSAhPT0gJ0Fib3J0RXJyb3InKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBzaGFyZSBRUjonLCBlcnJvcik7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgUVIgY29kZSBhcyBhIGJhc2U2NCBzdHJpbmcgKHdpdGhvdXQgZGF0YSBVUkwgcHJlZml4KS5cbiAgICpcbiAgICogQHBhcmFtIHFyIC0gUVIgcmVzdWx0XG4gICAqIEByZXR1cm5zIEJhc2U2NCBzdHJpbmdcbiAgICovXG4gIHRvQmFzZTY0KHFyOiBRclJlc3VsdCk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJlZml4ID0gYGRhdGE6JHtxci5taW1lVHlwZX07YmFzZTY0LGA7XG4gICAgaWYgKHFyLmRhdGFVcmwuc3RhcnRzV2l0aChwcmVmaXgpKSB7XG4gICAgICByZXR1cm4gcXIuZGF0YVVybC5zdWJzdHJpbmcocHJlZml4Lmxlbmd0aCk7XG4gICAgfVxuICAgIHJldHVybiBxci5kYXRhVXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgUVIgY29kZSBhcyBhIGRhdGEgVVJMLlxuICAgKlxuICAgKiBAcGFyYW0gcXIgLSBRUiByZXN1bHRcbiAgICogQHJldHVybnMgRGF0YSBVUkwgc3RyaW5nXG4gICAqL1xuICB0b0RhdGFVcmwocXI6IFFyUmVzdWx0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gcXIuZGF0YVVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIFFSIGNvZGUgYXMgYSBCbG9iLlxuICAgKlxuICAgKiBAcGFyYW0gcXIgLSBRUiByZXN1bHRcbiAgICogQHJldHVybnMgQmxvYlxuICAgKi9cbiAgdG9CbG9iKHFyOiBRclJlc3VsdCk6IEJsb2Ige1xuICAgIHJldHVybiBxci5ibG9iO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIFdlYiBTaGFyZSBBUEkgaXMgYXZhaWxhYmxlLlxuICAgKi9cbiAgY2FuU2hhcmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKG5hdmlnYXRvci5zaGFyZSAmJiBuYXZpZ2F0b3IuY2FuU2hhcmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIENsaXBib2FyZCBBUEkgaXMgYXZhaWxhYmxlIGZvciBpbWFnZXMuXG4gICAqL1xuICBjYW5Db3B5VG9DbGlwYm9hcmQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKG5hdmlnYXRvci5jbGlwYm9hcmQgJiYgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZSk7XG4gIH1cblxuICAvLyA9PT0gUHJpdmF0ZSBIZWxwZXJzID09PVxuXG4gIHByaXZhdGUgYnVpbGRDb2xvck9wdGlvbnMoY29sb3I/OiBRckNvbG9yQ29uZmlnKTogYW55IHtcbiAgICBpZiAoIWNvbG9yKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjb2xvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiB7IGNvbG9yIH07XG4gICAgfVxuXG4gICAgLy8gR3JhZGllbnRcbiAgICBjb25zdCBncmFkaWVudCA9IGNvbG9yIGFzIFFyR3JhZGllbnQ7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdyYWRpZW50OiB7XG4gICAgICAgIHR5cGU6IGdyYWRpZW50LnR5cGUsXG4gICAgICAgIHJvdGF0aW9uOiBncmFkaWVudC5yb3RhdGlvbiB8fCAwLFxuICAgICAgICBjb2xvclN0b3BzOiBncmFkaWVudC5jb2xvclN0b3BzLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNaW1lVHlwZShmb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbWltZVR5cGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgcG5nOiAnaW1hZ2UvcG5nJyxcbiAgICAgIGpwZWc6ICdpbWFnZS9qcGVnJyxcbiAgICAgIHdlYnA6ICdpbWFnZS93ZWJwJyxcbiAgICAgIHN2ZzogJ2ltYWdlL3N2Zyt4bWwnLFxuICAgIH07XG4gICAgcmV0dXJuIG1pbWVUeXBlc1tmb3JtYXRdIHx8ICdpbWFnZS9wbmcnO1xuICB9XG5cbiAgcHJpdmF0ZSBibG9iVG9EYXRhVXJsKGJsb2I6IEJsb2IpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpID0+IHJlc29sdmUocmVhZGVyLnJlc3VsdCBhcyBzdHJpbmcpO1xuICAgICAgcmVhZGVyLm9uZXJyb3IgPSByZWplY3Q7XG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChibG9iKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,46 +0,0 @@
1
- /**
2
- * Default presets for quick styling.
3
- */
4
- export const QR_PRESETS = {
5
- default: {
6
- width: 300,
7
- dotsStyle: 'square',
8
- dotsColor: '#000000',
9
- backgroundColor: '#ffffff',
10
- errorCorrectionLevel: 'M',
11
- },
12
- rounded: {
13
- width: 300,
14
- dotsStyle: 'rounded',
15
- cornersSquareStyle: 'extra-rounded',
16
- cornersDotStyle: 'dot',
17
- dotsColor: '#000000',
18
- backgroundColor: '#ffffff',
19
- },
20
- dots: {
21
- width: 300,
22
- dotsStyle: 'dots',
23
- cornersSquareStyle: 'dot',
24
- cornersDotStyle: 'dot',
25
- dotsColor: '#000000',
26
- backgroundColor: '#ffffff',
27
- },
28
- classy: {
29
- width: 300,
30
- dotsStyle: 'classy',
31
- cornersSquareStyle: 'extra-rounded',
32
- cornersDotStyle: 'dot',
33
- dotsColor: '#000000',
34
- backgroundColor: '#ffffff',
35
- },
36
- modern: {
37
- width: 300,
38
- dotsStyle: 'extra-rounded',
39
- cornersSquareStyle: 'extra-rounded',
40
- cornersDotStyle: 'dot',
41
- dotsColor: '#1a1a1a',
42
- backgroundColor: '#ffffff',
43
- margin: 2,
44
- },
45
- };
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3FyLWdlbmVyYXRvci90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrS0E7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQXNDO0lBQzNELE9BQU8sRUFBRTtRQUNQLEtBQUssRUFBRSxHQUFHO1FBQ1YsU0FBUyxFQUFFLFFBQVE7UUFDbkIsU0FBUyxFQUFFLFNBQVM7UUFDcEIsZUFBZSxFQUFFLFNBQVM7UUFDMUIsb0JBQW9CLEVBQUUsR0FBRztLQUMxQjtJQUNELE9BQU8sRUFBRTtRQUNQLEtBQUssRUFBRSxHQUFHO1FBQ1YsU0FBUyxFQUFFLFNBQVM7UUFDcEIsa0JBQWtCLEVBQUUsZUFBZTtRQUNuQyxlQUFlLEVBQUUsS0FBSztRQUN0QixTQUFTLEVBQUUsU0FBUztRQUNwQixlQUFlLEVBQUUsU0FBUztLQUMzQjtJQUNELElBQUksRUFBRTtRQUNKLEtBQUssRUFBRSxHQUFHO1FBQ1YsU0FBUyxFQUFFLE1BQU07UUFDakIsa0JBQWtCLEVBQUUsS0FBSztRQUN6QixlQUFlLEVBQUUsS0FBSztRQUN0QixTQUFTLEVBQUUsU0FBUztRQUNwQixlQUFlLEVBQUUsU0FBUztLQUMzQjtJQUNELE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRSxHQUFHO1FBQ1YsU0FBUyxFQUFFLFFBQVE7UUFDbkIsa0JBQWtCLEVBQUUsZUFBZTtRQUNuQyxlQUFlLEVBQUUsS0FBSztRQUN0QixTQUFTLEVBQUUsU0FBUztRQUNwQixlQUFlLEVBQUUsU0FBUztLQUMzQjtJQUNELE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRSxHQUFHO1FBQ1YsU0FBUyxFQUFFLGVBQWU7UUFDMUIsa0JBQWtCLEVBQUUsZUFBZTtRQUNuQyxlQUFlLEVBQUUsS0FBSztRQUN0QixTQUFTLEVBQUUsU0FBUztRQUNwQixlQUFlLEVBQUUsU0FBUztRQUMxQixNQUFNLEVBQUUsQ0FBQztLQUNWO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3R5bGUgb3B0aW9ucyBmb3IgUVIgY29kZSBkb3RzIChkYXRhIG1vZHVsZXMpLlxuICovXG5leHBvcnQgdHlwZSBRckRvdHNTdHlsZSA9ICdzcXVhcmUnIHwgJ2RvdHMnIHwgJ3JvdW5kZWQnIHwgJ2V4dHJhLXJvdW5kZWQnIHwgJ2NsYXNzeScgfCAnY2xhc3N5LXJvdW5kZWQnO1xuXG4vKipcbiAqIFN0eWxlIG9wdGlvbnMgZm9yIFFSIGNvZGUgY29ybmVyIHNxdWFyZXMuXG4gKi9cbmV4cG9ydCB0eXBlIFFyQ29ybmVyc1NxdWFyZVN0eWxlID0gJ3NxdWFyZScgfCAnZG90JyB8ICdleHRyYS1yb3VuZGVkJztcblxuLyoqXG4gKiBTdHlsZSBvcHRpb25zIGZvciBRUiBjb2RlIGNvcm5lciBkb3RzLlxuICovXG5leHBvcnQgdHlwZSBRckNvcm5lcnNEb3RTdHlsZSA9ICdzcXVhcmUnIHwgJ2RvdCc7XG5cbi8qKlxuICogT3V0cHV0IGZvcm1hdCBmb3IgdGhlIGdlbmVyYXRlZCBRUiBjb2RlLlxuICovXG5leHBvcnQgdHlwZSBRck91dHB1dEZvcm1hdCA9ICdzdmcnIHwgJ3BuZycgfCAnanBlZycgfCAnd2VicCc7XG5cbi8qKlxuICogRXJyb3IgY29ycmVjdGlvbiBsZXZlbCBmb3IgUVIgY29kZXMuXG4gKiBIaWdoZXIgbGV2ZWxzIGFsbG93IG1vcmUgZGFtYWdlIHRvbGVyYW5jZSBidXQgcmVkdWNlIGRhdGEgY2FwYWNpdHkuXG4gKi9cbmV4cG9ydCB0eXBlIFFyRXJyb3JDb3JyZWN0aW9uTGV2ZWwgPSAnTCcgfCAnTScgfCAnUScgfCAnSCc7XG5cbi8qKlxuICogTG9nby9pbWFnZSBjb25maWd1cmF0aW9uIGZvciB0aGUgUVIgY29kZSBjZW50ZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUXJMb2dvQ29uZmlnIHtcbiAgLyoqIEltYWdlIHNvdXJjZSBVUkwgb3IgYmFzZTY0ICovXG4gIHNyYzogc3RyaW5nO1xuICAvKiogTG9nbyB3aWR0aCAoZGVmYXVsdDogMjUlIG9mIFFSIHNpemUpICovXG4gIHdpZHRoPzogbnVtYmVyO1xuICAvKiogTG9nbyBoZWlnaHQgKGRlZmF1bHQ6IHNhbWUgYXMgd2lkdGgpICovXG4gIGhlaWdodD86IG51bWJlcjtcbiAgLyoqIE1hcmdpbiBhcm91bmQgdGhlIGxvZ28gKi9cbiAgbWFyZ2luPzogbnVtYmVyO1xuICAvKiogQm9yZGVyIHJhZGl1cyBmb3Igcm91bmRlZCBjb3JuZXJzICovXG4gIGJvcmRlclJhZGl1cz86IG51bWJlcjtcbiAgLyoqIFdoZXRoZXIgdG8gaGlkZSBkb3RzIGJlaGluZCB0aGUgbG9nbyAqL1xuICBoaWRlQmFja2dyb3VuZERvdHM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEdyYWRpZW50IGNvbmZpZ3VyYXRpb24gZm9yIFFSIGVsZW1lbnRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFFyR3JhZGllbnQge1xuICAvKiogR3JhZGllbnQgdHlwZSAqL1xuICB0eXBlOiAnbGluZWFyJyB8ICdyYWRpYWwnO1xuICAvKiogUm90YXRpb24gYW5nbGUgaW4gZGVncmVlcyAoZm9yIGxpbmVhcikgKi9cbiAgcm90YXRpb24/OiBudW1iZXI7XG4gIC8qKiBDb2xvciBzdG9wcyAqL1xuICBjb2xvclN0b3BzOiBBcnJheTx7XG4gICAgb2Zmc2V0OiBudW1iZXI7XG4gICAgY29sb3I6IHN0cmluZztcbiAgfT47XG59XG5cbi8qKlxuICogQ29sb3IgY29uZmlndXJhdGlvbiAtIGNhbiBiZSBzb2xpZCBjb2xvciBvciBncmFkaWVudC5cbiAqL1xuZXhwb3J0IHR5cGUgUXJDb2xvckNvbmZpZyA9IHN0cmluZyB8IFFyR3JhZGllbnQ7XG5cbi8qKlxuICogQ29tcGxldGUgY29uZmlndXJhdGlvbiBmb3IgUVIgY29kZSBnZW5lcmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFFyQ29uZmlnIHtcbiAgLyoqIFRoZSBkYXRhIHRvIGVuY29kZSAoVVJMLCB0ZXh0LCBldGMuKSAqL1xuICBkYXRhOiBzdHJpbmc7XG5cbiAgLy8gPT09IFNpemUgPT09XG4gIC8qKiBRUiBjb2RlIHdpZHRoIGluIHBpeGVscyAoZGVmYXVsdDogMzAwKSAqL1xuICB3aWR0aD86IG51bWJlcjtcbiAgLyoqIFFSIGNvZGUgaGVpZ2h0IGluIHBpeGVscyAoZGVmYXVsdDogc2FtZSBhcyB3aWR0aCkgKi9cbiAgaGVpZ2h0PzogbnVtYmVyO1xuICAvKiogUXVpZXQgem9uZSBtYXJnaW4gaW4gbW9kdWxlcyAoZGVmYXVsdDogMCkgKi9cbiAgbWFyZ2luPzogbnVtYmVyO1xuXG4gIC8vID09PSBDb2xvcnMgPT09XG4gIC8qKiBDb2xvci9ncmFkaWVudCBmb3IgZGF0YSBkb3RzICovXG4gIGRvdHNDb2xvcj86IFFyQ29sb3JDb25maWc7XG4gIC8qKiBCYWNrZ3JvdW5kIGNvbG9yIChkZWZhdWx0OiB3aGl0ZSkgKi9cbiAgYmFja2dyb3VuZENvbG9yPzogUXJDb2xvckNvbmZpZztcbiAgLyoqIENvbG9yIGZvciBjb3JuZXIgc3F1YXJlcyAqL1xuICBjb3JuZXJzU3F1YXJlQ29sb3I/OiBRckNvbG9yQ29uZmlnO1xuICAvKiogQ29sb3IgZm9yIGNvcm5lciBkb3RzICovXG4gIGNvcm5lcnNEb3RDb2xvcj86IFFyQ29sb3JDb25maWc7XG5cbiAgLy8gPT09IFN0eWxlcyA9PT1cbiAgLyoqIFN0eWxlIG9mIGRhdGEgZG90cyAoZGVmYXVsdDogJ3NxdWFyZScpICovXG4gIGRvdHNTdHlsZT86IFFyRG90c1N0eWxlO1xuICAvKiogU3R5bGUgb2YgY29ybmVyIHNxdWFyZXMgKGRlZmF1bHQ6ICdzcXVhcmUnKSAqL1xuICBjb3JuZXJzU3F1YXJlU3R5bGU/OiBRckNvcm5lcnNTcXVhcmVTdHlsZTtcbiAgLyoqIFN0eWxlIG9mIGNvcm5lciBkb3RzIChkZWZhdWx0OiAnc3F1YXJlJykgKi9cbiAgY29ybmVyc0RvdFN0eWxlPzogUXJDb3JuZXJzRG90U3R5bGU7XG5cbiAgLy8gPT09IExvZ28gPT09XG4gIC8qKiBMb2dvL2ltYWdlIGNvbmZpZ3VyYXRpb24gKi9cbiAgbG9nbz86IFFyTG9nb0NvbmZpZztcblxuICAvLyA9PT0gVGVjaG5pY2FsID09PVxuICAvKiogRXJyb3IgY29ycmVjdGlvbiBsZXZlbCAoZGVmYXVsdDogJ00nKSAqL1xuICBlcnJvckNvcnJlY3Rpb25MZXZlbD86IFFyRXJyb3JDb3JyZWN0aW9uTGV2ZWw7XG5cbiAgLy8gPT09IE91dHB1dCA9PT1cbiAgLyoqIE91dHB1dCBmb3JtYXQgKGRlZmF1bHQ6ICdwbmcnKSAqL1xuICBmb3JtYXQ/OiBRck91dHB1dEZvcm1hdDtcbiAgLyoqIFF1YWxpdHkgZm9yIGpwZWcvd2VicCAoMC0xLCBkZWZhdWx0OiAxKSAqL1xuICBxdWFsaXR5PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFJlc3VsdCBmcm9tIFFSIGNvZGUgZ2VuZXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRclJlc3VsdCB7XG4gIC8qKiBPcmlnaW5hbCBjb25maWd1cmF0aW9uIHVzZWQgKi9cbiAgY29uZmlnOiBRckNvbmZpZztcbiAgLyoqIEdlbmVyYXRlZCBkYXRhIGFzIGJhc2U2NCBkYXRhIFVSTCAqL1xuICBkYXRhVXJsOiBzdHJpbmc7XG4gIC8qKiBHZW5lcmF0ZWQgZGF0YSBhcyBCbG9iICovXG4gIGJsb2I6IEJsb2I7XG4gIC8qKiBTVkcgc3RyaW5nIChvbmx5IHdoZW4gZm9ybWF0IGlzICdzdmcnKSAqL1xuICBzdmc/OiBzdHJpbmc7XG4gIC8qKiBNSU1FIHR5cGUgb2YgdGhlIGdlbmVyYXRlZCBpbWFnZSAqL1xuICBtaW1lVHlwZTogc3RyaW5nO1xuICAvKiogRmlsZSBleHRlbnNpb24gKi9cbiAgZXh0ZW5zaW9uOiBzdHJpbmc7XG4gIC8qKiBUaW1lc3RhbXAgb2YgZ2VuZXJhdGlvbiAqL1xuICBnZW5lcmF0ZWRBdDogRGF0ZTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBkb3dubG9hZGluZyB0aGUgUVIgY29kZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRckRvd25sb2FkT3B0aW9ucyB7XG4gIC8qKiBDdXN0b20gZmlsZW5hbWUgKHdpdGhvdXQgZXh0ZW5zaW9uKSAqL1xuICBmaWxlbmFtZT86IHN0cmluZztcbiAgLyoqIE92ZXJyaWRlIGZvcm1hdCBmb3IgZG93bmxvYWQgKi9cbiAgZm9ybWF0PzogUXJPdXRwdXRGb3JtYXQ7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Igc2hhcmluZyB0aGUgUVIgY29kZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRclNoYXJlT3B0aW9ucyB7XG4gIC8qKiBTaGFyZSB0aXRsZSAqL1xuICB0aXRsZT86IHN0cmluZztcbiAgLyoqIFNoYXJlIHRleHQvZGVzY3JpcHRpb24gKi9cbiAgdGV4dD86IHN0cmluZztcbiAgLyoqIEN1c3RvbSBmaWxlbmFtZSBmb3IgdGhlIHNoYXJlZCBmaWxlICovXG4gIGZpbGVuYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByZXNldCBjb25maWd1cmF0aW9ucyBmb3IgY29tbW9uIHVzZSBjYXNlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRclByZXNldCB7XG4gIG5hbWU6IHN0cmluZztcbiAgY29uZmlnOiBQYXJ0aWFsPFFyQ29uZmlnPjtcbn1cblxuLyoqXG4gKiBEZWZhdWx0IHByZXNldHMgZm9yIHF1aWNrIHN0eWxpbmcuXG4gKi9cbmV4cG9ydCBjb25zdCBRUl9QUkVTRVRTOiBSZWNvcmQ8c3RyaW5nLCBQYXJ0aWFsPFFyQ29uZmlnPj4gPSB7XG4gIGRlZmF1bHQ6IHtcbiAgICB3aWR0aDogMzAwLFxuICAgIGRvdHNTdHlsZTogJ3NxdWFyZScsXG4gICAgZG90c0NvbG9yOiAnIzAwMDAwMCcsXG4gICAgYmFja2dyb3VuZENvbG9yOiAnI2ZmZmZmZicsXG4gICAgZXJyb3JDb3JyZWN0aW9uTGV2ZWw6ICdNJyxcbiAgfSxcbiAgcm91bmRlZDoge1xuICAgIHdpZHRoOiAzMDAsXG4gICAgZG90c1N0eWxlOiAncm91bmRlZCcsXG4gICAgY29ybmVyc1NxdWFyZVN0eWxlOiAnZXh0cmEtcm91bmRlZCcsXG4gICAgY29ybmVyc0RvdFN0eWxlOiAnZG90JyxcbiAgICBkb3RzQ29sb3I6ICcjMDAwMDAwJyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZmZmZmZmJyxcbiAgfSxcbiAgZG90czoge1xuICAgIHdpZHRoOiAzMDAsXG4gICAgZG90c1N0eWxlOiAnZG90cycsXG4gICAgY29ybmVyc1NxdWFyZVN0eWxlOiAnZG90JyxcbiAgICBjb3JuZXJzRG90U3R5bGU6ICdkb3QnLFxuICAgIGRvdHNDb2xvcjogJyMwMDAwMDAnLFxuICAgIGJhY2tncm91bmRDb2xvcjogJyNmZmZmZmYnLFxuICB9LFxuICBjbGFzc3k6IHtcbiAgICB3aWR0aDogMzAwLFxuICAgIGRvdHNTdHlsZTogJ2NsYXNzeScsXG4gICAgY29ybmVyc1NxdWFyZVN0eWxlOiAnZXh0cmEtcm91bmRlZCcsXG4gICAgY29ybmVyc0RvdFN0eWxlOiAnZG90JyxcbiAgICBkb3RzQ29sb3I6ICcjMDAwMDAwJyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZmZmZmZmJyxcbiAgfSxcbiAgbW9kZXJuOiB7XG4gICAgd2lkdGg6IDMwMCxcbiAgICBkb3RzU3R5bGU6ICdleHRyYS1yb3VuZGVkJyxcbiAgICBjb3JuZXJzU3F1YXJlU3R5bGU6ICdleHRyYS1yb3VuZGVkJyxcbiAgICBjb3JuZXJzRG90U3R5bGU6ICdkb3QnLFxuICAgIGRvdHNDb2xvcjogJyMxYTFhMWEnLFxuICAgIGJhY2tncm91bmRDb2xvcjogJyNmZmZmZmYnLFxuICAgIG1hcmdpbjogMixcbiAgfSxcbn07XG4iXX0=
@@ -1,8 +0,0 @@
1
- /**
2
- * Refreshable Stream
3
- *
4
- * Helper `createRefreshableStream` para vistas con datos Firestore.
5
- * Soporta modo one-shot y real-time, con gate de `firebaseAuthReady`.
6
- */
7
- export { createRefreshableStream, } from './refreshable-stream';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3JlZnJlc2hhYmxlLXN0cmVhbS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFDTCx1QkFBdUIsR0FHeEIsTUFBTSxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVmcmVzaGFibGUgU3RyZWFtXG4gKlxuICogSGVscGVyIGBjcmVhdGVSZWZyZXNoYWJsZVN0cmVhbWAgcGFyYSB2aXN0YXMgY29uIGRhdG9zIEZpcmVzdG9yZS5cbiAqIFNvcG9ydGEgbW9kbyBvbmUtc2hvdCB5IHJlYWwtdGltZSwgY29uIGdhdGUgZGUgYGZpcmViYXNlQXV0aFJlYWR5YC5cbiAqL1xuZXhwb3J0IHtcbiAgY3JlYXRlUmVmcmVzaGFibGVTdHJlYW0sXG4gIHR5cGUgUmVmcmVzaGFibGVTdHJlYW0sXG4gIHR5cGUgUmVmcmVzaGFibGVTdHJlYW1PcHRpb25zLFxufSBmcm9tICcuL3JlZnJlc2hhYmxlLXN0cmVhbSc7XG4iXX0=
@@ -1,112 +0,0 @@
1
- /**
2
- * Refreshable Stream
3
- *
4
- * Helper estándar para vistas que consumen datos de Firestore. Soporta DOS
5
- * modos — el caller decide cuál vía la `factory`:
6
- *
7
- * - **one-shot** (recomendado por defecto): `() => from(svc.getAllOnce())`.
8
- * Carga una vez y completa. Más barato — sin listener vivo.
9
- * - **real-time**: `() => svc.getAll()`. Listener Firestore que auto-actualiza.
10
- * Solo donde importa (inbox de notificaciones, badges).
11
- *
12
- * En ambos modos la primera suscripción se gatea por `firebaseAuthReady`
13
- * (sesión de Firebase Auth lista) — así el listener/lectura nunca se adjunta
14
- * antes de que `request.auth` esté disponible en las reglas de Firestore, lo
15
- * que cierra la ventana de `permission-denied` en cold start de PWA.
16
- *
17
- * El `retry` con backoff corto es solo red de seguridad para reconexiones
18
- * transitorias (no para cubrir cold start — eso lo cubre el gate de auth).
19
- */
20
- import { inject, Injector } from '@angular/core';
21
- import { toObservable, toSignal } from '@angular/core/rxjs-interop';
22
- import { signal } from '@angular/core';
23
- import { of, race, timer } from 'rxjs';
24
- import { catchError, retry, switchMap, take, tap, timeout } from 'rxjs/operators';
25
- import { FirebaseService } from '../firebase/firebase.service';
26
- /**
27
- * Crea un stream refrescable a partir de una factory de Observable.
28
- *
29
- * DEBE llamarse en un injection context (field initializer o constructor) —
30
- * usa `toSignal`/`toObservable`/`inject` internamente.
31
- *
32
- * @param factory - Función que produce el Observable a consumir. El caller
33
- * decide el modo: `() => from(svc.getAllOnce())` (one-shot) o
34
- * `() => svc.getAll()` (real-time).
35
- * @param options - Configuración opcional (fallback, retry, gate).
36
- *
37
- * @example
38
- * ```typescript
39
- * // one-shot (recomendado por defecto)
40
- * private readonly stream = createRefreshableStream(
41
- * () => from(this.svc.getAllOnce()),
42
- * );
43
- *
44
- * // real-time (inbox)
45
- * private readonly stream = createRefreshableStream(
46
- * () => this.notifs.getAll(50),
47
- * );
48
- *
49
- * readonly items = this.stream.data;
50
- * readonly loading = this.stream.loading;
51
- *
52
- * ionViewWillEnter() {
53
- * this.pageRefresh.register(() => this.stream.reload());
54
- * }
55
- * ```
56
- */
57
- export function createRefreshableStream(factory, options) {
58
- const injector = options?.injector ?? inject(Injector);
59
- const fallback = (options?.fallback ?? null);
60
- const retryCount = options?.retryCount ?? 4;
61
- const retryBaseDelayMs = options?.retryBaseDelayMs ?? 500;
62
- const gateOnFirebaseAuth = options?.gateOnFirebaseAuth ?? true;
63
- const authGateTimeoutMs = options?.authGateTimeoutMs ?? 20000;
64
- const firstEmitTimeoutMs = options?.firstEmitTimeoutMs ?? 20000;
65
- // FirebaseService es opcional — sin él (apps sin Firebase) no se gatea.
66
- const firebase = gateOnFirebaseAuth ? injector.get(FirebaseService, null) : null;
67
- const _reload = signal(0);
68
- const _loading = signal(true);
69
- const _error = signal(false);
70
- // Gate de Firebase Auth: el stream no abre la primera suscripción hasta que
71
- // la sesión esté confirmada. `race` con un `timer` de seguridad — si la
72
- // sesión NUNCA se establece (token inválido, signInWithFirebase falló), el
73
- // gate igual se libera tras `authGateTimeoutMs` y la factory procede: si no
74
- // hay permiso terminará en estado `error`, jamás en skeleton infinito.
75
- const authGate$ = firebase
76
- ? race(firebase.firebaseAuthReady$, timer(authGateTimeoutMs)).pipe(take(1))
77
- : of(true);
78
- const data = toSignal(toObservable(_reload, { injector }).pipe(tap(() => {
79
- _loading.set(true);
80
- _error.set(false);
81
- }),
82
- // Esperar a Firebase Auth listo antes de cada (re)suscripción. Como
83
- // `firebaseAuthReady$` completa tras la primera emisión, las reloads
84
- // posteriores resuelven el gate de inmediato (auth ya está listo).
85
- switchMap(() => authGate$.pipe(switchMap(() => factory().pipe(tap(() => {
86
- _loading.set(false);
87
- _error.set(false);
88
- }),
89
- // Backoff corto exponencial acotado — solo red de seguridad para
90
- // reconexiones transitorias, NO para cubrir cold start.
91
- retry({
92
- count: retryCount,
93
- delay: (_err, attempt) => timer(Math.min(retryBaseDelayMs * 2 ** (attempt - 1), 4000)),
94
- }),
95
- // Techo absoluto para la PRIMERA emisión. Si la factory no emite
96
- // ni valor ni error (servicio nunca inicializado → `EMPTY` →
97
- // silencio), `timeout` dispara un error → `catchError` → estado
98
- // `error`. Nunca skeleton perpetuo. Va DESPUÉS de `retry` para
99
- // que cuente el tiempo total, no por intento.
100
- timeout({ first: firstEmitTimeoutMs }), catchError(() => {
101
- _loading.set(false);
102
- _error.set(true);
103
- return of(fallback);
104
- })))))), { initialValue: null, injector });
105
- return {
106
- data,
107
- loading: _loading.asReadonly(),
108
- error: _error.asReadonly(),
109
- reload: () => _reload.update(n => n + 1),
110
- };
111
- }
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmcmVzaGFibGUtc3RyZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9yZWZyZXNoYWJsZS1zdHJlYW0vcmVmcmVzaGFibGUtc3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQWdFL0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FDckMsT0FBNEIsRUFDNUIsT0FBcUM7SUFFckMsTUFBTSxRQUFRLEdBQUcsT0FBTyxFQUFFLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBYSxDQUFDO0lBQ3pELE1BQU0sVUFBVSxHQUFHLE9BQU8sRUFBRSxVQUFVLElBQUksQ0FBQyxDQUFDO0lBQzVDLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxFQUFFLGdCQUFnQixJQUFJLEdBQUcsQ0FBQztJQUMxRCxNQUFNLGtCQUFrQixHQUFHLE9BQU8sRUFBRSxrQkFB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LENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ3pDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZWZyZXNoYWJsZSBTdHJlYW1cbiAqXG4gKiBIZWxwZXIgZXN0w6FuZGFyIHBhcmEgdmlzdGFzIHF1ZSBjb25zdW1lbiBkYXRvcyBkZSBGaXJlc3RvcmUuIFNvcG9ydGEgRE9TXG4gKiBtb2RvcyDigJQgZWwgY2FsbGVyIGRlY2lkZSBjdcOhbCB2w61hIGxhIGBmYWN0b3J5YDpcbiAqXG4gKiAgLSAqKm9uZS1zaG90KiogKHJlY29tZW5kYWRvIHBvciBkZWZlY3RvKTogYCgpID0+IGZyb20oc3ZjLmdldEFsbE9uY2UoKSlgLlxuICogICAgQ2FyZ2EgdW5hIHZleiB5IGNvbXBsZXRhLiBNw6FzIGJhcmF0byDigJQgc2luIGxpc3RlbmVyIHZpdm8uXG4gKiAgLSAqKnJlYWwtdGltZSoqOiBgKCkgPT4gc3ZjLmdldEFsbCgpYC4gTGlzdGVuZXIgRmlyZXN0b3JlIHF1ZSBhdXRvLWFjdHVhbGl6YS5cbiAqICAgIFNvbG8gZG9uZGUgaW1wb3J0YSAoaW5ib3ggZGUgbm90aWZpY2FjaW9uZXMsIGJhZGdlcykuXG4gKlxuICogRW4gYW1ib3MgbW9kb3MgbGEgcHJpbWVyYSBzdXNjcmlwY2nDs24gc2UgZ2F0ZWEgcG9yIGBmaXJlYmFzZUF1dGhSZWFkeWBcbiAqIChzZXNpw7NuIGRlIEZpcmViYXNlIEF1dGggbGlzdGEpIOKAlCBhc8OtIGVsIGxpc3RlbmVyL2xlY3R1cmEgbnVuY2Egc2UgYWRqdW50YVxuICogYW50ZXMgZGUgcXVlIGByZXF1ZXN0LmF1dGhgIGVzdMOpIGRpc3BvbmlibGUgZW4gbGFzIHJlZ2xhcyBkZSBGaXJlc3RvcmUsIGxvXG4gKiBxdWUgY2llcnJhIGxhIHZlbnRhbmEgZGUgYHBlcm1pc3Npb24tZGVuaWVkYCBlbiBjb2xkIHN0YXJ0IGRlIFBXQS5cbiAqXG4gKiBFbCBgcmV0cnlgIGNvbiBiYWNrb2ZmIGNvcnRvIGVzIHNvbG8gcmVkIGRlIHNlZ3VyaWRhZCBwYXJhIHJlY29uZXhpb25lc1xuICogdHJhbnNpdG9yaWFzIChubyBwYXJhIGN1YnJpciBjb2xkIHN0YXJ0IOKAlCBlc28gbG8gY3VicmUgZWwgZ2F0ZSBkZSBhdXRoKS5cbiAqL1xuXG5pbXBvcnQgeyBpbmplY3QsIEluamVjdG9yLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCByYWNlLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgcmV0cnksIHN3aXRjaE1hcCwgdGFrZSwgdGFwLCB0aW1lb3V0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGaXJlYmFzZVNlcnZpY2UgfSBmcm9tICcuLi9maXJlYmFzZS9maXJlYmFzZS5zZXJ2aWNlJztcblxuLyoqIE9wY2lvbmVzIGRlIGNvbmZpZ3VyYWNpw7NuIHBhcmEgYGNyZWF0ZVJlZnJlc2hhYmxlU3RyZWFtYC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVmcmVzaGFibGVTdHJlYW1PcHRpb25zPFQ+IHtcbiAgLyoqXG4gICAqIFZhbG9yIGVtaXRpZG8gY3VhbmRvIGxhIGZhY3RvcnkgZmFsbGEgdHJhcyBhZ290YXIgbG9zIHJlaW50ZW50b3MuXG4gICAqIERlZmF1bHQ6IGBudWxsYC5cbiAgICovXG4gIGZhbGxiYWNrPzogVDtcbiAgLyoqXG4gICAqIE7Dum1lcm8gbcOheGltbyBkZSByZWludGVudG9zIGFudGUgdW4gZXJyb3IgZGUgbGEgZmFjdG9yeS5cbiAgICogQmFja29mZiBjb3J0byDigJQgTk8gY3VicmUgY29sZCBzdGFydCAoZXNvIGxvIGhhY2UgZWwgZ2F0ZSBkZSBhdXRoKSwgc29sb1xuICAgKiByZWNvbmV4aW9uZXMgdHJhbnNpdG9yaWFzLiBEZWZhdWx0OiA0LlxuICAgKi9cbiAgcmV0cnlDb3VudD86IG51bWJlcjtcbiAgLyoqXG4gICAqIERlbGF5IGJhc2UgZGVsIGJhY2tvZmYgKG1zKS4gRWwgZGVsYXkgZWZlY3Rpdm8gY3JlY2UgZXhwb25lbmNpYWxtZW50ZVxuICAgKiBhY290YWRvOiA1MDBtcyDihpIgMXMg4oaSIDJzIC4uLiBEZWZhdWx0OiA1MDAuXG4gICAqL1xuICByZXRyeUJhc2VEZWxheU1zPzogbnVtYmVyO1xuICAvKipcbiAgICogU2kgYGZhbHNlYCwgTk8gZXNwZXJhIGEgYGZpcmViYXNlQXV0aFJlYWR5YCBhbnRlcyBkZSBsYSBwcmltZXJhXG4gICAqIHN1c2NyaXBjacOzbi4gw5p0aWwgcGFyYSBzdHJlYW1zIHF1ZSBubyBsZWVuIEZpcmVzdG9yZS4gRGVmYXVsdDogYHRydWVgLlxuICAgKi9cbiAgZ2F0ZU9uRmlyZWJhc2VBdXRoPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRpbWVvdXQgKG1zKSBkZWwgZ2F0ZSBkZSBGaXJlYmFzZSBBdXRoLiBTaSBsYSBzZXNpw7NuIGRlIEZpcmViYXNlIEF1dGggbm9cbiAgICogc2UgZXN0YWJsZWNlIGVuIGVzdGUgdGllbXBvLCBlbCBzdHJlYW0gcHJvY2VkZSBpZ3VhbCAobGEgZmFjdG9yeSBjb3JyZXLDoVxuICAgKiB5LCBzaSBubyBoYXkgcGVybWlzbywgdGVybWluYXLDoSBlbiBlc3RhZG8gYGVycm9yYCDigJQgTlVOQ0EgZW4gc2tlbGV0b25cbiAgICogaW5maW5pdG8pLiBNdXkgcG9yIGVuY2ltYSBkZSBjdWFscXVpZXIgaGFuZHNoYWtlIHJlYWwuIERlZmF1bHQ6IDIwMDAwLlxuICAgKi9cbiAgYXV0aEdhdGVUaW1lb3V0TXM/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaW1lb3V0IChtcykgZGUgbGEgUFJJTUVSQSBlbWlzacOzbiBkZSBsYSBmYWN0b3J5LiBTaSBsYSBmYWN0b3J5IG5vIGVtaXRlXG4gICAqIG5pIHVuIHZhbG9yIG5pIHVuIGVycm9yIGVuIGVzdGUgdGllbXBvIChjYXNvIHTDrXBpY286IHVuIHNlcnZpY2lvIEZpcmVzdG9yZVxuICAgKiBxdWUgbnVuY2Egc2UgaW5pY2lhbGl6w7Mg4oaSIGBFTVBUWWAg4oaSIHNpbGVuY2lvIHRvdGFsKSwgZWwgc3RyZWFtIHBhc2EgYVxuICAgKiBlc3RhZG8gYGVycm9yYCBlbiB2ZXogZGUgcXVlZGFyc2UgZW4gc2tlbGV0b24gcGVycGV0dW8uIERlZmF1bHQ6IDIwMDAwLlxuICAgKi9cbiAgZmlyc3RFbWl0VGltZW91dE1zPzogbnVtYmVyO1xuICAvKipcbiAgICogSW5qZWN0b3IgZXhwbMOtY2l0by4gU29sbyBuZWNlc2FyaW8gc2kgYGNyZWF0ZVJlZnJlc2hhYmxlU3RyZWFtYCBzZSBsbGFtYVxuICAgKiBmdWVyYSBkZSB1biBpbmplY3Rpb24gY29udGV4dCAocmFybykuIFBvciBkZWZlY3RvIHVzYSBgaW5qZWN0KEluamVjdG9yKWAuXG4gICAqL1xuICBpbmplY3Rvcj86IEluamVjdG9yO1xufVxuXG4vKipcbiAqIFJlc3VsdGFkbyBkZSBgY3JlYXRlUmVmcmVzaGFibGVTdHJlYW1gLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZnJlc2hhYmxlU3RyZWFtPFQ+IHtcbiAgLyoqIERhdG9zIGFjdHVhbGVzLiBgbnVsbGAgbWllbnRyYXMgbGEgcHJpbWVyYSBlbWlzacOzbiBubyBoYSBsbGVnYWRvLiAqL1xuICByZWFkb25seSBkYXRhOiBTaWduYWw8VCB8IG51bGw+O1xuICAvKiogYHRydWVgIG1pZW50cmFzIHNlIGVzcGVyYSBsYSBwcmltZXJhIGVtaXNpw7NuIGRlIGxhIHN1c2NyaXBjacOzbiBhY3R1YWwuICovXG4gIHJlYWRvbmx5IGxvYWRpbmc6IFNpZ25hbDxib29sZWFuPjtcbiAgLyoqIGB0cnVlYCBzaSBsYSBmYWN0b3J5IGZhbGzDsyB0cmFzIGFnb3RhciBsb3MgcmVpbnRlbnRvcy4gKi9cbiAgcmVhZG9ubHkgZXJyb3I6IFNpZ25hbDxib29sZWFuPjtcbiAgLyoqXG4gICAqIFJlLXN1c2NyaWJlIGxhIGZhY3RvcnkgZGVzZGUgY2VybyAobnVldm8gbGlzdGVuZXIgLyBudWV2YSBsZWN0dXJhKS5cbiAgICogRXMgbG8gcXVlIHJlZ2lzdHJhIGVsIGBQYWdlUmVmcmVzaFNlcnZpY2VgIGNvbW8gaGFuZGxlciBkZSBwdWxsLXRvLXJlZnJlc2gsXG4gICAqIHkgdGFtYmnDqW4gZWwgXCJyZWNvbmVjdGFyIG1hbnVhbFwiIHNpIHVuIGxpc3RlbmVyIG11cmnDsy5cbiAgICovXG4gIHJlbG9hZDogKCkgPT4gdm9pZDtcbn1cblxuLyoqXG4gKiBDcmVhIHVuIHN0cmVhbSByZWZyZXNjYWJsZSBhIHBhcnRpciBkZSB1bmEgZmFjdG9yeSBkZSBPYnNlcnZhYmxlLlxuICpcbiAqIERFQkUgbGxhbWFyc2UgZW4gdW4gaW5qZWN0aW9uIGNvbnRleHQgKGZpZWxkIGluaXRpYWxpemVyIG8gY29uc3RydWN0b3IpIOKAlFxuICogdXNhIGB0b1NpZ25hbGAvYHRvT2JzZXJ2YWJsZWAvYGluamVjdGAgaW50ZXJuYW1lbnRlLlxuICpcbiAqIEBwYXJhbSBmYWN0b3J5IC0gRnVuY2nDs24gcXVlIHByb2R1Y2UgZWwgT2JzZXJ2YWJsZSBhIGNvbnN1bWlyLiBFbCBjYWxsZXJcbiAqICAgZGVjaWRlIGVsIG1vZG86IGAoKSA9PiBmcm9tKHN2Yy5nZXRBbGxPbmNlKCkpYCAob25lLXNob3QpIG9cbiAqICAgYCgpID0+IHN2Yy5nZXRBbGwoKWAgKHJlYWwtdGltZSkuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYWNpw7NuIG9wY2lvbmFsIChmYWxsYmFjaywgcmV0cnksIGdhdGUpLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBvbmUtc2hvdCAocmVjb21lbmRhZG8gcG9yIGRlZmVjdG8pXG4gKiBwcml2YXRlIHJlYWRvbmx5IHN0cmVhbSA9IGNyZWF0ZVJlZnJlc2hhYmxlU3RyZWFtKFxuICogICAoKSA9PiBmcm9tKHRoaXMuc3ZjLmdldEFsbE9uY2UoKSksXG4gKiApO1xuICpcbiAqIC8vIHJlYWwtdGltZSAoaW5ib3gpXG4gKiBwcml2YXRlIHJlYWRvbmx5IHN0cmVhbSA9IGNyZWF0ZVJlZnJlc2hhYmxlU3RyZWFtKFxuICogICAoKSA9PiB0aGlzLm5vdGlmcy5nZXRBbGwoNTApLFxuICogKTtcbiAqXG4gKiByZWFkb25seSBpdGVtcyA9IHRoaXMuc3RyZWFtLmRhdGE7XG4gKiByZWFkb25seSBsb2FkaW5nID0gdGhpcy5zdHJlYW0ubG9hZGluZztcbiAqXG4gKiBpb25WaWV3V2lsbEVudGVyKCkge1xuICogICB0aGlzLnBhZ2VSZWZyZXNoLnJlZ2lzdGVyKCgpID0+IHRoaXMuc3RyZWFtLnJlbG9hZCgpKTtcbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUmVmcmVzaGFibGVTdHJlYW08VD4oXG4gIGZhY3Rvcnk6ICgpID0+IE9ic2VydmFibGU8VD4sXG4gIG9wdGlvbnM/OiBSZWZyZXNoYWJsZVN0cmVhbU9wdGlvbnM8VD5cbik6IFJlZnJlc2hhYmxlU3RyZWFtPFQ+IHtcbiAgY29uc3QgaW5qZWN0b3IgPSBvcHRpb25zPy5pbmplY3RvciA/PyBpbmplY3QoSW5qZWN0b3IpO1xuICBjb25zdCBmYWxsYmFjayA9IChvcHRpb25zPy5mYWxsYmFjayA/PyBudWxsKSBhcyBUIHwgbnVsbDtcbiAgY29uc3QgcmV0cnlDb3VudCA9IG9wdGlvbnM/LnJldHJ5Q291bnQgPz8gNDtcbiAgY29uc3QgcmV0cnlCYXNlRGVsYXlNcyA9IG9wdGlvbnM/LnJldHJ5QmFzZURlbGF5TXMgPz8gNTAwO1xuICBjb25zdCBnYXRlT25GaXJlYmFzZUF1dGggPSBvcHRpb25zPy5nYXRlT25GaXJlYmFzZUF1dGggPz8gdHJ1ZTtcbiAgY29uc3QgYXV0aEdhdGVUaW1lb3V0TXMgPSBvcHRpb25zPy5hdXRoR2F0ZVRpbWVvdXRNcyA/PyAyMDAwMDtcbiAgY29uc3QgZmlyc3RFbWl0VGltZW91dE1zID0gb3B0aW9ucz8uZmlyc3RFbWl0VGltZW91dE1zID8/IDIwMDAwO1xuXG4gIC8vIEZpcmViYXNlU2VydmljZSBlcyBvcGNpb25hbCDigJQgc2luIMOpbCAoYXBwcyBzaW4gRmlyZWJhc2UpIG5vIHNlIGdhdGVhLlxuICBjb25zdCBmaXJlYmFzZSA9IGdhdGVPbkZpcmViYXNlQXV0aCA/IGluamVjdG9yLmdldChGaXJlYmFzZVNlcnZpY2UsIG51bGwpIDogbnVsbDtcblxuICBjb25zdCBfcmVsb2FkID0gc2lnbmFsKDApO1xuICBjb25zdCBfbG9hZGluZyA9IHNpZ25hbCh0cnVlKTtcbiAgY29uc3QgX2Vycm9yID0gc2lnbmFsKGZhbHNlKTtcblxuICAvLyBHYXRlIGRlIEZpcmViYXNlIEF1dGg6IGVsIHN0cmVhbSBubyBhYnJlIGxhIHByaW1lcmEgc3VzY3JpcGNpw7NuIGhhc3RhIHF1ZVxuICAvLyBsYSBzZXNpw7NuIGVzdMOpIGNvbmZpcm1hZGEuIGByYWNlYCBjb24gdW4gYHRpbWVyYCBkZSBzZWd1cmlkYWQg4oCUIHNpIGxhXG4gIC8vIHNlc2nDs24gTlVOQ0Egc2UgZXN0YWJsZWNlICh0b2tlbiBpbnbDoWxpZG8sIHNpZ25JbldpdGhGaXJlYmFzZSBmYWxsw7MpLCBlbFxuICAvLyBnYXRlIGlndWFsIHNlIGxpYmVyYSB0cmFzIGBhdXRoR2F0ZVRpbWVvdXRNc2AgeSBsYSBmYWN0b3J5IHByb2NlZGU6IHNpIG5vXG4gIC8vIGhheSBwZXJtaXNvIHRlcm1pbmFyw6EgZW4gZXN0YWRvIGBlcnJvcmAsIGphbcOhcyBlbiBza2VsZXRvbiBpbmZpbml0by5cbiAgY29uc3QgYXV0aEdhdGUkOiBPYnNlcnZhYmxlPHVua25vd24+ID0gZmlyZWJhc2VcbiAgICA/IHJhY2UoZmlyZWJhc2UuZmlyZWJhc2VBdXRoUmVhZHkkLCB0aW1lcihhdXRoR2F0ZVRpbWVvdXRNcykpLnBpcGUodGFrZSgxKSlcbiAgICA6IG9mKHRydWUpO1xuXG4gIGNvbnN0IGRhdGEgPSB0b1NpZ25hbChcbiAgICB0b09ic2VydmFibGUoX3JlbG9hZCwgeyBpbmplY3RvciB9KS5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgX2xvYWRpbmcuc2V0KHRydWUpO1xuICAgICAgICBfZXJyb3Iuc2V0KGZhbHNlKTtcbiAgICAgIH0pLFxuICAgICAgLy8gRXNwZXJhciBhIEZpcmViYXNlIEF1dGggbGlzdG8gYW50ZXMgZGUgY2FkYSAocmUpc3VzY3JpcGNpw7NuLiBDb21vXG4gICAgICAvLyBgZmlyZWJhc2VBdXRoUmVhZHkkYCBjb21wbGV0YSB0cmFzIGxhIHByaW1lcmEgZW1pc2nDs24sIGxhcyByZWxvYWRzXG4gICAgICAvLyBwb3N0ZXJpb3JlcyByZXN1ZWx2ZW4gZWwgZ2F0ZSBkZSBpbm1lZGlhdG8gKGF1dGggeWEgZXN0w6EgbGlzdG8pLlxuICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgIGF1dGhHYXRlJC5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgZmFjdG9yeSgpLnBpcGUoXG4gICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgX2xvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICBfZXJyb3Iuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIC8vIEJhY2tvZmYgY29ydG8gZXhwb25lbmNpYWwgYWNvdGFkbyDigJQgc29sbyByZWQgZGUgc2VndXJpZGFkIHBhcmFcbiAgICAgICAgICAgICAgLy8gcmVjb25leGlvbmVzIHRyYW5zaXRvcmlhcywgTk8gcGFyYSBjdWJyaXIgY29sZCBzdGFydC5cbiAgICAgICAgICAgICAgcmV0cnkoe1xuICAgICAgICAgICAgICAgIGNvdW50OiByZXRyeUNvdW50LFxuICAgICAgICAgICAgICAgIGRlbGF5OiAoX2VyciwgYXR0ZW1wdCkgPT5cbiAgICAgICAgICAgICAgICAgIHRpbWVyKE1hdGgubWluKHJldHJ5QmFzZURlbGF5TXMgKiAyICoqIChhdHRlbXB0IC0gMSksIDQwMDApKSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIC8vIFRlY2hvIGFic29sdXRvIHBhcmEgbGEgUFJJTUVSQSBlbWlzacOzbi4gU2kgbGEgZmFjdG9yeSBubyBlbWl0ZVxuICAgICAgICAgICAgICAvLyBuaSB2YWxvciBuaSBlcnJvciAoc2VydmljaW8gbnVuY2EgaW5pY2lhbGl6YWRvIOKGkiBgRU1QVFlgIOKGklxuICAgICAgICAgICAgICAvLyBzaWxlbmNpbyksIGB0aW1lb3V0YCBkaXNwYXJhIHVuIGVycm9yIOKGkiBgY2F0Y2hFcnJvcmAg4oaSIGVzdGFkb1xuICAgICAgICAgICAgICAvLyBgZXJyb3JgLiBOdW5jYSBza2VsZXRvbiBwZXJwZXR1by4gVmEgREVTUFXDiVMgZGUgYHJldHJ5YCBwYXJhXG4gICAgICAgICAgICAgIC8vIHF1ZSBjdWVudGUgZWwgdGllbXBvIHRvdGFsLCBubyBwb3IgaW50ZW50by5cbiAgICAgICAgICAgICAgdGltZW91dCh7IGZpcnN0OiBmaXJzdEVtaXRUaW1lb3V0TXMgfSksXG4gICAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgICAgICAgIF9sb2FkaW5nLnNldChmYWxzZSk7XG4gICAgICAgICAgICAgICAgX2Vycm9yLnNldCh0cnVlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmFsbGJhY2sgYXMgVCk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApXG4gICAgKSxcbiAgICB7IGluaXRpYWxWYWx1ZTogbnVsbCBhcyBUIHwgbnVsbCwgaW5qZWN0b3IgfVxuICApO1xuXG4gIHJldHVybiB7XG4gICAgZGF0YSxcbiAgICBsb2FkaW5nOiBfbG9hZGluZy5hc1JlYWRvbmx5KCksXG4gICAgZXJyb3I6IF9lcnJvci5hc1JlYWRvbmx5KCksXG4gICAgcmVsb2FkOiAoKSA9PiBfcmVsb2FkLnVwZGF0ZShuID0+IG4gKyAxKSxcbiAgfTtcbn1cbiJdfQ==