valtech-components 2.0.819 → 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,307 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, Input, Output, EventEmitter, signal, } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * val-docs-toc
6
- *
7
- * A table of contents component with scroll spy functionality.
8
- * Automatically highlights the current section based on scroll position.
9
- *
10
- * @example Manual items
11
- * ```html
12
- * <val-docs-toc
13
- * [props]="{
14
- * title: 'On this page',
15
- * items: [
16
- * { id: 'overview', label: 'Overview', level: 1 },
17
- * { id: 'installation', label: 'Installation', level: 1 },
18
- * { id: 'npm', label: 'Using npm', level: 2 },
19
- * { id: 'yarn', label: 'Using yarn', level: 2 }
20
- * ]
21
- * }"
22
- * ></val-docs-toc>
23
- * ```
24
- *
25
- * @example Auto-generated from headings
26
- * ```html
27
- * <val-docs-toc
28
- * [props]="{
29
- * autoGenerate: true,
30
- * containerSelector: '.article-content',
31
- * headingLevels: [2, 3]
32
- * }"
33
- * ></val-docs-toc>
34
- * ```
35
- */
36
- export class DocsTocComponent {
37
- constructor(ngZone) {
38
- this.ngZone = ngZone;
39
- this.props = {};
40
- this.sectionChange = new EventEmitter();
41
- // Reactive state
42
- this.activeId = signal('');
43
- this.flatItems = signal([]);
44
- this.headingElements = [];
45
- this.scrollHandler = null;
46
- this.rafId = null;
47
- this.scrollContainer = null;
48
- }
49
- ngOnInit() {
50
- this.updateFlatItems();
51
- }
52
- ngAfterViewInit() {
53
- // Delay to ensure DOM is ready
54
- setTimeout(() => {
55
- if (this.props.autoGenerate) {
56
- this.generateTocFromHeadings();
57
- }
58
- this.setupScrollSpy();
59
- }, 100);
60
- }
61
- ngOnChanges(changes) {
62
- if (changes['props']) {
63
- this.updateFlatItems();
64
- if (this.props.autoGenerate) {
65
- setTimeout(() => this.generateTocFromHeadings(), 100);
66
- }
67
- }
68
- }
69
- ngOnDestroy() {
70
- this.destroyScrollSpy();
71
- }
72
- updateFlatItems() {
73
- if (this.props.items) {
74
- this.flatItems.set(this.flattenItems(this.props.items));
75
- }
76
- }
77
- flattenItems(items) {
78
- const result = [];
79
- const flatten = (itemList) => {
80
- itemList.forEach(item => {
81
- result.push(item);
82
- if (item.children?.length) {
83
- flatten(item.children);
84
- }
85
- });
86
- };
87
- flatten(items);
88
- return result;
89
- }
90
- generateTocFromHeadings() {
91
- const selector = this.props.containerSelector || '.docs-layout__content';
92
- const container = document.querySelector(selector);
93
- if (!container) {
94
- console.warn(`[docs-toc] Container not found: ${selector}`);
95
- return;
96
- }
97
- const levels = this.props.headingLevels || [2, 3];
98
- const headingSelector = levels.map(l => `h${l}`).join(', ');
99
- const headings = container.querySelectorAll(headingSelector);
100
- const items = [];
101
- headings.forEach((heading) => {
102
- const el = heading;
103
- // Generate ID if not present
104
- if (!el.id) {
105
- el.id = this.generateId(el.textContent || '');
106
- }
107
- const level = parseInt(el.tagName[1], 10);
108
- items.push({
109
- id: el.id,
110
- label: el.textContent?.trim() || '',
111
- level: level - 1, // h2 = level 1, h3 = level 2
112
- });
113
- });
114
- this.flatItems.set(items);
115
- // Re-setup scroll spy with new items
116
- this.setupScrollSpy();
117
- }
118
- generateId(text) {
119
- return text
120
- .toLowerCase()
121
- .trim()
122
- .replace(/[^\w\s-]/g, '')
123
- .replace(/\s+/g, '-')
124
- .substring(0, 50);
125
- }
126
- setupScrollSpy() {
127
- this.destroyScrollSpy();
128
- const items = this.flatItems();
129
- if (items.length === 0)
130
- return;
131
- // Collect heading elements
132
- this.headingElements = items
133
- .map(item => document.getElementById(item.id))
134
- .filter((el) => el !== null);
135
- if (this.headingElements.length === 0) {
136
- console.warn('[docs-toc] No heading elements found for IDs:', items.map(i => i.id));
137
- return;
138
- }
139
- // Find the scroll container - check for ion-content first, then use window
140
- this.scrollContainer = this.findScrollContainer();
141
- // Set initial active item
142
- this.updateActiveHeading();
143
- // Use scroll event with requestAnimationFrame for performance
144
- this.ngZone.runOutsideAngular(() => {
145
- this.scrollHandler = () => {
146
- if (this.rafId) {
147
- cancelAnimationFrame(this.rafId);
148
- }
149
- this.rafId = requestAnimationFrame(() => {
150
- this.updateActiveHeading();
151
- });
152
- };
153
- // Listen on both window and the scroll container for maximum compatibility
154
- window.addEventListener('scroll', this.scrollHandler, { passive: true });
155
- document.addEventListener('scroll', this.scrollHandler, { passive: true, capture: true });
156
- // Also listen on ion-content if present
157
- const ionContent = document.querySelector('ion-content');
158
- if (ionContent) {
159
- ionContent.addEventListener('ionScroll', this.scrollHandler, { passive: true });
160
- }
161
- });
162
- }
163
- findScrollContainer() {
164
- // Check for ion-content's scroll element
165
- const ionContent = document.querySelector('ion-content');
166
- if (ionContent) {
167
- // ion-content has a shadow DOM with the actual scrollable element
168
- const scrollEl = ionContent.shadowRoot?.querySelector('.inner-scroll');
169
- if (scrollEl)
170
- return scrollEl;
171
- }
172
- return window;
173
- }
174
- updateActiveHeading() {
175
- const offsetTop = this.props.offsetTop ?? 100;
176
- // Find the heading closest to or above the trigger point (offset from top of viewport)
177
- // Using getBoundingClientRect().top which is relative to viewport - works regardless of scroll container
178
- let activeHeading = null;
179
- for (const heading of this.headingElements) {
180
- const rect = heading.getBoundingClientRect();
181
- // If heading's top is at or above the trigger point (offset pixels from viewport top)
182
- if (rect.top <= offsetTop + 10) {
183
- activeHeading = heading;
184
- }
185
- else {
186
- // Since headings are in DOM order, stop once we find one below the trigger
187
- break;
188
- }
189
- }
190
- // If no heading is above the trigger point, use the first one
191
- if (!activeHeading && this.headingElements.length > 0) {
192
- activeHeading = this.headingElements[0];
193
- }
194
- if (activeHeading && activeHeading.id !== this.activeId()) {
195
- this.ngZone.run(() => {
196
- this.activeId.set(activeHeading.id);
197
- this.sectionChange.emit(activeHeading.id);
198
- });
199
- }
200
- }
201
- destroyScrollSpy() {
202
- if (this.scrollHandler) {
203
- window.removeEventListener('scroll', this.scrollHandler);
204
- document.removeEventListener('scroll', this.scrollHandler, { capture: true });
205
- const ionContent = document.querySelector('ion-content');
206
- if (ionContent) {
207
- ionContent.removeEventListener('ionScroll', this.scrollHandler);
208
- }
209
- this.scrollHandler = null;
210
- }
211
- if (this.rafId) {
212
- cancelAnimationFrame(this.rafId);
213
- this.rafId = null;
214
- }
215
- this.headingElements = [];
216
- this.scrollContainer = null;
217
- }
218
- scrollToSection(event, id) {
219
- event.preventDefault();
220
- const element = document.getElementById(id);
221
- if (!element)
222
- return;
223
- // Use native scrollIntoView - most reliable across all containers
224
- // Requires CSS scroll-margin-top on target elements for offset
225
- element.scrollIntoView({ behavior: 'smooth', block: 'start' });
226
- // Update active immediately for better UX
227
- this.activeId.set(id);
228
- // Update URL hash while preserving current path
229
- const currentPath = window.location.pathname + window.location.search;
230
- history.pushState(null, '', `${currentPath}#${id}`);
231
- }
232
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DocsTocComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
233
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DocsTocComponent, isStandalone: true, selector: "val-docs-toc", inputs: { props: "props" }, outputs: { sectionChange: "sectionChange" }, usesOnChanges: true, ngImport: i0, template: `
234
- <nav
235
- class="docs-toc"
236
- [class]="props.cssClass"
237
- role="navigation"
238
- aria-label="Table of contents"
239
- >
240
- @if (!props.hideTitle) {
241
- <h4 class="docs-toc__title">{{ props.title || 'Contents' }}</h4>
242
- }
243
-
244
- <ul class="docs-toc__list">
245
- @for (item of flatItems(); track item.id) {
246
- <li
247
- class="docs-toc__item"
248
- [class.docs-toc__item--level-1]="item.level === 1"
249
- [class.docs-toc__item--level-2]="item.level === 2"
250
- [class.docs-toc__item--level-3]="item.level === 3"
251
- [class.docs-toc__item--active]="activeId() === item.id"
252
- >
253
- <a
254
- class="docs-toc__link"
255
- [href]="'#' + item.id"
256
- [attr.aria-current]="activeId() === item.id ? 'location' : null"
257
- (click)="scrollToSection($event, item.id)"
258
- >
259
- {{ item.label }}
260
- </a>
261
- </li>
262
- }
263
- </ul>
264
- </nav>
265
- `, isInline: true, styles: [".docs-toc{--toc-text-color: var(--ion-color-medium, #666);--toc-active-color: #1a1a1a;--toc-hover-color: var(--ion-text-color, #1a1a1a);--toc-border-color: var(--ion-border-color, #e0e0e0);font-family:var(--ion-font-family, system-ui, sans-serif)}.docs-toc__title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--toc-text-color);margin:0 0 1rem}.docs-toc__list{list-style:none;margin:0;padding:0;border-left:1px solid var(--toc-border-color)}.docs-toc__item{position:relative;margin:0}.docs-toc__item:before{content:\"\";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:transparent;transition:background .2s ease}.docs-toc__item--active:before{background:var(--toc-active-color)}.docs-toc__item--active .docs-toc__link{color:var(--toc-active-color);font-weight:500}.docs-toc__item--level-1 .docs-toc__link{padding-left:.75rem}.docs-toc__item--level-2 .docs-toc__link{padding-left:1.5rem;font-size:.75rem}.docs-toc__item--level-3 .docs-toc__link{padding-left:2.25rem;font-size:.6875rem}.docs-toc__link{display:block;padding:.375rem .75rem;font-size:.8125rem;line-height:1.4;color:var(--toc-text-color);text-decoration:none;transition:color .15s ease;word-break:break-word;border-radius:4px}.docs-toc__link:hover{color:var(--toc-hover-color)}.docs-toc__link:focus-visible{outline:2px solid var(--toc-active-color);outline-offset:2px}:host-context(.dark) .docs-toc,:host-context([color-scheme=dark]) .docs-toc{--toc-text-color: #a0a0a0;--toc-active-color: #f4f5f8;--toc-hover-color: #f4f5f8;--toc-border-color: #3a3a3a}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
266
- }
267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DocsTocComponent, decorators: [{
268
- type: Component,
269
- args: [{ selector: 'val-docs-toc', standalone: true, imports: [CommonModule], template: `
270
- <nav
271
- class="docs-toc"
272
- [class]="props.cssClass"
273
- role="navigation"
274
- aria-label="Table of contents"
275
- >
276
- @if (!props.hideTitle) {
277
- <h4 class="docs-toc__title">{{ props.title || 'Contents' }}</h4>
278
- }
279
-
280
- <ul class="docs-toc__list">
281
- @for (item of flatItems(); track item.id) {
282
- <li
283
- class="docs-toc__item"
284
- [class.docs-toc__item--level-1]="item.level === 1"
285
- [class.docs-toc__item--level-2]="item.level === 2"
286
- [class.docs-toc__item--level-3]="item.level === 3"
287
- [class.docs-toc__item--active]="activeId() === item.id"
288
- >
289
- <a
290
- class="docs-toc__link"
291
- [href]="'#' + item.id"
292
- [attr.aria-current]="activeId() === item.id ? 'location' : null"
293
- (click)="scrollToSection($event, item.id)"
294
- >
295
- {{ item.label }}
296
- </a>
297
- </li>
298
- }
299
- </ul>
300
- </nav>
301
- `, styles: [".docs-toc{--toc-text-color: var(--ion-color-medium, #666);--toc-active-color: #1a1a1a;--toc-hover-color: var(--ion-text-color, #1a1a1a);--toc-border-color: var(--ion-border-color, #e0e0e0);font-family:var(--ion-font-family, system-ui, sans-serif)}.docs-toc__title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--toc-text-color);margin:0 0 1rem}.docs-toc__list{list-style:none;margin:0;padding:0;border-left:1px solid var(--toc-border-color)}.docs-toc__item{position:relative;margin:0}.docs-toc__item:before{content:\"\";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:transparent;transition:background .2s ease}.docs-toc__item--active:before{background:var(--toc-active-color)}.docs-toc__item--active .docs-toc__link{color:var(--toc-active-color);font-weight:500}.docs-toc__item--level-1 .docs-toc__link{padding-left:.75rem}.docs-toc__item--level-2 .docs-toc__link{padding-left:1.5rem;font-size:.75rem}.docs-toc__item--level-3 .docs-toc__link{padding-left:2.25rem;font-size:.6875rem}.docs-toc__link{display:block;padding:.375rem .75rem;font-size:.8125rem;line-height:1.4;color:var(--toc-text-color);text-decoration:none;transition:color .15s ease;word-break:break-word;border-radius:4px}.docs-toc__link:hover{color:var(--toc-hover-color)}.docs-toc__link:focus-visible{outline:2px solid var(--toc-active-color);outline-offset:2px}:host-context(.dark) .docs-toc,:host-context([color-scheme=dark]) .docs-toc{--toc-text-color: #a0a0a0;--toc-active-color: #f4f5f8;--toc-hover-color: #f4f5f8;--toc-border-color: #3a3a3a}\n"] }]
302
- }], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { props: [{
303
- type: Input
304
- }], sectionChange: [{
305
- type: Output
306
- }] } });
307
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy10b2MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9kb2NzLXRvYy9kb2NzLXRvYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBT1osTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOztBQUd2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQXdDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBYTNCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWnpCLFVBQUssR0FBb0IsRUFBRSxDQUFDO1FBRTNCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVyRCxpQkFBaUI7UUFDUCxhQUFRLEdBQUcsTUFBTSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLGNBQVMsR0FBRyxNQUFNLENBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBRXhDLG9CQUFlLEdBQWtCLEVBQUUsQ0FBQztRQUNwQyxrQkFBYSxHQUF3QixJQUFJLENBQUM7UUFDMUMsVUFBSyxHQUFrQixJQUFJLENBQUM7UUE4RjVCLG9CQUFlLEdBQWdDLElBQUksQ0FBQztJQTVGdkIsQ0FBQztJQUV0QyxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxlQUFlO1FBQ2IsK0JBQStCO1FBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ2pDLENBQUM7WUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzVCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN4RCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzFELENBQUM7SUFDSCxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQW9CO1FBQ3ZDLE1BQU0sTUFBTSxHQUFrQixFQUFFLENBQUM7UUFDakMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxRQUF1QixFQUFFLEVBQUU7WUFDMUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO29CQUMxQixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN6QixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDZixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sdUJBQXVCO1FBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLElBQUksdUJBQXVCLENBQUM7UUFDekUsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQzVELE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTdELE1BQU0sS0FBSyxHQUFrQixFQUFFLENBQUM7UUFDaEMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtZQUNwQyxNQUFNLEVBQUUsR0FBRyxPQUFzQixDQUFDO1lBQ2xDLDZCQUE2QjtZQUM3QixJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNYLEVBQUUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2hELENBQUM7WUFFRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNULEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtnQkFDVCxLQUFLLEVBQUUsRUFBRSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO2dCQUNuQyxLQUFLLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSw2QkFBNkI7YUFDaEQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixxQ0FBcUM7UUFDckMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTyxVQUFVLENBQUMsSUFBWTtRQUM3QixPQUFPLElBQUk7YUFDUixXQUFXLEVBQUU7YUFDYixJQUFJLEVBQUU7YUFDTixPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQzthQUN4QixPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQzthQUNwQixTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFJTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMvQixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUFFLE9BQU87UUFFL0IsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSzthQUN6QixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUM3QyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQXFCLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUM7UUFFbEQsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLCtDQUErQyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNwRixPQUFPO1FBQ1QsQ0FBQztRQUVELDJFQUEyRTtRQUMzRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBRWxELDBCQUEwQjtRQUMxQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUUzQiw4REFBOEQ7UUFDOUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUU7Z0JBQ3hCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNmLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkMsQ0FBQztnQkFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtvQkFDdEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQzdCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO1lBRUYsMkVBQTJFO1lBQzNFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3pFLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFFMUYsd0NBQXdDO1lBQ3hDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDekQsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDZixVQUFVLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUE4QixFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDbkcsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG1CQUFtQjtRQUN6Qix5Q0FBeUM7UUFDekMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6RCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2Ysa0VBQWtFO1lBQ2xFLE1BQU0sUUFBUSxHQUFJLFVBQWtCLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNoRixJQUFJLFFBQVE7Z0JBQUUsT0FBTyxRQUFRLENBQUM7UUFDaEMsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksR0FBRyxDQUFDO1FBRTlDLHVGQUF1RjtRQUN2Rix5R0FBeUc7UUFDekcsSUFBSSxhQUFhLEdBQXVCLElBQUksQ0FBQztRQUU3QyxLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMzQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUU3QyxzRkFBc0Y7WUFDdEYsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLFNBQVMsR0FBRyxFQUFFLEVBQUUsQ0FBQztnQkFDL0IsYUFBYSxHQUFHLE9BQU8sQ0FBQztZQUMxQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sMkVBQTJFO2dCQUMzRSxNQUFNO1lBQ1IsQ0FBQztRQUNILENBQUM7UUFFRCw4REFBOEQ7UUFDOUQsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0RCxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsSUFBSSxhQUFhLElBQUksYUFBYSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGFBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDekQsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBMEIsQ0FBQyxDQUFDO1lBRXRHLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDekQsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDZixVQUFVLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUE4QixDQUFDLENBQUM7WUFDbkYsQ0FBQztZQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzVCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFZLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFckIsa0VBQWtFO1FBQ2xFLCtEQUErRDtRQUMvRCxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUUvRCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdEIsZ0RBQWdEO1FBQ2hELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ3RFLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7K0dBdk9VLGdCQUFnQjttR0FBaEIsZ0JBQWdCLHNLQW5DakI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NULGduREFqQ1MsWUFBWTs7NEZBb0NYLGdCQUFnQjtrQkF2QzVCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQUNiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDVDsyRUFJUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgTmdab25lLFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9jc1RvY01ldGFkYXRhLCBEb2NzVG9jSXRlbSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIHZhbC1kb2NzLXRvY1xuICpcbiAqIEEgdGFibGUgb2YgY29udGVudHMgY29tcG9uZW50IHdpdGggc2Nyb2xsIHNweSBmdW5jdGlvbmFsaXR5LlxuICogQXV0b21hdGljYWxseSBoaWdobGlnaHRzIHRoZSBjdXJyZW50IHNlY3Rpb24gYmFzZWQgb24gc2Nyb2xsIHBvc2l0aW9uLlxuICpcbiAqIEBleGFtcGxlIE1hbnVhbCBpdGVtc1xuICogYGBgaHRtbFxuICogPHZhbC1kb2NzLXRvY1xuICogICBbcHJvcHNdPVwie1xuICogICAgIHRpdGxlOiAnT24gdGhpcyBwYWdlJyxcbiAqICAgICBpdGVtczogW1xuICogICAgICAgeyBpZDogJ292ZXJ2aWV3JywgbGFiZWw6ICdPdmVydmlldycsIGxldmVsOiAxIH0sXG4gKiAgICAgICB7IGlkOiAnaW5zdGFsbGF0aW9uJywgbGFiZWw6ICdJbnN0YWxsYXRpb24nLCBsZXZlbDogMSB9LFxuICogICAgICAgeyBpZDogJ25wbScsIGxhYmVsOiAnVXNpbmcgbnBtJywgbGV2ZWw6IDIgfSxcbiAqICAgICAgIHsgaWQ6ICd5YXJuJywgbGFiZWw6ICdVc2luZyB5YXJuJywgbGV2ZWw6IDIgfVxuICogICAgIF1cbiAqICAgfVwiXG4gKiA+PC92YWwtZG9jcy10b2M+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBBdXRvLWdlbmVyYXRlZCBmcm9tIGhlYWRpbmdzXG4gKiBgYGBodG1sXG4gKiA8dmFsLWRvY3MtdG9jXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgYXV0b0dlbmVyYXRlOiB0cnVlLFxuICogICAgIGNvbnRhaW5lclNlbGVjdG9yOiAnLmFydGljbGUtY29udGVudCcsXG4gKiAgICAgaGVhZGluZ0xldmVsczogWzIsIDNdXG4gKiAgIH1cIlxuICogPjwvdmFsLWRvY3MtdG9jPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1kb2NzLXRvYycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuYXZcbiAgICAgIGNsYXNzPVwiZG9jcy10b2NcIlxuICAgICAgW2NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCJcbiAgICAgIHJvbGU9XCJuYXZpZ2F0aW9uXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJUYWJsZSBvZiBjb250ZW50c1wiXG4gICAgPlxuICAgICAgQGlmICghcHJvcHMuaGlkZVRpdGxlKSB7XG4gICAgICAgIDxoNCBjbGFzcz1cImRvY3MtdG9jX190aXRsZVwiPnt7IHByb3BzLnRpdGxlIHx8ICdDb250ZW50cycgfX08L2g0PlxuICAgICAgfVxuXG4gICAgICA8dWwgY2xhc3M9XCJkb2NzLXRvY19fbGlzdFwiPlxuICAgICAgICBAZm9yIChpdGVtIG9mIGZsYXRJdGVtcygpOyB0cmFjayBpdGVtLmlkKSB7XG4gICAgICAgICAgPGxpXG4gICAgICAgICAgICBjbGFzcz1cImRvY3MtdG9jX19pdGVtXCJcbiAgICAgICAgICAgIFtjbGFzcy5kb2NzLXRvY19faXRlbS0tbGV2ZWwtMV09XCJpdGVtLmxldmVsID09PSAxXCJcbiAgICAgICAgICAgIFtjbGFzcy5kb2NzLXRvY19faXRlbS0tbGV2ZWwtMl09XCJpdGVtLmxldmVsID09PSAyXCJcbiAgICAgICAgICAgIFtjbGFzcy5kb2NzLXRvY19faXRlbS0tbGV2ZWwtM109XCJpdGVtLmxldmVsID09PSAzXCJcbiAgICAgICAgICAgIFtjbGFzcy5kb2NzLXRvY19faXRlbS0tYWN0aXZlXT1cImFjdGl2ZUlkKCkgPT09IGl0ZW0uaWRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy10b2NfX2xpbmtcIlxuICAgICAgICAgICAgICBbaHJlZl09XCInIycgKyBpdGVtLmlkXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImFjdGl2ZUlkKCkgPT09IGl0ZW0uaWQgPyAnbG9jYXRpb24nIDogbnVsbFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzY3JvbGxUb1NlY3Rpb24oJGV2ZW50LCBpdGVtLmlkKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICA8L3VsPlxuICAgIDwvbmF2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9kb2NzLXRvYy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEb2NzVG9jQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIHByb3BzOiBEb2NzVG9jTWV0YWRhdGEgPSB7fTtcblxuICBAT3V0cHV0KCkgc2VjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8vIFJlYWN0aXZlIHN0YXRlXG4gIHByb3RlY3RlZCBhY3RpdmVJZCA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgcHJvdGVjdGVkIGZsYXRJdGVtcyA9IHNpZ25hbDxEb2NzVG9jSXRlbVtdPihbXSk7XG5cbiAgcHJpdmF0ZSBoZWFkaW5nRWxlbWVudHM6IEhUTUxFbGVtZW50W10gPSBbXTtcbiAgcHJpdmF0ZSBzY3JvbGxIYW5kbGVyOiAoKCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSByYWZJZDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUZsYXRJdGVtcygpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIERlbGF5IHRvIGVuc3VyZSBET00gaXMgcmVhZHlcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnByb3BzLmF1dG9HZW5lcmF0ZSkge1xuICAgICAgICB0aGlzLmdlbmVyYXRlVG9jRnJvbUhlYWRpbmdzKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnNldHVwU2Nyb2xsU3B5KCk7XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sncHJvcHMnXSkge1xuICAgICAgdGhpcy51cGRhdGVGbGF0SXRlbXMoKTtcbiAgICAgIGlmICh0aGlzLnByb3BzLmF1dG9HZW5lcmF0ZSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZ2VuZXJhdGVUb2NGcm9tSGVhZGluZ3MoKSwgMTAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lTY3JvbGxTcHkoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRmxhdEl0ZW1zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BzLml0ZW1zKSB7XG4gICAgICB0aGlzLmZsYXRJdGVtcy5zZXQodGhpcy5mbGF0dGVuSXRlbXModGhpcy5wcm9wcy5pdGVtcykpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmxhdHRlbkl0ZW1zKGl0ZW1zOiBEb2NzVG9jSXRlbVtdKTogRG9jc1RvY0l0ZW1bXSB7XG4gICAgY29uc3QgcmVzdWx0OiBEb2NzVG9jSXRlbVtdID0gW107XG4gICAgY29uc3QgZmxhdHRlbiA9IChpdGVtTGlzdDogRG9jc1RvY0l0ZW1bXSkgPT4ge1xuICAgICAgaXRlbUxpc3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgcmVzdWx0LnB1c2goaXRlbSk7XG4gICAgICAgIGlmIChpdGVtLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgICBmbGF0dGVuKGl0ZW0uY2hpbGRyZW4pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9O1xuICAgIGZsYXR0ZW4oaXRlbXMpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlVG9jRnJvbUhlYWRpbmdzKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gdGhpcy5wcm9wcy5jb250YWluZXJTZWxlY3RvciB8fCAnLmRvY3MtbGF5b3V0X19jb250ZW50JztcbiAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcblxuICAgIGlmICghY29udGFpbmVyKSB7XG4gICAgICBjb25zb2xlLndhcm4oYFtkb2NzLXRvY10gQ29udGFpbmVyIG5vdCBmb3VuZDogJHtzZWxlY3Rvcn1gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsZXZlbHMgPSB0aGlzLnByb3BzLmhlYWRpbmdMZXZlbHMgfHwgWzIsIDNdO1xuICAgIGNvbnN0IGhlYWRpbmdTZWxlY3RvciA9IGxldmVscy5tYXAobCA9PiBgaCR7bH1gKS5qb2luKCcsICcpO1xuICAgIGNvbnN0IGhlYWRpbmdzID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoaGVhZGluZ1NlbGVjdG9yKTtcblxuICAgIGNvbnN0IGl0ZW1zOiBEb2NzVG9jSXRlbVtdID0gW107XG4gICAgaGVhZGluZ3MuZm9yRWFjaCgoaGVhZGluZzogRWxlbWVudCkgPT4ge1xuICAgICAgY29uc3QgZWwgPSBoZWFkaW5nIGFzIEhUTUxFbGVtZW50O1xuICAgICAgLy8gR2VuZXJhdGUgSUQgaWYgbm90IHByZXNlbnRcbiAgICAgIGlmICghZWwuaWQpIHtcbiAgICAgICAgZWwuaWQgPSB0aGlzLmdlbmVyYXRlSWQoZWwudGV4dENvbnRlbnQgfHwgJycpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBsZXZlbCA9IHBhcnNlSW50KGVsLnRhZ05hbWVbMV0sIDEwKTtcbiAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICBpZDogZWwuaWQsXG4gICAgICAgIGxhYmVsOiBlbC50ZXh0Q29udGVudD8udHJpbSgpIHx8ICcnLFxuICAgICAgICBsZXZlbDogbGV2ZWwgLSAxLCAvLyBoMiA9IGxldmVsIDEsIGgzID0gbGV2ZWwgMlxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZsYXRJdGVtcy5zZXQoaXRlbXMpO1xuICAgIC8vIFJlLXNldHVwIHNjcm9sbCBzcHkgd2l0aCBuZXcgaXRlbXNcbiAgICB0aGlzLnNldHVwU2Nyb2xsU3B5KCk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlSWQodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGV4dFxuICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgIC50cmltKClcbiAgICAgIC5yZXBsYWNlKC9bXlxcd1xccy1dL2csICcnKVxuICAgICAgLnJlcGxhY2UoL1xccysvZywgJy0nKVxuICAgICAgLnN1YnN0cmluZygwLCA1MCk7XG4gIH1cblxuICBwcml2YXRlIHNjcm9sbENvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBXaW5kb3cgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHNldHVwU2Nyb2xsU3B5KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveVNjcm9sbFNweSgpO1xuXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmZsYXRJdGVtcygpO1xuICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHJldHVybjtcblxuICAgIC8vIENvbGxlY3QgaGVhZGluZyBlbGVtZW50c1xuICAgIHRoaXMuaGVhZGluZ0VsZW1lbnRzID0gaXRlbXNcbiAgICAgIC5tYXAoaXRlbSA9PiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtLmlkKSlcbiAgICAgIC5maWx0ZXIoKGVsKTogZWwgaXMgSFRNTEVsZW1lbnQgPT4gZWwgIT09IG51bGwpO1xuXG4gICAgaWYgKHRoaXMuaGVhZGluZ0VsZW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc29sZS53YXJuKCdbZG9jcy10b2NdIE5vIGhlYWRpbmcgZWxlbWVudHMgZm91bmQgZm9yIElEczonLCBpdGVtcy5tYXAoaSA9PiBpLmlkKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRmluZCB0aGUgc2Nyb2xsIGNvbnRhaW5lciAtIGNoZWNrIGZvciBpb24tY29udGVudCBmaXJzdCwgdGhlbiB1c2Ugd2luZG93XG4gICAgdGhpcy5zY3JvbGxDb250YWluZXIgPSB0aGlzLmZpbmRTY3JvbGxDb250YWluZXIoKTtcblxuICAgIC8vIFNldCBpbml0aWFsIGFjdGl2ZSBpdGVtXG4gICAgdGhpcy51cGRhdGVBY3RpdmVIZWFkaW5nKCk7XG5cbiAgICAvLyBVc2Ugc2Nyb2xsIGV2ZW50IHdpdGggcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGZvciBwZXJmb3JtYW5jZVxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMucmFmSWQpIHtcbiAgICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnJhZklkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJhZklkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUhlYWRpbmcoKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuXG4gICAgICAvLyBMaXN0ZW4gb24gYm90aCB3aW5kb3cgYW5kIHRoZSBzY3JvbGwgY29udGFpbmVyIGZvciBtYXhpbXVtIGNvbXBhdGliaWxpdHlcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLnNjcm9sbEhhbmRsZXIsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuc2Nyb2xsSGFuZGxlciwgeyBwYXNzaXZlOiB0cnVlLCBjYXB0dXJlOiB0cnVlIH0pO1xuXG4gICAgICAvLyBBbHNvIGxpc3RlbiBvbiBpb24tY29udGVudCBpZiBwcmVzZW50XG4gICAgICBjb25zdCBpb25Db250ZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW9uLWNvbnRlbnQnKTtcbiAgICAgIGlmIChpb25Db250ZW50KSB7XG4gICAgICAgIGlvbkNvbnRlbnQuYWRkRXZlbnRMaXN0ZW5lcignaW9uU2Nyb2xsJywgdGhpcy5zY3JvbGxIYW5kbGVyIGFzIEV2ZW50TGlzdGVuZXIsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFNjcm9sbENvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB8IFdpbmRvdyB7XG4gICAgLy8gQ2hlY2sgZm9yIGlvbi1jb250ZW50J3Mgc2Nyb2xsIGVsZW1lbnRcbiAgICBjb25zdCBpb25Db250ZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW9uLWNvbnRlbnQnKTtcbiAgICBpZiAoaW9uQ29udGVudCkge1xuICAgICAgLy8gaW9uLWNvbnRlbnQgaGFzIGEgc2hhZG93IERPTSB3aXRoIHRoZSBhY3R1YWwgc2Nyb2xsYWJsZSBlbGVtZW50XG4gICAgICBjb25zdCBzY3JvbGxFbCA9IChpb25Db250ZW50IGFzIGFueSkuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcignLmlubmVyLXNjcm9sbCcpO1xuICAgICAgaWYgKHNjcm9sbEVsKSByZXR1cm4gc2Nyb2xsRWw7XG4gICAgfVxuICAgIHJldHVybiB3aW5kb3c7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUFjdGl2ZUhlYWRpbmcoKTogdm9pZCB7XG4gICAgY29uc3Qgb2Zmc2V0VG9wID0gdGhpcy5wcm9wcy5vZmZzZXRUb3AgPz8gMTAwO1xuXG4gICAgLy8gRmluZCB0aGUgaGVhZGluZyBjbG9zZXN0IHRvIG9yIGFib3ZlIHRoZSB0cmlnZ2VyIHBvaW50IChvZmZzZXQgZnJvbSB0b3Agb2Ygdmlld3BvcnQpXG4gICAgLy8gVXNpbmcgZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wIHdoaWNoIGlzIHJlbGF0aXZlIHRvIHZpZXdwb3J0IC0gd29ya3MgcmVnYXJkbGVzcyBvZiBzY3JvbGwgY29udGFpbmVyXG4gICAgbGV0IGFjdGl2ZUhlYWRpbmc6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBmb3IgKGNvbnN0IGhlYWRpbmcgb2YgdGhpcy5oZWFkaW5nRWxlbWVudHMpIHtcbiAgICAgIGNvbnN0IHJlY3QgPSBoZWFkaW5nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAvLyBJZiBoZWFkaW5nJ3MgdG9wIGlzIGF0IG9yIGFib3ZlIHRoZSB0cmlnZ2VyIHBvaW50IChvZmZzZXQgcGl4ZWxzIGZyb20gdmlld3BvcnQgdG9wKVxuICAgICAgaWYgKHJlY3QudG9wIDw9IG9mZnNldFRvcCArIDEwKSB7XG4gICAgICAgIGFjdGl2ZUhlYWRpbmcgPSBoZWFkaW5nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2luY2UgaGVhZGluZ3MgYXJlIGluIERPTSBvcmRlciwgc3RvcCBvbmNlIHdlIGZpbmQgb25lIGJlbG93IHRoZSB0cmlnZ2VyXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIG5vIGhlYWRpbmcgaXMgYWJvdmUgdGhlIHRyaWdnZXIgcG9pbnQsIHVzZSB0aGUgZmlyc3Qgb25lXG4gICAgaWYgKCFhY3RpdmVIZWFkaW5nICYmIHRoaXMuaGVhZGluZ0VsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGFjdGl2ZUhlYWRpbmcgPSB0aGlzLmhlYWRpbmdFbGVtZW50c1swXTtcbiAgICB9XG5cbiAgICBpZiAoYWN0aXZlSGVhZGluZyAmJiBhY3RpdmVIZWFkaW5nLmlkICE9PSB0aGlzLmFjdGl2ZUlkKCkpIHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZlSWQuc2V0KGFjdGl2ZUhlYWRpbmchLmlkKTtcbiAgICAgICAgdGhpcy5zZWN0aW9uQ2hhbmdlLmVtaXQoYWN0aXZlSGVhZGluZyEuaWQpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95U2Nyb2xsU3B5KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNjcm9sbEhhbmRsZXIpIHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLnNjcm9sbEhhbmRsZXIpO1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5zY3JvbGxIYW5kbGVyLCB7IGNhcHR1cmU6IHRydWUgfSBhcyBFdmVudExpc3RlbmVyT3B0aW9ucyk7XG5cbiAgICAgIGNvbnN0IGlvbkNvbnRlbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpb24tY29udGVudCcpO1xuICAgICAgaWYgKGlvbkNvbnRlbnQpIHtcbiAgICAgICAgaW9uQ29udGVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdpb25TY3JvbGwnLCB0aGlzLnNjcm9sbEhhbmRsZXIgYXMgRXZlbnRMaXN0ZW5lcik7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlciA9IG51bGw7XG4gICAgfVxuICAgIGlmICh0aGlzLnJhZklkKSB7XG4gICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnJhZklkKTtcbiAgICAgIHRoaXMucmFmSWQgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLmhlYWRpbmdFbGVtZW50cyA9IFtdO1xuICAgIHRoaXMuc2Nyb2xsQ29udGFpbmVyID0gbnVsbDtcbiAgfVxuXG4gIHNjcm9sbFRvU2VjdGlvbihldmVudDogRXZlbnQsIGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcbiAgICBpZiAoIWVsZW1lbnQpIHJldHVybjtcblxuICAgIC8vIFVzZSBuYXRpdmUgc2Nyb2xsSW50b1ZpZXcgLSBtb3N0IHJlbGlhYmxlIGFjcm9zcyBhbGwgY29udGFpbmVyc1xuICAgIC8vIFJlcXVpcmVzIENTUyBzY3JvbGwtbWFyZ2luLXRvcCBvbiB0YXJnZXQgZWxlbWVudHMgZm9yIG9mZnNldFxuICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnc3RhcnQnIH0pO1xuXG4gICAgLy8gVXBkYXRlIGFjdGl2ZSBpbW1lZGlhdGVseSBmb3IgYmV0dGVyIFVYXG4gICAgdGhpcy5hY3RpdmVJZC5zZXQoaWQpO1xuXG4gICAgLy8gVXBkYXRlIFVSTCBoYXNoIHdoaWxlIHByZXNlcnZpbmcgY3VycmVudCBwYXRoXG4gICAgY29uc3QgY3VycmVudFBhdGggPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgKyB3aW5kb3cubG9jYXRpb24uc2VhcmNoO1xuICAgIGhpc3RvcnkucHVzaFN0YXRlKG51bGwsICcnLCBgJHtjdXJyZW50UGF0aH0jJHtpZH1gKTtcbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2RvY3MtdG9jL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBkb2NzLXRvYyBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG9jc1RvY01ldGFkYXRhIHtcbiAgLyoqXG4gICAqIE1hbnVhbCBUT0MgaXRlbXMgKHVzZWQgd2hlbiBhdXRvR2VuZXJhdGUgaXMgZmFsc2UpLlxuICAgKi9cbiAgaXRlbXM/OiBEb2NzVG9jSXRlbVtdO1xuXG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlIFRPQyBmcm9tIGhlYWRpbmdzIGluIHRoZSBjb250ZW50LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgYXV0b0dlbmVyYXRlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ1NTIHNlbGVjdG9yIGZvciB0aGUgY29udGVudCBjb250YWluZXIgdG8gc2NhbiBmb3IgaGVhZGluZ3MuXG4gICAqIFJlcXVpcmVkIHdoZW4gYXV0b0dlbmVyYXRlIGlzIHRydWUuXG4gICAqIEBkZWZhdWx0ICcuZG9jcy1sYXlvdXRfX2NvbnRlbnQnXG4gICAqL1xuICBjb250YWluZXJTZWxlY3Rvcj86IHN0cmluZztcblxuICAvKipcbiAgICogSGVhZGluZyBsZXZlbHMgdG8gaW5jbHVkZSBpbiBhdXRvLWdlbmVyYXRlZCBUT0MuXG4gICAqIEBkZWZhdWx0IFsyLCAzXVxuICAgKi9cbiAgaGVhZGluZ0xldmVscz86IG51bWJlcltdO1xuXG4gIC8qKlxuICAgKiBUaXRsZSBkaXNwbGF5ZWQgYWJvdmUgdGhlIFRPQy5cbiAgICogQGRlZmF1bHQgJ0NvbnRlbnRzJ1xuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9mZnNldCBmcm9tIHRvcCBmb3Igc2Nyb2xsIHNweSBjYWxjdWxhdGlvbnMgKGUuZy4sIGZvciBzdGlja3kgaGVhZGVycykuXG4gICAqIEBkZWZhdWx0IDEwMFxuICAgKi9cbiAgb2Zmc2V0VG9wPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gQ1NTIGNsYXNzLlxuICAgKi9cbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEhpZGUgdGhlIHRpdGxlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgaGlkZVRpdGxlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb2NzVG9jSXRlbSB7XG4gIC8qKlxuICAgKiBJRCBvZiB0aGUgRE9NIGVsZW1lbnQgKHdpdGhvdXQgIykuXG4gICAqL1xuICBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMYWJlbCB0byBkaXNwbGF5IGluIHRoZSBUT0MuXG4gICAqL1xuICBsYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIZWFkaW5nIGxldmVsIGZvciBpbmRlbnRhdGlvbiAoMSwgMiwgMykuXG4gICAqL1xuICBsZXZlbDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBOZXN0ZWQgY2hpbGRyZW4gaXRlbXMuXG4gICAqL1xuICBjaGlsZHJlbj86IERvY3NUb2NJdGVtW107XG59XG4iXX0=
@@ -1,176 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, computed, Input, signal } from '@angular/core';
3
- import { IonAccordion, IonAccordionGroup, IonItem, IonLabel } from '@ionic/angular/standalone';
4
- import { parseMarkdownArticle } from '../../../services/markdown-article/markdown-article-parser';
5
- import { ArticleComponent } from '../article/article.component';
6
- import { SearchbarComponent } from '../../molecules/searchbar/searchbar.component';
7
- import * as i0 from "@angular/core";
8
- /**
9
- * `val-faq`
10
- *
11
- * Organism de preguntas frecuentes. Q&A categorizado con accordion colapsable
12
- * y buscador en vivo. Pensado para vistas FAQ públicas — el caller puede
13
- * reusar la misma data (`FaqMetadata.categories`) para emitir el structured
14
- * data `FAQPage` (JSON-LD) y ganar rich results en buscadores.
15
- *
16
- * Las respuestas (`FaqItem.answer`) son **Markdown** — se parsean con
17
- * `parseMarkdownArticle` y se renderizan vía `val-article`. Soportan links,
18
- * listas, negritas, tablas, etc.
19
- *
20
- * @example
21
- * ```html
22
- * <val-faq [props]="{ categories: faqCategories, searchable: true }" />
23
- * ```
24
- */
25
- export class FaqComponent {
26
- constructor() {
27
- this.props_ = signal({ categories: [] });
28
- /** Término de búsqueda actual. */
29
- this.query = signal('');
30
- /**
31
- * Cache de respuestas parseadas (Markdown → ArticleMetadata). Se reconstruye
32
- * solo cuando cambian las categorías — el parseo NO corre por keystroke.
33
- * Keyed por id de item (los ids son únicos en toda la FAQ).
34
- */
35
- this.parsedAnswers = computed(() => {
36
- const map = new Map();
37
- for (const cat of this.props_().categories ?? []) {
38
- for (const item of cat.items) {
39
- map.set(item.id, parseMarkdownArticle(item.answer));
40
- }
41
- }
42
- return map;
43
- });
44
- /**
45
- * Categorías visibles tras el filtro. Una categoría desaparece si ninguna
46
- * de sus preguntas matchea. Match sobre pregunta + respuesta (raw markdown),
47
- * case-insensitive.
48
- */
49
- this.visibleCategories = computed(() => {
50
- const q = this.query().trim().toLowerCase();
51
- const cats = this.props_().categories ?? [];
52
- if (!q)
53
- return cats;
54
- return cats
55
- .map(cat => ({
56
- ...cat,
57
- items: cat.items.filter(it => it.question.toLowerCase().includes(q) || it.answer.toLowerCase().includes(q)),
58
- }))
59
- .filter(cat => cat.items.length > 0);
60
- });
61
- /** `true` si se debe mostrar el label de cada categoría. */
62
- this.showCategoryLabel = computed(() => {
63
- const p = this.props_();
64
- if (p.hideSingleCategoryLabel === false)
65
- return true;
66
- return (p.categories?.length ?? 0) > 1;
67
- });
68
- }
69
- set props(value) {
70
- if (value)
71
- this.props_.set(value);
72
- }
73
- get props() {
74
- return this.props_();
75
- }
76
- /** Respuesta parseada de un item — desde el cache. */
77
- answerOf(item) {
78
- return this.parsedAnswers().get(item.id) ?? { elements: [] };
79
- }
80
- onSearch(term) {
81
- this.query.set(term ?? '');
82
- }
83
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FaqComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FaqComponent, isStandalone: true, selector: "val-faq", inputs: { props: "props" }, ngImport: i0, template: `
85
- <div class="val-faq">
86
- @if (props.searchable !== false) {
87
- <div class="val-faq__search">
88
- <val-searchbar
89
- [props]="{
90
- placeholder: props.searchPlaceholder || '',
91
- debounce: 200,
92
- }"
93
- (filterEvent)="onSearch($event)"
94
- />
95
- </div>
96
- }
97
-
98
- @if (visibleCategories().length === 0) {
99
- <p class="val-faq__empty">
100
- {{ props.noResultsText || 'Sin resultados' }}
101
- </p>
102
- } @else {
103
- @for (cat of visibleCategories(); track cat.id) {
104
- <section class="val-faq__category">
105
- @if (showCategoryLabel()) {
106
- <h3 class="val-faq__category-label">{{ cat.label }}</h3>
107
- }
108
- <ion-accordion-group [multiple]="props.multiple ?? false">
109
- @for (item of cat.items; track item.id) {
110
- <ion-accordion [value]="item.id" class="val-faq__item">
111
- <ion-item slot="header" lines="none" class="val-faq__q">
112
- <ion-label class="val-faq__q-label">
113
- {{ item.question }}
114
- </ion-label>
115
- </ion-item>
116
- <div slot="content" class="val-faq__a">
117
- <val-article [props]="answerOf(item)" />
118
- </div>
119
- </ion-accordion>
120
- }
121
- </ion-accordion-group>
122
- </section>
123
- }
124
- }
125
- </div>
126
- `, isInline: true, styles: [":host{display:block;width:100%}.val-faq__search{margin-bottom:16px}.val-faq__category+.val-faq__category{margin-top:24px}.val-faq__category-label{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ion-color-medium, #92949c);margin:0 0 8px;padding-inline:4px}ion-accordion-group{display:flex;flex-direction:column;gap:8px}.val-faq__item{border-radius:12px;overflow:hidden;background:var(--ion-color-light, #f4f5f8)}.val-faq__q{--background: transparent;--min-height: 56px}.val-faq__q-label{font-weight:600;white-space:normal}.val-faq__a{padding:4px 16px 16px}.val-faq__empty{text-align:center;padding:32px 16px;color:var(--ion-color-medium, #92949c);font-size:.95rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonAccordion, selector: "ion-accordion", inputs: ["disabled", "mode", "readonly", "toggleIcon", "toggleIconSlot", "value"] }, { kind: "component", type: IonAccordionGroup, selector: "ion-accordion-group", inputs: ["animated", "disabled", "expand", "mode", "multiple", "readonly", "value"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: SearchbarComponent, selector: "val-searchbar", inputs: ["preset", "props"], outputs: ["filterEvent", "focusEvent", "blurEvent"] }, { kind: "component", type: ArticleComponent, selector: "val-article", inputs: ["props"] }] }); }
127
- }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FaqComponent, decorators: [{
129
- type: Component,
130
- args: [{ selector: 'val-faq', standalone: true, imports: [CommonModule, IonAccordion, IonAccordionGroup, IonItem, IonLabel, SearchbarComponent, ArticleComponent], template: `
131
- <div class="val-faq">
132
- @if (props.searchable !== false) {
133
- <div class="val-faq__search">
134
- <val-searchbar
135
- [props]="{
136
- placeholder: props.searchPlaceholder || '',
137
- debounce: 200,
138
- }"
139
- (filterEvent)="onSearch($event)"
140
- />
141
- </div>
142
- }
143
-
144
- @if (visibleCategories().length === 0) {
145
- <p class="val-faq__empty">
146
- {{ props.noResultsText || 'Sin resultados' }}
147
- </p>
148
- } @else {
149
- @for (cat of visibleCategories(); track cat.id) {
150
- <section class="val-faq__category">
151
- @if (showCategoryLabel()) {
152
- <h3 class="val-faq__category-label">{{ cat.label }}</h3>
153
- }
154
- <ion-accordion-group [multiple]="props.multiple ?? false">
155
- @for (item of cat.items; track item.id) {
156
- <ion-accordion [value]="item.id" class="val-faq__item">
157
- <ion-item slot="header" lines="none" class="val-faq__q">
158
- <ion-label class="val-faq__q-label">
159
- {{ item.question }}
160
- </ion-label>
161
- </ion-item>
162
- <div slot="content" class="val-faq__a">
163
- <val-article [props]="answerOf(item)" />
164
- </div>
165
- </ion-accordion>
166
- }
167
- </ion-accordion-group>
168
- </section>
169
- }
170
- }
171
- </div>
172
- `, styles: [":host{display:block;width:100%}.val-faq__search{margin-bottom:16px}.val-faq__category+.val-faq__category{margin-top:24px}.val-faq__category-label{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ion-color-medium, #92949c);margin:0 0 8px;padding-inline:4px}ion-accordion-group{display:flex;flex-direction:column;gap:8px}.val-faq__item{border-radius:12px;overflow:hidden;background:var(--ion-color-light, #f4f5f8)}.val-faq__q{--background: transparent;--min-height: 56px}.val-faq__q-label{font-weight:600;white-space:normal}.val-faq__a{padding:4px 16px 16px}.val-faq__empty{text-align:center;padding:32px 16px;color:var(--ion-color-medium, #92949c);font-size:.95rem}\n"] }]
173
- }], propDecorators: { props: [{
174
- type: Input
175
- }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFxLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvZmFxL2ZhcS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7O0FBR25GOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBNEdILE1BQU0sT0FBTyxZQUFZO0lBM0d6QjtRQTRHbUIsV0FBTSxHQUFHLE1BQU0sQ0FBYyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBU2xFLGtDQUFrQztRQUNqQixVQUFLLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXBDOzs7O1dBSUc7UUFDYyxrQkFBYSxHQUFHLFFBQVEsQ0FBK0IsR0FBRyxFQUFFO1lBQzNFLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUEyQixDQUFDO1lBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDakQsS0FBSyxNQUFNLElBQUksSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQzdCLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDdEQsQ0FBQztZQUNILENBQUM7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsQ0FBQyxDQUFDO1FBT0g7Ozs7V0FJRztRQUNNLHNCQUFpQixHQUFHLFFBQVEsQ0FBZ0IsR0FBRyxFQUFFO1lBQ3hELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM1QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsQ0FBQztnQkFBRSxPQUFPLElBQUksQ0FBQztZQUNwQixPQUFPLElBQUk7aUJBQ1IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDWCxHQUFHLEdBQUc7Z0JBQ04sS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDNUcsQ0FBQyxDQUFDO2lCQUNGLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsNERBQTREO1FBQ25ELHNCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDekMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxDQUFDLHVCQUF1QixLQUFLLEtBQUs7Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFDckQsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztLQUtKO0lBekRDLElBQWEsS0FBSyxDQUFDLEtBQThCO1FBQy9DLElBQUksS0FBSztZQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBb0JELHNEQUFzRDtJQUN0RCxRQUFRLENBQUMsSUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUEwQkQsUUFBUSxDQUFDLElBQVk7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7K0dBM0RVLFlBQVk7bUdBQVosWUFBWSwrRkF2R2I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDVCw0d0JBM0NTLFlBQVksK0JBQUUsWUFBWSw2SUFBRSxpQkFBaUIscUpBQUUsT0FBTywwTkFBRSxRQUFRLDZGQUFFLGtCQUFrQiw0SUFBRSxnQkFBZ0I7OzRGQXdHckcsWUFBWTtrQkEzR3hCLFNBQVM7K0JBQ0UsU0FBUyxjQUNQLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQyxZQUN2Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMENUOzhCQWdFWSxLQUFLO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIElucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkFjY29yZGlvbiwgSW9uQWNjb3JkaW9uR3JvdXAsIElvbkl0ZW0sIElvbkxhYmVsIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBwYXJzZU1hcmtkb3duQXJ0aWNsZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcmtkb3duLWFydGljbGUvbWFya2Rvd24tYXJ0aWNsZS1wYXJzZXInO1xuaW1wb3J0IHsgQXJ0aWNsZUNvbXBvbmVudCB9IGZyb20gJy4uL2FydGljbGUvYXJ0aWNsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXJ0aWNsZU1ldGFkYXRhIH0gZnJvbSAnLi4vYXJ0aWNsZS90eXBlcyc7XG5pbXBvcnQgeyBTZWFyY2hiYXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvc2VhcmNoYmFyL3NlYXJjaGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFxQ2F0ZWdvcnksIEZhcUl0ZW0sIEZhcU1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogYHZhbC1mYXFgXG4gKlxuICogT3JnYW5pc20gZGUgcHJlZ3VudGFzIGZyZWN1ZW50ZXMuIFEmQSBjYXRlZ29yaXphZG8gY29uIGFjY29yZGlvbiBjb2xhcHNhYmxlXG4gKiB5IGJ1c2NhZG9yIGVuIHZpdm8uIFBlbnNhZG8gcGFyYSB2aXN0YXMgRkFRIHDDumJsaWNhcyDigJQgZWwgY2FsbGVyIHB1ZWRlXG4gKiByZXVzYXIgbGEgbWlzbWEgZGF0YSAoYEZhcU1ldGFkYXRhLmNhdGVnb3JpZXNgKSBwYXJhIGVtaXRpciBlbCBzdHJ1Y3R1cmVkXG4gKiBkYXRhIGBGQVFQYWdlYCAoSlNPTi1MRCkgeSBnYW5hciByaWNoIHJlc3VsdHMgZW4gYnVzY2Fkb3Jlcy5cbiAqXG4gKiBMYXMgcmVzcHVlc3RhcyAoYEZhcUl0ZW0uYW5zd2VyYCkgc29uICoqTWFya2Rvd24qKiDigJQgc2UgcGFyc2VhbiBjb25cbiAqIGBwYXJzZU1hcmtkb3duQXJ0aWNsZWAgeSBzZSByZW5kZXJpemFuIHbDrWEgYHZhbC1hcnRpY2xlYC4gU29wb3J0YW4gbGlua3MsXG4gKiBsaXN0YXMsIG5lZ3JpdGFzLCB0YWJsYXMsIGV0Yy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHZhbC1mYXEgW3Byb3BzXT1cInsgY2F0ZWdvcmllczogZmFxQ2F0ZWdvcmllcywgc2VhcmNoYWJsZTogdHJ1ZSB9XCIgLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZmFxJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uQWNjb3JkaW9uLCBJb25BY2NvcmRpb25Hcm91cCwgSW9uSXRlbSwgSW9uTGFiZWwsIFNlYXJjaGJhckNvbXBvbmVudCwgQXJ0aWNsZUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInZhbC1mYXFcIj5cbiAgICAgIEBpZiAocHJvcHMuc2VhcmNoYWJsZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbC1mYXFfX3NlYXJjaFwiPlxuICAgICAgICAgIDx2YWwtc2VhcmNoYmFyXG4gICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogcHJvcHMuc2VhcmNoUGxhY2Vob2xkZXIgfHwgJycsXG4gICAgICAgICAgICAgIGRlYm91bmNlOiAyMDAsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIChmaWx0ZXJFdmVudCk9XCJvblNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgQGlmICh2aXNpYmxlQ2F0ZWdvcmllcygpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICA8cCBjbGFzcz1cInZhbC1mYXFfX2VtcHR5XCI+XG4gICAgICAgICAge3sgcHJvcHMubm9SZXN1bHRzVGV4dCB8fCAnU2luIHJlc3VsdGFkb3MnIH19XG4gICAgICAgIDwvcD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAZm9yIChjYXQgb2YgdmlzaWJsZUNhdGVnb3JpZXMoKTsgdHJhY2sgY2F0LmlkKSB7XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJ2YWwtZmFxX19jYXRlZ29yeVwiPlxuICAgICAgICAgICAgQGlmIChzaG93Q2F0ZWdvcnlMYWJlbCgpKSB7XG4gICAgICAgICAgICAgIDxoMyBjbGFzcz1cInZhbC1mYXFfX2NhdGVnb3J5LWxhYmVsXCI+e3sgY2F0LmxhYmVsIH19PC9oMz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxpb24tYWNjb3JkaW9uLWdyb3VwIFttdWx0aXBsZV09XCJwcm9wcy5tdWx0aXBsZSA/PyBmYWxzZVwiPlxuICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIGNhdC5pdGVtczsgdHJhY2sgaXRlbS5pZCkge1xuICAgICAgICAgICAgICAgIDxpb24tYWNjb3JkaW9uIFt2YWx1ZV09XCJpdGVtLmlkXCIgY2xhc3M9XCJ2YWwtZmFxX19pdGVtXCI+XG4gICAgICAgICAgICAgICAgICA8aW9uLWl0ZW0gc2xvdD1cImhlYWRlclwiIGxpbmVzPVwibm9uZVwiIGNsYXNzPVwidmFsLWZhcV9fcVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW9uLWxhYmVsIGNsYXNzPVwidmFsLWZhcV9fcS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0ucXVlc3Rpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgICAgICAgICAgPGRpdiBzbG90PVwiY29udGVudFwiIGNsYXNzPVwidmFsLWZhcV9fYVwiPlxuICAgICAgICAgICAgICAgICAgICA8dmFsLWFydGljbGUgW3Byb3BzXT1cImFuc3dlck9mKGl0ZW0pXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvaW9uLWFjY29yZGlvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9pb24tYWNjb3JkaW9uLWdyb3VwPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLnZhbC1mYXFfX3NlYXJjaCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZmFxX19jYXRlZ29yeSArIC52YWwtZmFxX19jYXRlZ29yeSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZmFxX19jYXRlZ29yeS1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzkyOTQ5Yyk7XG4gICAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDRweDtcbiAgICAgIH1cblxuICAgICAgaW9uLWFjY29yZGlvbi1ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuXG4gICAgICAudmFsLWZhcV9faXRlbSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1saWdodCwgI2Y0ZjVmOCk7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZmFxX19xIHtcbiAgICAgICAgLS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgLS1taW4taGVpZ2h0OiA1NnB4O1xuICAgICAgfVxuXG4gICAgICAudmFsLWZhcV9fcS1sYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZmFxX19hIHtcbiAgICAgICAgcGFkZGluZzogNHB4IDE2cHggMTZweDtcbiAgICAgIH1cblxuICAgICAgLnZhbC1mYXFfX2VtcHR5IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAzMnB4IDE2cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtLCAjOTI5NDljKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZhcUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvcHNfID0gc2lnbmFsPEZhcU1ldGFkYXRhPih7IGNhdGVnb3JpZXM6IFtdIH0pO1xuXG4gIEBJbnB1dCgpIHNldCBwcm9wcyh2YWx1ZTogRmFxTWV0YWRhdGEgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUpIHRoaXMucHJvcHNfLnNldCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHByb3BzKCk6IEZhcU1ldGFkYXRhIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wc18oKTtcbiAgfVxuXG4gIC8qKiBUw6lybWlubyBkZSBiw7pzcXVlZGEgYWN0dWFsLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHF1ZXJ5ID0gc2lnbmFsKCcnKTtcblxuICAvKipcbiAgICogQ2FjaGUgZGUgcmVzcHVlc3RhcyBwYXJzZWFkYXMgKE1hcmtkb3duIOKGkiBBcnRpY2xlTWV0YWRhdGEpLiBTZSByZWNvbnN0cnV5ZVxuICAgKiBzb2xvIGN1YW5kbyBjYW1iaWFuIGxhcyBjYXRlZ29yw61hcyDigJQgZWwgcGFyc2VvIE5PIGNvcnJlIHBvciBrZXlzdHJva2UuXG4gICAqIEtleWVkIHBvciBpZCBkZSBpdGVtIChsb3MgaWRzIHNvbiDDum5pY29zIGVuIHRvZGEgbGEgRkFRKS5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyc2VkQW5zd2VycyA9IGNvbXB1dGVkPE1hcDxzdHJpbmcsIEFydGljbGVNZXRhZGF0YT4+KCgpID0+IHtcbiAgICBjb25zdCBtYXAgPSBuZXcgTWFwPHN0cmluZywgQXJ0aWNsZU1ldGFkYXRhPigpO1xuICAgIGZvciAoY29uc3QgY2F0IG9mIHRoaXMucHJvcHNfKCkuY2F0ZWdvcmllcyA/PyBbXSkge1xuICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGNhdC5pdGVtcykge1xuICAgICAgICBtYXAuc2V0KGl0ZW0uaWQsIHBhcnNlTWFya2Rvd25BcnRpY2xlKGl0ZW0uYW5zd2VyKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtYXA7XG4gIH0pO1xuXG4gIC8qKiBSZXNwdWVzdGEgcGFyc2VhZGEgZGUgdW4gaXRlbSDigJQgZGVzZGUgZWwgY2FjaGUuICovXG4gIGFuc3dlck9mKGl0ZW06IEZhcUl0ZW0pOiBBcnRpY2xlTWV0YWRhdGEge1xuICAgIHJldHVybiB0aGlzLnBhcnNlZEFuc3dlcnMoKS5nZXQoaXRlbS5pZCkgPz8geyBlbGVtZW50czogW10gfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYXRlZ29yw61hcyB2aXNpYmxlcyB0cmFzIGVsIGZpbHRyby4gVW5hIGNhdGVnb3LDrWEgZGVzYXBhcmVjZSBzaSBuaW5ndW5hXG4gICAqIGRlIHN1cyBwcmVndW50YXMgbWF0Y2hlYS4gTWF0Y2ggc29icmUgcHJlZ3VudGEgKyByZXNwdWVzdGEgKHJhdyBtYXJrZG93biksXG4gICAqIGNhc2UtaW5zZW5zaXRpdmUuXG4gICAqL1xuICByZWFkb25seSB2aXNpYmxlQ2F0ZWdvcmllcyA9IGNvbXB1dGVkPEZhcUNhdGVnb3J5W10+KCgpID0+IHtcbiAgICBjb25zdCBxID0gdGhpcy5xdWVyeSgpLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGNhdHMgPSB0aGlzLnByb3BzXygpLmNhdGVnb3JpZXMgPz8gW107XG4gICAgaWYgKCFxKSByZXR1cm4gY2F0cztcbiAgICByZXR1cm4gY2F0c1xuICAgICAgLm1hcChjYXQgPT4gKHtcbiAgICAgICAgLi4uY2F0LFxuICAgICAgICBpdGVtczogY2F0Lml0ZW1zLmZpbHRlcihpdCA9PiBpdC5xdWVzdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHEpIHx8IGl0LmFuc3dlci50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHEpKSxcbiAgICAgIH0pKVxuICAgICAgLmZpbHRlcihjYXQgPT4gY2F0Lml0ZW1zLmxlbmd0aCA+IDApO1xuICB9KTtcblxuICAvKiogYHRydWVgIHNpIHNlIGRlYmUgbW9zdHJhciBlbCBsYWJlbCBkZSBjYWRhIGNhdGVnb3LDrWEuICovXG4gIHJlYWRvbmx5IHNob3dDYXRlZ29yeUxhYmVsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHAgPSB0aGlzLnByb3BzXygpO1xuICAgIGlmIChwLmhpZGVTaW5nbGVDYXRlZ29yeUxhYmVsID09PSBmYWxzZSkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIChwLmNhdGVnb3JpZXM/Lmxlbmd0aCA/PyAwKSA+IDE7XG4gIH0pO1xuXG4gIG9uU2VhcmNoKHRlcm06IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucXVlcnkuc2V0KHRlcm0gPz8gJycpO1xuICB9XG59XG4iXX0=
@@ -1,9 +0,0 @@
1
- /**
2
- * Tipos del organism `val-faq`.
3
- *
4
- * Modelo Q&A categorizado. Pensado para vistas FAQ públicas (sitio corporativo)
5
- * — el caller también puede usar la misma data para emitir structured data
6
- * `FAQPage` (JSON-LD) y ganar rich results en buscadores.
7
- */
8
- export {};
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2ZhcS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRpcG9zIGRlbCBvcmdhbmlzbSBgdmFsLWZhcWAuXG4gKlxuICogTW9kZWxvIFEmQSBjYXRlZ29yaXphZG8uIFBlbnNhZG8gcGFyYSB2aXN0YXMgRkFRIHDDumJsaWNhcyAoc2l0aW8gY29ycG9yYXRpdm8pXG4gKiDigJQgZWwgY2FsbGVyIHRhbWJpw6luIHB1ZWRlIHVzYXIgbGEgbWlzbWEgZGF0YSBwYXJhIGVtaXRpciBzdHJ1Y3R1cmVkIGRhdGFcbiAqIGBGQVFQYWdlYCAoSlNPTi1MRCkgeSBnYW5hciByaWNoIHJlc3VsdHMgZW4gYnVzY2Fkb3Jlcy5cbiAqL1xuXG4vKiogVW5hIHByZWd1bnRhLXJlc3B1ZXN0YS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFxSXRlbSB7XG4gIC8qKiBJZGVudGlmaWNhZG9yIMO6bmljbyBkZW50cm8gZGUgbGEgRkFRIOKAlCB1c2FkbyBjb21vIHRyYWNrICsgYWNjb3JkaW9uIHZhbHVlLiAqL1xuICBpZDogc3RyaW5nO1xuICAvKiogTGEgcHJlZ3VudGEuICovXG4gIHF1ZXN0aW9uOiBzdHJpbmc7XG4gIC8qKiBMYSByZXNwdWVzdGEuIFRleHRvIHBsYW5vIChsb3Mgc2FsdG9zIGRlIGzDrW5lYSBzZSByZXNwZXRhbikuICovXG4gIGFuc3dlcjogc3RyaW5nO1xufVxuXG4vKiogR3J1cG8gZGUgcHJlZ3VudGFzIGJham8gdW4gdGVtYS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFxQ2F0ZWdvcnkge1xuICAvKiogSWRlbnRpZmljYWRvciDDum5pY28gZGUgbGEgY2F0ZWdvcsOtYS4gKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIEV0aXF1ZXRhIHZpc2libGUgZGVsIGdydXBvLiAqL1xuICBsYWJlbDogc3RyaW5nO1xuICAvKiogUHJlZ3VudGFzIGRlbCBncnVwby4gKi9cbiAgaXRlbXM6IEZhcUl0ZW1bXTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBkZWwgb3JnYW5pc20gYHZhbC1mYXFgLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8dmFsLWZhcVxuICogICBbcHJvcHNdPVwie1xuICogICAgIGNhdGVnb3JpZXM6IGZhcUNhdGVnb3JpZXMsXG4gKiAgICAgc2VhcmNoYWJsZTogdHJ1ZSxcbiAqICAgICBzZWFyY2hQbGFjZWhvbGRlcjogJ0J1c2Nhci4uLicsXG4gKiAgIH1cIlxuICogLz5cbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZhcU1ldGFkYXRhIHtcbiAgLyoqIENhdGVnb3LDrWFzIGNvbiBzdXMgcHJlZ3VudGFzLCBlbiBvcmRlbiBkZSBhcGFyaWNpw7NuLiAqL1xuICBjYXRlZ29yaWVzOiBGYXFDYXRlZ29yeVtdO1xuICAvKiogTXVlc3RyYSBlbCBidXNjYWRvciBxdWUgZmlsdHJhIHByZWd1bnRhcyBlbiB2aXZvLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgc2VhcmNoYWJsZT86IGJvb2xlYW47XG4gIC8qKiBQbGFjZWhvbGRlciBkZWwgYnVzY2Fkb3IuICovXG4gIHNlYXJjaFBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKiogUGVybWl0ZSB2YXJpYXMgcHJlZ3VudGFzIGFiaWVydGFzIGEgbGEgdmV6LiBEZWZhdWx0IGBmYWxzZWAuICovXG4gIG11bHRpcGxlPzogYm9vbGVhbjtcbiAgLyoqIFRleHRvIGN1YW5kbyBsYSBiw7pzcXVlZGEgbm8gYXJyb2phIHJlc3VsdGFkb3MuICovXG4gIG5vUmVzdWx0c1RleHQ/OiBzdHJpbmc7XG4gIC8qKiBPY3VsdGEgZWwgbGFiZWwgZGUgY2F0ZWdvcsOtYSBjdWFuZG8gc29sbyBoYXkgdW5hLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgaGlkZVNpbmdsZUNhdGVnb3J5TGFiZWw/OiBib29sZWFuO1xufVxuIl19