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,147 @@
1
+ /**
2
+ * Valtech Pattern System — motifs + palettes.
3
+ *
4
+ * Pure data + helpers, sin dependencias Angular. Reusable desde Node/scripts
5
+ * (e.g., generate static thumbnails) o desde el componente `val-pattern`.
6
+ *
7
+ * Original spec: `assets/Valtech Pattern System.html` (single-page demo).
8
+ * Cada motif es función `(fill: string) => string` que devuelve SVG inner
9
+ * markup. Tile es 100×100 unidades; el motif se renderiza dentro de un `<g
10
+ * transform="translate(col*100 row*100)">` con un `<rect width=100 height=100
11
+ * fill=bg/>` de fondo.
12
+ */
13
+ /**
14
+ * Chevrons stroke-based con linecap/linejoin redondos — visualmente coherente
15
+ * con el símbolo de marca Valtech (`>_`). Stroke-width 18 (default), 12 para
16
+ * variants `small-*`.
17
+ */
18
+ const CHEV_STROKE = 18;
19
+ const CHEV_SMALL_STROKE = 12;
20
+ const chevStyle = (f, w = CHEV_STROKE) => `stroke="${f}" stroke-width="${w}" stroke-linecap="round" stroke-linejoin="round" fill="none"`;
21
+ export const PATTERN_MOTIFS = {
22
+ 'chev-r': f => `<path d="M22 18 L72 50 L22 82" ${chevStyle(f)}/>`,
23
+ 'chev-l': f => `<path d="M78 18 L28 50 L78 82" ${chevStyle(f)}/>`,
24
+ 'chev-d': f => `<path d="M18 22 L50 72 L82 22" ${chevStyle(f)}/>`,
25
+ 'chev-u': f => `<path d="M18 78 L50 28 L82 78" ${chevStyle(f)}/>`,
26
+ 'tri-tl': f => `<polygon points="0,0 100,0 0,100" fill="${f}"/>`,
27
+ 'tri-tr': f => `<polygon points="0,0 100,0 100,100" fill="${f}"/>`,
28
+ 'tri-bl': f => `<polygon points="0,0 100,100 0,100" fill="${f}"/>`,
29
+ 'tri-br': f => `<polygon points="100,0 100,100 0,100" fill="${f}"/>`,
30
+ solid: () => ``,
31
+ diamond: f => `<polygon points="50,12 88,50 50,88 12,50" fill="${f}"/>`,
32
+ 'small-r': f => `<path d="M38 32 L62 50 L38 68" ${chevStyle(f, CHEV_SMALL_STROKE)}/>`,
33
+ 'small-l': f => `<path d="M62 32 L38 50 L62 68" ${chevStyle(f, CHEV_SMALL_STROKE)}/>`,
34
+ 'arrow-r': f => `<path d="M10 42 L60 42 L60 28 L92 50 L60 72 L60 58 L10 58 Z" fill="${f}"/>`,
35
+ 'arrow-l': f => `<path d="M90 42 L40 42 L40 28 L8 50 L40 72 L40 58 L90 58 Z" fill="${f}"/>`,
36
+ 'house-d': f => `<polygon points="50,20 88,50 12,50" fill="${f}"/><rect x="28" y="50" width="44" height="32" fill="${f}"/>`,
37
+ 'half-l': f => `<rect x="0" y="0" width="50" height="100" fill="${f}"/>`,
38
+ 'half-t': f => `<rect x="0" y="0" width="100" height="50" fill="${f}"/>`,
39
+ };
40
+ export const MOTIF_KEYS = Object.keys(PATTERN_MOTIFS);
41
+ /** Chevron family — orientations + size variants + arrows. */
42
+ export const CHEV_KEYS = [
43
+ 'chev-r',
44
+ 'chev-l',
45
+ 'chev-d',
46
+ 'chev-u',
47
+ 'small-r',
48
+ 'small-l',
49
+ 'arrow-r',
50
+ 'arrow-l',
51
+ ];
52
+ /** Triangle / half-fill family. */
53
+ export const TRI_KEYS = [
54
+ 'tri-tl',
55
+ 'tri-tr',
56
+ 'tri-bl',
57
+ 'tri-br',
58
+ 'half-l',
59
+ 'half-t',
60
+ 'house-d',
61
+ ];
62
+ /** Center shape family (currently solo diamond). */
63
+ export const SHAPE_KEYS = ['diamond'];
64
+ /** No-foreground tiles — solo el rect de fondo. */
65
+ export const SOLID_KEYS = ['solid'];
66
+ export const PATTERN_PALETTES = {
67
+ purple: ['#0e0420', '#2a1158', '#4a1d96', '#7026df', '#9156e8', '#b48eea', '#d9c3f5', '#ebdcfd'],
68
+ ink: ['#000000', '#0a0f1c', '#1a2235', '#2d3a55', '#4a5878', '#7d8aa5', '#b8c1d4', '#e4e8f0'],
69
+ lavender: [
70
+ '#1a0e3a',
71
+ '#2e1755',
72
+ '#5a3aa0',
73
+ '#7e5dc6',
74
+ '#a18bd9',
75
+ '#c4a8f0',
76
+ '#dccef5',
77
+ '#f0e6fc',
78
+ ],
79
+ };
80
+ /**
81
+ * Mulberry32 seeded RNG — devuelve función `()=>[0,1)`.
82
+ * Deterministic: mismo seed → misma secuencia. Útil para patrones reproducibles.
83
+ */
84
+ export function mulberry32(seed) {
85
+ return function () {
86
+ seed = (seed + 0x6d2b79f5) >>> 0;
87
+ let t = seed;
88
+ t = Math.imul(t ^ (t >>> 15), t | 1);
89
+ t ^= t + Math.imul(t ^ (t >>> 7), t | 61);
90
+ return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
91
+ };
92
+ }
93
+ /**
94
+ * Genera UN tile con motif/bg/fg respetando densidades + contraste.
95
+ * Caller pasa rng (Math.random o seeded) — útil para reshuffle individual de
96
+ * tiles en `val-pattern` sin regenerar la grid completa.
97
+ */
98
+ export function generateRandomTile(palette, chevronDensity = 0.55, rng = Math.random) {
99
+ const roll = rng();
100
+ let key;
101
+ if (roll < chevronDensity)
102
+ key = CHEV_KEYS[Math.floor(rng() * CHEV_KEYS.length)];
103
+ else if (roll < chevronDensity + 0.2)
104
+ key = SOLID_KEYS[Math.floor(rng() * SOLID_KEYS.length)];
105
+ else if (roll < chevronDensity + 0.35)
106
+ key = SHAPE_KEYS[Math.floor(rng() * SHAPE_KEYS.length)];
107
+ else
108
+ key = TRI_KEYS[Math.floor(rng() * TRI_KEYS.length)];
109
+ const bgIdx = Math.floor(rng() * palette.length);
110
+ let fgIdx = Math.floor(rng() * palette.length);
111
+ let tries = 0;
112
+ while (Math.abs(fgIdx - bgIdx) < 3 && tries < 6) {
113
+ fgIdx = Math.floor(rng() * palette.length);
114
+ tries++;
115
+ }
116
+ return { motif: key, bg: palette[bgIdx], fg: palette[fgIdx] };
117
+ }
118
+ /** Genera matriz de tiles aplicando densidades + reglas de contraste. */
119
+ export function generatePatternTiles(cfg) {
120
+ const { cols, rows, seed, palette } = cfg;
121
+ const chevronDensity = cfg.chevronDensity ?? 0.55;
122
+ const r = mulberry32(seed);
123
+ const tiles = [];
124
+ for (let i = 0; i < cols * rows; i++) {
125
+ tiles.push(generateRandomTile(palette, chevronDensity, r));
126
+ }
127
+ return tiles;
128
+ }
129
+ /**
130
+ * Renderiza el inner SVG (sin el `<svg>` root) para una matriz de tiles.
131
+ * Caller wraps en `<svg viewBox="0 0 {cols*100} {rows*100}" preserveAspectRatio="xMidYMid slice">`.
132
+ */
133
+ export function renderPatternSvgInner(tiles, cols, baseColor) {
134
+ const W = cols * 100;
135
+ const rows = Math.ceil(tiles.length / cols);
136
+ const H = rows * 100;
137
+ let inner = `<rect width="${W}" height="${H}" fill="${baseColor}"/>`;
138
+ for (let i = 0; i < tiles.length; i++) {
139
+ const c = i % cols;
140
+ const r = Math.floor(i / cols);
141
+ const t = tiles[i];
142
+ const shape = PATTERN_MOTIFS[t.motif](t.fg);
143
+ inner += `<g transform="translate(${c * 100} ${r * 100})"><rect width="100" height="100" fill="${t.bg}"/>${shape}</g>`;
144
+ }
145
+ return inner;
146
+ }
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW90aWZzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL3BhdHRlcm4vbW90aWZzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBcUJIOzs7O0dBSUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7QUFDdkIsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7QUFDN0IsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFTLEVBQUUsSUFBWSxXQUFXLEVBQUUsRUFBRSxDQUN2RCxXQUFXLENBQUMsbUJBQW1CLENBQUMsOERBQThELENBQUM7QUFFakcsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFvRDtJQUM3RSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQ0FBa0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJO0lBQ2pFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGtDQUFrQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUk7SUFDakUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsa0NBQWtDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSTtJQUNqRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQ0FBa0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJO0lBQ2pFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLDJDQUEyQyxDQUFDLEtBQUs7SUFDaEUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsNkNBQTZDLENBQUMsS0FBSztJQUNsRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyw2Q0FBNkMsQ0FBQyxLQUFLO0lBQ2xFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLCtDQUErQyxDQUFDLEtBQUs7SUFDcEUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7SUFDZixP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YUFBYSxDQUFDLFdBQVcsU0FBUyxLQUFLLENBQUM7SUFDckUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN0QyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUUsQ0FBQztRQUNwQixNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1QyxLQUFLLElBQUksMkJBQTJCLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsMkNBQTJDLENBQUMsQ0FBQyxFQUFFLE1BQU0sS0FBSyxNQUFNLENBQUM7SUFDekgsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVmFsdGVjaCBQYXR0ZXJuIFN5c3RlbSDigJQgbW90aWZzICsgcGFsZXR0ZXMuXG4gKlxuICogUHVyZSBkYXRhICsgaGVscGVycywgc2luIGRlcGVuZGVuY2lhcyBBbmd1bGFyLiBSZXVzYWJsZSBkZXNkZSBOb2RlL3NjcmlwdHNcbiAqIChlLmcuLCBnZW5lcmF0ZSBzdGF0aWMgdGh1bWJuYWlscykgbyBkZXNkZSBlbCBjb21wb25lbnRlIGB2YWwtcGF0dGVybmAuXG4gKlxuICogT3JpZ2luYWwgc3BlYzogYGFzc2V0cy9WYWx0ZWNoIFBhdHRlcm4gU3lzdGVtLmh0bWxgIChzaW5nbGUtcGFnZSBkZW1vKS5cbiAqIENhZGEgbW90aWYgZXMgZnVuY2nDs24gYChmaWxsOiBzdHJpbmcpID0+IHN0cmluZ2AgcXVlIGRldnVlbHZlIFNWRyBpbm5lclxuICogbWFya3VwLiBUaWxlIGVzIDEwMMOXMTAwIHVuaWRhZGVzOyBlbCBtb3RpZiBzZSByZW5kZXJpemEgZGVudHJvIGRlIHVuIGA8Z1xuICogdHJhbnNmb3JtPVwidHJhbnNsYXRlKGNvbCoxMDAgcm93KjEwMClcIj5gIGNvbiB1biBgPHJlY3Qgd2lkdGg9MTAwIGhlaWdodD0xMDBcbiAqIGZpbGw9YmcvPmAgZGUgZm9uZG8uXG4gKi9cblxuZXhwb3J0IHR5cGUgUGF0dGVybk1vdGlmS2V5ID1cbiAgfCAnY2hldi1yJ1xuICB8ICdjaGV2LWwnXG4gIHwgJ2NoZXYtZCdcbiAgfCAnY2hldi11J1xuICB8ICd0cmktdGwnXG4gIHwgJ3RyaS10cidcbiAgfCAndHJpLWJsJ1xuICB8ICd0cmktYnInXG4gIHwgJ3NvbGlkJ1xuICB8ICdkaWFtb25kJ1xuICB8ICdzbWFsbC1yJ1xuICB8ICdzbWFsbC1sJ1xuICB8ICdhcnJvdy1yJ1xuICB8ICdhcnJvdy1sJ1xuICB8ICdob3VzZS1kJ1xuICB8ICdoYWxmLWwnXG4gIHwgJ2hhbGYtdCc7XG5cbi8qKlxuICogQ2hldnJvbnMgc3Ryb2tlLWJhc2VkIGNvbiBsaW5lY2FwL2xpbmVqb2luIHJlZG9uZG9zIOKAlCB2aXN1YWxtZW50ZSBjb2hlcmVudGVcbiAqIGNvbiBlbCBzw61tYm9sbyBkZSBtYXJjYSBWYWx0ZWNoIChgPl9gKS4gU3Ryb2tlLXdpZHRoIDE4IChkZWZhdWx0KSwgMTIgcGFyYVxuICogdmFyaWFudHMgYHNtYWxsLSpgLlxuICovXG5jb25zdCBDSEVWX1NUUk9LRSA9IDE4O1xuY29uc3QgQ0hFVl9TTUFMTF9TVFJPS0UgPSAxMjtcbmNvbnN0IGNoZXZTdHlsZSA9IChmOiBzdHJpbmcsIHc6IG51bWJlciA9IENIRVZfU1RST0tFKSA9PlxuICBgc3Ryb2tlPVwiJHtmfVwiIHN0cm9rZS13aWR0aD1cIiR7d31cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBmaWxsPVwibm9uZVwiYDtcblxuZXhwb3J0IGNvbnN0IFBBVFRFUk5fTU9USUZTOiBSZWNvcmQ8UGF0dGVybk1vdGlmS2V5LCAoZmc6IHN0cmluZykgPT4gc3RyaW5nPiA9IHtcbiAgJ2NoZXYtcic6IGYgPT4gYDxwYXRoIGQ9XCJNMjIgMTggTDcyIDUwIEwyMiA4MlwiICR7Y2hldlN0eWxlKGYpfS8+YCxcbiAgJ2NoZXYtbCc6IGYgPT4gYDxwYXRoIGQ9XCJNNzggMTggTDI4IDUwIEw3OCA4MlwiICR7Y2hldlN0eWxlKGYpfS8+YCxcbiAgJ2NoZXYtZCc6IGYgPT4gYDxwYXRoIGQ9XCJNMTggMjIgTDUwIDcyIEw4MiAyMlwiICR7Y2hldlN0eWxlKGYpfS8+YCxcbiAgJ2NoZXYtdSc6IGYgPT4gYDxwYXRoIGQ9XCJNMTggNzggTDUwIDI4IEw4MiA3OFwiICR7Y2hldlN0eWxlKGYpfS8+YCxcbiAgJ3RyaS10bCc6IGYgPT4gYDxwb2x5Z29uIHBvaW50cz1cIjAsMCAxMDAsMCAwLDEwMFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICd0cmktdHInOiBmID0+IGA8cG9seWdvbiBwb2ludHM9XCIwLDAgMTAwLDAgMTAwLDEwMFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICd0cmktYmwnOiBmID0+IGA8cG9seWdvbiBwb2ludHM9XCIwLDAgMTAwLDEwMCAwLDEwMFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICd0cmktYnInOiBmID0+IGA8cG9seWdvbiBwb2ludHM9XCIxMDAsMCAxMDAsMTAwIDAsMTAwXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgc29saWQ6ICgpID0+IGBgLFxuICBkaWFtb25kOiBmID0+IGA8cG9seWdvbiBwb2ludHM9XCI1MCwxMiA4OCw1MCA1MCw4OCAxMiw1MFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICdzbWFsbC1yJzogZiA9PiBgPHBhdGggZD1cIk0zOCAzMiBMNjIgNTAgTDM4IDY4XCIgJHtjaGV2U3R5bGUoZiwgQ0hFVl9TTUFMTF9TVFJPS0UpfS8+YCxcbiAgJ3NtYWxsLWwnOiBmID0+IGA8cGF0aCBkPVwiTTYyIDMyIEwzOCA1MCBMNjIgNjhcIiAke2NoZXZTdHlsZShmLCBDSEVWX1NNQUxMX1NUUk9LRSl9Lz5gLFxuICAnYXJyb3ctcic6IGYgPT4gYDxwYXRoIGQ9XCJNMTAgNDIgTDYwIDQyIEw2MCAyOCBMOTIgNTAgTDYwIDcyIEw2MCA1OCBMMTAgNTggWlwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICdhcnJvdy1sJzogZiA9PiBgPHBhdGggZD1cIk05MCA0MiBMNDAgNDIgTDQwIDI4IEw4IDUwIEw0MCA3MiBMNDAgNTggTDkwIDU4IFpcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnaG91c2UtZCc6IGYgPT5cbiAgICBgPHBvbHlnb24gcG9pbnRzPVwiNTAsMjAgODgsNTAgMTIsNTBcIiBmaWxsPVwiJHtmfVwiLz48cmVjdCB4PVwiMjhcIiB5PVwiNTBcIiB3aWR0aD1cIjQ0XCIgaGVpZ2h0PVwiMzJcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnaGFsZi1sJzogZiA9PiBgPHJlY3QgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNTBcIiBoZWlnaHQ9XCIxMDBcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnaGFsZi10JzogZiA9PiBgPHJlY3QgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMTAwXCIgaGVpZ2h0PVwiNTBcIiBmaWxsPVwiJHtmfVwiLz5gLFxufTtcblxuZXhwb3J0IGNvbnN0IE1PVElGX0tFWVM6IFBhdHRlcm5Nb3RpZktleVtdID0gT2JqZWN0LmtleXMoUEFUVEVSTl9NT1RJRlMpIGFzIFBhdHRlcm5Nb3RpZktleVtdO1xuXG4vKiogQ2hldnJvbiBmYW1pbHkg4oCUIG9yaWVudGF0aW9ucyArIHNpemUgdmFyaWFudHMgKyBhcnJvd3MuICovXG5leHBvcnQgY29uc3QgQ0hFVl9LRVlTOiBQYXR0ZXJuTW90aWZLZXlbXSA9IFtcbiAgJ2NoZXYtcicsXG4gICdjaGV2LWwnLFxuICAnY2hldi1kJyxcbiAgJ2NoZXYtdScsXG4gICdzbWFsbC1yJyxcbiAgJ3NtYWxsLWwnLFxuICAnYXJyb3ctcicsXG4gICdhcnJvdy1sJyxcbl07XG5cbi8qKiBUcmlhbmdsZSAvIGhhbGYtZmlsbCBmYW1pbHkuICovXG5leHBvcnQgY29uc3QgVFJJX0tFWVM6IFBhdHRlcm5Nb3RpZktleVtdID0gW1xuICAndHJpLXRsJyxcbiAgJ3RyaS10cicsXG4gICd0cmktYmwnLFxuICAndHJpLWJyJyxcbiAgJ2hhbGYtbCcsXG4gICdoYWxmLXQnLFxuICAnaG91c2UtZCcsXG5dO1xuXG4vKiogQ2VudGVyIHNoYXBlIGZhbWlseSAoY3VycmVudGx5IHNvbG8gZGlhbW9uZCkuICovXG5leHBvcnQgY29uc3QgU0hBUEVfS0VZUzogUGF0dGVybk1vdGlmS2V5W10gPSBbJ2RpYW1vbmQnXTtcblxuLyoqIE5vLWZvcmVncm91bmQgdGlsZXMg4oCUIHNvbG8gZWwgcmVjdCBkZSBmb25kby4gKi9cbmV4cG9ydCBjb25zdCBTT0xJRF9LRVlTOiBQYXR0ZXJuTW90aWZLZXlbXSA9IFsnc29saWQnXTtcblxuLyoqIEJ1aWx0LWluIHBhbGV0dGVzIOKAlCBkYXJrIOKGkiBsaWdodCAoOCBjb2xvcnMpLiAqL1xuZXhwb3J0IHR5cGUgUGF0dGVyblBhbGV0dGVLZXkgPSAncHVycGxlJyB8ICdpbmsnIHwgJ2xhdmVuZGVyJztcblxuZXhwb3J0IGNvbnN0IFBBVFRFUk5fUEFMRVRURVM6IFJlY29yZDxQYXR0ZXJuUGFsZXR0ZUtleSwgc3RyaW5nW10+ID0ge1xuICBwdXJwbGU6IFsnIzBlMDQyMCcsICcjMmExMTU4JywgJyM0YTFkOTYnLCAnIzcwMjZkZicsICcjOTE1NmU4JywgJyNiNDhlZWEnLCAnI2Q5YzNmNScsICcjZWJkY2ZkJ10sXG4gIGluazogWycjMDAwMDAwJywgJyMwYTBmMWMnLCAnIzFhMjIzNScsICcjMmQzYTU1JywgJyM0YTU4NzgnLCAnIzdkOGFhNScsICcjYjhjMWQ0JywgJyNlNGU4ZjAnXSxcbiAgbGF2ZW5kZXI6IFtcbiAgICAnIzFhMGUzYScsXG4gICAgJyMyZTE3NTUnLFxuICAgICcjNWEzYWEwJyxcbiAgICAnIzdlNWRjNicsXG4gICAgJyNhMThiZDknLFxuICAgICcjYzRhOGYwJyxcbiAgICAnI2RjY2VmNScsXG4gICAgJyNmMGU2ZmMnLFxuICBdLFxufTtcblxuLyoqXG4gKiBNdWxiZXJyeTMyIHNlZWRlZCBSTkcg4oCUIGRldnVlbHZlIGZ1bmNpw7NuIGAoKT0+WzAsMSlgLlxuICogRGV0ZXJtaW5pc3RpYzogbWlzbW8gc2VlZCDihpIgbWlzbWEgc2VjdWVuY2lhLiDDmnRpbCBwYXJhIHBhdHJvbmVzIHJlcHJvZHVjaWJsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtdWxiZXJyeTMyKHNlZWQ6IG51bWJlcik6ICgpID0+IG51bWJlciB7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgc2VlZCA9IChzZWVkICsgMHg2ZDJiNzlmNSkgPj4+IDA7XG4gICAgbGV0IHQgPSBzZWVkO1xuICAgIHQgPSBNYXRoLmltdWwodCBeICh0ID4+PiAxNSksIHQgfCAxKTtcbiAgICB0IF49IHQgKyBNYXRoLmltdWwodCBeICh0ID4+PiA3KSwgdCB8IDYxKTtcbiAgICByZXR1cm4gKCh0IF4gKHQgPj4+IDE0KSkgPj4+IDApIC8gNDI5NDk2NzI5NjtcbiAgfTtcbn1cblxuLyoqXG4gKiBEZW5zaWRhZCBkZSBjaGV2cm9ucyAoMC4uMSkuIEVsIHJlc3RvIHNlIHJlcGFydGUgZW50cmUgc29saWQgKDIwJSksIHNoYXBlXG4gKiAoMTUlKSB5IHRyaSAocmVzdG8pLCBwcm9wb3JjaW9uYWwgYWwgZ2FwIGxlZnQgZGVzcHXDqXMgZGVsIHRocmVzaG9sZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuR2VuQ29uZmlnIHtcbiAgY29sczogbnVtYmVyO1xuICByb3dzOiBudW1iZXI7XG4gIHNlZWQ6IG51bWJlcjtcbiAgcGFsZXR0ZTogc3RyaW5nW107XG4gIGNoZXZyb25EZW5zaXR5PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhdHRlcm5UaWxlIHtcbiAgbW90aWY6IFBhdHRlcm5Nb3RpZktleTtcbiAgYmc6IHN0cmluZztcbiAgZmc6IHN0cmluZztcbn1cblxuLyoqXG4gKiBHZW5lcmEgVU4gdGlsZSBjb24gbW90aWYvYmcvZmcgcmVzcGV0YW5kbyBkZW5zaWRhZGVzICsgY29udHJhc3RlLlxuICogQ2FsbGVyIHBhc2Egcm5nIChNYXRoLnJhbmRvbSBvIHNlZWRlZCkg4oCUIMO6dGlsIHBhcmEgcmVzaHVmZmxlIGluZGl2aWR1YWwgZGVcbiAqIHRpbGVzIGVuIGB2YWwtcGF0dGVybmAgc2luIHJlZ2VuZXJhciBsYSBncmlkIGNvbXBsZXRhLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVSYW5kb21UaWxlKFxuICBwYWxldHRlOiBzdHJpbmdbXSxcbiAgY2hldnJvbkRlbnNpdHkgPSAwLjU1LFxuICBybmc6ICgpID0+IG51bWJlciA9IE1hdGgucmFuZG9tXG4pOiBQYXR0ZXJuVGlsZSB7XG4gIGNvbnN0IHJvbGwgPSBybmcoKTtcbiAgbGV0IGtleTogUGF0dGVybk1vdGlmS2V5O1xuICBpZiAocm9sbCA8IGNoZXZyb25EZW5zaXR5KSBrZXkgPSBDSEVWX0tFWVNbTWF0aC5mbG9vcihybmcoKSAqIENIRVZfS0VZUy5sZW5ndGgpXSE7XG4gIGVsc2UgaWYgKHJvbGwgPCBjaGV2cm9uRGVuc2l0eSArIDAuMikga2V5ID0gU09MSURfS0VZU1tNYXRoLmZsb29yKHJuZygpICogU09MSURfS0VZUy5sZW5ndGgpXSE7XG4gIGVsc2UgaWYgKHJvbGwgPCBjaGV2cm9uRGVuc2l0eSArIDAuMzUpIGtleSA9IFNIQVBFX0tFWVNbTWF0aC5mbG9vcihybmcoKSAqIFNIQVBFX0tFWVMubGVuZ3RoKV0hO1xuICBlbHNlIGtleSA9IFRSSV9LRVlTW01hdGguZmxvb3Iocm5nKCkgKiBUUklfS0VZUy5sZW5ndGgpXSE7XG5cbiAgY29uc3QgYmdJZHggPSBNYXRoLmZsb29yKHJuZygpICogcGFsZXR0ZS5sZW5ndGgpO1xuICBsZXQgZmdJZHggPSBNYXRoLmZsb29yKHJuZygpICogcGFsZXR0ZS5sZW5ndGgpO1xuICBsZXQgdHJpZXMgPSAwO1xuICB3aGlsZSAoTWF0aC5hYnMoZmdJZHggLSBiZ0lkeCkgPCAzICYmIHRyaWVzIDwgNikge1xuICAgIGZnSWR4ID0gTWF0aC5mbG9vcihybmcoKSAqIHBhbGV0dGUubGVuZ3RoKTtcbiAgICB0cmllcysrO1xuICB9XG4gIHJldHVybiB7IG1vdGlmOiBrZXksIGJnOiBwYWxldHRlW2JnSWR4XSEsIGZnOiBwYWxldHRlW2ZnSWR4XSEgfTtcbn1cblxuLyoqIEdlbmVyYSBtYXRyaXogZGUgdGlsZXMgYXBsaWNhbmRvIGRlbnNpZGFkZXMgKyByZWdsYXMgZGUgY29udHJhc3RlLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlUGF0dGVyblRpbGVzKGNmZzogUGF0dGVybkdlbkNvbmZpZyk6IFBhdHRlcm5UaWxlW10ge1xuICBjb25zdCB7IGNvbHMsIHJvd3MsIHNlZWQsIHBhbGV0dGUgfSA9IGNmZztcbiAgY29uc3QgY2hldnJvbkRlbnNpdHkgPSBjZmcuY2hldnJvbkRlbnNpdHkgPz8gMC41NTtcbiAgY29uc3QgciA9IG11bGJlcnJ5MzIoc2VlZCk7XG4gIGNvbnN0IHRpbGVzOiBQYXR0ZXJuVGlsZVtdID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29scyAqIHJvd3M7IGkrKykge1xuICAgIHRpbGVzLnB1c2goZ2VuZXJhdGVSYW5kb21UaWxlKHBhbGV0dGUsIGNoZXZyb25EZW5zaXR5LCByKSk7XG4gIH1cbiAgcmV0dXJuIHRpbGVzO1xufVxuXG4vKipcbiAqIFJlbmRlcml6YSBlbCBpbm5lciBTVkcgKHNpbiBlbCBgPHN2Zz5gIHJvb3QpIHBhcmEgdW5hIG1hdHJpeiBkZSB0aWxlcy5cbiAqIENhbGxlciB3cmFwcyBlbiBgPHN2ZyB2aWV3Qm94PVwiMCAwIHtjb2xzKjEwMH0ge3Jvd3MqMTAwfVwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBzbGljZVwiPmAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJQYXR0ZXJuU3ZnSW5uZXIoXG4gIHRpbGVzOiBQYXR0ZXJuVGlsZVtdLFxuICBjb2xzOiBudW1iZXIsXG4gIGJhc2VDb2xvcjogc3RyaW5nXG4pOiBzdHJpbmcge1xuICBjb25zdCBXID0gY29scyAqIDEwMDtcbiAgY29uc3Qgcm93cyA9IE1hdGguY2VpbCh0aWxlcy5sZW5ndGggLyBjb2xzKTtcbiAgY29uc3QgSCA9IHJvd3MgKiAxMDA7XG4gIGxldCBpbm5lciA9IGA8cmVjdCB3aWR0aD1cIiR7V31cIiBoZWlnaHQ9XCIke0h9XCIgZmlsbD1cIiR7YmFzZUNvbG9yfVwiLz5gO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgYyA9IGkgJSBjb2xzO1xuICAgIGNvbnN0IHIgPSBNYXRoLmZsb29yKGkgLyBjb2xzKTtcbiAgICBjb25zdCB0ID0gdGlsZXNbaV0hO1xuICAgIGNvbnN0IHNoYXBlID0gUEFUVEVSTl9NT1RJRlNbdC5tb3RpZl0odC5mZyk7XG4gICAgaW5uZXIgKz0gYDxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgke2MgKiAxMDB9ICR7ciAqIDEwMH0pXCI+PHJlY3Qgd2lkdGg9XCIxMDBcIiBoZWlnaHQ9XCIxMDBcIiBmaWxsPVwiJHt0LmJnfVwiLz4ke3NoYXBlfTwvZz5gO1xuICB9XG4gIHJldHVybiBpbm5lcjtcbn1cbiJdfQ==
@@ -0,0 +1,178 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, computed, effect, Input, signal } from '@angular/core';
3
+ import { DomSanitizer } from '@angular/platform-browser';
4
+ import { inject } from '@angular/core';
5
+ import { generatePatternTiles, generateRandomTile, PATTERN_PALETTES, renderPatternSvgInner, } from './motifs';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * `val-pattern`
9
+ *
10
+ * Componente de fondo geométrico inspirado en el sistema Valtech. Renderiza un
11
+ * grid de tiles 100×100 con motifs (chevrons, triangles, diamonds, arrows) en
12
+ * un SVG inline. Determinista vía `seed` o animado vía `reshuffle`.
13
+ *
14
+ * Cero dependencias externas — todo SVG.
15
+ *
16
+ * @example Como fondo de card (CSS absolute):
17
+ * ```scss
18
+ * .card { position: relative; overflow: hidden; }
19
+ * .card val-pattern { position: absolute; inset: 0; z-index: 0; opacity: 0.4; }
20
+ * .card .content { position: relative; z-index: 1; }
21
+ * ```
22
+ *
23
+ * ```html
24
+ * <div class="card">
25
+ * <val-pattern [props]="{ palette: 'purple', cols: 6, rows: 3, seed: 42 }" />
26
+ * <div class="content">Tu contenido aquí</div>
27
+ * </div>
28
+ * ```
29
+ *
30
+ * @example Como background animado (hero/login):
31
+ * ```html
32
+ * <val-pattern [props]="{ palette: 'lavender', cols: 16, rows: 8, animated: true }" />
33
+ * ```
34
+ */
35
+ export class PatternComponent {
36
+ /** Object-first input. Cambios disparan re-render por signals. */
37
+ set props(value) {
38
+ if (!value)
39
+ return;
40
+ if (value.cols !== undefined)
41
+ this.cols.set(Math.max(1, value.cols));
42
+ if (value.rows !== undefined)
43
+ this.rows.set(Math.max(1, value.rows));
44
+ if (value.seed !== undefined)
45
+ this.seed.set(value.seed);
46
+ if (value.chevronDensity !== undefined) {
47
+ this.chevronDensity.set(Math.min(1, Math.max(0, value.chevronDensity)));
48
+ }
49
+ if (value.preserveAspect !== undefined)
50
+ this.preserveAspect.set(value.preserveAspect);
51
+ if (value.palette !== undefined) {
52
+ this.paletteRef.set(this.resolvePalette(value.palette));
53
+ }
54
+ if (value.reshuffleInterval !== undefined && value.reshuffleInterval > 0) {
55
+ this.reshuffleInterval.set(value.reshuffleInterval);
56
+ }
57
+ if (value.tilesPerTick !== undefined && value.tilesPerTick >= 0) {
58
+ this.tilesPerTick.set(Math.floor(value.tilesPerTick));
59
+ }
60
+ if (value.animated !== undefined)
61
+ this.animated.set(!!value.animated);
62
+ }
63
+ constructor() {
64
+ this.sanitizer = inject(DomSanitizer);
65
+ this.cols = signal(12);
66
+ this.rows = signal(4);
67
+ this.seed = signal(this.randomSeed());
68
+ this.paletteRef = signal(PATTERN_PALETTES.purple);
69
+ this.chevronDensity = signal(0.55);
70
+ this.preserveAspect = signal('slice');
71
+ this.animated = signal(false);
72
+ /** ms entre reshuffles (modo animated). Default 8000ms — "de vez en cuando". */
73
+ this.reshuffleInterval = signal(8000);
74
+ /** Tiles a cambiar por tick. 0 → reseed grid completo (default). >0 → staggered. */
75
+ this.tilesPerTick = signal(0);
76
+ /**
77
+ * Tiles signal — mutable. Se regenera completa cuando cambia seed/cols/rows/
78
+ * palette/density. En modo animated, tiles individuales se sobrescriben sin
79
+ * tocar el resto (efecto staggered).
80
+ */
81
+ this.tiles = signal([]);
82
+ /** SVG completo como string sanitized para `[innerHTML]`. */
83
+ this.svgHtml = computed(() => {
84
+ const cols = this.cols();
85
+ const rows = this.rows();
86
+ const palette = this.paletteRef();
87
+ const inner = renderPatternSvgInner(this.tiles(), cols, palette[0]);
88
+ const aspect = this.preserveAspect() === 'meet' ? 'xMidYMid meet' : 'xMidYMid slice';
89
+ // width/height="100%" como ATRIBUTOS (no solo CSS) — algunos browsers
90
+ // (Safari/iOS) ignoran CSS height en SVG sin atributos y caen al intrinsic
91
+ // aspect del viewBox, dejando franjas vacías cuando el container no
92
+ // matchea el ratio.
93
+ const svg = `<svg width="100%" height="100%" viewBox="0 0 ${cols * 100} ${rows * 100}" preserveAspectRatio="${aspect}" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" style="display:block;">${inner}</svg>`;
94
+ return this.sanitizer.bypassSecurityTrustHtml(svg);
95
+ });
96
+ // Regenera grid completa cuando cambian props estructurales (cols/rows/
97
+ // palette/density/seed). El seed solo cambia explícitamente via props o
98
+ // mount inicial — NO se muta en modo animated.
99
+ // `allowSignalWrites: true` requerido en Angular 18: escribimos a `tiles`
100
+ // signal dentro del effect (consumido por svgHtml computed).
101
+ effect(() => {
102
+ const cols = this.cols();
103
+ const rows = this.rows();
104
+ const seed = this.seed();
105
+ const palette = this.paletteRef();
106
+ const density = this.chevronDensity();
107
+ this.tiles.set(generatePatternTiles({ cols, rows, seed, palette, chevronDensity: density }));
108
+ }, { allowSignalWrites: true });
109
+ // Modo animated: cada `reshuffleInterval` ms regenera el grid completo
110
+ // con un seed nuevo. Visualmente: el patrón cambia de vez en cuando.
111
+ // Si `tilesPerTick > 0` y < total tiles, hace staggered (reemplaza solo
112
+ // N tiles en vez de toda la grid). Default tilesPerTick=0 → reseed total.
113
+ effect(onCleanup => {
114
+ const isAnimated = this.animated();
115
+ const interval = this.reshuffleInterval();
116
+ const perTick = this.tilesPerTick();
117
+ if (this.timer)
118
+ clearInterval(this.timer);
119
+ this.timer = undefined;
120
+ if (!isAnimated)
121
+ return;
122
+ this.timer = setInterval(() => {
123
+ if (perTick > 0) {
124
+ this.mutateRandomTiles(perTick);
125
+ }
126
+ else {
127
+ this.seed.set(this.randomSeed());
128
+ }
129
+ }, interval);
130
+ onCleanup(() => {
131
+ if (this.timer) {
132
+ clearInterval(this.timer);
133
+ this.timer = undefined;
134
+ }
135
+ });
136
+ });
137
+ }
138
+ /**
139
+ * Reemplaza `count` tiles random del grid actual con tiles nuevos generados.
140
+ * Usado para staggered reshuffle (opt-in via `tilesPerTick > 0`).
141
+ */
142
+ mutateRandomTiles(count) {
143
+ const current = this.tiles();
144
+ if (current.length === 0)
145
+ return;
146
+ const next = [...current];
147
+ const palette = this.paletteRef();
148
+ const density = this.chevronDensity();
149
+ for (let n = 0; n < count; n++) {
150
+ const idx = Math.floor(Math.random() * next.length);
151
+ next[idx] = generateRandomTile(palette, density);
152
+ }
153
+ this.tiles.set(next);
154
+ }
155
+ ngOnDestroy() {
156
+ if (this.timer)
157
+ clearInterval(this.timer);
158
+ }
159
+ resolvePalette(p) {
160
+ if (Array.isArray(p)) {
161
+ // Acepta arrays de cualquier longitud ≥2; tile contrast logic usa índices.
162
+ return p.length >= 2 ? p : PATTERN_PALETTES.purple;
163
+ }
164
+ return PATTERN_PALETTES[p] ?? PATTERN_PALETTES.purple;
165
+ }
166
+ randomSeed() {
167
+ return Math.floor(Math.random() * 1_000_000);
168
+ }
169
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PatternComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
170
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PatternComponent, isStandalone: true, selector: "val-pattern", inputs: { props: "props" }, ngImport: i0, template: ` <div class="val-pattern" [innerHTML]="svgHtml()"></div> `, isInline: true, styles: [":host{display:block;width:100%;height:100%;line-height:0;position:relative}.val-pattern{position:absolute;inset:0;display:block;transition:opacity .6s ease-in-out}.val-pattern svg{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
171
+ }
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PatternComponent, decorators: [{
173
+ type: Component,
174
+ args: [{ selector: 'val-pattern', standalone: true, imports: [CommonModule], template: ` <div class="val-pattern" [innerHTML]="svgHtml()"></div> `, styles: [":host{display:block;width:100%;height:100%;line-height:0;position:relative}.val-pattern{position:absolute;inset:0;display:block;transition:opacity .6s ease-in-out}.val-pattern svg{display:block;width:100%;height:100%}\n"] }]
175
+ }], ctorParameters: () => [], propDecorators: { props: [{
176
+ type: Input
177
+ }] } });
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvcGF0dGVybi9wYXR0ZXJuLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBR2hCLHFCQUFxQixHQUN0QixNQUFNLFVBQVUsQ0FBQzs7QUFHbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCRztBQW9DSCxNQUFNLE9BQU8sZ0JBQWdCO0lBaUIzQixrRUFBa0U7SUFDbEUsSUFBYSxLQUFLLENBQUMsS0FBa0M7UUFDbkQsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ25CLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckUsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVM7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNyRSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUztZQUFFLElB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QUMsWUFBWSxDQUFDLFlBQ2IsMkRBQTJEO3dEQWlEeEQsS0FBSztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIElucHV0LCBPbkRlc3Ryb3ksIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBnZW5lcmF0ZVBhdHRlcm5UaWxlcyxcbiAgZ2VuZXJhdGVSYW5kb21UaWxlLFxuICBQQVRURVJOX1BBTEVUVEVTLFxuICBQYXR0ZXJuUGFsZXR0ZUtleSxcbiAgUGF0dGVyblRpbGUsXG4gIHJlbmRlclBhdHRlcm5TdmdJbm5lcixcbn0gZnJvbSAnLi9tb3RpZnMnO1xuaW1wb3J0IHsgUGF0dGVybk1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogYHZhbC1wYXR0ZXJuYFxuICpcbiAqIENvbXBvbmVudGUgZGUgZm9uZG8gZ2VvbcOpdHJpY28gaW5zcGlyYWRvIGVuIGVsIHNpc3RlbWEgVmFsdGVjaC4gUmVuZGVyaXphIHVuXG4gKiBncmlkIGRlIHRpbGVzIDEwMMOXMTAwIGNvbiBtb3RpZnMgKGNoZXZyb25zLCB0cmlhbmdsZXMsIGRpYW1vbmRzLCBhcnJvd3MpIGVuXG4gKiB1biBTVkcgaW5saW5lLiBEZXRlcm1pbmlzdGEgdsOtYSBgc2VlZGAgbyBhbmltYWRvIHbDrWEgYHJlc2h1ZmZsZWAuXG4gKlxuICogQ2VybyBkZXBlbmRlbmNpYXMgZXh0ZXJuYXMg4oCUIHRvZG8gU1ZHLlxuICpcbiAqIEBleGFtcGxlIENvbW8gZm9uZG8gZGUgY2FyZCAoQ1NTIGFic29sdXRlKTpcbiAqIGBgYHNjc3NcbiAqIC5jYXJkIHsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOyB9XG4gKiAuY2FyZCB2YWwtcGF0dGVybiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IHotaW5kZXg6IDA7IG9wYWNpdHk6IDAuNDsgfVxuICogLmNhcmQgLmNvbnRlbnQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IH1cbiAqIGBgYFxuICpcbiAqIGBgYGh0bWxcbiAqIDxkaXYgY2xhc3M9XCJjYXJkXCI+XG4gKiAgIDx2YWwtcGF0dGVybiBbcHJvcHNdPVwieyBwYWxldHRlOiAncHVycGxlJywgY29sczogNiwgcm93czogMywgc2VlZDogNDIgfVwiIC8+XG4gKiAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+VHUgY29udGVuaWRvIGFxdcOtPC9kaXY+XG4gKiA8L2Rpdj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIENvbW8gYmFja2dyb3VuZCBhbmltYWRvIChoZXJvL2xvZ2luKTpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtcGF0dGVybiBbcHJvcHNdPVwieyBwYWxldHRlOiAnbGF2ZW5kZXInLCBjb2xzOiAxNiwgcm93czogOCwgYW5pbWF0ZWQ6IHRydWUgfVwiIC8+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXBhdHRlcm4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGU6IGAgPGRpdiBjbGFzcz1cInZhbC1wYXR0ZXJuXCIgW2lubmVySFRNTF09XCJzdmdIdG1sKClcIj48L2Rpdj4gYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgLnZhbC1wYXR0ZXJuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlLWluLW91dDtcbiAgICAgIH1cblxuICAgICAgLyogU3BlY2lmaWNpdHkgMCwyLDAg4oCUIGJlYXRzIFVBIGRlZmF1bHRzIHBhcmEgU1ZHLiBXaWR0aC9oZWlnaHQgZnVlcnphblxuICAgICAgICogZmlsbCBkZWwgY29udGFpbmVyLiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwic2xpY2VcIiBlbiBlbCB2aWV3Qm94IGhhY2UgZWxcbiAgICAgICAqIGNyb3AvY292ZXIuIFNpbiBlc3RvLCBlbCBTVkcgY2FlIGEgc3UgaW50cmluc2ljIGFzcGVjdCByYXRpbyBkZWxcbiAgICAgICAqIHZpZXdCb3ggeSBkZWphIGZyYW5qYXMgY3VhbmRvIGVsIGNvbnRhaW5lciBubyBtYXRjaGVhIChlai4gbW9iaWxlXG4gICAgICAgKiBjb24gY29scy9yb3dzIHdpZGUtYXNwZWN0KS4gKi9cbiAgICAgIC52YWwtcGF0dGVybiBzdmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQYXR0ZXJuQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbHMgPSBzaWduYWwoMTIpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvd3MgPSBzaWduYWwoNCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VlZCA9IHNpZ25hbCh0aGlzLnJhbmRvbVNlZWQoKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFsZXR0ZVJlZiA9IHNpZ25hbDxzdHJpbmdbXT4oUEFUVEVSTl9QQUxFVFRFUy5wdXJwbGUpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNoZXZyb25EZW5zaXR5ID0gc2lnbmFsKDAuNTUpO1xuICBwcml2YXRlIHJlYWRvbmx5IHByZXNlcnZlQXNwZWN0ID0gc2lnbmFsPCdzbGljZScgfCAnbWVldCc+KCdzbGljZScpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFuaW1hdGVkID0gc2lnbmFsKGZhbHNlKTtcbiAgLyoqIG1zIGVudHJlIHJlc2h1ZmZsZXMgKG1vZG8gYW5pbWF0ZWQpLiBEZWZhdWx0IDgwMDBtcyDigJQgXCJkZSB2ZXogZW4gY3VhbmRvXCIuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzaHVmZmxlSW50ZXJ2YWwgPSBzaWduYWwoODAwMCk7XG4gIC8qKiBUaWxlcyBhIGNhbWJpYXIgcG9yIHRpY2suIDAg4oaSIHJlc2VlZCBncmlkIGNvbXBsZXRvIChkZWZhdWx0KS4gPjAg4oaSIHN0YWdnZXJlZC4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSB0aWxlc1BlclRpY2sgPSBzaWduYWwoMCk7XG5cbiAgcHJpdmF0ZSB0aW1lcj86IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPjtcblxuICAvKiogT2JqZWN0LWZpcnN0IGlucHV0LiBDYW1iaW9zIGRpc3BhcmFuIHJlLXJlbmRlciBwb3Igc2lnbmFscy4gKi9cbiAgQElucHV0KCkgc2V0IHByb3BzKHZhbHVlOiBQYXR0ZXJuTWV0YWRhdGEgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm47XG4gICAgaWYgKHZhbHVlLmNvbHMgIT09IHVuZGVmaW5lZCkgdGhpcy5jb2xzLnNldChNYXRoLm1heCgxLCB2YWx1ZS5jb2xzKSk7XG4gICAgaWYgKHZhbHVlLnJvd3MgIT09IHVuZGVmaW5lZCkgdGhpcy5yb3dzLnNldChNYXRoLm1heCgxLCB2YWx1ZS5yb3dzKSk7XG4gICAgaWYgKHZhbHVlLnNlZWQgIT09IHVuZGVmaW5lZCkgdGhpcy5zZWVkLnNldCh2YWx1ZS5zZWVkKTtcbiAgICBpZiAodmFsdWUuY2hldnJvbkRlbnNpdHkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jaGV2cm9uRGVuc2l0eS5zZXQoTWF0aC5taW4oMSwgTWF0aC5tYXgoMCwgdmFsdWUuY2hldnJvbkRlbnNpdHkpKSk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5wcmVzZXJ2ZUFzcGVjdCAhPT0gdW5kZWZpbmVkKSB0aGlzLnByZXNlcnZlQXNwZWN0LnNldCh2YWx1ZS5wcmVzZXJ2ZUFzcGVjdCk7XG4gICAgaWYgKHZhbHVlLnBhbGV0dGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5wYWxldHRlUmVmLnNldCh0aGlzLnJlc29sdmVQYWxldHRlKHZhbHVlLnBhbGV0dGUpKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlLnJlc2h1ZmZsZUludGVydmFsICE9PSB1bmRlZmluZWQgJiYgdmFsdWUucmVzaHVmZmxlSW50ZXJ2YWwgPiAwKSB7XG4gICAgICB0aGlzLnJlc2h1ZmZsZUludGVydmFsLnNldCh2YWx1ZS5yZXNodWZmbGVJbnRlcnZhbCk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS50aWxlc1BlclRpY2sgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZS50aWxlc1BlclRpY2sgPj0gMCkge1xuICAgICAgdGhpcy50aWxlc1BlclRpY2suc2V0KE1hdGguZmxvb3IodmFsdWUudGlsZXNQZXJUaWNrKSk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5hbmltYXRlZCAhPT0gdW5kZWZpbmVkKSB0aGlzLmFuaW1hdGVkLnNldCghIXZhbHVlLmFuaW1hdGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaWxlcyBzaWduYWwg4oCUIG11dGFibGUuIFNlIHJlZ2VuZXJhIGNvbXBsZXRhIGN1YW5kbyBjYW1iaWEgc2VlZC9jb2xzL3Jvd3MvXG4gICAqIHBhbGV0dGUvZGVuc2l0eS4gRW4gbW9kbyBhbmltYXRlZCwgdGlsZXMgaW5kaXZpZHVhbGVzIHNlIHNvYnJlc2NyaWJlbiBzaW5cbiAgICogdG9jYXIgZWwgcmVzdG8gKGVmZWN0byBzdGFnZ2VyZWQpLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSB0aWxlcyA9IHNpZ25hbDxQYXR0ZXJuVGlsZVtdPihbXSk7XG5cbiAgLyoqIFNWRyBjb21wbGV0byBjb21vIHN0cmluZyBzYW5pdGl6ZWQgcGFyYSBgW2lubmVySFRNTF1gLiAqL1xuICByZWFkb25seSBzdmdIdG1sID0gY29tcHV0ZWQ8U2FmZUh0bWw+KCgpID0+IHtcbiAgICBjb25zdCBjb2xzID0gdGhpcy5jb2xzKCk7XG4gICAgY29uc3Qgcm93cyA9IHRoaXMucm93cygpO1xuICAgIGNvbnN0IHBhbGV0dGUgPSB0aGlzLnBhbGV0dGVSZWYoKTtcbiAgICBjb25zdCBpbm5lciA9IHJlbmRlclBhdHRlcm5TdmdJbm5lcih0aGlzLnRpbGVzKCksIGNvbHMsIHBhbGV0dGVbMF0hKTtcbiAgICBjb25zdCBhc3BlY3QgPSB0aGlzLnByZXNlcnZlQXNwZWN0KCkgPT09ICdtZWV0JyA/ICd4TWlkWU1pZCBtZWV0JyA6ICd4TWlkWU1pZCBzbGljZSc7XG4gICAgLy8gd2lkdGgvaGVpZ2h0PVwiMTAwJVwiIGNvbW8gQVRSSUJVVE9TIChubyBzb2xvIENTUykg4oCUIGFsZ3Vub3MgYnJvd3NlcnNcbiAgICAvLyAoU2FmYXJpL2lPUykgaWdub3JhbiBDU1MgaGVpZ2h0IGVuIFNWRyBzaW4gYXRyaWJ1dG9zIHkgY2FlbiBhbCBpbnRyaW5zaWNcbiAgICAvLyBhc3BlY3QgZGVsIHZpZXdCb3gsIGRlamFuZG8gZnJhbmphcyB2YWPDrWFzIGN1YW5kbyBlbCBjb250YWluZXIgbm9cbiAgICAvLyBtYXRjaGVhIGVsIHJhdGlvLlxuICAgIGNvbnN0IHN2ZyA9IGA8c3ZnIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIiB2aWV3Qm94PVwiMCAwICR7Y29scyAqIDEwMH0gJHtyb3dzICogMTAwfVwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCIke2FzcGVjdH1cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgc3R5bGU9XCJkaXNwbGF5OmJsb2NrO1wiPiR7aW5uZXJ9PC9zdmc+YDtcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoc3ZnKTtcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gUmVnZW5lcmEgZ3JpZCBjb21wbGV0YSBjdWFuZG8gY2FtYmlhbiBwcm9wcyBlc3RydWN0dXJhbGVzIChjb2xzL3Jvd3MvXG4gICAgLy8gcGFsZXR0ZS9kZW5zaXR5L3NlZWQpLiBFbCBzZWVkIHNvbG8gY2FtYmlhIGV4cGzDrWNpdGFtZW50ZSB2aWEgcHJvcHMgb1xuICAgIC8vIG1vdW50IGluaWNpYWwg4oCUIE5PIHNlIG11dGEgZW4gbW9kbyBhbmltYXRlZC5cbiAgICAvLyBgYWxsb3dTaWduYWxXcml0ZXM6IHRydWVgIHJlcXVlcmlkbyBlbiBBbmd1bGFyIDE4OiBlc2NyaWJpbW9zIGEgYHRpbGVzYFxuICAgIC8vIHNpZ25hbCBkZW50cm8gZGVsIGVmZmVjdCAoY29uc3VtaWRvIHBvciBzdmdIdG1sIGNvbXB1dGVkKS5cbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbHMgPSB0aGlzLmNvbHMoKTtcbiAgICAgICAgY29uc3Qgcm93cyA9IHRoaXMucm93cygpO1xuICAgICAgICBjb25zdCBzZWVkID0gdGhpcy5zZWVkKCk7XG4gICAgICAgIGNvbnN0IHBhbGV0dGUgPSB0aGlzLnBhbGV0dGVSZWYoKTtcbiAgICAgICAgY29uc3QgZGVuc2l0eSA9IHRoaXMuY2hldnJvbkRlbnNpdHkoKTtcbiAgICAgICAgdGhpcy50aWxlcy5zZXQoZ2VuZXJhdGVQYXR0ZXJuVGlsZXMoeyBjb2xzLCByb3dzLCBzZWVkLCBwYWxldHRlLCBjaGV2cm9uRGVuc2l0eTogZGVuc2l0eSB9KSk7XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgKTtcblxuICAgIC8vIE1vZG8gYW5pbWF0ZWQ6IGNhZGEgYHJlc2h1ZmZsZUludGVydmFsYCBtcyByZWdlbmVyYSBlbCBncmlkIGNvbXBsZXRvXG4gICAgLy8gY29uIHVuIHNlZWQgbnVldm8uIFZpc3VhbG1lbnRlOiBlbCBwYXRyw7NuIGNhbWJpYSBkZSB2ZXogZW4gY3VhbmRvLlxuICAgIC8vIFNpIGB0aWxlc1BlclRpY2sgPiAwYCB5IDwgdG90YWwgdGlsZXMsIGhhY2Ugc3RhZ2dlcmVkIChyZWVtcGxhemEgc29sb1xuICAgIC8vIE4gdGlsZXMgZW4gdmV6IGRlIHRvZGEgbGEgZ3JpZCkuIERlZmF1bHQgdGlsZXNQZXJUaWNrPTAg4oaSIHJlc2VlZCB0b3RhbC5cbiAgICBlZmZlY3Qob25DbGVhbnVwID0+IHtcbiAgICAgIGNvbnN0IGlzQW5pbWF0ZWQgPSB0aGlzLmFuaW1hdGVkKCk7XG4gICAgICBjb25zdCBpbnRlcnZhbCA9IHRoaXMucmVzaHVmZmxlSW50ZXJ2YWwoKTtcbiAgICAgIGNvbnN0IHBlclRpY2sgPSB0aGlzLnRpbGVzUGVyVGljaygpO1xuICAgICAgaWYgKHRoaXMudGltZXIpIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XG4gICAgICB0aGlzLnRpbWVyID0gdW5kZWZpbmVkO1xuICAgICAgaWYgKCFpc0FuaW1hdGVkKSByZXR1cm47XG4gICAgICB0aGlzLnRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICBpZiAocGVyVGljayA+IDApIHtcbiAgICAgICAgICB0aGlzLm11dGF0ZVJhbmRvbVRpbGVzKHBlclRpY2spO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2VlZC5zZXQodGhpcy5yYW5kb21TZWVkKCkpO1xuICAgICAgICB9XG4gICAgICB9LCBpbnRlcnZhbCk7XG4gICAgICBvbkNsZWFudXAoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy50aW1lcikge1xuICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XG4gICAgICAgICAgdGhpcy50aW1lciA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVlbXBsYXphIGBjb3VudGAgdGlsZXMgcmFuZG9tIGRlbCBncmlkIGFjdHVhbCBjb24gdGlsZXMgbnVldm9zIGdlbmVyYWRvcy5cbiAgICogVXNhZG8gcGFyYSBzdGFnZ2VyZWQgcmVzaHVmZmxlIChvcHQtaW4gdmlhIGB0aWxlc1BlclRpY2sgPiAwYCkuXG4gICAqL1xuICBwcml2YXRlIG11dGF0ZVJhbmRvbVRpbGVzKGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy50aWxlcygpO1xuICAgIGlmIChjdXJyZW50Lmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgIGNvbnN0IG5leHQgPSBbLi4uY3VycmVudF07XG4gICAgY29uc3QgcGFsZXR0ZSA9IHRoaXMucGFsZXR0ZVJlZigpO1xuICAgIGNvbnN0IGRlbnNpdHkgPSB0aGlzLmNoZXZyb25EZW5zaXR5KCk7XG4gICAgZm9yIChsZXQgbiA9IDA7IG4gPCBjb3VudDsgbisrKSB7XG4gICAgICBjb25zdCBpZHggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBuZXh0Lmxlbmd0aCk7XG4gICAgICBuZXh0W2lkeF0gPSBnZW5lcmF0ZVJhbmRvbVRpbGUocGFsZXR0ZSwgZGVuc2l0eSk7XG4gICAgfVxuICAgIHRoaXMudGlsZXMuc2V0KG5leHQpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGltZXIpIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVQYWxldHRlKHA6IFBhdHRlcm5QYWxldHRlS2V5IHwgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocCkpIHtcbiAgICAgIC8vIEFjZXB0YSBhcnJheXMgZGUgY3VhbHF1aWVyIGxvbmdpdHVkIOKJpTI7IHRpbGUgY29udHJhc3QgbG9naWMgdXNhIMOtbmRpY2VzLlxuICAgICAgcmV0dXJuIHAubGVuZ3RoID49IDIgPyBwIDogUEFUVEVSTl9QQUxFVFRFUy5wdXJwbGU7XG4gICAgfVxuICAgIHJldHVybiBQQVRURVJOX1BBTEVUVEVTW3BdID8/IFBBVFRFUk5fUEFMRVRURVMucHVycGxlO1xuICB9XG5cbiAgcHJpdmF0ZSByYW5kb21TZWVkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDFfMDAwXzAwMCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvcGF0dGVybi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF0dGVyblBhbGV0dGVLZXkgfSBmcm9tICcuL21vdGlmcyc7XG5cbi8qKlxuICogQ29uZmlndXJhY2nDs24gZGVsIGNvbXBvbmVudGUgYHZhbC1wYXR0ZXJuYC5cbiAqXG4gKiBAZXhhbXBsZSBTdGF0aWMgKHNlZWQgZmlqbywgcmVwcm9kdWNpYmxlKTpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtcGF0dGVybiBbcHJvcHNdPVwieyBwYWxldHRlOiAncHVycGxlJywgY29sczogMTIsIHJvd3M6IDQsIHNlZWQ6IDQyIH1cIiAvPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgQW5pbWF0ZWQgd2hvbGUtZ3JpZCByZXNodWZmbGUgKGNhZGEgOHMg4oCUIGRlZmF1bHQpOlxuICogYGBgaHRtbFxuICogPHZhbC1wYXR0ZXJuIFtwcm9wc109XCJ7IHBhbGV0dGU6ICdpbmsnLCBjb2xzOiAxNiwgcm93czogOCwgYW5pbWF0ZWQ6IHRydWUgfVwiIC8+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBBbmltYXRlZCBzdGFnZ2VyZWQgKDIgdGlsZXMgY2FkYSA4MDBtcyDigJQgc3V0aWwpOlxuICogYGBgaHRtbFxuICogPHZhbC1wYXR0ZXJuIFtwcm9wc109XCJ7IGFuaW1hdGVkOiB0cnVlLCByZXNodWZmbGVJbnRlcnZhbDogODAwLCB0aWxlc1BlclRpY2s6IDIgfVwiIC8+XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuTWV0YWRhdGEge1xuICAvKipcbiAgICogUGFsZXR0ZSBidWlsdC1pbiAoYCdwdXJwbGUnIHwgJ2luaycgfCAnbGF2ZW5kZXInYCkgbyBhcnJheSBjdXN0b20gZGUgOFxuICAgKiBjb2xvcmVzIGRhcmsg4oaSIGxpZ2h0LiBEZWZhdWx0OiBgJ3B1cnBsZSdgLlxuICAgKi9cbiAgcGFsZXR0ZT86IFBhdHRlcm5QYWxldHRlS2V5IHwgc3RyaW5nW107XG5cbiAgLyoqIENvbHVtbmFzIGRlbCBncmlkLiBEZWZhdWx0OiAxMi4gKi9cbiAgY29scz86IG51bWJlcjtcblxuICAvKiogRmlsYXMgZGVsIGdyaWQuIERlZmF1bHQ6IDQuICovXG4gIHJvd3M/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNlZWQgcGFyYSBNdWxiZXJyeTMyIOKAlCBkZXRlcm1pbmEgZWwgcGF0csOzbi4gU2kgbm8gc2UgcGFzYSwgZ2VuZXJhIHVubyByYW5kb21cbiAgICogYWwgbW91bnQgeSBxdWVkYSBmaWpvIChhIG1lbm9zIHF1ZSBgYW5pbWF0ZWQ6IHRydWVgKS5cbiAgICovXG4gIHNlZWQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlbnNpZGFkIGRlIGNoZXZyb25zICgwLi4xKS4gRWwgcmVzdG8gc2UgcmVwYXJ0ZSBlbnRyZSBzb2xpZC9zaGFwZS90cmkuXG4gICAqIERlZmF1bHQ6IGAwLjU1YC5cbiAgICovXG4gIGNoZXZyb25EZW5zaXR5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTaSBgdHJ1ZWAsIGVsIHBhdHLDs24gaGFjZSAqKnN0YWdnZXJlZCByZXNodWZmbGUqKjogY2FkYSBgcmVzaHVmZmxlSW50ZXJ2YWxgXG4gICAqIG1zIHNlIHJlZW1wbGF6YW4gYHRpbGVzUGVyVGlja2AgdGlsZXMgcmFuZG9tIOKAlCBOTyBsYSBncmlkIGVudGVyYS5cbiAgICogRGVmYXVsdDogYGZhbHNlYC5cbiAgICovXG4gIGFuaW1hdGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogbXMgZW50cmUgdXBkYXRlcyBpbmRpdmlkdWFsZXMgZGUgdGlsZXMgKG1vZG8gYW5pbWF0ZWQpLlxuICAgKiBEZWZhdWx0OiBgMTIwMGAgKH4xIHRpbGUgY2FkYSAxLjJzIGNvbiBgdGlsZXNQZXJUaWNrOiAxYCkuXG4gICAqL1xuICByZXNodWZmbGVJbnRlcnZhbD86IG51bWJlcjtcblxuICAvKipcbiAgICogQ3XDoW50b3MgdGlsZXMgY2FtYmlhciBwb3IgdGljayAobW9kbyBhbmltYXRlZCkuIERlZmF1bHQ6IGAxYCAoY2FtYmlvIHN1dGlsKS5cbiAgICogU3ViaXIgYSAyLTQgcGFyYSBlZmVjdG8gbcOhcyB2aXZvLlxuICAgKi9cbiAgdGlsZXNQZXJUaWNrPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBgc2xpY2VgIChkZWZhdWx0KSDigJQgZWwgcGF0csOzbiBjdWJyZSB0b2RvIGVsIGNvbnRlbmVkb3IgbWFudGVuaWVuZG8gYXNwZWN0LFxuICAgKiBjcm9wZWFuZG8gc2kgbmVjZXNhcmlvLiBgbWVldGAg4oCUIGZpdCBjb21wbGV0byBzaW4gY3JvcCwgZGVqYSBlc3BhY2lvLlxuICAgKi9cbiAgcHJlc2VydmVBc3BlY3Q/OiAnc2xpY2UnIHwgJ21lZXQnO1xufVxuIl19