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.
- package/fesm2022/valtech-components.mjs +1 -1
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/package.json +1 -1
- package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +0 -94
- package/esm2022/lib/components/atoms/avatar/types.mjs +0 -2
- package/esm2022/lib/components/atoms/box/box.component.mjs +0 -88
- package/esm2022/lib/components/atoms/box/types.mjs +0 -2
- package/esm2022/lib/components/atoms/button/button.component.mjs +0 -174
- package/esm2022/lib/components/atoms/button/factory.mjs +0 -217
- package/esm2022/lib/components/atoms/container/container.component.mjs +0 -52
- package/esm2022/lib/components/atoms/container/types.mjs +0 -2
- package/esm2022/lib/components/atoms/countdown/countdown.component.mjs +0 -340
- package/esm2022/lib/components/atoms/countdown/types.mjs +0 -27
- package/esm2022/lib/components/atoms/display/display.component.mjs +0 -51
- package/esm2022/lib/components/atoms/display/types.mjs +0 -2
- package/esm2022/lib/components/atoms/divider/divider.component.mjs +0 -27
- package/esm2022/lib/components/atoms/divider/types.mjs +0 -2
- package/esm2022/lib/components/atoms/fab/fab.component.mjs +0 -190
- package/esm2022/lib/components/atoms/fab/types.mjs +0 -2
- package/esm2022/lib/components/atoms/glass/glass.component.mjs +0 -125
- package/esm2022/lib/components/atoms/glass/types.mjs +0 -2
- package/esm2022/lib/components/atoms/glow/glow.component.mjs +0 -95
- package/esm2022/lib/components/atoms/glow/types.mjs +0 -2
- package/esm2022/lib/components/atoms/horizontal-scroll/horizontal-scroll.component.mjs +0 -82
- package/esm2022/lib/components/atoms/horizontal-scroll/types.mjs +0 -2
- package/esm2022/lib/components/atoms/href/href.component.mjs +0 -62
- package/esm2022/lib/components/atoms/href/types.mjs +0 -2
- package/esm2022/lib/components/atoms/icon/icon.component.mjs +0 -29
- package/esm2022/lib/components/atoms/icon/types.mjs +0 -2
- package/esm2022/lib/components/atoms/image/image.component.mjs +0 -507
- package/esm2022/lib/components/atoms/image/types.mjs +0 -2
- package/esm2022/lib/components/atoms/pattern/motifs.mjs +0 -147
- package/esm2022/lib/components/atoms/pattern/pattern.component.mjs +0 -178
- package/esm2022/lib/components/atoms/pattern/types.mjs +0 -2
- package/esm2022/lib/components/atoms/price-tag/price-tag.component.mjs +0 -235
- package/esm2022/lib/components/atoms/price-tag/types.mjs +0 -15
- package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +0 -91
- package/esm2022/lib/components/atoms/progress-bar/types.mjs +0 -2
- package/esm2022/lib/components/atoms/progress-ring/progress-ring.component.mjs +0 -149
- package/esm2022/lib/components/atoms/progress-ring/types.mjs +0 -2
- package/esm2022/lib/components/atoms/qr-code/qr-code.component.mjs +0 -394
- package/esm2022/lib/components/atoms/qr-code/types.mjs +0 -2
- package/esm2022/lib/components/atoms/rights-footer/rights-footer.component.mjs +0 -108
- package/esm2022/lib/components/atoms/rights-footer/types.mjs +0 -2
- package/esm2022/lib/components/atoms/skeleton/skeleton.component.mjs +0 -193
- package/esm2022/lib/components/atoms/skeleton/types.mjs +0 -13
- package/esm2022/lib/components/atoms/text/text.component.mjs +0 -132
- package/esm2022/lib/components/atoms/text/types.mjs +0 -2
- package/esm2022/lib/components/atoms/title/title.component.mjs +0 -68
- package/esm2022/lib/components/atoms/title/types.mjs +0 -22
- package/esm2022/lib/components/atoms/user-avatar/types.mjs +0 -2
- package/esm2022/lib/components/atoms/user-avatar/user-avatar.component.mjs +0 -209
- package/esm2022/lib/components/molecules/accordion/accordion.component.mjs +0 -120
- package/esm2022/lib/components/molecules/accordion/types.mjs +0 -2
- package/esm2022/lib/components/molecules/action-card/action-card.component.mjs +0 -273
- package/esm2022/lib/components/molecules/action-card/types.mjs +0 -11
- package/esm2022/lib/components/molecules/action-header/action-header.component.mjs +0 -55
- package/esm2022/lib/components/molecules/action-header/types.mjs +0 -2
- package/esm2022/lib/components/molecules/ad-slot/ad-slot.component.mjs +0 -274
- package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +0 -119
- package/esm2022/lib/components/molecules/alert-box/types.mjs +0 -2
- package/esm2022/lib/components/molecules/breadcrumb/breadcrumb.component.mjs +0 -130
- package/esm2022/lib/components/molecules/breadcrumb/types.mjs +0 -2
- package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +0 -63
- package/esm2022/lib/components/molecules/button-group/types.mjs +0 -2
- package/esm2022/lib/components/molecules/card/card.component.mjs +0 -450
- package/esm2022/lib/components/molecules/card/types.mjs +0 -16
- package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +0 -82
- package/esm2022/lib/components/molecules/checkbox-radio-input/checkbox-radio-input.component.mjs +0 -79
- package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +0 -166
- package/esm2022/lib/components/molecules/chip-group/types.mjs +0 -2
- package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +0 -115
- package/esm2022/lib/components/molecules/code-display/types.mjs +0 -2
- package/esm2022/lib/components/molecules/command-display/command-display.component.mjs +0 -49
- package/esm2022/lib/components/molecules/command-display/types.mjs +0 -2
- package/esm2022/lib/components/molecules/comment/comment.component.mjs +0 -618
- package/esm2022/lib/components/molecules/comment/types.mjs +0 -2
- package/esm2022/lib/components/molecules/comment-input/comment-input.component.mjs +0 -41
- package/esm2022/lib/components/molecules/comment-input/types.mjs +0 -2
- package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +0 -42
- package/esm2022/lib/components/molecules/content-loader/types.mjs +0 -2
- package/esm2022/lib/components/molecules/content-reaction/content-reaction.component.mjs +0 -210
- package/esm2022/lib/components/molecules/content-reaction/types.mjs +0 -2
- package/esm2022/lib/components/molecules/currency-input/currency-input.component.mjs +0 -347
- package/esm2022/lib/components/molecules/currency-input/types.mjs +0 -18
- package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +0 -148
- package/esm2022/lib/components/molecules/date-input/types.mjs +0 -2
- package/esm2022/lib/components/molecules/date-range-input/date-range-input.component.mjs +0 -416
- package/esm2022/lib/components/molecules/date-range-input/types.mjs +0 -2
- package/esm2022/lib/components/molecules/docs-api-table/docs-api-table.component.mjs +0 -222
- package/esm2022/lib/components/molecules/docs-api-table/types.mjs +0 -11
- package/esm2022/lib/components/molecules/docs-breadcrumb/docs-breadcrumb.component.mjs +0 -144
- package/esm2022/lib/components/molecules/docs-breadcrumb/types.mjs +0 -2
- package/esm2022/lib/components/molecules/docs-callout/docs-callout.component.mjs +0 -60
- package/esm2022/lib/components/molecules/docs-code-example/docs-code-example.component.mjs +0 -249
- package/esm2022/lib/components/molecules/docs-code-example/types.mjs +0 -2
- package/esm2022/lib/components/molecules/docs-nav-links/docs-nav-links.component.mjs +0 -140
- package/esm2022/lib/components/molecules/docs-nav-links/types.mjs +0 -2
- package/esm2022/lib/components/molecules/docs-search/docs-search.component.mjs +0 -268
- package/esm2022/lib/components/molecules/docs-search/types.mjs +0 -2
- package/esm2022/lib/components/molecules/docs-section/docs-section.component.mjs +0 -85
- package/esm2022/lib/components/molecules/docs-section/types.mjs +0 -2
- package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +0 -68
- package/esm2022/lib/components/molecules/expandable-text/expandable-text.component.mjs +0 -77
- package/esm2022/lib/components/molecules/expandable-text/types.mjs +0 -2
- package/esm2022/lib/components/molecules/features-list/features-list.component.mjs +0 -179
- package/esm2022/lib/components/molecules/features-list/types.mjs +0 -11
- package/esm2022/lib/components/molecules/feedback-form/feedback-form.component.mjs +0 -354
- package/esm2022/lib/components/molecules/feedback-form/types.mjs +0 -2
- package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +0 -90
- package/esm2022/lib/components/molecules/file-input/types.mjs +0 -2
- package/esm2022/lib/components/molecules/footer-links/footer-links.component.mjs +0 -391
- package/esm2022/lib/components/molecules/footer-links/types.mjs +0 -2
- package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +0 -314
- package/esm2022/lib/components/molecules/glow-card/types.mjs +0 -11
- package/esm2022/lib/components/molecules/hint/hint.component.mjs +0 -90
- package/esm2022/lib/components/molecules/hour-input/hour-input.component.mjs +0 -28
- package/esm2022/lib/components/molecules/image-crop/image-crop.component.mjs +0 -174
- package/esm2022/lib/components/molecules/image-crop/index.mjs +0 -2
- package/esm2022/lib/components/molecules/info/info.component.mjs +0 -49
- package/esm2022/lib/components/molecules/info/types.mjs +0 -2
- package/esm2022/lib/components/molecules/language-selector/language-selector.component.mjs +0 -221
- package/esm2022/lib/components/molecules/language-selector/types.mjs +0 -2
- package/esm2022/lib/components/molecules/layered-card/layered-card.component.mjs +0 -104
- package/esm2022/lib/components/molecules/layered-card/types.mjs +0 -2
- package/esm2022/lib/components/molecules/link/link.component.mjs +0 -64
- package/esm2022/lib/components/molecules/link/types.mjs +0 -2
- package/esm2022/lib/components/molecules/linked-providers/linked-providers.component.mjs +0 -236
- package/esm2022/lib/components/molecules/linked-providers/types.mjs +0 -27
- package/esm2022/lib/components/molecules/links-accordion/links-accordion.component.mjs +0 -203
- package/esm2022/lib/components/molecules/links-accordion/types.mjs +0 -2
- package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +0 -51
- package/esm2022/lib/components/molecules/links-cake/types.mjs +0 -2
- package/esm2022/lib/components/molecules/multi-select-search/multi-select-search.component.mjs +0 -488
- package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +0 -92
- package/esm2022/lib/components/molecules/notes-box/types.mjs +0 -2
- package/esm2022/lib/components/molecules/number-from-to/number-from-to.component.mjs +0 -143
- package/esm2022/lib/components/molecules/number-from-to/types.mjs +0 -2
- package/esm2022/lib/components/molecules/number-input/number-input.component.mjs +0 -34
- package/esm2022/lib/components/molecules/number-stepper/number-stepper.component.mjs +0 -379
- package/esm2022/lib/components/molecules/number-stepper/types.mjs +0 -2
- package/esm2022/lib/components/molecules/page-links/page-links.component.mjs +0 -150
- package/esm2022/lib/components/molecules/page-links/types.mjs +0 -2
- package/esm2022/lib/components/molecules/pagination/pagination.component.mjs +0 -253
- package/esm2022/lib/components/molecules/pagination/types.mjs +0 -2
- package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +0 -93
- package/esm2022/lib/components/molecules/phone-input/phone-input.component.mjs +0 -365
- package/esm2022/lib/components/molecules/phone-input/types.mjs +0 -19
- package/esm2022/lib/components/molecules/pill/pill.component.mjs +0 -202
- package/esm2022/lib/components/molecules/pill/types.mjs +0 -2
- package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +0 -78
- package/esm2022/lib/components/molecules/pin-input/types.mjs +0 -2
- package/esm2022/lib/components/molecules/plain-code-box/plain-code-box.component.mjs +0 -82
- package/esm2022/lib/components/molecules/plain-code-box/types.mjs +0 -2
- package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +0 -188
- package/esm2022/lib/components/molecules/popover-selector/types.mjs +0 -2
- package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +0 -105
- package/esm2022/lib/components/molecules/progress-status/types.mjs +0 -2
- package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +0 -85
- package/esm2022/lib/components/molecules/prompter/types.mjs +0 -2
- package/esm2022/lib/components/molecules/quote-box/quote-box.component.mjs +0 -155
- package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +0 -52
- package/esm2022/lib/components/molecules/range-input/range-input.component.mjs +0 -127
- package/esm2022/lib/components/molecules/range-input/types.mjs +0 -2
- package/esm2022/lib/components/molecules/rating/rating.component.mjs +0 -166
- package/esm2022/lib/components/molecules/rating/types.mjs +0 -2
- package/esm2022/lib/components/molecules/refresher/refresher.component.mjs +0 -275
- package/esm2022/lib/components/molecules/refresher/types.mjs +0 -15
- package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +0 -127
- package/esm2022/lib/components/molecules/searchbar/types.mjs +0 -2
- package/esm2022/lib/components/molecules/segment-control/segment-control.component.mjs +0 -129
- package/esm2022/lib/components/molecules/segment-control/types.mjs +0 -2
- package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +0 -148
- package/esm2022/lib/components/molecules/select-search/select-search.component.mjs +0 -434
- package/esm2022/lib/components/molecules/share-buttons/share-buttons.component.mjs +0 -274
- package/esm2022/lib/components/molecules/share-buttons/types.mjs +0 -88
- package/esm2022/lib/components/molecules/stats-card/stats-card.component.mjs +0 -211
- package/esm2022/lib/components/molecules/stats-card/types.mjs +0 -2
- package/esm2022/lib/components/molecules/stepper/stepper.component.mjs +0 -242
- package/esm2022/lib/components/molecules/stepper/types.mjs +0 -2
- package/esm2022/lib/components/molecules/swipe-carousel/swipe-carousel.component.mjs +0 -206
- package/esm2022/lib/components/molecules/swipe-carousel/types.mjs +0 -2
- package/esm2022/lib/components/molecules/tabs/tabs.component.mjs +0 -139
- package/esm2022/lib/components/molecules/tabs/types.mjs +0 -2
- package/esm2022/lib/components/molecules/testimonial-card/testimonial-card.component.mjs +0 -138
- package/esm2022/lib/components/molecules/testimonial-card/types.mjs +0 -2
- package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +0 -77
- package/esm2022/lib/components/molecules/textarea-input/textarea-input.component.mjs +0 -213
- package/esm2022/lib/components/molecules/textarea-input/types.mjs +0 -2
- package/esm2022/lib/components/molecules/timeline/timeline.component.mjs +0 -140
- package/esm2022/lib/components/molecules/timeline/types.mjs +0 -2
- package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +0 -102
- package/esm2022/lib/components/molecules/title-block/types.mjs +0 -2
- package/esm2022/lib/components/molecules/toggle-input/toggle-input.component.mjs +0 -93
- package/esm2022/lib/components/molecules/toggle-input/types.mjs +0 -2
- package/esm2022/lib/components/molecules/update-banner/types.mjs +0 -42
- package/esm2022/lib/components/molecules/update-banner/update-banner.component.mjs +0 -243
- package/esm2022/lib/components/molecules/username-input/types.mjs +0 -2
- package/esm2022/lib/components/molecules/username-input/username-input.component.mjs +0 -295
- package/esm2022/lib/components/organisms/article/article.component.mjs +0 -578
- package/esm2022/lib/components/organisms/article/types.mjs +0 -183
- package/esm2022/lib/components/organisms/avatar-upload/avatar-upload.component.mjs +0 -325
- package/esm2022/lib/components/organisms/avatar-upload/types.mjs +0 -15
- package/esm2022/lib/components/organisms/banner/banner.component.mjs +0 -111
- package/esm2022/lib/components/organisms/banner/types.mjs +0 -2
- package/esm2022/lib/components/organisms/bottom-nav/bottom-nav.component.mjs +0 -383
- package/esm2022/lib/components/organisms/bottom-nav/types.mjs +0 -19
- package/esm2022/lib/components/organisms/cards-carousel/cards-carousel.component.mjs +0 -108
- package/esm2022/lib/components/organisms/cards-carousel/types.mjs +0 -2
- package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +0 -537
- package/esm2022/lib/components/organisms/comment-section/types.mjs +0 -2
- package/esm2022/lib/components/organisms/company-footer/company-footer.component.mjs +0 -76
- package/esm2022/lib/components/organisms/company-footer/types.mjs +0 -2
- package/esm2022/lib/components/organisms/cookie-banner/cookie-banner.component.mjs +0 -199
- package/esm2022/lib/components/organisms/cookie-banner/types.mjs +0 -2
- package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +0 -1081
- package/esm2022/lib/components/organisms/data-table/types.mjs +0 -13
- package/esm2022/lib/components/organisms/docs-sidebar/docs-sidebar.component.mjs +0 -290
- package/esm2022/lib/components/organisms/docs-sidebar/types.mjs +0 -2
- package/esm2022/lib/components/organisms/docs-toc/docs-toc.component.mjs +0 -307
- package/esm2022/lib/components/organisms/docs-toc/types.mjs +0 -2
- package/esm2022/lib/components/organisms/faq/faq.component.mjs +0 -176
- package/esm2022/lib/components/organisms/faq/types.mjs +0 -9
- package/esm2022/lib/components/organisms/footer/footer.component.mjs +0 -73
- package/esm2022/lib/components/organisms/footer/types.mjs +0 -2
- package/esm2022/lib/components/organisms/form/factory.mjs +0 -29
- package/esm2022/lib/components/organisms/form/form-footer/form-footer.component.mjs +0 -83
- package/esm2022/lib/components/organisms/form/form.component.mjs +0 -510
- package/esm2022/lib/components/organisms/fun-header/fun-header.component.mjs +0 -225
- package/esm2022/lib/components/organisms/fun-header/types.mjs +0 -2
- package/esm2022/lib/components/organisms/header/header.component.mjs +0 -51
- package/esm2022/lib/components/organisms/header/types.mjs +0 -2
- package/esm2022/lib/components/organisms/infinite-list/infinite-list.component.mjs +0 -620
- package/esm2022/lib/components/organisms/infinite-list/types.mjs +0 -15
- package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +0 -418
- package/esm2022/lib/components/organisms/item-list/types.mjs +0 -2
- package/esm2022/lib/components/organisms/login/login.component.mjs +0 -735
- package/esm2022/lib/components/organisms/login/types.mjs +0 -11
- package/esm2022/lib/components/organisms/menu/menu.component.mjs +0 -206
- package/esm2022/lib/components/organisms/menu/types.mjs +0 -2
- package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +0 -66
- package/esm2022/lib/components/organisms/no-content/types.mjs +0 -2
- package/esm2022/lib/components/organisms/rotating-text/rotating-text.component.mjs +0 -180
- package/esm2022/lib/components/organisms/rotating-text/types.mjs +0 -2
- package/esm2022/lib/components/organisms/skeleton-layout/skeleton-layout.component.mjs +0 -423
- package/esm2022/lib/components/organisms/skeleton-layout/types.mjs +0 -10
- package/esm2022/lib/components/organisms/tabbed-content/tabbed-content.component.mjs +0 -170
- package/esm2022/lib/components/organisms/tabbed-content/types.mjs +0 -2
- package/esm2022/lib/components/organisms/terminal-404/terminal-404.component.mjs +0 -214
- package/esm2022/lib/components/organisms/terminal-404/types.mjs +0 -2
- package/esm2022/lib/components/organisms/testimonial-carousel/testimonial-carousel.component.mjs +0 -72
- package/esm2022/lib/components/organisms/testimonial-carousel/types.mjs +0 -2
- package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +0 -255
- package/esm2022/lib/components/organisms/toolbar/types.mjs +0 -2
- package/esm2022/lib/components/organisms/wizard/types.mjs +0 -10
- package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +0 -111
- package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +0 -161
- package/esm2022/lib/components/templates/auth-background/auth-background.component.mjs +0 -164
- package/esm2022/lib/components/templates/auth-background/types.mjs +0 -2
- package/esm2022/lib/components/templates/docs-layout/docs-layout.component.mjs +0 -221
- package/esm2022/lib/components/templates/docs-layout/types.mjs +0 -2
- package/esm2022/lib/components/templates/docs-page/docs-page.component.mjs +0 -251
- package/esm2022/lib/components/templates/docs-page/types.mjs +0 -2
- package/esm2022/lib/components/templates/docs-shell/docs-shell.component.mjs +0 -376
- package/esm2022/lib/components/templates/docs-shell/types.mjs +0 -2
- package/esm2022/lib/components/templates/maintenance-page/maintenance-page.component.mjs +0 -153
- package/esm2022/lib/components/templates/maintenance-page/types.mjs +0 -2
- package/esm2022/lib/components/templates/page-content/page-content.component.mjs +0 -193
- package/esm2022/lib/components/templates/page-content/types.mjs +0 -2
- package/esm2022/lib/components/templates/page-template/page-template.component.mjs +0 -188
- package/esm2022/lib/components/templates/page-template/types.mjs +0 -2
- package/esm2022/lib/components/templates/page-wrapper/page-wrapper.component.mjs +0 -238
- package/esm2022/lib/components/templates/page-wrapper/types.mjs +0 -2
- package/esm2022/lib/components/templates/simple/simple.component.mjs +0 -123
- package/esm2022/lib/components/templates/simple/types.mjs +0 -2
- package/esm2022/lib/components/types.mjs +0 -60
- package/esm2022/lib/config/company-footer.config.mjs +0 -125
- package/esm2022/lib/config/index.mjs +0 -5
- package/esm2022/lib/services/ads/ads-loader.service.mjs +0 -120
- package/esm2022/lib/services/ads/ads.service.mjs +0 -236
- package/esm2022/lib/services/ads/config.mjs +0 -81
- package/esm2022/lib/services/ads/index.mjs +0 -13
- package/esm2022/lib/services/ads/types.mjs +0 -23
- package/esm2022/lib/services/app-config/app-config.service.mjs +0 -209
- package/esm2022/lib/services/app-config/config.mjs +0 -47
- package/esm2022/lib/services/app-config/index.mjs +0 -48
- package/esm2022/lib/services/app-config/types.mjs +0 -13
- package/esm2022/lib/services/app-config/version.mjs +0 -85
- package/esm2022/lib/services/app-version/app-version.service.mjs +0 -187
- package/esm2022/lib/services/app-version/config.mjs +0 -42
- package/esm2022/lib/services/app-version/index.mjs +0 -24
- package/esm2022/lib/services/app-version/types.mjs +0 -17
- package/esm2022/lib/services/auth/auth-state.service.mjs +0 -207
- package/esm2022/lib/services/auth/auth.service.mjs +0 -1142
- package/esm2022/lib/services/auth/config.mjs +0 -75
- package/esm2022/lib/services/auth/device.service.mjs +0 -135
- package/esm2022/lib/services/auth/guards.mjs +0 -199
- package/esm2022/lib/services/auth/handoff.service.mjs +0 -152
- package/esm2022/lib/services/auth/index.mjs +0 -98
- package/esm2022/lib/services/auth/interceptor.mjs +0 -122
- package/esm2022/lib/services/auth/notification-action.service.mjs +0 -117
- package/esm2022/lib/services/auth/oauth-callback.component.mjs +0 -169
- package/esm2022/lib/services/auth/oauth.service.mjs +0 -322
- package/esm2022/lib/services/auth/org-switch.service.mjs +0 -137
- package/esm2022/lib/services/auth/session.service.mjs +0 -78
- package/esm2022/lib/services/auth/storage.service.mjs +0 -152
- package/esm2022/lib/services/auth/sync.service.mjs +0 -149
- package/esm2022/lib/services/auth/token.service.mjs +0 -122
- package/esm2022/lib/services/auth/types.mjs +0 -30
- package/esm2022/lib/services/confirmation-dialog/confirmation-dialog.service.mjs +0 -189
- package/esm2022/lib/services/confirmation-dialog/types.mjs +0 -14
- package/esm2022/lib/services/content/content-types/blog.mjs +0 -275
- package/esm2022/lib/services/content/content-types/documentation.mjs +0 -303
- package/esm2022/lib/services/content/content-types/news.mjs +0 -277
- package/esm2022/lib/services/content/index.mjs +0 -51
- package/esm2022/lib/services/content/transformer.mjs +0 -265
- package/esm2022/lib/services/content/types.mjs +0 -41
- package/esm2022/lib/services/docs/docs-navigation.service.mjs +0 -91
- package/esm2022/lib/services/donation/config.mjs +0 -41
- package/esm2022/lib/services/donation/donation.service.mjs +0 -92
- package/esm2022/lib/services/donation/index.mjs +0 -25
- package/esm2022/lib/services/donation/types.mjs +0 -10
- package/esm2022/lib/services/download.service.mjs +0 -80
- package/esm2022/lib/services/feedback/config.mjs +0 -49
- package/esm2022/lib/services/feedback/feedback.service.mjs +0 -296
- package/esm2022/lib/services/feedback/index.mjs +0 -44
- package/esm2022/lib/services/feedback/types.mjs +0 -30
- package/esm2022/lib/services/firebase/analytics-error-handler.mjs +0 -141
- package/esm2022/lib/services/firebase/analytics-router-tracker.mjs +0 -99
- package/esm2022/lib/services/firebase/analytics-types.mjs +0 -7
- package/esm2022/lib/services/firebase/analytics.service.mjs +0 -620
- package/esm2022/lib/services/firebase/config.mjs +0 -131
- package/esm2022/lib/services/firebase/firebase.service.mjs +0 -506
- package/esm2022/lib/services/firebase/firestore-collection.mjs +0 -301
- package/esm2022/lib/services/firebase/firestore.service.mjs +0 -571
- package/esm2022/lib/services/firebase/index.mjs +0 -56
- package/esm2022/lib/services/firebase/messaging.service.mjs +0 -721
- package/esm2022/lib/services/firebase/notifications.service.mjs +0 -274
- package/esm2022/lib/services/firebase/shared-config.mjs +0 -147
- package/esm2022/lib/services/firebase/storage.service.mjs +0 -484
- package/esm2022/lib/services/firebase/types.mjs +0 -18
- package/esm2022/lib/services/firebase/utils/path-builder.mjs +0 -195
- package/esm2022/lib/services/firebase/utils/query-builder.mjs +0 -302
- package/esm2022/lib/services/i18n/config.mjs +0 -128
- package/esm2022/lib/services/i18n/default-content.mjs +0 -577
- package/esm2022/lib/services/i18n/i18n.service.mjs +0 -217
- package/esm2022/lib/services/i18n/index.mjs +0 -13
- package/esm2022/lib/services/i18n/input-i18n.helper.mjs +0 -97
- package/esm2022/lib/services/i18n/translate.pipe.mjs +0 -50
- package/esm2022/lib/services/i18n/types.mjs +0 -15
- package/esm2022/lib/services/icons.service.mjs +0 -83
- package/esm2022/lib/services/image/image.service.mjs +0 -244
- package/esm2022/lib/services/image/index.mjs +0 -3
- package/esm2022/lib/services/image/types.mjs +0 -13
- package/esm2022/lib/services/in-app-browser.service.mjs +0 -35
- package/esm2022/lib/services/legal-link/legal-link.service.mjs +0 -85
- package/esm2022/lib/services/link-processor.service.mjs +0 -259
- package/esm2022/lib/services/local-storage.service.mjs +0 -37
- package/esm2022/lib/services/locale.service.mjs +0 -75
- package/esm2022/lib/services/markdown-article/legal-content.service.mjs +0 -107
- package/esm2022/lib/services/markdown-article/markdown-article-parser.mjs +0 -302
- package/esm2022/lib/services/markdown-article/markdown-article-parser.service.mjs +0 -20
- package/esm2022/lib/services/meta/index.mjs +0 -3
- package/esm2022/lib/services/meta/meta.service.mjs +0 -63
- package/esm2022/lib/services/meta/types.mjs +0 -2
- package/esm2022/lib/services/modal/modal.service.mjs +0 -220
- package/esm2022/lib/services/modal/simple-modal-content.component.mjs +0 -133
- package/esm2022/lib/services/modal/types.mjs +0 -26
- package/esm2022/lib/services/navigation/index.mjs +0 -3
- package/esm2022/lib/services/navigation/navigation.service.mjs +0 -216
- package/esm2022/lib/services/navigation/types.mjs +0 -16
- package/esm2022/lib/services/page-refresh/page-refresh.service.mjs +0 -104
- package/esm2022/lib/services/pagination/index.mjs +0 -5
- package/esm2022/lib/services/pagination/pagination.service.mjs +0 -218
- package/esm2022/lib/services/pagination/types.mjs +0 -14
- package/esm2022/lib/services/preferences/index.mjs +0 -3
- package/esm2022/lib/services/preferences/preferences.service.mjs +0 -198
- package/esm2022/lib/services/preferences/preferences.types.mjs +0 -7
- package/esm2022/lib/services/presets/config.mjs +0 -46
- package/esm2022/lib/services/presets/index.mjs +0 -5
- package/esm2022/lib/services/presets/preset.service.mjs +0 -104
- package/esm2022/lib/services/presets/types.mjs +0 -2
- package/esm2022/lib/services/qr-generator/qr-generator.service.mjs +0 -341
- package/esm2022/lib/services/qr-generator/types.mjs +0 -46
- package/esm2022/lib/services/refreshable-stream/index.mjs +0 -8
- package/esm2022/lib/services/refreshable-stream/refreshable-stream.mjs +0 -112
- package/esm2022/lib/services/skeleton/config.mjs +0 -79
- package/esm2022/lib/services/skeleton/directives/loading.directive.mjs +0 -215
- package/esm2022/lib/services/skeleton/index.mjs +0 -16
- package/esm2022/lib/services/skeleton/skeleton.service.mjs +0 -198
- package/esm2022/lib/services/skeleton/templates/detail-skeleton.component.mjs +0 -223
- package/esm2022/lib/services/skeleton/templates/form-skeleton.component.mjs +0 -127
- package/esm2022/lib/services/skeleton/templates/grid-skeleton.component.mjs +0 -154
- package/esm2022/lib/services/skeleton/templates/list-skeleton.component.mjs +0 -110
- package/esm2022/lib/services/skeleton/templates/profile-skeleton.component.mjs +0 -207
- package/esm2022/lib/services/skeleton/templates/table-skeleton.component.mjs +0 -116
- package/esm2022/lib/services/skeleton/types.mjs +0 -11
- package/esm2022/lib/services/theme.service.mjs +0 -153
- package/esm2022/lib/services/toast.service.mjs +0 -53
- package/esm2022/lib/services/types.mjs +0 -5
- package/esm2022/lib/shared/constants/storage.mjs +0 -3
- package/esm2022/lib/shared/pipes/process-links.pipe.mjs +0 -69
- package/esm2022/lib/shared/utils/datetime.mjs +0 -24
- package/esm2022/lib/shared/utils/dom.mjs +0 -27
- package/esm2022/lib/shared/utils/form-defaults.mjs +0 -112
- package/esm2022/lib/shared/utils/styles.mjs +0 -37
- package/esm2022/lib/shared/utils/text.mjs +0 -12
- package/esm2022/lib/version.mjs +0 -6
- package/esm2022/public-api.mjs +0 -367
- package/esm2022/valtech-components.mjs +0 -5
- package/index.d.ts +0 -5
- package/lib/components/atoms/avatar/avatar.component.d.ts +0 -36
- package/lib/components/atoms/avatar/types.d.ts +0 -15
- package/lib/components/atoms/box/box.component.d.ts +0 -26
- package/lib/components/atoms/box/types.d.ts +0 -19
- package/lib/components/atoms/button/button.component.d.ts +0 -63
- package/lib/components/atoms/button/factory.d.ts +0 -71
- package/lib/components/atoms/container/container.component.d.ts +0 -30
- package/lib/components/atoms/container/types.d.ts +0 -11
- package/lib/components/atoms/countdown/countdown.component.d.ts +0 -38
- package/lib/components/atoms/countdown/types.d.ts +0 -108
- package/lib/components/atoms/display/display.component.d.ts +0 -19
- package/lib/components/atoms/display/types.d.ts +0 -33
- package/lib/components/atoms/divider/divider.component.d.ts +0 -27
- package/lib/components/atoms/divider/types.d.ts +0 -12
- package/lib/components/atoms/fab/fab.component.d.ts +0 -36
- package/lib/components/atoms/fab/types.d.ts +0 -45
- package/lib/components/atoms/glass/glass.component.d.ts +0 -43
- package/lib/components/atoms/glass/types.d.ts +0 -70
- package/lib/components/atoms/glow/glow.component.d.ts +0 -42
- package/lib/components/atoms/glow/types.d.ts +0 -40
- package/lib/components/atoms/horizontal-scroll/horizontal-scroll.component.d.ts +0 -41
- package/lib/components/atoms/horizontal-scroll/types.d.ts +0 -13
- package/lib/components/atoms/href/href.component.d.ts +0 -25
- package/lib/components/atoms/href/types.d.ts +0 -19
- package/lib/components/atoms/icon/icon.component.d.ts +0 -18
- package/lib/components/atoms/icon/types.d.ts +0 -13
- package/lib/components/atoms/image/image.component.d.ts +0 -41
- package/lib/components/atoms/image/types.d.ts +0 -37
- package/lib/components/atoms/pattern/motifs.d.ts +0 -60
- package/lib/components/atoms/pattern/pattern.component.d.ts +0 -68
- package/lib/components/atoms/pattern/types.d.ts +0 -61
- package/lib/components/atoms/price-tag/price-tag.component.d.ts +0 -15
- package/lib/components/atoms/price-tag/types.d.ts +0 -59
- package/lib/components/atoms/progress-bar/progress-bar.component.d.ts +0 -35
- package/lib/components/atoms/progress-bar/types.d.ts +0 -19
- package/lib/components/atoms/progress-ring/progress-ring.component.d.ts +0 -20
- package/lib/components/atoms/progress-ring/types.d.ts +0 -24
- package/lib/components/atoms/qr-code/qr-code.component.d.ts +0 -33
- package/lib/components/atoms/qr-code/types.d.ts +0 -124
- package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +0 -53
- package/lib/components/atoms/rights-footer/types.d.ts +0 -21
- package/lib/components/atoms/skeleton/skeleton.component.d.ts +0 -12
- package/lib/components/atoms/skeleton/types.d.ts +0 -29
- package/lib/components/atoms/text/text.component.d.ts +0 -33
- package/lib/components/atoms/text/types.d.ts +0 -42
- package/lib/components/atoms/title/title.component.d.ts +0 -21
- package/lib/components/atoms/title/types.d.ts +0 -36
- package/lib/components/atoms/user-avatar/types.d.ts +0 -74
- package/lib/components/atoms/user-avatar/user-avatar.component.d.ts +0 -55
- package/lib/components/molecules/accordion/accordion.component.d.ts +0 -18
- package/lib/components/molecules/accordion/types.d.ts +0 -47
- package/lib/components/molecules/action-card/action-card.component.d.ts +0 -90
- package/lib/components/molecules/action-card/types.d.ts +0 -83
- package/lib/components/molecules/action-header/action-header.component.d.ts +0 -27
- package/lib/components/molecules/action-header/types.d.ts +0 -27
- package/lib/components/molecules/ad-slot/ad-slot.component.d.ts +0 -69
- package/lib/components/molecules/alert-box/alert-box.component.d.ts +0 -39
- package/lib/components/molecules/alert-box/types.d.ts +0 -37
- package/lib/components/molecules/breadcrumb/breadcrumb.component.d.ts +0 -22
- package/lib/components/molecules/breadcrumb/types.d.ts +0 -45
- package/lib/components/molecules/button-group/button-group.component.d.ts +0 -23
- package/lib/components/molecules/button-group/types.d.ts +0 -13
- package/lib/components/molecules/card/card.component.d.ts +0 -49
- package/lib/components/molecules/card/types.d.ts +0 -32
- package/lib/components/molecules/check-input/check-input.component.d.ts +0 -36
- package/lib/components/molecules/checkbox-radio-input/checkbox-radio-input.component.d.ts +0 -17
- package/lib/components/molecules/chip-group/chip-group.component.d.ts +0 -22
- package/lib/components/molecules/chip-group/types.d.ts +0 -65
- package/lib/components/molecules/code-display/code-display.component.d.ts +0 -24
- package/lib/components/molecules/code-display/types.d.ts +0 -10
- package/lib/components/molecules/command-display/command-display.component.d.ts +0 -11
- package/lib/components/molecules/command-display/types.d.ts +0 -3
- package/lib/components/molecules/comment/comment.component.d.ts +0 -42
- package/lib/components/molecules/comment/types.d.ts +0 -171
- package/lib/components/molecules/comment-input/comment-input.component.d.ts +0 -16
- package/lib/components/molecules/comment-input/types.d.ts +0 -59
- package/lib/components/molecules/content-loader/content-loader.component.d.ts +0 -18
- package/lib/components/molecules/content-loader/types.d.ts +0 -15
- package/lib/components/molecules/content-reaction/content-reaction.component.d.ts +0 -58
- package/lib/components/molecules/content-reaction/types.d.ts +0 -77
- package/lib/components/molecules/currency-input/currency-input.component.d.ts +0 -40
- package/lib/components/molecules/currency-input/types.d.ts +0 -96
- package/lib/components/molecules/date-input/date-input.component.d.ts +0 -40
- package/lib/components/molecules/date-input/types.d.ts +0 -74
- package/lib/components/molecules/date-range-input/date-range-input.component.d.ts +0 -50
- package/lib/components/molecules/date-range-input/types.d.ts +0 -109
- package/lib/components/molecules/docs-api-table/docs-api-table.component.d.ts +0 -41
- package/lib/components/molecules/docs-api-table/types.d.ts +0 -62
- package/lib/components/molecules/docs-breadcrumb/docs-breadcrumb.component.d.ts +0 -31
- package/lib/components/molecules/docs-breadcrumb/types.d.ts +0 -20
- package/lib/components/molecules/docs-callout/docs-callout.component.d.ts +0 -17
- package/lib/components/molecules/docs-code-example/docs-code-example.component.d.ts +0 -45
- package/lib/components/molecules/docs-code-example/types.d.ts +0 -63
- package/lib/components/molecules/docs-nav-links/docs-nav-links.component.d.ts +0 -30
- package/lib/components/molecules/docs-nav-links/types.d.ts +0 -31
- package/lib/components/molecules/docs-search/docs-search.component.d.ts +0 -47
- package/lib/components/molecules/docs-search/types.d.ts +0 -27
- package/lib/components/molecules/docs-section/docs-section.component.d.ts +0 -29
- package/lib/components/molecules/docs-section/types.d.ts +0 -27
- package/lib/components/molecules/email-input/email-input.component.d.ts +0 -34
- package/lib/components/molecules/expandable-text/expandable-text.component.d.ts +0 -23
- package/lib/components/molecules/expandable-text/types.d.ts +0 -14
- package/lib/components/molecules/features-list/features-list.component.d.ts +0 -66
- package/lib/components/molecules/features-list/types.d.ts +0 -36
- package/lib/components/molecules/feedback-form/feedback-form.component.d.ts +0 -58
- package/lib/components/molecules/feedback-form/types.d.ts +0 -54
- package/lib/components/molecules/file-input/file-input.component.d.ts +0 -25
- package/lib/components/molecules/file-input/types.d.ts +0 -72
- package/lib/components/molecules/footer-links/footer-links.component.d.ts +0 -47
- package/lib/components/molecules/footer-links/types.d.ts +0 -50
- package/lib/components/molecules/glow-card/glow-card.component.d.ts +0 -60
- package/lib/components/molecules/glow-card/types.d.ts +0 -94
- package/lib/components/molecules/hint/hint.component.d.ts +0 -19
- package/lib/components/molecules/hour-input/hour-input.component.d.ts +0 -15
- package/lib/components/molecules/image-crop/image-crop.component.d.ts +0 -59
- package/lib/components/molecules/image-crop/index.d.ts +0 -1
- package/lib/components/molecules/info/info.component.d.ts +0 -9
- package/lib/components/molecules/info/types.d.ts +0 -10
- package/lib/components/molecules/language-selector/language-selector.component.d.ts +0 -40
- package/lib/components/molecules/language-selector/types.d.ts +0 -82
- package/lib/components/molecules/layered-card/layered-card.component.d.ts +0 -10
- package/lib/components/molecules/layered-card/types.d.ts +0 -15
- package/lib/components/molecules/link/link.component.d.ts +0 -24
- package/lib/components/molecules/link/types.d.ts +0 -19
- package/lib/components/molecules/linked-providers/linked-providers.component.d.ts +0 -30
- package/lib/components/molecules/linked-providers/types.d.ts +0 -38
- package/lib/components/molecules/links-accordion/links-accordion.component.d.ts +0 -61
- package/lib/components/molecules/links-accordion/types.d.ts +0 -39
- package/lib/components/molecules/links-cake/links-cake.component.d.ts +0 -17
- package/lib/components/molecules/links-cake/types.d.ts +0 -13
- package/lib/components/molecules/multi-select-search/multi-select-search.component.d.ts +0 -76
- package/lib/components/molecules/notes-box/notes-box.component.d.ts +0 -33
- package/lib/components/molecules/notes-box/types.d.ts +0 -35
- package/lib/components/molecules/number-from-to/number-from-to.component.d.ts +0 -27
- package/lib/components/molecules/number-from-to/types.d.ts +0 -76
- package/lib/components/molecules/number-input/number-input.component.d.ts +0 -16
- package/lib/components/molecules/number-stepper/number-stepper.component.d.ts +0 -38
- package/lib/components/molecules/number-stepper/types.d.ts +0 -88
- package/lib/components/molecules/page-links/page-links.component.d.ts +0 -29
- package/lib/components/molecules/page-links/types.d.ts +0 -38
- package/lib/components/molecules/pagination/pagination.component.d.ts +0 -15
- package/lib/components/molecules/pagination/types.d.ts +0 -41
- package/lib/components/molecules/password-input/password-input.component.d.ts +0 -37
- package/lib/components/molecules/phone-input/phone-input.component.d.ts +0 -59
- package/lib/components/molecules/phone-input/types.d.ts +0 -98
- package/lib/components/molecules/pill/pill.component.d.ts +0 -44
- package/lib/components/molecules/pill/types.d.ts +0 -63
- package/lib/components/molecules/pin-input/pin-input.component.d.ts +0 -21
- package/lib/components/molecules/pin-input/types.d.ts +0 -69
- package/lib/components/molecules/plain-code-box/plain-code-box.component.d.ts +0 -22
- package/lib/components/molecules/plain-code-box/types.d.ts +0 -10
- package/lib/components/molecules/popover-selector/popover-selector.component.d.ts +0 -42
- package/lib/components/molecules/popover-selector/types.d.ts +0 -69
- package/lib/components/molecules/progress-status/progress-status.component.d.ts +0 -23
- package/lib/components/molecules/progress-status/types.d.ts +0 -20
- package/lib/components/molecules/prompter/prompter.component.d.ts +0 -10
- package/lib/components/molecules/prompter/types.d.ts +0 -25
- package/lib/components/molecules/quote-box/quote-box.component.d.ts +0 -26
- package/lib/components/molecules/radio-input/radio-input.component.d.ts +0 -15
- package/lib/components/molecules/range-input/range-input.component.d.ts +0 -25
- package/lib/components/molecules/range-input/types.d.ts +0 -59
- package/lib/components/molecules/rating/rating.component.d.ts +0 -23
- package/lib/components/molecules/rating/types.d.ts +0 -41
- package/lib/components/molecules/refresher/refresher.component.d.ts +0 -84
- package/lib/components/molecules/refresher/types.d.ts +0 -86
- package/lib/components/molecules/searchbar/searchbar.component.d.ts +0 -43
- package/lib/components/molecules/searchbar/types.d.ts +0 -33
- package/lib/components/molecules/segment-control/segment-control.component.d.ts +0 -35
- package/lib/components/molecules/segment-control/types.d.ts +0 -46
- package/lib/components/molecules/select-input/select-input.component.d.ts +0 -57
- package/lib/components/molecules/select-search/select-search.component.d.ts +0 -78
- package/lib/components/molecules/share-buttons/share-buttons.component.d.ts +0 -22
- package/lib/components/molecules/share-buttons/types.d.ts +0 -108
- package/lib/components/molecules/stats-card/stats-card.component.d.ts +0 -20
- package/lib/components/molecules/stats-card/types.d.ts +0 -60
- package/lib/components/molecules/stepper/stepper.component.d.ts +0 -31
- package/lib/components/molecules/stepper/types.d.ts +0 -66
- package/lib/components/molecules/swipe-carousel/swipe-carousel.component.d.ts +0 -66
- package/lib/components/molecules/swipe-carousel/types.d.ts +0 -35
- package/lib/components/molecules/tabs/tabs.component.d.ts +0 -34
- package/lib/components/molecules/tabs/types.d.ts +0 -45
- package/lib/components/molecules/testimonial-card/testimonial-card.component.d.ts +0 -41
- package/lib/components/molecules/testimonial-card/types.d.ts +0 -25
- package/lib/components/molecules/text-input/text-input.component.d.ts +0 -42
- package/lib/components/molecules/textarea-input/textarea-input.component.d.ts +0 -46
- package/lib/components/molecules/textarea-input/types.d.ts +0 -74
- package/lib/components/molecules/timeline/timeline.component.d.ts +0 -14
- package/lib/components/molecules/timeline/types.d.ts +0 -39
- package/lib/components/molecules/title-block/title-block.component.d.ts +0 -12
- package/lib/components/molecules/title-block/types.d.ts +0 -15
- package/lib/components/molecules/toggle-input/toggle-input.component.d.ts +0 -39
- package/lib/components/molecules/toggle-input/types.d.ts +0 -30
- package/lib/components/molecules/update-banner/types.d.ts +0 -41
- package/lib/components/molecules/update-banner/update-banner.component.d.ts +0 -48
- package/lib/components/molecules/username-input/types.d.ts +0 -36
- package/lib/components/molecules/username-input/username-input.component.d.ts +0 -58
- package/lib/components/organisms/article/article.component.d.ts +0 -108
- package/lib/components/organisms/article/types.d.ts +0 -367
- package/lib/components/organisms/avatar-upload/avatar-upload.component.d.ts +0 -84
- package/lib/components/organisms/avatar-upload/types.d.ts +0 -62
- package/lib/components/organisms/banner/banner.component.d.ts +0 -16
- package/lib/components/organisms/banner/types.d.ts +0 -29
- package/lib/components/organisms/bottom-nav/bottom-nav.component.d.ts +0 -91
- package/lib/components/organisms/bottom-nav/types.d.ts +0 -120
- package/lib/components/organisms/cards-carousel/cards-carousel.component.d.ts +0 -36
- package/lib/components/organisms/cards-carousel/types.d.ts +0 -40
- package/lib/components/organisms/comment-section/comment-section.component.d.ts +0 -50
- package/lib/components/organisms/comment-section/types.d.ts +0 -144
- package/lib/components/organisms/company-footer/company-footer.component.d.ts +0 -37
- package/lib/components/organisms/company-footer/types.d.ts +0 -15
- package/lib/components/organisms/cookie-banner/cookie-banner.component.d.ts +0 -36
- package/lib/components/organisms/cookie-banner/types.d.ts +0 -62
- package/lib/components/organisms/data-table/data-table.component.d.ts +0 -63
- package/lib/components/organisms/data-table/types.d.ts +0 -219
- package/lib/components/organisms/docs-sidebar/docs-sidebar.component.d.ts +0 -51
- package/lib/components/organisms/docs-sidebar/types.d.ts +0 -93
- package/lib/components/organisms/docs-toc/docs-toc.component.d.ts +0 -62
- package/lib/components/organisms/docs-toc/types.d.ts +0 -62
- package/lib/components/organisms/faq/faq.component.d.ts +0 -46
- package/lib/components/organisms/faq/types.d.ts +0 -53
- package/lib/components/organisms/footer/footer.component.d.ts +0 -36
- package/lib/components/organisms/footer/types.d.ts +0 -16
- package/lib/components/organisms/form/factory.d.ts +0 -17
- package/lib/components/organisms/form/form-footer/form-footer.component.d.ts +0 -17
- package/lib/components/organisms/form/form.component.d.ts +0 -72
- package/lib/components/organisms/fun-header/fun-header.component.d.ts +0 -72
- package/lib/components/organisms/fun-header/types.d.ts +0 -28
- package/lib/components/organisms/header/header.component.d.ts +0 -22
- package/lib/components/organisms/header/types.d.ts +0 -16
- package/lib/components/organisms/infinite-list/infinite-list.component.d.ts +0 -113
- package/lib/components/organisms/infinite-list/types.d.ts +0 -197
- package/lib/components/organisms/item-list/item-list.component.d.ts +0 -43
- package/lib/components/organisms/item-list/types.d.ts +0 -126
- package/lib/components/organisms/login/login.component.d.ts +0 -79
- package/lib/components/organisms/login/types.d.ts +0 -70
- package/lib/components/organisms/menu/menu.component.d.ts +0 -44
- package/lib/components/organisms/menu/types.d.ts +0 -23
- package/lib/components/organisms/no-content/no-content.component.d.ts +0 -14
- package/lib/components/organisms/no-content/types.d.ts +0 -17
- package/lib/components/organisms/rotating-text/rotating-text.component.d.ts +0 -47
- package/lib/components/organisms/rotating-text/types.d.ts +0 -28
- package/lib/components/organisms/skeleton-layout/skeleton-layout.component.d.ts +0 -37
- package/lib/components/organisms/skeleton-layout/types.d.ts +0 -50
- package/lib/components/organisms/tabbed-content/tabbed-content.component.d.ts +0 -65
- package/lib/components/organisms/tabbed-content/types.d.ts +0 -53
- package/lib/components/organisms/terminal-404/terminal-404.component.d.ts +0 -42
- package/lib/components/organisms/terminal-404/types.d.ts +0 -22
- package/lib/components/organisms/testimonial-carousel/testimonial-carousel.component.d.ts +0 -33
- package/lib/components/organisms/testimonial-carousel/types.d.ts +0 -8
- package/lib/components/organisms/toolbar/toolbar.component.d.ts +0 -85
- package/lib/components/organisms/toolbar/types.d.ts +0 -31
- package/lib/components/organisms/wizard/types.d.ts +0 -42
- package/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.d.ts +0 -23
- package/lib/components/organisms/wizard/wizard.component.d.ts +0 -27
- package/lib/components/templates/auth-background/auth-background.component.d.ts +0 -62
- package/lib/components/templates/auth-background/types.d.ts +0 -30
- package/lib/components/templates/docs-layout/docs-layout.component.d.ts +0 -42
- package/lib/components/templates/docs-layout/types.d.ts +0 -39
- package/lib/components/templates/docs-page/docs-page.component.d.ts +0 -61
- package/lib/components/templates/docs-page/types.d.ts +0 -121
- package/lib/components/templates/docs-shell/docs-shell.component.d.ts +0 -33
- package/lib/components/templates/docs-shell/types.d.ts +0 -152
- package/lib/components/templates/maintenance-page/maintenance-page.component.d.ts +0 -57
- package/lib/components/templates/maintenance-page/types.d.ts +0 -12
- package/lib/components/templates/page-content/page-content.component.d.ts +0 -107
- package/lib/components/templates/page-content/types.d.ts +0 -27
- package/lib/components/templates/page-template/page-template.component.d.ts +0 -54
- package/lib/components/templates/page-template/types.d.ts +0 -17
- package/lib/components/templates/page-wrapper/page-wrapper.component.d.ts +0 -99
- package/lib/components/templates/page-wrapper/types.d.ts +0 -26
- package/lib/components/templates/simple/simple.component.d.ts +0 -14
- package/lib/components/templates/simple/types.d.ts +0 -10
- package/lib/components/types.d.ts +0 -304
- package/lib/config/company-footer.config.d.ts +0 -118
- package/lib/config/index.d.ts +0 -4
- package/lib/services/ads/ads-loader.service.d.ts +0 -41
- package/lib/services/ads/ads.service.d.ts +0 -99
- package/lib/services/ads/config.d.ts +0 -53
- package/lib/services/ads/index.d.ts +0 -9
- package/lib/services/ads/types.d.ts +0 -106
- package/lib/services/app-config/app-config.service.d.ts +0 -115
- package/lib/services/app-config/config.d.ts +0 -31
- package/lib/services/app-config/index.d.ts +0 -47
- package/lib/services/app-config/types.d.ts +0 -54
- package/lib/services/app-config/version.d.ts +0 -64
- package/lib/services/app-version/app-version.service.d.ts +0 -64
- package/lib/services/app-version/config.d.ts +0 -35
- package/lib/services/app-version/index.d.ts +0 -23
- package/lib/services/app-version/types.d.ts +0 -35
- package/lib/services/auth/auth-state.service.d.ts +0 -106
- package/lib/services/auth/auth.service.d.ts +0 -429
- package/lib/services/auth/config.d.ts +0 -38
- package/lib/services/auth/device.service.d.ts +0 -101
- package/lib/services/auth/guards.d.ts +0 -126
- package/lib/services/auth/handoff.service.d.ts +0 -159
- package/lib/services/auth/index.d.ts +0 -89
- package/lib/services/auth/interceptor.d.ts +0 -22
- package/lib/services/auth/notification-action.service.d.ts +0 -34
- package/lib/services/auth/oauth-callback.component.d.ts +0 -34
- package/lib/services/auth/oauth.service.d.ts +0 -99
- package/lib/services/auth/org-switch.service.d.ts +0 -127
- package/lib/services/auth/session.service.d.ts +0 -60
- package/lib/services/auth/storage.service.d.ts +0 -52
- package/lib/services/auth/sync.service.d.ts +0 -49
- package/lib/services/auth/token.service.d.ts +0 -57
- package/lib/services/auth/types.d.ts +0 -862
- package/lib/services/confirmation-dialog/confirmation-dialog.service.d.ts +0 -71
- package/lib/services/confirmation-dialog/types.d.ts +0 -61
- package/lib/services/content/content-types/blog.d.ts +0 -148
- package/lib/services/content/content-types/documentation.d.ts +0 -183
- package/lib/services/content/content-types/news.d.ts +0 -162
- package/lib/services/content/index.d.ts +0 -49
- package/lib/services/content/transformer.d.ts +0 -96
- package/lib/services/content/types.d.ts +0 -220
- package/lib/services/docs/docs-navigation.service.d.ts +0 -51
- package/lib/services/donation/config.d.ts +0 -33
- package/lib/services/donation/donation.service.d.ts +0 -54
- package/lib/services/donation/index.d.ts +0 -25
- package/lib/services/donation/types.d.ts +0 -85
- package/lib/services/download.service.d.ts +0 -21
- package/lib/services/feedback/config.d.ts +0 -35
- package/lib/services/feedback/feedback.service.d.ts +0 -134
- package/lib/services/feedback/index.d.ts +0 -40
- package/lib/services/feedback/types.d.ts +0 -173
- package/lib/services/firebase/analytics-error-handler.d.ts +0 -54
- package/lib/services/firebase/analytics-router-tracker.d.ts +0 -51
- package/lib/services/firebase/analytics-types.d.ts +0 -221
- package/lib/services/firebase/analytics.service.d.ts +0 -256
- package/lib/services/firebase/config.d.ts +0 -49
- package/lib/services/firebase/firebase.service.d.ts +0 -303
- package/lib/services/firebase/firestore-collection.d.ts +0 -199
- package/lib/services/firebase/firestore.service.d.ts +0 -335
- package/lib/services/firebase/index.d.ts +0 -44
- package/lib/services/firebase/messaging.service.d.ts +0 -341
- package/lib/services/firebase/notifications.service.d.ts +0 -158
- package/lib/services/firebase/shared-config.d.ts +0 -151
- package/lib/services/firebase/storage.service.d.ts +0 -238
- package/lib/services/firebase/types.d.ts +0 -374
- package/lib/services/firebase/utils/path-builder.d.ts +0 -132
- package/lib/services/firebase/utils/query-builder.d.ts +0 -210
- package/lib/services/i18n/config.d.ts +0 -29
- package/lib/services/i18n/default-content.d.ts +0 -30
- package/lib/services/i18n/i18n.service.d.ts +0 -128
- package/lib/services/i18n/index.d.ts +0 -6
- package/lib/services/i18n/input-i18n.helper.d.ts +0 -70
- package/lib/services/i18n/translate.pipe.d.ts +0 -36
- package/lib/services/i18n/types.d.ts +0 -93
- package/lib/services/icons.service.d.ts +0 -9
- package/lib/services/image/image.service.d.ts +0 -76
- package/lib/services/image/index.d.ts +0 -2
- package/lib/services/image/types.d.ts +0 -74
- package/lib/services/in-app-browser.service.d.ts +0 -16
- package/lib/services/legal-link/legal-link.service.d.ts +0 -73
- package/lib/services/link-processor.service.d.ts +0 -104
- package/lib/services/local-storage.service.d.ts +0 -27
- package/lib/services/locale.service.d.ts +0 -52
- package/lib/services/markdown-article/legal-content.service.d.ts +0 -73
- package/lib/services/markdown-article/markdown-article-parser.d.ts +0 -38
- package/lib/services/markdown-article/markdown-article-parser.service.d.ts +0 -12
- package/lib/services/meta/index.d.ts +0 -2
- package/lib/services/meta/meta.service.d.ts +0 -23
- package/lib/services/meta/types.d.ts +0 -12
- package/lib/services/modal/modal.service.d.ts +0 -100
- package/lib/services/modal/simple-modal-content.component.d.ts +0 -19
- package/lib/services/modal/types.d.ts +0 -155
- package/lib/services/navigation/index.d.ts +0 -2
- package/lib/services/navigation/navigation.service.d.ts +0 -134
- package/lib/services/navigation/types.d.ts +0 -67
- package/lib/services/page-refresh/page-refresh.service.d.ts +0 -86
- package/lib/services/pagination/index.d.ts +0 -2
- package/lib/services/pagination/pagination.service.d.ts +0 -43
- package/lib/services/pagination/types.d.ts +0 -113
- package/lib/services/preferences/index.d.ts +0 -2
- package/lib/services/preferences/preferences.service.d.ts +0 -61
- package/lib/services/preferences/preferences.types.d.ts +0 -35
- package/lib/services/presets/config.d.ts +0 -32
- package/lib/services/presets/index.d.ts +0 -3
- package/lib/services/presets/preset.service.d.ts +0 -69
- package/lib/services/presets/types.d.ts +0 -39
- package/lib/services/qr-generator/qr-generator.service.d.ts +0 -115
- package/lib/services/qr-generator/types.d.ts +0 -141
- package/lib/services/refreshable-stream/index.d.ts +0 -7
- package/lib/services/refreshable-stream/refreshable-stream.d.ts +0 -113
- package/lib/services/skeleton/config.d.ts +0 -30
- package/lib/services/skeleton/directives/loading.directive.d.ts +0 -71
- package/lib/services/skeleton/index.d.ts +0 -10
- package/lib/services/skeleton/skeleton.service.d.ts +0 -127
- package/lib/services/skeleton/templates/detail-skeleton.component.d.ts +0 -18
- package/lib/services/skeleton/templates/form-skeleton.component.d.ts +0 -22
- package/lib/services/skeleton/templates/grid-skeleton.component.d.ts +0 -18
- package/lib/services/skeleton/templates/list-skeleton.component.d.ts +0 -17
- package/lib/services/skeleton/templates/profile-skeleton.component.d.ts +0 -20
- package/lib/services/skeleton/templates/table-skeleton.component.d.ts +0 -17
- package/lib/services/skeleton/types.d.ts +0 -111
- package/lib/services/theme.service.d.ts +0 -76
- package/lib/services/toast.service.d.ts +0 -28
- package/lib/services/types.d.ts +0 -1
- package/lib/shared/constants/storage.d.ts +0 -2
- package/lib/shared/pipes/process-links.pipe.d.ts +0 -55
- package/lib/shared/utils/datetime.d.ts +0 -21
- package/lib/shared/utils/dom.d.ts +0 -13
- package/lib/shared/utils/form-defaults.d.ts +0 -30
- package/lib/shared/utils/styles.d.ts +0 -13
- package/lib/shared/utils/text.d.ts +0 -11
- package/lib/version.d.ts +0 -5
- package/public-api.d.ts +0 -316
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
import { Component, Input, signal, computed, inject } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
import { IonInput, IonSpinner, IonIcon, IonText } from '@ionic/angular/standalone';
|
|
5
|
-
import { Subject, debounceTime, distinctUntilChanged, takeUntil, switchMap, of, catchError, map, } from 'rxjs';
|
|
6
|
-
import { addIcons } from 'ionicons';
|
|
7
|
-
import { checkmarkCircle, closeCircle, alertCircle } from 'ionicons/icons';
|
|
8
|
-
import { AuthService } from '../../../services/auth/auth.service';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/forms";
|
|
11
|
-
addIcons({ checkmarkCircle, closeCircle, alertCircle });
|
|
12
|
-
/**
|
|
13
|
-
* Username Input Component
|
|
14
|
-
*
|
|
15
|
-
* Input especializado para usernames/handles con:
|
|
16
|
-
* - Prefijo '@' visual
|
|
17
|
-
* - Validación de formato (alfanuméricos y _)
|
|
18
|
-
* - Normalización automática (lowercase, sin espacios)
|
|
19
|
-
* - Verificación de disponibilidad con debounce
|
|
20
|
-
* - Estados visuales: available, taken, checking
|
|
21
|
-
*
|
|
22
|
-
* @example
|
|
23
|
-
* <val-username-input
|
|
24
|
-
* [props]="{
|
|
25
|
-
* control: usernameControl,
|
|
26
|
-
* label: 'Nombre de usuario',
|
|
27
|
-
* placeholder: 'tu_username',
|
|
28
|
-
* checkAvailability: checkFn
|
|
29
|
-
* }"
|
|
30
|
-
* />
|
|
31
|
-
*/
|
|
32
|
-
export class UsernameInputComponent {
|
|
33
|
-
constructor() {
|
|
34
|
-
/**
|
|
35
|
-
* AuthService optional — si está inyectado y `props.checkAvailability` no se provee,
|
|
36
|
-
* el component cae automáticamente a `AuthService.checkHandleAvailability` (backend
|
|
37
|
-
* de Valtech). Consumers que quieran otro endpoint pasan su propio callback.
|
|
38
|
-
*/
|
|
39
|
-
this.authService = inject(AuthService, { optional: true });
|
|
40
|
-
this.destroy$ = new Subject();
|
|
41
|
-
this.checkAvailability$ = new Subject();
|
|
42
|
-
// Signals
|
|
43
|
-
this.isFocused = signal(false);
|
|
44
|
-
this.availabilityStatus = signal('idle');
|
|
45
|
-
// Computed
|
|
46
|
-
this.hasError = computed(() => {
|
|
47
|
-
const control = this.props?.control;
|
|
48
|
-
return control?.touched && control?.invalid;
|
|
49
|
-
});
|
|
50
|
-
this.showStatusMessage = computed(() => {
|
|
51
|
-
const status = this.availabilityStatus();
|
|
52
|
-
return status === 'available' || status === 'taken';
|
|
53
|
-
});
|
|
54
|
-
this.statusColor = computed(() => {
|
|
55
|
-
return this.availabilityStatus() === 'available' ? 'success' : 'danger';
|
|
56
|
-
});
|
|
57
|
-
this.statusMessage = computed(() => {
|
|
58
|
-
const status = this.availabilityStatus();
|
|
59
|
-
if (status === 'available')
|
|
60
|
-
return 'Username disponible';
|
|
61
|
-
if (status === 'taken')
|
|
62
|
-
return 'Username ya está en uso';
|
|
63
|
-
return '';
|
|
64
|
-
});
|
|
65
|
-
this.errorMessage = computed(() => {
|
|
66
|
-
const control = this.props?.control;
|
|
67
|
-
if (!control?.errors)
|
|
68
|
-
return '';
|
|
69
|
-
const errors = this.props?.errors || {};
|
|
70
|
-
if (control.errors['required']) {
|
|
71
|
-
return errors['required'] || 'El username es requerido';
|
|
72
|
-
}
|
|
73
|
-
if (control.errors['minlength']) {
|
|
74
|
-
const min = this.props?.minLength || 3;
|
|
75
|
-
return errors['minlength'] || `Mínimo ${min} caracteres`;
|
|
76
|
-
}
|
|
77
|
-
if (control.errors['maxlength']) {
|
|
78
|
-
const max = this.props?.maxLength || 30;
|
|
79
|
-
return errors['maxlength'] || `Máximo ${max} caracteres`;
|
|
80
|
-
}
|
|
81
|
-
if (control.errors['pattern']) {
|
|
82
|
-
return errors['pattern'] || 'Solo letras, números y guión bajo (_)';
|
|
83
|
-
}
|
|
84
|
-
return '';
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
ngOnInit() {
|
|
88
|
-
this.setupAvailabilityCheck();
|
|
89
|
-
}
|
|
90
|
-
ngOnDestroy() {
|
|
91
|
-
this.destroy$.next();
|
|
92
|
-
this.destroy$.complete();
|
|
93
|
-
}
|
|
94
|
-
onFocus() {
|
|
95
|
-
this.isFocused.set(true);
|
|
96
|
-
}
|
|
97
|
-
onBlur() {
|
|
98
|
-
this.isFocused.set(false);
|
|
99
|
-
this.props.control.markAsTouched();
|
|
100
|
-
}
|
|
101
|
-
onInput(event) {
|
|
102
|
-
const input = event.detail.value || '';
|
|
103
|
-
// Normalize: lowercase, remove spaces, only allow valid chars
|
|
104
|
-
const normalized = this.normalizeUsername(input);
|
|
105
|
-
if (normalized !== input) {
|
|
106
|
-
this.props.control.setValue(normalized, { emitEvent: false });
|
|
107
|
-
}
|
|
108
|
-
// Trigger availability check (callback explícito o AuthService inyectado)
|
|
109
|
-
const canCheck = !!this.props.checkAvailability || !!this.authService;
|
|
110
|
-
if (canCheck && this.isValidFormat(normalized)) {
|
|
111
|
-
this.checkAvailability$.next(normalized);
|
|
112
|
-
}
|
|
113
|
-
else if (!this.isValidFormat(normalized) && normalized.length > 0) {
|
|
114
|
-
this.availabilityStatus.set('invalid');
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
this.availabilityStatus.set('idle');
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Resolve la fn de check de disponibilidad:
|
|
122
|
-
* 1. Si el caller pasa `props.checkAvailability` → usar esa
|
|
123
|
-
* 2. Si AuthService está inyectado → caer a `checkHandleAvailability` (backend Valtech)
|
|
124
|
-
* 3. Sino → undefined (no se muestra status indicator)
|
|
125
|
-
*/
|
|
126
|
-
resolveCheckFn() {
|
|
127
|
-
if (this.props?.checkAvailability)
|
|
128
|
-
return this.props.checkAvailability;
|
|
129
|
-
if (this.authService) {
|
|
130
|
-
return (username) => this.authService.checkHandleAvailability(username).pipe(map(res => !!res?.available));
|
|
131
|
-
}
|
|
132
|
-
return undefined;
|
|
133
|
-
}
|
|
134
|
-
setupAvailabilityCheck() {
|
|
135
|
-
const checkFn = this.resolveCheckFn();
|
|
136
|
-
if (!checkFn)
|
|
137
|
-
return;
|
|
138
|
-
this.checkAvailability$
|
|
139
|
-
.pipe(debounceTime(this.props.debounceTime || 500), distinctUntilChanged(), switchMap(username => {
|
|
140
|
-
if (!username || username.length < (this.props.minLength || 3)) {
|
|
141
|
-
return of(null);
|
|
142
|
-
}
|
|
143
|
-
this.availabilityStatus.set('checking');
|
|
144
|
-
return checkFn(username).pipe(catchError(() => of(null)));
|
|
145
|
-
}), takeUntil(this.destroy$))
|
|
146
|
-
.subscribe(available => {
|
|
147
|
-
if (available === null) {
|
|
148
|
-
this.availabilityStatus.set('idle');
|
|
149
|
-
}
|
|
150
|
-
else if (available) {
|
|
151
|
-
this.availabilityStatus.set('available');
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
this.availabilityStatus.set('taken');
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
normalizeUsername(value) {
|
|
159
|
-
return value
|
|
160
|
-
.toLowerCase()
|
|
161
|
-
.replace(/\s/g, '')
|
|
162
|
-
.replace(/[^a-z0-9_]/g, '');
|
|
163
|
-
}
|
|
164
|
-
isValidFormat(value) {
|
|
165
|
-
if (!value)
|
|
166
|
-
return false;
|
|
167
|
-
const minLen = this.props?.minLength || 3;
|
|
168
|
-
const maxLen = this.props?.maxLength || 30;
|
|
169
|
-
const pattern = /^[a-z0-9_]+$/;
|
|
170
|
-
return value.length >= minLen && value.length <= maxLen && pattern.test(value);
|
|
171
|
-
}
|
|
172
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UsernameInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
173
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: UsernameInputComponent, isStandalone: true, selector: "val-username-input", inputs: { props: "props" }, ngImport: i0, template: `
|
|
174
|
-
<div class="username-input-container">
|
|
175
|
-
@if (props.label) {
|
|
176
|
-
<label class="username-label">{{ props.label }}</label>
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
<!-- ion-input nativo: renderiza la pill shape como val-text-input.
|
|
180
|
-
Prefijo @ via slot="start", status indicator via slot="end". -->
|
|
181
|
-
<ion-input
|
|
182
|
-
[formControl]="props.control"
|
|
183
|
-
type="text"
|
|
184
|
-
[placeholder]="props.placeholder || 'username'"
|
|
185
|
-
[maxlength]="props.maxLength || 30"
|
|
186
|
-
(ionFocus)="onFocus()"
|
|
187
|
-
(ionBlur)="onBlur()"
|
|
188
|
-
(ionInput)="onInput($event)"
|
|
189
|
-
class="username-field"
|
|
190
|
-
[class.has-error]="hasError()"
|
|
191
|
-
>
|
|
192
|
-
<span slot="start" class="username-prefix">{{ props.prefix || '@' }}</span>
|
|
193
|
-
@if (props.showAvailability !== false) {
|
|
194
|
-
<span slot="end" class="availability-indicator">
|
|
195
|
-
@switch (availabilityStatus()) {
|
|
196
|
-
@case ('checking') {
|
|
197
|
-
<ion-spinner name="crescent" class="checking-spinner" />
|
|
198
|
-
}
|
|
199
|
-
@case ('available') {
|
|
200
|
-
<ion-icon name="checkmark-circle" class="status-icon available" />
|
|
201
|
-
}
|
|
202
|
-
@case ('taken') {
|
|
203
|
-
<ion-icon name="close-circle" class="status-icon taken" />
|
|
204
|
-
}
|
|
205
|
-
@case ('invalid') {
|
|
206
|
-
<ion-icon name="alert-circle" class="status-icon invalid" />
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
</span>
|
|
210
|
-
}
|
|
211
|
-
</ion-input>
|
|
212
|
-
|
|
213
|
-
@if (showStatusMessage()) {
|
|
214
|
-
<ion-text [color]="statusColor()" class="status-message">
|
|
215
|
-
<small>{{ statusMessage() }}</small>
|
|
216
|
-
</ion-text>
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
@if (hasError() && errorMessage()) {
|
|
220
|
-
<ion-text color="danger" class="error-message">
|
|
221
|
-
<small>{{ errorMessage() }}</small>
|
|
222
|
-
</ion-text>
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
<!-- Texto explicativo (hint). Consistente con phone-input.hint. -->
|
|
226
|
-
@if (props.hint && !hasError()) {
|
|
227
|
-
<small class="username-hint">{{ props.hint }}</small>
|
|
228
|
-
}
|
|
229
|
-
</div>
|
|
230
|
-
`, isInline: true, styles: [".username-input-container{margin-bottom:1rem}.username-label{display:block;font-size:16px;line-height:24px;font-weight:700;color:var(--ion-color-dark);margin-bottom:8px}.username-hint{display:block;font-size:12px;color:var(--ion-color-dark);margin-top:6px;padding-right:4px;text-align:right}.username-prefix{font-size:1rem;font-weight:500;color:var(--ion-color-medium);-webkit-user-select:none;user-select:none;margin-inline-end:.25rem;display:inline-flex;align-items:center}.username-field{width:100%}.username-field.has-error{--highlight-color: var(--ion-color-danger)}.availability-indicator{display:inline-flex;align-items:center;justify-content:center;margin-inline-start:.5rem}.checking-spinner{width:18px;height:18px;--color: var(--ion-color-medium)}.status-icon{font-size:1.25rem}.status-icon.available{color:var(--ion-color-success)}.status-icon.taken{color:var(--ion-color-danger)}.status-icon.invalid{color:var(--ion-color-warning)}.status-message,.error-message{display:block;margin-top:.25rem;padding-left:.25rem}:host-context(body.dark) .username-label,:host-context(.dark) .username-label,:host-context(.ion-palette-dark) .username-label,:host-context(html.ion-palette-dark) .username-label,:host-context([data-theme=\"dark\"]) .username-label{color:var(--ion-color-dark)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
|
|
231
|
-
}
|
|
232
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UsernameInputComponent, decorators: [{
|
|
233
|
-
type: Component,
|
|
234
|
-
args: [{ selector: 'val-username-input', standalone: true, imports: [CommonModule, ReactiveFormsModule, IonInput, IonSpinner, IonIcon, IonText], template: `
|
|
235
|
-
<div class="username-input-container">
|
|
236
|
-
@if (props.label) {
|
|
237
|
-
<label class="username-label">{{ props.label }}</label>
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
<!-- ion-input nativo: renderiza la pill shape como val-text-input.
|
|
241
|
-
Prefijo @ via slot="start", status indicator via slot="end". -->
|
|
242
|
-
<ion-input
|
|
243
|
-
[formControl]="props.control"
|
|
244
|
-
type="text"
|
|
245
|
-
[placeholder]="props.placeholder || 'username'"
|
|
246
|
-
[maxlength]="props.maxLength || 30"
|
|
247
|
-
(ionFocus)="onFocus()"
|
|
248
|
-
(ionBlur)="onBlur()"
|
|
249
|
-
(ionInput)="onInput($event)"
|
|
250
|
-
class="username-field"
|
|
251
|
-
[class.has-error]="hasError()"
|
|
252
|
-
>
|
|
253
|
-
<span slot="start" class="username-prefix">{{ props.prefix || '@' }}</span>
|
|
254
|
-
@if (props.showAvailability !== false) {
|
|
255
|
-
<span slot="end" class="availability-indicator">
|
|
256
|
-
@switch (availabilityStatus()) {
|
|
257
|
-
@case ('checking') {
|
|
258
|
-
<ion-spinner name="crescent" class="checking-spinner" />
|
|
259
|
-
}
|
|
260
|
-
@case ('available') {
|
|
261
|
-
<ion-icon name="checkmark-circle" class="status-icon available" />
|
|
262
|
-
}
|
|
263
|
-
@case ('taken') {
|
|
264
|
-
<ion-icon name="close-circle" class="status-icon taken" />
|
|
265
|
-
}
|
|
266
|
-
@case ('invalid') {
|
|
267
|
-
<ion-icon name="alert-circle" class="status-icon invalid" />
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
</span>
|
|
271
|
-
}
|
|
272
|
-
</ion-input>
|
|
273
|
-
|
|
274
|
-
@if (showStatusMessage()) {
|
|
275
|
-
<ion-text [color]="statusColor()" class="status-message">
|
|
276
|
-
<small>{{ statusMessage() }}</small>
|
|
277
|
-
</ion-text>
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
@if (hasError() && errorMessage()) {
|
|
281
|
-
<ion-text color="danger" class="error-message">
|
|
282
|
-
<small>{{ errorMessage() }}</small>
|
|
283
|
-
</ion-text>
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
<!-- Texto explicativo (hint). Consistente con phone-input.hint. -->
|
|
287
|
-
@if (props.hint && !hasError()) {
|
|
288
|
-
<small class="username-hint">{{ props.hint }}</small>
|
|
289
|
-
}
|
|
290
|
-
</div>
|
|
291
|
-
`, styles: [".username-input-container{margin-bottom:1rem}.username-label{display:block;font-size:16px;line-height:24px;font-weight:700;color:var(--ion-color-dark);margin-bottom:8px}.username-hint{display:block;font-size:12px;color:var(--ion-color-dark);margin-top:6px;padding-right:4px;text-align:right}.username-prefix{font-size:1rem;font-weight:500;color:var(--ion-color-medium);-webkit-user-select:none;user-select:none;margin-inline-end:.25rem;display:inline-flex;align-items:center}.username-field{width:100%}.username-field.has-error{--highlight-color: var(--ion-color-danger)}.availability-indicator{display:inline-flex;align-items:center;justify-content:center;margin-inline-start:.5rem}.checking-spinner{width:18px;height:18px;--color: var(--ion-color-medium)}.status-icon{font-size:1.25rem}.status-icon.available{color:var(--ion-color-success)}.status-icon.taken{color:var(--ion-color-danger)}.status-icon.invalid{color:var(--ion-color-warning)}.status-message,.error-message{display:block;margin-top:.25rem;padding-left:.25rem}:host-context(body.dark) .username-label,:host-context(.dark) .username-label,:host-context(.ion-palette-dark) .username-label,:host-context(html.ion-palette-dark) .username-label,:host-context([data-theme=\"dark\"]) .username-label{color:var(--ion-color-dark)}\n"] }]
|
|
292
|
-
}], propDecorators: { props: [{
|
|
293
|
-
type: Input
|
|
294
|
-
}] } });
|
|
295
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcm5hbWUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy91c2VybmFtZS1pbnB1dC91c2VybmFtZS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkYsT0FBTyxFQUVMLE9BQU8sRUFDUCxZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsRUFBRSxFQUNGLFVBQVUsRUFDVixHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBR2xFLFFBQVEsQ0FBQyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUV4RDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQWtLSCxNQUFNLE9BQU8sc0JBQXNCO0lBaktuQztRQW9LRTs7OztXQUlHO1FBQ0ssZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFD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QUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRixDQUFDOytHQS9KVSxzQkFBc0I7bUdBQXRCLHNCQUFzQiwwR0E3SnZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5RFQsazFDQTFEUyxZQUFZLDhCQUFFLG1CQUFtQiw2ZEFBRSxRQUFRLDhlQUFFLFVBQVUseUdBQUUsT0FBTywySkFBRSxPQUFPOzs0RkE4SnhFLHNCQUFzQjtrQkFqS2xDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsWUFDMUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlEVDs4QkFxR1EsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPbkRlc3Ryb3ksIHNpZ25hbCwgY29tcHV0ZWQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25JbnB1dCwgSW9uU3Bpbm5lciwgSW9uSWNvbiwgSW9uVGV4dCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgdGFrZVVudGlsLFxuICBzd2l0Y2hNYXAsXG4gIG9mLFxuICBjYXRjaEVycm9yLFxuICBtYXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBjaGVja21hcmtDaXJjbGUsIGNsb3NlQ2lyY2xlLCBhbGVydENpcmNsZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlcm5hbWVJbnB1dE1ldGFkYXRhLCBVc2VybmFtZUF2YWlsYWJpbGl0eVN0YXR1cyB9IGZyb20gJy4vdHlwZXMnO1xuXG5hZGRJY29ucyh7IGNoZWNrbWFya0NpcmNsZSwgY2xvc2VDaXJjbGUsIGFsZXJ0Q2lyY2xlIH0pO1xuXG4vKipcbiAqIFVzZXJuYW1lIElucHV0IENvbXBvbmVudFxuICpcbiAqIElucHV0IGVzcGVjaWFsaXphZG8gcGFyYSB1c2VybmFtZXMvaGFuZGxlcyBjb246XG4gKiAtIFByZWZpam8gJ0AnIHZpc3VhbFxuICogLSBWYWxpZGFjacOzbiBkZSBmb3JtYXRvIChhbGZhbnVtw6lyaWNvcyB5IF8pXG4gKiAtIE5vcm1hbGl6YWNpw7NuIGF1dG9tw6F0aWNhIChsb3dlcmNhc2UsIHNpbiBlc3BhY2lvcylcbiAqIC0gVmVyaWZpY2FjacOzbiBkZSBkaXNwb25pYmlsaWRhZCBjb24gZGVib3VuY2VcbiAqIC0gRXN0YWRvcyB2aXN1YWxlczogYXZhaWxhYmxlLCB0YWtlbiwgY2hlY2tpbmdcbiAqXG4gKiBAZXhhbXBsZVxuICogPHZhbC11c2VybmFtZS1pbnB1dFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGNvbnRyb2w6IHVzZXJuYW1lQ29udHJvbCxcbiAqICAgICBsYWJlbDogJ05vbWJyZSBkZSB1c3VhcmlvJyxcbiAqICAgICBwbGFjZWhvbGRlcjogJ3R1X3VzZXJuYW1lJyxcbiAqICAgICBjaGVja0F2YWlsYWJpbGl0eTogY2hlY2tGblxuICogICB9XCJcbiAqIC8+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC11c2VybmFtZS1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIElvbklucHV0LCBJb25TcGlubmVyLCBJb25JY29uLCBJb25UZXh0XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwidXNlcm5hbWUtaW5wdXQtY29udGFpbmVyXCI+XG4gICAgICBAaWYgKHByb3BzLmxhYmVsKSB7XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cInVzZXJuYW1lLWxhYmVsXCI+e3sgcHJvcHMubGFiZWwgfX08L2xhYmVsPlxuICAgICAgfVxuXG4gICAgICA8IS0tIGlvbi1pbnB1dCBuYXRpdm86IHJlbmRlcml6YSBsYSBwaWxsIHNoYXBlIGNvbW8gdmFsLXRleHQtaW5wdXQuXG4gICAgICAgICAgIFByZWZpam8gQCB2aWEgc2xvdD1cInN0YXJ0XCIsIHN0YXR1cyBpbmRpY2F0b3IgdmlhIHNsb3Q9XCJlbmRcIi4gLS0+XG4gICAgICA8aW9uLWlucHV0XG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJwcm9wcy5jb250cm9sXCJcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicHJvcHMucGxhY2Vob2xkZXIgfHwgJ3VzZXJuYW1lJ1wiXG4gICAgICAgIFttYXhsZW5ndGhdPVwicHJvcHMubWF4TGVuZ3RoIHx8IDMwXCJcbiAgICAgICAgKGlvbkZvY3VzKT1cIm9uRm9jdXMoKVwiXG4gICAgICAgIChpb25CbHVyKT1cIm9uQmx1cigpXCJcbiAgICAgICAgKGlvbklucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgIGNsYXNzPVwidXNlcm5hbWUtZmllbGRcIlxuICAgICAgICBbY2xhc3MuaGFzLWVycm9yXT1cImhhc0Vycm9yKClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBzbG90PVwic3RhcnRcIiBjbGFzcz1cInVzZXJuYW1lLXByZWZpeFwiPnt7IHByb3BzLnByZWZpeCB8fCAnQCcgfX08L3NwYW4+XG4gICAgICAgIEBpZiAocHJvcHMuc2hvd0F2YWlsYWJpbGl0eSAhPT0gZmFsc2UpIHtcbiAgICAgICAgICA8c3BhbiBzbG90PVwiZW5kXCIgY2xhc3M9XCJhdmFpbGFiaWxpdHktaW5kaWNhdG9yXCI+XG4gICAgICAgICAgICBAc3dpdGNoIChhdmFpbGFiaWxpdHlTdGF0dXMoKSkge1xuICAgICAgICAgICAgICBAY2FzZSAoJ2NoZWNraW5nJykge1xuICAgICAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIiBjbGFzcz1cImNoZWNraW5nLXNwaW5uZXJcIiAvPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBjYXNlICgnYXZhaWxhYmxlJykge1xuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hlY2ttYXJrLWNpcmNsZVwiIGNsYXNzPVwic3RhdHVzLWljb24gYXZhaWxhYmxlXCIgLz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAY2FzZSAoJ3Rha2VuJykge1xuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2xvc2UtY2lyY2xlXCIgY2xhc3M9XCJzdGF0dXMtaWNvbiB0YWtlblwiIC8+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGNhc2UgKCdpbnZhbGlkJykge1xuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiYWxlcnQtY2lyY2xlXCIgY2xhc3M9XCJzdGF0dXMtaWNvbiBpbnZhbGlkXCIgLz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9pb24taW5wdXQ+XG5cbiAgICAgIEBpZiAoc2hvd1N0YXR1c01lc3NhZ2UoKSkge1xuICAgICAgICA8aW9uLXRleHQgW2NvbG9yXT1cInN0YXR1c0NvbG9yKClcIiBjbGFzcz1cInN0YXR1cy1tZXNzYWdlXCI+XG4gICAgICAgICAgPHNtYWxsPnt7IHN0YXR1c01lc3NhZ2UoKSB9fTwvc21hbGw+XG4gICAgICAgIDwvaW9uLXRleHQ+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoaGFzRXJyb3IoKSAmJiBlcnJvck1lc3NhZ2UoKSkge1xuICAgICAgICA8aW9uLXRleHQgY29sb3I9XCJkYW5nZXJcIiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5cbiAgICAgICAgICA8c21hbGw+e3sgZXJyb3JNZXNzYWdlKCkgfX08L3NtYWxsPlxuICAgICAgICA8L2lvbi10ZXh0PlxuICAgICAgfVxuXG4gICAgICA8IS0tIFRleHRvIGV4cGxpY2F0aXZvIChoaW50KS4gQ29uc2lzdGVudGUgY29uIHBob25lLWlucHV0LmhpbnQuIC0tPlxuICAgICAgQGlmIChwcm9wcy5oaW50ICYmICFoYXNFcnJvcigpKSB7XG4gICAgICAgIDxzbWFsbCBjbGFzcz1cInVzZXJuYW1lLWhpbnRcIj57eyBwcm9wcy5oaW50IH19PC9zbWFsbD5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLnVzZXJuYW1lLWlucHV0LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICB9XG5cbiAgICAgIC8qIE1hdGNoIHZhbC10aXRsZSAoc2l6ZT1cInNtYWxsXCIpIOKAlCAxNnB4LzI0IGJvbGQgZGFyay4gSWd1YWwgcXVlXG4gICAgICAgKiBwaG9uZS1sYWJlbCB5IGVsIHJlc3RvIGRlIGxhYmVscyBxdWUgdmFsLWZvcm0gcmVuZGVyaXphIGNvbiB2YWwtdGl0bGUuXG4gICAgICAgKiBBbnRlcyBlcmEgMC44NzVyZW0g4oaSIG3DoXMgY2hpY28gcXVlIGVsIHJlc3RvLiAqL1xuICAgICAgLnVzZXJuYW1lLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyayk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgIH1cblxuICAgICAgLyogSGludCBpZ3VhbCBhbCBkZSBwaG9uZS1pbnB1dDogZGFyayBzw7NsaWRvLCBhbGluZWFkbyBhIGxhIGRlcmVjaGFcbiAgICAgICAqIHBhcmEgY29oZXJlbmNpYSB2aXN1YWwgY29uIGxvcyBkZW3DoXMgaW5wdXRzIGRlbCBmb3JtdWxhcmlvLiAqL1xuICAgICAgLnVzZXJuYW1lLWhpbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIC8qIFByZWZpam8gQCB5IGluZGljYWRvciBzdGF0dXMgcmVuZGVyaXphZG9zIGNvbW8gc2xvdHMgbmF0aXZvcyBkZSBpb24taW5wdXQuXG4gICAgICAgKiBFc3RvIGRhIGNvbnNpc3RlbmNpYSB2aXN1YWwgcGVyZmVjdGEgY29uIHZhbC10ZXh0LWlucHV0IChtaXNtbyBhbmNobyxcbiAgICAgICAqIG1pc21hIHNoYXBlIHBpbGwsIG1pc21vIHBhZGRpbmcpLiAqL1xuICAgICAgLnVzZXJuYW1lLXByZWZpeCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0pO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDAuMjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAudXNlcm5hbWUtZmllbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLnVzZXJuYW1lLWZpZWxkLmhhcy1lcnJvciB7XG4gICAgICAgIC0taGlnaGxpZ2h0LWNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyKTtcbiAgICAgIH1cblxuICAgICAgLmF2YWlsYWJpbGl0eS1pbmRpY2F0b3Ige1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDAuNXJlbTtcbiAgICAgIH1cblxuICAgICAgLmNoZWNraW5nLXNwaW5uZXIge1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAtLWNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgIH1cblxuICAgICAgLnN0YXR1cy1pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgfVxuXG4gICAgICAuc3RhdHVzLWljb24uYXZhaWxhYmxlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1zdWNjZXNzKTtcbiAgICAgIH1cblxuICAgICAgLnN0YXR1cy1pY29uLnRha2VuIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYW5nZXIpO1xuICAgICAgfVxuXG4gICAgICAuc3RhdHVzLWljb24uaW52YWxpZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3Itd2FybmluZyk7XG4gICAgICB9XG5cbiAgICAgIC5zdGF0dXMtbWVzc2FnZSxcbiAgICAgIC5lcnJvci1tZXNzYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcbiAgICAgIH1cblxuICAgICAgLyogRGFyayBtb2RlIOKAlCB1c2FyIC0taW9uLWNvbG9yLWRhcmsgKHF1ZSBlbiBkYXJrLmNsYXNzLmNzcyBzZSBpbnZpZXJ0ZSBhXG4gICAgICAgICBjbGFybykuIE5PIHVzYXIgLS1pb24tY29sb3ItbGlnaHQgcG9ycXVlIGVuIGRhcmsgbW9kZSBtYXBlYSBhIG9zY3VybyB5XG4gICAgICAgICBkZWphYmEgZWwgbGFiZWwgY2FzaSBpbnZpc2libGUuICovXG4gICAgICA6aG9zdC1jb250ZXh0KGJvZHkuZGFyaykgLnVzZXJuYW1lLWxhYmVsLFxuICAgICAgOmhvc3QtY29udGV4dCguZGFyaykgLnVzZXJuYW1lLWxhYmVsLFxuICAgICAgOmhvc3QtY29udGV4dCguaW9uLXBhbGV0dGUtZGFyaykgLnVzZXJuYW1lLWxhYmVsLFxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspIC51c2VybmFtZS1sYWJlbCxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLnVzZXJuYW1lLWxhYmVsIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBVc2VybmFtZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwcm9wcyE6IFVzZXJuYW1lSW5wdXRNZXRhZGF0YTtcblxuICAvKipcbiAgICogQXV0aFNlcnZpY2Ugb3B0aW9uYWwg4oCUIHNpIGVzdMOhIGlueWVjdGFkbyB5IGBwcm9wcy5jaGVja0F2YWlsYWJpbGl0eWAgbm8gc2UgcHJvdmVlLFxuICAgKiBlbCBjb21wb25lbnQgY2FlIGF1dG9tw6F0aWNhbWVudGUgYSBgQXV0aFNlcnZpY2UuY2hlY2tIYW5kbGVBdmFpbGFiaWxpdHlgIChiYWNrZW5kXG4gICAqIGRlIFZhbHRlY2gpLiBDb25zdW1lcnMgcXVlIHF1aWVyYW4gb3RybyBlbmRwb2ludCBwYXNhbiBzdSBwcm9waW8gY2FsbGJhY2suXG4gICAqL1xuICBwcml2YXRlIGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIGNoZWNrQXZhaWxhYmlsaXR5JCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAvLyBTaWduYWxzXG4gIGlzRm9jdXNlZCA9IHNpZ25hbChmYWxzZSk7XG4gIGF2YWlsYWJpbGl0eVN0YXR1cyA9IHNpZ25hbDxVc2VybmFtZUF2YWlsYWJpbGl0eVN0YXR1cz4oJ2lkbGUnKTtcblxuICAvLyBDb21wdXRlZFxuICBoYXNFcnJvciA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5wcm9wcz8uY29udHJvbDtcbiAgICByZXR1cm4gY29udHJvbD8udG91Y2hlZCAmJiBjb250cm9sPy5pbnZhbGlkO1xuICB9KTtcblxuICBzaG93U3RhdHVzTWVzc2FnZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzdGF0dXMgPSB0aGlzLmF2YWlsYWJpbGl0eVN0YXR1cygpO1xuICAgIHJldHVybiBzdGF0dXMgPT09ICdhdmFpbGFibGUnIHx8IHN0YXR1cyA9PT0gJ3Rha2VuJztcbiAgfSk7XG5cbiAgc3RhdHVzQ29sb3IgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYXZhaWxhYmlsaXR5U3RhdHVzKCkgPT09ICdhdmFpbGFibGUnID8gJ3N1Y2Nlc3MnIDogJ2Rhbmdlcic7XG4gIH0pO1xuXG4gIHN0YXR1c01lc3NhZ2UgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc3RhdHVzID0gdGhpcy5hdmFpbGFiaWxpdHlTdGF0dXMoKTtcbiAgICBpZiAoc3RhdHVzID09PSAnYXZhaWxhYmxlJykgcmV0dXJuICdVc2VybmFtZSBkaXNwb25pYmxlJztcbiAgICBpZiAoc3RhdHVzID09PSAndGFrZW4nKSByZXR1cm4gJ1VzZXJuYW1lIHlhIGVzdMOhIGVuIHVzbyc7XG4gICAgcmV0dXJuICcnO1xuICB9KTtcblxuICBlcnJvck1lc3NhZ2UgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMucHJvcHM/LmNvbnRyb2w7XG4gICAgaWYgKCFjb250cm9sPy5lcnJvcnMpIHJldHVybiAnJztcblxuICAgIGNvbnN0IGVycm9ycyA9IHRoaXMucHJvcHM/LmVycm9ycyB8fCB7fTtcblxuICAgIGlmIChjb250cm9sLmVycm9yc1sncmVxdWlyZWQnXSkge1xuICAgICAgcmV0dXJuIGVycm9yc1sncmVxdWlyZWQnXSB8fCAnRWwgdXNlcm5hbWUgZXMgcmVxdWVyaWRvJztcbiAgICB9XG4gICAgaWYgKGNvbnRyb2wuZXJyb3JzWydtaW5sZW5ndGgnXSkge1xuICAgICAgY29uc3QgbWluID0gdGhpcy5wcm9wcz8ubWluTGVuZ3RoIHx8IDM7XG4gICAgICByZXR1cm4gZXJyb3JzWydtaW5sZW5ndGgnXSB8fCBgTcOtbmltbyAke21pbn0gY2FyYWN0ZXJlc2A7XG4gICAgfVxuICAgIGlmIChjb250cm9sLmVycm9yc1snbWF4bGVuZ3RoJ10pIHtcbiAgICAgIGNvbnN0IG1heCA9IHRoaXMucHJvcHM/Lm1heExlbmd0aCB8fCAzMDtcbiAgICAgIHJldHVybiBlcnJvcnNbJ21heGxlbmd0aCddIHx8IGBNw6F4aW1vICR7bWF4fSBjYXJhY3RlcmVzYDtcbiAgICB9XG4gICAgaWYgKGNvbnRyb2wuZXJyb3JzWydwYXR0ZXJuJ10pIHtcbiAgICAgIHJldHVybiBlcnJvcnNbJ3BhdHRlcm4nXSB8fCAnU29sbyBsZXRyYXMsIG7Dum1lcm9zIHkgZ3Vpw7NuIGJham8gKF8pJztcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH0pO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0dXBBdmFpbGFiaWxpdHlDaGVjaygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgb25Gb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmlzRm9jdXNlZC5zZXQodHJ1ZSk7XG4gIH1cblxuICBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5pc0ZvY3VzZWQuc2V0KGZhbHNlKTtcbiAgICB0aGlzLnByb3BzLmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICB9XG5cbiAgb25JbnB1dChldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LmRldGFpbC52YWx1ZSB8fCAnJztcbiAgICAvLyBOb3JtYWxpemU6IGxvd2VyY2FzZSwgcmVtb3ZlIHNwYWNlcywgb25seSBhbGxvdyB2YWxpZCBjaGFyc1xuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSB0aGlzLm5vcm1hbGl6ZVVzZXJuYW1lKGlucHV0KTtcblxuICAgIGlmIChub3JtYWxpemVkICE9PSBpbnB1dCkge1xuICAgICAgdGhpcy5wcm9wcy5jb250cm9sLnNldFZhbHVlKG5vcm1hbGl6ZWQsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG5cbiAgICAvLyBUcmlnZ2VyIGF2YWlsYWJpbGl0eSBjaGVjayAoY2FsbGJhY2sgZXhwbMOtY2l0byBvIEF1dGhTZXJ2aWNlIGlueWVjdGFkbylcbiAgICBjb25zdCBjYW5DaGVjayA9ICEhdGhpcy5wcm9wcy5jaGVja0F2YWlsYWJpbGl0eSB8fCAhIXRoaXMuYXV0aFNlcnZpY2U7XG4gICAgaWYgKGNhbkNoZWNrICYmIHRoaXMuaXNWYWxpZEZvcm1hdChub3JtYWxpemVkKSkge1xuICAgICAgdGhpcy5jaGVja0F2YWlsYWJpbGl0eSQubmV4dChub3JtYWxpemVkKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmlzVmFsaWRGb3JtYXQobm9ybWFsaXplZCkgJiYgbm9ybWFsaXplZC5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmF2YWlsYWJpbGl0eVN0YXR1cy5zZXQoJ2ludmFsaWQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hdmFpbGFiaWxpdHlTdGF0dXMuc2V0KCdpZGxlJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmUgbGEgZm4gZGUgY2hlY2sgZGUgZGlzcG9uaWJpbGlkYWQ6XG4gICAqIDEuIFNpIGVsIGNhbGxlciBwYXNhIGBwcm9wcy5jaGVja0F2YWlsYWJpbGl0eWAg4oaSIHVzYXIgZXNhXG4gICAqIDIuIFNpIEF1dGhTZXJ2aWNlIGVzdMOhIGlueWVjdGFkbyDihpIgY2FlciBhIGBjaGVja0hhbmRsZUF2YWlsYWJpbGl0eWAgKGJhY2tlbmQgVmFsdGVjaClcbiAgICogMy4gU2lubyDihpIgdW5kZWZpbmVkIChubyBzZSBtdWVzdHJhIHN0YXR1cyBpbmRpY2F0b3IpXG4gICAqL1xuICBwcml2YXRlIHJlc29sdmVDaGVja0ZuKCk6ICgodXNlcm5hbWU6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxib29sZWFuPikgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLnByb3BzPy5jaGVja0F2YWlsYWJpbGl0eSkgcmV0dXJuIHRoaXMucHJvcHMuY2hlY2tBdmFpbGFiaWxpdHk7XG4gICAgaWYgKHRoaXMuYXV0aFNlcnZpY2UpIHtcbiAgICAgIHJldHVybiAodXNlcm5hbWU6IHN0cmluZykgPT5cbiAgICAgICAgdGhpcy5hdXRoU2VydmljZSEuY2hlY2tIYW5kbGVBdmFpbGFiaWxpdHkodXNlcm5hbWUpLnBpcGUobWFwKHJlcyA9PiAhIXJlcz8uYXZhaWxhYmxlKSk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHNldHVwQXZhaWxhYmlsaXR5Q2hlY2soKTogdm9pZCB7XG4gICAgY29uc3QgY2hlY2tGbiA9IHRoaXMucmVzb2x2ZUNoZWNrRm4oKTtcbiAgICBpZiAoIWNoZWNrRm4pIHJldHVybjtcblxuICAgIHRoaXMuY2hlY2tBdmFpbGFiaWxpdHkkXG4gICAgICAucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMucHJvcHMuZGVib3VuY2VUaW1lIHx8IDUwMCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHN3aXRjaE1hcCh1c2VybmFtZSA9PiB7XG4gICAgICAgICAgaWYgKCF1c2VybmFtZSB8fCB1c2VybmFtZS5sZW5ndGggPCAodGhpcy5wcm9wcy5taW5MZW5ndGggfHwgMykpIHtcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLmF2YWlsYWJpbGl0eVN0YXR1cy5zZXQoJ2NoZWNraW5nJyk7XG5cbiAgICAgICAgICByZXR1cm4gY2hlY2tGbih1c2VybmFtZSkucGlwZShjYXRjaEVycm9yKCgpID0+IG9mKG51bGwpKSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYXZhaWxhYmxlID0+IHtcbiAgICAgICAgaWYgKGF2YWlsYWJsZSA9PT0gbnVsbCkge1xuICAgICAgICAgIHRoaXMuYXZhaWxhYmlsaXR5U3RhdHVzLnNldCgnaWRsZScpO1xuICAgICAgICB9IGVsc2UgaWYgKGF2YWlsYWJsZSkge1xuICAgICAgICAgIHRoaXMuYXZhaWxhYmlsaXR5U3RhdHVzLnNldCgnYXZhaWxhYmxlJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hdmFpbGFiaWxpdHlTdGF0dXMuc2V0KCd0YWtlbicpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplVXNlcm5hbWUodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHZhbHVlXG4gICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgLnJlcGxhY2UoL1xccy9nLCAnJylcbiAgICAgIC5yZXBsYWNlKC9bXmEtejAtOV9dL2csICcnKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNWYWxpZEZvcm1hdCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IG1pbkxlbiA9IHRoaXMucHJvcHM/Lm1pbkxlbmd0aCB8fCAzO1xuICAgIGNvbnN0IG1heExlbiA9IHRoaXMucHJvcHM/Lm1heExlbmd0aCB8fCAzMDtcbiAgICBjb25zdCBwYXR0ZXJuID0gL15bYS16MC05X10rJC87XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aCA+PSBtaW5MZW4gJiYgdmFsdWUubGVuZ3RoIDw9IG1heExlbiAmJiBwYXR0ZXJuLnRlc3QodmFsdWUpO1xuICB9XG59XG4iXX0=
|