valtech-components 2.0.26 → 2.0.28
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/ng-package.json +10 -0
- package/package.json +12 -14
- package/src/lib/components/atoms/avatar/avatar.component.scss +20 -0
- package/src/lib/components/atoms/avatar/avatar.component.ts +29 -0
- package/src/lib/components/atoms/avatar/types.ts +6 -0
- package/src/lib/components/atoms/box/box.component.scss +57 -0
- package/src/lib/components/atoms/box/box.component.ts +38 -0
- package/src/lib/components/atoms/box/types.ts +8 -0
- package/src/lib/components/atoms/button/button.component.scss +5 -0
- package/src/lib/components/atoms/button/button.component.ts +53 -0
- package/src/lib/components/atoms/button/factory.ts +444 -0
- package/src/lib/components/atoms/display/display.component.scss +17 -0
- package/src/lib/components/atoms/display/display.component.ts +25 -0
- package/src/lib/components/atoms/display/types.ts +7 -0
- package/src/lib/components/atoms/divider/divider.component.scss +62 -0
- package/src/lib/components/atoms/divider/divider.component.ts +18 -0
- package/src/lib/components/atoms/divider/types.ts +5 -0
- package/src/lib/components/atoms/href/href.component.scss +25 -0
- package/src/lib/components/atoms/href/href.component.ts +43 -0
- package/src/lib/components/atoms/href/types.ts +10 -0
- package/src/lib/components/atoms/icon/icon.component.scss +33 -0
- package/src/lib/components/atoms/icon/icon.component.ts +20 -0
- package/src/lib/components/atoms/icon/types.ts +7 -0
- package/src/lib/components/atoms/image/image.component.scss +70 -0
- package/src/lib/components/atoms/image/image.component.ts +40 -0
- package/src/lib/components/atoms/image/types.ts +11 -0
- package/src/lib/components/atoms/progress-bar/progress-bar.component.scss +22 -0
- package/src/lib/components/atoms/progress-bar/progress-bar.component.ts +29 -0
- package/src/lib/components/atoms/progress-bar/types.ts +10 -0
- package/src/lib/components/atoms/text/text.component.scss +33 -0
- package/src/lib/components/atoms/text/text.component.ts +23 -0
- package/src/lib/components/atoms/text/types.ts +8 -0
- package/src/lib/components/atoms/title/title.component.scss +17 -0
- package/src/lib/components/atoms/title/title.component.ts +27 -0
- package/src/lib/components/atoms/title/types.ts +8 -0
- package/src/lib/components/molecules/alert-box/alert-box.component.scss +10 -0
- package/src/lib/components/molecules/alert-box/alert-box.component.ts +28 -0
- package/{lib/components/molecules/alert-box/types.d.ts → src/lib/components/molecules/alert-box/types.ts} +4 -3
- package/src/lib/components/molecules/button-group/button-group.component.scss +31 -0
- package/src/lib/components/molecules/button-group/button-group.component.ts +44 -0
- package/src/lib/components/molecules/button-group/types.ts +7 -0
- package/src/lib/components/molecules/card/card.component.scss +46 -0
- package/src/lib/components/molecules/card/card.component.ts +218 -0
- package/src/lib/components/molecules/card/types.ts +36 -0
- package/src/lib/components/molecules/check-input/check-input.component.scss +0 -0
- package/src/lib/components/molecules/check-input/check-input.component.ts +16 -0
- package/src/lib/components/molecules/comment-input/comment-input.component.scss +0 -0
- package/src/lib/components/molecules/comment-input/comment-input.component.ts +22 -0
- package/src/lib/components/molecules/content-loader/content-loader.component.scss +42 -0
- package/src/lib/components/molecules/content-loader/content-loader.component.ts +27 -0
- package/src/lib/components/molecules/content-loader/types.ts +8 -0
- package/src/lib/components/molecules/date-input/date-input.component.scss +11 -0
- package/src/lib/components/molecules/date-input/date-input.component.ts +47 -0
- package/src/lib/components/molecules/email-input/email-input.component.scss +0 -0
- package/src/lib/components/molecules/email-input/email-input.component.ts +20 -0
- package/src/lib/components/molecules/file-input/file-input.component.scss +11 -0
- package/src/lib/components/molecules/file-input/file-input.component.ts +56 -0
- package/src/lib/components/molecules/hint/hint.component.scss +5 -0
- package/src/lib/components/molecules/hint/hint.component.ts +42 -0
- package/src/lib/components/molecules/hour-input/hour-input.component.scss +0 -0
- package/src/lib/components/molecules/hour-input/hour-input.component.ts +19 -0
- package/src/lib/components/molecules/link/link.component.scss +5 -0
- package/src/lib/components/molecules/link/link.component.ts +52 -0
- package/src/lib/components/molecules/link/types.ts +10 -0
- package/src/lib/components/molecules/links-cake/links-cake.component.scss +9 -0
- package/src/lib/components/molecules/links-cake/links-cake.component.ts +30 -0
- package/{lib/components/molecules/links-cake/types.d.ts → src/lib/components/molecules/links-cake/types.ts} +4 -3
- package/src/lib/components/molecules/notes-box/notes-box.component.scss +5 -0
- package/src/lib/components/molecules/notes-box/notes-box.component.ts +28 -0
- package/src/lib/components/molecules/notes-box/types.ts +9 -0
- package/src/lib/components/molecules/number-input/number-input.component.scss +0 -0
- package/src/lib/components/molecules/number-input/number-input.component.ts +19 -0
- package/src/lib/components/molecules/password-input/password-input.component.scss +7 -0
- package/src/lib/components/molecules/password-input/password-input.component.ts +33 -0
- package/src/lib/components/molecules/pin-input/pin-input.component.scss +13 -0
- package/src/lib/components/molecules/pin-input/pin-input.component.ts +42 -0
- package/src/lib/components/molecules/progress-status/progress-status.component.scss +41 -0
- package/src/lib/components/molecules/progress-status/progress-status.component.ts +70 -0
- package/src/lib/components/molecules/progress-status/types.ts +11 -0
- package/src/lib/components/molecules/prompter/prompter.component.scss +34 -0
- package/src/lib/components/molecules/prompter/prompter.component.ts +58 -0
- package/{lib/components/molecules/prompter/types.d.ts → src/lib/components/molecules/prompter/types.ts} +7 -6
- package/src/lib/components/molecules/radio-input/radio-input.component.scss +0 -0
- package/src/lib/components/molecules/radio-input/radio-input.component.ts +27 -0
- package/src/lib/components/molecules/searchbar/searchbar.component.scss +9 -0
- package/src/lib/components/molecules/searchbar/searchbar.component.ts +47 -0
- package/src/lib/components/molecules/text-input/text-input.component.scss +1 -0
- package/src/lib/components/molecules/text-input/text-input.component.ts +19 -0
- package/src/lib/components/molecules/title-block/title-block.component.scss +36 -0
- package/src/lib/components/molecules/title-block/title-block.component.ts +50 -0
- package/src/lib/components/molecules/title-block/types.ts +14 -0
- package/src/lib/components/organisms/banner/banner.component.scss +45 -0
- package/src/lib/components/organisms/banner/banner.component.ts +57 -0
- package/src/lib/components/organisms/banner/types.ts +13 -0
- package/src/lib/components/organisms/footer/footer.component.scss +3 -0
- package/src/lib/components/organisms/footer/footer.component.ts +40 -0
- package/{lib/components/organisms/footer/types.d.ts → src/lib/components/organisms/footer/types.ts} +4 -3
- package/src/lib/components/organisms/form/factory.ts +11 -0
- package/src/lib/components/organisms/form/form-footer/form-footer.component.scss +0 -0
- package/src/lib/components/organisms/form/form-footer/form-footer.component.ts +63 -0
- package/src/lib/components/organisms/form/form.component.scss +16 -0
- package/src/lib/components/organisms/form/form.component.ts +183 -0
- package/src/lib/components/organisms/header/header.component.scss +0 -0
- package/src/lib/components/organisms/header/header.component.ts +32 -0
- package/{lib/components/organisms/header/types.d.ts → src/lib/components/organisms/header/types.ts} +4 -3
- package/src/lib/components/organisms/no-content/no-content.component.scss +11 -0
- package/src/lib/components/organisms/no-content/no-content.component.ts +32 -0
- package/{lib/components/organisms/no-content/types.d.ts → src/lib/components/organisms/no-content/types.ts} +3 -2
- package/src/lib/components/organisms/toolbar/toolbar.component.scss +13 -0
- package/src/lib/components/organisms/toolbar/toolbar.component.ts +119 -0
- package/src/lib/components/organisms/toolbar/types.ts +12 -0
- package/src/lib/components/organisms/wizard/types.ts +24 -0
- package/src/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.scss +0 -0
- package/src/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.ts +90 -0
- package/src/lib/components/organisms/wizard/wizard.component.scss +15 -0
- package/src/lib/components/organisms/wizard/wizard.component.ts +99 -0
- package/src/lib/components/templates/layout/layout.component.scss +22 -0
- package/src/lib/components/templates/layout/layout.component.ts +14 -0
- package/src/lib/components/templates/simple/simple.component.scss +30 -0
- package/src/lib/components/templates/simple/simple.component.ts +60 -0
- package/{lib/components/templates/simple/types.d.ts → src/lib/components/templates/simple/types.ts} +6 -5
- package/src/lib/components/types.ts +122 -0
- package/src/lib/services/download.service.ts +58 -0
- package/src/lib/services/in-app-browser.service.ts +19 -0
- package/src/lib/services/lang-provider/components/lang-settings.ts +14 -0
- package/src/lib/services/lang-provider/components/theme-settings.ts +16 -0
- package/src/lib/services/lang-provider/content.ts +14 -0
- package/src/lib/services/lang-provider/lang-provider.service.ts +38 -0
- package/src/lib/services/lang-provider/types.ts +25 -0
- package/src/lib/services/local-storage.service.ts +18 -0
- package/src/lib/services/navigation.service.ts +39 -0
- package/src/lib/services/theme.service.ts +102 -0
- package/{lib/services/types.d.ts → src/lib/services/types.ts} +4 -2
- package/src/lib/shared/constants/storage.ts +2 -0
- package/src/lib/shared/utils/dom.ts +19 -0
- package/{public-api.d.ts → src/public-api.ts} +13 -0
- package/tsconfig.lib.json +14 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +14 -0
- package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +0 -31
- package/esm2022/lib/components/atoms/avatar/types.mjs +0 -2
- package/esm2022/lib/components/atoms/box/box.component.mjs +0 -47
- package/esm2022/lib/components/atoms/box/types.mjs +0 -2
- package/esm2022/lib/components/atoms/button/button.component.mjs +0 -69
- package/esm2022/lib/components/atoms/button/factory.mjs +0 -217
- package/esm2022/lib/components/atoms/display/display.component.mjs +0 -28
- package/esm2022/lib/components/atoms/display/types.mjs +0 -2
- package/esm2022/lib/components/atoms/divider/divider.component.mjs +0 -17
- package/esm2022/lib/components/atoms/divider/types.mjs +0 -2
- package/esm2022/lib/components/atoms/href/href.component.mjs +0 -51
- package/esm2022/lib/components/atoms/href/types.mjs +0 -2
- package/esm2022/lib/components/atoms/icon/icon.component.mjs +0 -18
- package/esm2022/lib/components/atoms/icon/types.mjs +0 -2
- package/esm2022/lib/components/atoms/image/image.component.mjs +0 -50
- package/esm2022/lib/components/atoms/image/types.mjs +0 -2
- package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +0 -36
- package/esm2022/lib/components/atoms/progress-bar/types.mjs +0 -2
- package/esm2022/lib/components/atoms/text/text.component.mjs +0 -24
- package/esm2022/lib/components/atoms/text/types.mjs +0 -2
- package/esm2022/lib/components/atoms/title/title.component.mjs +0 -31
- package/esm2022/lib/components/atoms/title/types.mjs +0 -2
- package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +0 -32
- package/esm2022/lib/components/molecules/alert-box/types.mjs +0 -2
- package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +0 -49
- package/esm2022/lib/components/molecules/button-group/types.mjs +0 -2
- package/esm2022/lib/components/molecules/card/card.component.mjs +0 -369
- package/esm2022/lib/components/molecules/card/types.mjs +0 -16
- package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +0 -15
- package/esm2022/lib/components/molecules/comment-input/comment-input.component.mjs +0 -23
- package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +0 -32
- package/esm2022/lib/components/molecules/content-loader/types.mjs +0 -2
- package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +0 -73
- package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +0 -19
- package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +0 -69
- package/esm2022/lib/components/molecules/hint/hint.component.mjs +0 -52
- package/esm2022/lib/components/molecules/hour-input/hour-input.component.mjs +0 -18
- package/esm2022/lib/components/molecules/link/link.component.mjs +0 -37
- package/esm2022/lib/components/molecules/link/types.mjs +0 -2
- package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +0 -37
- package/esm2022/lib/components/molecules/links-cake/types.mjs +0 -2
- package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +0 -33
- package/esm2022/lib/components/molecules/notes-box/types.mjs +0 -2
- package/esm2022/lib/components/molecules/number-input/number-input.component.mjs +0 -18
- package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +0 -44
- package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +0 -45
- package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +0 -94
- package/esm2022/lib/components/molecules/progress-status/types.mjs +0 -2
- package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +0 -84
- package/esm2022/lib/components/molecules/prompter/types.mjs +0 -2
- package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +0 -33
- package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +0 -61
- package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +0 -18
- package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +0 -77
- package/esm2022/lib/components/molecules/title-block/types.mjs +0 -2
- package/esm2022/lib/components/organisms/banner/banner.component.mjs +0 -75
- package/esm2022/lib/components/organisms/banner/types.mjs +0 -2
- package/esm2022/lib/components/organisms/footer/footer.component.mjs +0 -50
- package/esm2022/lib/components/organisms/footer/types.mjs +0 -2
- package/esm2022/lib/components/organisms/form/factory.mjs +0 -8
- package/esm2022/lib/components/organisms/form/form-footer/form-footer.component.mjs +0 -76
- package/esm2022/lib/components/organisms/form/form.component.mjs +0 -230
- package/esm2022/lib/components/organisms/header/header.component.mjs +0 -33
- package/esm2022/lib/components/organisms/header/types.mjs +0 -2
- package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +0 -34
- package/esm2022/lib/components/organisms/no-content/types.mjs +0 -2
- package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +0 -168
- package/esm2022/lib/components/organisms/toolbar/types.mjs +0 -2
- package/esm2022/lib/components/organisms/wizard/types.mjs +0 -7
- package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +0 -107
- package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +0 -103
- package/esm2022/lib/components/templates/layout/layout.component.mjs +0 -19
- package/esm2022/lib/components/templates/simple/simple.component.mjs +0 -72
- package/esm2022/lib/components/templates/simple/types.mjs +0 -2
- package/esm2022/lib/components/types.mjs +0 -36
- package/esm2022/lib/services/download.service.mjs +0 -63
- package/esm2022/lib/services/lang-provider/components/lang-settings.mjs +0 -13
- package/esm2022/lib/services/lang-provider/components/theme-settings.mjs +0 -15
- package/esm2022/lib/services/lang-provider/content.mjs +0 -8
- package/esm2022/lib/services/lang-provider/lang-provider.service.mjs +0 -39
- package/esm2022/lib/services/lang-provider/types.mjs +0 -14
- package/esm2022/lib/services/local-storage.service.mjs +0 -16
- package/esm2022/lib/services/theme.service.mjs +0 -97
- package/esm2022/lib/services/types.mjs +0 -3
- package/esm2022/lib/shared/constants/storage.mjs +0 -3
- package/esm2022/lib/shared/utils/dom.mjs +0 -17
- package/esm2022/public-api.mjs +0 -88
- package/esm2022/valtech-components.mjs +0 -5
- package/fesm2022/valtech-components.mjs +0 -2987
- package/fesm2022/valtech-components.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/components/atoms/avatar/avatar.component.d.ts +0 -12
- package/lib/components/atoms/avatar/types.d.ts +0 -6
- package/lib/components/atoms/box/box.component.d.ts +0 -12
- package/lib/components/atoms/box/types.d.ts +0 -7
- package/lib/components/atoms/button/button.component.d.ts +0 -20
- package/lib/components/atoms/button/factory.d.ts +0 -71
- package/lib/components/atoms/display/display.component.d.ts +0 -10
- package/lib/components/atoms/display/types.d.ts +0 -6
- package/lib/components/atoms/divider/divider.component.d.ts +0 -10
- package/lib/components/atoms/divider/types.d.ts +0 -5
- package/lib/components/atoms/href/href.component.d.ts +0 -15
- package/lib/components/atoms/href/types.d.ts +0 -9
- package/lib/components/atoms/icon/icon.component.d.ts +0 -10
- package/lib/components/atoms/icon/types.d.ts +0 -6
- package/lib/components/atoms/image/image.component.d.ts +0 -12
- package/lib/components/atoms/image/types.d.ts +0 -11
- package/lib/components/atoms/progress-bar/progress-bar.component.d.ts +0 -10
- package/lib/components/atoms/progress-bar/types.d.ts +0 -9
- package/lib/components/atoms/text/text.component.d.ts +0 -10
- package/lib/components/atoms/text/types.d.ts +0 -7
- package/lib/components/atoms/title/title.component.d.ts +0 -10
- package/lib/components/atoms/title/types.d.ts +0 -7
- package/lib/components/molecules/alert-box/alert-box.component.d.ts +0 -10
- package/lib/components/molecules/button-group/button-group.component.d.ts +0 -13
- package/lib/components/molecules/button-group/types.d.ts +0 -6
- package/lib/components/molecules/card/card.component.d.ts +0 -16
- package/lib/components/molecules/card/types.d.ts +0 -32
- package/lib/components/molecules/check-input/check-input.component.d.ts +0 -8
- package/lib/components/molecules/comment-input/comment-input.component.d.ts +0 -10
- package/lib/components/molecules/content-loader/content-loader.component.d.ts +0 -10
- package/lib/components/molecules/content-loader/types.d.ts +0 -7
- package/lib/components/molecules/date-input/date-input.component.d.ts +0 -10
- package/lib/components/molecules/email-input/email-input.component.d.ts +0 -10
- package/lib/components/molecules/file-input/file-input.component.d.ts +0 -15
- package/lib/components/molecules/hint/hint.component.d.ts +0 -11
- package/lib/components/molecules/hour-input/hour-input.component.d.ts +0 -10
- package/lib/components/molecules/link/link.component.d.ts +0 -12
- package/lib/components/molecules/link/types.d.ts +0 -6
- package/lib/components/molecules/links-cake/links-cake.component.d.ts +0 -10
- package/lib/components/molecules/notes-box/notes-box.component.d.ts +0 -10
- package/lib/components/molecules/notes-box/types.d.ts +0 -8
- package/lib/components/molecules/number-input/number-input.component.d.ts +0 -10
- package/lib/components/molecules/password-input/password-input.component.d.ts +0 -11
- package/lib/components/molecules/pin-input/pin-input.component.d.ts +0 -15
- package/lib/components/molecules/progress-status/progress-status.component.d.ts +0 -14
- package/lib/components/molecules/progress-status/types.d.ts +0 -10
- package/lib/components/molecules/prompter/prompter.component.d.ts +0 -12
- package/lib/components/molecules/radio-input/radio-input.component.d.ts +0 -10
- package/lib/components/molecules/searchbar/searchbar.component.d.ts +0 -14
- package/lib/components/molecules/text-input/text-input.component.d.ts +0 -10
- package/lib/components/molecules/title-block/title-block.component.d.ts +0 -10
- package/lib/components/molecules/title-block/types.d.ts +0 -12
- package/lib/components/organisms/banner/banner.component.d.ts +0 -14
- package/lib/components/organisms/banner/types.d.ts +0 -12
- package/lib/components/organisms/footer/footer.component.d.ts +0 -12
- package/lib/components/organisms/form/factory.d.ts +0 -5
- package/lib/components/organisms/form/form-footer/form-footer.component.d.ts +0 -15
- package/lib/components/organisms/form/form.component.d.ts +0 -23
- package/lib/components/organisms/header/header.component.d.ts +0 -12
- package/lib/components/organisms/no-content/no-content.component.d.ts +0 -12
- package/lib/components/organisms/toolbar/toolbar.component.d.ts +0 -21
- package/lib/components/organisms/toolbar/types.d.ts +0 -11
- package/lib/components/organisms/wizard/types.d.ts +0 -20
- package/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.d.ts +0 -21
- package/lib/components/organisms/wizard/wizard.component.d.ts +0 -22
- package/lib/components/templates/layout/layout.component.d.ts +0 -5
- package/lib/components/templates/simple/simple.component.d.ts +0 -7
- package/lib/components/types.d.ts +0 -113
- package/lib/services/download.service.d.ts +0 -8
- package/lib/services/lang-provider/components/lang-settings.d.ts +0 -3
- package/lib/services/lang-provider/components/theme-settings.d.ts +0 -3
- package/lib/services/lang-provider/content.d.ts +0 -6
- package/lib/services/lang-provider/lang-provider.service.d.ts +0 -17
- package/lib/services/lang-provider/types.d.ts +0 -15
- package/lib/services/local-storage.service.d.ts +0 -6
- package/lib/services/theme.service.d.ts +0 -27
- package/lib/shared/constants/storage.d.ts +0 -2
- package/lib/shared/utils/dom.d.ts +0 -3
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/* eslint-disable no-underscore-dangle */
|
|
2
|
+
|
|
3
|
+
import { Injectable } from '@angular/core';
|
|
4
|
+
import { Browser, OpenOptions } from '@capacitor/browser';
|
|
5
|
+
|
|
6
|
+
@Injectable({
|
|
7
|
+
providedIn: 'root',
|
|
8
|
+
})
|
|
9
|
+
export class InAppBrowserService {
|
|
10
|
+
options: OpenOptions = {
|
|
11
|
+
presentationStyle: 'popover',
|
|
12
|
+
url: '',
|
|
13
|
+
};
|
|
14
|
+
constructor() {}
|
|
15
|
+
|
|
16
|
+
async openWithInAppBrowser(url: string) {
|
|
17
|
+
await Browser.open({ ...this.options, url });
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { LanguagesContent, TextContent } from '../types';
|
|
2
|
+
|
|
3
|
+
const text: LanguagesContent = {
|
|
4
|
+
es: {
|
|
5
|
+
spanish: 'Español',
|
|
6
|
+
english: 'Inglés',
|
|
7
|
+
},
|
|
8
|
+
en: {
|
|
9
|
+
spanish: 'Spanish',
|
|
10
|
+
english: 'English',
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export default new TextContent(text);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LanguagesContent, TextContent } from '../types';
|
|
2
|
+
|
|
3
|
+
const text: LanguagesContent = {
|
|
4
|
+
es: {
|
|
5
|
+
light: 'Siempre claro',
|
|
6
|
+
dark: 'Siempre oscuro',
|
|
7
|
+
auto: 'Automático',
|
|
8
|
+
},
|
|
9
|
+
en: {
|
|
10
|
+
light: 'Always light',
|
|
11
|
+
dark: 'Always dark',
|
|
12
|
+
auto: 'System settings',
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export default new TextContent(text);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import LangSettings from './components/lang-settings';
|
|
2
|
+
import ThemeSettings from './components/theme-settings';
|
|
3
|
+
import { TextContent } from './types';
|
|
4
|
+
|
|
5
|
+
export interface Provider {
|
|
6
|
+
[x: string]: TextContent;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const content: Provider = {
|
|
10
|
+
LangSettings,
|
|
11
|
+
ThemeSettings,
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export default content;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { Provider } from './content';
|
|
4
|
+
import { LangOption, LanguageText } from './types';
|
|
5
|
+
import { LocalStorageService } from '../local-storage.service';
|
|
6
|
+
import { LANG } from '../../shared/constants/storage';
|
|
7
|
+
import { ValtechConfig, ValtechConfigService } from '../types';
|
|
8
|
+
|
|
9
|
+
@Injectable({
|
|
10
|
+
providedIn: 'root',
|
|
11
|
+
})
|
|
12
|
+
export class LangService {
|
|
13
|
+
content: Provider;
|
|
14
|
+
default = LangOption.ES;
|
|
15
|
+
selectedLang: BehaviorSubject<LangOption>;
|
|
16
|
+
config: ValtechConfig;
|
|
17
|
+
|
|
18
|
+
constructor(@Inject(ValtechConfigService) config: ValtechConfig) {
|
|
19
|
+
console.log('injected config: ', config);
|
|
20
|
+
this.content = config.content;
|
|
21
|
+
this.config = config;
|
|
22
|
+
const current = LocalStorageService.get<LangOption>(LANG);
|
|
23
|
+
this.selectedLang = new BehaviorSubject<LangOption>(current || this.default);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
Text(className: string): LanguageText {
|
|
27
|
+
return this.content[className].Content[this.selectedLang.value];
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
get Lang(): LangOption {
|
|
31
|
+
return this.selectedLang.value;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
set Lang(lang: LangOption) {
|
|
35
|
+
this.selectedLang.next(lang);
|
|
36
|
+
LocalStorageService.set<LangOption>(LANG, lang);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Provider } from './content';
|
|
2
|
+
|
|
3
|
+
export type LanguageText = {
|
|
4
|
+
[key: string]: string;
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
export type LanguagesContent = {
|
|
8
|
+
[key: string]: LanguageText;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export class TextContent {
|
|
12
|
+
text: LanguagesContent;
|
|
13
|
+
constructor(text: LanguagesContent) {
|
|
14
|
+
this.text = text;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
get Content(): LanguagesContent {
|
|
18
|
+
return this.text;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export enum LangOption {
|
|
23
|
+
ES = 'es',
|
|
24
|
+
EN = 'en',
|
|
25
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export class LocalStorageService {
|
|
2
|
+
static set<T>(reference: string, value: T): void {
|
|
3
|
+
localStorage.setItem(reference, JSON.stringify(value));
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
static get<T>(reference: string): T {
|
|
7
|
+
const value = localStorage.getItem(reference);
|
|
8
|
+
return JSON.parse(value) as T;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
static remove(reference: string): void {
|
|
12
|
+
localStorage.removeItem(reference);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
static clear() {
|
|
16
|
+
localStorage.clear();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { inject, Injectable } from '@angular/core';
|
|
2
|
+
import { NavigationExtras, Router } from '@angular/router';
|
|
3
|
+
import { InAppBrowserService } from './in-app-browser.service';
|
|
4
|
+
|
|
5
|
+
@Injectable({
|
|
6
|
+
providedIn: 'root',
|
|
7
|
+
})
|
|
8
|
+
export class NavigationService {
|
|
9
|
+
data: any;
|
|
10
|
+
router = inject(Router);
|
|
11
|
+
inAppBrowser = inject(InAppBrowserService);
|
|
12
|
+
|
|
13
|
+
constructor() {}
|
|
14
|
+
|
|
15
|
+
navigateInApp(url: string) {
|
|
16
|
+
this.inAppBrowser.openWithInAppBrowser(url);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
navigateWithData(route: string, dataTransfer: any) {
|
|
20
|
+
const navigationExtras: NavigationExtras = {
|
|
21
|
+
state: {
|
|
22
|
+
data: dataTransfer,
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
this.router.navigate([route], navigationExtras);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
navigateByUrl(url: string) {
|
|
30
|
+
this.router
|
|
31
|
+
.navigateByUrl(url)
|
|
32
|
+
.then(response => {})
|
|
33
|
+
.catch(error => {});
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
openInNewTab(url: string): void {
|
|
37
|
+
window.open(url, '_blank', 'noopener,noreferrer');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { LocalStorageService } from './local-storage.service';
|
|
4
|
+
import { THEME } from '../shared/constants/storage';
|
|
5
|
+
|
|
6
|
+
export enum ThemeOption {
|
|
7
|
+
LIGHT = 'light',
|
|
8
|
+
DARK = 'dark',
|
|
9
|
+
AUTO = 'auto',
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
@Injectable({
|
|
13
|
+
providedIn: 'root',
|
|
14
|
+
})
|
|
15
|
+
export class ThemeService {
|
|
16
|
+
lightToggle = false;
|
|
17
|
+
darkToggle = false;
|
|
18
|
+
autoToggle = false;
|
|
19
|
+
currentOption = ThemeOption.AUTO;
|
|
20
|
+
themeOptions = ThemeOption;
|
|
21
|
+
prefersDark = false;
|
|
22
|
+
default = ThemeOption.AUTO;
|
|
23
|
+
theme: BehaviorSubject<ThemeOption>;
|
|
24
|
+
|
|
25
|
+
constructor() {
|
|
26
|
+
const current = LocalStorageService.get<ThemeOption>(THEME);
|
|
27
|
+
console.log('💡 ThemeConfig current::: ', current);
|
|
28
|
+
this.theme = new BehaviorSubject<ThemeOption>(current || this.default);
|
|
29
|
+
this.currentOption = this.Theme;
|
|
30
|
+
console.log('💡 ThemeConfig this.currentOption::: ', this.currentOption);
|
|
31
|
+
this.toggleUserPreference(this.currentOption);
|
|
32
|
+
|
|
33
|
+
const prefersDarkQuery = window.matchMedia('(prefers-color-scheme: dark)');
|
|
34
|
+
this.prefersDark = prefersDarkQuery.matches;
|
|
35
|
+
this.handleAutoConfiguration();
|
|
36
|
+
|
|
37
|
+
prefersDarkQuery.addEventListener('change', mediaQuery => {
|
|
38
|
+
console.log('💡 ThemeConfig addEventListener change::: ', mediaQuery);
|
|
39
|
+
this.prefersDark = mediaQuery.matches;
|
|
40
|
+
this.handleAutoConfiguration();
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
private handleAutoConfiguration() {
|
|
45
|
+
if (this.prefersDark && this.currentOption === ThemeOption.AUTO) {
|
|
46
|
+
console.log('💡 ThemeConfig prefersDark::: ', this.prefersDark);
|
|
47
|
+
this.toggleUserPreference(ThemeOption.AUTO);
|
|
48
|
+
}
|
|
49
|
+
if (!this.prefersDark && this.currentOption === ThemeOption.AUTO) {
|
|
50
|
+
console.log('💡 ThemeConfig prefersDark::: ', this.prefersDark);
|
|
51
|
+
this.toggleUserPreference(ThemeOption.AUTO);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
private handleDarkPreference() {
|
|
56
|
+
this.toggleTheme(ThemeOption.DARK, true);
|
|
57
|
+
this.toggleTheme(ThemeOption.LIGHT, false);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
private handleLightPreference() {
|
|
61
|
+
this.toggleTheme(ThemeOption.LIGHT, true);
|
|
62
|
+
this.toggleTheme(ThemeOption.DARK, false);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
get Theme(): ThemeOption {
|
|
66
|
+
return this.theme.value;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
set Theme(theme: ThemeOption) {
|
|
70
|
+
this.theme.next(theme);
|
|
71
|
+
LocalStorageService.set<ThemeOption>(THEME, theme);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
toggleTheme(name: string, shouldAdd: boolean) {
|
|
75
|
+
console.log('toggleTheme::: ', name, shouldAdd);
|
|
76
|
+
document.body.classList.toggle(name, shouldAdd);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
toggleUserPreference(option: ThemeOption) {
|
|
80
|
+
this.currentOption = option;
|
|
81
|
+
this.Theme = option;
|
|
82
|
+
this.lightToggle = option === ThemeOption.LIGHT;
|
|
83
|
+
this.darkToggle = option === ThemeOption.DARK;
|
|
84
|
+
this.autoToggle = option === ThemeOption.AUTO;
|
|
85
|
+
|
|
86
|
+
switch (option) {
|
|
87
|
+
case ThemeOption.LIGHT:
|
|
88
|
+
this.handleLightPreference();
|
|
89
|
+
break;
|
|
90
|
+
case ThemeOption.DARK:
|
|
91
|
+
this.handleDarkPreference();
|
|
92
|
+
break;
|
|
93
|
+
case ThemeOption.AUTO:
|
|
94
|
+
if (this.prefersDark) {
|
|
95
|
+
this.handleDarkPreference();
|
|
96
|
+
} else {
|
|
97
|
+
this.handleLightPreference();
|
|
98
|
+
}
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
import { Provider } from './lang-provider/content';
|
|
3
|
+
|
|
3
4
|
export interface ValtechConfig {
|
|
4
|
-
|
|
5
|
+
content: Provider;
|
|
5
6
|
}
|
|
6
|
-
|
|
7
|
+
|
|
8
|
+
export const ValtechConfigService = new InjectionToken<ValtechConfig>('ValtechConfig');
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
|
2
|
+
|
|
3
|
+
export const goToTop = (id: string): void => {
|
|
4
|
+
const element = document.getElementById(id);
|
|
5
|
+
if (element) {
|
|
6
|
+
element.scrollIntoView({
|
|
7
|
+
block: 'start',
|
|
8
|
+
inline: 'nearest',
|
|
9
|
+
behavior: 'smooth',
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export const isAtEnd = (elementRef: ElementRef): boolean => {
|
|
15
|
+
const formElement = elementRef.nativeElement;
|
|
16
|
+
const rect = formElement.getBoundingClientRect();
|
|
17
|
+
const windowHeight = window.innerHeight;
|
|
18
|
+
return rect.bottom <= windowHeight;
|
|
19
|
+
};
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of valtech-components
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
* Public API Surface of valtech-components
|
|
7
|
+
*/
|
|
8
|
+
|
|
1
9
|
export * from './lib/components/atoms/avatar/avatar.component';
|
|
2
10
|
export * from './lib/components/atoms/avatar/types';
|
|
3
11
|
export * from './lib/components/atoms/box/box.component';
|
|
@@ -20,6 +28,7 @@ export * from './lib/components/atoms/text/text.component';
|
|
|
20
28
|
export * from './lib/components/atoms/text/types';
|
|
21
29
|
export * from './lib/components/atoms/title/title.component';
|
|
22
30
|
export * from './lib/components/atoms/title/types';
|
|
31
|
+
|
|
23
32
|
export * from './lib/components/molecules/alert-box/alert-box.component';
|
|
24
33
|
export * from './lib/components/molecules/alert-box/types';
|
|
25
34
|
export * from './lib/components/molecules/button-group/button-group.component';
|
|
@@ -53,6 +62,7 @@ export * from './lib/components/molecules/searchbar/searchbar.component';
|
|
|
53
62
|
export * from './lib/components/molecules/text-input/text-input.component';
|
|
54
63
|
export * from './lib/components/molecules/title-block/title-block.component';
|
|
55
64
|
export * from './lib/components/molecules/title-block/types';
|
|
65
|
+
|
|
56
66
|
export * from './lib/components/organisms/banner/banner.component';
|
|
57
67
|
export * from './lib/components/organisms/banner/types';
|
|
58
68
|
export * from './lib/components/organisms/footer/footer.component';
|
|
@@ -68,14 +78,17 @@ export * from './lib/components/organisms/toolbar/types';
|
|
|
68
78
|
export * from './lib/components/organisms/wizard/types';
|
|
69
79
|
export * from './lib/components/organisms/wizard/wizard-footer/wizard-footer.component';
|
|
70
80
|
export * from './lib/components/organisms/wizard/wizard.component';
|
|
81
|
+
|
|
71
82
|
export * from './lib/components/templates/layout/layout.component';
|
|
72
83
|
export * from './lib/components/templates/simple/simple.component';
|
|
73
84
|
export * from './lib/components/templates/simple/types';
|
|
85
|
+
|
|
74
86
|
export * from './lib/services/download.service';
|
|
75
87
|
export * from './lib/services/lang-provider/lang-provider.service';
|
|
76
88
|
export * from './lib/services/lang-provider/types';
|
|
77
89
|
export * from './lib/services/local-storage.service';
|
|
78
90
|
export * from './lib/services/theme.service';
|
|
79
91
|
export * from './lib/services/types';
|
|
92
|
+
|
|
80
93
|
export * from './lib/components/types';
|
|
81
94
|
export * from './lib/shared/utils/dom';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
|
2
|
+
{
|
|
3
|
+
"extends": "../../tsconfig.json",
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"outDir": "../../out-tsc/lib",
|
|
6
|
+
"declaration": true,
|
|
7
|
+
"declarationMap": true,
|
|
8
|
+
"inlineSources": true,
|
|
9
|
+
"types": []
|
|
10
|
+
},
|
|
11
|
+
"exclude": [
|
|
12
|
+
"**/*.spec.ts"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
|
2
|
+
{
|
|
3
|
+
"extends": "../../tsconfig.json",
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"outDir": "../../out-tsc/spec",
|
|
6
|
+
"types": [
|
|
7
|
+
"jasmine"
|
|
8
|
+
]
|
|
9
|
+
},
|
|
10
|
+
"include": [
|
|
11
|
+
"**/*.spec.ts",
|
|
12
|
+
"**/*.d.ts"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { IonAvatar } from '@ionic/angular/standalone';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class AvatarComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.onClick = new EventEmitter();
|
|
7
|
-
}
|
|
8
|
-
ngOnInit() { }
|
|
9
|
-
onClickHandler() {
|
|
10
|
-
this.onClick.emit();
|
|
11
|
-
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AvatarComponent, isStandalone: true, selector: "val-avatar", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
|
|
14
|
-
<ion-avatar [class]="props.size" [class.box]="props.box" (click)="onClickHandler()">
|
|
15
|
-
<img alt="profile image" [src]="props.image || props.default" />
|
|
16
|
-
</ion-avatar>
|
|
17
|
-
`, isInline: true, styles: [".box{--border-radius: pxToRem(4)}.small{width:1.75rem;height:1.75rem}.medium{width:2.375rem;height:2.375rem}.large{width:3rem;height:3rem}\n"], dependencies: [{ kind: "component", type: IonAvatar, selector: "ion-avatar" }] }); }
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AvatarComponent, decorators: [{
|
|
20
|
-
type: Component,
|
|
21
|
-
args: [{ selector: 'val-avatar', standalone: true, imports: [IonAvatar], template: `
|
|
22
|
-
<ion-avatar [class]="props.size" [class.box]="props.box" (click)="onClickHandler()">
|
|
23
|
-
<img alt="profile image" [src]="props.image || props.default" />
|
|
24
|
-
</ion-avatar>
|
|
25
|
-
`, styles: [".box{--border-radius: pxToRem(4)}.small{width:1.75rem;height:1.75rem}.medium{width:2.375rem;height:2.375rem}.large{width:3rem;height:3rem}\n"] }]
|
|
26
|
-
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
27
|
-
type: Input
|
|
28
|
-
}], onClick: [{
|
|
29
|
-
type: Output
|
|
30
|
-
}] } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBY3RELE1BQU0sT0FBTyxlQUFlO0lBTTFCO1FBRkEsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFZCxDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDO0lBRWIsY0FBYztRQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQzsrR0FaVSxlQUFlO21HQUFmLGVBQWUsbUlBUGhCOzs7O0dBSVQsc05BTFMsU0FBUzs7NEZBUVIsZUFBZTtrQkFYM0IsU0FBUzsrQkFDRSxZQUFZLGNBQ1YsSUFBSSxXQUNQLENBQUMsU0FBUyxDQUFDLFlBQ1Y7Ozs7R0FJVDt3REFJUSxLQUFLO3NCQUFiLEtBQUs7Z0JBR04sT0FBTztzQkFETixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQXZhdGFyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBBdmF0YXJNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYXZhdGFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0lvbkF2YXRhcl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1hdmF0YXIgW2NsYXNzXT1cInByb3BzLnNpemVcIiBbY2xhc3MuYm94XT1cInByb3BzLmJveFwiIChjbGljayk9XCJvbkNsaWNrSGFuZGxlcigpXCI+XG4gICAgICA8aW1nIGFsdD1cInByb2ZpbGUgaW1hZ2VcIiBbc3JjXT1cInByb3BzLmltYWdlIHx8IHByb3BzLmRlZmF1bHRcIiAvPlxuICAgIDwvaW9uLWF2YXRhcj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHByb3BzOiBBdmF0YXJNZXRhZGF0YTtcblxuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIG9uQ2xpY2tIYW5kbGVyKCkge1xuICAgIHRoaXMub25DbGljay5lbWl0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL2F2YXRhci90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBdmF0YXJNZXRhZGF0YSB7XG4gIGltYWdlOiBzdHJpbmc7XG4gIGRlZmF1bHQ6IHN0cmluZztcbiAgc2l6ZTogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJztcbiAgYm94PzogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
-
import { IonCard, IonIcon } from '@ionic/angular/standalone';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
export class BoxComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.onClick = new EventEmitter();
|
|
9
|
-
}
|
|
10
|
-
ngOnInit() { }
|
|
11
|
-
clickHandler() {
|
|
12
|
-
this.onClick.emit();
|
|
13
|
-
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BoxComponent, isStandalone: true, selector: "val-box", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
|
|
16
|
-
<ion-card
|
|
17
|
-
class="box"
|
|
18
|
-
[color]="props.color"
|
|
19
|
-
[class.bordered]="props.bordered"
|
|
20
|
-
[class.transparent]="!props.color"
|
|
21
|
-
[class.left-border]="props.leftBorder"
|
|
22
|
-
>
|
|
23
|
-
<ion-icon *ngIf="!!props.icon" class="icon" [name]="props.icon" (click)="clickHandler()"></ion-icon>
|
|
24
|
-
<ng-content select="[body]"></ng-content>
|
|
25
|
-
</ion-card>
|
|
26
|
-
`, isInline: true, styles: [".bordered{border:.0625rem solid var(--ion-color-medium)}.box{width:100%;margin:0rem;border-radius:0rem;box-shadow:none;padding:.25rem}@media (min-width: 768px){.box{padding:.5rem}}.icon{cursor:pointer;margin:0rem;padding:0rem;position:absolute;right:.25rem;top:.25rem;font-size:1rem}@media (min-width: 768px){.icon{right:.5rem;top:.5rem;font-size:1.5rem}}.left-border{border-left:.1875rem solid #dde3ed}.left-border.small{border-width:.1875rem}.left-border.medium{border-width:.375rem}.left-border.large{border-width:.4375rem}.left-border.xlarge{border-width:.5rem}.transparent{--background: transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
|
|
27
|
-
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BoxComponent, decorators: [{
|
|
29
|
-
type: Component,
|
|
30
|
-
args: [{ selector: 'val-box', standalone: true, imports: [CommonModule, IonCard, IonIcon], template: `
|
|
31
|
-
<ion-card
|
|
32
|
-
class="box"
|
|
33
|
-
[color]="props.color"
|
|
34
|
-
[class.bordered]="props.bordered"
|
|
35
|
-
[class.transparent]="!props.color"
|
|
36
|
-
[class.left-border]="props.leftBorder"
|
|
37
|
-
>
|
|
38
|
-
<ion-icon *ngIf="!!props.icon" class="icon" [name]="props.icon" (click)="clickHandler()"></ion-icon>
|
|
39
|
-
<ng-content select="[body]"></ng-content>
|
|
40
|
-
</ion-card>
|
|
41
|
-
`, styles: [".bordered{border:.0625rem solid var(--ion-color-medium)}.box{width:100%;margin:0rem;border-radius:0rem;box-shadow:none;padding:.25rem}@media (min-width: 768px){.box{padding:.5rem}}.icon{cursor:pointer;margin:0rem;padding:0rem;position:absolute;right:.25rem;top:.25rem;font-size:1rem}@media (min-width: 768px){.icon{right:.5rem;top:.5rem;font-size:1.5rem}}.left-border{border-left:.1875rem solid #dde3ed}.left-border.small{border-width:.1875rem}.left-border.medium{border-width:.375rem}.left-border.large{border-width:.4375rem}.left-border.xlarge{border-width:.5rem}.transparent{--background: transparent}\n"] }]
|
|
42
|
-
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}], onClick: [{
|
|
45
|
-
type: Output
|
|
46
|
-
}] } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYm94L2JveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBcUI3RCxNQUFNLE9BQU8sWUFBWTtJQU92QjtRQUZBLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRWQsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUViLFlBQVk7UUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7K0dBYlUsWUFBWTttR0FBWixZQUFZLGdJQWRiOzs7Ozs7Ozs7OztHQVdULHVxQkFaUyxZQUFZLG1JQUFFLE9BQU8seUxBQUUsT0FBTzs7NEZBZTdCLFlBQVk7a0JBbEJ4QixTQUFTOytCQUNFLFNBQVMsY0FDUCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxZQUMvQjs7Ozs7Ozs7Ozs7R0FXVDt3REFLRCxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sT0FBTztzQkFETixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkNhcmQsIElvbkljb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEJveE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1ib3gnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25DYXJkLCBJb25JY29uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWNhcmRcbiAgICAgIGNsYXNzPVwiYm94XCJcbiAgICAgIFtjb2xvcl09XCJwcm9wcy5jb2xvclwiXG4gICAgICBbY2xhc3MuYm9yZGVyZWRdPVwicHJvcHMuYm9yZGVyZWRcIlxuICAgICAgW2NsYXNzLnRyYW5zcGFyZW50XT1cIiFwcm9wcy5jb2xvclwiXG4gICAgICBbY2xhc3MubGVmdC1ib3JkZXJdPVwicHJvcHMubGVmdEJvcmRlclwiXG4gICAgPlxuICAgICAgPGlvbi1pY29uICpuZ0lmPVwiISFwcm9wcy5pY29uXCIgY2xhc3M9XCJpY29uXCIgW25hbWVdPVwicHJvcHMuaWNvblwiIChjbGljayk9XCJjbGlja0hhbmRsZXIoKVwiPjwvaW9uLWljb24+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYm9keV1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9pb24tY2FyZD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYm94LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHByb3BzOiBCb3hNZXRhZGF0YTtcblxuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGNsaWNrSGFuZGxlcigpIHtcbiAgICB0aGlzLm9uQ2xpY2suZW1pdCgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL2JveC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm94TWV0YWRhdGEge1xuICBjb2xvcjogQ29sb3I7XG4gIGljb246IHN0cmluZztcbiAgYm9yZGVyZWQ/OiBib29sZWFuO1xuICBsZWZ0Qm9yZGVyPzogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
-
import { IonButton, IonIcon, IonSpinner, IonText } from '@ionic/angular/standalone';
|
|
4
|
-
import { ComponentStates } from '../../types';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../../services/download.service";
|
|
7
|
-
import * as i2 from "@angular/common";
|
|
8
|
-
export class ButtonComponent {
|
|
9
|
-
constructor(download) {
|
|
10
|
-
this.download = download;
|
|
11
|
-
this.states = ComponentStates;
|
|
12
|
-
this.onClick = new EventEmitter();
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() { }
|
|
15
|
-
clickHandler() {
|
|
16
|
-
if (this.props.download) {
|
|
17
|
-
this.download.downloadLinkFromBrowser(this.props.download);
|
|
18
|
-
}
|
|
19
|
-
if (this.props.state === this.states.DISABLED) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
this.onClick.emit(this.props.token);
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, deps: [{ token: i1.DownloadService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonComponent, isStandalone: true, selector: "val-button", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
|
|
26
|
-
<ion-button
|
|
27
|
-
[type]="props.type"
|
|
28
|
-
[color]="props.color"
|
|
29
|
-
[expand]="props.expand"
|
|
30
|
-
[fill]="props.fill"
|
|
31
|
-
[size]="props.size"
|
|
32
|
-
[href]="props.href"
|
|
33
|
-
[target]="props.target"
|
|
34
|
-
[shape]="props.shape"
|
|
35
|
-
(click)="clickHandler()"
|
|
36
|
-
[disabled]="props.state === states.DISABLED"
|
|
37
|
-
>
|
|
38
|
-
<ion-icon *ngIf="props.icon" [slot]="props.icon.slot" [name]="props.icon.name"></ion-icon>
|
|
39
|
-
<ion-spinner *ngIf="props.state === states.WORKING" name="circular"></ion-spinner>
|
|
40
|
-
<ion-text *ngIf="props.state !== states.WORKING">{{ props.text }}</ion-text>
|
|
41
|
-
</ion-button>
|
|
42
|
-
`, isInline: true, styles: ["ion-button{font-family:var(--ion-default-font),Arial,sans-serif}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
|
|
43
|
-
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
45
|
-
type: Component,
|
|
46
|
-
args: [{ selector: 'val-button', standalone: true, imports: [CommonModule, IonButton, IonIcon, IonSpinner, IonText], template: `
|
|
47
|
-
<ion-button
|
|
48
|
-
[type]="props.type"
|
|
49
|
-
[color]="props.color"
|
|
50
|
-
[expand]="props.expand"
|
|
51
|
-
[fill]="props.fill"
|
|
52
|
-
[size]="props.size"
|
|
53
|
-
[href]="props.href"
|
|
54
|
-
[target]="props.target"
|
|
55
|
-
[shape]="props.shape"
|
|
56
|
-
(click)="clickHandler()"
|
|
57
|
-
[disabled]="props.state === states.DISABLED"
|
|
58
|
-
>
|
|
59
|
-
<ion-icon *ngIf="props.icon" [slot]="props.icon.slot" [name]="props.icon.name"></ion-icon>
|
|
60
|
-
<ion-spinner *ngIf="props.state === states.WORKING" name="circular"></ion-spinner>
|
|
61
|
-
<ion-text *ngIf="props.state !== states.WORKING">{{ props.text }}</ion-text>
|
|
62
|
-
</ion-button>
|
|
63
|
-
`, styles: ["ion-button{font-family:var(--ion-default-font),Arial,sans-serif}\n"] }]
|
|
64
|
-
}], ctorParameters: () => [{ type: i1.DownloadService }], propDecorators: { props: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}], onClick: [{
|
|
67
|
-
type: Output
|
|
68
|
-
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBGLE9BQU8sRUFBa0IsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7O0FBMEI5RCxNQUFNLE9BQU8sZUFBZTtJQVMxQixZQUFvQixRQUF5QjtRQUF6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQVI3QyxXQUFNLEdBQUcsZUFBZSxDQUFDO1FBTXpCLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRVcsQ0FBQztJQUVqRCxRQUFRLEtBQUksQ0FBQztJQUViLFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDOUMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7K0dBckJVLGVBQWU7bUdBQWYsZUFBZSxtSUFwQmhCOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVCwySUFsQlMsWUFBWSxtSUFBRSxTQUFTLG9QQUFFLE9BQU8sMkpBQUUsVUFBVSx5R0FBRSxPQUFPOzs0RkFxQnBELGVBQWU7a0JBeEIzQixTQUFTOytCQUNFLFlBQVksY0FDVixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLFlBQ3REOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVDtvRkFPRCxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sT0FBTztzQkFETixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkljb24sIElvblNwaW5uZXIsIElvblRleHQgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IERvd25sb2FkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Rvd25sb2FkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEsIENvbXBvbmVudFN0YXRlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWJ1dHRvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uU3Bpbm5lciwgSW9uVGV4dF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1idXR0b25cbiAgICAgIFt0eXBlXT1cInByb3BzLnR5cGVcIlxuICAgICAgW2NvbG9yXT1cInByb3BzLmNvbG9yXCJcbiAgICAgIFtleHBhbmRdPVwicHJvcHMuZXhwYW5kXCJcbiAgICAgIFtmaWxsXT1cInByb3BzLmZpbGxcIlxuICAgICAgW3NpemVdPVwicHJvcHMuc2l6ZVwiXG4gICAgICBbaHJlZl09XCJwcm9wcy5ocmVmXCJcbiAgICAgIFt0YXJnZXRdPVwicHJvcHMudGFyZ2V0XCJcbiAgICAgIFtzaGFwZV09XCJwcm9wcy5zaGFwZVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKClcIlxuICAgICAgW2Rpc2FibGVkXT1cInByb3BzLnN0YXRlID09PSBzdGF0ZXMuRElTQUJMRURcIlxuICAgID5cbiAgICAgIDxpb24taWNvbiAqbmdJZj1cInByb3BzLmljb25cIiBbc2xvdF09XCJwcm9wcy5pY29uLnNsb3RcIiBbbmFtZV09XCJwcm9wcy5pY29uLm5hbWVcIj48L2lvbi1pY29uPlxuICAgICAgPGlvbi1zcGlubmVyICpuZ0lmPVwicHJvcHMuc3RhdGUgPT09IHN0YXRlcy5XT1JLSU5HXCIgbmFtZT1cImNpcmN1bGFyXCI+PC9pb24tc3Bpbm5lcj5cbiAgICAgIDxpb24tdGV4dCAqbmdJZj1cInByb3BzLnN0YXRlICE9PSBzdGF0ZXMuV09SS0lOR1wiPnt7IHByb3BzLnRleHQgfX08L2lvbi10ZXh0PlxuICAgIDwvaW9uLWJ1dHRvbj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XG4gIHN0YXRlcyA9IENvbXBvbmVudFN0YXRlcztcblxuICBASW5wdXQoKVxuICBwcm9wcyE6IEJ1dHRvbk1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkb3dubG9hZDogRG93bmxvYWRTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge31cblxuICBjbGlja0hhbmRsZXIoKSB7XG4gICAgaWYgKHRoaXMucHJvcHMuZG93bmxvYWQpIHtcbiAgICAgIHRoaXMuZG93bmxvYWQuZG93bmxvYWRMaW5rRnJvbUJyb3dzZXIodGhpcy5wcm9wcy5kb3dubG9hZCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnByb3BzLnN0YXRlID09PSB0aGlzLnN0YXRlcy5ESVNBQkxFRCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm9uQ2xpY2suZW1pdCh0aGlzLnByb3BzLnRva2VuKTtcbiAgfVxufVxuIl19
|