@ardium-ui/ui 1.0.2 → 2.0.1
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/esm2022/lib/_internal/boolean-component.mjs +28 -42
- package/esm2022/lib/_internal/clear-button/clear-button.component.mjs +5 -5
- package/esm2022/lib/_internal/clear-button/clear-button.module.mjs +4 -4
- package/esm2022/lib/_internal/disablable-component.mjs +24 -22
- package/esm2022/lib/_internal/focusable-component.mjs +12 -25
- package/esm2022/lib/_internal/item-storages/dropdown-item-storage.mjs +172 -169
- package/esm2022/lib/_internal/item-storages/simple-item-storage.mjs +115 -120
- package/esm2022/lib/_internal/item-storages/simplest-item-storage.mjs +56 -53
- package/esm2022/lib/_internal/models/pagination.model.mjs +72 -106
- package/esm2022/lib/_internal/ngmodel-component.mjs +5 -5
- package/esm2022/lib/_internal/queue.mjs +1 -1
- package/esm2022/lib/_internal/selectable-list-component.mjs +74 -98
- package/esm2022/lib/badge/badge.directive.mjs +70 -99
- package/esm2022/lib/badge/badge.module.mjs +4 -4
- package/esm2022/lib/badge/index.mjs +4 -0
- package/esm2022/lib/buttons/_button-base.mjs +13 -35
- package/esm2022/lib/buttons/button/button.component.mjs +22 -37
- package/esm2022/lib/buttons/button/button.module.mjs +4 -4
- package/esm2022/lib/buttons/button/index.mjs +3 -0
- package/esm2022/lib/buttons/fab/fab.component.mjs +16 -28
- package/esm2022/lib/buttons/fab/fab.module.mjs +4 -4
- package/esm2022/lib/buttons/fab/index.mjs +3 -0
- package/esm2022/lib/buttons/icon-button/icon-button.component.mjs +17 -25
- package/esm2022/lib/buttons/icon-button/icon-button.module.mjs +4 -4
- package/esm2022/lib/buttons/icon-button/index.mjs +3 -0
- package/esm2022/lib/card/card.children.mjs +32 -33
- package/esm2022/lib/card/card.component.mjs +14 -17
- package/esm2022/lib/card/card.module.mjs +4 -4
- package/esm2022/lib/card/index.mjs +5 -0
- package/esm2022/lib/checkbox/checkbox.component.mjs +33 -46
- package/esm2022/lib/checkbox/checkbox.module.mjs +4 -4
- package/esm2022/lib/checkbox/index.mjs +4 -0
- package/esm2022/lib/checkbox-list/checkbox-list.component.mjs +31 -57
- package/esm2022/lib/checkbox-list/checkbox-list.module.mjs +4 -4
- package/esm2022/lib/checkbox-list/index.mjs +4 -0
- package/esm2022/lib/chip/chip.component.mjs +22 -42
- package/esm2022/lib/chip/chip.module.mjs +4 -4
- package/esm2022/lib/chip/deletable-chip/deletable-chip.component.mjs +28 -53
- package/esm2022/lib/chip/index.mjs +5 -0
- package/esm2022/lib/chip/selectable-chip/selectable-chip.component.mjs +25 -49
- package/esm2022/lib/color/color-display/color-display.component.mjs +15 -32
- package/esm2022/lib/color/color-display/color-display.module.mjs +4 -4
- package/esm2022/lib/color/color-display/index.mjs +4 -0
- package/esm2022/lib/color/color-picker/color-picker.types.mjs +1 -1
- package/esm2022/lib/dialog/dialog.component.mjs +54 -130
- package/esm2022/lib/dialog/dialog.directives.mjs +3 -3
- package/esm2022/lib/dialog/dialog.module.mjs +4 -4
- package/esm2022/lib/dialog/dialog.types.mjs +1 -1
- package/esm2022/lib/dialog/index.mjs +5 -0
- package/esm2022/lib/divider/divider.component.mjs +9 -14
- package/esm2022/lib/divider/divider.module.mjs +4 -4
- package/esm2022/lib/divider/index.mjs +3 -0
- package/esm2022/lib/dropdown-panel/dropdown-panel.component.mjs +40 -59
- package/esm2022/lib/dropdown-panel/dropdown-panel.module.mjs +4 -4
- package/esm2022/lib/dropdown-panel/index.mjs +4 -0
- package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.component.mjs +12 -17
- package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.directives.mjs +9 -9
- package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.module.mjs +6 -6
- package/esm2022/lib/file-inputs/file-drop-area/index.mjs +4 -0
- package/esm2022/lib/file-inputs/file-input/file-input.component.mjs +24 -50
- package/esm2022/lib/file-inputs/file-input/file-input.directives.mjs +18 -18
- package/esm2022/lib/file-inputs/file-input/file-input.module.mjs +4 -4
- package/esm2022/lib/file-inputs/file-input/index.mjs +4 -0
- package/esm2022/lib/file-inputs/file-input-base.mjs +38 -72
- package/esm2022/lib/form-field-frame/form-field-frame.component.mjs +20 -47
- package/esm2022/lib/form-field-frame/form-field-frame.directives.mjs +6 -6
- package/esm2022/lib/form-field-frame/form-field-frame.module.mjs +4 -4
- package/esm2022/lib/form-field-frame/index.mjs +4 -0
- package/esm2022/lib/icon/icon.component.mjs +32 -67
- package/esm2022/lib/icon/icon.module.mjs +4 -4
- package/esm2022/lib/icon/icon.pipe.mjs +3 -3
- package/esm2022/lib/icon/index.mjs +4 -0
- package/esm2022/lib/inputs/color-input/color-input.directives.mjs +24 -24
- package/esm2022/lib/inputs/color-input/color-input.types.mjs +1 -1
- package/esm2022/lib/inputs/digit-input/digit-input.component.mjs +65 -115
- package/esm2022/lib/inputs/digit-input/digit-input.model.mjs +83 -92
- package/esm2022/lib/inputs/digit-input/digit-input.module.mjs +4 -4
- package/esm2022/lib/inputs/digit-input/digit-input.types.mjs +1 -1
- package/esm2022/lib/inputs/digit-input/digit-input.utils.mjs +1 -1
- package/esm2022/lib/inputs/digit-input/index.mjs +4 -0
- package/esm2022/lib/inputs/hex-input/hex-input.component.mjs +59 -122
- package/esm2022/lib/inputs/hex-input/hex-input.directives.mjs +9 -9
- package/esm2022/lib/inputs/hex-input/hex-input.module.mjs +24 -8
- package/esm2022/lib/inputs/hex-input/index.mjs +4 -0
- package/esm2022/lib/inputs/hex-input.model.mjs +24 -33
- package/esm2022/lib/inputs/input/index.mjs +4 -0
- package/esm2022/lib/inputs/input/input.component.mjs +95 -154
- package/esm2022/lib/inputs/input/input.directives.mjs +16 -16
- package/esm2022/lib/inputs/input/input.module.mjs +21 -7
- package/esm2022/lib/inputs/input-transformers.mjs +6 -6
- package/esm2022/lib/inputs/input-utils.mjs +75 -94
- package/esm2022/lib/inputs/number-input/index.mjs +4 -0
- package/esm2022/lib/inputs/number-input/number-input.component.mjs +106 -170
- package/esm2022/lib/inputs/number-input/number-input.directives.mjs +3 -3
- package/esm2022/lib/inputs/number-input/number-input.module.mjs +4 -4
- package/esm2022/lib/inputs/password-input/index.mjs +5 -0
- package/esm2022/lib/inputs/password-input/password-input.component.mjs +74 -144
- package/esm2022/lib/inputs/password-input/password-input.directives.mjs +12 -12
- package/esm2022/lib/inputs/password-input/password-input.module.mjs +4 -4
- package/esm2022/lib/inputs/password-input/password-input.types.mjs +1 -1
- package/esm2022/lib/inputs/simple-input/index.mjs +4 -0
- package/esm2022/lib/inputs/simple-input/simple-input.component.mjs +57 -110
- package/esm2022/lib/inputs/simple-input/simple-input.directives.mjs +9 -9
- package/esm2022/lib/inputs/simple-input/simple-input.module.mjs +4 -4
- package/esm2022/lib/kbd/index.mjs +4 -0
- package/esm2022/lib/kbd/kbd.component.mjs +15 -29
- package/esm2022/lib/kbd/kbd.module.mjs +4 -4
- package/esm2022/lib/kbd/kbd.pipe.mjs +3 -3
- package/esm2022/lib/kbd-shortcut/index.mjs +3 -0
- package/esm2022/lib/kbd-shortcut/kbd-shortcut.component.mjs +23 -40
- package/esm2022/lib/kbd-shortcut/kbd-shortcut.module.mjs +4 -4
- package/esm2022/lib/modal/index.mjs +3 -0
- package/esm2022/lib/modal/modal.component.mjs +42 -83
- package/esm2022/lib/modal/modal.module.mjs +4 -4
- package/esm2022/lib/option/index.mjs +3 -0
- package/esm2022/lib/option/option.component.mjs +24 -46
- package/esm2022/lib/option/option.module.mjs +4 -4
- package/esm2022/lib/progress-bar/index.mjs +5 -0
- package/esm2022/lib/progress-bar/progress-bar.component.mjs +43 -81
- package/esm2022/lib/progress-bar/progress-bar.directive.mjs +3 -3
- package/esm2022/lib/progress-bar/progress-bar.module.mjs +4 -4
- package/esm2022/lib/progress-bar/progress-bar.types.mjs +1 -1
- package/esm2022/lib/progress-circle/index.mjs +5 -0
- package/esm2022/lib/progress-circle/progress-circle.component.mjs +33 -78
- package/esm2022/lib/progress-circle/progress-circle.directive.mjs +3 -3
- package/esm2022/lib/progress-circle/progress-circle.module.mjs +4 -4
- package/esm2022/lib/progress-circle/progress-circle.types.mjs +1 -1
- package/esm2022/lib/radio/index.mjs +4 -0
- package/esm2022/lib/radio/radio/radio.component.mjs +16 -25
- package/esm2022/lib/radio/radio-group.component.mjs +71 -85
- package/esm2022/lib/radio/radio.module.mjs +4 -4
- package/esm2022/lib/search-functions.mjs +7 -7
- package/esm2022/lib/segment/index.mjs +5 -0
- package/esm2022/lib/segment/segment.component.mjs +70 -137
- package/esm2022/lib/segment/segment.directives.mjs +4 -4
- package/esm2022/lib/segment/segment.module.mjs +4 -4
- package/esm2022/lib/select/index.mjs +5 -0
- package/esm2022/lib/select/select.component.mjs +348 -655
- package/esm2022/lib/select/select.directive.mjs +46 -46
- package/esm2022/lib/select/select.module.mjs +4 -4
- package/esm2022/lib/select/select.types.mjs +1 -1
- package/esm2022/lib/slide-toggle/index.mjs +4 -0
- package/esm2022/lib/slide-toggle/slide-toggle.component.mjs +19 -24
- package/esm2022/lib/slide-toggle/slide-toggle.module.mjs +4 -4
- package/esm2022/lib/slide-toggle/slide-toggle.types.mjs +5 -0
- package/esm2022/lib/slider/abstract-slider.mjs +111 -200
- package/esm2022/lib/slider/index.mjs +7 -0
- package/esm2022/lib/slider/range-slider/range-slider.component.mjs +26 -23
- package/esm2022/lib/slider/range-slider/range-slider.module.mjs +4 -4
- package/esm2022/lib/slider/slider.component.mjs +13 -10
- package/esm2022/lib/slider/slider.directive.mjs +3 -3
- package/esm2022/lib/slider/slider.module.mjs +7 -7
- package/esm2022/lib/slider/slider.types.mjs +1 -1
- package/esm2022/lib/snackbar/snackbar-ref.mjs +1 -1
- package/esm2022/lib/snackbar/snackbar.component.mjs +8 -8
- package/esm2022/lib/snackbar/snackbar.service.mjs +13 -12
- package/esm2022/lib/snackbar/snackbar.types.mjs +1 -1
- package/esm2022/lib/spinner/index.mjs +3 -0
- package/esm2022/lib/spinner/spinner.component.mjs +9 -13
- package/esm2022/lib/spinner/spinner.module.mjs +4 -4
- package/esm2022/lib/star/index.mjs +4 -0
- package/esm2022/lib/star/star-button/index.mjs +3 -0
- package/esm2022/lib/star/star-button/star-button.component.mjs +17 -26
- package/esm2022/lib/star/star-button/star-button.module.mjs +4 -4
- package/esm2022/lib/star/star-display/index.mjs +3 -0
- package/esm2022/lib/star/star-display/star-display.component.mjs +48 -55
- package/esm2022/lib/star/star-display/star-display.module.mjs +4 -4
- package/esm2022/lib/star/star-input/index.mjs +3 -0
- package/esm2022/lib/star/star-input/star-input.component.mjs +70 -106
- package/esm2022/lib/star/star-input/star-input.module.mjs +4 -4
- package/esm2022/lib/star/star.component.mjs +12 -20
- package/esm2022/lib/star/star.module.mjs +4 -4
- package/esm2022/lib/statebox/index.mjs +3 -0
- package/esm2022/lib/statebox/statebox.component.mjs +64 -102
- package/esm2022/lib/statebox/statebox.module.mjs +4 -4
- package/esm2022/lib/statebox/statebox.types.mjs +1 -1
- package/esm2022/lib/tabber/index.mjs +4 -0
- package/esm2022/lib/tabber/tab/tab.component.mjs +42 -0
- package/esm2022/lib/tabber/tabber.component.mjs +83 -0
- package/esm2022/lib/tabber/tabber.module.mjs +19 -0
- package/esm2022/lib/table/index.mjs +5 -0
- package/esm2022/lib/table/table-item-storage.mjs +204 -200
- package/esm2022/lib/table/table.component.mjs +184 -304
- package/esm2022/lib/table/table.directives.mjs +19 -21
- package/esm2022/lib/table/table.module.mjs +4 -4
- package/esm2022/lib/table/utils.mjs +1 -1
- package/esm2022/lib/table-from-csv/index.mjs +3 -0
- package/esm2022/lib/table-from-csv/table-from-csv.component.mjs +85 -29
- package/esm2022/lib/table-from-csv/table-from-csv.module.mjs +4 -4
- package/esm2022/lib/table-pagination/index.mjs +4 -0
- package/esm2022/lib/table-pagination/table-pagination.component.mjs +46 -114
- package/esm2022/lib/table-pagination/table-pagination.module.mjs +4 -4
- package/esm2022/lib/types/item-storage.types.mjs +1 -1
- package/esm2022/lib/types/utility.types.mjs +2 -2
- package/esm2022/public-api.mjs +58 -182
- package/fesm2022/ardium-ui-ui.mjs +7847 -11692
- package/fesm2022/ardium-ui-ui.mjs.map +1 -1
- package/lib/_internal/boolean-component.d.ts +8 -9
- package/lib/_internal/clear-button/clear-button.component.d.ts +1 -1
- package/lib/_internal/disablable-component.d.ts +12 -7
- package/lib/_internal/focusable-component.d.ts +5 -7
- package/lib/_internal/item-storages/dropdown-item-storage.d.ts +43 -41
- package/lib/_internal/item-storages/simple-item-storage.d.ts +28 -25
- package/lib/_internal/item-storages/simplest-item-storage.d.ts +14 -9
- package/lib/_internal/models/pagination.model.d.ts +38 -42
- package/lib/_internal/ngmodel-component.d.ts +1 -1
- package/lib/_internal/selectable-list-component.d.ts +30 -30
- package/lib/badge/badge.directive.d.ts +15 -20
- package/lib/badge/index.d.ts +3 -0
- package/lib/buttons/_button-base.d.ts +9 -12
- package/lib/buttons/button/button.component.d.ts +6 -8
- package/lib/buttons/button/index.d.ts +2 -0
- package/lib/buttons/fab/fab.component.d.ts +4 -6
- package/lib/buttons/fab/index.d.ts +2 -0
- package/lib/buttons/icon-button/icon-button.component.d.ts +6 -7
- package/lib/buttons/icon-button/index.d.ts +2 -0
- package/lib/card/card.children.d.ts +4 -3
- package/lib/card/card.component.d.ts +5 -4
- package/lib/card/index.d.ts +4 -0
- package/lib/checkbox/checkbox.component.d.ts +8 -12
- package/lib/checkbox/index.d.ts +3 -0
- package/lib/checkbox-list/checkbox-list.component.d.ts +22 -21
- package/lib/checkbox-list/index.d.ts +3 -0
- package/lib/chip/chip.component.d.ts +8 -10
- package/lib/chip/deletable-chip/deletable-chip.component.d.ts +11 -14
- package/lib/chip/index.d.ts +4 -0
- package/lib/chip/selectable-chip/selectable-chip.component.d.ts +10 -12
- package/lib/color/color-display/color-display.component.d.ts +6 -9
- package/lib/color/color-display/index.d.ts +3 -0
- package/lib/color/color-picker/color-picker.types.d.ts +4 -4
- package/lib/dialog/dialog.component.d.ts +25 -35
- package/lib/dialog/dialog.types.d.ts +2 -2
- package/lib/dialog/index.d.ts +4 -0
- package/lib/divider/divider.component.d.ts +3 -4
- package/lib/divider/index.d.ts +2 -0
- package/lib/dropdown-panel/dropdown-panel.component.d.ts +17 -20
- package/lib/dropdown-panel/index.d.ts +3 -0
- package/lib/file-inputs/file-drop-area/file-drop-area.component.d.ts +5 -4
- package/lib/file-inputs/file-drop-area/index.d.ts +3 -0
- package/lib/file-inputs/file-input/file-input.component.d.ts +13 -17
- package/lib/file-inputs/file-input/index.d.ts +3 -0
- package/lib/file-inputs/file-input-base.d.ts +13 -18
- package/lib/form-field-frame/form-field-frame.component.d.ts +12 -16
- package/lib/form-field-frame/index.d.ts +3 -0
- package/lib/icon/icon.component.d.ts +10 -19
- package/lib/icon/index.d.ts +3 -0
- package/lib/inputs/color-input/color-input.types.d.ts +2 -2
- package/lib/inputs/digit-input/digit-input.component.d.ts +22 -30
- package/lib/inputs/digit-input/digit-input.model.d.ts +8 -12
- package/lib/inputs/digit-input/digit-input.types.d.ts +4 -4
- package/lib/inputs/digit-input/digit-input.utils.d.ts +4 -5
- package/lib/inputs/digit-input/index.d.ts +3 -0
- package/lib/inputs/hex-input/hex-input.component.d.ts +32 -38
- package/lib/inputs/hex-input/index.d.ts +3 -0
- package/lib/inputs/hex-input.model.d.ts +10 -11
- package/lib/inputs/input/index.d.ts +3 -0
- package/lib/inputs/input/input.component.d.ts +34 -40
- package/lib/inputs/input/input.directives.d.ts +3 -3
- package/lib/inputs/input-utils.d.ts +24 -27
- package/lib/inputs/number-input/index.d.ts +3 -0
- package/lib/inputs/number-input/number-input.component.d.ts +38 -48
- package/lib/inputs/password-input/index.d.ts +4 -0
- package/lib/inputs/password-input/password-input.component.d.ts +28 -40
- package/lib/inputs/password-input/password-input.types.d.ts +2 -2
- package/lib/inputs/simple-input/index.d.ts +3 -0
- package/lib/inputs/simple-input/simple-input.component.d.ts +30 -35
- package/lib/kbd/index.d.ts +3 -0
- package/lib/kbd/kbd.component.d.ts +6 -8
- package/lib/kbd-shortcut/index.d.ts +2 -0
- package/lib/kbd-shortcut/kbd-shortcut.component.d.ts +7 -10
- package/lib/modal/index.d.ts +2 -0
- package/lib/modal/modal.component.d.ts +22 -30
- package/lib/option/index.d.ts +2 -0
- package/lib/option/option.component.d.ts +11 -16
- package/lib/progress-bar/index.d.ts +4 -0
- package/lib/progress-bar/progress-bar.component.d.ts +14 -20
- package/lib/progress-bar/progress-bar.types.d.ts +2 -2
- package/lib/progress-circle/index.d.ts +4 -0
- package/lib/progress-circle/progress-circle.component.d.ts +12 -20
- package/lib/progress-circle/progress-circle.types.d.ts +2 -2
- package/lib/radio/index.d.ts +3 -0
- package/lib/radio/radio/radio.component.d.ts +7 -8
- package/lib/radio/radio-group.component.d.ts +13 -16
- package/lib/segment/index.d.ts +4 -0
- package/lib/segment/segment.component.d.ts +22 -34
- package/lib/segment/segment.directives.d.ts +2 -3
- package/lib/select/index.d.ts +4 -0
- package/lib/select/select.component.d.ts +114 -160
- package/lib/select/select.directive.d.ts +3 -3
- package/lib/select/select.types.d.ts +2 -76
- package/lib/slide-toggle/index.d.ts +3 -0
- package/lib/slide-toggle/slide-toggle.component.d.ts +9 -7
- package/lib/slide-toggle/slide-toggle.types.d.ts +5 -0
- package/lib/slider/abstract-slider.d.ts +38 -55
- package/lib/slider/index.d.ts +6 -0
- package/lib/slider/range-slider/range-slider.component.d.ts +3 -1
- package/lib/slider/slider.component.d.ts +2 -0
- package/lib/slider/slider.types.d.ts +8 -8
- package/lib/snackbar/snackbar-ref.d.ts +1 -2
- package/lib/snackbar/snackbar.component.d.ts +3 -3
- package/lib/snackbar/snackbar.service.d.ts +2 -2
- package/lib/snackbar/snackbar.types.d.ts +4 -4
- package/lib/spinner/index.d.ts +2 -0
- package/lib/spinner/spinner.component.d.ts +3 -3
- package/lib/star/index.d.ts +3 -0
- package/lib/star/star-button/index.d.ts +2 -0
- package/lib/star/star-button/star-button.component.d.ts +7 -7
- package/lib/star/star-display/index.d.ts +2 -0
- package/lib/star/star-display/star-display.component.d.ts +8 -12
- package/lib/star/star-input/index.d.ts +2 -0
- package/lib/star/star-input/star-input.component.d.ts +17 -22
- package/lib/star/star.component.d.ts +5 -5
- package/lib/statebox/index.d.ts +3 -0
- package/lib/statebox/statebox.component.d.ts +15 -21
- package/lib/statebox/statebox.types.d.ts +12 -8
- package/lib/tabber/index.d.ts +3 -0
- package/lib/tabber/tab/tab.component.d.ts +18 -0
- package/lib/tabber/tabber.component.d.ts +25 -0
- package/lib/tabber/tabber.module.d.ts +9 -0
- package/lib/table/index.d.ts +4 -0
- package/lib/table/table-item-storage.d.ts +70 -58
- package/lib/table/table.component.d.ts +59 -78
- package/lib/table/table.directives.d.ts +4 -3
- package/lib/table-from-csv/index.d.ts +2 -0
- package/lib/table-from-csv/table-from-csv.component.d.ts +46 -9
- package/lib/table-pagination/index.d.ts +3 -0
- package/lib/table-pagination/table-pagination.component.d.ts +21 -30
- package/lib/types/item-storage.types.d.ts +19 -18
- package/lib/types/utility.types.d.ts +2 -1
- package/package.json +8 -9
- package/prebuilt-themes/default/badge.css +5 -5
- package/prebuilt-themes/default/buttons/fab.css +4 -3
- package/prebuilt-themes/default/buttons/fab.css.map +1 -1
- package/prebuilt-themes/default/card.css +7 -7
- package/prebuilt-themes/default/chips.css +3 -8
- package/prebuilt-themes/default/chips.css.map +1 -1
- package/prebuilt-themes/default/core.css +6 -3
- package/prebuilt-themes/default/core.css.map +1 -1
- package/prebuilt-themes/default/inputs/color-input.css +1 -1
- package/prebuilt-themes/default/inputs/digit-input.css +1 -1
- package/prebuilt-themes/default/inputs/file-input.css +139 -2
- package/prebuilt-themes/default/inputs/file-input.css.map +1 -1
- package/prebuilt-themes/default/inputs/hex-input.css +2 -2
- package/prebuilt-themes/default/inputs/input.css +1 -1
- package/prebuilt-themes/default/inputs/search-bar.css +1 -1
- package/prebuilt-themes/default/inputs/simple-input.css +1 -1
- package/prebuilt-themes/default/modal.css +1 -1
- package/prebuilt-themes/default/segment.css +2 -2
- package/prebuilt-themes/default/segment.css.map +1 -1
- package/prebuilt-themes/default/select.css +5 -3
- package/prebuilt-themes/default/select.css.map +1 -1
- package/prebuilt-themes/default/snackbar.css +0 -1
- package/prebuilt-themes/default/snackbar.css.map +1 -1
- package/prebuilt-themes/default/tabber.css +207 -0
- package/prebuilt-themes/default/tabber.css.map +1 -0
- package/public-api.d.ts +43 -136
- package/themes/default/_clear-button.scss +1 -1
- package/themes/default/badge.scss +5 -5
- package/themes/default/buttons/fab.scss +5 -3
- package/themes/default/card.scss +7 -7
- package/themes/default/chips.scss +2 -8
- package/themes/default/core.scss +6 -3
- package/themes/default/inputs/digit-input.scss +1 -1
- package/themes/default/inputs/file-input.scss +8 -1
- package/themes/default/inputs/hex-input.scss +1 -1
- package/themes/default/modal.scss +1 -1
- package/themes/default/segment.scss +2 -1
- package/themes/default/select.scss +4 -2
- package/themes/default/snackbar.scss +0 -2
- package/themes/default/tabber.scss +86 -0
- package/esm2022/lib/calendar/calendar.component.mjs +0 -979
- package/esm2022/lib/calendar/calendar.directives.mjs +0 -107
- package/esm2022/lib/calendar/calendar.helpers.mjs +0 -47
- package/esm2022/lib/calendar/calendar.module.mjs +0 -21
- package/esm2022/lib/calendar/calendar.types.mjs +0 -11
- package/esm2022/lib/color/color-picker/color-picker.component.mjs +0 -484
- package/esm2022/lib/color/color-picker/color-picker.directives.mjs +0 -55
- package/esm2022/lib/color/color-picker/color-picker.module.mjs +0 -43
- package/esm2022/lib/inputs/color-input/color-input.component.mjs +0 -421
- package/esm2022/lib/inputs/color-input/color-input.module.mjs +0 -85
- package/lib/calendar/calendar.component.d.ts +0 -155
- package/lib/calendar/calendar.directives.d.ts +0 -51
- package/lib/calendar/calendar.helpers.d.ts +0 -15
- package/lib/calendar/calendar.module.d.ts +0 -11
- package/lib/calendar/calendar.types.d.ts +0 -80
- package/lib/color/color-picker/color-picker.component.d.ts +0 -125
- package/lib/color/color-picker/color-picker.directives.d.ts +0 -27
- package/lib/color/color-picker/color-picker.module.d.ts +0 -13
- package/lib/inputs/color-input/color-input.component.d.ts +0 -147
- package/lib/inputs/color-input/color-input.module.d.ts +0 -16
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component,
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ViewEncapsulation, computed, contentChild, forwardRef, input, model, viewChild } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
3
|
import { coerceBooleanProperty, coerceNumberProperty } from '@ardium-ui/devkit';
|
|
4
4
|
import { isAnyString, isDefined } from 'simple-bool';
|
|
@@ -12,150 +12,133 @@ import * as i3 from "../../icon/icon.component";
|
|
|
12
12
|
export class ArdiumPasswordInputComponent extends _NgModelComponentBase {
|
|
13
13
|
constructor() {
|
|
14
14
|
super(...arguments);
|
|
15
|
-
|
|
15
|
+
//! input view
|
|
16
|
+
this.textInputEl = viewChild('textInput');
|
|
17
|
+
this.placeholder = input('');
|
|
18
|
+
this.inputId = input();
|
|
19
|
+
//! prefix & suffix
|
|
20
|
+
this.prefixTemplate = contentChild(ArdPasswordInputPrefixTemplateDirective);
|
|
21
|
+
this.suffixTemplate = contentChild(ArdPasswordInputSuffixTemplateDirective);
|
|
22
|
+
//! placeholder
|
|
23
|
+
this.placeholderTemplate = contentChild(ArdPasswordInputPlaceholderTemplateDirective);
|
|
24
|
+
this.shouldDisplayPlaceholder = computed(() => !!this.placeholder() && !this.value());
|
|
16
25
|
//! revealing
|
|
17
|
-
this.
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
26
|
+
this.revealable = input(true, { transform: v => coerceBooleanProperty(v) });
|
|
27
|
+
this.holdToReveal = input(false, { transform: v => coerceBooleanProperty(v) });
|
|
28
|
+
this.autoHideTimeoutMs = input(undefined, { transform: v => coerceNumberProperty(v, undefined) });
|
|
29
|
+
this.revealed = model(false);
|
|
30
|
+
this._hideTimeout = null;
|
|
31
|
+
this.revealTemplate = contentChild(ArdPasswordInputRevealButtonTemplateDirective);
|
|
32
|
+
this.revealButtonContext = computed(() => ({
|
|
33
|
+
$implicit: this.revealed(),
|
|
34
|
+
}));
|
|
20
35
|
//! appearance
|
|
21
|
-
this.appearance = FormElementAppearance.Outlined;
|
|
22
|
-
this.variant = FormElementVariant.Rounded;
|
|
23
|
-
this.
|
|
36
|
+
this.appearance = input(FormElementAppearance.Outlined);
|
|
37
|
+
this.variant = input(FormElementVariant.Rounded);
|
|
38
|
+
this.compact = input(false, { transform: v => coerceBooleanProperty(v) });
|
|
39
|
+
this.ngClasses = computed(() => [
|
|
40
|
+
`ard-appearance-${this.appearance()}`,
|
|
41
|
+
`ard-variant-${this.variant()}`,
|
|
42
|
+
this.compact() ? 'ard-compact' : '',
|
|
43
|
+
this.revealable() ? 'ard-revealable' : '',
|
|
44
|
+
].join(' '));
|
|
24
45
|
//! other inputs
|
|
25
|
-
this.inputAttrs = {};
|
|
46
|
+
this.inputAttrs = input({});
|
|
26
47
|
//! value two-way binding
|
|
27
|
-
this.
|
|
28
|
-
this.valueChange = new EventEmitter();
|
|
29
|
-
//! event emitters
|
|
30
|
-
this.inputEvent = new EventEmitter();
|
|
31
|
-
this.changeEvent = new EventEmitter();
|
|
48
|
+
this.value = model();
|
|
32
49
|
}
|
|
33
50
|
ngOnInit() {
|
|
34
51
|
this._setInputAttributes();
|
|
35
52
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
get revealed() {
|
|
46
|
-
return this._revealed;
|
|
47
|
-
}
|
|
48
|
-
set revealed(v) {
|
|
49
|
-
this._revealed = coerceBooleanProperty(v);
|
|
50
|
-
}
|
|
51
|
-
toggleReveal(v) {
|
|
52
|
-
const oldState = this.revealed;
|
|
53
|
-
this.revealed = v ?? !this.revealed;
|
|
54
|
-
if (oldState != this.revealed) {
|
|
55
|
-
this.revealedChange.emit(this.revealed);
|
|
53
|
+
toggleReveal(newState = !this.revealed()) {
|
|
54
|
+
this.revealed.set(newState);
|
|
55
|
+
if (this._hideTimeout) {
|
|
56
|
+
clearTimeout(this._hideTimeout);
|
|
57
|
+
}
|
|
58
|
+
const timeout = this.autoHideTimeoutMs();
|
|
59
|
+
if (timeout && newState) {
|
|
60
|
+
this._hideTimeout = setTimeout(() => this.revealed.set(false), timeout);
|
|
56
61
|
}
|
|
57
62
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
get compact() {
|
|
64
|
-
return this._compact;
|
|
65
|
-
}
|
|
66
|
-
set compact(v) {
|
|
67
|
-
this._compact = coerceBooleanProperty(v);
|
|
68
|
-
}
|
|
69
|
-
get ngClasses() {
|
|
70
|
-
return [
|
|
71
|
-
`ard-appearance-${this.appearance}`,
|
|
72
|
-
`ard-variant-${this.variant}`,
|
|
73
|
-
this.compact ? 'ard-compact' : '',
|
|
74
|
-
this.revealable ? 'ard-revealable' : '',
|
|
75
|
-
].join(' ');
|
|
76
|
-
}
|
|
77
|
-
get maxLength() {
|
|
78
|
-
return this._maxLength;
|
|
79
|
-
}
|
|
80
|
-
set maxLength(v) {
|
|
81
|
-
this._maxLength = coerceNumberProperty(v);
|
|
63
|
+
ngOnDestroy() {
|
|
64
|
+
if (this._hideTimeout) {
|
|
65
|
+
clearTimeout(this._hideTimeout);
|
|
66
|
+
}
|
|
82
67
|
}
|
|
83
68
|
//! control value accessor's write value implementation
|
|
84
69
|
writeValue(v) {
|
|
85
70
|
if (!isAnyString(v) && isDefined(v)) {
|
|
86
|
-
|
|
71
|
+
//warn when using non-string/non-null value
|
|
72
|
+
console.warn(new Error(`ARD-WA0020: Trying to set <ard-password-input>'s value to "${v}" (of type ${typeof v}), expected string or null.`));
|
|
73
|
+
//normalize the value
|
|
74
|
+
v = v?.toString?.() ?? String(v);
|
|
87
75
|
return;
|
|
88
76
|
}
|
|
89
77
|
this._writeValue(v);
|
|
90
78
|
}
|
|
91
79
|
_writeValue(v) {
|
|
92
|
-
const oldVal = this.value;
|
|
93
|
-
this.
|
|
94
|
-
return oldVal
|
|
95
|
-
}
|
|
96
|
-
set value(v) {
|
|
97
|
-
this.writeValue(v);
|
|
98
|
-
}
|
|
99
|
-
get value() {
|
|
100
|
-
return this._value ?? null;
|
|
80
|
+
const oldVal = this.value();
|
|
81
|
+
this.value.set(v);
|
|
82
|
+
return oldVal !== v;
|
|
101
83
|
}
|
|
102
84
|
//! event handlers
|
|
103
85
|
onInput(newVal) {
|
|
104
|
-
|
|
86
|
+
const valueHasChanged = this._writeValue(newVal);
|
|
105
87
|
if (!valueHasChanged)
|
|
106
88
|
return;
|
|
107
|
-
this.
|
|
89
|
+
this._emitChange();
|
|
108
90
|
}
|
|
109
|
-
|
|
110
|
-
const v = this.value;
|
|
91
|
+
_emitChange() {
|
|
92
|
+
const v = this.value();
|
|
111
93
|
this._onChangeRegistered?.(v);
|
|
112
|
-
this.inputEvent.emit(v);
|
|
113
|
-
this.valueChange.emit(v);
|
|
114
94
|
}
|
|
115
95
|
//focus, blur, change
|
|
116
96
|
onChange(event) {
|
|
117
97
|
event.stopPropagation();
|
|
118
98
|
this._emitChange();
|
|
119
99
|
}
|
|
120
|
-
_emitChange() {
|
|
121
|
-
this.changeEvent.emit(this.value);
|
|
122
|
-
}
|
|
123
100
|
// copy
|
|
124
101
|
onCopy(event) {
|
|
125
|
-
|
|
102
|
+
const textInputEl = this.textInputEl();
|
|
103
|
+
const v = this.value();
|
|
104
|
+
if (v &&
|
|
105
|
+
textInputEl &&
|
|
126
106
|
//does the selection cover the entire input
|
|
127
|
-
((
|
|
107
|
+
((textInputEl.nativeElement.selectionStart === 0 &&
|
|
108
|
+
textInputEl.nativeElement.selectionEnd === textInputEl.nativeElement.value.length) ||
|
|
128
109
|
//or is zero-wide
|
|
129
|
-
|
|
130
|
-
event.clipboardData?.setData('text/plain',
|
|
110
|
+
textInputEl.nativeElement.selectionStart === textInputEl.nativeElement.selectionEnd)) {
|
|
111
|
+
event.clipboardData?.setData('text/plain', v);
|
|
131
112
|
event.preventDefault();
|
|
132
113
|
}
|
|
133
114
|
}
|
|
134
115
|
//! helpers
|
|
135
116
|
_setInputAttributes() {
|
|
136
|
-
const input = this.textInputEl
|
|
117
|
+
const input = this.textInputEl()?.nativeElement;
|
|
118
|
+
if (!input)
|
|
119
|
+
return;
|
|
137
120
|
const attributes = {
|
|
138
121
|
type: 'text',
|
|
139
122
|
autocorrect: 'off',
|
|
140
123
|
autocapitalize: 'off',
|
|
141
124
|
autocomplete: 'off',
|
|
142
|
-
tabindex: String(this.tabIndex),
|
|
143
|
-
...this.inputAttrs,
|
|
125
|
+
tabindex: String(this.tabIndex()),
|
|
126
|
+
...this.inputAttrs(),
|
|
144
127
|
};
|
|
145
128
|
for (const key of Object.keys(attributes)) {
|
|
146
129
|
input.setAttribute(key, String(attributes[key]));
|
|
147
130
|
}
|
|
148
131
|
}
|
|
149
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
150
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
132
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumPasswordInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
133
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumPasswordInputComponent, selector: "ard-password-input", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, revealable: { classPropertyName: "revealable", publicName: "revealable", isSignal: true, isRequired: false, transformFunction: null }, holdToReveal: { classPropertyName: "holdToReveal", publicName: "holdToReveal", isSignal: true, isRequired: false, transformFunction: null }, autoHideTimeoutMs: { classPropertyName: "autoHideTimeoutMs", publicName: "autoHideTimeoutMs", isSignal: true, isRequired: false, transformFunction: null }, revealed: { classPropertyName: "revealed", publicName: "revealed", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, inputAttrs: { classPropertyName: "inputAttrs", publicName: "inputAttrs", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { revealed: "revealedChange", value: "valueChange" }, providers: [
|
|
151
134
|
{
|
|
152
135
|
provide: NG_VALUE_ACCESSOR,
|
|
153
136
|
useExisting: forwardRef(() => ArdiumPasswordInputComponent),
|
|
154
137
|
multi: true,
|
|
155
138
|
},
|
|
156
|
-
], queries: [{ propertyName: "prefixTemplate", first: true, predicate: ArdPasswordInputPrefixTemplateDirective, descendants: true,
|
|
139
|
+
], queries: [{ propertyName: "prefixTemplate", first: true, predicate: ArdPasswordInputPrefixTemplateDirective, descendants: true, isSignal: true }, { propertyName: "suffixTemplate", first: true, predicate: ArdPasswordInputSuffixTemplateDirective, descendants: true, isSignal: true }, { propertyName: "placeholderTemplate", first: true, predicate: ArdPasswordInputPlaceholderTemplateDirective, descendants: true, isSignal: true }, { propertyName: "revealTemplate", first: true, predicate: ArdPasswordInputRevealButtonTemplateDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "textInputEl", first: true, predicate: ["textInput"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ard-form-field-frame\n [appearance]=\"appearance()\"\n [variant]=\"variant()\"\n [compact]=\"compact()\"\n [isFocused]=\"isFocused\"\n [prefixTemplate]=\"prefixTemplate()?.template\"\n [suffixTemplate]=\"suffixTemplate()?.template\"\n>\n <div\n class=\"ard-password-input\"\n [ngClass]=\"ngClasses()\"\n [class.ard-has-value]=\"value()\"\n (click)=\"focus()\"\n >\n <div class=\"ard-input-container\">\n @if (shouldDisplayPlaceholder()) {\n <ng-template #defaultPlaceholderTemplate>\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\n </ng-template>\n\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate()?.template || defaultPlaceholderTemplate\" />\n }\n\n <input\n #textInput\n #focusableElement\n [type]=\"!revealable() || !revealed() ? 'password' : 'text'\"\n [attr.id]=\"inputId()\"\n [attr.tabindex]=\"tabIndex()\"\n [readonly]=\"readonly()\"\n [disabled]=\"disabled()\"\n (input)=\"onInput(textInput.value)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\"\n (copy)=\"onCopy($event)\"\n [class.ard-revealed]=\"revealable() && revealed()\"\n />\n </div>\n\n @if (revealable()) {\n <button\n class=\"ard-reveal-button\"\n (click)=\"!holdToReveal() && toggleReveal()\"\n (mousedown)=\"holdToReveal() && revealed.set(true)\"\n (mouseup)=\"holdToReveal() && revealed.set(false)\"\n >\n <ng-template\n #defaultRevealTemplate\n let-revealed\n >\n <ard-icon [icon]=\"revealed ? 'visibility' : 'visibility_off'\"></ard-icon>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"revealTemplate()?.template || defaultRevealTemplate\"\n [ngTemplateOutletContext]=\"revealButtonContext()\"\n />\n </button>\n }\n </div>\n</ard-form-field-frame>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: ["isFocused", "appearance", "variant", "compact", "prefixTemplate", "suffixTemplate"] }, { kind: "component", type: i3.ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
157
140
|
}
|
|
158
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumPasswordInputComponent, decorators: [{
|
|
159
142
|
type: Component,
|
|
160
143
|
args: [{ selector: 'ard-password-input', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
161
144
|
{
|
|
@@ -163,59 +146,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImpor
|
|
|
163
146
|
useExisting: forwardRef(() => ArdiumPasswordInputComponent),
|
|
164
147
|
multi: true,
|
|
165
148
|
},
|
|
166
|
-
], template: "<ard-form-field-frame\
|
|
167
|
-
}]
|
|
168
|
-
type: ViewChild,
|
|
169
|
-
args: ['textInput', { static: true }]
|
|
170
|
-
}], placeholder: [{
|
|
171
|
-
type: Input
|
|
172
|
-
}], inputId: [{
|
|
173
|
-
type: Input
|
|
174
|
-
}], prefixTemplate: [{
|
|
175
|
-
type: ContentChild,
|
|
176
|
-
args: [ArdPasswordInputPrefixTemplateDirective, {
|
|
177
|
-
read: TemplateRef,
|
|
178
|
-
}]
|
|
179
|
-
}], suffixTemplate: [{
|
|
180
|
-
type: ContentChild,
|
|
181
|
-
args: [ArdPasswordInputSuffixTemplateDirective, {
|
|
182
|
-
read: TemplateRef,
|
|
183
|
-
}]
|
|
184
|
-
}], placeholderTemplate: [{
|
|
185
|
-
type: ContentChild,
|
|
186
|
-
args: [ArdPasswordInputPlaceholderTemplateDirective, {
|
|
187
|
-
read: TemplateRef,
|
|
188
|
-
}]
|
|
189
|
-
}], revealable: [{
|
|
190
|
-
type: Input
|
|
191
|
-
}], revealed: [{
|
|
192
|
-
type: Input
|
|
193
|
-
}], revealedChange: [{
|
|
194
|
-
type: Output
|
|
195
|
-
}], revealTemplate: [{
|
|
196
|
-
type: ContentChild,
|
|
197
|
-
args: [ArdPasswordInputRevealButtonTemplateDirective, {
|
|
198
|
-
read: TemplateRef,
|
|
199
|
-
}]
|
|
200
|
-
}], appearance: [{
|
|
201
|
-
type: Input
|
|
202
|
-
}], variant: [{
|
|
203
|
-
type: Input
|
|
204
|
-
}], compact: [{
|
|
205
|
-
type: Input
|
|
206
|
-
}], inputAttrs: [{
|
|
207
|
-
type: Input
|
|
208
|
-
}], maxLength: [{
|
|
209
|
-
type: Input
|
|
210
|
-
}], value: [{
|
|
211
|
-
type: Input
|
|
212
|
-
}], valueChange: [{
|
|
213
|
-
type: Output
|
|
214
|
-
}], inputEvent: [{
|
|
215
|
-
type: Output,
|
|
216
|
-
args: ['input']
|
|
217
|
-
}], changeEvent: [{
|
|
218
|
-
type: Output,
|
|
219
|
-
args: ['change']
|
|
220
|
-
}] } });
|
|
221
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvcGFzc3dvcmQtaW5wdXQvcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvcGFzc3dvcmQtaW5wdXQvcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEYsT0FBTyxFQUNMLDRDQUE0QyxFQUM1Qyx1Q0FBdUMsRUFDdkMsNkNBQTZDLEVBQzdDLHVDQUF1QyxHQUN4QyxNQUFNLDZCQUE2QixDQUFDOzs7OztBQWlCckMsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHFCQUFxQjtJQWR2RTs7UUFzQlcsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUF1QmxDLGFBQWE7UUFDTCxnQkFBVyxHQUFZLElBQUksQ0FBQztRQVM1QixjQUFTLEdBQVksS0FBSyxDQUFDO1FB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QVk7dUJBQUMsNkNBQTZDLEVBQUU7d0JBQzNELElBQUksRUFBRSxXQUFXO3FCQUNsQjtnQkFVUSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFJRixPQUFPO3NCQURWLEtBQUs7Z0JBa0JHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS0YsU0FBUztzQkFEWixLQUFLO2dCQXdCRixLQUFLO3NCQURSLEtBQUs7Z0JBT0ksV0FBVztzQkFBcEIsTUFBTTtnQkFHVSxVQUFVO3NCQUExQixNQUFNO3VCQUFDLE9BQU87Z0JBQ0csV0FBVztzQkFBNUIsTUFBTTt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcbmltcG9ydCB7IGlzQW55U3RyaW5nLCBpc0RlZmluZWQgfSBmcm9tICdzaW1wbGUtYm9vbCc7XG5pbXBvcnQgeyBfTmdNb2RlbENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9faW50ZXJuYWwvbmdtb2RlbC1jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUVsZW1lbnRBcHBlYXJhbmNlLCBGb3JtRWxlbWVudFZhcmlhbnQgfSBmcm9tICcuLi8uLi90eXBlcy90aGVtaW5nLnR5cGVzJztcbmltcG9ydCB7XG4gIEFyZFBhc3N3b3JkSW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlLFxuICBBcmRQYXNzd29yZElucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsXG4gIEFyZFBhc3N3b3JkSW5wdXRSZXZlYWxCdXR0b25UZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkUGFzc3dvcmRJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLFxufSBmcm9tICcuL3Bhc3N3b3JkLWlucHV0LmRpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgUGFzc3dvcmRJbnB1dFJldmVhbEJ1dHRvbkNvbnRleHQgfSBmcm9tICcuL3Bhc3N3b3JkLWlucHV0LnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJkLXBhc3N3b3JkLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Bhc3N3b3JkLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXJkaXVtUGFzc3dvcmRJbnB1dENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBcmRpdW1QYXNzd29yZElucHV0Q29tcG9uZW50IGV4dGVuZHMgX05nTW9kZWxDb21wb25lbnRCYXNlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCB7XG4gIC8vISBpbnB1dCB2aWV3XG4gIEBWaWV3Q2hpbGQoJ3RleHRJbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHRleHRJbnB1dEVsITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fc2V0SW5wdXRBdHRyaWJ1dGVzKCk7XG4gIH1cblxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGlucHV0SWQ/OiBzdHJpbmc7XG5cbiAgLy8hIHByZWZpeCAmIHN1ZmZpeFxuICBAQ29udGVudENoaWxkKEFyZFBhc3N3b3JkSW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSwge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICB9KVxuICBwcmVmaXhUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBDb250ZW50Q2hpbGQoQXJkUGFzc3dvcmRJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pXG4gIHN1ZmZpeFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvLyEgcGxhY2Vob2xkZXJcbiAgQENvbnRlbnRDaGlsZChBcmRQYXNzd29yZElucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSwge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICB9KVxuICBwbGFjZWhvbGRlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBnZXQgc2hvdWxkRGlzcGxheVBsYWNlaG9sZGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBCb29sZWFuKHRoaXMucGxhY2Vob2xkZXIpICYmICF0aGlzLnZhbHVlO1xuICB9XG5cbiAgLy8hIHJldmVhbGluZ1xuICBwcml2YXRlIF9yZXZlYWxhYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KClcbiAgZ2V0IHJldmVhbGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3JldmVhbGFibGU7XG4gIH1cbiAgc2V0IHJldmVhbGFibGUodjogYW55KSB7XG4gICAgdGhpcy5fcmV2ZWFsYWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KTtcbiAgfVxuXG4gIHByaXZhdGUgX3JldmVhbGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGdldCByZXZlYWxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmV2ZWFsZWQ7XG4gIH1cbiAgc2V0IHJldmVhbGVkKHY6IGFueSkge1xuICAgIHRoaXMuX3JldmVhbGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xuICB9XG5cbiAgQE91dHB1dCgpIHJldmVhbGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHRvZ2dsZVJldmVhbCh2PzogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IG9sZFN0YXRlID0gdGhpcy5yZXZlYWxlZDtcbiAgICB0aGlzLnJldmVhbGVkID0gdiA/PyAhdGhpcy5yZXZlYWxlZDtcblxuICAgIGlmIChvbGRTdGF0ZSAhPSB0aGlzLnJldmVhbGVkKSB7XG4gICAgICB0aGlzLnJldmVhbGVkQ2hhbmdlLmVtaXQodGhpcy5yZXZlYWxlZCk7XG4gICAgfVxuICB9XG5cbiAgQENvbnRlbnRDaGlsZChBcmRQYXNzd29yZElucHV0UmV2ZWFsQnV0dG9uVGVtcGxhdGVEaXJlY3RpdmUsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgfSlcbiAgcmV2ZWFsVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGdldFJldmVhbEJ1dHRvbkNvbnRleHQoKTogUGFzc3dvcmRJbnB1dFJldmVhbEJ1dHRvbkNvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICAkaW1wbGljaXQ6IHRoaXMucmV2ZWFsZWQsXG4gICAgfTtcbiAgfVxuXG4gIC8vISBhcHBlYXJhbmNlXG4gIEBJbnB1dCgpIGFwcGVhcmFuY2U6IEZvcm1FbGVtZW50QXBwZWFyYW5jZSA9IEZvcm1FbGVtZW50QXBwZWFyYW5jZS5PdXRsaW5lZDtcbiAgQElucHV0KCkgdmFyaWFudDogRm9ybUVsZW1lbnRWYXJpYW50ID0gRm9ybUVsZW1lbnRWYXJpYW50LlJvdW5kZWQ7XG5cbiAgcHJpdmF0ZSBfY29tcGFjdDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBnZXQgY29tcGFjdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY29tcGFjdDtcbiAgfVxuICBzZXQgY29tcGFjdCh2OiBhbnkpIHtcbiAgICB0aGlzLl9jb21wYWN0ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xuICB9XG5cbiAgZ2V0IG5nQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBbXG4gICAgICBgYXJkLWFwcGVhcmFuY2UtJHt0aGlzLmFwcGVhcmFuY2V9YCxcbiAgICAgIGBhcmQtdmFyaWFudC0ke3RoaXMudmFyaWFudH1gLFxuICAgICAgdGhpcy5jb21wYWN0ID8gJ2FyZC1jb21wYWN0JyA6ICcnLFxuICAgICAgdGhpcy5yZXZlYWxhYmxlID8gJ2FyZC1yZXZlYWxhYmxlJyA6ICcnLFxuICAgIF0uam9pbignICcpO1xuICB9XG5cbiAgLy8hIG90aGVyIGlucHV0c1xuICBASW5wdXQoKSBpbnB1dEF0dHJzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG5cbiAgLy8hIG51bWJlciBhdHRyaWJ1dGUgc2V0dGVycy9nZXR0ZXJzXG4gIHByb3RlY3RlZCBfbWF4TGVuZ3RoPzogbnVtYmVyO1xuICBASW5wdXQoKVxuICBnZXQgbWF4TGVuZ3RoKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX21heExlbmd0aDtcbiAgfVxuICBzZXQgbWF4TGVuZ3RoKHY6IGFueSkge1xuICAgIHRoaXMuX21heExlbmd0aCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHYpO1xuICB9XG5cbiAgLy8hIGNvbnRyb2wgdmFsdWUgYWNjZXNzb3IncyB3cml0ZSB2YWx1ZSBpbXBsZW1lbnRhdGlvblxuICB3cml0ZVZhbHVlKHY6IGFueSkge1xuICAgIGlmICghaXNBbnlTdHJpbmcodikgJiYgaXNEZWZpbmVkKHYpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKG5ldyBFcnJvcihgRXJyb3IgdXNpbmcgPGFyZC1wYXNzd29yZC1pbnB1dD46IFVuZXhwZWN0ZWQgdmFsdWUgdHlwZSAke3R5cGVvZiB2fS5gKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3dyaXRlVmFsdWUodik7XG4gIH1cbiAgcHJvdGVjdGVkIF93cml0ZVZhbHVlKHY6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICBjb25zdCBvbGRWYWwgPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMuX3ZhbHVlID0gdjtcbiAgICByZXR1cm4gb2xkVmFsICE9IHY7XG4gIH1cbiAgLy8hIHZhbHVlIHR3by13YXkgYmluZGluZ1xuICBwcm90ZWN0ZWQgX3ZhbHVlPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2OiBzdHJpbmcgfCBudWxsKSB7XG4gICAgdGhpcy53cml0ZVZhbHVlKHYpO1xuICB9XG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUgPz8gbnVsbDtcbiAgfVxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bGw+KCk7XG5cbiAgLy8hIGV2ZW50IGVtaXR0ZXJzXG4gIEBPdXRwdXQoJ2lucHV0JykgaW5wdXRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcbiAgQE91dHB1dCgnY2hhbmdlJykgY2hhbmdlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bGw+KCk7XG5cbiAgLy8hIGV2ZW50IGhhbmRsZXJzXG4gIG9uSW5wdXQobmV3VmFsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgdmFsdWVIYXNDaGFuZ2VkID0gdGhpcy5fd3JpdGVWYWx1ZShuZXdWYWwpO1xuICAgIGlmICghdmFsdWVIYXNDaGFuZ2VkKSByZXR1cm47XG4gICAgdGhpcy5fZW1pdElucHV0KCk7XG4gIH1cbiAgcHJvdGVjdGVkIF9lbWl0SW5wdXQoKTogdm9pZCB7XG4gICAgY29uc3QgdiA9IHRoaXMudmFsdWU7XG4gICAgdGhpcy5fb25DaGFuZ2VSZWdpc3RlcmVkPy4odik7XG4gICAgdGhpcy5pbnB1dEV2ZW50LmVtaXQodik7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xuICB9XG4gIC8vZm9jdXMsIGJsdXIsIGNoYW5nZVxuICBvbkNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XG4gIH1cbiAgcHJvdGVjdGVkIF9lbWl0Q2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlRXZlbnQuZW1pdCh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIC8vIGNvcHlcbiAgb25Db3B5KGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMudmFsdWUgJiZcbiAgICAgIC8vZG9lcyB0aGUgc2VsZWN0aW9uIGNvdmVyIHRoZSBlbnRpcmUgaW5wdXRcbiAgICAgICgodGhpcy50ZXh0SW5wdXRFbC5uYXRpdmVFbGVtZW50LnNlbGVjdGlvblN0YXJ0ID09IDAgJiYgdGhpcy50ZXh0SW5wdXRFbC5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZCA9PSB0aGlzLnRleHRJbnB1dEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUubGVuZ3RoKSB8fFxuICAgICAgICAvL29yIGlzIHplcm8td2lkZVxuICAgICAgICB0aGlzLnRleHRJbnB1dEVsLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPT0gdGhpcy50ZXh0SW5wdXRFbC5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZClcbiAgICApIHtcbiAgICAgIGV2ZW50LmNsaXBib2FyZERhdGE/LnNldERhdGEoJ3RleHQvcGxhaW4nLCB0aGlzLnZhbHVlKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG4gIC8vISBoZWxwZXJzXG4gIHByb3RlY3RlZCBfc2V0SW5wdXRBdHRyaWJ1dGVzKCkge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy50ZXh0SW5wdXRFbC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IGF0dHJpYnV0ZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICBhdXRvY29ycmVjdDogJ29mZicsXG4gICAgICBhdXRvY2FwaXRhbGl6ZTogJ29mZicsXG4gICAgICBhdXRvY29tcGxldGU6ICdvZmYnLFxuICAgICAgdGFiaW5kZXg6IFN0cmluZyh0aGlzLnRhYkluZGV4KSxcbiAgICAgIC4uLnRoaXMuaW5wdXRBdHRycyxcbiAgICB9O1xuXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoYXR0cmlidXRlcykpIHtcbiAgICAgIGlucHV0LnNldEF0dHJpYnV0ZShrZXksIFN0cmluZyhhdHRyaWJ1dGVzW2tleV0pKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxhcmQtZm9ybS1maWVsZC1mcmFtZVxyXG4gICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXHJcbiAgICBbdmFyaWFudF09XCJ2YXJpYW50XCJcclxuICAgIFtjb21wYWN0XT1cImNvbXBhY3RcIlxyXG4gICAgW2lzRm9jdXNlZF09XCJpc0ZvY3VzZWRcIlxyXG4gICAgW3ByZWZpeFRlbXBsYXRlXT1cInByZWZpeFRlbXBsYXRlXCJcclxuICAgIFtzdWZmaXhUZW1wbGF0ZV09XCJzdWZmaXhUZW1wbGF0ZVwiXHJcbj5cclxuICAgIDxkaXYgY2xhc3M9XCJhcmQtcGFzc3dvcmQtaW5wdXRcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIm5nQ2xhc3Nlc1wiXHJcbiAgICAgICAgW2NsYXNzLmFyZC1oYXMtdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICAgIChjbGljayk9XCJmb2N1cygpXCJcclxuICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLWlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvdWxkRGlzcGxheVBsYWNlaG9sZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRQbGFjZWhvbGRlclRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtcGxhY2Vob2xkZXJcIj57eyBwbGFjZWhvbGRlciB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicGxhY2Vob2xkZXJUZW1wbGF0ZSB8fCBkZWZhdWx0UGxhY2Vob2xkZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPGlucHV0ICN0ZXh0SW5wdXRcclxuICAgICAgICAgICAgICAgICNmb2N1c2FibGVFbGVtZW50XHJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCIhcmV2ZWFsYWJsZSB8fCAhcmV2ZWFsZWQgPyAncGFzc3dvcmQnIDogJ3RleHQnXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImlucHV0SWRcIlxyXG4gICAgICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAoaW5wdXQpPVwib25JbnB1dCh0ZXh0SW5wdXQudmFsdWUpXCJcclxuICAgICAgICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChjb3B5KT1cIm9uQ29weSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5hcmQtcmV2ZWFsZWRdPVwicmV2ZWFsYWJsZSAmJiByZXZlYWxlZFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInJldmVhbGFibGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFyZC1yZXZlYWwtYnV0dG9uXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVJldmVhbCgpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFJldmVhbFRlbXBsYXRlIGxldC1yZXZlYWxlZD5cclxuICAgICAgICAgICAgICAgICAgICA8YXJkLWljb24gW2ljb25dPVwicmV2ZWFsZWQgPyAndmlzaWJpbGl0eScgOiAndmlzaWJpbGl0eV9vZmYnXCI+PC9hcmQtaWNvbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicmV2ZWFsVGVtcGxhdGUgfHwgZGVmYXVsdFJldmVhbFRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJnZXRSZXZlYWxCdXR0b25Db250ZXh0KClcIlxyXG4gICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG48L2FyZC1mb3JtLWZpZWxkLWZyYW1lPiJdfQ==
|
|
149
|
+
], template: "<ard-form-field-frame\n [appearance]=\"appearance()\"\n [variant]=\"variant()\"\n [compact]=\"compact()\"\n [isFocused]=\"isFocused\"\n [prefixTemplate]=\"prefixTemplate()?.template\"\n [suffixTemplate]=\"suffixTemplate()?.template\"\n>\n <div\n class=\"ard-password-input\"\n [ngClass]=\"ngClasses()\"\n [class.ard-has-value]=\"value()\"\n (click)=\"focus()\"\n >\n <div class=\"ard-input-container\">\n @if (shouldDisplayPlaceholder()) {\n <ng-template #defaultPlaceholderTemplate>\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\n </ng-template>\n\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate()?.template || defaultPlaceholderTemplate\" />\n }\n\n <input\n #textInput\n #focusableElement\n [type]=\"!revealable() || !revealed() ? 'password' : 'text'\"\n [attr.id]=\"inputId()\"\n [attr.tabindex]=\"tabIndex()\"\n [readonly]=\"readonly()\"\n [disabled]=\"disabled()\"\n (input)=\"onInput(textInput.value)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\"\n (copy)=\"onCopy($event)\"\n [class.ard-revealed]=\"revealable() && revealed()\"\n />\n </div>\n\n @if (revealable()) {\n <button\n class=\"ard-reveal-button\"\n (click)=\"!holdToReveal() && toggleReveal()\"\n (mousedown)=\"holdToReveal() && revealed.set(true)\"\n (mouseup)=\"holdToReveal() && revealed.set(false)\"\n >\n <ng-template\n #defaultRevealTemplate\n let-revealed\n >\n <ard-icon [icon]=\"revealed ? 'visibility' : 'visibility_off'\"></ard-icon>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"revealTemplate()?.template || defaultRevealTemplate\"\n [ngTemplateOutletContext]=\"revealButtonContext()\"\n />\n </button>\n }\n </div>\n</ard-form-field-frame>\n" }]
|
|
150
|
+
}] });
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvcGFzc3dvcmQtaW5wdXQvcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvcGFzc3dvcmQtaW5wdXQvcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBSVQsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxLQUFLLEVBQ0wsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV0RixPQUFPLEVBQ0wsNENBQTRDLEVBQzVDLHVDQUF1QyxFQUN2Qyw2Q0FBNkMsRUFDN0MsdUNBQXVDLEdBQ3hDLE1BQU0sNkJBQTZCLENBQUM7Ozs7O0FBaUJyQyxNQUFNLE9BQU8sNEJBQTZCLFNBQVEscUJBQXFCO0lBZHZFOztRQWVFLGNBQWM7UUFDTCxnQkFBVyxHQUFHLFNBQVMsQ0FBK0IsV0FBVyxDQUFDLENBQUM7UUFNbkUsZ0JBQVcsR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDaEMsWUFB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Q1osV0FBVyxFQUFFLEtBQUs7WUFDbEIsY0FBYyxFQUFFLEtBQUs7WUFDckIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO1NBQ3JCLENBQUM7UUFFRixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUMxQyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQzs4R0FsSlUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsbWpEQVI1QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNEJBQTRCLENBQUM7Z0JBQzNELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixzRUFjc0MsdUNBQXVDLGlHQUN2Qyx1Q0FBdUMsc0dBR2xDLDRDQUE0QyxpR0ErQmpELDZDQUE2QyxpTkN6RnRGLGc5REE4REE7OzJGRHBCYSw0QkFBNEI7a0JBZHhDLFNBQVM7K0JBQ0Usb0JBQW9CLGlCQUdmLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNkJBQTZCLENBQUM7NEJBQzNELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBjb21wdXRlZCxcbiAgY29udGVudENoaWxkLFxuICBmb3J3YXJkUmVmLFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIHZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYXJkaXVtLXVpL2RldmtpdCc7XG5pbXBvcnQgeyBpc0FueVN0cmluZywgaXNEZWZpbmVkIH0gZnJvbSAnc2ltcGxlLWJvb2wnO1xuaW1wb3J0IHsgX05nTW9kZWxDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vX2ludGVybmFsL25nbW9kZWwtY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1FbGVtZW50QXBwZWFyYW5jZSwgRm9ybUVsZW1lbnRWYXJpYW50IH0gZnJvbSAnLi4vLi4vdHlwZXMvdGhlbWluZy50eXBlcyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJy4uLy4uL3R5cGVzL3V0aWxpdHkudHlwZXMnO1xuaW1wb3J0IHtcbiAgQXJkUGFzc3dvcmRJbnB1dFBsYWNlaG9sZGVyVGVtcGxhdGVEaXJlY3RpdmUsXG4gIEFyZFBhc3N3b3JkSW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkUGFzc3dvcmRJbnB1dFJldmVhbEJ1dHRvblRlbXBsYXRlRGlyZWN0aXZlLFxuICBBcmRQYXNzd29yZElucHV0U3VmZml4VGVtcGxhdGVEaXJlY3RpdmUsXG59IGZyb20gJy4vcGFzc3dvcmQtaW5wdXQuZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBQYXNzd29yZElucHV0UmV2ZWFsQnV0dG9uQ29udGV4dCB9IGZyb20gJy4vcGFzc3dvcmQtaW5wdXQudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcmQtcGFzc3dvcmQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBcmRpdW1QYXNzd29yZElucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bVBhc3N3b3JkSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvLyEgaW5wdXQgdmlld1xuICByZWFkb25seSB0ZXh0SW5wdXRFbCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PigndGV4dElucHV0Jyk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fc2V0SW5wdXRBdHRyaWJ1dGVzKCk7XG4gIH1cblxuICByZWFkb25seSBwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZz4oJycpO1xuICByZWFkb25seSBpbnB1dElkID0gaW5wdXQ8TnVsbGFibGU8c3RyaW5nPj4oKTtcblxuICAvLyEgcHJlZml4ICYgc3VmZml4XG4gIHJlYWRvbmx5IHByZWZpeFRlbXBsYXRlID0gY29udGVudENoaWxkKEFyZFBhc3N3b3JkSW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSk7XG4gIHJlYWRvbmx5IHN1ZmZpeFRlbXBsYXRlID0gY29udGVudENoaWxkKEFyZFBhc3N3b3JkSW5wdXRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSk7XG5cbiAgLy8hIHBsYWNlaG9sZGVyXG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyVGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkUGFzc3dvcmRJbnB1dFBsYWNlaG9sZGVyVGVtcGxhdGVEaXJlY3RpdmUpO1xuXG4gIHJlYWRvbmx5IHNob3VsZERpc3BsYXlQbGFjZWhvbGRlciA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy5wbGFjZWhvbGRlcigpICYmICF0aGlzLnZhbHVlKCkpO1xuXG4gIC8vISByZXZlYWxpbmdcbiAgcmVhZG9ubHkgcmV2ZWFsYWJsZSA9IGlucHV0PGJvb2xlYW4sIGFueT4odHJ1ZSwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xuICByZWFkb25seSBob2xkVG9SZXZlYWwgPSBpbnB1dDxib29sZWFuLCBhbnk+KGZhbHNlLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XG5cbiAgcmVhZG9ubHkgYXV0b0hpZGVUaW1lb3V0TXMgPSBpbnB1dDxOdWxsYWJsZTxudW1iZXI+LCBhbnk+KHVuZGVmaW5lZCwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlTnVtYmVyUHJvcGVydHkodiwgdW5kZWZpbmVkKSB9KTtcblxuICByZWFkb25seSByZXZlYWxlZCA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIF9oaWRlVGltZW91dDogTm9kZUpTLlRpbWVvdXQgfCBudWxsID0gbnVsbDtcbiAgdG9nZ2xlUmV2ZWFsKG5ld1N0YXRlID0gIXRoaXMucmV2ZWFsZWQoKSk6IHZvaWQge1xuICAgIHRoaXMucmV2ZWFsZWQuc2V0KG5ld1N0YXRlKTtcblxuICAgIGlmICh0aGlzLl9oaWRlVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2hpZGVUaW1lb3V0KTtcbiAgICB9XG4gICAgY29uc3QgdGltZW91dCA9IHRoaXMuYXV0b0hpZGVUaW1lb3V0TXMoKTtcbiAgICBpZiAodGltZW91dCAmJiBuZXdTdGF0ZSkge1xuICAgICAgdGhpcy5faGlkZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmV2ZWFsZWQuc2V0KGZhbHNlKSwgdGltZW91dCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2hpZGVUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5faGlkZVRpbWVvdXQpO1xuICAgIH1cbiAgfVxuXG4gIHJlYWRvbmx5IHJldmVhbFRlbXBsYXRlID0gY29udGVudENoaWxkKEFyZFBhc3N3b3JkSW5wdXRSZXZlYWxCdXR0b25UZW1wbGF0ZURpcmVjdGl2ZSk7XG5cbiAgcmVhZG9ubHkgcmV2ZWFsQnV0dG9uQ29udGV4dCA9IGNvbXB1dGVkKFxuICAgICgpOiBQYXNzd29yZElucHV0UmV2ZWFsQnV0dG9uQ29udGV4dCA9PiAoe1xuICAgICAgJGltcGxpY2l0OiB0aGlzLnJldmVhbGVkKCksXG4gICAgfSlcbiAgKTtcblxuICAvLyEgYXBwZWFyYW5jZVxuICByZWFkb25seSBhcHBlYXJhbmNlID0gaW5wdXQ8Rm9ybUVsZW1lbnRBcHBlYXJhbmNlPihGb3JtRWxlbWVudEFwcGVhcmFuY2UuT3V0bGluZWQpO1xuICByZWFkb25seSB2YXJpYW50ID0gaW5wdXQ8Rm9ybUVsZW1lbnRWYXJpYW50PihGb3JtRWxlbWVudFZhcmlhbnQuUm91bmRlZCk7XG5cbiAgcmVhZG9ubHkgY29tcGFjdCA9IGlucHV0PGJvb2xlYW4sIGFueT4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICByZWFkb25seSBuZ0NsYXNzZXMgPSBjb21wdXRlZCgoKSA9PlxuICAgIFtcbiAgICAgIGBhcmQtYXBwZWFyYW5jZS0ke3RoaXMuYXBwZWFyYW5jZSgpfWAsXG4gICAgICBgYXJkLXZhcmlhbnQtJHt0aGlzLnZhcmlhbnQoKX1gLFxuICAgICAgdGhpcy5jb21wYWN0KCkgPyAnYXJkLWNvbXBhY3QnIDogJycsXG4gICAgICB0aGlzLnJldmVhbGFibGUoKSA/ICdhcmQtcmV2ZWFsYWJsZScgOiAnJyxcbiAgICBdLmpvaW4oJyAnKVxuICApO1xuXG4gIC8vISBvdGhlciBpbnB1dHNcbiAgcmVhZG9ubHkgaW5wdXRBdHRycyA9IGlucHV0PFJlY29yZDxzdHJpbmcsIGFueT4+KHt9KTtcblxuICAvLyEgY29udHJvbCB2YWx1ZSBhY2Nlc3NvcidzIHdyaXRlIHZhbHVlIGltcGxlbWVudGF0aW9uXG4gIHdyaXRlVmFsdWUodjogYW55KSB7XG4gICAgaWYgKCFpc0FueVN0cmluZyh2KSAmJiBpc0RlZmluZWQodikpIHtcbiAgICAgIC8vd2FybiB3aGVuIHVzaW5nIG5vbi1zdHJpbmcvbm9uLW51bGwgdmFsdWVcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgbmV3IEVycm9yKFxuICAgICAgICAgIGBBUkQtV0EwMDIwOiBUcnlpbmcgdG8gc2V0IDxhcmQtcGFzc3dvcmQtaW5wdXQ+J3MgdmFsdWUgdG8gXCIke3Z9XCIgKG9mIHR5cGUgJHt0eXBlb2Ygdn0pLCBleHBlY3RlZCBzdHJpbmcgb3IgbnVsbC5gXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICAvL25vcm1hbGl6ZSB0aGUgdmFsdWVcbiAgICAgIHYgPSB2Py50b1N0cmluZz8uKCkgPz8gU3RyaW5nKHYpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl93cml0ZVZhbHVlKHYpO1xuICB9XG4gIHByb3RlY3RlZCBfd3JpdGVWYWx1ZSh2OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgb2xkVmFsID0gdGhpcy52YWx1ZSgpO1xuICAgIHRoaXMudmFsdWUuc2V0KHYpO1xuICAgIHJldHVybiBvbGRWYWwgIT09IHY7XG4gIH1cbiAgLy8hIHZhbHVlIHR3by13YXkgYmluZGluZ1xuICByZWFkb25seSB2YWx1ZSA9IG1vZGVsPE51bGxhYmxlPHN0cmluZz4+KCk7XG5cbiAgLy8hIGV2ZW50IGhhbmRsZXJzXG4gIG9uSW5wdXQobmV3VmFsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZUhhc0NoYW5nZWQgPSB0aGlzLl93cml0ZVZhbHVlKG5ld1ZhbCk7XG4gICAgaWYgKCF2YWx1ZUhhc0NoYW5nZWQpIHJldHVybjtcbiAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XG4gIH1cbiAgcHJvdGVjdGVkIF9lbWl0Q2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHYgPSB0aGlzLnZhbHVlKCk7XG4gICAgdGhpcy5fb25DaGFuZ2VSZWdpc3RlcmVkPy4odik7XG4gIH1cbiAgLy9mb2N1cywgYmx1ciwgY2hhbmdlXG4gIG9uQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcbiAgfVxuXG4gIC8vIGNvcHlcbiAgb25Db3B5KGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRleHRJbnB1dEVsID0gdGhpcy50ZXh0SW5wdXRFbCgpO1xuICAgIGNvbnN0IHYgPSB0aGlzLnZhbHVlKCk7XG4gICAgaWYgKFxuICAgICAgdiAmJlxuICAgICAgdGV4dElucHV0RWwgJiZcbiAgICAgIC8vZG9lcyB0aGUgc2VsZWN0aW9uIGNvdmVyIHRoZSBlbnRpcmUgaW5wdXRcbiAgICAgICgodGV4dElucHV0RWwubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydCA9PT0gMCAmJlxuICAgICAgICB0ZXh0SW5wdXRFbC5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZCA9PT0gdGV4dElucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZS5sZW5ndGgpIHx8XG4gICAgICAgIC8vb3IgaXMgemVyby13aWRlXG4gICAgICAgIHRleHRJbnB1dEVsLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPT09IHRleHRJbnB1dEVsLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uRW5kKVxuICAgICkge1xuICAgICAgZXZlbnQuY2xpcGJvYXJkRGF0YT8uc2V0RGF0YSgndGV4dC9wbGFpbicsIHYpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cbiAgLy8hIGhlbHBlcnNcbiAgcHJvdGVjdGVkIF9zZXRJbnB1dEF0dHJpYnV0ZXMoKSB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLnRleHRJbnB1dEVsKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFpbnB1dCkgcmV0dXJuO1xuXG4gICAgY29uc3QgYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIGF1dG9jb3JyZWN0OiAnb2ZmJyxcbiAgICAgIGF1dG9jYXBpdGFsaXplOiAnb2ZmJyxcbiAgICAgIGF1dG9jb21wbGV0ZTogJ29mZicsXG4gICAgICB0YWJpbmRleDogU3RyaW5nKHRoaXMudGFiSW5kZXgoKSksXG4gICAgICAuLi50aGlzLmlucHV0QXR0cnMoKSxcbiAgICB9O1xuXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoYXR0cmlidXRlcykpIHtcbiAgICAgIGlucHV0LnNldEF0dHJpYnV0ZShrZXksIFN0cmluZyhhdHRyaWJ1dGVzW2tleV0pKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxhcmQtZm9ybS1maWVsZC1mcmFtZVxuICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlKClcIlxuICBbdmFyaWFudF09XCJ2YXJpYW50KClcIlxuICBbY29tcGFjdF09XCJjb21wYWN0KClcIlxuICBbaXNGb2N1c2VkXT1cImlzRm9jdXNlZFwiXG4gIFtwcmVmaXhUZW1wbGF0ZV09XCJwcmVmaXhUZW1wbGF0ZSgpPy50ZW1wbGF0ZVwiXG4gIFtzdWZmaXhUZW1wbGF0ZV09XCJzdWZmaXhUZW1wbGF0ZSgpPy50ZW1wbGF0ZVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cImFyZC1wYXNzd29yZC1pbnB1dFwiXG4gICAgW25nQ2xhc3NdPVwibmdDbGFzc2VzKClcIlxuICAgIFtjbGFzcy5hcmQtaGFzLXZhbHVlXT1cInZhbHVlKClcIlxuICAgIChjbGljayk9XCJmb2N1cygpXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJhcmQtaW5wdXQtY29udGFpbmVyXCI+XG4gICAgICBAaWYgKHNob3VsZERpc3BsYXlQbGFjZWhvbGRlcigpKSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFBsYWNlaG9sZGVyVGVtcGxhdGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1wbGFjZWhvbGRlclwiPnt7IHBsYWNlaG9sZGVyKCkgfX08L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicGxhY2Vob2xkZXJUZW1wbGF0ZSgpPy50ZW1wbGF0ZSB8fCBkZWZhdWx0UGxhY2Vob2xkZXJUZW1wbGF0ZVwiIC8+XG4gICAgICB9XG5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjdGV4dElucHV0XG4gICAgICAgICNmb2N1c2FibGVFbGVtZW50XG4gICAgICAgIFt0eXBlXT1cIiFyZXZlYWxhYmxlKCkgfHwgIXJldmVhbGVkKCkgPyAncGFzc3dvcmQnIDogJ3RleHQnXCJcbiAgICAgICAgW2F0dHIuaWRdPVwiaW5wdXRJZCgpXCJcbiAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXgoKVwiXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seSgpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICAoaW5wdXQpPVwib25JbnB1dCh0ZXh0SW5wdXQudmFsdWUpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGNvcHkpPVwib25Db3B5KCRldmVudClcIlxuICAgICAgICBbY2xhc3MuYXJkLXJldmVhbGVkXT1cInJldmVhbGFibGUoKSAmJiByZXZlYWxlZCgpXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG5cbiAgICBAaWYgKHJldmVhbGFibGUoKSkge1xuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImFyZC1yZXZlYWwtYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cIiFob2xkVG9SZXZlYWwoKSAmJiB0b2dnbGVSZXZlYWwoKVwiXG4gICAgICAgIChtb3VzZWRvd24pPVwiaG9sZFRvUmV2ZWFsKCkgJiYgcmV2ZWFsZWQuc2V0KHRydWUpXCJcbiAgICAgICAgKG1vdXNldXApPVwiaG9sZFRvUmV2ZWFsKCkgJiYgcmV2ZWFsZWQuc2V0KGZhbHNlKVwiXG4gICAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICNkZWZhdWx0UmV2ZWFsVGVtcGxhdGVcbiAgICAgICAgICBsZXQtcmV2ZWFsZWRcbiAgICAgICAgPlxuICAgICAgICAgIDxhcmQtaWNvbiBbaWNvbl09XCJyZXZlYWxlZCA/ICd2aXNpYmlsaXR5JyA6ICd2aXNpYmlsaXR5X29mZidcIj48L2FyZC1pY29uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJldmVhbFRlbXBsYXRlKCk/LnRlbXBsYXRlIHx8IGRlZmF1bHRSZXZlYWxUZW1wbGF0ZVwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInJldmVhbEJ1dHRvbkNvbnRleHQoKVwiXG4gICAgICAgIC8+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gIDwvZGl2PlxuPC9hcmQtZm9ybS1maWVsZC1mcmFtZT5cbiJdfQ==
|
|
@@ -4,10 +4,10 @@ export class ArdPasswordInputPlaceholderTemplateDirective {
|
|
|
4
4
|
constructor(template) {
|
|
5
5
|
this.template = template;
|
|
6
6
|
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdPasswordInputPlaceholderTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: ArdPasswordInputPlaceholderTemplateDirective, selector: "ard-password-input > ng-template[ard-placeholder-tmp]", ngImport: i0 }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdPasswordInputPlaceholderTemplateDirective, decorators: [{
|
|
11
11
|
type: Directive,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: 'ard-password-input > ng-template[ard-placeholder-tmp]',
|
|
@@ -17,10 +17,10 @@ export class ArdPasswordInputPrefixTemplateDirective {
|
|
|
17
17
|
constructor(template) {
|
|
18
18
|
this.template = template;
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
21
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdPasswordInputPrefixTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
21
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: ArdPasswordInputPrefixTemplateDirective, selector: "ard-password-input > ng-template[ard-prefix-tmp]", ngImport: i0 }); }
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdPasswordInputPrefixTemplateDirective, decorators: [{
|
|
24
24
|
type: Directive,
|
|
25
25
|
args: [{ selector: 'ard-password-input > ng-template[ard-prefix-tmp]' }]
|
|
26
26
|
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
@@ -28,10 +28,10 @@ export class ArdPasswordInputSuffixTemplateDirective {
|
|
|
28
28
|
constructor(template) {
|
|
29
29
|
this.template = template;
|
|
30
30
|
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
32
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdPasswordInputSuffixTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
32
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: ArdPasswordInputSuffixTemplateDirective, selector: "ard-password-input > ng-template[ard-suffix-tmp]", ngImport: i0 }); }
|
|
33
33
|
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdPasswordInputSuffixTemplateDirective, decorators: [{
|
|
35
35
|
type: Directive,
|
|
36
36
|
args: [{ selector: 'ard-password-input > ng-template[ard-suffix-tmp]' }]
|
|
37
37
|
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
@@ -39,10 +39,10 @@ export class ArdPasswordInputRevealButtonTemplateDirective {
|
|
|
39
39
|
constructor(template) {
|
|
40
40
|
this.template = template;
|
|
41
41
|
}
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
43
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdPasswordInputRevealButtonTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
43
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: ArdPasswordInputRevealButtonTemplateDirective, selector: "ard-password-input > ng-template[ard-reveal-tmp]", ngImport: i0 }); }
|
|
44
44
|
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdPasswordInputRevealButtonTemplateDirective, decorators: [{
|
|
46
46
|
type: Directive,
|
|
47
47
|
args: [{ selector: 'ard-password-input > ng-template[ard-reveal-tmp]' }]
|
|
48
48
|
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
@@ -6,8 +6,8 @@ import { ArdiumFormFieldFrameModule } from '../../form-field-frame/form-field-fr
|
|
|
6
6
|
import { ArdiumIconModule } from '../../icon/icon.module';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class ArdiumPasswordInputModule {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumPasswordInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: ArdiumPasswordInputModule, declarations: [ArdiumPasswordInputComponent,
|
|
11
11
|
ArdPasswordInputPlaceholderTemplateDirective,
|
|
12
12
|
ArdPasswordInputPrefixTemplateDirective,
|
|
13
13
|
ArdPasswordInputSuffixTemplateDirective,
|
|
@@ -16,9 +16,9 @@ export class ArdiumPasswordInputModule {
|
|
|
16
16
|
ArdPasswordInputPrefixTemplateDirective,
|
|
17
17
|
ArdPasswordInputSuffixTemplateDirective,
|
|
18
18
|
ArdPasswordInputRevealButtonTemplateDirective] }); }
|
|
19
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
19
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumPasswordInputModule, imports: [CommonModule, ArdiumFormFieldFrameModule, ArdiumIconModule] }); }
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumPasswordInputModule, decorators: [{
|
|
22
22
|
type: NgModule,
|
|
23
23
|
args: [{
|
|
24
24
|
declarations: [
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtaW5wdXQudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9wYXNzd29yZC1pbnB1dC9wYXNzd29yZC1pbnB1dC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBQYXNzd29yZElucHV0UmV2ZWFsQnV0dG9uQ29udGV4dCB7XG4gICRpbXBsaWNpdDogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './simple-input.module';
|
|
2
|
+
export * from './simple-input.component';
|
|
3
|
+
export * from './simple-input.directives';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9zaW1wbGUtaW5wdXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NpbXBsZS1pbnB1dC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaW1wbGUtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2ltcGxlLWlucHV0LmRpcmVjdGl2ZXMnO1xuIl19
|