valtech-components 2.0.820 → 2.0.821

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (817) hide show
  1. package/fesm2022/valtech-components.mjs +1 -1
  2. package/fesm2022/valtech-components.mjs.map +1 -1
  3. package/package.json +1 -1
  4. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +0 -94
  5. package/esm2022/lib/components/atoms/avatar/types.mjs +0 -2
  6. package/esm2022/lib/components/atoms/box/box.component.mjs +0 -88
  7. package/esm2022/lib/components/atoms/box/types.mjs +0 -2
  8. package/esm2022/lib/components/atoms/button/button.component.mjs +0 -174
  9. package/esm2022/lib/components/atoms/button/factory.mjs +0 -217
  10. package/esm2022/lib/components/atoms/container/container.component.mjs +0 -52
  11. package/esm2022/lib/components/atoms/container/types.mjs +0 -2
  12. package/esm2022/lib/components/atoms/countdown/countdown.component.mjs +0 -340
  13. package/esm2022/lib/components/atoms/countdown/types.mjs +0 -27
  14. package/esm2022/lib/components/atoms/display/display.component.mjs +0 -51
  15. package/esm2022/lib/components/atoms/display/types.mjs +0 -2
  16. package/esm2022/lib/components/atoms/divider/divider.component.mjs +0 -27
  17. package/esm2022/lib/components/atoms/divider/types.mjs +0 -2
  18. package/esm2022/lib/components/atoms/fab/fab.component.mjs +0 -190
  19. package/esm2022/lib/components/atoms/fab/types.mjs +0 -2
  20. package/esm2022/lib/components/atoms/glass/glass.component.mjs +0 -125
  21. package/esm2022/lib/components/atoms/glass/types.mjs +0 -2
  22. package/esm2022/lib/components/atoms/glow/glow.component.mjs +0 -95
  23. package/esm2022/lib/components/atoms/glow/types.mjs +0 -2
  24. package/esm2022/lib/components/atoms/horizontal-scroll/horizontal-scroll.component.mjs +0 -82
  25. package/esm2022/lib/components/atoms/horizontal-scroll/types.mjs +0 -2
  26. package/esm2022/lib/components/atoms/href/href.component.mjs +0 -62
  27. package/esm2022/lib/components/atoms/href/types.mjs +0 -2
  28. package/esm2022/lib/components/atoms/icon/icon.component.mjs +0 -29
  29. package/esm2022/lib/components/atoms/icon/types.mjs +0 -2
  30. package/esm2022/lib/components/atoms/image/image.component.mjs +0 -507
  31. package/esm2022/lib/components/atoms/image/types.mjs +0 -2
  32. package/esm2022/lib/components/atoms/pattern/motifs.mjs +0 -147
  33. package/esm2022/lib/components/atoms/pattern/pattern.component.mjs +0 -178
  34. package/esm2022/lib/components/atoms/pattern/types.mjs +0 -2
  35. package/esm2022/lib/components/atoms/price-tag/price-tag.component.mjs +0 -235
  36. package/esm2022/lib/components/atoms/price-tag/types.mjs +0 -15
  37. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +0 -91
  38. package/esm2022/lib/components/atoms/progress-bar/types.mjs +0 -2
  39. package/esm2022/lib/components/atoms/progress-ring/progress-ring.component.mjs +0 -149
  40. package/esm2022/lib/components/atoms/progress-ring/types.mjs +0 -2
  41. package/esm2022/lib/components/atoms/qr-code/qr-code.component.mjs +0 -394
  42. package/esm2022/lib/components/atoms/qr-code/types.mjs +0 -2
  43. package/esm2022/lib/components/atoms/rights-footer/rights-footer.component.mjs +0 -108
  44. package/esm2022/lib/components/atoms/rights-footer/types.mjs +0 -2
  45. package/esm2022/lib/components/atoms/skeleton/skeleton.component.mjs +0 -193
  46. package/esm2022/lib/components/atoms/skeleton/types.mjs +0 -13
  47. package/esm2022/lib/components/atoms/text/text.component.mjs +0 -132
  48. package/esm2022/lib/components/atoms/text/types.mjs +0 -2
  49. package/esm2022/lib/components/atoms/title/title.component.mjs +0 -68
  50. package/esm2022/lib/components/atoms/title/types.mjs +0 -22
  51. package/esm2022/lib/components/atoms/user-avatar/types.mjs +0 -2
  52. package/esm2022/lib/components/atoms/user-avatar/user-avatar.component.mjs +0 -209
  53. package/esm2022/lib/components/molecules/accordion/accordion.component.mjs +0 -120
  54. package/esm2022/lib/components/molecules/accordion/types.mjs +0 -2
  55. package/esm2022/lib/components/molecules/action-card/action-card.component.mjs +0 -273
  56. package/esm2022/lib/components/molecules/action-card/types.mjs +0 -11
  57. package/esm2022/lib/components/molecules/action-header/action-header.component.mjs +0 -55
  58. package/esm2022/lib/components/molecules/action-header/types.mjs +0 -2
  59. package/esm2022/lib/components/molecules/ad-slot/ad-slot.component.mjs +0 -274
  60. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +0 -119
  61. package/esm2022/lib/components/molecules/alert-box/types.mjs +0 -2
  62. package/esm2022/lib/components/molecules/breadcrumb/breadcrumb.component.mjs +0 -130
  63. package/esm2022/lib/components/molecules/breadcrumb/types.mjs +0 -2
  64. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +0 -63
  65. package/esm2022/lib/components/molecules/button-group/types.mjs +0 -2
  66. package/esm2022/lib/components/molecules/card/card.component.mjs +0 -450
  67. package/esm2022/lib/components/molecules/card/types.mjs +0 -16
  68. package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +0 -82
  69. package/esm2022/lib/components/molecules/checkbox-radio-input/checkbox-radio-input.component.mjs +0 -79
  70. package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +0 -166
  71. package/esm2022/lib/components/molecules/chip-group/types.mjs +0 -2
  72. package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +0 -115
  73. package/esm2022/lib/components/molecules/code-display/types.mjs +0 -2
  74. package/esm2022/lib/components/molecules/command-display/command-display.component.mjs +0 -49
  75. package/esm2022/lib/components/molecules/command-display/types.mjs +0 -2
  76. package/esm2022/lib/components/molecules/comment/comment.component.mjs +0 -618
  77. package/esm2022/lib/components/molecules/comment/types.mjs +0 -2
  78. package/esm2022/lib/components/molecules/comment-input/comment-input.component.mjs +0 -41
  79. package/esm2022/lib/components/molecules/comment-input/types.mjs +0 -2
  80. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +0 -42
  81. package/esm2022/lib/components/molecules/content-loader/types.mjs +0 -2
  82. package/esm2022/lib/components/molecules/content-reaction/content-reaction.component.mjs +0 -210
  83. package/esm2022/lib/components/molecules/content-reaction/types.mjs +0 -2
  84. package/esm2022/lib/components/molecules/currency-input/currency-input.component.mjs +0 -347
  85. package/esm2022/lib/components/molecules/currency-input/types.mjs +0 -18
  86. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +0 -148
  87. package/esm2022/lib/components/molecules/date-input/types.mjs +0 -2
  88. package/esm2022/lib/components/molecules/date-range-input/date-range-input.component.mjs +0 -416
  89. package/esm2022/lib/components/molecules/date-range-input/types.mjs +0 -2
  90. package/esm2022/lib/components/molecules/docs-api-table/docs-api-table.component.mjs +0 -222
  91. package/esm2022/lib/components/molecules/docs-api-table/types.mjs +0 -11
  92. package/esm2022/lib/components/molecules/docs-breadcrumb/docs-breadcrumb.component.mjs +0 -144
  93. package/esm2022/lib/components/molecules/docs-breadcrumb/types.mjs +0 -2
  94. package/esm2022/lib/components/molecules/docs-callout/docs-callout.component.mjs +0 -60
  95. package/esm2022/lib/components/molecules/docs-code-example/docs-code-example.component.mjs +0 -249
  96. package/esm2022/lib/components/molecules/docs-code-example/types.mjs +0 -2
  97. package/esm2022/lib/components/molecules/docs-nav-links/docs-nav-links.component.mjs +0 -140
  98. package/esm2022/lib/components/molecules/docs-nav-links/types.mjs +0 -2
  99. package/esm2022/lib/components/molecules/docs-search/docs-search.component.mjs +0 -268
  100. package/esm2022/lib/components/molecules/docs-search/types.mjs +0 -2
  101. package/esm2022/lib/components/molecules/docs-section/docs-section.component.mjs +0 -85
  102. package/esm2022/lib/components/molecules/docs-section/types.mjs +0 -2
  103. package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +0 -68
  104. package/esm2022/lib/components/molecules/expandable-text/expandable-text.component.mjs +0 -77
  105. package/esm2022/lib/components/molecules/expandable-text/types.mjs +0 -2
  106. package/esm2022/lib/components/molecules/features-list/features-list.component.mjs +0 -179
  107. package/esm2022/lib/components/molecules/features-list/types.mjs +0 -11
  108. package/esm2022/lib/components/molecules/feedback-form/feedback-form.component.mjs +0 -354
  109. package/esm2022/lib/components/molecules/feedback-form/types.mjs +0 -2
  110. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +0 -90
  111. package/esm2022/lib/components/molecules/file-input/types.mjs +0 -2
  112. package/esm2022/lib/components/molecules/footer-links/footer-links.component.mjs +0 -391
  113. package/esm2022/lib/components/molecules/footer-links/types.mjs +0 -2
  114. package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +0 -314
  115. package/esm2022/lib/components/molecules/glow-card/types.mjs +0 -11
  116. package/esm2022/lib/components/molecules/hint/hint.component.mjs +0 -90
  117. package/esm2022/lib/components/molecules/hour-input/hour-input.component.mjs +0 -28
  118. package/esm2022/lib/components/molecules/image-crop/image-crop.component.mjs +0 -174
  119. package/esm2022/lib/components/molecules/image-crop/index.mjs +0 -2
  120. package/esm2022/lib/components/molecules/info/info.component.mjs +0 -49
  121. package/esm2022/lib/components/molecules/info/types.mjs +0 -2
  122. package/esm2022/lib/components/molecules/language-selector/language-selector.component.mjs +0 -221
  123. package/esm2022/lib/components/molecules/language-selector/types.mjs +0 -2
  124. package/esm2022/lib/components/molecules/layered-card/layered-card.component.mjs +0 -104
  125. package/esm2022/lib/components/molecules/layered-card/types.mjs +0 -2
  126. package/esm2022/lib/components/molecules/link/link.component.mjs +0 -64
  127. package/esm2022/lib/components/molecules/link/types.mjs +0 -2
  128. package/esm2022/lib/components/molecules/linked-providers/linked-providers.component.mjs +0 -236
  129. package/esm2022/lib/components/molecules/linked-providers/types.mjs +0 -27
  130. package/esm2022/lib/components/molecules/links-accordion/links-accordion.component.mjs +0 -203
  131. package/esm2022/lib/components/molecules/links-accordion/types.mjs +0 -2
  132. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +0 -51
  133. package/esm2022/lib/components/molecules/links-cake/types.mjs +0 -2
  134. package/esm2022/lib/components/molecules/multi-select-search/multi-select-search.component.mjs +0 -488
  135. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +0 -92
  136. package/esm2022/lib/components/molecules/notes-box/types.mjs +0 -2
  137. package/esm2022/lib/components/molecules/number-from-to/number-from-to.component.mjs +0 -143
  138. package/esm2022/lib/components/molecules/number-from-to/types.mjs +0 -2
  139. package/esm2022/lib/components/molecules/number-input/number-input.component.mjs +0 -34
  140. package/esm2022/lib/components/molecules/number-stepper/number-stepper.component.mjs +0 -379
  141. package/esm2022/lib/components/molecules/number-stepper/types.mjs +0 -2
  142. package/esm2022/lib/components/molecules/page-links/page-links.component.mjs +0 -150
  143. package/esm2022/lib/components/molecules/page-links/types.mjs +0 -2
  144. package/esm2022/lib/components/molecules/pagination/pagination.component.mjs +0 -253
  145. package/esm2022/lib/components/molecules/pagination/types.mjs +0 -2
  146. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +0 -93
  147. package/esm2022/lib/components/molecules/phone-input/phone-input.component.mjs +0 -365
  148. package/esm2022/lib/components/molecules/phone-input/types.mjs +0 -19
  149. package/esm2022/lib/components/molecules/pill/pill.component.mjs +0 -202
  150. package/esm2022/lib/components/molecules/pill/types.mjs +0 -2
  151. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +0 -78
  152. package/esm2022/lib/components/molecules/pin-input/types.mjs +0 -2
  153. package/esm2022/lib/components/molecules/plain-code-box/plain-code-box.component.mjs +0 -82
  154. package/esm2022/lib/components/molecules/plain-code-box/types.mjs +0 -2
  155. package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +0 -188
  156. package/esm2022/lib/components/molecules/popover-selector/types.mjs +0 -2
  157. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +0 -105
  158. package/esm2022/lib/components/molecules/progress-status/types.mjs +0 -2
  159. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +0 -85
  160. package/esm2022/lib/components/molecules/prompter/types.mjs +0 -2
  161. package/esm2022/lib/components/molecules/quote-box/quote-box.component.mjs +0 -155
  162. package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +0 -52
  163. package/esm2022/lib/components/molecules/range-input/range-input.component.mjs +0 -127
  164. package/esm2022/lib/components/molecules/range-input/types.mjs +0 -2
  165. package/esm2022/lib/components/molecules/rating/rating.component.mjs +0 -166
  166. package/esm2022/lib/components/molecules/rating/types.mjs +0 -2
  167. package/esm2022/lib/components/molecules/refresher/refresher.component.mjs +0 -275
  168. package/esm2022/lib/components/molecules/refresher/types.mjs +0 -15
  169. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +0 -127
  170. package/esm2022/lib/components/molecules/searchbar/types.mjs +0 -2
  171. package/esm2022/lib/components/molecules/segment-control/segment-control.component.mjs +0 -129
  172. package/esm2022/lib/components/molecules/segment-control/types.mjs +0 -2
  173. package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +0 -148
  174. package/esm2022/lib/components/molecules/select-search/select-search.component.mjs +0 -434
  175. package/esm2022/lib/components/molecules/share-buttons/share-buttons.component.mjs +0 -274
  176. package/esm2022/lib/components/molecules/share-buttons/types.mjs +0 -88
  177. package/esm2022/lib/components/molecules/stats-card/stats-card.component.mjs +0 -211
  178. package/esm2022/lib/components/molecules/stats-card/types.mjs +0 -2
  179. package/esm2022/lib/components/molecules/stepper/stepper.component.mjs +0 -242
  180. package/esm2022/lib/components/molecules/stepper/types.mjs +0 -2
  181. package/esm2022/lib/components/molecules/swipe-carousel/swipe-carousel.component.mjs +0 -206
  182. package/esm2022/lib/components/molecules/swipe-carousel/types.mjs +0 -2
  183. package/esm2022/lib/components/molecules/tabs/tabs.component.mjs +0 -139
  184. package/esm2022/lib/components/molecules/tabs/types.mjs +0 -2
  185. package/esm2022/lib/components/molecules/testimonial-card/testimonial-card.component.mjs +0 -138
  186. package/esm2022/lib/components/molecules/testimonial-card/types.mjs +0 -2
  187. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +0 -77
  188. package/esm2022/lib/components/molecules/textarea-input/textarea-input.component.mjs +0 -213
  189. package/esm2022/lib/components/molecules/textarea-input/types.mjs +0 -2
  190. package/esm2022/lib/components/molecules/timeline/timeline.component.mjs +0 -140
  191. package/esm2022/lib/components/molecules/timeline/types.mjs +0 -2
  192. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +0 -102
  193. package/esm2022/lib/components/molecules/title-block/types.mjs +0 -2
  194. package/esm2022/lib/components/molecules/toggle-input/toggle-input.component.mjs +0 -93
  195. package/esm2022/lib/components/molecules/toggle-input/types.mjs +0 -2
  196. package/esm2022/lib/components/molecules/update-banner/types.mjs +0 -42
  197. package/esm2022/lib/components/molecules/update-banner/update-banner.component.mjs +0 -243
  198. package/esm2022/lib/components/molecules/username-input/types.mjs +0 -2
  199. package/esm2022/lib/components/molecules/username-input/username-input.component.mjs +0 -295
  200. package/esm2022/lib/components/organisms/article/article.component.mjs +0 -578
  201. package/esm2022/lib/components/organisms/article/types.mjs +0 -183
  202. package/esm2022/lib/components/organisms/avatar-upload/avatar-upload.component.mjs +0 -325
  203. package/esm2022/lib/components/organisms/avatar-upload/types.mjs +0 -15
  204. package/esm2022/lib/components/organisms/banner/banner.component.mjs +0 -111
  205. package/esm2022/lib/components/organisms/banner/types.mjs +0 -2
  206. package/esm2022/lib/components/organisms/bottom-nav/bottom-nav.component.mjs +0 -383
  207. package/esm2022/lib/components/organisms/bottom-nav/types.mjs +0 -19
  208. package/esm2022/lib/components/organisms/cards-carousel/cards-carousel.component.mjs +0 -108
  209. package/esm2022/lib/components/organisms/cards-carousel/types.mjs +0 -2
  210. package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +0 -537
  211. package/esm2022/lib/components/organisms/comment-section/types.mjs +0 -2
  212. package/esm2022/lib/components/organisms/company-footer/company-footer.component.mjs +0 -76
  213. package/esm2022/lib/components/organisms/company-footer/types.mjs +0 -2
  214. package/esm2022/lib/components/organisms/cookie-banner/cookie-banner.component.mjs +0 -199
  215. package/esm2022/lib/components/organisms/cookie-banner/types.mjs +0 -2
  216. package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +0 -1081
  217. package/esm2022/lib/components/organisms/data-table/types.mjs +0 -13
  218. package/esm2022/lib/components/organisms/docs-sidebar/docs-sidebar.component.mjs +0 -290
  219. package/esm2022/lib/components/organisms/docs-sidebar/types.mjs +0 -2
  220. package/esm2022/lib/components/organisms/docs-toc/docs-toc.component.mjs +0 -307
  221. package/esm2022/lib/components/organisms/docs-toc/types.mjs +0 -2
  222. package/esm2022/lib/components/organisms/faq/faq.component.mjs +0 -176
  223. package/esm2022/lib/components/organisms/faq/types.mjs +0 -9
  224. package/esm2022/lib/components/organisms/footer/footer.component.mjs +0 -73
  225. package/esm2022/lib/components/organisms/footer/types.mjs +0 -2
  226. package/esm2022/lib/components/organisms/form/factory.mjs +0 -29
  227. package/esm2022/lib/components/organisms/form/form-footer/form-footer.component.mjs +0 -83
  228. package/esm2022/lib/components/organisms/form/form.component.mjs +0 -510
  229. package/esm2022/lib/components/organisms/fun-header/fun-header.component.mjs +0 -225
  230. package/esm2022/lib/components/organisms/fun-header/types.mjs +0 -2
  231. package/esm2022/lib/components/organisms/header/header.component.mjs +0 -51
  232. package/esm2022/lib/components/organisms/header/types.mjs +0 -2
  233. package/esm2022/lib/components/organisms/infinite-list/infinite-list.component.mjs +0 -620
  234. package/esm2022/lib/components/organisms/infinite-list/types.mjs +0 -15
  235. package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +0 -418
  236. package/esm2022/lib/components/organisms/item-list/types.mjs +0 -2
  237. package/esm2022/lib/components/organisms/login/login.component.mjs +0 -735
  238. package/esm2022/lib/components/organisms/login/types.mjs +0 -11
  239. package/esm2022/lib/components/organisms/menu/menu.component.mjs +0 -206
  240. package/esm2022/lib/components/organisms/menu/types.mjs +0 -2
  241. package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +0 -66
  242. package/esm2022/lib/components/organisms/no-content/types.mjs +0 -2
  243. package/esm2022/lib/components/organisms/rotating-text/rotating-text.component.mjs +0 -180
  244. package/esm2022/lib/components/organisms/rotating-text/types.mjs +0 -2
  245. package/esm2022/lib/components/organisms/skeleton-layout/skeleton-layout.component.mjs +0 -423
  246. package/esm2022/lib/components/organisms/skeleton-layout/types.mjs +0 -10
  247. package/esm2022/lib/components/organisms/tabbed-content/tabbed-content.component.mjs +0 -170
  248. package/esm2022/lib/components/organisms/tabbed-content/types.mjs +0 -2
  249. package/esm2022/lib/components/organisms/terminal-404/terminal-404.component.mjs +0 -214
  250. package/esm2022/lib/components/organisms/terminal-404/types.mjs +0 -2
  251. package/esm2022/lib/components/organisms/testimonial-carousel/testimonial-carousel.component.mjs +0 -72
  252. package/esm2022/lib/components/organisms/testimonial-carousel/types.mjs +0 -2
  253. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +0 -255
  254. package/esm2022/lib/components/organisms/toolbar/types.mjs +0 -2
  255. package/esm2022/lib/components/organisms/wizard/types.mjs +0 -10
  256. package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +0 -111
  257. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +0 -161
  258. package/esm2022/lib/components/templates/auth-background/auth-background.component.mjs +0 -164
  259. package/esm2022/lib/components/templates/auth-background/types.mjs +0 -2
  260. package/esm2022/lib/components/templates/docs-layout/docs-layout.component.mjs +0 -221
  261. package/esm2022/lib/components/templates/docs-layout/types.mjs +0 -2
  262. package/esm2022/lib/components/templates/docs-page/docs-page.component.mjs +0 -251
  263. package/esm2022/lib/components/templates/docs-page/types.mjs +0 -2
  264. package/esm2022/lib/components/templates/docs-shell/docs-shell.component.mjs +0 -376
  265. package/esm2022/lib/components/templates/docs-shell/types.mjs +0 -2
  266. package/esm2022/lib/components/templates/maintenance-page/maintenance-page.component.mjs +0 -153
  267. package/esm2022/lib/components/templates/maintenance-page/types.mjs +0 -2
  268. package/esm2022/lib/components/templates/page-content/page-content.component.mjs +0 -193
  269. package/esm2022/lib/components/templates/page-content/types.mjs +0 -2
  270. package/esm2022/lib/components/templates/page-template/page-template.component.mjs +0 -188
  271. package/esm2022/lib/components/templates/page-template/types.mjs +0 -2
  272. package/esm2022/lib/components/templates/page-wrapper/page-wrapper.component.mjs +0 -238
  273. package/esm2022/lib/components/templates/page-wrapper/types.mjs +0 -2
  274. package/esm2022/lib/components/templates/simple/simple.component.mjs +0 -123
  275. package/esm2022/lib/components/templates/simple/types.mjs +0 -2
  276. package/esm2022/lib/components/types.mjs +0 -60
  277. package/esm2022/lib/config/company-footer.config.mjs +0 -125
  278. package/esm2022/lib/config/index.mjs +0 -5
  279. package/esm2022/lib/services/ads/ads-loader.service.mjs +0 -120
  280. package/esm2022/lib/services/ads/ads.service.mjs +0 -236
  281. package/esm2022/lib/services/ads/config.mjs +0 -81
  282. package/esm2022/lib/services/ads/index.mjs +0 -13
  283. package/esm2022/lib/services/ads/types.mjs +0 -23
  284. package/esm2022/lib/services/app-config/app-config.service.mjs +0 -209
  285. package/esm2022/lib/services/app-config/config.mjs +0 -47
  286. package/esm2022/lib/services/app-config/index.mjs +0 -48
  287. package/esm2022/lib/services/app-config/types.mjs +0 -13
  288. package/esm2022/lib/services/app-config/version.mjs +0 -85
  289. package/esm2022/lib/services/app-version/app-version.service.mjs +0 -187
  290. package/esm2022/lib/services/app-version/config.mjs +0 -42
  291. package/esm2022/lib/services/app-version/index.mjs +0 -24
  292. package/esm2022/lib/services/app-version/types.mjs +0 -17
  293. package/esm2022/lib/services/auth/auth-state.service.mjs +0 -207
  294. package/esm2022/lib/services/auth/auth.service.mjs +0 -1142
  295. package/esm2022/lib/services/auth/config.mjs +0 -75
  296. package/esm2022/lib/services/auth/device.service.mjs +0 -135
  297. package/esm2022/lib/services/auth/guards.mjs +0 -199
  298. package/esm2022/lib/services/auth/handoff.service.mjs +0 -152
  299. package/esm2022/lib/services/auth/index.mjs +0 -98
  300. package/esm2022/lib/services/auth/interceptor.mjs +0 -122
  301. package/esm2022/lib/services/auth/notification-action.service.mjs +0 -117
  302. package/esm2022/lib/services/auth/oauth-callback.component.mjs +0 -169
  303. package/esm2022/lib/services/auth/oauth.service.mjs +0 -322
  304. package/esm2022/lib/services/auth/org-switch.service.mjs +0 -137
  305. package/esm2022/lib/services/auth/session.service.mjs +0 -78
  306. package/esm2022/lib/services/auth/storage.service.mjs +0 -152
  307. package/esm2022/lib/services/auth/sync.service.mjs +0 -149
  308. package/esm2022/lib/services/auth/token.service.mjs +0 -122
  309. package/esm2022/lib/services/auth/types.mjs +0 -30
  310. package/esm2022/lib/services/confirmation-dialog/confirmation-dialog.service.mjs +0 -189
  311. package/esm2022/lib/services/confirmation-dialog/types.mjs +0 -14
  312. package/esm2022/lib/services/content/content-types/blog.mjs +0 -275
  313. package/esm2022/lib/services/content/content-types/documentation.mjs +0 -303
  314. package/esm2022/lib/services/content/content-types/news.mjs +0 -277
  315. package/esm2022/lib/services/content/index.mjs +0 -51
  316. package/esm2022/lib/services/content/transformer.mjs +0 -265
  317. package/esm2022/lib/services/content/types.mjs +0 -41
  318. package/esm2022/lib/services/docs/docs-navigation.service.mjs +0 -91
  319. package/esm2022/lib/services/donation/config.mjs +0 -41
  320. package/esm2022/lib/services/donation/donation.service.mjs +0 -92
  321. package/esm2022/lib/services/donation/index.mjs +0 -25
  322. package/esm2022/lib/services/donation/types.mjs +0 -10
  323. package/esm2022/lib/services/download.service.mjs +0 -80
  324. package/esm2022/lib/services/feedback/config.mjs +0 -49
  325. package/esm2022/lib/services/feedback/feedback.service.mjs +0 -296
  326. package/esm2022/lib/services/feedback/index.mjs +0 -44
  327. package/esm2022/lib/services/feedback/types.mjs +0 -30
  328. package/esm2022/lib/services/firebase/analytics-error-handler.mjs +0 -141
  329. package/esm2022/lib/services/firebase/analytics-router-tracker.mjs +0 -99
  330. package/esm2022/lib/services/firebase/analytics-types.mjs +0 -7
  331. package/esm2022/lib/services/firebase/analytics.service.mjs +0 -620
  332. package/esm2022/lib/services/firebase/config.mjs +0 -131
  333. package/esm2022/lib/services/firebase/firebase.service.mjs +0 -506
  334. package/esm2022/lib/services/firebase/firestore-collection.mjs +0 -301
  335. package/esm2022/lib/services/firebase/firestore.service.mjs +0 -571
  336. package/esm2022/lib/services/firebase/index.mjs +0 -56
  337. package/esm2022/lib/services/firebase/messaging.service.mjs +0 -721
  338. package/esm2022/lib/services/firebase/notifications.service.mjs +0 -274
  339. package/esm2022/lib/services/firebase/shared-config.mjs +0 -147
  340. package/esm2022/lib/services/firebase/storage.service.mjs +0 -484
  341. package/esm2022/lib/services/firebase/types.mjs +0 -18
  342. package/esm2022/lib/services/firebase/utils/path-builder.mjs +0 -195
  343. package/esm2022/lib/services/firebase/utils/query-builder.mjs +0 -302
  344. package/esm2022/lib/services/i18n/config.mjs +0 -128
  345. package/esm2022/lib/services/i18n/default-content.mjs +0 -577
  346. package/esm2022/lib/services/i18n/i18n.service.mjs +0 -217
  347. package/esm2022/lib/services/i18n/index.mjs +0 -13
  348. package/esm2022/lib/services/i18n/input-i18n.helper.mjs +0 -97
  349. package/esm2022/lib/services/i18n/translate.pipe.mjs +0 -50
  350. package/esm2022/lib/services/i18n/types.mjs +0 -15
  351. package/esm2022/lib/services/icons.service.mjs +0 -83
  352. package/esm2022/lib/services/image/image.service.mjs +0 -244
  353. package/esm2022/lib/services/image/index.mjs +0 -3
  354. package/esm2022/lib/services/image/types.mjs +0 -13
  355. package/esm2022/lib/services/in-app-browser.service.mjs +0 -35
  356. package/esm2022/lib/services/legal-link/legal-link.service.mjs +0 -85
  357. package/esm2022/lib/services/link-processor.service.mjs +0 -259
  358. package/esm2022/lib/services/local-storage.service.mjs +0 -37
  359. package/esm2022/lib/services/locale.service.mjs +0 -75
  360. package/esm2022/lib/services/markdown-article/legal-content.service.mjs +0 -107
  361. package/esm2022/lib/services/markdown-article/markdown-article-parser.mjs +0 -302
  362. package/esm2022/lib/services/markdown-article/markdown-article-parser.service.mjs +0 -20
  363. package/esm2022/lib/services/meta/index.mjs +0 -3
  364. package/esm2022/lib/services/meta/meta.service.mjs +0 -63
  365. package/esm2022/lib/services/meta/types.mjs +0 -2
  366. package/esm2022/lib/services/modal/modal.service.mjs +0 -220
  367. package/esm2022/lib/services/modal/simple-modal-content.component.mjs +0 -133
  368. package/esm2022/lib/services/modal/types.mjs +0 -26
  369. package/esm2022/lib/services/navigation/index.mjs +0 -3
  370. package/esm2022/lib/services/navigation/navigation.service.mjs +0 -216
  371. package/esm2022/lib/services/navigation/types.mjs +0 -16
  372. package/esm2022/lib/services/page-refresh/page-refresh.service.mjs +0 -104
  373. package/esm2022/lib/services/pagination/index.mjs +0 -5
  374. package/esm2022/lib/services/pagination/pagination.service.mjs +0 -218
  375. package/esm2022/lib/services/pagination/types.mjs +0 -14
  376. package/esm2022/lib/services/preferences/index.mjs +0 -3
  377. package/esm2022/lib/services/preferences/preferences.service.mjs +0 -198
  378. package/esm2022/lib/services/preferences/preferences.types.mjs +0 -7
  379. package/esm2022/lib/services/presets/config.mjs +0 -46
  380. package/esm2022/lib/services/presets/index.mjs +0 -5
  381. package/esm2022/lib/services/presets/preset.service.mjs +0 -104
  382. package/esm2022/lib/services/presets/types.mjs +0 -2
  383. package/esm2022/lib/services/qr-generator/qr-generator.service.mjs +0 -341
  384. package/esm2022/lib/services/qr-generator/types.mjs +0 -46
  385. package/esm2022/lib/services/refreshable-stream/index.mjs +0 -8
  386. package/esm2022/lib/services/refreshable-stream/refreshable-stream.mjs +0 -112
  387. package/esm2022/lib/services/skeleton/config.mjs +0 -79
  388. package/esm2022/lib/services/skeleton/directives/loading.directive.mjs +0 -215
  389. package/esm2022/lib/services/skeleton/index.mjs +0 -16
  390. package/esm2022/lib/services/skeleton/skeleton.service.mjs +0 -198
  391. package/esm2022/lib/services/skeleton/templates/detail-skeleton.component.mjs +0 -223
  392. package/esm2022/lib/services/skeleton/templates/form-skeleton.component.mjs +0 -127
  393. package/esm2022/lib/services/skeleton/templates/grid-skeleton.component.mjs +0 -154
  394. package/esm2022/lib/services/skeleton/templates/list-skeleton.component.mjs +0 -110
  395. package/esm2022/lib/services/skeleton/templates/profile-skeleton.component.mjs +0 -207
  396. package/esm2022/lib/services/skeleton/templates/table-skeleton.component.mjs +0 -116
  397. package/esm2022/lib/services/skeleton/types.mjs +0 -11
  398. package/esm2022/lib/services/theme.service.mjs +0 -153
  399. package/esm2022/lib/services/toast.service.mjs +0 -53
  400. package/esm2022/lib/services/types.mjs +0 -5
  401. package/esm2022/lib/shared/constants/storage.mjs +0 -3
  402. package/esm2022/lib/shared/pipes/process-links.pipe.mjs +0 -69
  403. package/esm2022/lib/shared/utils/datetime.mjs +0 -24
  404. package/esm2022/lib/shared/utils/dom.mjs +0 -27
  405. package/esm2022/lib/shared/utils/form-defaults.mjs +0 -112
  406. package/esm2022/lib/shared/utils/styles.mjs +0 -37
  407. package/esm2022/lib/shared/utils/text.mjs +0 -12
  408. package/esm2022/lib/version.mjs +0 -6
  409. package/esm2022/public-api.mjs +0 -367
  410. package/esm2022/valtech-components.mjs +0 -5
  411. package/index.d.ts +0 -5
  412. package/lib/components/atoms/avatar/avatar.component.d.ts +0 -36
  413. package/lib/components/atoms/avatar/types.d.ts +0 -15
  414. package/lib/components/atoms/box/box.component.d.ts +0 -26
  415. package/lib/components/atoms/box/types.d.ts +0 -19
  416. package/lib/components/atoms/button/button.component.d.ts +0 -63
  417. package/lib/components/atoms/button/factory.d.ts +0 -71
  418. package/lib/components/atoms/container/container.component.d.ts +0 -30
  419. package/lib/components/atoms/container/types.d.ts +0 -11
  420. package/lib/components/atoms/countdown/countdown.component.d.ts +0 -38
  421. package/lib/components/atoms/countdown/types.d.ts +0 -108
  422. package/lib/components/atoms/display/display.component.d.ts +0 -19
  423. package/lib/components/atoms/display/types.d.ts +0 -33
  424. package/lib/components/atoms/divider/divider.component.d.ts +0 -27
  425. package/lib/components/atoms/divider/types.d.ts +0 -12
  426. package/lib/components/atoms/fab/fab.component.d.ts +0 -36
  427. package/lib/components/atoms/fab/types.d.ts +0 -45
  428. package/lib/components/atoms/glass/glass.component.d.ts +0 -43
  429. package/lib/components/atoms/glass/types.d.ts +0 -70
  430. package/lib/components/atoms/glow/glow.component.d.ts +0 -42
  431. package/lib/components/atoms/glow/types.d.ts +0 -40
  432. package/lib/components/atoms/horizontal-scroll/horizontal-scroll.component.d.ts +0 -41
  433. package/lib/components/atoms/horizontal-scroll/types.d.ts +0 -13
  434. package/lib/components/atoms/href/href.component.d.ts +0 -25
  435. package/lib/components/atoms/href/types.d.ts +0 -19
  436. package/lib/components/atoms/icon/icon.component.d.ts +0 -18
  437. package/lib/components/atoms/icon/types.d.ts +0 -13
  438. package/lib/components/atoms/image/image.component.d.ts +0 -41
  439. package/lib/components/atoms/image/types.d.ts +0 -37
  440. package/lib/components/atoms/pattern/motifs.d.ts +0 -60
  441. package/lib/components/atoms/pattern/pattern.component.d.ts +0 -68
  442. package/lib/components/atoms/pattern/types.d.ts +0 -61
  443. package/lib/components/atoms/price-tag/price-tag.component.d.ts +0 -15
  444. package/lib/components/atoms/price-tag/types.d.ts +0 -59
  445. package/lib/components/atoms/progress-bar/progress-bar.component.d.ts +0 -35
  446. package/lib/components/atoms/progress-bar/types.d.ts +0 -19
  447. package/lib/components/atoms/progress-ring/progress-ring.component.d.ts +0 -20
  448. package/lib/components/atoms/progress-ring/types.d.ts +0 -24
  449. package/lib/components/atoms/qr-code/qr-code.component.d.ts +0 -33
  450. package/lib/components/atoms/qr-code/types.d.ts +0 -124
  451. package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +0 -53
  452. package/lib/components/atoms/rights-footer/types.d.ts +0 -21
  453. package/lib/components/atoms/skeleton/skeleton.component.d.ts +0 -12
  454. package/lib/components/atoms/skeleton/types.d.ts +0 -29
  455. package/lib/components/atoms/text/text.component.d.ts +0 -33
  456. package/lib/components/atoms/text/types.d.ts +0 -42
  457. package/lib/components/atoms/title/title.component.d.ts +0 -21
  458. package/lib/components/atoms/title/types.d.ts +0 -36
  459. package/lib/components/atoms/user-avatar/types.d.ts +0 -74
  460. package/lib/components/atoms/user-avatar/user-avatar.component.d.ts +0 -55
  461. package/lib/components/molecules/accordion/accordion.component.d.ts +0 -18
  462. package/lib/components/molecules/accordion/types.d.ts +0 -47
  463. package/lib/components/molecules/action-card/action-card.component.d.ts +0 -90
  464. package/lib/components/molecules/action-card/types.d.ts +0 -83
  465. package/lib/components/molecules/action-header/action-header.component.d.ts +0 -27
  466. package/lib/components/molecules/action-header/types.d.ts +0 -27
  467. package/lib/components/molecules/ad-slot/ad-slot.component.d.ts +0 -69
  468. package/lib/components/molecules/alert-box/alert-box.component.d.ts +0 -39
  469. package/lib/components/molecules/alert-box/types.d.ts +0 -37
  470. package/lib/components/molecules/breadcrumb/breadcrumb.component.d.ts +0 -22
  471. package/lib/components/molecules/breadcrumb/types.d.ts +0 -45
  472. package/lib/components/molecules/button-group/button-group.component.d.ts +0 -23
  473. package/lib/components/molecules/button-group/types.d.ts +0 -13
  474. package/lib/components/molecules/card/card.component.d.ts +0 -49
  475. package/lib/components/molecules/card/types.d.ts +0 -32
  476. package/lib/components/molecules/check-input/check-input.component.d.ts +0 -36
  477. package/lib/components/molecules/checkbox-radio-input/checkbox-radio-input.component.d.ts +0 -17
  478. package/lib/components/molecules/chip-group/chip-group.component.d.ts +0 -22
  479. package/lib/components/molecules/chip-group/types.d.ts +0 -65
  480. package/lib/components/molecules/code-display/code-display.component.d.ts +0 -24
  481. package/lib/components/molecules/code-display/types.d.ts +0 -10
  482. package/lib/components/molecules/command-display/command-display.component.d.ts +0 -11
  483. package/lib/components/molecules/command-display/types.d.ts +0 -3
  484. package/lib/components/molecules/comment/comment.component.d.ts +0 -42
  485. package/lib/components/molecules/comment/types.d.ts +0 -171
  486. package/lib/components/molecules/comment-input/comment-input.component.d.ts +0 -16
  487. package/lib/components/molecules/comment-input/types.d.ts +0 -59
  488. package/lib/components/molecules/content-loader/content-loader.component.d.ts +0 -18
  489. package/lib/components/molecules/content-loader/types.d.ts +0 -15
  490. package/lib/components/molecules/content-reaction/content-reaction.component.d.ts +0 -58
  491. package/lib/components/molecules/content-reaction/types.d.ts +0 -77
  492. package/lib/components/molecules/currency-input/currency-input.component.d.ts +0 -40
  493. package/lib/components/molecules/currency-input/types.d.ts +0 -96
  494. package/lib/components/molecules/date-input/date-input.component.d.ts +0 -40
  495. package/lib/components/molecules/date-input/types.d.ts +0 -74
  496. package/lib/components/molecules/date-range-input/date-range-input.component.d.ts +0 -50
  497. package/lib/components/molecules/date-range-input/types.d.ts +0 -109
  498. package/lib/components/molecules/docs-api-table/docs-api-table.component.d.ts +0 -41
  499. package/lib/components/molecules/docs-api-table/types.d.ts +0 -62
  500. package/lib/components/molecules/docs-breadcrumb/docs-breadcrumb.component.d.ts +0 -31
  501. package/lib/components/molecules/docs-breadcrumb/types.d.ts +0 -20
  502. package/lib/components/molecules/docs-callout/docs-callout.component.d.ts +0 -17
  503. package/lib/components/molecules/docs-code-example/docs-code-example.component.d.ts +0 -45
  504. package/lib/components/molecules/docs-code-example/types.d.ts +0 -63
  505. package/lib/components/molecules/docs-nav-links/docs-nav-links.component.d.ts +0 -30
  506. package/lib/components/molecules/docs-nav-links/types.d.ts +0 -31
  507. package/lib/components/molecules/docs-search/docs-search.component.d.ts +0 -47
  508. package/lib/components/molecules/docs-search/types.d.ts +0 -27
  509. package/lib/components/molecules/docs-section/docs-section.component.d.ts +0 -29
  510. package/lib/components/molecules/docs-section/types.d.ts +0 -27
  511. package/lib/components/molecules/email-input/email-input.component.d.ts +0 -34
  512. package/lib/components/molecules/expandable-text/expandable-text.component.d.ts +0 -23
  513. package/lib/components/molecules/expandable-text/types.d.ts +0 -14
  514. package/lib/components/molecules/features-list/features-list.component.d.ts +0 -66
  515. package/lib/components/molecules/features-list/types.d.ts +0 -36
  516. package/lib/components/molecules/feedback-form/feedback-form.component.d.ts +0 -58
  517. package/lib/components/molecules/feedback-form/types.d.ts +0 -54
  518. package/lib/components/molecules/file-input/file-input.component.d.ts +0 -25
  519. package/lib/components/molecules/file-input/types.d.ts +0 -72
  520. package/lib/components/molecules/footer-links/footer-links.component.d.ts +0 -47
  521. package/lib/components/molecules/footer-links/types.d.ts +0 -50
  522. package/lib/components/molecules/glow-card/glow-card.component.d.ts +0 -60
  523. package/lib/components/molecules/glow-card/types.d.ts +0 -94
  524. package/lib/components/molecules/hint/hint.component.d.ts +0 -19
  525. package/lib/components/molecules/hour-input/hour-input.component.d.ts +0 -15
  526. package/lib/components/molecules/image-crop/image-crop.component.d.ts +0 -59
  527. package/lib/components/molecules/image-crop/index.d.ts +0 -1
  528. package/lib/components/molecules/info/info.component.d.ts +0 -9
  529. package/lib/components/molecules/info/types.d.ts +0 -10
  530. package/lib/components/molecules/language-selector/language-selector.component.d.ts +0 -40
  531. package/lib/components/molecules/language-selector/types.d.ts +0 -82
  532. package/lib/components/molecules/layered-card/layered-card.component.d.ts +0 -10
  533. package/lib/components/molecules/layered-card/types.d.ts +0 -15
  534. package/lib/components/molecules/link/link.component.d.ts +0 -24
  535. package/lib/components/molecules/link/types.d.ts +0 -19
  536. package/lib/components/molecules/linked-providers/linked-providers.component.d.ts +0 -30
  537. package/lib/components/molecules/linked-providers/types.d.ts +0 -38
  538. package/lib/components/molecules/links-accordion/links-accordion.component.d.ts +0 -61
  539. package/lib/components/molecules/links-accordion/types.d.ts +0 -39
  540. package/lib/components/molecules/links-cake/links-cake.component.d.ts +0 -17
  541. package/lib/components/molecules/links-cake/types.d.ts +0 -13
  542. package/lib/components/molecules/multi-select-search/multi-select-search.component.d.ts +0 -76
  543. package/lib/components/molecules/notes-box/notes-box.component.d.ts +0 -33
  544. package/lib/components/molecules/notes-box/types.d.ts +0 -35
  545. package/lib/components/molecules/number-from-to/number-from-to.component.d.ts +0 -27
  546. package/lib/components/molecules/number-from-to/types.d.ts +0 -76
  547. package/lib/components/molecules/number-input/number-input.component.d.ts +0 -16
  548. package/lib/components/molecules/number-stepper/number-stepper.component.d.ts +0 -38
  549. package/lib/components/molecules/number-stepper/types.d.ts +0 -88
  550. package/lib/components/molecules/page-links/page-links.component.d.ts +0 -29
  551. package/lib/components/molecules/page-links/types.d.ts +0 -38
  552. package/lib/components/molecules/pagination/pagination.component.d.ts +0 -15
  553. package/lib/components/molecules/pagination/types.d.ts +0 -41
  554. package/lib/components/molecules/password-input/password-input.component.d.ts +0 -37
  555. package/lib/components/molecules/phone-input/phone-input.component.d.ts +0 -59
  556. package/lib/components/molecules/phone-input/types.d.ts +0 -98
  557. package/lib/components/molecules/pill/pill.component.d.ts +0 -44
  558. package/lib/components/molecules/pill/types.d.ts +0 -63
  559. package/lib/components/molecules/pin-input/pin-input.component.d.ts +0 -21
  560. package/lib/components/molecules/pin-input/types.d.ts +0 -69
  561. package/lib/components/molecules/plain-code-box/plain-code-box.component.d.ts +0 -22
  562. package/lib/components/molecules/plain-code-box/types.d.ts +0 -10
  563. package/lib/components/molecules/popover-selector/popover-selector.component.d.ts +0 -42
  564. package/lib/components/molecules/popover-selector/types.d.ts +0 -69
  565. package/lib/components/molecules/progress-status/progress-status.component.d.ts +0 -23
  566. package/lib/components/molecules/progress-status/types.d.ts +0 -20
  567. package/lib/components/molecules/prompter/prompter.component.d.ts +0 -10
  568. package/lib/components/molecules/prompter/types.d.ts +0 -25
  569. package/lib/components/molecules/quote-box/quote-box.component.d.ts +0 -26
  570. package/lib/components/molecules/radio-input/radio-input.component.d.ts +0 -15
  571. package/lib/components/molecules/range-input/range-input.component.d.ts +0 -25
  572. package/lib/components/molecules/range-input/types.d.ts +0 -59
  573. package/lib/components/molecules/rating/rating.component.d.ts +0 -23
  574. package/lib/components/molecules/rating/types.d.ts +0 -41
  575. package/lib/components/molecules/refresher/refresher.component.d.ts +0 -84
  576. package/lib/components/molecules/refresher/types.d.ts +0 -86
  577. package/lib/components/molecules/searchbar/searchbar.component.d.ts +0 -43
  578. package/lib/components/molecules/searchbar/types.d.ts +0 -33
  579. package/lib/components/molecules/segment-control/segment-control.component.d.ts +0 -35
  580. package/lib/components/molecules/segment-control/types.d.ts +0 -46
  581. package/lib/components/molecules/select-input/select-input.component.d.ts +0 -57
  582. package/lib/components/molecules/select-search/select-search.component.d.ts +0 -78
  583. package/lib/components/molecules/share-buttons/share-buttons.component.d.ts +0 -22
  584. package/lib/components/molecules/share-buttons/types.d.ts +0 -108
  585. package/lib/components/molecules/stats-card/stats-card.component.d.ts +0 -20
  586. package/lib/components/molecules/stats-card/types.d.ts +0 -60
  587. package/lib/components/molecules/stepper/stepper.component.d.ts +0 -31
  588. package/lib/components/molecules/stepper/types.d.ts +0 -66
  589. package/lib/components/molecules/swipe-carousel/swipe-carousel.component.d.ts +0 -66
  590. package/lib/components/molecules/swipe-carousel/types.d.ts +0 -35
  591. package/lib/components/molecules/tabs/tabs.component.d.ts +0 -34
  592. package/lib/components/molecules/tabs/types.d.ts +0 -45
  593. package/lib/components/molecules/testimonial-card/testimonial-card.component.d.ts +0 -41
  594. package/lib/components/molecules/testimonial-card/types.d.ts +0 -25
  595. package/lib/components/molecules/text-input/text-input.component.d.ts +0 -42
  596. package/lib/components/molecules/textarea-input/textarea-input.component.d.ts +0 -46
  597. package/lib/components/molecules/textarea-input/types.d.ts +0 -74
  598. package/lib/components/molecules/timeline/timeline.component.d.ts +0 -14
  599. package/lib/components/molecules/timeline/types.d.ts +0 -39
  600. package/lib/components/molecules/title-block/title-block.component.d.ts +0 -12
  601. package/lib/components/molecules/title-block/types.d.ts +0 -15
  602. package/lib/components/molecules/toggle-input/toggle-input.component.d.ts +0 -39
  603. package/lib/components/molecules/toggle-input/types.d.ts +0 -30
  604. package/lib/components/molecules/update-banner/types.d.ts +0 -41
  605. package/lib/components/molecules/update-banner/update-banner.component.d.ts +0 -48
  606. package/lib/components/molecules/username-input/types.d.ts +0 -36
  607. package/lib/components/molecules/username-input/username-input.component.d.ts +0 -58
  608. package/lib/components/organisms/article/article.component.d.ts +0 -108
  609. package/lib/components/organisms/article/types.d.ts +0 -367
  610. package/lib/components/organisms/avatar-upload/avatar-upload.component.d.ts +0 -84
  611. package/lib/components/organisms/avatar-upload/types.d.ts +0 -62
  612. package/lib/components/organisms/banner/banner.component.d.ts +0 -16
  613. package/lib/components/organisms/banner/types.d.ts +0 -29
  614. package/lib/components/organisms/bottom-nav/bottom-nav.component.d.ts +0 -91
  615. package/lib/components/organisms/bottom-nav/types.d.ts +0 -120
  616. package/lib/components/organisms/cards-carousel/cards-carousel.component.d.ts +0 -36
  617. package/lib/components/organisms/cards-carousel/types.d.ts +0 -40
  618. package/lib/components/organisms/comment-section/comment-section.component.d.ts +0 -50
  619. package/lib/components/organisms/comment-section/types.d.ts +0 -144
  620. package/lib/components/organisms/company-footer/company-footer.component.d.ts +0 -37
  621. package/lib/components/organisms/company-footer/types.d.ts +0 -15
  622. package/lib/components/organisms/cookie-banner/cookie-banner.component.d.ts +0 -36
  623. package/lib/components/organisms/cookie-banner/types.d.ts +0 -62
  624. package/lib/components/organisms/data-table/data-table.component.d.ts +0 -63
  625. package/lib/components/organisms/data-table/types.d.ts +0 -219
  626. package/lib/components/organisms/docs-sidebar/docs-sidebar.component.d.ts +0 -51
  627. package/lib/components/organisms/docs-sidebar/types.d.ts +0 -93
  628. package/lib/components/organisms/docs-toc/docs-toc.component.d.ts +0 -62
  629. package/lib/components/organisms/docs-toc/types.d.ts +0 -62
  630. package/lib/components/organisms/faq/faq.component.d.ts +0 -46
  631. package/lib/components/organisms/faq/types.d.ts +0 -53
  632. package/lib/components/organisms/footer/footer.component.d.ts +0 -36
  633. package/lib/components/organisms/footer/types.d.ts +0 -16
  634. package/lib/components/organisms/form/factory.d.ts +0 -17
  635. package/lib/components/organisms/form/form-footer/form-footer.component.d.ts +0 -17
  636. package/lib/components/organisms/form/form.component.d.ts +0 -72
  637. package/lib/components/organisms/fun-header/fun-header.component.d.ts +0 -72
  638. package/lib/components/organisms/fun-header/types.d.ts +0 -28
  639. package/lib/components/organisms/header/header.component.d.ts +0 -22
  640. package/lib/components/organisms/header/types.d.ts +0 -16
  641. package/lib/components/organisms/infinite-list/infinite-list.component.d.ts +0 -113
  642. package/lib/components/organisms/infinite-list/types.d.ts +0 -197
  643. package/lib/components/organisms/item-list/item-list.component.d.ts +0 -43
  644. package/lib/components/organisms/item-list/types.d.ts +0 -126
  645. package/lib/components/organisms/login/login.component.d.ts +0 -79
  646. package/lib/components/organisms/login/types.d.ts +0 -70
  647. package/lib/components/organisms/menu/menu.component.d.ts +0 -44
  648. package/lib/components/organisms/menu/types.d.ts +0 -23
  649. package/lib/components/organisms/no-content/no-content.component.d.ts +0 -14
  650. package/lib/components/organisms/no-content/types.d.ts +0 -17
  651. package/lib/components/organisms/rotating-text/rotating-text.component.d.ts +0 -47
  652. package/lib/components/organisms/rotating-text/types.d.ts +0 -28
  653. package/lib/components/organisms/skeleton-layout/skeleton-layout.component.d.ts +0 -37
  654. package/lib/components/organisms/skeleton-layout/types.d.ts +0 -50
  655. package/lib/components/organisms/tabbed-content/tabbed-content.component.d.ts +0 -65
  656. package/lib/components/organisms/tabbed-content/types.d.ts +0 -53
  657. package/lib/components/organisms/terminal-404/terminal-404.component.d.ts +0 -42
  658. package/lib/components/organisms/terminal-404/types.d.ts +0 -22
  659. package/lib/components/organisms/testimonial-carousel/testimonial-carousel.component.d.ts +0 -33
  660. package/lib/components/organisms/testimonial-carousel/types.d.ts +0 -8
  661. package/lib/components/organisms/toolbar/toolbar.component.d.ts +0 -85
  662. package/lib/components/organisms/toolbar/types.d.ts +0 -31
  663. package/lib/components/organisms/wizard/types.d.ts +0 -42
  664. package/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.d.ts +0 -23
  665. package/lib/components/organisms/wizard/wizard.component.d.ts +0 -27
  666. package/lib/components/templates/auth-background/auth-background.component.d.ts +0 -62
  667. package/lib/components/templates/auth-background/types.d.ts +0 -30
  668. package/lib/components/templates/docs-layout/docs-layout.component.d.ts +0 -42
  669. package/lib/components/templates/docs-layout/types.d.ts +0 -39
  670. package/lib/components/templates/docs-page/docs-page.component.d.ts +0 -61
  671. package/lib/components/templates/docs-page/types.d.ts +0 -121
  672. package/lib/components/templates/docs-shell/docs-shell.component.d.ts +0 -33
  673. package/lib/components/templates/docs-shell/types.d.ts +0 -152
  674. package/lib/components/templates/maintenance-page/maintenance-page.component.d.ts +0 -57
  675. package/lib/components/templates/maintenance-page/types.d.ts +0 -12
  676. package/lib/components/templates/page-content/page-content.component.d.ts +0 -107
  677. package/lib/components/templates/page-content/types.d.ts +0 -27
  678. package/lib/components/templates/page-template/page-template.component.d.ts +0 -54
  679. package/lib/components/templates/page-template/types.d.ts +0 -17
  680. package/lib/components/templates/page-wrapper/page-wrapper.component.d.ts +0 -99
  681. package/lib/components/templates/page-wrapper/types.d.ts +0 -26
  682. package/lib/components/templates/simple/simple.component.d.ts +0 -14
  683. package/lib/components/templates/simple/types.d.ts +0 -10
  684. package/lib/components/types.d.ts +0 -304
  685. package/lib/config/company-footer.config.d.ts +0 -118
  686. package/lib/config/index.d.ts +0 -4
  687. package/lib/services/ads/ads-loader.service.d.ts +0 -41
  688. package/lib/services/ads/ads.service.d.ts +0 -99
  689. package/lib/services/ads/config.d.ts +0 -53
  690. package/lib/services/ads/index.d.ts +0 -9
  691. package/lib/services/ads/types.d.ts +0 -106
  692. package/lib/services/app-config/app-config.service.d.ts +0 -115
  693. package/lib/services/app-config/config.d.ts +0 -31
  694. package/lib/services/app-config/index.d.ts +0 -47
  695. package/lib/services/app-config/types.d.ts +0 -54
  696. package/lib/services/app-config/version.d.ts +0 -64
  697. package/lib/services/app-version/app-version.service.d.ts +0 -64
  698. package/lib/services/app-version/config.d.ts +0 -35
  699. package/lib/services/app-version/index.d.ts +0 -23
  700. package/lib/services/app-version/types.d.ts +0 -35
  701. package/lib/services/auth/auth-state.service.d.ts +0 -106
  702. package/lib/services/auth/auth.service.d.ts +0 -429
  703. package/lib/services/auth/config.d.ts +0 -38
  704. package/lib/services/auth/device.service.d.ts +0 -101
  705. package/lib/services/auth/guards.d.ts +0 -126
  706. package/lib/services/auth/handoff.service.d.ts +0 -159
  707. package/lib/services/auth/index.d.ts +0 -89
  708. package/lib/services/auth/interceptor.d.ts +0 -22
  709. package/lib/services/auth/notification-action.service.d.ts +0 -34
  710. package/lib/services/auth/oauth-callback.component.d.ts +0 -34
  711. package/lib/services/auth/oauth.service.d.ts +0 -99
  712. package/lib/services/auth/org-switch.service.d.ts +0 -127
  713. package/lib/services/auth/session.service.d.ts +0 -60
  714. package/lib/services/auth/storage.service.d.ts +0 -52
  715. package/lib/services/auth/sync.service.d.ts +0 -49
  716. package/lib/services/auth/token.service.d.ts +0 -57
  717. package/lib/services/auth/types.d.ts +0 -862
  718. package/lib/services/confirmation-dialog/confirmation-dialog.service.d.ts +0 -71
  719. package/lib/services/confirmation-dialog/types.d.ts +0 -61
  720. package/lib/services/content/content-types/blog.d.ts +0 -148
  721. package/lib/services/content/content-types/documentation.d.ts +0 -183
  722. package/lib/services/content/content-types/news.d.ts +0 -162
  723. package/lib/services/content/index.d.ts +0 -49
  724. package/lib/services/content/transformer.d.ts +0 -96
  725. package/lib/services/content/types.d.ts +0 -220
  726. package/lib/services/docs/docs-navigation.service.d.ts +0 -51
  727. package/lib/services/donation/config.d.ts +0 -33
  728. package/lib/services/donation/donation.service.d.ts +0 -54
  729. package/lib/services/donation/index.d.ts +0 -25
  730. package/lib/services/donation/types.d.ts +0 -85
  731. package/lib/services/download.service.d.ts +0 -21
  732. package/lib/services/feedback/config.d.ts +0 -35
  733. package/lib/services/feedback/feedback.service.d.ts +0 -134
  734. package/lib/services/feedback/index.d.ts +0 -40
  735. package/lib/services/feedback/types.d.ts +0 -173
  736. package/lib/services/firebase/analytics-error-handler.d.ts +0 -54
  737. package/lib/services/firebase/analytics-router-tracker.d.ts +0 -51
  738. package/lib/services/firebase/analytics-types.d.ts +0 -221
  739. package/lib/services/firebase/analytics.service.d.ts +0 -256
  740. package/lib/services/firebase/config.d.ts +0 -49
  741. package/lib/services/firebase/firebase.service.d.ts +0 -303
  742. package/lib/services/firebase/firestore-collection.d.ts +0 -199
  743. package/lib/services/firebase/firestore.service.d.ts +0 -335
  744. package/lib/services/firebase/index.d.ts +0 -44
  745. package/lib/services/firebase/messaging.service.d.ts +0 -341
  746. package/lib/services/firebase/notifications.service.d.ts +0 -158
  747. package/lib/services/firebase/shared-config.d.ts +0 -151
  748. package/lib/services/firebase/storage.service.d.ts +0 -238
  749. package/lib/services/firebase/types.d.ts +0 -374
  750. package/lib/services/firebase/utils/path-builder.d.ts +0 -132
  751. package/lib/services/firebase/utils/query-builder.d.ts +0 -210
  752. package/lib/services/i18n/config.d.ts +0 -29
  753. package/lib/services/i18n/default-content.d.ts +0 -30
  754. package/lib/services/i18n/i18n.service.d.ts +0 -128
  755. package/lib/services/i18n/index.d.ts +0 -6
  756. package/lib/services/i18n/input-i18n.helper.d.ts +0 -70
  757. package/lib/services/i18n/translate.pipe.d.ts +0 -36
  758. package/lib/services/i18n/types.d.ts +0 -93
  759. package/lib/services/icons.service.d.ts +0 -9
  760. package/lib/services/image/image.service.d.ts +0 -76
  761. package/lib/services/image/index.d.ts +0 -2
  762. package/lib/services/image/types.d.ts +0 -74
  763. package/lib/services/in-app-browser.service.d.ts +0 -16
  764. package/lib/services/legal-link/legal-link.service.d.ts +0 -73
  765. package/lib/services/link-processor.service.d.ts +0 -104
  766. package/lib/services/local-storage.service.d.ts +0 -27
  767. package/lib/services/locale.service.d.ts +0 -52
  768. package/lib/services/markdown-article/legal-content.service.d.ts +0 -73
  769. package/lib/services/markdown-article/markdown-article-parser.d.ts +0 -38
  770. package/lib/services/markdown-article/markdown-article-parser.service.d.ts +0 -12
  771. package/lib/services/meta/index.d.ts +0 -2
  772. package/lib/services/meta/meta.service.d.ts +0 -23
  773. package/lib/services/meta/types.d.ts +0 -12
  774. package/lib/services/modal/modal.service.d.ts +0 -100
  775. package/lib/services/modal/simple-modal-content.component.d.ts +0 -19
  776. package/lib/services/modal/types.d.ts +0 -155
  777. package/lib/services/navigation/index.d.ts +0 -2
  778. package/lib/services/navigation/navigation.service.d.ts +0 -134
  779. package/lib/services/navigation/types.d.ts +0 -67
  780. package/lib/services/page-refresh/page-refresh.service.d.ts +0 -86
  781. package/lib/services/pagination/index.d.ts +0 -2
  782. package/lib/services/pagination/pagination.service.d.ts +0 -43
  783. package/lib/services/pagination/types.d.ts +0 -113
  784. package/lib/services/preferences/index.d.ts +0 -2
  785. package/lib/services/preferences/preferences.service.d.ts +0 -61
  786. package/lib/services/preferences/preferences.types.d.ts +0 -35
  787. package/lib/services/presets/config.d.ts +0 -32
  788. package/lib/services/presets/index.d.ts +0 -3
  789. package/lib/services/presets/preset.service.d.ts +0 -69
  790. package/lib/services/presets/types.d.ts +0 -39
  791. package/lib/services/qr-generator/qr-generator.service.d.ts +0 -115
  792. package/lib/services/qr-generator/types.d.ts +0 -141
  793. package/lib/services/refreshable-stream/index.d.ts +0 -7
  794. package/lib/services/refreshable-stream/refreshable-stream.d.ts +0 -113
  795. package/lib/services/skeleton/config.d.ts +0 -30
  796. package/lib/services/skeleton/directives/loading.directive.d.ts +0 -71
  797. package/lib/services/skeleton/index.d.ts +0 -10
  798. package/lib/services/skeleton/skeleton.service.d.ts +0 -127
  799. package/lib/services/skeleton/templates/detail-skeleton.component.d.ts +0 -18
  800. package/lib/services/skeleton/templates/form-skeleton.component.d.ts +0 -22
  801. package/lib/services/skeleton/templates/grid-skeleton.component.d.ts +0 -18
  802. package/lib/services/skeleton/templates/list-skeleton.component.d.ts +0 -17
  803. package/lib/services/skeleton/templates/profile-skeleton.component.d.ts +0 -20
  804. package/lib/services/skeleton/templates/table-skeleton.component.d.ts +0 -17
  805. package/lib/services/skeleton/types.d.ts +0 -111
  806. package/lib/services/theme.service.d.ts +0 -76
  807. package/lib/services/toast.service.d.ts +0 -28
  808. package/lib/services/types.d.ts +0 -1
  809. package/lib/shared/constants/storage.d.ts +0 -2
  810. package/lib/shared/pipes/process-links.pipe.d.ts +0 -55
  811. package/lib/shared/utils/datetime.d.ts +0 -21
  812. package/lib/shared/utils/dom.d.ts +0 -13
  813. package/lib/shared/utils/form-defaults.d.ts +0 -30
  814. package/lib/shared/utils/styles.d.ts +0 -13
  815. package/lib/shared/utils/text.d.ts +0 -11
  816. package/lib/version.d.ts +0 -5
  817. package/public-api.d.ts +0 -316
@@ -1,79 +0,0 @@
1
- import { makeEnvironmentProviders, APP_INITIALIZER } from '@angular/core';
2
- import { DEFAULT_SKELETON_CONFIG } from './types';
3
- import { SkeletonService } from './skeleton.service';
4
- // Import built-in templates
5
- import { ListSkeletonComponent } from './templates/list-skeleton.component';
6
- import { GridSkeletonComponent } from './templates/grid-skeleton.component';
7
- import { FormSkeletonComponent } from './templates/form-skeleton.component';
8
- import { ProfileSkeletonComponent } from './templates/profile-skeleton.component';
9
- import { TableSkeletonComponent } from './templates/table-skeleton.component';
10
- import { DetailSkeletonComponent } from './templates/detail-skeleton.component';
11
- /**
12
- * Configura el sistema de skeletons para Valtech Components.
13
- *
14
- * @param config Configuracion de skeletons
15
- * @returns Providers para app.config.ts
16
- *
17
- * @example
18
- * // app.config.ts
19
- * import { provideValtechSkeleton } from 'valtech-components';
20
- *
21
- * export const appConfig: ApplicationConfig = {
22
- * providers: [
23
- * provideValtechSkeleton({
24
- * animated: true,
25
- * defaultDelay: 100,
26
- * defaultMinTime: 500,
27
- * templates: [
28
- * { name: 'custom-card', component: MyCustomCardSkeleton }
29
- * ]
30
- * }),
31
- * ]
32
- * };
33
- *
34
- * @example
35
- * // Uso minimo - usa configuracion por defecto
36
- * providers: [provideValtechSkeleton()]
37
- */
38
- export function provideValtechSkeleton(config = {}) {
39
- const mergedConfig = { ...DEFAULT_SKELETON_CONFIG, ...config };
40
- return makeEnvironmentProviders([
41
- {
42
- provide: APP_INITIALIZER,
43
- useFactory: (skeletonService) => {
44
- return () => {
45
- // Configurar servicio
46
- skeletonService.configure(mergedConfig);
47
- // Registrar templates built-in
48
- skeletonService.registerTemplate('list', ListSkeletonComponent, { count: 3 });
49
- skeletonService.registerTemplate('list-avatar', ListSkeletonComponent, {
50
- count: 3,
51
- variant: 'avatar',
52
- });
53
- skeletonService.registerTemplate('grid', GridSkeletonComponent, { count: 4 });
54
- skeletonService.registerTemplate('grid-cards', GridSkeletonComponent, {
55
- count: 6,
56
- variant: 'cards',
57
- });
58
- skeletonService.registerTemplate('form', FormSkeletonComponent, { count: 3 });
59
- skeletonService.registerTemplate('form-compact', FormSkeletonComponent, {
60
- count: 2,
61
- variant: 'compact',
62
- });
63
- skeletonService.registerTemplate('profile', ProfileSkeletonComponent, {});
64
- skeletonService.registerTemplate('profile-full', ProfileSkeletonComponent, {
65
- variant: 'full',
66
- });
67
- skeletonService.registerTemplate('table', TableSkeletonComponent, {
68
- columns: 4,
69
- rows: 5,
70
- });
71
- skeletonService.registerTemplate('detail', DetailSkeletonComponent, { sections: 2 });
72
- };
73
- },
74
- deps: [SkeletonService],
75
- multi: true,
76
- },
77
- ]);
78
- }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9za2VsZXRvbi9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3Qix3QkFBd0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFrQix1QkFBdUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckQsNEJBQTRCO0FBQzVCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRWhGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxTQUF5QixFQUFFO0lBQ2hFLE1BQU0sWUFBWSxHQUFHLEVBQUUsR0FBRyx1QkFBdUIsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO0lBRS9ELE9BQU8sd0JBQXdCLENBQUM7UUFDOUI7WUFDRSxPQUFPLEVBQUUsZUFBZTtZQUN4QixVQUFVLEVBQUUsQ0FBQyxlQUFnQyxFQUFFLEVBQUU7Z0JBQy9DLE9BQU8sR0FBRyxFQUFFO29CQUNWLHNCQUFzQjtvQkFDdEIsZUFBZSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFFeEMsK0JBQStCO29CQUMvQixlQUFlLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQzlFLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUscUJBQXFCLEVBQUU7d0JBQ3JFLEtBQUssRUFBRSxDQUFDO3dCQUNSLE9BQU8sRUFBRSxRQUFRO3FCQUNsQixDQUFDLENBQUM7b0JBQ0gsZUFBZSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUM5RSxlQUFlLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFO3dCQUNwRSxLQUFLLEVBQUUsQ0FBQzt3QkFDUixPQUFPLEVBQUUsT0FBTztxQkFDakIsQ0FBQyxDQUFDO29CQUNILGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDOUUsZUFBZSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxxQkFBcUIsRUFBRTt3QkFDdEUsS0FBSyxFQUFFLENBQUM7d0JBQ1IsT0FBTyxFQUFFLFNBQVM7cUJBQ25CLENBQUMsQ0FBQztvQkFDSCxlQUFlLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUMxRSxlQUFlLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLHdCQUF3QixFQUFFO3dCQUN6RSxPQUFPLEVBQUUsTUFBTTtxQkFDaEIsQ0FBQyxDQUFDO29CQUNILGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUU7d0JBQ2hFLE9BQU8sRUFBRSxDQUFDO3dCQUNWLElBQUksRUFBRSxDQUFDO3FCQUNSLENBQUMsQ0FBQztvQkFDSCxlQUFlLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLHVCQUF1QixFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3ZGLENBQUMsQ0FBQztZQUNKLENBQUM7WUFDRCxJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUM7WUFDdkIsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudFByb3ZpZGVycywgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzLCBBUFBfSU5JVElBTElaRVIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNrZWxldG9uQ29uZmlnLCBERUZBVUxUX1NLRUxFVE9OX0NPTkZJRyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgU2tlbGV0b25TZXJ2aWNlIH0gZnJvbSAnLi9za2VsZXRvbi5zZXJ2aWNlJztcblxuLy8gSW1wb3J0IGJ1aWx0LWluIHRlbXBsYXRlc1xuaW1wb3J0IHsgTGlzdFNrZWxldG9uQ29tcG9uZW50IH0gZnJvbSAnLi90ZW1wbGF0ZXMvbGlzdC1za2VsZXRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3JpZFNrZWxldG9uQ29tcG9uZW50IH0gZnJvbSAnLi90ZW1wbGF0ZXMvZ3JpZC1za2VsZXRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybVNrZWxldG9uQ29tcG9uZW50IH0gZnJvbSAnLi90ZW1wbGF0ZXMvZm9ybS1za2VsZXRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZmlsZVNrZWxldG9uQ29tcG9uZW50IH0gZnJvbSAnLi90ZW1wbGF0ZXMvcHJvZmlsZS1za2VsZXRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVTa2VsZXRvbkNvbXBvbmVudCB9IGZyb20gJy4vdGVtcGxhdGVzL3RhYmxlLXNrZWxldG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXRhaWxTa2VsZXRvbkNvbXBvbmVudCB9IGZyb20gJy4vdGVtcGxhdGVzL2RldGFpbC1za2VsZXRvbi5jb21wb25lbnQnO1xuXG4vKipcbiAqIENvbmZpZ3VyYSBlbCBzaXN0ZW1hIGRlIHNrZWxldG9ucyBwYXJhIFZhbHRlY2ggQ29tcG9uZW50cy5cbiAqXG4gKiBAcGFyYW0gY29uZmlnIENvbmZpZ3VyYWNpb24gZGUgc2tlbGV0b25zXG4gKiBAcmV0dXJucyBQcm92aWRlcnMgcGFyYSBhcHAuY29uZmlnLnRzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIGFwcC5jb25maWcudHNcbiAqIGltcG9ydCB7IHByb3ZpZGVWYWx0ZWNoU2tlbGV0b24gfSBmcm9tICd2YWx0ZWNoLWNvbXBvbmVudHMnO1xuICpcbiAqIGV4cG9ydCBjb25zdCBhcHBDb25maWc6IEFwcGxpY2F0aW9uQ29uZmlnID0ge1xuICogICBwcm92aWRlcnM6IFtcbiAqICAgICBwcm92aWRlVmFsdGVjaFNrZWxldG9uKHtcbiAqICAgICAgIGFuaW1hdGVkOiB0cnVlLFxuICogICAgICAgZGVmYXVsdERlbGF5OiAxMDAsXG4gKiAgICAgICBkZWZhdWx0TWluVGltZTogNTAwLFxuICogICAgICAgdGVtcGxhdGVzOiBbXG4gKiAgICAgICAgIHsgbmFtZTogJ2N1c3RvbS1jYXJkJywgY29tcG9uZW50OiBNeUN1c3RvbUNhcmRTa2VsZXRvbiB9XG4gKiAgICAgICBdXG4gKiAgICAgfSksXG4gKiAgIF1cbiAqIH07XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFVzbyBtaW5pbW8gLSB1c2EgY29uZmlndXJhY2lvbiBwb3IgZGVmZWN0b1xuICogcHJvdmlkZXJzOiBbcHJvdmlkZVZhbHRlY2hTa2VsZXRvbigpXVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVZhbHRlY2hTa2VsZXRvbihjb25maWc6IFNrZWxldG9uQ29uZmlnID0ge30pOiBFbnZpcm9ubWVudFByb3ZpZGVycyB7XG4gIGNvbnN0IG1lcmdlZENvbmZpZyA9IHsgLi4uREVGQVVMVF9TS0VMRVRPTl9DT05GSUcsIC4uLmNvbmZpZyB9O1xuXG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgIHVzZUZhY3Rvcnk6IChza2VsZXRvblNlcnZpY2U6IFNrZWxldG9uU2VydmljZSkgPT4ge1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgIC8vIENvbmZpZ3VyYXIgc2VydmljaW9cbiAgICAgICAgICBza2VsZXRvblNlcnZpY2UuY29uZmlndXJlKG1lcmdlZENvbmZpZyk7XG5cbiAgICAgICAgICAvLyBSZWdpc3RyYXIgdGVtcGxhdGVzIGJ1aWx0LWluXG4gICAgICAgICAgc2tlbGV0b25TZXJ2aWNlLnJlZ2lzdGVyVGVtcGxhdGUoJ2xpc3QnLCBMaXN0U2tlbGV0b25Db21wb25lbnQsIHsgY291bnQ6IDMgfSk7XG4gICAgICAgICAgc2tlbGV0b25TZXJ2aWNlLnJlZ2lzdGVyVGVtcGxhdGUoJ2xpc3QtYXZhdGFyJywgTGlzdFNrZWxldG9uQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBjb3VudDogMyxcbiAgICAgICAgICAgIHZhcmlhbnQ6ICdhdmF0YXInLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHNrZWxldG9uU2VydmljZS5yZWdpc3RlclRlbXBsYXRlKCdncmlkJywgR3JpZFNrZWxldG9uQ29tcG9uZW50LCB7IGNvdW50OiA0IH0pO1xuICAgICAgICAgIHNrZWxldG9uU2VydmljZS5yZWdpc3RlclRlbXBsYXRlKCdncmlkLWNhcmRzJywgR3JpZFNrZWxldG9uQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBjb3VudDogNixcbiAgICAgICAgICAgIHZhcmlhbnQ6ICdjYXJkcycsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc2tlbGV0b25TZXJ2aWNlLnJlZ2lzdGVyVGVtcGxhdGUoJ2Zvcm0nLCBGb3JtU2tlbGV0b25Db21wb25lbnQsIHsgY291bnQ6IDMgfSk7XG4gICAgICAgICAgc2tlbGV0b25TZXJ2aWNlLnJlZ2lzdGVyVGVtcGxhdGUoJ2Zvcm0tY29tcGFjdCcsIEZvcm1Ta2VsZXRvbkNvbXBvbmVudCwge1xuICAgICAgICAgICAgY291bnQ6IDIsXG4gICAgICAgICAgICB2YXJpYW50OiAnY29tcGFjdCcsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc2tlbGV0b25TZXJ2aWNlLnJlZ2lzdGVyVGVtcGxhdGUoJ3Byb2ZpbGUnLCBQcm9maWxlU2tlbGV0b25Db21wb25lbnQsIHt9KTtcbiAgICAgICAgICBza2VsZXRvblNlcnZpY2UucmVnaXN0ZXJUZW1wbGF0ZSgncHJvZmlsZS1mdWxsJywgUHJvZmlsZVNrZWxldG9uQ29tcG9uZW50LCB7XG4gICAgICAgICAgICB2YXJpYW50OiAnZnVsbCcsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc2tlbGV0b25TZXJ2aWNlLnJlZ2lzdGVyVGVtcGxhdGUoJ3RhYmxlJywgVGFibGVTa2VsZXRvbkNvbXBvbmVudCwge1xuICAgICAgICAgICAgY29sdW1uczogNCxcbiAgICAgICAgICAgIHJvd3M6IDUsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc2tlbGV0b25TZXJ2aWNlLnJlZ2lzdGVyVGVtcGxhdGUoJ2RldGFpbCcsIERldGFpbFNrZWxldG9uQ29tcG9uZW50LCB7IHNlY3Rpb25zOiAyIH0pO1xuICAgICAgICB9O1xuICAgICAgfSxcbiAgICAgIGRlcHM6IFtTa2VsZXRvblNlcnZpY2VdLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSk7XG59XG4iXX0=
@@ -1,215 +0,0 @@
1
- import { Directive, Input, TemplateRef, ViewContainerRef, inject, effect, signal, isSignal, DestroyRef, } from '@angular/core';
2
- import { toSignal } from '@angular/core/rxjs-interop';
3
- import { isObservable } from 'rxjs';
4
- import { SkeletonService } from '../skeleton.service';
5
- import * as i0 from "@angular/core";
6
- /**
7
- * Directiva estructural simplificada para estados de carga.
8
- *
9
- * Soporta multiples fuentes de estado de carga:
10
- * - Angular Signal<boolean>
11
- * - RxJS Observable<boolean>
12
- * - Promise<any> (cargando hasta que se resuelve)
13
- * - boolean literal
14
- *
15
- * @example
16
- * <!-- Uso simple con signal -->
17
- * <ng-container *valLoading="isLoading(); skeleton: 'list'">
18
- * <app-list [items]="items()"></app-list>
19
- * </ng-container>
20
- *
21
- * @example
22
- * <!-- Con configuracion -->
23
- * <ng-container *valLoading="loading$; skeleton: 'grid-cards'; count: 8">
24
- * <app-grid [data]="data"></app-grid>
25
- * </ng-container>
26
- *
27
- * @example
28
- * <!-- Con template personalizado -->
29
- * <ng-container *valLoading="isLoading(); skeletonTpl: customSkeleton">
30
- * <app-content></app-content>
31
- * </ng-container>
32
- * <ng-template #customSkeleton>
33
- * <val-skeleton [props]="{ type: 'card' }"></val-skeleton>
34
- * </ng-template>
35
- */
36
- export class LoadingDirective {
37
- constructor() {
38
- this.templateRef = inject((TemplateRef));
39
- this.viewContainer = inject(ViewContainerRef);
40
- this.skeletonService = inject(SkeletonService);
41
- this.destroyRef = inject(DestroyRef);
42
- this._loading = signal(false);
43
- this.hasContentView = false;
44
- this.skeletonComponentRef = null;
45
- /** Template de skeleton a usar */
46
- this.skeleton = 'list';
47
- /** Template personalizado para skeleton */
48
- this.skeletonTpl = null;
49
- /** Cantidad de items skeleton */
50
- this.count = 3;
51
- /** Animacion habilitada */
52
- this.animated = true;
53
- /** Mostrar spinner en lugar de skeleton */
54
- this.spinner = false;
55
- effect(() => {
56
- const isLoading = this._loading();
57
- this.updateView(isLoading);
58
- });
59
- }
60
- /**
61
- * Input principal - puede ser boolean, Signal, Observable o Promise.
62
- */
63
- set loading(source) {
64
- this.resolveLoadingSource(source);
65
- }
66
- ngOnDestroy() {
67
- this.viewContainer.clear();
68
- this.skeletonComponentRef = null;
69
- }
70
- resolveLoadingSource(source) {
71
- if (typeof source === 'boolean') {
72
- this._loading.set(source);
73
- }
74
- else if (isSignal(source)) {
75
- // Sincronizar signal con effect
76
- effect(() => {
77
- this._loading.set(source());
78
- }, { injector: this.viewContainer.injector });
79
- }
80
- else if (isObservable(source)) {
81
- // Convertir observable a signal
82
- const signalValue = toSignal(source, {
83
- initialValue: true,
84
- injector: this.viewContainer.injector,
85
- });
86
- effect(() => {
87
- this._loading.set(signalValue());
88
- }, { injector: this.viewContainer.injector });
89
- }
90
- else if (source instanceof Promise) {
91
- this._loading.set(true);
92
- source.finally(() => this._loading.set(false));
93
- }
94
- }
95
- updateView(isLoading) {
96
- if (isLoading) {
97
- this.showSkeleton();
98
- }
99
- else {
100
- this.showContent();
101
- }
102
- }
103
- showSkeleton() {
104
- // Limpiar contenido previo
105
- this.viewContainer.clear();
106
- this.hasContentView = false;
107
- if (this.skeletonTpl) {
108
- // Usar template personalizado
109
- this.viewContainer.createEmbeddedView(this.skeletonTpl);
110
- }
111
- else if (this.spinner) {
112
- // Mostrar spinner (usar val-content-loader si esta disponible)
113
- this.showSpinner();
114
- }
115
- else {
116
- // Usar template de skeleton registrado
117
- this.showSkeletonTemplate();
118
- }
119
- }
120
- showSkeletonTemplate() {
121
- const template = this.skeletonService.getTemplate(this.skeleton);
122
- if (template) {
123
- this.skeletonComponentRef = this.viewContainer.createComponent(template.component);
124
- // Combinar config por defecto con inputs
125
- const config = {
126
- ...template.defaultConfig,
127
- count: this.count,
128
- animated: this.animated,
129
- gap: this.gap,
130
- variant: this.variant,
131
- };
132
- this.skeletonComponentRef.instance.config = config;
133
- }
134
- else {
135
- // Fallback: mostrar texto de carga si no hay template
136
- console.warn(`[valLoading] Template '${this.skeleton}' not found. Using fallback.`);
137
- this.showFallback();
138
- }
139
- }
140
- showSpinner() {
141
- // Crear un div con spinner simple
142
- const element = document.createElement('div');
143
- element.className = 'val-loading-spinner';
144
- element.innerHTML = `
145
- <ion-spinner name="crescent"></ion-spinner>
146
- `;
147
- element.style.cssText = 'display: flex; justify-content: center; padding: 20px;';
148
- const hostElement = this.viewContainer.element.nativeElement;
149
- hostElement.parentElement?.insertBefore(element, hostElement);
150
- }
151
- showFallback() {
152
- // Fallback simple si no hay template registrado
153
- const element = document.createElement('div');
154
- element.className = 'val-loading-fallback';
155
- element.style.cssText =
156
- 'display: flex; flex-direction: column; gap: 12px; padding: 16px;';
157
- for (let i = 0; i < this.count; i++) {
158
- const skeleton = document.createElement('div');
159
- skeleton.style.cssText = `
160
- background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
161
- background-size: 200% 100%;
162
- animation: skeleton-loading 1.5s infinite;
163
- height: 56px;
164
- border-radius: 8px;
165
- `;
166
- element.appendChild(skeleton);
167
- }
168
- const hostElement = this.viewContainer.element.nativeElement;
169
- hostElement.parentElement?.insertBefore(element, hostElement);
170
- }
171
- showContent() {
172
- // Limpiar skeleton
173
- this.viewContainer.clear();
174
- this.skeletonComponentRef = null;
175
- // Mostrar contenido real
176
- if (!this.hasContentView) {
177
- this.viewContainer.createEmbeddedView(this.templateRef);
178
- this.hasContentView = true;
179
- }
180
- }
181
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoadingDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
182
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: LoadingDirective, isStandalone: true, selector: "[valLoading]", inputs: { skeleton: ["valLoadingSkeleton", "skeleton"], skeletonTpl: ["valLoadingSkeletonTpl", "skeletonTpl"], count: ["valLoadingCount", "count"], animated: ["valLoadingAnimated", "animated"], gap: ["valLoadingGap", "gap"], variant: ["valLoadingVariant", "variant"], spinner: ["valLoadingSpinner", "spinner"], loading: ["valLoading", "loading"] }, ngImport: i0 }); }
183
- }
184
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoadingDirective, decorators: [{
185
- type: Directive,
186
- args: [{
187
- selector: '[valLoading]',
188
- standalone: true,
189
- }]
190
- }], ctorParameters: () => [], propDecorators: { skeleton: [{
191
- type: Input,
192
- args: ['valLoadingSkeleton']
193
- }], skeletonTpl: [{
194
- type: Input,
195
- args: ['valLoadingSkeletonTpl']
196
- }], count: [{
197
- type: Input,
198
- args: ['valLoadingCount']
199
- }], animated: [{
200
- type: Input,
201
- args: ['valLoadingAnimated']
202
- }], gap: [{
203
- type: Input,
204
- args: ['valLoadingGap']
205
- }], variant: [{
206
- type: Input,
207
- args: ['valLoadingVariant']
208
- }], spinner: [{
209
- type: Input,
210
- args: ['valLoadingSpinner']
211
- }], loading: [{
212
- type: Input,
213
- args: ['valLoading']
214
- }] } });
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3NrZWxldG9uL2RpcmVjdGl2ZXMvbG9hZGluZy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFFTixRQUFRLEVBQ1IsVUFBVSxHQUVYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHdEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJHO0FBS0gsTUFBTSxPQUFPLGdCQUFnQjtJQStCM0I7UUE5QmlCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLENBQUEsV0FBb0IsQ0FBQSxDQUFDLENBQUM7UUFDM0Msa0JBQWEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6QyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWhDLGFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIseUJBQW9CLEdBQW1ELElBQUksQ0FBQztRQUVwRixrQ0FBa0M7UUFDTCxhQUFRLEdBQWtDLE1BQU0sQ0FBQztRQUU5RSwyQ0FBMkM7UUFDWCxnQkFBVyxHQUFnQyxJQUFJLENBQUM7UUFFaEYsaUNBQWlDO1FBQ1AsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUVwQywyQkFB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Z0I7OzRGQUFoQixnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjt3REFZOEIsUUFBUTtzQkFBcEMsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBR0ssV0FBVztzQkFBMUMsS0FBSzt1QkFBQyx1QkFBdUI7Z0JBR0osS0FBSztzQkFBOUIsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBR0ssUUFBUTtzQkFBcEMsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBR0gsR0FBRztzQkFBMUIsS0FBSzt1QkFBQyxlQUFlO2dCQUdNLE9BQU87c0JBQWxDLEtBQUs7dUJBQUMsbUJBQW1CO2dCQUdFLE9BQU87c0JBQWxDLEtBQUs7dUJBQUMsbUJBQW1CO2dCQWF0QixPQUFPO3NCQURWLEtBQUs7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBpbmplY3QsXG4gIGVmZmVjdCxcbiAgc2lnbmFsLFxuICBPbkRlc3Ryb3ksXG4gIGlzU2lnbmFsLFxuICBEZXN0cm95UmVmLFxuICBDb21wb25lbnRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBpc09ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNrZWxldG9uU2VydmljZSB9IGZyb20gJy4uL3NrZWxldG9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9hZGluZ1NvdXJjZSwgU2tlbGV0b25UZW1wbGF0ZU5hbWUsIFNrZWxldG9uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogRGlyZWN0aXZhIGVzdHJ1Y3R1cmFsIHNpbXBsaWZpY2FkYSBwYXJhIGVzdGFkb3MgZGUgY2FyZ2EuXG4gKlxuICogU29wb3J0YSBtdWx0aXBsZXMgZnVlbnRlcyBkZSBlc3RhZG8gZGUgY2FyZ2E6XG4gKiAtIEFuZ3VsYXIgU2lnbmFsPGJvb2xlYW4+XG4gKiAtIFJ4SlMgT2JzZXJ2YWJsZTxib29sZWFuPlxuICogLSBQcm9taXNlPGFueT4gKGNhcmdhbmRvIGhhc3RhIHF1ZSBzZSByZXN1ZWx2ZSlcbiAqIC0gYm9vbGVhbiBsaXRlcmFsXG4gKlxuICogQGV4YW1wbGVcbiAqIDwhLS0gVXNvIHNpbXBsZSBjb24gc2lnbmFsIC0tPlxuICogPG5nLWNvbnRhaW5lciAqdmFsTG9hZGluZz1cImlzTG9hZGluZygpOyBza2VsZXRvbjogJ2xpc3QnXCI+XG4gKiAgIDxhcHAtbGlzdCBbaXRlbXNdPVwiaXRlbXMoKVwiPjwvYXBwLWxpc3Q+XG4gKiA8L25nLWNvbnRhaW5lcj5cbiAqXG4gKiBAZXhhbXBsZVxuICogPCEtLSBDb24gY29uZmlndXJhY2lvbiAtLT5cbiAqIDxuZy1jb250YWluZXIgKnZhbExvYWRpbmc9XCJsb2FkaW5nJDsgc2tlbGV0b246ICdncmlkLWNhcmRzJzsgY291bnQ6IDhcIj5cbiAqICAgPGFwcC1ncmlkIFtkYXRhXT1cImRhdGFcIj48L2FwcC1ncmlkPlxuICogPC9uZy1jb250YWluZXI+XG4gKlxuICogQGV4YW1wbGVcbiAqIDwhLS0gQ29uIHRlbXBsYXRlIHBlcnNvbmFsaXphZG8gLS0+XG4gKiA8bmctY29udGFpbmVyICp2YWxMb2FkaW5nPVwiaXNMb2FkaW5nKCk7IHNrZWxldG9uVHBsOiBjdXN0b21Ta2VsZXRvblwiPlxuICogICA8YXBwLWNvbnRlbnQ+PC9hcHAtY29udGVudD5cbiAqIDwvbmctY29udGFpbmVyPlxuICogPG5nLXRlbXBsYXRlICNjdXN0b21Ta2VsZXRvbj5cbiAqICAgPHZhbC1za2VsZXRvbiBbcHJvcHNdPVwieyB0eXBlOiAnY2FyZCcgfVwiPjwvdmFsLXNrZWxldG9uPlxuICogPC9uZy10ZW1wbGF0ZT5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3ZhbExvYWRpbmddJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGluZ0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWY8dW5rbm93bj4pO1xuICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXIgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2tlbGV0b25TZXJ2aWNlID0gaW5qZWN0KFNrZWxldG9uU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9sb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJpdmF0ZSBoYXNDb250ZW50VmlldyA9IGZhbHNlO1xuICBwcml2YXRlIHNrZWxldG9uQ29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8U2tlbGV0b25UZW1wbGF0ZUNvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcblxuICAvKiogVGVtcGxhdGUgZGUgc2tlbGV0b24gYSB1c2FyICovXG4gIEBJbnB1dCgndmFsTG9hZGluZ1NrZWxldG9uJykgc2tlbGV0b246IFNrZWxldG9uVGVtcGxhdGVOYW1lIHwgc3RyaW5nID0gJ2xpc3QnO1xuXG4gIC8qKiBUZW1wbGF0ZSBwZXJzb25hbGl6YWRvIHBhcmEgc2tlbGV0b24gKi9cbiAgQElucHV0KCd2YWxMb2FkaW5nU2tlbGV0b25UcGwnKSBza2VsZXRvblRwbDogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsID0gbnVsbDtcblxuICAvKiogQ2FudGlkYWQgZGUgaXRlbXMgc2tlbGV0b24gKi9cbiAgQElucHV0KCd2YWxMb2FkaW5nQ291bnQnKSBjb3VudCA9IDM7XG5cbiAgLyoqIEFuaW1hY2lvbiBoYWJpbGl0YWRhICovXG4gIEBJbnB1dCgndmFsTG9hZGluZ0FuaW1hdGVkJykgYW5pbWF0ZWQgPSB0cnVlO1xuXG4gIC8qKiBHYXAgZW50cmUgaXRlbXMgKi9cbiAgQElucHV0KCd2YWxMb2FkaW5nR2FwJykgZ2FwOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqIFZhcmlhbnRlIGRlbCB0ZW1wbGF0ZSAqL1xuICBASW5wdXQoJ3ZhbExvYWRpbmdWYXJpYW50JykgdmFyaWFudDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKiBNb3N0cmFyIHNwaW5uZXIgZW4gbHVnYXIgZGUgc2tlbGV0b24gKi9cbiAgQElucHV0KCd2YWxMb2FkaW5nU3Bpbm5lcicpIHNwaW5uZXIgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgaXNMb2FkaW5nID0gdGhpcy5fbG9hZGluZygpO1xuICAgICAgdGhpcy51cGRhdGVWaWV3KGlzTG9hZGluZyk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW5wdXQgcHJpbmNpcGFsIC0gcHVlZGUgc2VyIGJvb2xlYW4sIFNpZ25hbCwgT2JzZXJ2YWJsZSBvIFByb21pc2UuXG4gICAqL1xuICBASW5wdXQoJ3ZhbExvYWRpbmcnKVxuICBzZXQgbG9hZGluZyhzb3VyY2U6IExvYWRpbmdTb3VyY2UpIHtcbiAgICB0aGlzLnJlc29sdmVMb2FkaW5nU291cmNlKHNvdXJjZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcbiAgICB0aGlzLnNrZWxldG9uQ29tcG9uZW50UmVmID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUxvYWRpbmdTb3VyY2Uoc291cmNlOiBMb2FkaW5nU291cmNlKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiBzb3VyY2UgPT09ICdib29sZWFuJykge1xuICAgICAgdGhpcy5fbG9hZGluZy5zZXQoc291cmNlKTtcbiAgICB9IGVsc2UgaWYgKGlzU2lnbmFsKHNvdXJjZSkpIHtcbiAgICAgIC8vIFNpbmNyb25pemFyIHNpZ25hbCBjb24gZWZmZWN0XG4gICAgICBlZmZlY3QoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLl9sb2FkaW5nLnNldCgoc291cmNlIGFzICgpID0+IGJvb2xlYW4pKCkpO1xuICAgICAgICB9LFxuICAgICAgICB7IGluamVjdG9yOiB0aGlzLnZpZXdDb250YWluZXIuaW5qZWN0b3IgfVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGlzT2JzZXJ2YWJsZShzb3VyY2UpKSB7XG4gICAgICAvLyBDb252ZXJ0aXIgb2JzZXJ2YWJsZSBhIHNpZ25hbFxuICAgICAgY29uc3Qgc2lnbmFsVmFsdWUgPSB0b1NpZ25hbChzb3VyY2UsIHtcbiAgICAgICAgaW5pdGlhbFZhbHVlOiB0cnVlLFxuICAgICAgICBpbmplY3RvcjogdGhpcy52aWV3Q29udGFpbmVyLmluamVjdG9yLFxuICAgICAgfSk7XG4gICAgICBlZmZlY3QoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLl9sb2FkaW5nLnNldChzaWduYWxWYWx1ZSgpKTtcbiAgICAgICAgfSxcbiAgICAgICAgeyBpbmplY3RvcjogdGhpcy52aWV3Q29udGFpbmVyLmluamVjdG9yIH1cbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChzb3VyY2UgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICB0aGlzLl9sb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgIHNvdXJjZS5maW5hbGx5KCgpID0+IHRoaXMuX2xvYWRpbmcuc2V0KGZhbHNlKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVWaWV3KGlzTG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChpc0xvYWRpbmcpIHtcbiAgICAgIHRoaXMuc2hvd1NrZWxldG9uKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvd0NvbnRlbnQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNob3dTa2VsZXRvbigpOiB2b2lkIHtcbiAgICAvLyBMaW1waWFyIGNvbnRlbmlkbyBwcmV2aW9cbiAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcbiAgICB0aGlzLmhhc0NvbnRlbnRWaWV3ID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5za2VsZXRvblRwbCkge1xuICAgICAgLy8gVXNhciB0ZW1wbGF0ZSBwZXJzb25hbGl6YWRvXG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuc2tlbGV0b25UcGwpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zcGlubmVyKSB7XG4gICAgICAvLyBNb3N0cmFyIHNwaW5uZXIgKHVzYXIgdmFsLWNvbnRlbnQtbG9hZGVyIHNpIGVzdGEgZGlzcG9uaWJsZSlcbiAgICAgIHRoaXMuc2hvd1NwaW5uZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVXNhciB0ZW1wbGF0ZSBkZSBza2VsZXRvbiByZWdpc3RyYWRvXG4gICAgICB0aGlzLnNob3dTa2VsZXRvblRlbXBsYXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzaG93U2tlbGV0b25UZW1wbGF0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9IHRoaXMuc2tlbGV0b25TZXJ2aWNlLmdldFRlbXBsYXRlKHRoaXMuc2tlbGV0b24pO1xuXG4gICAgaWYgKHRlbXBsYXRlKSB7XG4gICAgICB0aGlzLnNrZWxldG9uQ29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgICAgdGVtcGxhdGUuY29tcG9uZW50IGFzIG5ldyAoKSA9PiBTa2VsZXRvblRlbXBsYXRlQ29tcG9uZW50XG4gICAgICApO1xuXG4gICAgICAvLyBDb21iaW5hciBjb25maWcgcG9yIGRlZmVjdG8gY29uIGlucHV0c1xuICAgICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgICAuLi50ZW1wbGF0ZS5kZWZhdWx0Q29uZmlnLFxuICAgICAgICBjb3VudDogdGhpcy5jb3VudCxcbiAgICAgICAgYW5pbWF0ZWQ6IHRoaXMuYW5pbWF0ZWQsXG4gICAgICAgIGdhcDogdGhpcy5nYXAsXG4gICAgICAgIHZhcmlhbnQ6IHRoaXMudmFyaWFudCxcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuc2tlbGV0b25Db21wb25lbnRSZWYuaW5zdGFuY2UuY29uZmlnID0gY29uZmlnO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBGYWxsYmFjazogbW9zdHJhciB0ZXh0byBkZSBjYXJnYSBzaSBubyBoYXkgdGVtcGxhdGVcbiAgICAgIGNvbnNvbGUud2FybihgW3ZhbExvYWRpbmddIFRlbXBsYXRlICcke3RoaXMuc2tlbGV0b259JyBub3QgZm91bmQuIFVzaW5nIGZhbGxiYWNrLmApO1xuICAgICAgdGhpcy5zaG93RmFsbGJhY2soKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNob3dTcGlubmVyKCk6IHZvaWQge1xuICAgIC8vIENyZWFyIHVuIGRpdiBjb24gc3Bpbm5lciBzaW1wbGVcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZWxlbWVudC5jbGFzc05hbWUgPSAndmFsLWxvYWRpbmctc3Bpbm5lcic7XG4gICAgZWxlbWVudC5pbm5lckhUTUwgPSBgXG4gICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImNyZXNjZW50XCI+PC9pb24tc3Bpbm5lcj5cbiAgICBgO1xuICAgIGVsZW1lbnQuc3R5bGUuY3NzVGV4dCA9ICdkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgcGFkZGluZzogMjBweDsnO1xuXG4gICAgY29uc3QgaG9zdEVsZW1lbnQgPSB0aGlzLnZpZXdDb250YWluZXIuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIGhvc3RFbGVtZW50LnBhcmVudEVsZW1lbnQ/Lmluc2VydEJlZm9yZShlbGVtZW50LCBob3N0RWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIHNob3dGYWxsYmFjaygpOiB2b2lkIHtcbiAgICAvLyBGYWxsYmFjayBzaW1wbGUgc2kgbm8gaGF5IHRlbXBsYXRlIHJlZ2lzdHJhZG9cbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZWxlbWVudC5jbGFzc05hbWUgPSAndmFsLWxvYWRpbmctZmFsbGJhY2snO1xuICAgIGVsZW1lbnQuc3R5bGUuY3NzVGV4dCA9XG4gICAgICAnZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMnB4OyBwYWRkaW5nOiAxNnB4Oyc7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY291bnQ7IGkrKykge1xuICAgICAgY29uc3Qgc2tlbGV0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIHNrZWxldG9uLnN0eWxlLmNzc1RleHQgPSBgXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2YwZjBmMCAyNSUsICNlMGUwZTAgNTAlLCAjZjBmMGYwIDc1JSk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuICAgICAgICBhbmltYXRpb246IHNrZWxldG9uLWxvYWRpbmcgMS41cyBpbmZpbml0ZTtcbiAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICBgO1xuICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChza2VsZXRvbik7XG4gICAgfVxuXG4gICAgY29uc3QgaG9zdEVsZW1lbnQgPSB0aGlzLnZpZXdDb250YWluZXIuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIGhvc3RFbGVtZW50LnBhcmVudEVsZW1lbnQ/Lmluc2VydEJlZm9yZShlbGVtZW50LCBob3N0RWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIHNob3dDb250ZW50KCk6IHZvaWQge1xuICAgIC8vIExpbXBpYXIgc2tlbGV0b25cbiAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcbiAgICB0aGlzLnNrZWxldG9uQ29tcG9uZW50UmVmID0gbnVsbDtcblxuICAgIC8vIE1vc3RyYXIgY29udGVuaWRvIHJlYWxcbiAgICBpZiAoIXRoaXMuaGFzQ29udGVudFZpZXcpIHtcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XG4gICAgICB0aGlzLmhhc0NvbnRlbnRWaWV3ID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,16 +0,0 @@
1
- // Types
2
- export { DEFAULT_SKELETON_CONFIG, } from './types';
3
- // Service
4
- export { SkeletonService } from './skeleton.service';
5
- // Directives
6
- export { LoadingDirective } from './directives/loading.directive';
7
- // Templates
8
- export { ListSkeletonComponent } from './templates/list-skeleton.component';
9
- export { GridSkeletonComponent } from './templates/grid-skeleton.component';
10
- export { FormSkeletonComponent } from './templates/form-skeleton.component';
11
- export { ProfileSkeletonComponent } from './templates/profile-skeleton.component';
12
- export { TableSkeletonComponent } from './templates/table-skeleton.component';
13
- export { DetailSkeletonComponent } from './templates/detail-skeleton.component';
14
- // Config / Provider
15
- export { provideValtechSkeleton } from './config';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3NrZWxldG9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFFBQVE7QUFDUixPQUFPLEVBVUwsdUJBQXVCLEdBQ3hCLE1BQU0sU0FBUyxDQUFDO0FBRWpCLFVBQVU7QUFDVixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckQsYUFBYTtBQUNiLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWxFLFlBQVk7QUFDWixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUVoRixvQkFBb0I7QUFDcEIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVHlwZXNcbmV4cG9ydCB7XG4gIFNrZWxldG9uVGVtcGxhdGVOYW1lLFxuICBTa2VsZXRvblRlbXBsYXRlQ29uZmlnLFxuICBMb2FkaW5nU291cmNlLFxuICBTa2VsZXRvbkRpcmVjdGl2ZUNvbmZpZyxcbiAgTG9hZGluZ0RpcmVjdGl2ZUNvbmZpZyxcbiAgUmVnaXN0ZXJlZFNrZWxldG9uVGVtcGxhdGUsXG4gIFNrZWxldG9uQ29uZmlnLFxuICBTa2VsZXRvblRlbXBsYXRlQ29udGV4dCxcbiAgU2tlbGV0b25UZW1wbGF0ZUNvbXBvbmVudCxcbiAgREVGQVVMVF9TS0VMRVRPTl9DT05GSUcsXG59IGZyb20gJy4vdHlwZXMnO1xuXG4vLyBTZXJ2aWNlXG5leHBvcnQgeyBTa2VsZXRvblNlcnZpY2UgfSBmcm9tICcuL3NrZWxldG9uLnNlcnZpY2UnO1xuXG4vLyBEaXJlY3RpdmVzXG5leHBvcnQgeyBMb2FkaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2xvYWRpbmcuZGlyZWN0aXZlJztcblxuLy8gVGVtcGxhdGVzXG5leHBvcnQgeyBMaXN0U2tlbGV0b25Db21wb25lbnQgfSBmcm9tICcuL3RlbXBsYXRlcy9saXN0LXNrZWxldG9uLmNvbXBvbmVudCc7XG5leHBvcnQgeyBHcmlkU2tlbGV0b25Db21wb25lbnQgfSBmcm9tICcuL3RlbXBsYXRlcy9ncmlkLXNrZWxldG9uLmNvbXBvbmVudCc7XG5leHBvcnQgeyBGb3JtU2tlbGV0b25Db21wb25lbnQgfSBmcm9tICcuL3RlbXBsYXRlcy9mb3JtLXNrZWxldG9uLmNvbXBvbmVudCc7XG5leHBvcnQgeyBQcm9maWxlU2tlbGV0b25Db21wb25lbnQgfSBmcm9tICcuL3RlbXBsYXRlcy9wcm9maWxlLXNrZWxldG9uLmNvbXBvbmVudCc7XG5leHBvcnQgeyBUYWJsZVNrZWxldG9uQ29tcG9uZW50IH0gZnJvbSAnLi90ZW1wbGF0ZXMvdGFibGUtc2tlbGV0b24uY29tcG9uZW50JztcbmV4cG9ydCB7IERldGFpbFNrZWxldG9uQ29tcG9uZW50IH0gZnJvbSAnLi90ZW1wbGF0ZXMvZGV0YWlsLXNrZWxldG9uLmNvbXBvbmVudCc7XG5cbi8vIENvbmZpZyAvIFByb3ZpZGVyXG5leHBvcnQgeyBwcm92aWRlVmFsdGVjaFNrZWxldG9uIH0gZnJvbSAnLi9jb25maWcnO1xuIl19
@@ -1,198 +0,0 @@
1
- import { Injectable, signal, computed } from '@angular/core';
2
- import { DEFAULT_SKELETON_CONFIG, } from './types';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Servicio para gestionar templates de skeleton y estados de carga globales.
6
- *
7
- * @example
8
- * // En un componente
9
- * skeleton = inject(SkeletonService);
10
- *
11
- * // Registrar template personalizado
12
- * skeleton.registerTemplate('my-custom', MyCustomSkeletonComponent);
13
- *
14
- * // Obtener componente de template
15
- * const component = skeleton.getTemplate('list');
16
- *
17
- * // Gestionar estados de carga globales
18
- * skeleton.setLoadingState('dashboard', true);
19
- * const isDashboardLoading = skeleton.loadingState('dashboard');
20
- */
21
- export class SkeletonService {
22
- constructor() {
23
- this._config = signal(DEFAULT_SKELETON_CONFIG);
24
- this._templates = signal(new Map());
25
- this._loadingStates = signal(new Map());
26
- this._initialized = false;
27
- /** Configuracion actual (solo lectura) */
28
- this.config = this._config.asReadonly();
29
- /** Templates registrados (solo lectura) */
30
- this.templates = this._templates.asReadonly();
31
- /** Estado de carga global (cualquier estado registrado esta cargando) */
32
- this.isAnyLoading = computed(() => {
33
- const states = this._loadingStates();
34
- return Array.from(states.values()).some((v) => v);
35
- });
36
- /** Cantidad de templates registrados */
37
- this.templateCount = computed(() => this._templates().size);
38
- }
39
- /**
40
- * Configura el servicio de skeleton.
41
- * Llamado por provideValtechSkeleton().
42
- */
43
- configure(config) {
44
- if (this._initialized) {
45
- console.warn('[SkeletonService] Service already configured. Ignoring reconfiguration.');
46
- return;
47
- }
48
- this._config.set({ ...DEFAULT_SKELETON_CONFIG, ...config });
49
- // Registrar templates personalizados de la configuracion
50
- config.templates?.forEach((t) => {
51
- this.registerTemplate(t.name, t.component, t.defaultConfig);
52
- });
53
- this._initialized = true;
54
- }
55
- /**
56
- * Registra un template de skeleton personalizado.
57
- *
58
- * @param name Nombre unico del template
59
- * @param component Componente a usar
60
- * @param defaultConfig Configuracion por defecto opcional
61
- */
62
- registerTemplate(name, component, defaultConfig) {
63
- this._templates.update((map) => {
64
- const newMap = new Map(map);
65
- newMap.set(name, { name, component, defaultConfig });
66
- return newMap;
67
- });
68
- }
69
- /**
70
- * Obtiene un template de skeleton registrado.
71
- *
72
- * @param name Nombre del template
73
- * @returns Template registrado o undefined si no existe
74
- */
75
- getTemplate(name) {
76
- return this._templates().get(name);
77
- }
78
- /**
79
- * Verifica si un template esta registrado.
80
- *
81
- * @param name Nombre del template
82
- * @returns true si el template existe
83
- */
84
- hasTemplate(name) {
85
- return this._templates().has(name);
86
- }
87
- /**
88
- * Obtiene todos los nombres de templates registrados.
89
- *
90
- * @returns Array de nombres de templates
91
- */
92
- getTemplateNames() {
93
- return Array.from(this._templates().keys());
94
- }
95
- /**
96
- * Registra un estado de carga nombrado.
97
- * Util para indicadores de carga globales.
98
- *
99
- * @param key Identificador unico del estado
100
- * @param isLoading Estado de carga
101
- */
102
- setLoadingState(key, isLoading) {
103
- this._loadingStates.update((map) => {
104
- const newMap = new Map(map);
105
- if (isLoading) {
106
- newMap.set(key, true);
107
- }
108
- else {
109
- newMap.delete(key);
110
- }
111
- return newMap;
112
- });
113
- }
114
- /**
115
- * Obtiene el estado de carga para una clave especifica.
116
- *
117
- * @param key Identificador del estado
118
- * @returns Estado de carga actual
119
- */
120
- getLoadingState(key) {
121
- return this._loadingStates().get(key) ?? false;
122
- }
123
- /**
124
- * Crea un signal computado para un estado de carga especifico.
125
- *
126
- * @param key Identificador del estado
127
- * @returns Signal reactivo del estado de carga
128
- */
129
- loadingState(key) {
130
- return computed(() => this._loadingStates().get(key) ?? false);
131
- }
132
- /**
133
- * Obtiene todas las claves de estados de carga activos.
134
- *
135
- * @returns Array de claves con estado de carga activo
136
- */
137
- getActiveLoadingKeys() {
138
- const states = this._loadingStates();
139
- return Array.from(states.entries())
140
- .filter(([, isLoading]) => isLoading)
141
- .map(([key]) => key);
142
- }
143
- /**
144
- * Limpia todos los estados de carga.
145
- */
146
- clearLoadingStates() {
147
- this._loadingStates.set(new Map());
148
- }
149
- /**
150
- * Limpia un estado de carga especifico.
151
- *
152
- * @param key Identificador del estado a limpiar
153
- */
154
- clearLoadingState(key) {
155
- this.setLoadingState(key, false);
156
- }
157
- /**
158
- * Ejecuta una funcion async con tracking de estado de carga.
159
- *
160
- * @param key Identificador del estado
161
- * @param fn Funcion async a ejecutar
162
- * @returns Resultado de la funcion
163
- */
164
- async withLoading(key, fn) {
165
- this.setLoadingState(key, true);
166
- try {
167
- return await fn();
168
- }
169
- finally {
170
- this.setLoadingState(key, false);
171
- }
172
- }
173
- /**
174
- * Obtiene la configuracion de animacion por defecto.
175
- */
176
- get animated() {
177
- return this._config().animated ?? true;
178
- }
179
- /**
180
- * Obtiene el delay por defecto.
181
- */
182
- get defaultDelay() {
183
- return this._config().defaultDelay ?? 0;
184
- }
185
- /**
186
- * Obtiene el tiempo minimo por defecto.
187
- */
188
- get defaultMinTime() {
189
- return this._config().defaultMinTime ?? 300;
190
- }
191
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SkeletonService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
192
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SkeletonService, providedIn: 'root' }); }
193
- }
194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SkeletonService, decorators: [{
195
- type: Injectable,
196
- args: [{ providedIn: 'root' }]
197
- }] });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvc2tlbGV0b24vc2tlbGV0b24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUtMLHVCQUF1QixHQUN4QixNQUFNLFNBQVMsQ0FBQzs7QUFFakI7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQUVtQixZQUFPLEdBQUcsTUFBTSxDQUFpQix1QkFBdUIsQ0FBQyxDQUFDO1FBQzFELGVBQVUsR0FBRyxNQUFNLENBQTBDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN4RSxtQkFBYyxHQUFHLE1BQU0sQ0FBdUIsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRTdCLDBDQUEwQztRQUNqQyxXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUU1QywyQ0FBMkM7UUFDbEMsY0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEQseUVBQXlFO1FBQ2hFLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDckMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7UUFFSCx3Q0FBd0M7UUFDL0Isa0JBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENB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R0FBRyxDQUFDO0lBQzlDLENBQUM7K0dBL0xVLGVBQWU7bUhBQWYsZUFBZSxjQURGLE1BQU07OzRGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIHNpZ25hbCwgY29tcHV0ZWQsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNrZWxldG9uVGVtcGxhdGVOYW1lLFxuICBTa2VsZXRvblRlbXBsYXRlQ29uZmlnLFxuICBSZWdpc3RlcmVkU2tlbGV0b25UZW1wbGF0ZSxcbiAgU2tlbGV0b25Db25maWcsXG4gIERFRkFVTFRfU0tFTEVUT05fQ09ORklHLFxufSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBTZXJ2aWNpbyBwYXJhIGdlc3Rpb25hciB0ZW1wbGF0ZXMgZGUgc2tlbGV0b24geSBlc3RhZG9zIGRlIGNhcmdhIGdsb2JhbGVzLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBFbiB1biBjb21wb25lbnRlXG4gKiBza2VsZXRvbiA9IGluamVjdChTa2VsZXRvblNlcnZpY2UpO1xuICpcbiAqIC8vIFJlZ2lzdHJhciB0ZW1wbGF0ZSBwZXJzb25hbGl6YWRvXG4gKiBza2VsZXRvbi5yZWdpc3RlclRlbXBsYXRlKCdteS1jdXN0b20nLCBNeUN1c3RvbVNrZWxldG9uQ29tcG9uZW50KTtcbiAqXG4gKiAvLyBPYnRlbmVyIGNvbXBvbmVudGUgZGUgdGVtcGxhdGVcbiAqIGNvbnN0IGNvbXBvbmVudCA9IHNrZWxldG9uLmdldFRlbXBsYXRlKCdsaXN0Jyk7XG4gKlxuICogLy8gR2VzdGlvbmFyIGVzdGFkb3MgZGUgY2FyZ2EgZ2xvYmFsZXNcbiAqIHNrZWxldG9uLnNldExvYWRpbmdTdGF0ZSgnZGFzaGJvYXJkJywgdHJ1ZSk7XG4gKiBjb25zdCBpc0Rhc2hib2FyZExvYWRpbmcgPSBza2VsZXRvbi5sb2FkaW5nU3RhdGUoJ2Rhc2hib2FyZCcpO1xuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNrZWxldG9uU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbmZpZyA9IHNpZ25hbDxTa2VsZXRvbkNvbmZpZz4oREVGQVVMVF9TS0VMRVRPTl9DT05GSUcpO1xuICBwcml2YXRlIHJlYWRvbmx5IF90ZW1wbGF0ZXMgPSBzaWduYWw8TWFwPHN0cmluZywgUmVnaXN0ZXJlZFNrZWxldG9uVGVtcGxhdGU+PihuZXcgTWFwKCkpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9sb2FkaW5nU3RhdGVzID0gc2lnbmFsPE1hcDxzdHJpbmcsIGJvb2xlYW4+PihuZXcgTWFwKCkpO1xuICBwcml2YXRlIF9pbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIC8qKiBDb25maWd1cmFjaW9uIGFjdHVhbCAoc29sbyBsZWN0dXJhKSAqL1xuICByZWFkb25seSBjb25maWcgPSB0aGlzLl9jb25maWcuYXNSZWFkb25seSgpO1xuXG4gIC8qKiBUZW1wbGF0ZXMgcmVnaXN0cmFkb3MgKHNvbG8gbGVjdHVyYSkgKi9cbiAgcmVhZG9ubHkgdGVtcGxhdGVzID0gdGhpcy5fdGVtcGxhdGVzLmFzUmVhZG9ubHkoKTtcblxuICAvKiogRXN0YWRvIGRlIGNhcmdhIGdsb2JhbCAoY3VhbHF1aWVyIGVzdGFkbyByZWdpc3RyYWRvIGVzdGEgY2FyZ2FuZG8pICovXG4gIHJlYWRvbmx5IGlzQW55TG9hZGluZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzdGF0ZXMgPSB0aGlzLl9sb2FkaW5nU3RhdGVzKCk7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oc3RhdGVzLnZhbHVlcygpKS5zb21lKCh2KSA9PiB2KTtcbiAgfSk7XG5cbiAgLyoqIENhbnRpZGFkIGRlIHRlbXBsYXRlcyByZWdpc3RyYWRvcyAqL1xuICByZWFkb25seSB0ZW1wbGF0ZUNvdW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fdGVtcGxhdGVzKCkuc2l6ZSk7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYSBlbCBzZXJ2aWNpbyBkZSBza2VsZXRvbi5cbiAgICogTGxhbWFkbyBwb3IgcHJvdmlkZVZhbHRlY2hTa2VsZXRvbigpLlxuICAgKi9cbiAgY29uZmlndXJlKGNvbmZpZzogU2tlbGV0b25Db25maWcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWQpIHtcbiAgICAgIGNvbnNvbGUud2FybignW1NrZWxldG9uU2VydmljZV0gU2VydmljZSBhbHJlYWR5IGNvbmZpZ3VyZWQuIElnbm9yaW5nIHJlY29uZmlndXJhdGlvbi4nKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9jb25maWcuc2V0KHsgLi4uREVGQVVMVF9TS0VMRVRPTl9DT05GSUcsIC4uLmNvbmZpZyB9KTtcblxuICAgIC8vIFJlZ2lzdHJhciB0ZW1wbGF0ZXMgcGVyc29uYWxpemFkb3MgZGUgbGEgY29uZmlndXJhY2lvblxuICAgIGNvbmZpZy50ZW1wbGF0ZXM/LmZvckVhY2goKHQpID0+IHtcbiAgICAgIHRoaXMucmVnaXN0ZXJUZW1wbGF0ZSh0Lm5hbWUsIHQuY29tcG9uZW50LCB0LmRlZmF1bHRDb25maWcpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdHJhIHVuIHRlbXBsYXRlIGRlIHNrZWxldG9uIHBlcnNvbmFsaXphZG8uXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIE5vbWJyZSB1bmljbyBkZWwgdGVtcGxhdGVcbiAgICogQHBhcmFtIGNvbXBvbmVudCBDb21wb25lbnRlIGEgdXNhclxuICAgKiBAcGFyYW0gZGVmYXVsdENvbmZpZyBDb25maWd1cmFjaW9uIHBvciBkZWZlY3RvIG9wY2lvbmFsXG4gICAqL1xuICByZWdpc3RlclRlbXBsYXRlKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBjb21wb25lbnQ6IFR5cGU8dW5rbm93bj4sXG4gICAgZGVmYXVsdENvbmZpZz86IFNrZWxldG9uVGVtcGxhdGVDb25maWdcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5fdGVtcGxhdGVzLnVwZGF0ZSgobWFwKSA9PiB7XG4gICAgICBjb25zdCBuZXdNYXAgPSBuZXcgTWFwKG1hcCk7XG4gICAgICBuZXdNYXAuc2V0KG5hbWUsIHsgbmFtZSwgY29tcG9uZW50LCBkZWZhdWx0Q29uZmlnIH0pO1xuICAgICAgcmV0dXJuIG5ld01hcDtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRpZW5lIHVuIHRlbXBsYXRlIGRlIHNrZWxldG9uIHJlZ2lzdHJhZG8uXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIE5vbWJyZSBkZWwgdGVtcGxhdGVcbiAgICogQHJldHVybnMgVGVtcGxhdGUgcmVnaXN0cmFkbyBvIHVuZGVmaW5lZCBzaSBubyBleGlzdGVcbiAgICovXG4gIGdldFRlbXBsYXRlKG5hbWU6IFNrZWxldG9uVGVtcGxhdGVOYW1lIHwgc3RyaW5nKTogUmVnaXN0ZXJlZFNrZWxldG9uVGVtcGxhdGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl90ZW1wbGF0ZXMoKS5nZXQobmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogVmVyaWZpY2Egc2kgdW4gdGVtcGxhdGUgZXN0YSByZWdpc3RyYWRvLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSBOb21icmUgZGVsIHRlbXBsYXRlXG4gICAqIEByZXR1cm5zIHRydWUgc2kgZWwgdGVtcGxhdGUgZXhpc3RlXG4gICAqL1xuICBoYXNUZW1wbGF0ZShuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGVzKCkuaGFzKG5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9idGllbmUgdG9kb3MgbG9zIG5vbWJyZXMgZGUgdGVtcGxhdGVzIHJlZ2lzdHJhZG9zLlxuICAgKlxuICAgKiBAcmV0dXJucyBBcnJheSBkZSBub21icmVzIGRlIHRlbXBsYXRlc1xuICAgKi9cbiAgZ2V0VGVtcGxhdGVOYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5fdGVtcGxhdGVzKCkua2V5cygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RyYSB1biBlc3RhZG8gZGUgY2FyZ2Egbm9tYnJhZG8uXG4gICAqIFV0aWwgcGFyYSBpbmRpY2Fkb3JlcyBkZSBjYXJnYSBnbG9iYWxlcy5cbiAgICpcbiAgICogQHBhcmFtIGtleSBJZGVudGlmaWNhZG9yIHVuaWNvIGRlbCBlc3RhZG9cbiAgICogQHBhcmFtIGlzTG9hZGluZyBFc3RhZG8gZGUgY2FyZ2FcbiAgICovXG4gIHNldExvYWRpbmdTdGF0ZShrZXk6IHN0cmluZywgaXNMb2FkaW5nOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5fbG9hZGluZ1N0YXRlcy51cGRhdGUoKG1hcCkgPT4ge1xuICAgICAgY29uc3QgbmV3TWFwID0gbmV3IE1hcChtYXApO1xuICAgICAgaWYgKGlzTG9hZGluZykge1xuICAgICAgICBuZXdNYXAuc2V0KGtleSwgdHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdNYXAuZGVsZXRlKGtleSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3TWFwO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9idGllbmUgZWwgZXN0YWRvIGRlIGNhcmdhIHBhcmEgdW5hIGNsYXZlIGVzcGVjaWZpY2EuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgSWRlbnRpZmljYWRvciBkZWwgZXN0YWRvXG4gICAqIEByZXR1cm5zIEVzdGFkbyBkZSBjYXJnYSBhY3R1YWxcbiAgICovXG4gIGdldExvYWRpbmdTdGF0ZShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9sb2FkaW5nU3RhdGVzKCkuZ2V0KGtleSkgPz8gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYSB1biBzaWduYWwgY29tcHV0YWRvIHBhcmEgdW4gZXN0YWRvIGRlIGNhcmdhIGVzcGVjaWZpY28uXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgSWRlbnRpZmljYWRvciBkZWwgZXN0YWRvXG4gICAqIEByZXR1cm5zIFNpZ25hbCByZWFjdGl2byBkZWwgZXN0YWRvIGRlIGNhcmdhXG4gICAqL1xuICBsb2FkaW5nU3RhdGUoa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gY29tcHV0ZWQoKCkgPT4gdGhpcy5fbG9hZGluZ1N0YXRlcygpLmdldChrZXkpID8/IGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRpZW5lIHRvZGFzIGxhcyBjbGF2ZXMgZGUgZXN0YWRvcyBkZSBjYXJnYSBhY3Rpdm9zLlxuICAgKlxuICAgKiBAcmV0dXJucyBBcnJheSBkZSBjbGF2ZXMgY29uIGVzdGFkbyBkZSBjYXJnYSBhY3Rpdm9cbiAgICovXG4gIGdldEFjdGl2ZUxvYWRpbmdLZXlzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBzdGF0ZXMgPSB0aGlzLl9sb2FkaW5nU3RhdGVzKCk7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oc3RhdGVzLmVudHJpZXMoKSlcbiAgICAgIC5maWx0ZXIoKFssIGlzTG9hZGluZ10pID0+IGlzTG9hZGluZylcbiAgICAgIC5tYXAoKFtrZXldKSA9PiBrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpbXBpYSB0b2RvcyBsb3MgZXN0YWRvcyBkZSBjYXJnYS5cbiAgICovXG4gIGNsZWFyTG9hZGluZ1N0YXRlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2FkaW5nU3RhdGVzLnNldChuZXcgTWFwKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpbXBpYSB1biBlc3RhZG8gZGUgY2FyZ2EgZXNwZWNpZmljby5cbiAgICpcbiAgICogQHBhcmFtIGtleSBJZGVudGlmaWNhZG9yIGRlbCBlc3RhZG8gYSBsaW1waWFyXG4gICAqL1xuICBjbGVhckxvYWRpbmdTdGF0ZShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2V0TG9hZGluZ1N0YXRlKGtleSwgZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVqZWN1dGEgdW5hIGZ1bmNpb24gYXN5bmMgY29uIHRyYWNraW5nIGRlIGVzdGFkbyBkZSBjYXJnYS5cbiAgICpcbiAgICogQHBhcmFtIGtleSBJZGVudGlmaWNhZG9yIGRlbCBlc3RhZG9cbiAgICogQHBhcmFtIGZuIEZ1bmNpb24gYXN5bmMgYSBlamVjdXRhclxuICAgKiBAcmV0dXJucyBSZXN1bHRhZG8gZGUgbGEgZnVuY2lvblxuICAgKi9cbiAgYXN5bmMgd2l0aExvYWRpbmc8VD4oa2V5OiBzdHJpbmcsIGZuOiAoKSA9PiBQcm9taXNlPFQ+KTogUHJvbWlzZTxUPiB7XG4gICAgdGhpcy5zZXRMb2FkaW5nU3RhdGUoa2V5LCB0cnVlKTtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGZuKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc2V0TG9hZGluZ1N0YXRlKGtleSwgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRpZW5lIGxhIGNvbmZpZ3VyYWNpb24gZGUgYW5pbWFjaW9uIHBvciBkZWZlY3RvLlxuICAgKi9cbiAgZ2V0IGFuaW1hdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcoKS5hbmltYXRlZCA/PyB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIE9idGllbmUgZWwgZGVsYXkgcG9yIGRlZmVjdG8uXG4gICAqL1xuICBnZXQgZGVmYXVsdERlbGF5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZygpLmRlZmF1bHREZWxheSA/PyAwO1xuICB9XG5cbiAgLyoqXG4gICAqIE9idGllbmUgZWwgdGllbXBvIG1pbmltbyBwb3IgZGVmZWN0by5cbiAgICovXG4gIGdldCBkZWZhdWx0TWluVGltZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcoKS5kZWZhdWx0TWluVGltZSA/PyAzMDA7XG4gIH1cbn1cbiJdfQ==