valtech-components 2.0.821 → 2.0.824

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/esm2022/lib/components/atoms/avatar/avatar.component.mjs +94 -0
  2. package/esm2022/lib/components/atoms/avatar/types.mjs +2 -0
  3. package/esm2022/lib/components/atoms/box/box.component.mjs +88 -0
  4. package/esm2022/lib/components/atoms/box/types.mjs +2 -0
  5. package/esm2022/lib/components/atoms/button/button.component.mjs +174 -0
  6. package/esm2022/lib/components/atoms/button/factory.mjs +217 -0
  7. package/esm2022/lib/components/atoms/container/container.component.mjs +52 -0
  8. package/esm2022/lib/components/atoms/container/types.mjs +2 -0
  9. package/esm2022/lib/components/atoms/countdown/countdown.component.mjs +340 -0
  10. package/esm2022/lib/components/atoms/countdown/types.mjs +27 -0
  11. package/esm2022/lib/components/atoms/display/display.component.mjs +51 -0
  12. package/esm2022/lib/components/atoms/display/types.mjs +2 -0
  13. package/esm2022/lib/components/atoms/divider/divider.component.mjs +27 -0
  14. package/esm2022/lib/components/atoms/divider/types.mjs +2 -0
  15. package/esm2022/lib/components/atoms/fab/fab.component.mjs +190 -0
  16. package/esm2022/lib/components/atoms/fab/types.mjs +2 -0
  17. package/esm2022/lib/components/atoms/glass/glass.component.mjs +125 -0
  18. package/esm2022/lib/components/atoms/glass/types.mjs +2 -0
  19. package/esm2022/lib/components/atoms/glow/glow.component.mjs +95 -0
  20. package/esm2022/lib/components/atoms/glow/types.mjs +2 -0
  21. package/esm2022/lib/components/atoms/horizontal-scroll/horizontal-scroll.component.mjs +82 -0
  22. package/esm2022/lib/components/atoms/horizontal-scroll/types.mjs +2 -0
  23. package/esm2022/lib/components/atoms/href/href.component.mjs +62 -0
  24. package/esm2022/lib/components/atoms/href/types.mjs +2 -0
  25. package/esm2022/lib/components/atoms/icon/icon.component.mjs +29 -0
  26. package/esm2022/lib/components/atoms/icon/types.mjs +2 -0
  27. package/esm2022/lib/components/atoms/image/image.component.mjs +507 -0
  28. package/esm2022/lib/components/atoms/image/types.mjs +2 -0
  29. package/esm2022/lib/components/atoms/pattern/motifs.mjs +147 -0
  30. package/esm2022/lib/components/atoms/pattern/pattern.component.mjs +178 -0
  31. package/esm2022/lib/components/atoms/pattern/types.mjs +2 -0
  32. package/esm2022/lib/components/atoms/price-tag/price-tag.component.mjs +235 -0
  33. package/esm2022/lib/components/atoms/price-tag/types.mjs +15 -0
  34. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +91 -0
  35. package/esm2022/lib/components/atoms/progress-bar/types.mjs +2 -0
  36. package/esm2022/lib/components/atoms/progress-ring/progress-ring.component.mjs +149 -0
  37. package/esm2022/lib/components/atoms/progress-ring/types.mjs +2 -0
  38. package/esm2022/lib/components/atoms/qr-code/qr-code.component.mjs +394 -0
  39. package/esm2022/lib/components/atoms/qr-code/types.mjs +2 -0
  40. package/esm2022/lib/components/atoms/rights-footer/rights-footer.component.mjs +108 -0
  41. package/esm2022/lib/components/atoms/rights-footer/types.mjs +2 -0
  42. package/esm2022/lib/components/atoms/skeleton/skeleton.component.mjs +193 -0
  43. package/esm2022/lib/components/atoms/skeleton/types.mjs +13 -0
  44. package/esm2022/lib/components/atoms/text/text.component.mjs +132 -0
  45. package/esm2022/lib/components/atoms/text/types.mjs +2 -0
  46. package/esm2022/lib/components/atoms/title/title.component.mjs +68 -0
  47. package/esm2022/lib/components/atoms/title/types.mjs +22 -0
  48. package/esm2022/lib/components/atoms/user-avatar/types.mjs +2 -0
  49. package/esm2022/lib/components/atoms/user-avatar/user-avatar.component.mjs +209 -0
  50. package/esm2022/lib/components/molecules/accordion/accordion.component.mjs +120 -0
  51. package/esm2022/lib/components/molecules/accordion/types.mjs +2 -0
  52. package/esm2022/lib/components/molecules/action-card/action-card.component.mjs +273 -0
  53. package/esm2022/lib/components/molecules/action-card/types.mjs +11 -0
  54. package/esm2022/lib/components/molecules/action-header/action-header.component.mjs +55 -0
  55. package/esm2022/lib/components/molecules/action-header/types.mjs +2 -0
  56. package/esm2022/lib/components/molecules/ad-slot/ad-slot.component.mjs +274 -0
  57. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +119 -0
  58. package/esm2022/lib/components/molecules/alert-box/types.mjs +2 -0
  59. package/esm2022/lib/components/molecules/breadcrumb/breadcrumb.component.mjs +130 -0
  60. package/esm2022/lib/components/molecules/breadcrumb/types.mjs +2 -0
  61. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +63 -0
  62. package/esm2022/lib/components/molecules/button-group/types.mjs +2 -0
  63. package/esm2022/lib/components/molecules/card/card.component.mjs +450 -0
  64. package/esm2022/lib/components/molecules/card/types.mjs +16 -0
  65. package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +82 -0
  66. package/esm2022/lib/components/molecules/checkbox-radio-input/checkbox-radio-input.component.mjs +79 -0
  67. package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +166 -0
  68. package/esm2022/lib/components/molecules/chip-group/types.mjs +2 -0
  69. package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +115 -0
  70. package/esm2022/lib/components/molecules/code-display/types.mjs +2 -0
  71. package/esm2022/lib/components/molecules/command-display/command-display.component.mjs +49 -0
  72. package/esm2022/lib/components/molecules/command-display/types.mjs +2 -0
  73. package/esm2022/lib/components/molecules/comment/comment.component.mjs +618 -0
  74. package/esm2022/lib/components/molecules/comment/types.mjs +2 -0
  75. package/esm2022/lib/components/molecules/comment-input/comment-input.component.mjs +41 -0
  76. package/esm2022/lib/components/molecules/comment-input/types.mjs +2 -0
  77. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +42 -0
  78. package/esm2022/lib/components/molecules/content-loader/types.mjs +2 -0
  79. package/esm2022/lib/components/molecules/content-reaction/content-reaction.component.mjs +210 -0
  80. package/esm2022/lib/components/molecules/content-reaction/types.mjs +2 -0
  81. package/esm2022/lib/components/molecules/currency-input/currency-input.component.mjs +347 -0
  82. package/esm2022/lib/components/molecules/currency-input/types.mjs +18 -0
  83. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +148 -0
  84. package/esm2022/lib/components/molecules/date-input/types.mjs +2 -0
  85. package/esm2022/lib/components/molecules/date-range-input/date-range-input.component.mjs +416 -0
  86. package/esm2022/lib/components/molecules/date-range-input/types.mjs +2 -0
  87. package/esm2022/lib/components/molecules/docs-api-table/docs-api-table.component.mjs +222 -0
  88. package/esm2022/lib/components/molecules/docs-api-table/types.mjs +11 -0
  89. package/esm2022/lib/components/molecules/docs-breadcrumb/docs-breadcrumb.component.mjs +144 -0
  90. package/esm2022/lib/components/molecules/docs-breadcrumb/types.mjs +2 -0
  91. package/esm2022/lib/components/molecules/docs-callout/docs-callout.component.mjs +60 -0
  92. package/esm2022/lib/components/molecules/docs-code-example/docs-code-example.component.mjs +249 -0
  93. package/esm2022/lib/components/molecules/docs-code-example/types.mjs +2 -0
  94. package/esm2022/lib/components/molecules/docs-nav-links/docs-nav-links.component.mjs +140 -0
  95. package/esm2022/lib/components/molecules/docs-nav-links/types.mjs +2 -0
  96. package/esm2022/lib/components/molecules/docs-search/docs-search.component.mjs +268 -0
  97. package/esm2022/lib/components/molecules/docs-search/types.mjs +2 -0
  98. package/esm2022/lib/components/molecules/docs-section/docs-section.component.mjs +85 -0
  99. package/esm2022/lib/components/molecules/docs-section/types.mjs +2 -0
  100. package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +68 -0
  101. package/esm2022/lib/components/molecules/expandable-text/expandable-text.component.mjs +77 -0
  102. package/esm2022/lib/components/molecules/expandable-text/types.mjs +2 -0
  103. package/esm2022/lib/components/molecules/features-list/features-list.component.mjs +179 -0
  104. package/esm2022/lib/components/molecules/features-list/types.mjs +11 -0
  105. package/esm2022/lib/components/molecules/feedback-form/feedback-form.component.mjs +354 -0
  106. package/esm2022/lib/components/molecules/feedback-form/types.mjs +2 -0
  107. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +90 -0
  108. package/esm2022/lib/components/molecules/file-input/types.mjs +2 -0
  109. package/esm2022/lib/components/molecules/footer-links/footer-links.component.mjs +391 -0
  110. package/esm2022/lib/components/molecules/footer-links/types.mjs +2 -0
  111. package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +314 -0
  112. package/esm2022/lib/components/molecules/glow-card/types.mjs +11 -0
  113. package/esm2022/lib/components/molecules/hint/hint.component.mjs +90 -0
  114. package/esm2022/lib/components/molecules/hour-input/hour-input.component.mjs +28 -0
  115. package/esm2022/lib/components/molecules/image-crop/image-crop.component.mjs +174 -0
  116. package/esm2022/lib/components/molecules/image-crop/index.mjs +2 -0
  117. package/esm2022/lib/components/molecules/info/info.component.mjs +49 -0
  118. package/esm2022/lib/components/molecules/info/types.mjs +2 -0
  119. package/esm2022/lib/components/molecules/language-selector/language-selector.component.mjs +221 -0
  120. package/esm2022/lib/components/molecules/language-selector/types.mjs +2 -0
  121. package/esm2022/lib/components/molecules/layered-card/layered-card.component.mjs +104 -0
  122. package/esm2022/lib/components/molecules/layered-card/types.mjs +2 -0
  123. package/esm2022/lib/components/molecules/link/link.component.mjs +64 -0
  124. package/esm2022/lib/components/molecules/link/types.mjs +2 -0
  125. package/esm2022/lib/components/molecules/linked-providers/linked-providers.component.mjs +236 -0
  126. package/esm2022/lib/components/molecules/linked-providers/types.mjs +27 -0
  127. package/esm2022/lib/components/molecules/links-accordion/links-accordion.component.mjs +203 -0
  128. package/esm2022/lib/components/molecules/links-accordion/types.mjs +2 -0
  129. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +51 -0
  130. package/esm2022/lib/components/molecules/links-cake/types.mjs +2 -0
  131. package/esm2022/lib/components/molecules/multi-select-search/multi-select-search.component.mjs +488 -0
  132. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +92 -0
  133. package/esm2022/lib/components/molecules/notes-box/types.mjs +2 -0
  134. package/esm2022/lib/components/molecules/number-from-to/number-from-to.component.mjs +143 -0
  135. package/esm2022/lib/components/molecules/number-from-to/types.mjs +2 -0
  136. package/esm2022/lib/components/molecules/number-input/number-input.component.mjs +34 -0
  137. package/esm2022/lib/components/molecules/number-stepper/number-stepper.component.mjs +379 -0
  138. package/esm2022/lib/components/molecules/number-stepper/types.mjs +2 -0
  139. package/esm2022/lib/components/molecules/page-links/page-links.component.mjs +150 -0
  140. package/esm2022/lib/components/molecules/page-links/types.mjs +2 -0
  141. package/esm2022/lib/components/molecules/pagination/pagination.component.mjs +253 -0
  142. package/esm2022/lib/components/molecules/pagination/types.mjs +2 -0
  143. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +93 -0
  144. package/esm2022/lib/components/molecules/phone-input/phone-input.component.mjs +365 -0
  145. package/esm2022/lib/components/molecules/phone-input/types.mjs +19 -0
  146. package/esm2022/lib/components/molecules/pill/pill.component.mjs +202 -0
  147. package/esm2022/lib/components/molecules/pill/types.mjs +2 -0
  148. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +78 -0
  149. package/esm2022/lib/components/molecules/pin-input/types.mjs +2 -0
  150. package/esm2022/lib/components/molecules/plain-code-box/plain-code-box.component.mjs +82 -0
  151. package/esm2022/lib/components/molecules/plain-code-box/types.mjs +2 -0
  152. package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +188 -0
  153. package/esm2022/lib/components/molecules/popover-selector/types.mjs +2 -0
  154. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +105 -0
  155. package/esm2022/lib/components/molecules/progress-status/types.mjs +2 -0
  156. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +85 -0
  157. package/esm2022/lib/components/molecules/prompter/types.mjs +2 -0
  158. package/esm2022/lib/components/molecules/quote-box/quote-box.component.mjs +155 -0
  159. package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +52 -0
  160. package/esm2022/lib/components/molecules/range-input/range-input.component.mjs +127 -0
  161. package/esm2022/lib/components/molecules/range-input/types.mjs +2 -0
  162. package/esm2022/lib/components/molecules/rating/rating.component.mjs +166 -0
  163. package/esm2022/lib/components/molecules/rating/types.mjs +2 -0
  164. package/esm2022/lib/components/molecules/refresher/refresher.component.mjs +275 -0
  165. package/esm2022/lib/components/molecules/refresher/types.mjs +15 -0
  166. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +127 -0
  167. package/esm2022/lib/components/molecules/searchbar/types.mjs +2 -0
  168. package/esm2022/lib/components/molecules/segment-control/segment-control.component.mjs +129 -0
  169. package/esm2022/lib/components/molecules/segment-control/types.mjs +2 -0
  170. package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +148 -0
  171. package/esm2022/lib/components/molecules/select-search/select-search.component.mjs +434 -0
  172. package/esm2022/lib/components/molecules/share-buttons/share-buttons.component.mjs +274 -0
  173. package/esm2022/lib/components/molecules/share-buttons/types.mjs +88 -0
  174. package/esm2022/lib/components/molecules/stats-card/stats-card.component.mjs +211 -0
  175. package/esm2022/lib/components/molecules/stats-card/types.mjs +2 -0
  176. package/esm2022/lib/components/molecules/stepper/stepper.component.mjs +242 -0
  177. package/esm2022/lib/components/molecules/stepper/types.mjs +2 -0
  178. package/esm2022/lib/components/molecules/swipe-carousel/swipe-carousel.component.mjs +206 -0
  179. package/esm2022/lib/components/molecules/swipe-carousel/types.mjs +2 -0
  180. package/esm2022/lib/components/molecules/tabs/tabs.component.mjs +139 -0
  181. package/esm2022/lib/components/molecules/tabs/types.mjs +2 -0
  182. package/esm2022/lib/components/molecules/testimonial-card/testimonial-card.component.mjs +138 -0
  183. package/esm2022/lib/components/molecules/testimonial-card/types.mjs +2 -0
  184. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +77 -0
  185. package/esm2022/lib/components/molecules/textarea-input/textarea-input.component.mjs +213 -0
  186. package/esm2022/lib/components/molecules/textarea-input/types.mjs +2 -0
  187. package/esm2022/lib/components/molecules/timeline/timeline.component.mjs +140 -0
  188. package/esm2022/lib/components/molecules/timeline/types.mjs +2 -0
  189. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +102 -0
  190. package/esm2022/lib/components/molecules/title-block/types.mjs +2 -0
  191. package/esm2022/lib/components/molecules/toggle-input/toggle-input.component.mjs +93 -0
  192. package/esm2022/lib/components/molecules/toggle-input/types.mjs +2 -0
  193. package/esm2022/lib/components/molecules/update-banner/types.mjs +42 -0
  194. package/esm2022/lib/components/molecules/update-banner/update-banner.component.mjs +243 -0
  195. package/esm2022/lib/components/molecules/username-input/types.mjs +2 -0
  196. package/esm2022/lib/components/molecules/username-input/username-input.component.mjs +295 -0
  197. package/esm2022/lib/components/organisms/article/article.component.mjs +578 -0
  198. package/esm2022/lib/components/organisms/article/types.mjs +183 -0
  199. package/esm2022/lib/components/organisms/avatar-upload/avatar-upload.component.mjs +325 -0
  200. package/esm2022/lib/components/organisms/avatar-upload/types.mjs +15 -0
  201. package/esm2022/lib/components/organisms/banner/banner.component.mjs +111 -0
  202. package/esm2022/lib/components/organisms/banner/types.mjs +2 -0
  203. package/esm2022/lib/components/organisms/bottom-nav/bottom-nav.component.mjs +383 -0
  204. package/esm2022/lib/components/organisms/bottom-nav/types.mjs +19 -0
  205. package/esm2022/lib/components/organisms/cards-carousel/cards-carousel.component.mjs +108 -0
  206. package/esm2022/lib/components/organisms/cards-carousel/types.mjs +2 -0
  207. package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +537 -0
  208. package/esm2022/lib/components/organisms/comment-section/types.mjs +2 -0
  209. package/esm2022/lib/components/organisms/company-footer/company-footer.component.mjs +76 -0
  210. package/esm2022/lib/components/organisms/company-footer/types.mjs +2 -0
  211. package/esm2022/lib/components/organisms/cookie-banner/cookie-banner.component.mjs +199 -0
  212. package/esm2022/lib/components/organisms/cookie-banner/types.mjs +2 -0
  213. package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +1081 -0
  214. package/esm2022/lib/components/organisms/data-table/types.mjs +13 -0
  215. package/esm2022/lib/components/organisms/docs-sidebar/docs-sidebar.component.mjs +290 -0
  216. package/esm2022/lib/components/organisms/docs-sidebar/types.mjs +2 -0
  217. package/esm2022/lib/components/organisms/docs-toc/docs-toc.component.mjs +307 -0
  218. package/esm2022/lib/components/organisms/docs-toc/types.mjs +2 -0
  219. package/esm2022/lib/components/organisms/faq/faq.component.mjs +176 -0
  220. package/esm2022/lib/components/organisms/faq/types.mjs +9 -0
  221. package/esm2022/lib/components/organisms/footer/footer.component.mjs +73 -0
  222. package/esm2022/lib/components/organisms/footer/types.mjs +2 -0
  223. package/esm2022/lib/components/organisms/form/factory.mjs +29 -0
  224. package/esm2022/lib/components/organisms/form/form-footer/form-footer.component.mjs +83 -0
  225. package/esm2022/lib/components/organisms/form/form.component.mjs +510 -0
  226. package/esm2022/lib/components/organisms/fun-header/fun-header.component.mjs +225 -0
  227. package/esm2022/lib/components/organisms/fun-header/types.mjs +2 -0
  228. package/esm2022/lib/components/organisms/header/header.component.mjs +51 -0
  229. package/esm2022/lib/components/organisms/header/types.mjs +2 -0
  230. package/esm2022/lib/components/organisms/infinite-list/infinite-list.component.mjs +620 -0
  231. package/esm2022/lib/components/organisms/infinite-list/types.mjs +15 -0
  232. package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +418 -0
  233. package/esm2022/lib/components/organisms/item-list/types.mjs +2 -0
  234. package/esm2022/lib/components/organisms/login/login.component.mjs +735 -0
  235. package/esm2022/lib/components/organisms/login/types.mjs +11 -0
  236. package/esm2022/lib/components/organisms/menu/menu.component.mjs +206 -0
  237. package/esm2022/lib/components/organisms/menu/types.mjs +2 -0
  238. package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +66 -0
  239. package/esm2022/lib/components/organisms/no-content/types.mjs +2 -0
  240. package/esm2022/lib/components/organisms/rotating-text/rotating-text.component.mjs +180 -0
  241. package/esm2022/lib/components/organisms/rotating-text/types.mjs +2 -0
  242. package/esm2022/lib/components/organisms/skeleton-layout/skeleton-layout.component.mjs +423 -0
  243. package/esm2022/lib/components/organisms/skeleton-layout/types.mjs +10 -0
  244. package/esm2022/lib/components/organisms/tabbed-content/tabbed-content.component.mjs +170 -0
  245. package/esm2022/lib/components/organisms/tabbed-content/types.mjs +2 -0
  246. package/esm2022/lib/components/organisms/terminal-404/terminal-404.component.mjs +214 -0
  247. package/esm2022/lib/components/organisms/terminal-404/types.mjs +2 -0
  248. package/esm2022/lib/components/organisms/testimonial-carousel/testimonial-carousel.component.mjs +72 -0
  249. package/esm2022/lib/components/organisms/testimonial-carousel/types.mjs +2 -0
  250. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +255 -0
  251. package/esm2022/lib/components/organisms/toolbar/types.mjs +2 -0
  252. package/esm2022/lib/components/organisms/wizard/types.mjs +10 -0
  253. package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +111 -0
  254. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +161 -0
  255. package/esm2022/lib/components/templates/auth-background/auth-background.component.mjs +164 -0
  256. package/esm2022/lib/components/templates/auth-background/types.mjs +2 -0
  257. package/esm2022/lib/components/templates/docs-layout/docs-layout.component.mjs +221 -0
  258. package/esm2022/lib/components/templates/docs-layout/types.mjs +2 -0
  259. package/esm2022/lib/components/templates/docs-page/docs-page.component.mjs +251 -0
  260. package/esm2022/lib/components/templates/docs-page/types.mjs +2 -0
  261. package/esm2022/lib/components/templates/docs-shell/docs-shell.component.mjs +376 -0
  262. package/esm2022/lib/components/templates/docs-shell/types.mjs +2 -0
  263. package/esm2022/lib/components/templates/maintenance-page/maintenance-page.component.mjs +153 -0
  264. package/esm2022/lib/components/templates/maintenance-page/types.mjs +2 -0
  265. package/esm2022/lib/components/templates/page-content/page-content.component.mjs +193 -0
  266. package/esm2022/lib/components/templates/page-content/types.mjs +2 -0
  267. package/esm2022/lib/components/templates/page-template/page-template.component.mjs +188 -0
  268. package/esm2022/lib/components/templates/page-template/types.mjs +2 -0
  269. package/esm2022/lib/components/templates/page-wrapper/page-wrapper.component.mjs +238 -0
  270. package/esm2022/lib/components/templates/page-wrapper/types.mjs +2 -0
  271. package/esm2022/lib/components/templates/simple/simple.component.mjs +123 -0
  272. package/esm2022/lib/components/templates/simple/types.mjs +2 -0
  273. package/esm2022/lib/components/types.mjs +60 -0
  274. package/esm2022/lib/config/company-footer.config.mjs +125 -0
  275. package/esm2022/lib/config/index.mjs +5 -0
  276. package/esm2022/lib/services/ads/ads-loader.service.mjs +120 -0
  277. package/esm2022/lib/services/ads/ads.service.mjs +236 -0
  278. package/esm2022/lib/services/ads/config.mjs +81 -0
  279. package/esm2022/lib/services/ads/index.mjs +13 -0
  280. package/esm2022/lib/services/ads/types.mjs +23 -0
  281. package/esm2022/lib/services/app-config/app-config.service.mjs +209 -0
  282. package/esm2022/lib/services/app-config/config.mjs +47 -0
  283. package/esm2022/lib/services/app-config/index.mjs +48 -0
  284. package/esm2022/lib/services/app-config/types.mjs +13 -0
  285. package/esm2022/lib/services/app-config/version.mjs +85 -0
  286. package/esm2022/lib/services/app-version/app-version.service.mjs +187 -0
  287. package/esm2022/lib/services/app-version/config.mjs +42 -0
  288. package/esm2022/lib/services/app-version/index.mjs +24 -0
  289. package/esm2022/lib/services/app-version/types.mjs +17 -0
  290. package/esm2022/lib/services/auth/auth-state.service.mjs +207 -0
  291. package/esm2022/lib/services/auth/auth.service.mjs +1142 -0
  292. package/esm2022/lib/services/auth/config.mjs +75 -0
  293. package/esm2022/lib/services/auth/device.service.mjs +135 -0
  294. package/esm2022/lib/services/auth/guards.mjs +199 -0
  295. package/esm2022/lib/services/auth/handoff.service.mjs +152 -0
  296. package/esm2022/lib/services/auth/index.mjs +98 -0
  297. package/esm2022/lib/services/auth/interceptor.mjs +122 -0
  298. package/esm2022/lib/services/auth/notification-action.service.mjs +117 -0
  299. package/esm2022/lib/services/auth/oauth-callback.component.mjs +169 -0
  300. package/esm2022/lib/services/auth/oauth.service.mjs +322 -0
  301. package/esm2022/lib/services/auth/org-switch.service.mjs +137 -0
  302. package/esm2022/lib/services/auth/session.service.mjs +78 -0
  303. package/esm2022/lib/services/auth/storage.service.mjs +152 -0
  304. package/esm2022/lib/services/auth/sync.service.mjs +149 -0
  305. package/esm2022/lib/services/auth/token.service.mjs +122 -0
  306. package/esm2022/lib/services/auth/types.mjs +30 -0
  307. package/esm2022/lib/services/confirmation-dialog/confirmation-dialog.service.mjs +189 -0
  308. package/esm2022/lib/services/confirmation-dialog/types.mjs +14 -0
  309. package/esm2022/lib/services/content/content-types/blog.mjs +275 -0
  310. package/esm2022/lib/services/content/content-types/documentation.mjs +303 -0
  311. package/esm2022/lib/services/content/content-types/news.mjs +277 -0
  312. package/esm2022/lib/services/content/index.mjs +51 -0
  313. package/esm2022/lib/services/content/transformer.mjs +265 -0
  314. package/esm2022/lib/services/content/types.mjs +41 -0
  315. package/esm2022/lib/services/docs/docs-navigation.service.mjs +91 -0
  316. package/esm2022/lib/services/donation/config.mjs +41 -0
  317. package/esm2022/lib/services/donation/donation.service.mjs +92 -0
  318. package/esm2022/lib/services/donation/index.mjs +25 -0
  319. package/esm2022/lib/services/donation/types.mjs +10 -0
  320. package/esm2022/lib/services/download.service.mjs +80 -0
  321. package/esm2022/lib/services/feedback/config.mjs +49 -0
  322. package/esm2022/lib/services/feedback/feedback.service.mjs +296 -0
  323. package/esm2022/lib/services/feedback/index.mjs +44 -0
  324. package/esm2022/lib/services/feedback/types.mjs +30 -0
  325. package/esm2022/lib/services/firebase/analytics-error-handler.mjs +141 -0
  326. package/esm2022/lib/services/firebase/analytics-router-tracker.mjs +99 -0
  327. package/esm2022/lib/services/firebase/analytics-types.mjs +7 -0
  328. package/esm2022/lib/services/firebase/analytics.service.mjs +620 -0
  329. package/esm2022/lib/services/firebase/config.mjs +131 -0
  330. package/esm2022/lib/services/firebase/firebase.service.mjs +506 -0
  331. package/esm2022/lib/services/firebase/firestore-collection.mjs +301 -0
  332. package/esm2022/lib/services/firebase/firestore.service.mjs +571 -0
  333. package/esm2022/lib/services/firebase/index.mjs +56 -0
  334. package/esm2022/lib/services/firebase/messaging.service.mjs +721 -0
  335. package/esm2022/lib/services/firebase/notifications.service.mjs +274 -0
  336. package/esm2022/lib/services/firebase/shared-config.mjs +147 -0
  337. package/esm2022/lib/services/firebase/storage.service.mjs +484 -0
  338. package/esm2022/lib/services/firebase/types.mjs +18 -0
  339. package/esm2022/lib/services/firebase/utils/path-builder.mjs +195 -0
  340. package/esm2022/lib/services/firebase/utils/query-builder.mjs +302 -0
  341. package/esm2022/lib/services/i18n/config.mjs +128 -0
  342. package/esm2022/lib/services/i18n/default-content.mjs +577 -0
  343. package/esm2022/lib/services/i18n/i18n.service.mjs +217 -0
  344. package/esm2022/lib/services/i18n/index.mjs +13 -0
  345. package/esm2022/lib/services/i18n/input-i18n.helper.mjs +97 -0
  346. package/esm2022/lib/services/i18n/translate.pipe.mjs +50 -0
  347. package/esm2022/lib/services/i18n/types.mjs +15 -0
  348. package/esm2022/lib/services/icons.service.mjs +83 -0
  349. package/esm2022/lib/services/image/image.service.mjs +244 -0
  350. package/esm2022/lib/services/image/index.mjs +3 -0
  351. package/esm2022/lib/services/image/types.mjs +13 -0
  352. package/esm2022/lib/services/in-app-browser.service.mjs +35 -0
  353. package/esm2022/lib/services/legal-link/legal-link.service.mjs +85 -0
  354. package/esm2022/lib/services/link-processor.service.mjs +259 -0
  355. package/esm2022/lib/services/local-storage.service.mjs +37 -0
  356. package/esm2022/lib/services/locale.service.mjs +75 -0
  357. package/esm2022/lib/services/markdown-article/legal-content.service.mjs +107 -0
  358. package/esm2022/lib/services/markdown-article/markdown-article-parser.mjs +302 -0
  359. package/esm2022/lib/services/markdown-article/markdown-article-parser.service.mjs +20 -0
  360. package/esm2022/lib/services/meta/index.mjs +3 -0
  361. package/esm2022/lib/services/meta/meta.service.mjs +63 -0
  362. package/esm2022/lib/services/meta/types.mjs +2 -0
  363. package/esm2022/lib/services/modal/modal.service.mjs +220 -0
  364. package/esm2022/lib/services/modal/simple-modal-content.component.mjs +133 -0
  365. package/esm2022/lib/services/modal/types.mjs +26 -0
  366. package/esm2022/lib/services/navigation/index.mjs +3 -0
  367. package/esm2022/lib/services/navigation/navigation.service.mjs +216 -0
  368. package/esm2022/lib/services/navigation/types.mjs +16 -0
  369. package/esm2022/lib/services/page-refresh/page-refresh.service.mjs +104 -0
  370. package/esm2022/lib/services/pagination/index.mjs +5 -0
  371. package/esm2022/lib/services/pagination/pagination.service.mjs +218 -0
  372. package/esm2022/lib/services/pagination/types.mjs +14 -0
  373. package/esm2022/lib/services/preferences/index.mjs +3 -0
  374. package/esm2022/lib/services/preferences/preferences.service.mjs +198 -0
  375. package/esm2022/lib/services/preferences/preferences.types.mjs +7 -0
  376. package/esm2022/lib/services/presets/config.mjs +46 -0
  377. package/esm2022/lib/services/presets/index.mjs +5 -0
  378. package/esm2022/lib/services/presets/preset.service.mjs +104 -0
  379. package/esm2022/lib/services/presets/types.mjs +2 -0
  380. package/esm2022/lib/services/qr-generator/qr-generator.service.mjs +341 -0
  381. package/esm2022/lib/services/qr-generator/types.mjs +46 -0
  382. package/esm2022/lib/services/refreshable-stream/index.mjs +8 -0
  383. package/esm2022/lib/services/refreshable-stream/refreshable-stream.mjs +112 -0
  384. package/esm2022/lib/services/skeleton/config.mjs +79 -0
  385. package/esm2022/lib/services/skeleton/directives/loading.directive.mjs +215 -0
  386. package/esm2022/lib/services/skeleton/index.mjs +16 -0
  387. package/esm2022/lib/services/skeleton/skeleton.service.mjs +198 -0
  388. package/esm2022/lib/services/skeleton/templates/detail-skeleton.component.mjs +223 -0
  389. package/esm2022/lib/services/skeleton/templates/form-skeleton.component.mjs +127 -0
  390. package/esm2022/lib/services/skeleton/templates/grid-skeleton.component.mjs +154 -0
  391. package/esm2022/lib/services/skeleton/templates/list-skeleton.component.mjs +110 -0
  392. package/esm2022/lib/services/skeleton/templates/profile-skeleton.component.mjs +207 -0
  393. package/esm2022/lib/services/skeleton/templates/table-skeleton.component.mjs +116 -0
  394. package/esm2022/lib/services/skeleton/types.mjs +11 -0
  395. package/esm2022/lib/services/theme.service.mjs +153 -0
  396. package/esm2022/lib/services/toast.service.mjs +53 -0
  397. package/esm2022/lib/services/types.mjs +5 -0
  398. package/esm2022/lib/shared/constants/storage.mjs +3 -0
  399. package/esm2022/lib/shared/pipes/process-links.pipe.mjs +69 -0
  400. package/esm2022/lib/shared/utils/datetime.mjs +24 -0
  401. package/esm2022/lib/shared/utils/dom.mjs +27 -0
  402. package/esm2022/lib/shared/utils/form-defaults.mjs +112 -0
  403. package/esm2022/lib/shared/utils/styles.mjs +37 -0
  404. package/esm2022/lib/shared/utils/text.mjs +12 -0
  405. package/esm2022/lib/version.mjs +6 -0
  406. package/esm2022/public-api.mjs +367 -0
  407. package/esm2022/valtech-components.mjs +5 -0
  408. package/fesm2022/valtech-components.mjs +1 -1
  409. package/fesm2022/valtech-components.mjs.map +1 -1
  410. package/index.d.ts +5 -0
  411. package/lib/components/atoms/avatar/avatar.component.d.ts +36 -0
  412. package/lib/components/atoms/avatar/types.d.ts +15 -0
  413. package/lib/components/atoms/box/box.component.d.ts +26 -0
  414. package/lib/components/atoms/box/types.d.ts +19 -0
  415. package/lib/components/atoms/button/button.component.d.ts +63 -0
  416. package/lib/components/atoms/button/factory.d.ts +71 -0
  417. package/lib/components/atoms/container/container.component.d.ts +30 -0
  418. package/lib/components/atoms/container/types.d.ts +11 -0
  419. package/lib/components/atoms/countdown/countdown.component.d.ts +38 -0
  420. package/lib/components/atoms/countdown/types.d.ts +108 -0
  421. package/lib/components/atoms/display/display.component.d.ts +19 -0
  422. package/lib/components/atoms/display/types.d.ts +33 -0
  423. package/lib/components/atoms/divider/divider.component.d.ts +27 -0
  424. package/lib/components/atoms/divider/types.d.ts +12 -0
  425. package/lib/components/atoms/fab/fab.component.d.ts +36 -0
  426. package/lib/components/atoms/fab/types.d.ts +45 -0
  427. package/lib/components/atoms/glass/glass.component.d.ts +43 -0
  428. package/lib/components/atoms/glass/types.d.ts +70 -0
  429. package/lib/components/atoms/glow/glow.component.d.ts +42 -0
  430. package/lib/components/atoms/glow/types.d.ts +40 -0
  431. package/lib/components/atoms/horizontal-scroll/horizontal-scroll.component.d.ts +41 -0
  432. package/lib/components/atoms/horizontal-scroll/types.d.ts +13 -0
  433. package/lib/components/atoms/href/href.component.d.ts +25 -0
  434. package/lib/components/atoms/href/types.d.ts +19 -0
  435. package/lib/components/atoms/icon/icon.component.d.ts +18 -0
  436. package/lib/components/atoms/icon/types.d.ts +13 -0
  437. package/lib/components/atoms/image/image.component.d.ts +41 -0
  438. package/lib/components/atoms/image/types.d.ts +37 -0
  439. package/lib/components/atoms/pattern/motifs.d.ts +60 -0
  440. package/lib/components/atoms/pattern/pattern.component.d.ts +68 -0
  441. package/lib/components/atoms/pattern/types.d.ts +61 -0
  442. package/lib/components/atoms/price-tag/price-tag.component.d.ts +15 -0
  443. package/lib/components/atoms/price-tag/types.d.ts +59 -0
  444. package/lib/components/atoms/progress-bar/progress-bar.component.d.ts +35 -0
  445. package/lib/components/atoms/progress-bar/types.d.ts +19 -0
  446. package/lib/components/atoms/progress-ring/progress-ring.component.d.ts +20 -0
  447. package/lib/components/atoms/progress-ring/types.d.ts +24 -0
  448. package/lib/components/atoms/qr-code/qr-code.component.d.ts +33 -0
  449. package/lib/components/atoms/qr-code/types.d.ts +124 -0
  450. package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +53 -0
  451. package/lib/components/atoms/rights-footer/types.d.ts +21 -0
  452. package/lib/components/atoms/skeleton/skeleton.component.d.ts +12 -0
  453. package/lib/components/atoms/skeleton/types.d.ts +29 -0
  454. package/lib/components/atoms/text/text.component.d.ts +33 -0
  455. package/lib/components/atoms/text/types.d.ts +42 -0
  456. package/lib/components/atoms/title/title.component.d.ts +21 -0
  457. package/lib/components/atoms/title/types.d.ts +36 -0
  458. package/lib/components/atoms/user-avatar/types.d.ts +74 -0
  459. package/lib/components/atoms/user-avatar/user-avatar.component.d.ts +55 -0
  460. package/lib/components/molecules/accordion/accordion.component.d.ts +18 -0
  461. package/lib/components/molecules/accordion/types.d.ts +47 -0
  462. package/lib/components/molecules/action-card/action-card.component.d.ts +90 -0
  463. package/lib/components/molecules/action-card/types.d.ts +83 -0
  464. package/lib/components/molecules/action-header/action-header.component.d.ts +27 -0
  465. package/lib/components/molecules/action-header/types.d.ts +27 -0
  466. package/lib/components/molecules/ad-slot/ad-slot.component.d.ts +69 -0
  467. package/lib/components/molecules/alert-box/alert-box.component.d.ts +39 -0
  468. package/lib/components/molecules/alert-box/types.d.ts +37 -0
  469. package/lib/components/molecules/breadcrumb/breadcrumb.component.d.ts +22 -0
  470. package/lib/components/molecules/breadcrumb/types.d.ts +45 -0
  471. package/lib/components/molecules/button-group/button-group.component.d.ts +23 -0
  472. package/lib/components/molecules/button-group/types.d.ts +13 -0
  473. package/lib/components/molecules/card/card.component.d.ts +49 -0
  474. package/lib/components/molecules/card/types.d.ts +32 -0
  475. package/lib/components/molecules/check-input/check-input.component.d.ts +36 -0
  476. package/lib/components/molecules/checkbox-radio-input/checkbox-radio-input.component.d.ts +17 -0
  477. package/lib/components/molecules/chip-group/chip-group.component.d.ts +22 -0
  478. package/lib/components/molecules/chip-group/types.d.ts +65 -0
  479. package/lib/components/molecules/code-display/code-display.component.d.ts +24 -0
  480. package/lib/components/molecules/code-display/types.d.ts +10 -0
  481. package/lib/components/molecules/command-display/command-display.component.d.ts +11 -0
  482. package/lib/components/molecules/command-display/types.d.ts +3 -0
  483. package/lib/components/molecules/comment/comment.component.d.ts +42 -0
  484. package/lib/components/molecules/comment/types.d.ts +171 -0
  485. package/lib/components/molecules/comment-input/comment-input.component.d.ts +16 -0
  486. package/lib/components/molecules/comment-input/types.d.ts +59 -0
  487. package/lib/components/molecules/content-loader/content-loader.component.d.ts +18 -0
  488. package/lib/components/molecules/content-loader/types.d.ts +15 -0
  489. package/lib/components/molecules/content-reaction/content-reaction.component.d.ts +58 -0
  490. package/lib/components/molecules/content-reaction/types.d.ts +77 -0
  491. package/lib/components/molecules/currency-input/currency-input.component.d.ts +40 -0
  492. package/lib/components/molecules/currency-input/types.d.ts +96 -0
  493. package/lib/components/molecules/date-input/date-input.component.d.ts +40 -0
  494. package/lib/components/molecules/date-input/types.d.ts +74 -0
  495. package/lib/components/molecules/date-range-input/date-range-input.component.d.ts +50 -0
  496. package/lib/components/molecules/date-range-input/types.d.ts +109 -0
  497. package/lib/components/molecules/docs-api-table/docs-api-table.component.d.ts +41 -0
  498. package/lib/components/molecules/docs-api-table/types.d.ts +62 -0
  499. package/lib/components/molecules/docs-breadcrumb/docs-breadcrumb.component.d.ts +31 -0
  500. package/lib/components/molecules/docs-breadcrumb/types.d.ts +20 -0
  501. package/lib/components/molecules/docs-callout/docs-callout.component.d.ts +17 -0
  502. package/lib/components/molecules/docs-code-example/docs-code-example.component.d.ts +45 -0
  503. package/lib/components/molecules/docs-code-example/types.d.ts +63 -0
  504. package/lib/components/molecules/docs-nav-links/docs-nav-links.component.d.ts +30 -0
  505. package/lib/components/molecules/docs-nav-links/types.d.ts +31 -0
  506. package/lib/components/molecules/docs-search/docs-search.component.d.ts +47 -0
  507. package/lib/components/molecules/docs-search/types.d.ts +27 -0
  508. package/lib/components/molecules/docs-section/docs-section.component.d.ts +29 -0
  509. package/lib/components/molecules/docs-section/types.d.ts +27 -0
  510. package/lib/components/molecules/email-input/email-input.component.d.ts +34 -0
  511. package/lib/components/molecules/expandable-text/expandable-text.component.d.ts +23 -0
  512. package/lib/components/molecules/expandable-text/types.d.ts +14 -0
  513. package/lib/components/molecules/features-list/features-list.component.d.ts +66 -0
  514. package/lib/components/molecules/features-list/types.d.ts +36 -0
  515. package/lib/components/molecules/feedback-form/feedback-form.component.d.ts +58 -0
  516. package/lib/components/molecules/feedback-form/types.d.ts +54 -0
  517. package/lib/components/molecules/file-input/file-input.component.d.ts +25 -0
  518. package/lib/components/molecules/file-input/types.d.ts +72 -0
  519. package/lib/components/molecules/footer-links/footer-links.component.d.ts +47 -0
  520. package/lib/components/molecules/footer-links/types.d.ts +50 -0
  521. package/lib/components/molecules/glow-card/glow-card.component.d.ts +60 -0
  522. package/lib/components/molecules/glow-card/types.d.ts +94 -0
  523. package/lib/components/molecules/hint/hint.component.d.ts +19 -0
  524. package/lib/components/molecules/hour-input/hour-input.component.d.ts +15 -0
  525. package/lib/components/molecules/image-crop/image-crop.component.d.ts +59 -0
  526. package/lib/components/molecules/image-crop/index.d.ts +1 -0
  527. package/lib/components/molecules/info/info.component.d.ts +9 -0
  528. package/lib/components/molecules/info/types.d.ts +10 -0
  529. package/lib/components/molecules/language-selector/language-selector.component.d.ts +40 -0
  530. package/lib/components/molecules/language-selector/types.d.ts +82 -0
  531. package/lib/components/molecules/layered-card/layered-card.component.d.ts +10 -0
  532. package/lib/components/molecules/layered-card/types.d.ts +15 -0
  533. package/lib/components/molecules/link/link.component.d.ts +24 -0
  534. package/lib/components/molecules/link/types.d.ts +19 -0
  535. package/lib/components/molecules/linked-providers/linked-providers.component.d.ts +30 -0
  536. package/lib/components/molecules/linked-providers/types.d.ts +38 -0
  537. package/lib/components/molecules/links-accordion/links-accordion.component.d.ts +61 -0
  538. package/lib/components/molecules/links-accordion/types.d.ts +39 -0
  539. package/lib/components/molecules/links-cake/links-cake.component.d.ts +17 -0
  540. package/lib/components/molecules/links-cake/types.d.ts +13 -0
  541. package/lib/components/molecules/multi-select-search/multi-select-search.component.d.ts +76 -0
  542. package/lib/components/molecules/notes-box/notes-box.component.d.ts +33 -0
  543. package/lib/components/molecules/notes-box/types.d.ts +35 -0
  544. package/lib/components/molecules/number-from-to/number-from-to.component.d.ts +27 -0
  545. package/lib/components/molecules/number-from-to/types.d.ts +76 -0
  546. package/lib/components/molecules/number-input/number-input.component.d.ts +16 -0
  547. package/lib/components/molecules/number-stepper/number-stepper.component.d.ts +38 -0
  548. package/lib/components/molecules/number-stepper/types.d.ts +88 -0
  549. package/lib/components/molecules/page-links/page-links.component.d.ts +29 -0
  550. package/lib/components/molecules/page-links/types.d.ts +38 -0
  551. package/lib/components/molecules/pagination/pagination.component.d.ts +15 -0
  552. package/lib/components/molecules/pagination/types.d.ts +41 -0
  553. package/lib/components/molecules/password-input/password-input.component.d.ts +37 -0
  554. package/lib/components/molecules/phone-input/phone-input.component.d.ts +59 -0
  555. package/lib/components/molecules/phone-input/types.d.ts +98 -0
  556. package/lib/components/molecules/pill/pill.component.d.ts +44 -0
  557. package/lib/components/molecules/pill/types.d.ts +63 -0
  558. package/lib/components/molecules/pin-input/pin-input.component.d.ts +21 -0
  559. package/lib/components/molecules/pin-input/types.d.ts +69 -0
  560. package/lib/components/molecules/plain-code-box/plain-code-box.component.d.ts +22 -0
  561. package/lib/components/molecules/plain-code-box/types.d.ts +10 -0
  562. package/lib/components/molecules/popover-selector/popover-selector.component.d.ts +42 -0
  563. package/lib/components/molecules/popover-selector/types.d.ts +69 -0
  564. package/lib/components/molecules/progress-status/progress-status.component.d.ts +23 -0
  565. package/lib/components/molecules/progress-status/types.d.ts +20 -0
  566. package/lib/components/molecules/prompter/prompter.component.d.ts +10 -0
  567. package/lib/components/molecules/prompter/types.d.ts +25 -0
  568. package/lib/components/molecules/quote-box/quote-box.component.d.ts +26 -0
  569. package/lib/components/molecules/radio-input/radio-input.component.d.ts +15 -0
  570. package/lib/components/molecules/range-input/range-input.component.d.ts +25 -0
  571. package/lib/components/molecules/range-input/types.d.ts +59 -0
  572. package/lib/components/molecules/rating/rating.component.d.ts +23 -0
  573. package/lib/components/molecules/rating/types.d.ts +41 -0
  574. package/lib/components/molecules/refresher/refresher.component.d.ts +84 -0
  575. package/lib/components/molecules/refresher/types.d.ts +86 -0
  576. package/lib/components/molecules/searchbar/searchbar.component.d.ts +43 -0
  577. package/lib/components/molecules/searchbar/types.d.ts +33 -0
  578. package/lib/components/molecules/segment-control/segment-control.component.d.ts +35 -0
  579. package/lib/components/molecules/segment-control/types.d.ts +46 -0
  580. package/lib/components/molecules/select-input/select-input.component.d.ts +57 -0
  581. package/lib/components/molecules/select-search/select-search.component.d.ts +78 -0
  582. package/lib/components/molecules/share-buttons/share-buttons.component.d.ts +22 -0
  583. package/lib/components/molecules/share-buttons/types.d.ts +108 -0
  584. package/lib/components/molecules/stats-card/stats-card.component.d.ts +20 -0
  585. package/lib/components/molecules/stats-card/types.d.ts +60 -0
  586. package/lib/components/molecules/stepper/stepper.component.d.ts +31 -0
  587. package/lib/components/molecules/stepper/types.d.ts +66 -0
  588. package/lib/components/molecules/swipe-carousel/swipe-carousel.component.d.ts +66 -0
  589. package/lib/components/molecules/swipe-carousel/types.d.ts +35 -0
  590. package/lib/components/molecules/tabs/tabs.component.d.ts +34 -0
  591. package/lib/components/molecules/tabs/types.d.ts +45 -0
  592. package/lib/components/molecules/testimonial-card/testimonial-card.component.d.ts +41 -0
  593. package/lib/components/molecules/testimonial-card/types.d.ts +25 -0
  594. package/lib/components/molecules/text-input/text-input.component.d.ts +42 -0
  595. package/lib/components/molecules/textarea-input/textarea-input.component.d.ts +46 -0
  596. package/lib/components/molecules/textarea-input/types.d.ts +74 -0
  597. package/lib/components/molecules/timeline/timeline.component.d.ts +14 -0
  598. package/lib/components/molecules/timeline/types.d.ts +39 -0
  599. package/lib/components/molecules/title-block/title-block.component.d.ts +12 -0
  600. package/lib/components/molecules/title-block/types.d.ts +15 -0
  601. package/lib/components/molecules/toggle-input/toggle-input.component.d.ts +39 -0
  602. package/lib/components/molecules/toggle-input/types.d.ts +30 -0
  603. package/lib/components/molecules/update-banner/types.d.ts +41 -0
  604. package/lib/components/molecules/update-banner/update-banner.component.d.ts +48 -0
  605. package/lib/components/molecules/username-input/types.d.ts +36 -0
  606. package/lib/components/molecules/username-input/username-input.component.d.ts +58 -0
  607. package/lib/components/organisms/article/article.component.d.ts +108 -0
  608. package/lib/components/organisms/article/types.d.ts +367 -0
  609. package/lib/components/organisms/avatar-upload/avatar-upload.component.d.ts +84 -0
  610. package/lib/components/organisms/avatar-upload/types.d.ts +62 -0
  611. package/lib/components/organisms/banner/banner.component.d.ts +16 -0
  612. package/lib/components/organisms/banner/types.d.ts +29 -0
  613. package/lib/components/organisms/bottom-nav/bottom-nav.component.d.ts +91 -0
  614. package/lib/components/organisms/bottom-nav/types.d.ts +120 -0
  615. package/lib/components/organisms/cards-carousel/cards-carousel.component.d.ts +36 -0
  616. package/lib/components/organisms/cards-carousel/types.d.ts +40 -0
  617. package/lib/components/organisms/comment-section/comment-section.component.d.ts +50 -0
  618. package/lib/components/organisms/comment-section/types.d.ts +144 -0
  619. package/lib/components/organisms/company-footer/company-footer.component.d.ts +37 -0
  620. package/lib/components/organisms/company-footer/types.d.ts +15 -0
  621. package/lib/components/organisms/cookie-banner/cookie-banner.component.d.ts +36 -0
  622. package/lib/components/organisms/cookie-banner/types.d.ts +62 -0
  623. package/lib/components/organisms/data-table/data-table.component.d.ts +63 -0
  624. package/lib/components/organisms/data-table/types.d.ts +219 -0
  625. package/lib/components/organisms/docs-sidebar/docs-sidebar.component.d.ts +51 -0
  626. package/lib/components/organisms/docs-sidebar/types.d.ts +93 -0
  627. package/lib/components/organisms/docs-toc/docs-toc.component.d.ts +62 -0
  628. package/lib/components/organisms/docs-toc/types.d.ts +62 -0
  629. package/lib/components/organisms/faq/faq.component.d.ts +46 -0
  630. package/lib/components/organisms/faq/types.d.ts +53 -0
  631. package/lib/components/organisms/footer/footer.component.d.ts +36 -0
  632. package/lib/components/organisms/footer/types.d.ts +16 -0
  633. package/lib/components/organisms/form/factory.d.ts +17 -0
  634. package/lib/components/organisms/form/form-footer/form-footer.component.d.ts +17 -0
  635. package/lib/components/organisms/form/form.component.d.ts +72 -0
  636. package/lib/components/organisms/fun-header/fun-header.component.d.ts +72 -0
  637. package/lib/components/organisms/fun-header/types.d.ts +28 -0
  638. package/lib/components/organisms/header/header.component.d.ts +22 -0
  639. package/lib/components/organisms/header/types.d.ts +16 -0
  640. package/lib/components/organisms/infinite-list/infinite-list.component.d.ts +113 -0
  641. package/lib/components/organisms/infinite-list/types.d.ts +197 -0
  642. package/lib/components/organisms/item-list/item-list.component.d.ts +43 -0
  643. package/lib/components/organisms/item-list/types.d.ts +126 -0
  644. package/lib/components/organisms/login/login.component.d.ts +79 -0
  645. package/lib/components/organisms/login/types.d.ts +70 -0
  646. package/lib/components/organisms/menu/menu.component.d.ts +44 -0
  647. package/lib/components/organisms/menu/types.d.ts +23 -0
  648. package/lib/components/organisms/no-content/no-content.component.d.ts +14 -0
  649. package/lib/components/organisms/no-content/types.d.ts +17 -0
  650. package/lib/components/organisms/rotating-text/rotating-text.component.d.ts +47 -0
  651. package/lib/components/organisms/rotating-text/types.d.ts +28 -0
  652. package/lib/components/organisms/skeleton-layout/skeleton-layout.component.d.ts +37 -0
  653. package/lib/components/organisms/skeleton-layout/types.d.ts +50 -0
  654. package/lib/components/organisms/tabbed-content/tabbed-content.component.d.ts +65 -0
  655. package/lib/components/organisms/tabbed-content/types.d.ts +53 -0
  656. package/lib/components/organisms/terminal-404/terminal-404.component.d.ts +42 -0
  657. package/lib/components/organisms/terminal-404/types.d.ts +22 -0
  658. package/lib/components/organisms/testimonial-carousel/testimonial-carousel.component.d.ts +33 -0
  659. package/lib/components/organisms/testimonial-carousel/types.d.ts +8 -0
  660. package/lib/components/organisms/toolbar/toolbar.component.d.ts +85 -0
  661. package/lib/components/organisms/toolbar/types.d.ts +31 -0
  662. package/lib/components/organisms/wizard/types.d.ts +42 -0
  663. package/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.d.ts +23 -0
  664. package/lib/components/organisms/wizard/wizard.component.d.ts +27 -0
  665. package/lib/components/templates/auth-background/auth-background.component.d.ts +62 -0
  666. package/lib/components/templates/auth-background/types.d.ts +30 -0
  667. package/lib/components/templates/docs-layout/docs-layout.component.d.ts +42 -0
  668. package/lib/components/templates/docs-layout/types.d.ts +39 -0
  669. package/lib/components/templates/docs-page/docs-page.component.d.ts +61 -0
  670. package/lib/components/templates/docs-page/types.d.ts +121 -0
  671. package/lib/components/templates/docs-shell/docs-shell.component.d.ts +33 -0
  672. package/lib/components/templates/docs-shell/types.d.ts +152 -0
  673. package/lib/components/templates/maintenance-page/maintenance-page.component.d.ts +57 -0
  674. package/lib/components/templates/maintenance-page/types.d.ts +12 -0
  675. package/lib/components/templates/page-content/page-content.component.d.ts +107 -0
  676. package/lib/components/templates/page-content/types.d.ts +27 -0
  677. package/lib/components/templates/page-template/page-template.component.d.ts +54 -0
  678. package/lib/components/templates/page-template/types.d.ts +17 -0
  679. package/lib/components/templates/page-wrapper/page-wrapper.component.d.ts +99 -0
  680. package/lib/components/templates/page-wrapper/types.d.ts +26 -0
  681. package/lib/components/templates/simple/simple.component.d.ts +14 -0
  682. package/lib/components/templates/simple/types.d.ts +10 -0
  683. package/lib/components/types.d.ts +304 -0
  684. package/lib/config/company-footer.config.d.ts +118 -0
  685. package/lib/config/index.d.ts +4 -0
  686. package/lib/services/ads/ads-loader.service.d.ts +41 -0
  687. package/lib/services/ads/ads.service.d.ts +99 -0
  688. package/lib/services/ads/config.d.ts +53 -0
  689. package/lib/services/ads/index.d.ts +9 -0
  690. package/lib/services/ads/types.d.ts +106 -0
  691. package/lib/services/app-config/app-config.service.d.ts +115 -0
  692. package/lib/services/app-config/config.d.ts +31 -0
  693. package/lib/services/app-config/index.d.ts +47 -0
  694. package/lib/services/app-config/types.d.ts +54 -0
  695. package/lib/services/app-config/version.d.ts +64 -0
  696. package/lib/services/app-version/app-version.service.d.ts +64 -0
  697. package/lib/services/app-version/config.d.ts +35 -0
  698. package/lib/services/app-version/index.d.ts +23 -0
  699. package/lib/services/app-version/types.d.ts +35 -0
  700. package/lib/services/auth/auth-state.service.d.ts +106 -0
  701. package/lib/services/auth/auth.service.d.ts +429 -0
  702. package/lib/services/auth/config.d.ts +38 -0
  703. package/lib/services/auth/device.service.d.ts +101 -0
  704. package/lib/services/auth/guards.d.ts +126 -0
  705. package/lib/services/auth/handoff.service.d.ts +159 -0
  706. package/lib/services/auth/index.d.ts +89 -0
  707. package/lib/services/auth/interceptor.d.ts +22 -0
  708. package/lib/services/auth/notification-action.service.d.ts +34 -0
  709. package/lib/services/auth/oauth-callback.component.d.ts +34 -0
  710. package/lib/services/auth/oauth.service.d.ts +99 -0
  711. package/lib/services/auth/org-switch.service.d.ts +127 -0
  712. package/lib/services/auth/session.service.d.ts +60 -0
  713. package/lib/services/auth/storage.service.d.ts +52 -0
  714. package/lib/services/auth/sync.service.d.ts +49 -0
  715. package/lib/services/auth/token.service.d.ts +57 -0
  716. package/lib/services/auth/types.d.ts +862 -0
  717. package/lib/services/confirmation-dialog/confirmation-dialog.service.d.ts +71 -0
  718. package/lib/services/confirmation-dialog/types.d.ts +61 -0
  719. package/lib/services/content/content-types/blog.d.ts +148 -0
  720. package/lib/services/content/content-types/documentation.d.ts +183 -0
  721. package/lib/services/content/content-types/news.d.ts +162 -0
  722. package/lib/services/content/index.d.ts +49 -0
  723. package/lib/services/content/transformer.d.ts +96 -0
  724. package/lib/services/content/types.d.ts +220 -0
  725. package/lib/services/docs/docs-navigation.service.d.ts +51 -0
  726. package/lib/services/donation/config.d.ts +33 -0
  727. package/lib/services/donation/donation.service.d.ts +54 -0
  728. package/lib/services/donation/index.d.ts +25 -0
  729. package/lib/services/donation/types.d.ts +85 -0
  730. package/lib/services/download.service.d.ts +21 -0
  731. package/lib/services/feedback/config.d.ts +35 -0
  732. package/lib/services/feedback/feedback.service.d.ts +134 -0
  733. package/lib/services/feedback/index.d.ts +40 -0
  734. package/lib/services/feedback/types.d.ts +173 -0
  735. package/lib/services/firebase/analytics-error-handler.d.ts +54 -0
  736. package/lib/services/firebase/analytics-router-tracker.d.ts +51 -0
  737. package/lib/services/firebase/analytics-types.d.ts +221 -0
  738. package/lib/services/firebase/analytics.service.d.ts +256 -0
  739. package/lib/services/firebase/config.d.ts +49 -0
  740. package/lib/services/firebase/firebase.service.d.ts +303 -0
  741. package/lib/services/firebase/firestore-collection.d.ts +199 -0
  742. package/lib/services/firebase/firestore.service.d.ts +335 -0
  743. package/lib/services/firebase/index.d.ts +44 -0
  744. package/lib/services/firebase/messaging.service.d.ts +341 -0
  745. package/lib/services/firebase/notifications.service.d.ts +158 -0
  746. package/lib/services/firebase/shared-config.d.ts +151 -0
  747. package/lib/services/firebase/storage.service.d.ts +238 -0
  748. package/lib/services/firebase/types.d.ts +374 -0
  749. package/lib/services/firebase/utils/path-builder.d.ts +132 -0
  750. package/lib/services/firebase/utils/query-builder.d.ts +210 -0
  751. package/lib/services/i18n/config.d.ts +29 -0
  752. package/lib/services/i18n/default-content.d.ts +30 -0
  753. package/lib/services/i18n/i18n.service.d.ts +128 -0
  754. package/lib/services/i18n/index.d.ts +6 -0
  755. package/lib/services/i18n/input-i18n.helper.d.ts +70 -0
  756. package/lib/services/i18n/translate.pipe.d.ts +36 -0
  757. package/lib/services/i18n/types.d.ts +93 -0
  758. package/lib/services/icons.service.d.ts +9 -0
  759. package/lib/services/image/image.service.d.ts +76 -0
  760. package/lib/services/image/index.d.ts +2 -0
  761. package/lib/services/image/types.d.ts +74 -0
  762. package/lib/services/in-app-browser.service.d.ts +16 -0
  763. package/lib/services/legal-link/legal-link.service.d.ts +73 -0
  764. package/lib/services/link-processor.service.d.ts +104 -0
  765. package/lib/services/local-storage.service.d.ts +27 -0
  766. package/lib/services/locale.service.d.ts +52 -0
  767. package/lib/services/markdown-article/legal-content.service.d.ts +73 -0
  768. package/lib/services/markdown-article/markdown-article-parser.d.ts +38 -0
  769. package/lib/services/markdown-article/markdown-article-parser.service.d.ts +12 -0
  770. package/lib/services/meta/index.d.ts +2 -0
  771. package/lib/services/meta/meta.service.d.ts +23 -0
  772. package/lib/services/meta/types.d.ts +12 -0
  773. package/lib/services/modal/modal.service.d.ts +100 -0
  774. package/lib/services/modal/simple-modal-content.component.d.ts +19 -0
  775. package/lib/services/modal/types.d.ts +155 -0
  776. package/lib/services/navigation/index.d.ts +2 -0
  777. package/lib/services/navigation/navigation.service.d.ts +134 -0
  778. package/lib/services/navigation/types.d.ts +67 -0
  779. package/lib/services/page-refresh/page-refresh.service.d.ts +86 -0
  780. package/lib/services/pagination/index.d.ts +2 -0
  781. package/lib/services/pagination/pagination.service.d.ts +43 -0
  782. package/lib/services/pagination/types.d.ts +113 -0
  783. package/lib/services/preferences/index.d.ts +2 -0
  784. package/lib/services/preferences/preferences.service.d.ts +61 -0
  785. package/lib/services/preferences/preferences.types.d.ts +35 -0
  786. package/lib/services/presets/config.d.ts +32 -0
  787. package/lib/services/presets/index.d.ts +3 -0
  788. package/lib/services/presets/preset.service.d.ts +69 -0
  789. package/lib/services/presets/types.d.ts +39 -0
  790. package/lib/services/qr-generator/qr-generator.service.d.ts +115 -0
  791. package/lib/services/qr-generator/types.d.ts +141 -0
  792. package/lib/services/refreshable-stream/index.d.ts +7 -0
  793. package/lib/services/refreshable-stream/refreshable-stream.d.ts +113 -0
  794. package/lib/services/skeleton/config.d.ts +30 -0
  795. package/lib/services/skeleton/directives/loading.directive.d.ts +71 -0
  796. package/lib/services/skeleton/index.d.ts +10 -0
  797. package/lib/services/skeleton/skeleton.service.d.ts +127 -0
  798. package/lib/services/skeleton/templates/detail-skeleton.component.d.ts +18 -0
  799. package/lib/services/skeleton/templates/form-skeleton.component.d.ts +22 -0
  800. package/lib/services/skeleton/templates/grid-skeleton.component.d.ts +18 -0
  801. package/lib/services/skeleton/templates/list-skeleton.component.d.ts +17 -0
  802. package/lib/services/skeleton/templates/profile-skeleton.component.d.ts +20 -0
  803. package/lib/services/skeleton/templates/table-skeleton.component.d.ts +17 -0
  804. package/lib/services/skeleton/types.d.ts +111 -0
  805. package/lib/services/theme.service.d.ts +76 -0
  806. package/lib/services/toast.service.d.ts +28 -0
  807. package/lib/services/types.d.ts +1 -0
  808. package/lib/shared/constants/storage.d.ts +2 -0
  809. package/lib/shared/pipes/process-links.pipe.d.ts +55 -0
  810. package/lib/shared/utils/datetime.d.ts +21 -0
  811. package/lib/shared/utils/dom.d.ts +13 -0
  812. package/lib/shared/utils/form-defaults.d.ts +30 -0
  813. package/lib/shared/utils/styles.d.ts +13 -0
  814. package/lib/shared/utils/text.d.ts +11 -0
  815. package/lib/version.d.ts +5 -0
  816. package/package.json +1 -1
  817. package/public-api.d.ts +316 -0
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Content Types Module
3
+ *
4
+ * Provides a flexible content abstraction layer that transforms
5
+ * structured content documents into ArticleMetadata for rendering
6
+ * with the val-article component.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * // Using BlogPostBuilder
11
+ * import { blogPost } from 'valtech-components';
12
+ *
13
+ * const post = blogPost()
14
+ * .title('My First Post')
15
+ * .author('John Doe')
16
+ * .heading('Introduction')
17
+ * .paragraph('Welcome to my blog...')
18
+ * .toArticle();
19
+ *
20
+ * // Using DocsBuilder
21
+ * import { docs } from 'valtech-components';
22
+ *
23
+ * const page = docs()
24
+ * .title('Installation')
25
+ * .section('Getting Started')
26
+ * .code('npm install valtech-components', 'bash')
27
+ * .toArticle();
28
+ *
29
+ * // Using NewsBuilder
30
+ * import { news } from 'valtech-components';
31
+ *
32
+ * const article = news()
33
+ * .headline('Breaking News')
34
+ * .summary('Important announcement...')
35
+ * .breaking()
36
+ * .toArticle();
37
+ *
38
+ * // From JSON/API response
39
+ * import { ContentTransformer, BlogPost } from 'valtech-components';
40
+ *
41
+ * const json: BlogPost = await fetch('/api/posts/1').then(r => r.json());
42
+ * const article = ContentTransformer.toArticle(json);
43
+ * ```
44
+ */
45
+ // Transformer
46
+ export { ContentTransformer, toArticle } from './transformer';
47
+ // Content types
48
+ export { BlogPostBuilder, blogPost } from './content-types/blog';
49
+ export { DocsBuilder, docs } from './content-types/documentation';
50
+ export { NewsBuilder, news } from './content-types/news';
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2NvbnRlbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQ0c7QUFxQkgsY0FBYztBQUNkLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsZ0JBQWdCO0FBQ2hCLE9BQU8sRUFBWSxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUE2QixXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0YsT0FBTyxFQUFlLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udGVudCBUeXBlcyBNb2R1bGVcbiAqXG4gKiBQcm92aWRlcyBhIGZsZXhpYmxlIGNvbnRlbnQgYWJzdHJhY3Rpb24gbGF5ZXIgdGhhdCB0cmFuc2Zvcm1zXG4gKiBzdHJ1Y3R1cmVkIGNvbnRlbnQgZG9jdW1lbnRzIGludG8gQXJ0aWNsZU1ldGFkYXRhIGZvciByZW5kZXJpbmdcbiAqIHdpdGggdGhlIHZhbC1hcnRpY2xlIGNvbXBvbmVudC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gVXNpbmcgQmxvZ1Bvc3RCdWlsZGVyXG4gKiBpbXBvcnQgeyBibG9nUG9zdCB9IGZyb20gJ3ZhbHRlY2gtY29tcG9uZW50cyc7XG4gKlxuICogY29uc3QgcG9zdCA9IGJsb2dQb3N0KClcbiAqICAgLnRpdGxlKCdNeSBGaXJzdCBQb3N0JylcbiAqICAgLmF1dGhvcignSm9obiBEb2UnKVxuICogICAuaGVhZGluZygnSW50cm9kdWN0aW9uJylcbiAqICAgLnBhcmFncmFwaCgnV2VsY29tZSB0byBteSBibG9nLi4uJylcbiAqICAgLnRvQXJ0aWNsZSgpO1xuICpcbiAqIC8vIFVzaW5nIERvY3NCdWlsZGVyXG4gKiBpbXBvcnQgeyBkb2NzIH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcbiAqXG4gKiBjb25zdCBwYWdlID0gZG9jcygpXG4gKiAgIC50aXRsZSgnSW5zdGFsbGF0aW9uJylcbiAqICAgLnNlY3Rpb24oJ0dldHRpbmcgU3RhcnRlZCcpXG4gKiAgIC5jb2RlKCducG0gaW5zdGFsbCB2YWx0ZWNoLWNvbXBvbmVudHMnLCAnYmFzaCcpXG4gKiAgIC50b0FydGljbGUoKTtcbiAqXG4gKiAvLyBVc2luZyBOZXdzQnVpbGRlclxuICogaW1wb3J0IHsgbmV3cyB9IGZyb20gJ3ZhbHRlY2gtY29tcG9uZW50cyc7XG4gKlxuICogY29uc3QgYXJ0aWNsZSA9IG5ld3MoKVxuICogICAuaGVhZGxpbmUoJ0JyZWFraW5nIE5ld3MnKVxuICogICAuc3VtbWFyeSgnSW1wb3J0YW50IGFubm91bmNlbWVudC4uLicpXG4gKiAgIC5icmVha2luZygpXG4gKiAgIC50b0FydGljbGUoKTtcbiAqXG4gKiAvLyBGcm9tIEpTT04vQVBJIHJlc3BvbnNlXG4gKiBpbXBvcnQgeyBDb250ZW50VHJhbnNmb3JtZXIsIEJsb2dQb3N0IH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcbiAqXG4gKiBjb25zdCBqc29uOiBCbG9nUG9zdCA9IGF3YWl0IGZldGNoKCcvYXBpL3Bvc3RzLzEnKS50aGVuKHIgPT4gci5qc29uKCkpO1xuICogY29uc3QgYXJ0aWNsZSA9IENvbnRlbnRUcmFuc2Zvcm1lci50b0FydGljbGUoanNvbik7XG4gKiBgYGBcbiAqL1xuXG4vLyBCYXNlIHR5cGVzXG5leHBvcnQge1xuICBDb250ZW50QXV0aG9yLFxuICBDb250ZW50TWV0YSxcbiAgQ29udGVudENvbmZpZyxcbiAgQ29udGVudERvY3VtZW50LFxuICBDb250ZW50QmxvY2ssXG4gIEhlYWRpbmdCbG9jayxcbiAgUGFyYWdyYXBoQmxvY2ssXG4gIFF1b3RlQmxvY2ssXG4gIENvZGVCbG9jayxcbiAgTGlzdEJsb2NrLFxuICBJbWFnZUJsb2NrLFxuICBDYWxsb3V0QmxvY2ssXG4gIERpdmlkZXJCbG9jayxcbiAgQnV0dG9uQmxvY2ssXG4gIENvbW1hbmRCbG9jayxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIFRyYW5zZm9ybWVyXG5leHBvcnQgeyBDb250ZW50VHJhbnNmb3JtZXIsIHRvQXJ0aWNsZSB9IGZyb20gJy4vdHJhbnNmb3JtZXInO1xuXG4vLyBDb250ZW50IHR5cGVzXG5leHBvcnQgeyBCbG9nUG9zdCwgQmxvZ1Bvc3RCdWlsZGVyLCBibG9nUG9zdCB9IGZyb20gJy4vY29udGVudC10eXBlcy9ibG9nJztcbmV4cG9ydCB7IERvY3VtZW50YXRpb24sIERvY05hdkxpbmssIERvY3NCdWlsZGVyLCBkb2NzIH0gZnJvbSAnLi9jb250ZW50LXR5cGVzL2RvY3VtZW50YXRpb24nO1xuZXhwb3J0IHsgTmV3c0FydGljbGUsIE5ld3NCdWlsZGVyLCBuZXdzIH0gZnJvbSAnLi9jb250ZW50LXR5cGVzL25ld3MnO1xuIl19
@@ -0,0 +1,265 @@
1
+ /**
2
+ * Content Transformer
3
+ *
4
+ * Transforms ContentDocument instances into ArticleMetadata
5
+ * for rendering with the val-article component.
6
+ */
7
+ import { ArticleBuilder } from '../../components/organisms/article/types';
8
+ import { ComponentStates } from '../../components/types';
9
+ /**
10
+ * Maps callout variants to Ionic colors
11
+ */
12
+ const CALLOUT_COLOR_MAP = {
13
+ info: 'primary',
14
+ warning: 'warning',
15
+ success: 'success',
16
+ error: 'danger',
17
+ };
18
+ /**
19
+ * Maps callout variants to prefix text
20
+ */
21
+ const CALLOUT_PREFIX_MAP = {
22
+ info: 'Info:',
23
+ warning: 'Aviso:',
24
+ success: 'Listo:',
25
+ error: 'Error:',
26
+ };
27
+ /**
28
+ * ContentTransformer converts ContentDocument objects into ArticleMetadata
29
+ * that can be rendered by the val-article component.
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const doc: BlogPost = { ... };
34
+ * const article = ContentTransformer.toArticle(doc);
35
+ * // Use article with <val-article [props]="article">
36
+ * ```
37
+ */
38
+ export class ContentTransformer {
39
+ /**
40
+ * Transforms a ContentDocument into ArticleMetadata
41
+ *
42
+ * @param doc - The content document to transform
43
+ * @returns ArticleMetadata ready for val-article component
44
+ */
45
+ static toArticle(doc) {
46
+ const builder = new ArticleBuilder();
47
+ // Add header based on document type and meta
48
+ this.addHeader(builder, doc);
49
+ // Transform each content block
50
+ for (const block of doc.content) {
51
+ this.addBlock(builder, block);
52
+ }
53
+ // Add footer based on document type
54
+ this.addFooter(builder, doc);
55
+ return builder.build({
56
+ theme: doc.config?.theme ?? 'auto',
57
+ maxWidth: doc.config?.maxWidth ?? '800px',
58
+ centered: doc.config?.centered ?? true,
59
+ });
60
+ }
61
+ /**
62
+ * Adds header elements based on document type and metadata
63
+ */
64
+ static addHeader(builder, doc) {
65
+ // Add author/date info if showMeta is enabled
66
+ if (doc.config?.showMeta && doc.meta.author) {
67
+ this.addAuthorBlock(builder, doc.meta.author, doc.meta.publishedAt);
68
+ builder.separator('space', { spacing: { top: 'small', bottom: 'medium' } });
69
+ }
70
+ }
71
+ /**
72
+ * Adds footer elements based on document type
73
+ */
74
+ static addFooter(builder, doc) {
75
+ // Add tags if present
76
+ if (doc.meta.tags && doc.meta.tags.length > 0) {
77
+ builder.separator('line', { spacing: { top: 'large', bottom: 'medium' } });
78
+ builder.paragraph({
79
+ content: `Tags: ${doc.meta.tags.join(', ')}`,
80
+ size: 'small',
81
+ color: 'medium',
82
+ bold: false,
83
+ });
84
+ }
85
+ }
86
+ /**
87
+ * Adds author information block
88
+ */
89
+ static addAuthorBlock(builder, author, publishedAt) {
90
+ let authorText = author.name;
91
+ if (author.role) {
92
+ authorText += ` - ${author.role}`;
93
+ }
94
+ if (publishedAt) {
95
+ const date = typeof publishedAt === 'string' ? new Date(publishedAt) : publishedAt;
96
+ authorText += ` | ${date.toLocaleDateString()}`;
97
+ }
98
+ builder.paragraph({
99
+ content: authorText,
100
+ size: 'small',
101
+ color: 'medium',
102
+ bold: false,
103
+ });
104
+ }
105
+ /**
106
+ * Transforms a single content block and adds it to the builder
107
+ */
108
+ static addBlock(builder, block) {
109
+ switch (block.type) {
110
+ case 'heading':
111
+ this.addHeading(builder, block);
112
+ break;
113
+ case 'paragraph':
114
+ this.addParagraph(builder, block);
115
+ break;
116
+ case 'quote':
117
+ this.addQuote(builder, block);
118
+ break;
119
+ case 'code':
120
+ this.addCode(builder, block);
121
+ break;
122
+ case 'list':
123
+ this.addList(builder, block);
124
+ break;
125
+ case 'image':
126
+ this.addImage(builder, block);
127
+ break;
128
+ case 'callout':
129
+ this.addCallout(builder, block);
130
+ break;
131
+ case 'divider':
132
+ this.addDivider(builder, block);
133
+ break;
134
+ case 'button':
135
+ this.addButton(builder, block);
136
+ break;
137
+ case 'command':
138
+ this.addCommand(builder, block);
139
+ break;
140
+ }
141
+ }
142
+ /**
143
+ * Adds a heading block
144
+ */
145
+ static addHeading(builder, block) {
146
+ if (block.level === 1) {
147
+ builder.title({
148
+ content: block.text,
149
+ size: 'large',
150
+ color: 'dark',
151
+ bold: true,
152
+ });
153
+ }
154
+ else {
155
+ builder.subtitle({
156
+ content: block.text,
157
+ size: block.level === 2 ? 'medium' : 'small',
158
+ color: 'dark',
159
+ bold: true,
160
+ });
161
+ }
162
+ }
163
+ /**
164
+ * Adds a paragraph block
165
+ */
166
+ static addParagraph(builder, block) {
167
+ builder.paragraph({
168
+ content: block.text,
169
+ size: 'medium',
170
+ color: 'dark',
171
+ bold: block.emphasis ?? false,
172
+ });
173
+ }
174
+ /**
175
+ * Adds a quote block
176
+ */
177
+ static addQuote(builder, block) {
178
+ builder.quote({
179
+ content: block.text,
180
+ size: 'medium',
181
+ color: 'dark',
182
+ bold: false,
183
+ author: block.author,
184
+ source: block.source,
185
+ });
186
+ }
187
+ /**
188
+ * Adds a code block
189
+ */
190
+ static addCode(builder, block) {
191
+ builder.code(block.code, block.language);
192
+ }
193
+ /**
194
+ * Adds a list block
195
+ */
196
+ static addList(builder, block) {
197
+ const items = block.items.map((text) => ({ text }));
198
+ const listType = block.checklist ? 'checklist' : block.ordered ? 'ordered' : 'unordered';
199
+ builder.list(items, listType);
200
+ }
201
+ /**
202
+ * Adds an image block
203
+ */
204
+ static addImage(builder, block) {
205
+ builder.image(block.src, block.alt, block.caption, {
206
+ // Note: alignment is handled differently in ArticleBuilder
207
+ });
208
+ }
209
+ /**
210
+ * Adds a callout/note block
211
+ */
212
+ static addCallout(builder, block) {
213
+ const color = CALLOUT_COLOR_MAP[block.variant] ?? 'primary';
214
+ const prefix = block.title ?? CALLOUT_PREFIX_MAP[block.variant] ?? 'Nota:';
215
+ builder.note(block.text, prefix, color);
216
+ }
217
+ /**
218
+ * Adds a divider/separator block
219
+ */
220
+ static addDivider(builder, block) {
221
+ builder.separator(block.style ?? 'line');
222
+ }
223
+ /**
224
+ * Adds a button block
225
+ */
226
+ static addButton(builder, block) {
227
+ const colorMap = {
228
+ primary: 'primary',
229
+ secondary: 'secondary',
230
+ success: 'success',
231
+ warning: 'warning',
232
+ danger: 'danger',
233
+ };
234
+ builder.button({
235
+ text: block.text,
236
+ color: colorMap[block.color ?? 'primary'] ?? 'primary',
237
+ fill: 'solid',
238
+ type: 'button',
239
+ state: ComponentStates.ENABLED,
240
+ href: block.href,
241
+ token: block.action,
242
+ }, block.alignment ?? 'center');
243
+ }
244
+ /**
245
+ * Adds a command/terminal block
246
+ */
247
+ static addCommand(builder, block) {
248
+ builder.command(block.command);
249
+ }
250
+ }
251
+ /**
252
+ * Convenience function to transform a ContentDocument to ArticleMetadata
253
+ *
254
+ * @param doc - The content document to transform
255
+ * @returns ArticleMetadata ready for val-article component
256
+ *
257
+ * @example
258
+ * ```typescript
259
+ * const article = toArticle(myBlogPost);
260
+ * ```
261
+ */
262
+ export function toArticle(doc) {
263
+ return ContentTransformer.toArticle(doc);
264
+ }
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2NvbnRlbnQvdHJhbnNmb3JtZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFHSCxPQUFPLEVBQUUsY0FBYyxFQUFtQixNQUFNLDBDQUEwQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQWtCekQ7O0dBRUc7QUFDSCxNQUFNLGlCQUFpQixHQUEwQjtJQUMvQyxJQUFJLEVBQUUsU0FBUztJQUNmLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEtBQUssRUFBRSxRQUFRO0NBQ2hCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sa0JBQWtCLEdBQTJCO0lBQ2pELElBQUksRUFBRSxPQUFPO0lBQ2IsT0FBTyxFQUFFLFFBQVE7SUFDakIsT0FBTyxFQUFFLFFBQVE7SUFDakIsS0FBSyxFQUFFLFFBQVE7Q0FDaEIsQ0FBQztBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFvQjtRQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBRXJDLDZDQUE2QztRQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUU3QiwrQkFBK0I7UUFDL0IsS0FBSyxNQUFNLEtBQUssSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUVELG9DQUFvQztRQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUU3QixPQUFPLE9B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OztPQUVHO0lBQ0ssTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUF1QixFQUFFLEtBQWtCO1FBQ2xFLE1BQU0sUUFBUSxHQUEwQjtZQUN0QyxPQUFPLEVBQUUsU0FBUztZQUNsQixTQUFTLEVBQUUsV0FBVztZQUN0QixPQUFPLEVBQUUsU0FBUztZQUNsQixPQUFPLEVBQUUsU0FBUztZQUNsQixNQUFNLEVBQUUsUUFBUTtTQUNqQixDQUFDO1FBRUYsT0FBTyxDQUFDLE1BQU0sQ0FDWjtZQUNFLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLElBQUksU0FBUztZQUN0RCxJQUFJLEVBQUUsT0FBTztZQUNiLElBQUksRUFBRSxRQUFRO1lBQ2QsS0FBSyxFQUFFLGVBQWUsQ0FBQyxPQUFPO1lBQzlCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU07U0FDcEIsRUFDRCxLQUFLLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNLLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBdUIsRUFBRSxLQUFtQjtRQUNwRSxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDO0NBQ0Y7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxHQUFvQjtJQUM1QyxPQUFPLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb250ZW50IFRyYW5zZm9ybWVyXG4gKlxuICogVHJhbnNmb3JtcyBDb250ZW50RG9jdW1lbnQgaW5zdGFuY2VzIGludG8gQXJ0aWNsZU1ldGFkYXRhXG4gKiBmb3IgcmVuZGVyaW5nIHdpdGggdGhlIHZhbC1hcnRpY2xlIGNvbXBvbmVudC5cbiAqL1xuXG5pbXBvcnQgeyBDb2xvciB9IGZyb20gJ0Bpb25pYy9jb3JlJztcbmltcG9ydCB7IEFydGljbGVCdWlsZGVyLCBBcnRpY2xlTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL29yZ2FuaXNtcy9hcnRpY2xlL3R5cGVzJztcbmltcG9ydCB7IENvbXBvbmVudFN0YXRlcyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdHlwZXMnO1xuaW1wb3J0IHtcbiAgQ29udGVudERvY3VtZW50LFxuICBDb250ZW50QmxvY2ssXG4gIENvbnRlbnRNZXRhLFxuICBDb250ZW50QXV0aG9yLFxuICBIZWFkaW5nQmxvY2ssXG4gIFBhcmFncmFwaEJsb2NrLFxuICBRdW90ZUJsb2NrLFxuICBDb2RlQmxvY2ssXG4gIExpc3RCbG9jayxcbiAgSW1hZ2VCbG9jayxcbiAgQ2FsbG91dEJsb2NrLFxuICBEaXZpZGVyQmxvY2ssXG4gIEJ1dHRvbkJsb2NrLFxuICBDb21tYW5kQmxvY2ssXG59IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIE1hcHMgY2FsbG91dCB2YXJpYW50cyB0byBJb25pYyBjb2xvcnNcbiAqL1xuY29uc3QgQ0FMTE9VVF9DT0xPUl9NQVA6IFJlY29yZDxzdHJpbmcsIENvbG9yPiA9IHtcbiAgaW5mbzogJ3ByaW1hcnknLFxuICB3YXJuaW5nOiAnd2FybmluZycsXG4gIHN1Y2Nlc3M6ICdzdWNjZXNzJyxcbiAgZXJyb3I6ICdkYW5nZXInLFxufTtcblxuLyoqXG4gKiBNYXBzIGNhbGxvdXQgdmFyaWFudHMgdG8gcHJlZml4IHRleHRcbiAqL1xuY29uc3QgQ0FMTE9VVF9QUkVGSVhfTUFQOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBpbmZvOiAnSW5mbzonLFxuICB3YXJuaW5nOiAnQXZpc286JyxcbiAgc3VjY2VzczogJ0xpc3RvOicsXG4gIGVycm9yOiAnRXJyb3I6Jyxcbn07XG5cbi8qKlxuICogQ29udGVudFRyYW5zZm9ybWVyIGNvbnZlcnRzIENvbnRlbnREb2N1bWVudCBvYmplY3RzIGludG8gQXJ0aWNsZU1ldGFkYXRhXG4gKiB0aGF0IGNhbiBiZSByZW5kZXJlZCBieSB0aGUgdmFsLWFydGljbGUgY29tcG9uZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBkb2M6IEJsb2dQb3N0ID0geyAuLi4gfTtcbiAqIGNvbnN0IGFydGljbGUgPSBDb250ZW50VHJhbnNmb3JtZXIudG9BcnRpY2xlKGRvYyk7XG4gKiAvLyBVc2UgYXJ0aWNsZSB3aXRoIDx2YWwtYXJ0aWNsZSBbcHJvcHNdPVwiYXJ0aWNsZVwiPlxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBDb250ZW50VHJhbnNmb3JtZXIge1xuICAvKipcbiAgICogVHJhbnNmb3JtcyBhIENvbnRlbnREb2N1bWVudCBpbnRvIEFydGljbGVNZXRhZGF0YVxuICAgKlxuICAgKiBAcGFyYW0gZG9jIC0gVGhlIGNvbnRlbnQgZG9jdW1lbnQgdG8gdHJhbnNmb3JtXG4gICAqIEByZXR1cm5zIEFydGljbGVNZXRhZGF0YSByZWFkeSBmb3IgdmFsLWFydGljbGUgY29tcG9uZW50XG4gICAqL1xuICBzdGF0aWMgdG9BcnRpY2xlKGRvYzogQ29udGVudERvY3VtZW50KTogQXJ0aWNsZU1ldGFkYXRhIHtcbiAgICBjb25zdCBidWlsZGVyID0gbmV3IEFydGljbGVCdWlsZGVyKCk7XG5cbiAgICAvLyBBZGQgaGVhZGVyIGJhc2VkIG9uIGRvY3VtZW50IHR5cGUgYW5kIG1ldGFcbiAgICB0aGlzLmFkZEhlYWRlcihidWlsZGVyLCBkb2MpO1xuXG4gICAgLy8gVHJhbnNmb3JtIGVhY2ggY29udGVudCBibG9ja1xuICAgIGZvciAoY29uc3QgYmxvY2sgb2YgZG9jLmNvbnRlbnQpIHtcbiAgICAgIHRoaXMuYWRkQmxvY2soYnVpbGRlciwgYmxvY2spO1xuICAgIH1cblxuICAgIC8vIEFkZCBmb290ZXIgYmFzZWQgb24gZG9jdW1lbnQgdHlwZVxuICAgIHRoaXMuYWRkRm9vdGVyKGJ1aWxkZXIsIGRvYyk7XG5cbiAgICByZXR1cm4gYnVpbGRlci5idWlsZCh7XG4gICAgICB0aGVtZTogZG9jLmNvbmZpZz8udGhlbWUgPz8gJ2F1dG8nLFxuICAgICAgbWF4V2lkdGg6IGRvYy5jb25maWc/Lm1heFdpZHRoID8/ICc4MDBweCcsXG4gICAgICBjZW50ZXJlZDogZG9jLmNvbmZpZz8uY2VudGVyZWQgPz8gdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGhlYWRlciBlbGVtZW50cyBiYXNlZCBvbiBkb2N1bWVudCB0eXBlIGFuZCBtZXRhZGF0YVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgYWRkSGVhZGVyKGJ1aWxkZXI6IEFydGljbGVCdWlsZGVyLCBkb2M6IENvbnRlbnREb2N1bWVudCk6IHZvaWQge1xuICAgIC8vIEFkZCBhdXRob3IvZGF0ZSBpbmZvIGlmIHNob3dNZXRhIGlzIGVuYWJsZWRcbiAgICBpZiAoZG9jLmNvbmZpZz8uc2hvd01ldGEgJiYgZG9jLm1ldGEuYXV0aG9yKSB7XG4gICAgICB0aGlzLmFkZEF1dGhvckJsb2NrKGJ1aWxkZXIsIGRvYy5tZXRhLmF1dGhvciwgZG9jLm1ldGEucHVibGlzaGVkQXQpO1xuICAgICAgYnVpbGRlci5zZXBhcmF0b3IoJ3NwYWNlJywgeyBzcGFjaW5nOiB7IHRvcDogJ3NtYWxsJywgYm90dG9tOiAnbWVkaXVtJyB9IH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGZvb3RlciBlbGVtZW50cyBiYXNlZCBvbiBkb2N1bWVudCB0eXBlXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBhZGRGb290ZXIoYnVpbGRlcjogQXJ0aWNsZUJ1aWxkZXIsIGRvYzogQ29udGVudERvY3VtZW50KTogdm9pZCB7XG4gICAgLy8gQWRkIHRhZ3MgaWYgcHJlc2VudFxuICAgIGlmIChkb2MubWV0YS50YWdzICYmIGRvYy5tZXRhLnRhZ3MubGVuZ3RoID4gMCkge1xuICAgICAgYnVpbGRlci5zZXBhcmF0b3IoJ2xpbmUnLCB7IHNwYWNpbmc6IHsgdG9wOiAnbGFyZ2UnLCBib3R0b206ICdtZWRpdW0nIH0gfSk7XG4gICAgICBidWlsZGVyLnBhcmFncmFwaCh7XG4gICAgICAgIGNvbnRlbnQ6IGBUYWdzOiAke2RvYy5tZXRhLnRhZ3Muam9pbignLCAnKX1gLFxuICAgICAgICBzaXplOiAnc21hbGwnLFxuICAgICAgICBjb2xvcjogJ21lZGl1bScsXG4gICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYXV0aG9yIGluZm9ybWF0aW9uIGJsb2NrXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBhZGRBdXRob3JCbG9jayhcbiAgICBidWlsZGVyOiBBcnRpY2xlQnVpbGRlcixcbiAgICBhdXRob3I6IENvbnRlbnRBdXRob3IsXG4gICAgcHVibGlzaGVkQXQ/OiBEYXRlIHwgc3RyaW5nXG4gICk6IHZvaWQge1xuICAgIGxldCBhdXRob3JUZXh0ID0gYXV0aG9yLm5hbWU7XG4gICAgaWYgKGF1dGhvci5yb2xlKSB7XG4gICAgICBhdXRob3JUZXh0ICs9IGAgLSAke2F1dGhvci5yb2xlfWA7XG4gICAgfVxuICAgIGlmIChwdWJsaXNoZWRBdCkge1xuICAgICAgY29uc3QgZGF0ZSA9IHR5cGVvZiBwdWJsaXNoZWRBdCA9PT0gJ3N0cmluZycgPyBuZXcgRGF0ZShwdWJsaXNoZWRBdCkgOiBwdWJsaXNoZWRBdDtcbiAgICAgIGF1dGhvclRleHQgKz0gYCB8ICR7ZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoKX1gO1xuICAgIH1cblxuICAgIGJ1aWxkZXIucGFyYWdyYXBoKHtcbiAgICAgIGNvbnRlbnQ6IGF1dGhvclRleHQsXG4gICAgICBzaXplOiAnc21hbGwnLFxuICAgICAgY29sb3I6ICdtZWRpdW0nLFxuICAgICAgYm9sZDogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtcyBhIHNpbmdsZSBjb250ZW50IGJsb2NrIGFuZCBhZGRzIGl0IHRvIHRoZSBidWlsZGVyXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBhZGRCbG9jayhidWlsZGVyOiBBcnRpY2xlQnVpbGRlciwgYmxvY2s6IENvbnRlbnRCbG9jayk6IHZvaWQge1xuICAgIHN3aXRjaCAoYmxvY2sudHlwZSkge1xuICAgICAgY2FzZSAnaGVhZGluZyc6XG4gICAgICAgIHRoaXMuYWRkSGVhZGluZyhidWlsZGVyLCBibG9jayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncGFyYWdyYXBoJzpcbiAgICAgICAgdGhpcy5hZGRQYXJhZ3JhcGgoYnVpbGRlciwgYmxvY2spO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3F1b3RlJzpcbiAgICAgICAgdGhpcy5hZGRRdW90ZShidWlsZGVyLCBibG9jayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY29kZSc6XG4gICAgICAgIHRoaXMuYWRkQ29kZShidWlsZGVyLCBibG9jayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbGlzdCc6XG4gICAgICAgIHRoaXMuYWRkTGlzdChidWlsZGVyLCBibG9jayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnaW1hZ2UnOlxuICAgICAgICB0aGlzLmFkZEltYWdlKGJ1aWxkZXIsIGJsb2NrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjYWxsb3V0JzpcbiAgICAgICAgdGhpcy5hZGRDYWxsb3V0KGJ1aWxkZXIsIGJsb2NrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdkaXZpZGVyJzpcbiAgICAgICAgdGhpcy5hZGREaXZpZGVyKGJ1aWxkZXIsIGJsb2NrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdidXR0b24nOlxuICAgICAgICB0aGlzLmFkZEJ1dHRvbihidWlsZGVyLCBibG9jayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY29tbWFuZCc6XG4gICAgICAgIHRoaXMuYWRkQ29tbWFuZChidWlsZGVyLCBibG9jayk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgaGVhZGluZyBibG9ja1xuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgYWRkSGVhZGluZyhidWlsZGVyOiBBcnRpY2xlQnVpbGRlciwgYmxvY2s6IEhlYWRpbmdCbG9jayk6IHZvaWQge1xuICAgIGlmIChibG9jay5sZXZlbCA9PT0gMSkge1xuICAgICAgYnVpbGRlci50aXRsZSh7XG4gICAgICAgIGNvbnRlbnQ6IGJsb2NrLnRleHQsXG4gICAgICAgIHNpemU6ICdsYXJnZScsXG4gICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgIGJvbGQ6IHRydWUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgYnVpbGRlci5zdWJ0aXRsZSh7XG4gICAgICAgIGNvbnRlbnQ6IGJsb2NrLnRleHQsXG4gICAgICAgIHNpemU6IGJsb2NrLmxldmVsID09PSAyID8gJ21lZGl1bScgOiAnc21hbGwnLFxuICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICBib2xkOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBwYXJhZ3JhcGggYmxvY2tcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGFkZFBhcmFncmFwaChidWlsZGVyOiBBcnRpY2xlQnVpbGRlciwgYmxvY2s6IFBhcmFncmFwaEJsb2NrKTogdm9pZCB7XG4gICAgYnVpbGRlci5wYXJhZ3JhcGgoe1xuICAgICAgY29udGVudDogYmxvY2sudGV4dCxcbiAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgIGJvbGQ6IGJsb2NrLmVtcGhhc2lzID8/IGZhbHNlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBxdW90ZSBibG9ja1xuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgYWRkUXVvdGUoYnVpbGRlcjogQXJ0aWNsZUJ1aWxkZXIsIGJsb2NrOiBRdW90ZUJsb2NrKTogdm9pZCB7XG4gICAgYnVpbGRlci5xdW90ZSh7XG4gICAgICBjb250ZW50OiBibG9jay50ZXh0LFxuICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgYm9sZDogZmFsc2UsXG4gICAgICBhdXRob3I6IGJsb2NrLmF1dGhvcixcbiAgICAgIHNvdXJjZTogYmxvY2suc291cmNlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjb2RlIGJsb2NrXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBhZGRDb2RlKGJ1aWxkZXI6IEFydGljbGVCdWlsZGVyLCBibG9jazogQ29kZUJsb2NrKTogdm9pZCB7XG4gICAgYnVpbGRlci5jb2RlKGJsb2NrLmNvZGUsIGJsb2NrLmxhbmd1YWdlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgbGlzdCBibG9ja1xuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgYWRkTGlzdChidWlsZGVyOiBBcnRpY2xlQnVpbGRlciwgYmxvY2s6IExpc3RCbG9jayk6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW1zID0gYmxvY2suaXRlbXMubWFwKCh0ZXh0KSA9PiAoeyB0ZXh0IH0pKTtcbiAgICBjb25zdCBsaXN0VHlwZSA9IGJsb2NrLmNoZWNrbGlzdCA/ICdjaGVja2xpc3QnIDogYmxvY2sub3JkZXJlZCA/ICdvcmRlcmVkJyA6ICd1bm9yZGVyZWQnO1xuICAgIGJ1aWxkZXIubGlzdChpdGVtcywgbGlzdFR5cGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gaW1hZ2UgYmxvY2tcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGFkZEltYWdlKGJ1aWxkZXI6IEFydGljbGVCdWlsZGVyLCBibG9jazogSW1hZ2VCbG9jayk6IHZvaWQge1xuICAgIGJ1aWxkZXIuaW1hZ2UoYmxvY2suc3JjLCBibG9jay5hbHQsIGJsb2NrLmNhcHRpb24sIHtcbiAgICAgIC8vIE5vdGU6IGFsaWdubWVudCBpcyBoYW5kbGVkIGRpZmZlcmVudGx5IGluIEFydGljbGVCdWlsZGVyXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGNhbGxvdXQvbm90ZSBibG9ja1xuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgYWRkQ2FsbG91dChidWlsZGVyOiBBcnRpY2xlQnVpbGRlciwgYmxvY2s6IENhbGxvdXRCbG9jayk6IHZvaWQge1xuICAgIGNvbnN0IGNvbG9yID0gQ0FMTE9VVF9DT0xPUl9NQVBbYmxvY2sudmFyaWFudF0gPz8gJ3ByaW1hcnknO1xuICAgIGNvbnN0IHByZWZpeCA9IGJsb2NrLnRpdGxlID8/IENBTExPVVRfUFJFRklYX01BUFtibG9jay52YXJpYW50XSA/PyAnTm90YTonO1xuICAgIGJ1aWxkZXIubm90ZShibG9jay50ZXh0LCBwcmVmaXgsIGNvbG9yKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgZGl2aWRlci9zZXBhcmF0b3IgYmxvY2tcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGFkZERpdmlkZXIoYnVpbGRlcjogQXJ0aWNsZUJ1aWxkZXIsIGJsb2NrOiBEaXZpZGVyQmxvY2spOiB2b2lkIHtcbiAgICBidWlsZGVyLnNlcGFyYXRvcihibG9jay5zdHlsZSA/PyAnbGluZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBidXR0b24gYmxvY2tcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGFkZEJ1dHRvbihidWlsZGVyOiBBcnRpY2xlQnVpbGRlciwgYmxvY2s6IEJ1dHRvbkJsb2NrKTogdm9pZCB7XG4gICAgY29uc3QgY29sb3JNYXA6IFJlY29yZDxzdHJpbmcsIENvbG9yPiA9IHtcbiAgICAgIHByaW1hcnk6ICdwcmltYXJ5JyxcbiAgICAgIHNlY29uZGFyeTogJ3NlY29uZGFyeScsXG4gICAgICBzdWNjZXNzOiAnc3VjY2VzcycsXG4gICAgICB3YXJuaW5nOiAnd2FybmluZycsXG4gICAgICBkYW5nZXI6ICdkYW5nZXInLFxuICAgIH07XG5cbiAgICBidWlsZGVyLmJ1dHRvbihcbiAgICAgIHtcbiAgICAgICAgdGV4dDogYmxvY2sudGV4dCxcbiAgICAgICAgY29sb3I6IGNvbG9yTWFwW2Jsb2NrLmNvbG9yID8/ICdwcmltYXJ5J10gPz8gJ3ByaW1hcnknLFxuICAgICAgICBmaWxsOiAnc29saWQnLFxuICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgc3RhdGU6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgICAgICBocmVmOiBibG9jay5ocmVmLFxuICAgICAgICB0b2tlbjogYmxvY2suYWN0aW9uLFxuICAgICAgfSxcbiAgICAgIGJsb2NrLmFsaWdubWVudCA/PyAnY2VudGVyJ1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGNvbW1hbmQvdGVybWluYWwgYmxvY2tcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGFkZENvbW1hbmQoYnVpbGRlcjogQXJ0aWNsZUJ1aWxkZXIsIGJsb2NrOiBDb21tYW5kQmxvY2spOiB2b2lkIHtcbiAgICBidWlsZGVyLmNvbW1hbmQoYmxvY2suY29tbWFuZCk7XG4gIH1cbn1cblxuLyoqXG4gKiBDb252ZW5pZW5jZSBmdW5jdGlvbiB0byB0cmFuc2Zvcm0gYSBDb250ZW50RG9jdW1lbnQgdG8gQXJ0aWNsZU1ldGFkYXRhXG4gKlxuICogQHBhcmFtIGRvYyAtIFRoZSBjb250ZW50IGRvY3VtZW50IHRvIHRyYW5zZm9ybVxuICogQHJldHVybnMgQXJ0aWNsZU1ldGFkYXRhIHJlYWR5IGZvciB2YWwtYXJ0aWNsZSBjb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgYXJ0aWNsZSA9IHRvQXJ0aWNsZShteUJsb2dQb3N0KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9BcnRpY2xlKGRvYzogQ29udGVudERvY3VtZW50KTogQXJ0aWNsZU1ldGFkYXRhIHtcbiAgcmV0dXJuIENvbnRlbnRUcmFuc2Zvcm1lci50b0FydGljbGUoZG9jKTtcbn1cbiJdfQ==
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Content Types System
3
+ *
4
+ * This module provides a content abstraction layer that transforms
5
+ * structured content documents (blog posts, documentation, news articles)
6
+ * into ArticleMetadata for rendering with val-article component.
7
+ */
8
+ // =============================================================================
9
+ // TYPE GUARDS
10
+ // =============================================================================
11
+ /**
12
+ * Type guard to check if a block is a heading
13
+ */
14
+ export function isHeadingBlock(block) {
15
+ return block.type === 'heading';
16
+ }
17
+ /**
18
+ * Type guard to check if a block is a paragraph
19
+ */
20
+ export function isParagraphBlock(block) {
21
+ return block.type === 'paragraph';
22
+ }
23
+ /**
24
+ * Type guard to check if a block is a code block
25
+ */
26
+ export function isCodeBlock(block) {
27
+ return block.type === 'code';
28
+ }
29
+ /**
30
+ * Type guard to check if a block is a list
31
+ */
32
+ export function isListBlock(block) {
33
+ return block.type === 'list';
34
+ }
35
+ /**
36
+ * Type guard to check if a block is a callout
37
+ */
38
+ export function isCalloutBlock(block) {
39
+ return block.type === 'callout';
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2NvbnRlbnQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBd09ILGdGQUFnRjtBQUNoRixjQUFjO0FBQ2QsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxLQUFtQjtJQUNoRCxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDO0FBQ2xDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFtQjtJQUNsRCxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDO0FBQ3BDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBbUI7SUFDN0MsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQztBQUMvQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQW1CO0lBQzdDLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUM7QUFDL0IsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxLQUFtQjtJQUNoRCxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDO0FBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnRlbnQgVHlwZXMgU3lzdGVtXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBjb250ZW50IGFic3RyYWN0aW9uIGxheWVyIHRoYXQgdHJhbnNmb3Jtc1xuICogc3RydWN0dXJlZCBjb250ZW50IGRvY3VtZW50cyAoYmxvZyBwb3N0cywgZG9jdW1lbnRhdGlvbiwgbmV3cyBhcnRpY2xlcylcbiAqIGludG8gQXJ0aWNsZU1ldGFkYXRhIGZvciByZW5kZXJpbmcgd2l0aCB2YWwtYXJ0aWNsZSBjb21wb25lbnQuXG4gKi9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVEhPUiAmIE1FVEFcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQXV0aG9yIGluZm9ybWF0aW9uIGZvciBjb250ZW50IGRvY3VtZW50c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnRBdXRob3Ige1xuICAvKiogQXV0aG9yJ3MgZGlzcGxheSBuYW1lICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIFVSTCB0byBhdXRob3IncyBhdmF0YXIgaW1hZ2UgKi9cbiAgYXZhdGFyPzogc3RyaW5nO1xuICAvKiogQXV0aG9yJ3Mgcm9sZSBvciB0aXRsZSAqL1xuICByb2xlPzogc3RyaW5nO1xuICAvKiogTGluayB0byBhdXRob3IncyBwcm9maWxlICovXG4gIHByb2ZpbGVVcmw/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29tbW9uIG1ldGFkYXRhIGZvciBhbGwgY29udGVudCBkb2N1bWVudHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb250ZW50TWV0YSB7XG4gIC8qKiBVbmlxdWUgaWRlbnRpZmllciAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqIFVSTC1mcmllbmRseSBzbHVnICovXG4gIHNsdWc/OiBzdHJpbmc7XG4gIC8qKiBDcmVhdGlvbiBkYXRlICovXG4gIGNyZWF0ZWRBdD86IERhdGUgfCBzdHJpbmc7XG4gIC8qKiBMYXN0IHVwZGF0ZSBkYXRlICovXG4gIHVwZGF0ZWRBdD86IERhdGUgfCBzdHJpbmc7XG4gIC8qKiBQdWJsaWNhdGlvbiBkYXRlICovXG4gIHB1Ymxpc2hlZEF0PzogRGF0ZSB8IHN0cmluZztcbiAgLyoqIENvbnRlbnQgYXV0aG9yICovXG4gIGF1dGhvcj86IENvbnRlbnRBdXRob3I7XG4gIC8qKiBUYWdzIGZvciBjYXRlZ29yaXphdGlvbiAqL1xuICB0YWdzPzogc3RyaW5nW107XG4gIC8qKiBQcmltYXJ5IGNhdGVnb3J5ICovXG4gIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAvKiogQ29udGVudCBsb2NhbGUgKGUuZy4sICdlcycsICdlbicpICovXG4gIGxvY2FsZT86IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENPTlRFTlQgQkxPQ0tTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEhlYWRpbmcgYmxvY2sgLSByZW5kZXJzIGFzIHRpdGxlIG9yIHN1YnRpdGxlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGluZ0Jsb2NrIHtcbiAgdHlwZTogJ2hlYWRpbmcnO1xuICAvKiogSGVhZGluZyBsZXZlbDogMSA9IHRpdGxlLCAyLTMgPSBzdWJ0aXRsZSAqL1xuICBsZXZlbDogMSB8IDIgfCAzO1xuICAvKiogSGVhZGluZyB0ZXh0ICovXG4gIHRleHQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhZ3JhcGggYmxvY2sgLSByZW5kZXJzIGFzIHRleHRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJhZ3JhcGhCbG9jayB7XG4gIHR5cGU6ICdwYXJhZ3JhcGgnO1xuICAvKiogUGFyYWdyYXBoIHRleHQgY29udGVudCAqL1xuICB0ZXh0OiBzdHJpbmc7XG4gIC8qKiBBcHBseSBlbXBoYXNpcyBzdHlsaW5nICovXG4gIGVtcGhhc2lzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBRdW90ZSBibG9jayAtIHJlbmRlcnMgYXMgYmxvY2txdW90ZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFF1b3RlQmxvY2sge1xuICB0eXBlOiAncXVvdGUnO1xuICAvKiogUXVvdGUgdGV4dCAqL1xuICB0ZXh0OiBzdHJpbmc7XG4gIC8qKiBRdW90ZSBhdXRob3IgbmFtZSAqL1xuICBhdXRob3I/OiBzdHJpbmc7XG4gIC8qKiBRdW90ZSBzb3VyY2UgKi9cbiAgc291cmNlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvZGUgYmxvY2sgLSByZW5kZXJzIGFzIHN5bnRheC1oaWdobGlnaHRlZCBjb2RlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUJsb2NrIHtcbiAgdHlwZTogJ2NvZGUnO1xuICAvKiogQ29kZSBjb250ZW50ICovXG4gIGNvZGU6IHN0cmluZztcbiAgLyoqIFByb2dyYW1taW5nIGxhbmd1YWdlIGZvciBzeW50YXggaGlnaGxpZ2h0aW5nICovXG4gIGxhbmd1YWdlPzogc3RyaW5nO1xuICAvKiogQ29kZSBibG9jayB0aXRsZS9maWxlbmFtZSAqL1xuICB0aXRsZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBMaXN0IGJsb2NrIC0gcmVuZGVycyBhcyBvcmRlcmVkLCB1bm9yZGVyZWQsIG9yIGNoZWNrbGlzdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpc3RCbG9jayB7XG4gIHR5cGU6ICdsaXN0JztcbiAgLyoqIExpc3QgaXRlbXMgKHNpbXBsZSBzdHJpbmdzKSAqL1xuICBpdGVtczogc3RyaW5nW107XG4gIC8qKiBSZW5kZXIgYXMgbnVtYmVyZWQgbGlzdCAqL1xuICBvcmRlcmVkPzogYm9vbGVhbjtcbiAgLyoqIFJlbmRlciBhcyBjaGVja2xpc3Qgd2l0aCBjaGVja21hcmtzICovXG4gIGNoZWNrbGlzdD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogSW1hZ2UgYmxvY2sgLSByZW5kZXJzIGFzIGltYWdlIHdpdGggb3B0aW9uYWwgY2FwdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlQmxvY2sge1xuICB0eXBlOiAnaW1hZ2UnO1xuICAvKiogSW1hZ2Ugc291cmNlIFVSTCAqL1xuICBzcmM6IHN0cmluZztcbiAgLyoqIEFsdCB0ZXh0IGZvciBhY2Nlc3NpYmlsaXR5ICovXG4gIGFsdDogc3RyaW5nO1xuICAvKiogSW1hZ2UgY2FwdGlvbiAqL1xuICBjYXB0aW9uPzogc3RyaW5nO1xuICAvKiogSW1hZ2UgYWxpZ25tZW50ICovXG4gIGFsaWdubWVudD86ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0Jztcbn1cblxuLyoqXG4gKiBDYWxsb3V0IGJsb2NrIC0gcmVuZGVycyBhcyBoaWdobGlnaHRlZCBub3RlL3dhcm5pbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDYWxsb3V0QmxvY2sge1xuICB0eXBlOiAnY2FsbG91dCc7XG4gIC8qKiBDYWxsb3V0IHRleHQgY29udGVudCAqL1xuICB0ZXh0OiBzdHJpbmc7XG4gIC8qKiBDYWxsb3V0IHZhcmlhbnQgZGV0ZXJtaW5lcyBzdHlsaW5nICovXG4gIHZhcmlhbnQ6ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdzdWNjZXNzJyB8ICdlcnJvcic7XG4gIC8qKiBPcHRpb25hbCB0aXRsZS9wcmVmaXggKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGl2aWRlciBibG9jayAtIHJlbmRlcnMgYXMgc2VwYXJhdG9yIGxpbmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXZpZGVyQmxvY2sge1xuICB0eXBlOiAnZGl2aWRlcic7XG4gIC8qKiBEaXZpZGVyIHN0eWxlICovXG4gIHN0eWxlPzogJ2xpbmUnIHwgJ2RvdHMnIHwgJ3NwYWNlJztcbn1cblxuLyoqXG4gKiBCdXR0b24gYmxvY2sgLSByZW5kZXJzIGFzIGNhbGwtdG8tYWN0aW9uIGJ1dHRvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvbkJsb2NrIHtcbiAgdHlwZTogJ2J1dHRvbic7XG4gIC8qKiBCdXR0b24gdGV4dCAqL1xuICB0ZXh0OiBzdHJpbmc7XG4gIC8qKiBMaW5rIFVSTCAoZm9yIG5hdmlnYXRpb24pICovXG4gIGhyZWY/OiBzdHJpbmc7XG4gIC8qKiBBY3Rpb24gaWRlbnRpZmllciAoZm9yIGV2ZW50IGhhbmRsaW5nKSAqL1xuICBhY3Rpb24/OiBzdHJpbmc7XG4gIC8qKiBCdXR0b24gY29sb3IgKi9cbiAgY29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInO1xuICAvKiogQnV0dG9uIGFsaWdubWVudCAqL1xuICBhbGlnbm1lbnQ/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG59XG5cbi8qKlxuICogQ29tbWFuZCBibG9jayAtIHJlbmRlcnMgYXMgdGVybWluYWwvQ0xJIGNvbW1hbmRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21tYW5kQmxvY2sge1xuICB0eXBlOiAnY29tbWFuZCc7XG4gIC8qKiBDb21tYW5kIHRvIGRpc3BsYXkgKi9cbiAgY29tbWFuZDogc3RyaW5nO1xuICAvKiogU2hvdyBjb3B5IGJ1dHRvbiAqL1xuICBjb3B5YWJsZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVW5pb24gdHlwZSBvZiBhbGwgY29udGVudCBibG9ja3NcbiAqL1xuZXhwb3J0IHR5cGUgQ29udGVudEJsb2NrID1cbiAgfCBIZWFkaW5nQmxvY2tcbiAgfCBQYXJhZ3JhcGhCbG9ja1xuICB8IFF1b3RlQmxvY2tcbiAgfCBDb2RlQmxvY2tcbiAgfCBMaXN0QmxvY2tcbiAgfCBJbWFnZUJsb2NrXG4gIHwgQ2FsbG91dEJsb2NrXG4gIHwgRGl2aWRlckJsb2NrXG4gIHwgQnV0dG9uQmxvY2tcbiAgfCBDb21tYW5kQmxvY2s7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDT05URU5UIERPQ1VNRU5UXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgY29udGVudCByZW5kZXJpbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb250ZW50Q29uZmlnIHtcbiAgLyoqIEFydGljbGUgdGhlbWUgKi9cbiAgdGhlbWU/OiAnbGlnaHQnIHwgJ2RhcmsnIHwgJ2F1dG8nO1xuICAvKiogTWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGVudCBjb250YWluZXIgKi9cbiAgbWF4V2lkdGg/OiBzdHJpbmc7XG4gIC8qKiBTaG93IG1ldGFkYXRhIChhdXRob3IsIGRhdGUsIGV0Yy4pICovXG4gIHNob3dNZXRhPzogYm9vbGVhbjtcbiAgLyoqIFNob3cgdGFibGUgb2YgY29udGVudHMgKi9cbiAgc2hvd1RhYmxlT2ZDb250ZW50cz86IGJvb2xlYW47XG4gIC8qKiBDZW50ZXIgdGhlIGNvbnRlbnQgY29udGFpbmVyICovXG4gIGNlbnRlcmVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBCYXNlIGludGVyZmFjZSBmb3IgYWxsIGNvbnRlbnQgZG9jdW1lbnRzLlxuICogR2VuZXJpYyB0eXBlIFQgcmVwcmVzZW50cyB0aGUgZG9jdW1lbnQgdHlwZSBkaXNjcmltaW5hdG9yLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbnRlcmZhY2UgQmxvZ1Bvc3QgZXh0ZW5kcyBDb250ZW50RG9jdW1lbnQ8J2Jsb2cnPiB7XG4gKiAgIHRpdGxlOiBzdHJpbmc7XG4gKiAgIGV4Y2VycHQ6IHN0cmluZztcbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnREb2N1bWVudDxUIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPiB7XG4gIC8qKiBEb2N1bWVudCB0eXBlIGRpc2NyaW1pbmF0b3IgKi9cbiAgdHlwZTogVDtcbiAgLyoqIERvY3VtZW50IG1ldGFkYXRhICovXG4gIG1ldGE6IENvbnRlbnRNZXRhO1xuICAvKiogQXJyYXkgb2YgY29udGVudCBibG9ja3MgKi9cbiAgY29udGVudDogQ29udGVudEJsb2NrW107XG4gIC8qKiBSZW5kZXJpbmcgY29uZmlndXJhdGlvbiAqL1xuICBjb25maWc/OiBDb250ZW50Q29uZmlnO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVFlQRSBHVUFSRFNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhIGJsb2NrIGlzIGEgaGVhZGluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNIZWFkaW5nQmxvY2soYmxvY2s6IENvbnRlbnRCbG9jayk6IGJsb2NrIGlzIEhlYWRpbmdCbG9jayB7XG4gIHJldHVybiBibG9jay50eXBlID09PSAnaGVhZGluZyc7XG59XG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhIGJsb2NrIGlzIGEgcGFyYWdyYXBoXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1BhcmFncmFwaEJsb2NrKGJsb2NrOiBDb250ZW50QmxvY2spOiBibG9jayBpcyBQYXJhZ3JhcGhCbG9jayB7XG4gIHJldHVybiBibG9jay50eXBlID09PSAncGFyYWdyYXBoJztcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGEgYmxvY2sgaXMgYSBjb2RlIGJsb2NrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NvZGVCbG9jayhibG9jazogQ29udGVudEJsb2NrKTogYmxvY2sgaXMgQ29kZUJsb2NrIHtcbiAgcmV0dXJuIGJsb2NrLnR5cGUgPT09ICdjb2RlJztcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGEgYmxvY2sgaXMgYSBsaXN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0xpc3RCbG9jayhibG9jazogQ29udGVudEJsb2NrKTogYmxvY2sgaXMgTGlzdEJsb2NrIHtcbiAgcmV0dXJuIGJsb2NrLnR5cGUgPT09ICdsaXN0Jztcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGEgYmxvY2sgaXMgYSBjYWxsb3V0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NhbGxvdXRCbG9jayhibG9jazogQ29udGVudEJsb2NrKTogYmxvY2sgaXMgQ2FsbG91dEJsb2NrIHtcbiAgcmV0dXJuIGJsb2NrLnR5cGUgPT09ICdjYWxsb3V0Jztcbn1cbiJdfQ==
@@ -0,0 +1,91 @@
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Service for handling documentation navigation with scroll management.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { DocsNavigationService } from 'valtech-components';
10
+ *
11
+ * @Component({...})
12
+ * export class MyComponent {
13
+ * private docsNav = inject(DocsNavigationService);
14
+ *
15
+ * onLinkClick(route: string[]) {
16
+ * this.docsNav.navigateAndScroll(route);
17
+ * }
18
+ * }
19
+ * ```
20
+ */
21
+ export class DocsNavigationService {
22
+ constructor() {
23
+ this.router = inject(Router);
24
+ /**
25
+ * Default scroll container selector.
26
+ * Can be overridden per-call or globally.
27
+ */
28
+ this.defaultScrollSelector = '.docs-main-scroll';
29
+ }
30
+ /**
31
+ * Navigate to a route and scroll to top.
32
+ * @param route - Route segments to navigate to
33
+ * @param scrollSelector - Optional custom scroll container selector
34
+ */
35
+ async navigateAndScroll(route, scrollSelector) {
36
+ const result = await this.router.navigate(route);
37
+ if (result) {
38
+ this.scrollToTop(scrollSelector);
39
+ }
40
+ return result;
41
+ }
42
+ /**
43
+ * Scroll to top of the documentation content.
44
+ * Tries multiple scroll containers for compatibility.
45
+ * @param scrollSelector - Optional custom scroll container selector
46
+ */
47
+ scrollToTop(scrollSelector) {
48
+ const selector = scrollSelector || this.defaultScrollSelector;
49
+ // 1. Try ion-content first (Ionic)
50
+ const ionContent = document.querySelector('ion-content');
51
+ if (ionContent && typeof ionContent.scrollToTop === 'function') {
52
+ ionContent.scrollToTop(0);
53
+ }
54
+ // 2. Try the main scrollable element
55
+ const mainScroll = document.querySelector(selector);
56
+ if (mainScroll) {
57
+ mainScroll.scrollTop = 0;
58
+ }
59
+ // 3. Fallback to window/document scroll
60
+ window.scrollTo({ top: 0, behavior: 'instant' });
61
+ document.documentElement.scrollTop = 0;
62
+ document.body.scrollTop = 0;
63
+ }
64
+ /**
65
+ * Scroll to a specific element by ID.
66
+ * @param elementId - The ID of the element to scroll to
67
+ * @param scrollSelector - Optional custom scroll container selector
68
+ */
69
+ scrollToElement(elementId, scrollSelector) {
70
+ const element = document.getElementById(elementId);
71
+ if (element) {
72
+ element.scrollIntoView({ behavior: 'smooth', block: 'start' });
73
+ }
74
+ }
75
+ /**
76
+ * Set the default scroll container selector.
77
+ * @param selector - CSS selector for the scroll container
78
+ */
79
+ setDefaultScrollSelector(selector) {
80
+ this.defaultScrollSelector = selector;
81
+ }
82
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DocsNavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
83
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DocsNavigationService, providedIn: 'root' }); }
84
+ }
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DocsNavigationService, decorators: [{
86
+ type: Injectable,
87
+ args: [{
88
+ providedIn: 'root',
89
+ }]
90
+ }] });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1uYXZpZ2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2RvY3MvZG9jcy1uYXZpZ2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUV6Qzs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUlILE1BQU0sT0FBTyxxQkFBcUI7SUFIbEM7UUFJVSxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWhDOzs7V0FHRztRQUNLLDBCQUFxQixHQUFHLG1CQUFtQixDQUFDO0tBNERyRDtJQTFEQzs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBQWUsRUFBRSxjQUF1QjtRQUM5RCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxjQUF1QjtRQUNqQyxNQUFNLFFBQVEsR0FBRyxjQUFjLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBRTlELG1DQUFtQztRQUNuQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3pELElBQUksVUFBVSxJQUFJLE9BQVEsVUFBa0IsQ0FBQyxXQUFXLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDdkUsVUFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUVELHFDQUFxQztRQUNyQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixVQUFVLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBRUQsd0NBQXdDO1FBQ3hDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUN2QyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxlQUFlLENBQUMsU0FBaUIsRUFBRSxjQUF1QjtRQUN4RCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25ELElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILHdCQUF3QixDQUFDLFFBQWdCO1FBQ3ZDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxRQUFRLENBQUM7SUFDeEMsQ0FBQzsrR0FsRVUscUJBQXFCO21IQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBoYW5kbGluZyBkb2N1bWVudGF0aW9uIG5hdmlnYXRpb24gd2l0aCBzY3JvbGwgbWFuYWdlbWVudC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgRG9jc05hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcbiAqXG4gKiBAQ29tcG9uZW50KHsuLi59KVxuICogZXhwb3J0IGNsYXNzIE15Q29tcG9uZW50IHtcbiAqICAgcHJpdmF0ZSBkb2NzTmF2ID0gaW5qZWN0KERvY3NOYXZpZ2F0aW9uU2VydmljZSk7XG4gKlxuICogICBvbkxpbmtDbGljayhyb3V0ZTogc3RyaW5nW10pIHtcbiAqICAgICB0aGlzLmRvY3NOYXYubmF2aWdhdGVBbmRTY3JvbGwocm91dGUpO1xuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERvY3NOYXZpZ2F0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgc2Nyb2xsIGNvbnRhaW5lciBzZWxlY3Rvci5cbiAgICogQ2FuIGJlIG92ZXJyaWRkZW4gcGVyLWNhbGwgb3IgZ2xvYmFsbHkuXG4gICAqL1xuICBwcml2YXRlIGRlZmF1bHRTY3JvbGxTZWxlY3RvciA9ICcuZG9jcy1tYWluLXNjcm9sbCc7XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlIHRvIGEgcm91dGUgYW5kIHNjcm9sbCB0byB0b3AuXG4gICAqIEBwYXJhbSByb3V0ZSAtIFJvdXRlIHNlZ21lbnRzIHRvIG5hdmlnYXRlIHRvXG4gICAqIEBwYXJhbSBzY3JvbGxTZWxlY3RvciAtIE9wdGlvbmFsIGN1c3RvbSBzY3JvbGwgY29udGFpbmVyIHNlbGVjdG9yXG4gICAqL1xuICBhc3luYyBuYXZpZ2F0ZUFuZFNjcm9sbChyb3V0ZTogc3RyaW5nW10sIHNjcm9sbFNlbGVjdG9yPzogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUocm91dGUpO1xuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIHRoaXMuc2Nyb2xsVG9Ub3Aoc2Nyb2xsU2VsZWN0b3IpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIFNjcm9sbCB0byB0b3Agb2YgdGhlIGRvY3VtZW50YXRpb24gY29udGVudC5cbiAgICogVHJpZXMgbXVsdGlwbGUgc2Nyb2xsIGNvbnRhaW5lcnMgZm9yIGNvbXBhdGliaWxpdHkuXG4gICAqIEBwYXJhbSBzY3JvbGxTZWxlY3RvciAtIE9wdGlvbmFsIGN1c3RvbSBzY3JvbGwgY29udGFpbmVyIHNlbGVjdG9yXG4gICAqL1xuICBzY3JvbGxUb1RvcChzY3JvbGxTZWxlY3Rvcj86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gc2Nyb2xsU2VsZWN0b3IgfHwgdGhpcy5kZWZhdWx0U2Nyb2xsU2VsZWN0b3I7XG5cbiAgICAvLyAxLiBUcnkgaW9uLWNvbnRlbnQgZmlyc3QgKElvbmljKVxuICAgIGNvbnN0IGlvbkNvbnRlbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpb24tY29udGVudCcpO1xuICAgIGlmIChpb25Db250ZW50ICYmIHR5cGVvZiAoaW9uQ29udGVudCBhcyBhbnkpLnNjcm9sbFRvVG9wID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAoaW9uQ29udGVudCBhcyBhbnkpLnNjcm9sbFRvVG9wKDApO1xuICAgIH1cblxuICAgIC8vIDIuIFRyeSB0aGUgbWFpbiBzY3JvbGxhYmxlIGVsZW1lbnRcbiAgICBjb25zdCBtYWluU2Nyb2xsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7XG4gICAgaWYgKG1haW5TY3JvbGwpIHtcbiAgICAgIG1haW5TY3JvbGwuc2Nyb2xsVG9wID0gMDtcbiAgICB9XG5cbiAgICAvLyAzLiBGYWxsYmFjayB0byB3aW5kb3cvZG9jdW1lbnQgc2Nyb2xsXG4gICAgd2luZG93LnNjcm9sbFRvKHsgdG9wOiAwLCBiZWhhdmlvcjogJ2luc3RhbnQnIH0pO1xuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPSAwO1xuICAgIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wID0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTY3JvbGwgdG8gYSBzcGVjaWZpYyBlbGVtZW50IGJ5IElELlxuICAgKiBAcGFyYW0gZWxlbWVudElkIC0gVGhlIElEIG9mIHRoZSBlbGVtZW50IHRvIHNjcm9sbCB0b1xuICAgKiBAcGFyYW0gc2Nyb2xsU2VsZWN0b3IgLSBPcHRpb25hbCBjdXN0b20gc2Nyb2xsIGNvbnRhaW5lciBzZWxlY3RvclxuICAgKi9cbiAgc2Nyb2xsVG9FbGVtZW50KGVsZW1lbnRJZDogc3RyaW5nLCBzY3JvbGxTZWxlY3Rvcj86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpO1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ3N0YXJ0JyB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBkZWZhdWx0IHNjcm9sbCBjb250YWluZXIgc2VsZWN0b3IuXG4gICAqIEBwYXJhbSBzZWxlY3RvciAtIENTUyBzZWxlY3RvciBmb3IgdGhlIHNjcm9sbCBjb250YWluZXJcbiAgICovXG4gIHNldERlZmF1bHRTY3JvbGxTZWxlY3RvcihzZWxlY3Rvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kZWZhdWx0U2Nyb2xsU2VsZWN0b3IgPSBzZWxlY3RvcjtcbiAgfVxufVxuIl19
@@ -0,0 +1,41 @@
1
+ import { InjectionToken, makeEnvironmentProviders } from '@angular/core';
2
+ /**
3
+ * Token de inyección para la configuración de Donation/Support.
4
+ */
5
+ export const VALTECH_DONATION_CONFIG = new InjectionToken('ValtechDonationConfig');
6
+ /** Configuración por defecto — sin métodos habilitados. */
7
+ export const DEFAULT_DONATION_CONFIG = {
8
+ methods: [],
9
+ };
10
+ /**
11
+ * Provee el feature de aportes (Support) a la aplicación Angular.
12
+ *
13
+ * Cada app del factory declara qué métodos habilita. La vista de Support
14
+ * (heredada o local) renderiza solo los métodos configurados.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * // main.ts
19
+ * provideValtechDonations({
20
+ * appId: 'showcase',
21
+ * methods: ['coffee', 'bank', 'ads'],
22
+ * coffee: { provider: 'buymeacoffee', url: 'https://buymeacoffee.com/valtech' },
23
+ * bank: {
24
+ * accounts: [{
25
+ * country: 'CL', bank: 'Banco X', accountType: 'Cuenta Corriente',
26
+ * number: '000000000', taxId: '11.111.111-1', holder: 'Valtech SpA',
27
+ * email: 'aportes@valtech.com', currency: 'CLP',
28
+ * }],
29
+ * },
30
+ * ads: { provider: 'admob', rewardedUnitId: 'ca-app-pub-xxx' },
31
+ * }),
32
+ * ```
33
+ */
34
+ export function provideValtechDonations(config) {
35
+ const merged = {
36
+ ...DEFAULT_DONATION_CONFIG,
37
+ ...config,
38
+ };
39
+ return makeEnvironmentProviders([{ provide: VALTECH_DONATION_CONFIG, useValue: merged }]);
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9kb25hdGlvbi9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QixjQUFjLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0Y7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FDdkQsdUJBQXVCLENBQ3hCLENBQUM7QUFFRiwyREFBMkQ7QUFDM0QsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQW1DO0lBQ3JFLE9BQU8sRUFBRSxFQUFFO0NBQ1osQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxNQUE2QjtJQUNuRSxNQUFNLE1BQU0sR0FBMEI7UUFDcEMsR0FBRyx1QkFBdUI7UUFDMUIsR0FBRyxNQUFNO0tBQ1YsQ0FBQztJQUVGLE9BQU8sd0JBQXdCLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzVGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudFByb3ZpZGVycywgSW5qZWN0aW9uVG9rZW4sIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsdGVjaERvbmF0aW9uQ29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogVG9rZW4gZGUgaW55ZWNjacOzbiBwYXJhIGxhIGNvbmZpZ3VyYWNpw7NuIGRlIERvbmF0aW9uL1N1cHBvcnQuXG4gKi9cbmV4cG9ydCBjb25zdCBWQUxURUNIX0RPTkFUSU9OX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxWYWx0ZWNoRG9uYXRpb25Db25maWc+KFxuICAnVmFsdGVjaERvbmF0aW9uQ29uZmlnJ1xuKTtcblxuLyoqIENvbmZpZ3VyYWNpw7NuIHBvciBkZWZlY3RvIOKAlCBzaW4gbcOpdG9kb3MgaGFiaWxpdGFkb3MuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9ET05BVElPTl9DT05GSUc6IFBhcnRpYWw8VmFsdGVjaERvbmF0aW9uQ29uZmlnPiA9IHtcbiAgbWV0aG9kczogW10sXG59O1xuXG4vKipcbiAqIFByb3ZlZSBlbCBmZWF0dXJlIGRlIGFwb3J0ZXMgKFN1cHBvcnQpIGEgbGEgYXBsaWNhY2nDs24gQW5ndWxhci5cbiAqXG4gKiBDYWRhIGFwcCBkZWwgZmFjdG9yeSBkZWNsYXJhIHF1w6kgbcOpdG9kb3MgaGFiaWxpdGEuIExhIHZpc3RhIGRlIFN1cHBvcnRcbiAqIChoZXJlZGFkYSBvIGxvY2FsKSByZW5kZXJpemEgc29sbyBsb3MgbcOpdG9kb3MgY29uZmlndXJhZG9zLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBtYWluLnRzXG4gKiBwcm92aWRlVmFsdGVjaERvbmF0aW9ucyh7XG4gKiAgIGFwcElkOiAnc2hvd2Nhc2UnLFxuICogICBtZXRob2RzOiBbJ2NvZmZlZScsICdiYW5rJywgJ2FkcyddLFxuICogICBjb2ZmZWU6IHsgcHJvdmlkZXI6ICdidXltZWFjb2ZmZWUnLCB1cmw6ICdodHRwczovL2J1eW1lYWNvZmZlZS5jb20vdmFsdGVjaCcgfSxcbiAqICAgYmFuazoge1xuICogICAgIGFjY291bnRzOiBbe1xuICogICAgICAgY291bnRyeTogJ0NMJywgYmFuazogJ0JhbmNvIFgnLCBhY2NvdW50VHlwZTogJ0N1ZW50YSBDb3JyaWVudGUnLFxuICogICAgICAgbnVtYmVyOiAnMDAwMDAwMDAwJywgdGF4SWQ6ICcxMS4xMTEuMTExLTEnLCBob2xkZXI6ICdWYWx0ZWNoIFNwQScsXG4gKiAgICAgICBlbWFpbDogJ2Fwb3J0ZXNAdmFsdGVjaC5jb20nLCBjdXJyZW5jeTogJ0NMUCcsXG4gKiAgICAgfV0sXG4gKiAgIH0sXG4gKiAgIGFkczogeyBwcm92aWRlcjogJ2FkbW9iJywgcmV3YXJkZWRVbml0SWQ6ICdjYS1hcHAtcHViLXh4eCcgfSxcbiAqIH0pLFxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlVmFsdGVjaERvbmF0aW9ucyhjb25maWc6IFZhbHRlY2hEb25hdGlvbkNvbmZpZyk6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgY29uc3QgbWVyZ2VkOiBWYWx0ZWNoRG9uYXRpb25Db25maWcgPSB7XG4gICAgLi4uREVGQVVMVF9ET05BVElPTl9DT05GSUcsXG4gICAgLi4uY29uZmlnLFxuICB9O1xuXG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW3sgcHJvdmlkZTogVkFMVEVDSF9ET05BVElPTl9DT05GSUcsIHVzZVZhbHVlOiBtZXJnZWQgfV0pO1xufVxuIl19