@ardium-ui/ui 1.0.3 → 2.0.2
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/README.md +25 -25
- 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 +5 -5
- 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 +5 -5
- package/esm2022/lib/badge/badge.types.mjs +1 -1
- 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 +5 -5
- 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 +5 -5
- package/esm2022/lib/buttons/fab/index.mjs +3 -0
- package/esm2022/lib/buttons/general-button.types.mjs +1 -1
- package/esm2022/lib/buttons/icon-button/icon-button.component.mjs +17 -25
- package/esm2022/lib/buttons/icon-button/icon-button.module.mjs +5 -5
- 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 +5 -5
- package/esm2022/lib/card/card.types.mjs +1 -1
- package/esm2022/lib/card/index.mjs +5 -0
- package/esm2022/lib/checkbox/checkbox.component.mjs +33 -46
- package/esm2022/lib/checkbox/checkbox.module.mjs +5 -5
- package/esm2022/lib/checkbox/checkbox.types.mjs +1 -1
- 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 +5 -5
- package/esm2022/lib/checkbox-list/checkbox-list.types.mjs +1 -1
- 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 +5 -5
- 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 +5 -5
- package/esm2022/lib/color/color-display/color-display.types.mjs +1 -1
- 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 +4 -4
- package/esm2022/lib/dialog/dialog.module.mjs +5 -5
- 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 +5 -5
- 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 +5 -5
- package/esm2022/lib/dropdown-panel/dropdown-panel.types.mjs +1 -1
- 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 +10 -10
- 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 +19 -19
- package/esm2022/lib/file-inputs/file-input/file-input.module.mjs +5 -5
- 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/file-inputs/file-input-types.mjs +1 -1
- package/esm2022/lib/form-field-frame/form-field-frame.component.mjs +20 -47
- package/esm2022/lib/form-field-frame/form-field-frame.directives.mjs +7 -7
- package/esm2022/lib/form-field-frame/form-field-frame.module.mjs +5 -5
- 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 +5 -5
- package/esm2022/lib/icon/icon.pipe.mjs +4 -4
- package/esm2022/lib/icon/index.mjs +4 -0
- package/esm2022/lib/inputs/color-input/color-input.directives.mjs +25 -25
- 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 +5 -5
- 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 +10 -10
- 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-types.mjs +1 -1
- 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 +4 -4
- package/esm2022/lib/inputs/number-input/number-input.module.mjs +5 -5
- 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 +13 -13
- package/esm2022/lib/inputs/password-input/password-input.module.mjs +5 -5
- 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 +10 -10
- package/esm2022/lib/inputs/simple-input/simple-input.module.mjs +5 -5
- package/esm2022/lib/kbd/index.mjs +4 -0
- package/esm2022/lib/kbd/kbd.component.mjs +15 -29
- package/esm2022/lib/kbd/kbd.module.mjs +5 -5
- package/esm2022/lib/kbd/kbd.pipe.mjs +4 -4
- 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 +5 -5
- package/esm2022/lib/modal/index.mjs +3 -0
- package/esm2022/lib/modal/modal.component.mjs +42 -83
- package/esm2022/lib/modal/modal.module.mjs +5 -5
- package/esm2022/lib/option/index.mjs +3 -0
- package/esm2022/lib/option/option.component.mjs +24 -46
- package/esm2022/lib/option/option.module.mjs +5 -5
- 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 +4 -4
- package/esm2022/lib/progress-bar/progress-bar.module.mjs +5 -5
- 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 +4 -4
- package/esm2022/lib/progress-circle/progress-circle.module.mjs +5 -5
- 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 +5 -5
- 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 +5 -5
- package/esm2022/lib/segment/segment.types.mjs +1 -1
- 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 +5 -5
- 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 +5 -5
- 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 +5 -5
- package/esm2022/lib/slider/slider.component.mjs +13 -10
- package/esm2022/lib/slider/slider.directive.mjs +4 -4
- package/esm2022/lib/slider/slider.module.mjs +7 -7
- package/esm2022/lib/slider/slider.types.mjs +1 -1
- package/esm2022/lib/snackbar/index.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.token.mjs +1 -1
- 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 +5 -5
- 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 +5 -5
- 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 +5 -5
- 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 +5 -5
- package/esm2022/lib/star/star.component.mjs +12 -20
- package/esm2022/lib/star/star.module.mjs +5 -5
- package/esm2022/lib/star/star.types.mjs +1 -1
- package/esm2022/lib/statebox/index.mjs +3 -0
- package/esm2022/lib/statebox/statebox.component.mjs +64 -102
- package/esm2022/lib/statebox/statebox.module.mjs +5 -5
- 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 +5 -5
- package/esm2022/lib/table/table.types.mjs +1 -1
- 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 +5 -5
- 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 +5 -5
- package/esm2022/lib/table-pagination/table-pagination.types.mjs +1 -1
- package/esm2022/lib/types/alignment.types.mjs +1 -1
- package/esm2022/lib/types/colors.types.mjs +1 -1
- package/esm2022/lib/types/item-storage.types.mjs +1 -1
- package/esm2022/lib/types/theming.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/_variables.scss +121 -121
- package/themes/default/_clear-button.scss +73 -73
- package/themes/default/_coloring.scss +137 -137
- package/themes/default/_dropdown-arrow.scss +12 -12
- package/themes/default/_mixins.scss +70 -70
- package/themes/default/badge.scss +94 -94
- package/themes/default/buttons/_button-mixins.scss +144 -144
- package/themes/default/buttons/button.scss +62 -62
- package/themes/default/buttons/fab.scss +74 -72
- package/themes/default/buttons/icon-button.scss +59 -59
- package/themes/default/calendar.scss +182 -182
- package/themes/default/card.scss +126 -126
- package/themes/default/checkbox-list.scss +83 -83
- package/themes/default/checkbox.scss +109 -109
- package/themes/default/chips.scss +200 -206
- package/themes/default/color-display.scss +41 -41
- package/themes/default/color-picker.scss +111 -111
- package/themes/default/core.scss +99 -96
- package/themes/default/dialog.scss +16 -16
- package/themes/default/divider.scss +13 -13
- package/themes/default/dropdown-panel.scss +45 -45
- package/themes/default/file-drop-area.scss +162 -162
- package/themes/default/form-field-frame.scss +78 -78
- package/themes/default/inputs/_shared.scss +46 -46
- package/themes/default/inputs/color-input.scss +46 -46
- package/themes/default/inputs/digit-input.scss +56 -56
- package/themes/default/inputs/file-input.scss +85 -78
- package/themes/default/inputs/hex-input.scss +27 -27
- package/themes/default/inputs/input.scss +52 -52
- package/themes/default/inputs/number-input.scss +121 -121
- package/themes/default/inputs/password-input.scss +43 -43
- package/themes/default/inputs/search-bar.scss +19 -19
- package/themes/default/inputs/simple-input.scss +19 -19
- package/themes/default/kbd-shortcut.scss +13 -13
- package/themes/default/kbd.scss +20 -20
- package/themes/default/modal.scss +93 -93
- package/themes/default/progress-bar.scss +166 -166
- package/themes/default/progress-circle.scss +56 -56
- package/themes/default/radio.scss +112 -112
- package/themes/default/segment.scss +340 -339
- package/themes/default/select.scss +255 -253
- package/themes/default/slide-toggle.scss +151 -151
- package/themes/default/slider.scss +224 -224
- package/themes/default/snackbar.scss +58 -60
- package/themes/default/spinner.scss +21 -21
- package/themes/default/stars.scss +122 -122
- package/themes/default/statebox.scss +109 -109
- package/themes/default/tabber.scss +86 -0
- package/themes/default/table-pagination.scss +56 -56
- package/themes/default/table.scss +403 -403
- 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,25 +1,23 @@
|
|
|
1
|
+
import { computed, signal } from '@angular/core';
|
|
1
2
|
import resolvePath from 'resolve-object-path';
|
|
2
|
-
import { any, isPrimitive } from 'simple-bool';
|
|
3
|
+
import { any, isDefined, isPrimitive } from 'simple-bool';
|
|
3
4
|
export class SimplestItemStorage {
|
|
4
|
-
get highlightedItem() {
|
|
5
|
-
return this._highlightedItem;
|
|
6
|
-
}
|
|
7
5
|
constructor(_ardParentComp) {
|
|
8
6
|
this._ardParentComp = _ardParentComp;
|
|
9
|
-
this._items = [];
|
|
10
|
-
this._highlightedItem = null;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
7
|
+
this._items = signal([]);
|
|
8
|
+
this._highlightedItem = signal(null);
|
|
9
|
+
/**
|
|
10
|
+
* Gets all items.
|
|
11
|
+
*/
|
|
12
|
+
this.items = this._items.asReadonly();
|
|
13
|
+
/**
|
|
14
|
+
* The currently highlighted item.
|
|
15
|
+
*/
|
|
16
|
+
this.highlightedItem = this._highlightedItem.asReadonly();
|
|
17
|
+
/**
|
|
18
|
+
* True if at least one item is highlighted, otherwise false.
|
|
19
|
+
*/
|
|
20
|
+
this.isAnyItemHighlighted = computed(() => isDefined(this._highlightedItem()));
|
|
23
21
|
}
|
|
24
22
|
/**
|
|
25
23
|
* Sets the component's items. Takes into account the values defined by the parent component for `suggValueFrom` and `suggLabelFrom`.
|
|
@@ -32,9 +30,9 @@ export class SimplestItemStorage {
|
|
|
32
30
|
items = items.map(this._primitiveItemsMapFn);
|
|
33
31
|
areItemsPrimitive = true;
|
|
34
32
|
}
|
|
35
|
-
this._items
|
|
33
|
+
this._items.set(items.map((item, index) => {
|
|
36
34
|
return this._setItemsMapFn(item, index, areItemsPrimitive);
|
|
37
|
-
});
|
|
35
|
+
}));
|
|
38
36
|
return areItemsPrimitive;
|
|
39
37
|
}
|
|
40
38
|
_primitiveItemsMapFn(item) {
|
|
@@ -43,25 +41,28 @@ export class SimplestItemStorage {
|
|
|
43
41
|
_setItemsMapFn(rawItemData, index, areItemsPrimitive) {
|
|
44
42
|
if (areItemsPrimitive) {
|
|
45
43
|
return {
|
|
46
|
-
itemData: rawItemData,
|
|
47
|
-
index,
|
|
48
|
-
value: rawItemData.value,
|
|
49
|
-
label: rawItemData.value?.toString?.() ?? String(rawItemData.value),
|
|
44
|
+
itemData: signal(rawItemData),
|
|
45
|
+
index: signal(index),
|
|
46
|
+
value: signal(rawItemData.value),
|
|
47
|
+
label: signal(rawItemData.value?.toString?.() ?? String(rawItemData.value)),
|
|
48
|
+
selected: signal(false),
|
|
49
|
+
highlighted: signal(false),
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
52
|
//get value
|
|
53
|
-
const valuePath = this._ardParentComp.valueFrom ?? this._ardParentComp.labelFrom ?? this._ardParentComp.DEFAULTS.valueFrom;
|
|
53
|
+
const valuePath = this._ardParentComp.valueFrom() ?? this._ardParentComp.labelFrom() ?? this._ardParentComp.DEFAULTS.valueFrom;
|
|
54
54
|
const value = resolvePath(rawItemData, valuePath);
|
|
55
55
|
//get label
|
|
56
|
-
const labelPath = this._ardParentComp.labelFrom ?? this._ardParentComp.valueFrom ?? this._ardParentComp.DEFAULTS.labelFrom;
|
|
56
|
+
const labelPath = this._ardParentComp.labelFrom() ?? this._ardParentComp.valueFrom() ?? this._ardParentComp.DEFAULTS.labelFrom;
|
|
57
57
|
const label = resolvePath(rawItemData, labelPath) ?? value;
|
|
58
|
-
const itemData = areItemsPrimitive ? rawItemData.value : rawItemData;
|
|
59
58
|
//return
|
|
60
59
|
return {
|
|
61
|
-
itemData,
|
|
62
|
-
index,
|
|
63
|
-
value,
|
|
64
|
-
label: label?.toString?.() ?? String(label),
|
|
60
|
+
itemData: signal(rawItemData),
|
|
61
|
+
index: signal(index),
|
|
62
|
+
value: signal(value),
|
|
63
|
+
label: signal(label?.toString?.() ?? String(label)),
|
|
64
|
+
selected: signal(false),
|
|
65
|
+
highlighted: signal(false),
|
|
65
66
|
};
|
|
66
67
|
}
|
|
67
68
|
/**
|
|
@@ -73,18 +74,20 @@ export class SimplestItemStorage {
|
|
|
73
74
|
return item.value;
|
|
74
75
|
}
|
|
75
76
|
selectCurrent() {
|
|
76
|
-
|
|
77
|
+
const hi = this._highlightedItem();
|
|
78
|
+
if (!hi)
|
|
77
79
|
return undefined;
|
|
78
|
-
return this.selectItem(
|
|
80
|
+
return this.selectItem(hi);
|
|
79
81
|
}
|
|
80
82
|
/**
|
|
81
83
|
* Unhighlights all currently highlighted items.
|
|
82
84
|
*/
|
|
83
85
|
unhighlightCurrent() {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
+
const hi = this._highlightedItem();
|
|
87
|
+
if (hi) {
|
|
88
|
+
hi.highlighted.set(false);
|
|
86
89
|
}
|
|
87
|
-
this._highlightedItem
|
|
90
|
+
this._highlightedItem.set(null);
|
|
88
91
|
}
|
|
89
92
|
/**
|
|
90
93
|
* Highlights a given item.
|
|
@@ -92,27 +95,27 @@ export class SimplestItemStorage {
|
|
|
92
95
|
*/
|
|
93
96
|
highlightItem(item) {
|
|
94
97
|
this.unhighlightCurrent();
|
|
95
|
-
item.highlighted
|
|
96
|
-
this._highlightedItem
|
|
98
|
+
item.highlighted.set(true);
|
|
99
|
+
this._highlightedItem.set(item);
|
|
97
100
|
}
|
|
98
101
|
/**
|
|
99
102
|
* Unhighlights a given item.
|
|
100
103
|
* @param item The item to be unhighlighted.
|
|
101
104
|
*/
|
|
102
105
|
unhighlightItem(item) {
|
|
103
|
-
item.highlighted
|
|
104
|
-
if (this._highlightedItem?.index
|
|
105
|
-
this._highlightedItem
|
|
106
|
+
item.highlighted.set(false);
|
|
107
|
+
if (this._highlightedItem()?.index() === item.index())
|
|
108
|
+
this._highlightedItem.set(null);
|
|
106
109
|
}
|
|
107
110
|
/**
|
|
108
111
|
* Highlights the first item out of all items.
|
|
109
112
|
* @returns The highlighted item.
|
|
110
113
|
*/
|
|
111
114
|
highlightFirstItem() {
|
|
112
|
-
if (!this.
|
|
115
|
+
if (!this._items().length)
|
|
113
116
|
return null;
|
|
114
117
|
this.unhighlightCurrent();
|
|
115
|
-
|
|
118
|
+
const itemToHighlight = this._items().first();
|
|
116
119
|
this.highlightItem(itemToHighlight);
|
|
117
120
|
return itemToHighlight;
|
|
118
121
|
}
|
|
@@ -121,10 +124,10 @@ export class SimplestItemStorage {
|
|
|
121
124
|
* @returns The highlighted item.
|
|
122
125
|
*/
|
|
123
126
|
highlightLastItem() {
|
|
124
|
-
if (!this.
|
|
127
|
+
if (!this._items().length)
|
|
125
128
|
return null;
|
|
126
129
|
this.unhighlightCurrent();
|
|
127
|
-
|
|
130
|
+
const itemToHighlight = this._items().last();
|
|
128
131
|
this.highlightItem(itemToHighlight);
|
|
129
132
|
return itemToHighlight;
|
|
130
133
|
}
|
|
@@ -134,22 +137,22 @@ export class SimplestItemStorage {
|
|
|
134
137
|
* @returns The item highlighted.
|
|
135
138
|
*/
|
|
136
139
|
highlightNextItem(offset) {
|
|
137
|
-
const currentItem = this._highlightedItem;
|
|
140
|
+
const currentItem = this._highlightedItem();
|
|
138
141
|
if (!currentItem) {
|
|
139
142
|
return this.highlightFirstItem();
|
|
140
143
|
}
|
|
141
|
-
const
|
|
142
|
-
const currentIndexInItems =
|
|
144
|
+
const items = this._items();
|
|
145
|
+
const currentIndexInItems = items.findIndex(item => item.index() === currentItem.index());
|
|
143
146
|
let nextItemIndex = currentIndexInItems + offset;
|
|
144
|
-
if (nextItemIndex >=
|
|
145
|
-
nextItemIndex -=
|
|
147
|
+
if (nextItemIndex >= items.length) {
|
|
148
|
+
nextItemIndex -= items.length;
|
|
146
149
|
}
|
|
147
150
|
else if (nextItemIndex < 0) {
|
|
148
|
-
nextItemIndex +=
|
|
151
|
+
nextItemIndex += items.length;
|
|
149
152
|
}
|
|
150
|
-
const itemToHighlight =
|
|
153
|
+
const itemToHighlight = items[nextItemIndex];
|
|
151
154
|
this.highlightItem(itemToHighlight);
|
|
152
155
|
return itemToHighlight;
|
|
153
156
|
}
|
|
154
157
|
}
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlc3QtaXRlbS1zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9faW50ZXJuYWwvaXRlbS1zdG9yYWdlcy9zaW1wbGVzdC1pdGVtLXN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFhL0MsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVELFlBQW9CLGNBQXVDO1FBQXZDLG1CQUFjLEdBQWQsY0FBYyxDQUF5QjtRQVBuRCxXQUFNLEdBQTZCLEVBQUUsQ0FBQztRQUN0QyxxQkFBZ0IsR0FBa0MsSUFBSSxDQUFDO0lBTUQsQ0FBQztJQUUvRDs7T0FFRztJQUNILElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxRQUFRLENBQUMsS0FBWTtRQUNuQixJQUFJLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEVBQUU7WUFDM0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDN0MsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1NBQzFCO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lB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QUFNLENBQUM7U0FDOUM7YUFBTSxJQUFJLGFBQWEsR0FBRyxDQUFDLEVBQUU7WUFDNUIsYUFBYSxJQUFJLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztTQUM5QztRQUNELE1BQU0sZUFBZSxHQUFHLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTVELElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFcEMsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlc29sdmVQYXRoIGZyb20gJ3Jlc29sdmUtb2JqZWN0LXBhdGgnO1xyXG5pbXBvcnQgeyBhbnksIGlzUHJpbWl0aXZlIH0gZnJvbSAnc2ltcGxlLWJvb2wnO1xyXG5pbXBvcnQgeyBBcmRTaW1wbGVzdFN0b3JhZ2VJdGVtIH0gZnJvbSAnLi4vLi4vdHlwZXMvaXRlbS1zdG9yYWdlLnR5cGVzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2ltcGxlc3RJdGVtU3RvcmFnZUhvc3REZWZhdWx0cyB7XHJcbiAgdmFsdWVGcm9tOiBzdHJpbmc7XHJcbiAgbGFiZWxGcm9tOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVzdEl0ZW1TdG9yYWdlSG9zdCB7XHJcbiAgdmFsdWVGcm9tPzogc3RyaW5nO1xyXG4gIGxhYmVsRnJvbT86IHN0cmluZztcclxuICByZWFkb25seSBERUZBVUxUUzogU2ltcGxlc3RJdGVtU3RvcmFnZUhvc3REZWZhdWx0cztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNpbXBsZXN0SXRlbVN0b3JhZ2Uge1xyXG4gIHByaXZhdGUgX2l0ZW1zOiBBcmRTaW1wbGVzdFN0b3JhZ2VJdGVtW10gPSBbXTtcclxuICBwcml2YXRlIF9oaWdobGlnaHRlZEl0ZW06IEFyZFNpbXBsZXN0U3RvcmFnZUl0ZW0gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgZ2V0IGhpZ2hsaWdodGVkSXRlbSgpOiBBcmRTaW1wbGVzdFN0b3JhZ2VJdGVtIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5faGlnaGxpZ2h0ZWRJdGVtO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfYXJkUGFyZW50Q29tcDogU2ltcGxlc3RJdGVtU3RvcmFnZUhvc3QpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgYWxsIGl0ZW1zLlxyXG4gICAqL1xyXG4gIGdldCBpdGVtcygpOiBBcmRTaW1wbGVzdFN0b3JhZ2VJdGVtW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0cnVlIGlmIGF0IGxlYXN0IG9uZSBpdGVtIGlzIGhpZ2hsaWdodGVkLCBvdGhlcndpc2UgZmFsc2UuXHJcbiAgICovXHJcbiAgZ2V0IGlzQW55SXRlbUhpZ2hsaWdodGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hpZ2hsaWdodGVkSXRlbSAhPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgY29tcG9uZW50J3MgaXRlbXMuIFRha2VzIGludG8gYWNjb3VudCB0aGUgdmFsdWVzIGRlZmluZWQgYnkgdGhlIHBhcmVudCBjb21wb25lbnQgZm9yIGBzdWdnVmFsdWVGcm9tYCBhbmQgYHN1Z2dMYWJlbEZyb21gLlxyXG4gICAqIEBwYXJhbSBpdGVtcyBBbiBhcnJheSBvZiBpdGVtcyB0byBiZSBzZXQgYXMgdGhlIGNvbXBvbmVudCdzIGl0ZW1zLlxyXG4gICAqIEByZXR1cm5zIHRydWUgaWYgYXQgbGVhc3Qgb25lIG9mIHRoZSBpdGVtcyBpcyBvZiBwcmltaXRpdmUgdHlwZSwgb3RoZXJ3aXNlIGZhbHNlLlxyXG4gICAqL1xyXG4gIHNldEl0ZW1zKGl0ZW1zOiBhbnlbXSk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGFyZUl0ZW1zUHJpbWl0aXZlID0gZmFsc2U7XHJcbiAgICBpZiAoYW55KGl0ZW1zLCBpc1ByaW1pdGl2ZSkpIHtcclxuICAgICAgaXRlbXMgPSBpdGVtcy5tYXAodGhpcy5fcHJpbWl0aXZlSXRlbXNNYXBGbik7XHJcbiAgICAgIGFyZUl0ZW1zUHJpbWl0aXZlID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9pdGVtcyA9IGl0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuX3NldEl0ZW1zTWFwRm4oaXRlbSwgaW5kZXgsIGFyZUl0ZW1zUHJpbWl0aXZlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBhcmVJdGVtc1ByaW1pdGl2ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcHJpbWl0aXZlSXRlbXNNYXBGbjxUPihpdGVtOiBUKTogeyB2YWx1ZTogVCB9IHtcclxuICAgIHJldHVybiB7IHZhbHVlOiBpdGVtIH07XHJcbiAgfVxyXG4gIHByaXZhdGUgX3NldEl0ZW1zTWFwRm4ocmF3SXRlbURhdGE6IGFueSwgaW5kZXg6IG51bWJlciwgYXJlSXRlbXNQcmltaXRpdmU6IGJvb2xlYW4pOiBBcmRTaW1wbGVzdFN0b3JhZ2VJdGVtIHtcclxuICAgIGlmIChhcmVJdGVtc1ByaW1pdGl2ZSkge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGl0ZW1EYXRhOiByYXdJdGVtRGF0YSxcclxuICAgICAgICBpbmRleCxcclxuICAgICAgICB2YWx1ZTogcmF3SXRlbURhdGEudmFsdWUsXHJcbiAgICAgICAgbGFiZWw6IHJhd0l0ZW1EYXRhLnZhbHVlPy50b1N0cmluZz8uKCkgPz8gU3RyaW5nKHJhd0l0ZW1EYXRhLnZhbHVlKSxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIC8vZ2V0IHZhbHVlXHJcbiAgICBjb25zdCB2YWx1ZVBhdGggPSB0aGlzLl9hcmRQYXJlbnRDb21wLnZhbHVlRnJvbSA/PyB0aGlzLl9hcmRQYXJlbnRDb21wLmxhYmVsRnJvbSA/PyB0aGlzLl9hcmRQYXJlbnRDb21wLkRFRkFVTFRTLnZhbHVlRnJvbTtcclxuICAgIGNvbnN0IHZhbHVlID0gcmVzb2x2ZVBhdGgocmF3SXRlbURhdGEsIHZhbHVlUGF0aCk7XHJcblxyXG4gICAgLy9nZXQgbGFiZWxcclxuICAgIGNvbnN0IGxhYmVsUGF0aCA9IHRoaXMuX2FyZFBhcmVudENvbXAubGFiZWxGcm9tID8/IHRoaXMuX2FyZFBhcmVudENvbXAudmFsdWVGcm9tID8/IHRoaXMuX2FyZFBhcmVudENvbXAuREVGQVVMVFMubGFiZWxGcm9tO1xyXG4gICAgY29uc3QgbGFiZWwgPSByZXNvbHZlUGF0aChyYXdJdGVtRGF0YSwgbGFiZWxQYXRoKSA/PyB2YWx1ZTtcclxuXHJcbiAgICBjb25zdCBpdGVtRGF0YSA9IGFyZUl0ZW1zUHJpbWl0aXZlID8gcmF3SXRlbURhdGEudmFsdWUgOiByYXdJdGVtRGF0YTtcclxuXHJcbiAgICAvL3JldHVyblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgaXRlbURhdGEsXHJcbiAgICAgIGluZGV4LFxyXG4gICAgICB2YWx1ZSxcclxuICAgICAgbGFiZWw6IGxhYmVsPy50b1N0cmluZz8uKCkgPz8gU3RyaW5nKGxhYmVsKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWxlY3RzIHRoZSBnaXZlbiBpdGVtLlxyXG4gICAqIEBwYXJhbSBpdGVtcyBUaGUgaXRlbSB0byBzZWxlY3QuXHJcbiAgICogQHJldHVybnMgVGhlIHZhbHVlIG9mIHRoZSBzZWxlY3RlZCBpdGVtLlxyXG4gICAqL1xyXG4gIHNlbGVjdEl0ZW0oaXRlbTogQXJkU2ltcGxlc3RTdG9yYWdlSXRlbSk6IGFueSB7XHJcbiAgICByZXR1cm4gaXRlbS52YWx1ZTtcclxuICB9XHJcbiAgc2VsZWN0Q3VycmVudCgpOiBhbnkge1xyXG4gICAgaWYgKCF0aGlzLl9oaWdobGlnaHRlZEl0ZW0pIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RJdGVtKHRoaXMuX2hpZ2hsaWdodGVkSXRlbSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVbmhpZ2hsaWdodHMgYWxsIGN1cnJlbnRseSBoaWdobGlnaHRlZCBpdGVtcy5cclxuICAgKi9cclxuICB1bmhpZ2hsaWdodEN1cnJlbnQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5faGlnaGxpZ2h0ZWRJdGVtKSB7XHJcbiAgICAgIHRoaXMuX2hpZ2hsaWdodGVkSXRlbS5oaWdobGlnaHRlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5faGlnaGxpZ2h0ZWRJdGVtID0gbnVsbDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogSGlnaGxpZ2h0cyBhIGdpdmVuIGl0ZW0uXHJcbiAgICogQHBhcmFtIGl0ZW0gVGhlIGl0ZW0gdG8gYmUgaGlnaGxpZ2h0ZWQuXHJcbiAgICovXHJcbiAgaGlnaGxpZ2h0SXRlbShpdGVtOiBBcmRTaW1wbGVzdFN0b3JhZ2VJdGVtKTogdm9pZCB7XHJcbiAgICB0aGlzLnVuaGlnaGxpZ2h0Q3VycmVudCgpO1xyXG5cclxuICAgIGl0ZW0uaGlnaGxpZ2h0ZWQgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuX2hpZ2hsaWdodGVkSXRlbSA9IGl0ZW07XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFVuaGlnaGxpZ2h0cyBhIGdpdmVuIGl0ZW0uXHJcbiAgICogQHBhcmFtIGl0ZW0gVGhlIGl0ZW0gdG8gYmUgdW5oaWdobGlnaHRlZC5cclxuICAgKi9cclxuICB1bmhpZ2hsaWdodEl0ZW0oaXRlbTogQXJkU2ltcGxlc3RTdG9yYWdlSXRlbSk6IHZvaWQge1xyXG4gICAgaXRlbS5oaWdobGlnaHRlZCA9IGZhbHNlO1xyXG5cclxuICAgIGlmICh0aGlzLl9oaWdobGlnaHRlZEl0ZW0/LmluZGV4ID09IGl0ZW0uaW5kZXgpIHRoaXMuX2hpZ2hsaWdodGVkSXRlbSA9IG51bGw7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEhpZ2hsaWdodHMgdGhlIGZpcnN0IGl0ZW0gb3V0IG9mIGFsbCBpdGVtcy5cclxuICAgKiBAcmV0dXJucyBUaGUgaGlnaGxpZ2h0ZWQgaXRlbS5cclxuICAgKi9cclxuICBoaWdobGlnaHRGaXJzdEl0ZW0oKTogQXJkU2ltcGxlc3RTdG9yYWdlSXRlbSB8IG51bGwge1xyXG4gICAgaWYgKCF0aGlzLml0ZW1zLmxlbmd0aCkgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgdGhpcy51bmhpZ2hsaWdodEN1cnJlbnQoKTtcclxuXHJcbiAgICBsZXQgaXRlbVRvSGlnaGxpZ2h0ID0gdGhpcy5pdGVtcy5maXJzdCgpO1xyXG4gICAgdGhpcy5oaWdobGlnaHRJdGVtKGl0ZW1Ub0hpZ2hsaWdodCk7XHJcblxyXG4gICAgcmV0dXJuIGl0ZW1Ub0hpZ2hsaWdodDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogSGlnaGxpZ2h0cyB0aGUgbGFzdCBpdGVtIG91dCBvZiBhbGwgaXRlbXMuXHJcbiAgICogQHJldHVybnMgVGhlIGhpZ2hsaWdodGVkIGl0ZW0uXHJcbiAgICovXHJcbiAgaGlnaGxpZ2h0TGFzdEl0ZW0oKTogQXJkU2ltcGxlc3RTdG9yYWdlSXRlbSB8IG51bGwge1xyXG4gICAgaWYgKCF0aGlzLml0ZW1zLmxlbmd0aCkgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgdGhpcy51bmhpZ2hsaWdodEN1cnJlbnQoKTtcclxuXHJcbiAgICBsZXQgaXRlbVRvSGlnaGxpZ2h0ID0gdGhpcy5pdGVtcy5sYXN0KCk7XHJcbiAgICB0aGlzLmhpZ2hsaWdodEl0ZW0oaXRlbVRvSGlnaGxpZ2h0KTtcclxuXHJcbiAgICByZXR1cm4gaXRlbVRvSGlnaGxpZ2h0O1xyXG4gIH1cclxuICAvKipcclxuICAgKiBIaWdobGlnaHRzIHRoZSBuZXh0IG5vbi1kaXNhYmxlZCBpdGVtIGRlZmluZWQgYnkgdGhlIG9mZnNldCBhbW91bnQuXHJcbiAgICogQHBhcmFtIG9mZnNldCBUaGUgYW1vdW50IG9mIGl0ZW1zIHRvIG9mZnNldCB0aGUgaGlnaGxpZ2h0IGJ5LlxyXG4gICAqIEByZXR1cm5zIFRoZSBpdGVtIGhpZ2hsaWdodGVkLlxyXG4gICAqL1xyXG4gIGhpZ2hsaWdodE5leHRJdGVtKG9mZnNldDogbnVtYmVyKTogQXJkU2ltcGxlc3RTdG9yYWdlSXRlbSB8IG51bGwge1xyXG4gICAgY29uc3QgY3VycmVudEl0ZW0gPSB0aGlzLl9oaWdobGlnaHRlZEl0ZW07XHJcbiAgICBpZiAoIWN1cnJlbnRJdGVtKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmhpZ2hsaWdodEZpcnN0SXRlbSgpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaXRlbXNXaXRob3V0RGlzYWJsZWQgPSB0aGlzLl9pdGVtcy5maWx0ZXIoaXRlbSA9PiAhaXRlbS5kaXNhYmxlZCk7XHJcbiAgICBjb25zdCBjdXJyZW50SW5kZXhJbkl0ZW1zID0gaXRlbXNXaXRob3V0RGlzYWJsZWQuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pbmRleCA9PSBjdXJyZW50SXRlbS5pbmRleCk7XHJcblxyXG4gICAgbGV0IG5leHRJdGVtSW5kZXggPSBjdXJyZW50SW5kZXhJbkl0ZW1zICsgb2Zmc2V0O1xyXG4gICAgaWYgKG5leHRJdGVtSW5kZXggPj0gaXRlbXNXaXRob3V0RGlzYWJsZWQubGVuZ3RoKSB7XHJcbiAgICAgIG5leHRJdGVtSW5kZXggLT0gaXRlbXNXaXRob3V0RGlzYWJsZWQubGVuZ3RoO1xyXG4gICAgfSBlbHNlIGlmIChuZXh0SXRlbUluZGV4IDwgMCkge1xyXG4gICAgICBuZXh0SXRlbUluZGV4ICs9IGl0ZW1zV2l0aG91dERpc2FibGVkLmxlbmd0aDtcclxuICAgIH1cclxuICAgIGNvbnN0IGl0ZW1Ub0hpZ2hsaWdodCA9IGl0ZW1zV2l0aG91dERpc2FibGVkW25leHRJdGVtSW5kZXhdO1xyXG5cclxuICAgIHRoaXMuaGlnaGxpZ2h0SXRlbShpdGVtVG9IaWdobGlnaHQpO1xyXG5cclxuICAgIHJldHVybiBpdGVtVG9IaWdobGlnaHQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlc3QtaXRlbS1zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9faW50ZXJuYWwvaXRlbS1zdG9yYWdlcy9zaW1wbGVzdC1pdGVtLXN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxXQUFXLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBYzFELE1BQU0sT0FBTyxtQkFBbUI7SUFJOUIsWUFBNkIsY0FBdUM7UUFBdkMsbUJBQWMsR0FBZCxjQUFjLENBQXlCO1FBSG5ELFdBQU0sR0FBRyxNQUFNLENBQTJCLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLHFCQUFnQixHQUFHLE1BQU0sQ0FBbUMsSUFBSSxDQUFDLENBQUM7UUFJbkY7O1dBRUc7UUFDTSxVQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMxQzs7V0FFRztRQUNNLG9CQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlEOztXQUVHO1FBQ00seUJBQW9CLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFiWixDQUFDO0lBZXhFOzs7O09BSUc7SUFDSCxRQUFRLENBQUMsS0FBWTtRQUNuQixJQUFJLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUM1QixLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMs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TSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVwQyxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNILGlCQUFpQixDQUFDLE1BQWM7UUFDOUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDbkMsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM1QixNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFMUYsSUFBSSxhQUFhLEdBQUcsbUJBQW1CLEdBQUcsTUFBTSxDQUFDO1FBQ2pELElBQUksYUFBYSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQyxhQUFhLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNoQyxDQUFDO2FBQU0sSUFBSSxhQUFhLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDN0IsYUFBYSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDaEMsQ0FBQztRQUNELE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXBDLE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25hbCwgY29tcHV0ZWQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHJlc29sdmVQYXRoIGZyb20gJ3Jlc29sdmUtb2JqZWN0LXBhdGgnO1xuaW1wb3J0IHsgYW55LCBpc0RlZmluZWQsIGlzUHJpbWl0aXZlIH0gZnJvbSAnc2ltcGxlLWJvb2wnO1xuaW1wb3J0IHsgQXJkU2ltcGxlc3RTdG9yYWdlSXRlbSB9IGZyb20gJy4uLy4uL3R5cGVzL2l0ZW0tc3RvcmFnZS50eXBlcyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJy4uLy4uL3R5cGVzL3V0aWxpdHkudHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpbXBsZXN0SXRlbVN0b3JhZ2VIb3N0RGVmYXVsdHMge1xuICB2YWx1ZUZyb206IHN0cmluZztcbiAgbGFiZWxGcm9tOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFNpbXBsZXN0SXRlbVN0b3JhZ2VIb3N0IHtcbiAgcmVhZG9ubHkgdmFsdWVGcm9tOiBTaWduYWw8TnVsbGFibGU8c3RyaW5nPj47XG4gIHJlYWRvbmx5IGxhYmVsRnJvbTogU2lnbmFsPE51bGxhYmxlPHN0cmluZz4+O1xuICByZWFkb25seSBERUZBVUxUUzogU2ltcGxlc3RJdGVtU3RvcmFnZUhvc3REZWZhdWx0cztcbn1cblxuZXhwb3J0IGNsYXNzIFNpbXBsZXN0SXRlbVN0b3JhZ2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IF9pdGVtcyA9IHNpZ25hbDxBcmRTaW1wbGVzdFN0b3JhZ2VJdGVtW10+KFtdKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaGlnaGxpZ2h0ZWRJdGVtID0gc2lnbmFsPE51bGxhYmxlPEFyZFNpbXBsZXN0U3RvcmFnZUl0ZW0+PihudWxsKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF9hcmRQYXJlbnRDb21wOiBTaW1wbGVzdEl0ZW1TdG9yYWdlSG9zdCkge31cblxuICAvKipcbiAgICogR2V0cyBhbGwgaXRlbXMuXG4gICAqL1xuICByZWFkb25seSBpdGVtcyA9IHRoaXMuX2l0ZW1zLmFzUmVhZG9ubHkoKTtcbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50bHkgaGlnaGxpZ2h0ZWQgaXRlbS5cbiAgICovXG4gIHJlYWRvbmx5IGhpZ2hsaWdodGVkSXRlbSA9IHRoaXMuX2hpZ2hsaWdodGVkSXRlbS5hc1JlYWRvbmx5KCk7XG4gIC8qKlxuICAgKiBUcnVlIGlmIGF0IGxlYXN0IG9uZSBpdGVtIGlzIGhpZ2hsaWdodGVkLCBvdGhlcndpc2UgZmFsc2UuXG4gICAqL1xuICByZWFkb25seSBpc0FueUl0ZW1IaWdobGlnaHRlZCA9IGNvbXB1dGVkKCgpID0+IGlzRGVmaW5lZCh0aGlzLl9oaWdobGlnaHRlZEl0ZW0oKSkpO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb21wb25lbnQncyBpdGVtcy4gVGFrZXMgaW50byBhY2NvdW50IHRoZSB2YWx1ZXMgZGVmaW5lZCBieSB0aGUgcGFyZW50IGNvbXBvbmVudCBmb3IgYHN1Z2dWYWx1ZUZyb21gIGFuZCBgc3VnZ0xhYmVsRnJvbWAuXG4gICAqIEBwYXJhbSBpdGVtcyBBbiBhcnJheSBvZiBpdGVtcyB0byBiZSBzZXQgYXMgdGhlIGNvbXBvbmVudCdzIGl0ZW1zLlxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGF0IGxlYXN0IG9uZSBvZiB0aGUgaXRlbXMgaXMgb2YgcHJpbWl0aXZlIHR5cGUsIG90aGVyd2lzZSBmYWxzZS5cbiAgICovXG4gIHNldEl0ZW1zKGl0ZW1zOiBhbnlbXSk6IGJvb2xlYW4ge1xuICAgIGxldCBhcmVJdGVtc1ByaW1pdGl2ZSA9IGZhbHNlO1xuICAgIGlmIChhbnkoaXRlbXMsIGlzUHJpbWl0aXZlKSkge1xuICAgICAgaXRlbXMgPSBpdGVtcy5tYXAodGhpcy5fcHJpbWl0aXZlSXRlbXNNYXBGbik7XG4gICAgICBhcmVJdGVtc1ByaW1pdGl2ZSA9IHRydWU7XG4gICAgfVxuXG4gICAgdGhpcy5faXRlbXMuc2V0KFxuICAgICAgaXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2V0SXRlbXNNYXBGbihpdGVtLCBpbmRleCwgYXJlSXRlbXNQcmltaXRpdmUpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgcmV0dXJuIGFyZUl0ZW1zUHJpbWl0aXZlO1xuICB9XG4gIHByaXZhdGUgX3ByaW1pdGl2ZUl0ZW1zTWFwRm48VD4oaXRlbTogVCk6IHsgdmFsdWU6IFQgfSB7XG4gICAgcmV0dXJuIHsgdmFsdWU6IGl0ZW0gfTtcbiAgfVxuICBwcml2YXRlIF9zZXRJdGVtc01hcEZuKHJhd0l0ZW1EYXRhOiBhbnksIGluZGV4OiBudW1iZXIsIGFyZUl0ZW1zUHJpbWl0aXZlOiBib29sZWFuKTogQXJkU2ltcGxlc3RTdG9yYWdlSXRlbSB7XG4gICAgaWYgKGFyZUl0ZW1zUHJpbWl0aXZlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpdGVtRGF0YTogc2lnbmFsKHJhd0l0ZW1EYXRhKSxcbiAgICAgICAgaW5kZXg6IHNpZ25hbChpbmRleCksXG4gICAgICAgIHZhbHVlOiBzaWduYWwocmF3SXRlbURhdGEudmFsdWUpLFxuICAgICAgICBsYWJlbDogc2lnbmFsKHJhd0l0ZW1EYXRhLnZhbHVlPy50b1N0cmluZz8uKCkgPz8gU3RyaW5nKHJhd0l0ZW1EYXRhLnZhbHVlKSksXG4gICAgICAgIHNlbGVjdGVkOiBzaWduYWwoZmFsc2UpLFxuICAgICAgICBoaWdobGlnaHRlZDogc2lnbmFsKGZhbHNlKSxcbiAgICAgIH07XG4gICAgfVxuICAgIC8vZ2V0IHZhbHVlXG4gICAgY29uc3QgdmFsdWVQYXRoID1cbiAgICAgIHRoaXMuX2FyZFBhcmVudENvbXAudmFsdWVGcm9tKCkgPz8gdGhpcy5fYXJkUGFyZW50Q29tcC5sYWJlbEZyb20oKSA/PyB0aGlzLl9hcmRQYXJlbnRDb21wLkRFRkFVTFRTLnZhbHVlRnJvbTtcbiAgICBjb25zdCB2YWx1ZSA9IHJlc29sdmVQYXRoKHJhd0l0ZW1EYXRhLCB2YWx1ZVBhdGgpO1xuXG4gICAgLy9nZXQgbGFiZWxcbiAgICBjb25zdCBsYWJlbFBhdGggPVxuICAgICAgdGhpcy5fYXJkUGFyZW50Q29tcC5sYWJlbEZyb20oKSA/PyB0aGlzLl9hcmRQYXJlbnRDb21wLnZhbHVlRnJvbSgpID8/IHRoaXMuX2FyZFBhcmVudENvbXAuREVGQVVMVFMubGFiZWxGcm9tO1xuICAgIGNvbnN0IGxhYmVsID0gcmVzb2x2ZVBhdGgocmF3SXRlbURhdGEsIGxhYmVsUGF0aCkgPz8gdmFsdWU7XG5cbiAgICAvL3JldHVyblxuICAgIHJldHVybiB7XG4gICAgICBpdGVtRGF0YTogc2lnbmFsKHJhd0l0ZW1EYXRhKSxcbiAgICAgIGluZGV4OiBzaWduYWwoaW5kZXgpLFxuICAgICAgdmFsdWU6IHNpZ25hbCh2YWx1ZSksXG4gICAgICBsYWJlbDogc2lnbmFsKGxhYmVsPy50b1N0cmluZz8uKCkgPz8gU3RyaW5nKGxhYmVsKSksXG4gICAgICBzZWxlY3RlZDogc2lnbmFsKGZhbHNlKSxcbiAgICAgIGhpZ2hsaWdodGVkOiBzaWduYWwoZmFsc2UpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyB0aGUgZ2l2ZW4gaXRlbS5cbiAgICogQHBhcmFtIGl0ZW1zIFRoZSBpdGVtIHRvIHNlbGVjdC5cbiAgICogQHJldHVybnMgVGhlIHZhbHVlIG9mIHRoZSBzZWxlY3RlZCBpdGVtLlxuICAgKi9cbiAgc2VsZWN0SXRlbShpdGVtOiBBcmRTaW1wbGVzdFN0b3JhZ2VJdGVtKTogYW55IHtcbiAgICByZXR1cm4gaXRlbS52YWx1ZTtcbiAgfVxuICBzZWxlY3RDdXJyZW50KCk6IGFueSB7XG4gICAgY29uc3QgaGkgPSB0aGlzLl9oaWdobGlnaHRlZEl0ZW0oKTtcbiAgICBpZiAoIWhpKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzLnNlbGVjdEl0ZW0oaGkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuaGlnaGxpZ2h0cyBhbGwgY3VycmVudGx5IGhpZ2hsaWdodGVkIGl0ZW1zLlxuICAgKi9cbiAgdW5oaWdobGlnaHRDdXJyZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IGhpID0gdGhpcy5faGlnaGxpZ2h0ZWRJdGVtKCk7XG4gICAgaWYgKGhpKSB7XG4gICAgICBoaS5oaWdobGlnaHRlZC5zZXQoZmFsc2UpO1xuICAgIH1cbiAgICB0aGlzLl9oaWdobGlnaHRlZEl0ZW0uc2V0KG51bGwpO1xuICB9XG4gIC8qKlxuICAgKiBIaWdobGlnaHRzIGEgZ2l2ZW4gaXRlbS5cbiAgICogQHBhcmFtIGl0ZW0gVGhlIGl0ZW0gdG8gYmUgaGlnaGxpZ2h0ZWQuXG4gICAqL1xuICBoaWdobGlnaHRJdGVtKGl0ZW06IEFyZFNpbXBsZXN0U3RvcmFnZUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnVuaGlnaGxpZ2h0Q3VycmVudCgpO1xuXG4gICAgaXRlbS5oaWdobGlnaHRlZC5zZXQodHJ1ZSk7XG5cbiAgICB0aGlzLl9oaWdobGlnaHRlZEl0ZW0uc2V0KGl0ZW0pO1xuICB9XG4gIC8qKlxuICAgKiBVbmhpZ2hsaWdodHMgYSBnaXZlbiBpdGVtLlxuICAgKiBAcGFyYW0gaXRlbSBUaGUgaXRlbSB0byBiZSB1bmhpZ2hsaWdodGVkLlxuICAgKi9cbiAgdW5oaWdobGlnaHRJdGVtKGl0ZW06IEFyZFNpbXBsZXN0U3RvcmFnZUl0ZW0pOiB2b2lkIHtcbiAgICBpdGVtLmhpZ2hsaWdodGVkLnNldChmYWxzZSk7XG5cbiAgICBpZiAodGhpcy5faGlnaGxpZ2h0ZWRJdGVtKCk/LmluZGV4KCkgPT09IGl0ZW0uaW5kZXgoKSkgdGhpcy5faGlnaGxpZ2h0ZWRJdGVtLnNldChudWxsKTtcbiAgfVxuICAvKipcbiAgICogSGlnaGxpZ2h0cyB0aGUgZmlyc3QgaXRlbSBvdXQgb2YgYWxsIGl0ZW1zLlxuICAgKiBAcmV0dXJucyBUaGUgaGlnaGxpZ2h0ZWQgaXRlbS5cbiAgICovXG4gIGhpZ2hsaWdodEZpcnN0SXRlbSgpOiBBcmRTaW1wbGVzdFN0b3JhZ2VJdGVtIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLl9pdGVtcygpLmxlbmd0aCkgcmV0dXJuIG51bGw7XG5cbiAgICB0aGlzLnVuaGlnaGxpZ2h0Q3VycmVudCgpO1xuXG4gICAgY29uc3QgaXRlbVRvSGlnaGxpZ2h0ID0gdGhpcy5faXRlbXMoKS5maXJzdCgpO1xuICAgIHRoaXMuaGlnaGxpZ2h0SXRlbShpdGVtVG9IaWdobGlnaHQpO1xuXG4gICAgcmV0dXJuIGl0ZW1Ub0hpZ2hsaWdodDtcbiAgfVxuICAvKipcbiAgICogSGlnaGxpZ2h0cyB0aGUgbGFzdCBpdGVtIG91dCBvZiBhbGwgaXRlbXMuXG4gICAqIEByZXR1cm5zIFRoZSBoaWdobGlnaHRlZCBpdGVtLlxuICAgKi9cbiAgaGlnaGxpZ2h0TGFzdEl0ZW0oKTogQXJkU2ltcGxlc3RTdG9yYWdlSXRlbSB8IG51bGwge1xuICAgIGlmICghdGhpcy5faXRlbXMoKS5sZW5ndGgpIHJldHVybiBudWxsO1xuXG4gICAgdGhpcy51bmhpZ2hsaWdodEN1cnJlbnQoKTtcblxuICAgIGNvbnN0IGl0ZW1Ub0hpZ2hsaWdodCA9IHRoaXMuX2l0ZW1zKCkubGFzdCgpO1xuICAgIHRoaXMuaGlnaGxpZ2h0SXRlbShpdGVtVG9IaWdobGlnaHQpO1xuXG4gICAgcmV0dXJuIGl0ZW1Ub0hpZ2hsaWdodDtcbiAgfVxuICAvKipcbiAgICogSGlnaGxpZ2h0cyB0aGUgbmV4dCBub24tZGlzYWJsZWQgaXRlbSBkZWZpbmVkIGJ5IHRoZSBvZmZzZXQgYW1vdW50LlxuICAgKiBAcGFyYW0gb2Zmc2V0IFRoZSBhbW91bnQgb2YgaXRlbXMgdG8gb2Zmc2V0IHRoZSBoaWdobGlnaHQgYnkuXG4gICAqIEByZXR1cm5zIFRoZSBpdGVtIGhpZ2hsaWdodGVkLlxuICAgKi9cbiAgaGlnaGxpZ2h0TmV4dEl0ZW0ob2Zmc2V0OiBudW1iZXIpOiBBcmRTaW1wbGVzdFN0b3JhZ2VJdGVtIHwgbnVsbCB7XG4gICAgY29uc3QgY3VycmVudEl0ZW0gPSB0aGlzLl9oaWdobGlnaHRlZEl0ZW0oKTtcbiAgICBpZiAoIWN1cnJlbnRJdGVtKSB7XG4gICAgICByZXR1cm4gdGhpcy5oaWdobGlnaHRGaXJzdEl0ZW0oKTtcbiAgICB9XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLl9pdGVtcygpO1xuICAgIGNvbnN0IGN1cnJlbnRJbmRleEluSXRlbXMgPSBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmluZGV4KCkgPT09IGN1cnJlbnRJdGVtLmluZGV4KCkpO1xuXG4gICAgbGV0IG5leHRJdGVtSW5kZXggPSBjdXJyZW50SW5kZXhJbkl0ZW1zICsgb2Zmc2V0O1xuICAgIGlmIChuZXh0SXRlbUluZGV4ID49IGl0ZW1zLmxlbmd0aCkge1xuICAgICAgbmV4dEl0ZW1JbmRleCAtPSBpdGVtcy5sZW5ndGg7XG4gICAgfSBlbHNlIGlmIChuZXh0SXRlbUluZGV4IDwgMCkge1xuICAgICAgbmV4dEl0ZW1JbmRleCArPSBpdGVtcy5sZW5ndGg7XG4gICAgfVxuICAgIGNvbnN0IGl0ZW1Ub0hpZ2hsaWdodCA9IGl0ZW1zW25leHRJdGVtSW5kZXhdO1xuXG4gICAgdGhpcy5oaWdobGlnaHRJdGVtKGl0ZW1Ub0hpZ2hsaWdodCk7XG5cbiAgICByZXR1cm4gaXRlbVRvSGlnaGxpZ2h0O1xuICB9XG59XG4iXX0=
|
|
@@ -1,124 +1,90 @@
|
|
|
1
|
+
import { computed } from '@angular/core';
|
|
1
2
|
import { isDefined } from 'simple-bool';
|
|
2
3
|
export class PaginationModel {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.
|
|
5
|
-
this.
|
|
6
|
-
this.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
this.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
this._itemsPerPageOptions = v;
|
|
23
|
-
}
|
|
24
|
-
getItemsPerPageOptions() {
|
|
25
|
-
return this._itemsPerPageOptions;
|
|
26
|
-
}
|
|
27
|
-
setItemsPerPage(v) {
|
|
28
|
-
this._itemsPerPage = v;
|
|
29
|
-
this._lastPageNumMemo = null;
|
|
30
|
-
this._itemsOnCurrentPageMemo = null;
|
|
31
|
-
this.setPage(1);
|
|
32
|
-
}
|
|
33
|
-
getItemsPerPage() {
|
|
34
|
-
return this._itemsPerPage;
|
|
35
|
-
}
|
|
36
|
-
get itemsOnCurrentPage() {
|
|
37
|
-
if (!isDefined(this._totalItems))
|
|
38
|
-
return null;
|
|
39
|
-
if (!isDefined(this._itemsOnCurrentPageMemo))
|
|
40
|
-
[
|
|
41
|
-
(this._itemsOnCurrentPageMemo = [
|
|
42
|
-
Math.min(this._totalItems, (this._page - 1) * this._itemsPerPage + 1),
|
|
43
|
-
Math.min(this._totalItems, this._page * this._itemsPerPage),
|
|
44
|
-
]),
|
|
4
|
+
constructor(_ardHostCmp) {
|
|
5
|
+
this._ardHostCmp = _ardHostCmp;
|
|
6
|
+
this.isTotalItemsDefined = computed(() => isDefined(this._ardHostCmp.totalItems()));
|
|
7
|
+
this.lastPageNum = computed(() => {
|
|
8
|
+
const total = this._ardHostCmp.totalItems();
|
|
9
|
+
if (!total)
|
|
10
|
+
return null;
|
|
11
|
+
return Math.ceil(total / this._ardHostCmp.itemsPerPage());
|
|
12
|
+
});
|
|
13
|
+
this.isLastPage = computed(() => {
|
|
14
|
+
return !isDefined(this._ardHostCmp.totalItems()) || this.lastPageNum() === this._ardHostCmp.page();
|
|
15
|
+
});
|
|
16
|
+
this.itemsOnCurrentPage = computed(() => {
|
|
17
|
+
const total = this._ardHostCmp.totalItems();
|
|
18
|
+
if (!total)
|
|
19
|
+
return null;
|
|
20
|
+
return [
|
|
21
|
+
Math.min(total, (this._ardHostCmp.page() - 1) * this._ardHostCmp.itemsPerPage() + 1),
|
|
22
|
+
Math.min(total, this._ardHostCmp.page() * this._ardHostCmp.itemsPerPage()),
|
|
45
23
|
];
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
24
|
+
});
|
|
25
|
+
//! action disabled states
|
|
26
|
+
this.firstPageDisabled = computed(() => {
|
|
27
|
+
return !isDefined(this._ardHostCmp.totalItems()) || this._ardHostCmp.page() === 1;
|
|
28
|
+
});
|
|
29
|
+
this.lastPageDisabled = computed(() => {
|
|
30
|
+
return !isDefined(this._ardHostCmp.totalItems()) || this._ardHostCmp.page() === this.lastPageNum();
|
|
31
|
+
});
|
|
32
|
+
//! context
|
|
33
|
+
this.getCurrentItemsContext = computed(() => {
|
|
34
|
+
const total = this._ardHostCmp.totalItems();
|
|
35
|
+
if (!total)
|
|
36
|
+
throw new Error(`ARD-FT${this._ardHostCmp.componentId}90: Cannot use pagination model without defining total items first.`);
|
|
37
|
+
const pageItems = this.itemsOnCurrentPage();
|
|
38
|
+
return {
|
|
39
|
+
totalPages: this.lastPageNum(),
|
|
40
|
+
totalItems: total,
|
|
41
|
+
page: this._ardHostCmp.page(),
|
|
42
|
+
currentItemsFirst: pageItems[0],
|
|
43
|
+
currentItemsLast: pageItems[1],
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
this.getPartialContext = computed(() => {
|
|
47
|
+
return {
|
|
48
|
+
...this.getCurrentItemsContext(),
|
|
49
|
+
itemsPerPageOptions: this._ardHostCmp.options(),
|
|
50
|
+
itemsPerPage: this._ardHostCmp.itemsPerPage(),
|
|
51
|
+
firstPageDisabled: this.firstPageDisabled(),
|
|
52
|
+
prevPageDisabled: this.firstPageDisabled(),
|
|
53
|
+
nextPageDisabled: this.lastPageDisabled(),
|
|
54
|
+
lastPageDisabled: this.lastPageDisabled(),
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
//! current page
|
|
68
59
|
setPage(v) {
|
|
69
|
-
this.
|
|
70
|
-
this._itemsOnCurrentPageMemo = null;
|
|
60
|
+
this._ardHostCmp.page.set(v);
|
|
71
61
|
}
|
|
72
62
|
getPage() {
|
|
73
|
-
return this.
|
|
63
|
+
return this._ardHostCmp.page();
|
|
74
64
|
}
|
|
75
|
-
|
|
76
|
-
if (this.firstPageDisabled)
|
|
65
|
+
goToFirstPage() {
|
|
66
|
+
if (this.firstPageDisabled())
|
|
77
67
|
return null;
|
|
78
68
|
this.setPage(1);
|
|
79
69
|
return 1;
|
|
80
70
|
}
|
|
81
|
-
|
|
82
|
-
if (this.firstPageDisabled)
|
|
71
|
+
goToPrevPage() {
|
|
72
|
+
if (this.firstPageDisabled())
|
|
83
73
|
return null;
|
|
84
|
-
this.setPage(this.
|
|
85
|
-
return this.
|
|
74
|
+
this.setPage(this._ardHostCmp.page() - 1);
|
|
75
|
+
return this._ardHostCmp.page();
|
|
86
76
|
}
|
|
87
|
-
|
|
88
|
-
if (this.lastPageDisabled)
|
|
77
|
+
goToNextPage() {
|
|
78
|
+
if (this.lastPageDisabled())
|
|
89
79
|
return null;
|
|
90
|
-
this.setPage(this.
|
|
91
|
-
return this.
|
|
80
|
+
this.setPage(this._ardHostCmp.page() + 1);
|
|
81
|
+
return this._ardHostCmp.page();
|
|
92
82
|
}
|
|
93
|
-
|
|
94
|
-
if (this.lastPageDisabled)
|
|
83
|
+
goToLastPage() {
|
|
84
|
+
if (this.lastPageDisabled())
|
|
95
85
|
return null;
|
|
96
|
-
this.setPage(this.lastPageNum);
|
|
97
|
-
return this.
|
|
98
|
-
}
|
|
99
|
-
//! context
|
|
100
|
-
getCurrentItemsContext() {
|
|
101
|
-
if (!isDefined(this._totalItems))
|
|
102
|
-
throw new Error('Cannot use pagination model without defining total items first.');
|
|
103
|
-
const pageItems = this.itemsOnCurrentPage;
|
|
104
|
-
return {
|
|
105
|
-
totalPages: this.lastPageNum,
|
|
106
|
-
totalItems: this._totalItems,
|
|
107
|
-
page: this._page,
|
|
108
|
-
currentItemsFirst: pageItems[0],
|
|
109
|
-
currentItemsLast: pageItems[1],
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
getPartialContext() {
|
|
113
|
-
return {
|
|
114
|
-
...this.getCurrentItemsContext(),
|
|
115
|
-
itemsPerPageOptions: this._itemsPerPageOptions,
|
|
116
|
-
itemsPerPage: this._itemsPerPage,
|
|
117
|
-
firstPageDisabled: this.firstPageDisabled,
|
|
118
|
-
prevPageDisabled: this.firstPageDisabled,
|
|
119
|
-
nextPageDisabled: this.lastPageDisabled,
|
|
120
|
-
lastPageDisabled: this.lastPageDisabled,
|
|
121
|
-
};
|
|
86
|
+
this.setPage(this.lastPageNum());
|
|
87
|
+
return this._ardHostCmp.page();
|
|
122
88
|
}
|
|
123
89
|
}
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvX2ludGVybmFsL21vZGVscy9wYWdpbmF0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFxQnhDLE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBRVUseUJBQW9CLEdBQWtELENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuRixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMzQixVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBNkJsQiw0QkFBdUIsR0FBNEIsSUFBSSxDQUFDO1FBcUJoRSxnQkFBZ0I7UUFDUixxQkFBZ0IsR0FBa0IsSUFBSSxDQUFDO0lBZ0VqRCxDQUFDO0lBakhDLGVBQWU7SUFDZixhQUFhLENBQUMsQ0FBUztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7SUFDdEMsQ0FBQztJQUNELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHNCQUFzQixDQUFDLENBQWdEO1FBQ3JFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELHNCQUFzQjtRQUNwQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsZUFBZSxDQUFDLENBQVM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3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LE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGdCQUFnQjtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVksQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsV0FBVztJQUNYLHNCQUFzQjtRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlFQUFpRSxDQUFDLENBQUM7UUFFckgsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFtQixDQUFDO1FBQzNDLE9BQU87WUFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVk7WUFDN0IsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzVCLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSztZQUNoQixpQkFBaUIsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQy9CLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDL0IsQ0FBQztJQUNKLENBQUM7SUFDRCxpQkFBaUI7UUFDZixPQUFPO1lBQ0wsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDaEMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtZQUM5QyxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDaEMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtZQUN6QyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1lBQ3hDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtTQUN4QyxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNEZWZpbmVkIH0gZnJvbSAnc2ltcGxlLWJvb2wnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0aW9uQ3VycmVudEl0ZW1zQ29udGV4dCB7XHJcbiAgY3VycmVudEl0ZW1zRmlyc3Q6IG51bWJlcjtcclxuICBjdXJyZW50SXRlbXNMYXN0OiBudW1iZXI7XHJcbiAgdG90YWxJdGVtczogbnVtYmVyO1xyXG4gIHRvdGFsUGFnZXM6IG51bWJlcjtcclxuICBwYWdlOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGlvbkNvbnRleHQgZXh0ZW5kcyBQYWdpbmF0aW9uQ3VycmVudEl0ZW1zQ29udGV4dCB7XHJcbiAgaXRlbXNQZXJQYWdlT3B0aW9uczogbnVtYmVyW10gfCB7IHZhbHVlOiBudW1iZXI7IGxhYmVsOiBzdHJpbmcgfVtdO1xyXG4gIGl0ZW1zUGVyUGFnZTogbnVtYmVyO1xyXG4gIG9uSXRlbXNQZXJQYWdlQ2hhbmdlOiAobmV3VmFsdWU6IG51bWJlcikgPT4gdm9pZDtcclxuICBmaXJzdFBhZ2VEaXNhYmxlZDogYm9vbGVhbjtcclxuICBwcmV2UGFnZURpc2FibGVkOiBib29sZWFuO1xyXG4gIG5leHRQYWdlRGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgbGFzdFBhZ2VEaXNhYmxlZDogYm9vbGVhbjtcclxuICBvblBhZ2VDaGFuZ2U6IChuZXdQYWdlOiBudW1iZXIpID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uTW9kZWwge1xyXG4gIHByaXZhdGUgX3RvdGFsSXRlbXM/OiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBfaXRlbXNQZXJQYWdlT3B0aW9uczogbnVtYmVyW10gfCB7IHZhbHVlOiBudW1iZXI7IGxhYmVsOiBzdHJpbmcgfVtdID0gWzEwLCAyNSwgNTBdO1xyXG4gIHByaXZhdGUgX2l0ZW1zUGVyUGFnZTogbnVtYmVyID0gNTA7XHJcbiAgcHJpdmF0ZSBfcGFnZTogbnVtYmVyID0gMTtcclxuXHJcbiAgLy8hIHRvdGFsIGl0ZW1zXHJcbiAgc2V0VG90YWxJdGVtcyh2OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuX3RvdGFsSXRlbXMgPSB2O1xyXG4gICAgdGhpcy5fbGFzdFBhZ2VOdW1NZW1vID0gbnVsbDtcclxuICAgIHRoaXMuX2l0ZW1zT25DdXJyZW50UGFnZU1lbW8gPSBudWxsO1xyXG4gIH1cclxuICBnZXQgaXNUb3RhbEl0ZW1zRGVmaW5lZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpc0RlZmluZWQodGhpcy5fdG90YWxJdGVtcyk7XHJcbiAgfVxyXG5cclxuICAvLyEgaXRlbXMgcGVyIHBhZ2VcclxuICBzZXRJdGVtc1BlclBhZ2VPcHRpb25zKHY6IG51bWJlcltdIHwgeyB2YWx1ZTogbnVtYmVyOyBsYWJlbDogc3RyaW5nIH1bXSk6IHZvaWQge1xyXG4gICAgdGhpcy5faXRlbXNQZXJQYWdlT3B0aW9ucyA9IHY7XHJcbiAgfVxyXG4gIGdldEl0ZW1zUGVyUGFnZU9wdGlvbnMoKTogbnVtYmVyW10gfCB7IHZhbHVlOiBudW1iZXI7IGxhYmVsOiBzdHJpbmcgfVtdIHtcclxuICAgIHJldHVybiB0aGlzLl9pdGVtc1BlclBhZ2VPcHRpb25zO1xyXG4gIH1cclxuICBzZXRJdGVtc1BlclBhZ2UodjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pdGVtc1BlclBhZ2UgPSB2O1xyXG4gICAgdGhpcy5fbGFzdFBhZ2VOdW1NZW1vID0gbnVsbDtcclxuICAgIHRoaXMuX2l0ZW1zT25DdXJyZW50UGFnZU1lbW8gPSBudWxsO1xyXG4gICAgdGhpcy5zZXRQYWdlKDEpO1xyXG4gIH1cclxuICBnZXRJdGVtc1BlclBhZ2UoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9pdGVtc1BlclBhZ2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pdGVtc09uQ3VycmVudFBhZ2VNZW1vOiBbbnVtYmVyLCBudW1iZXJdIHwgbnVsbCA9IG51bGw7XHJcbiAgZ2V0IGl0ZW1zT25DdXJyZW50UGFnZSgpOiBbbnVtYmVyLCBudW1iZXJdIHwgbnVsbCB7XHJcbiAgICBpZiAoIWlzRGVmaW5lZCh0aGlzLl90b3RhbEl0ZW1zKSkgcmV0dXJuIG51bGw7XHJcbiAgICBpZiAoIWlzRGVmaW5lZCh0aGlzLl9pdGVtc09uQ3VycmVudFBhZ2VNZW1vKSlcclxuICAgICAgW1xyXG4gICAgICAgICh0aGlzLl9pdGVtc09uQ3VycmVudFBhZ2VNZW1vID0gW1xyXG4gICAgICAgICAgTWF0aC5taW4odGhpcy5fdG90YWxJdGVtcywgKHRoaXMuX3BhZ2UgLSAxKSAqIHRoaXMuX2l0ZW1zUGVyUGFnZSArIDEpLFxyXG4gICAgICAgICAgTWF0aC5taW4odGhpcy5fdG90YWxJdGVtcywgdGhpcy5fcGFnZSAqIHRoaXMuX2l0ZW1zUGVyUGFnZSksXHJcbiAgICAgICAgXSksXHJcbiAgICAgIF07XHJcbiAgICByZXR1cm4gdGhpcy5faXRlbXNPbkN1cnJlbnRQYWdlTWVtbztcclxuICB9XHJcblxyXG4gIC8vISBhY3Rpb24gZGlzYWJsZWQgc3RhdGVzXHJcbiAgZ2V0IGZpcnN0UGFnZURpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICFpc0RlZmluZWQodGhpcy5fdG90YWxJdGVtcykgfHwgdGhpcy5fcGFnZSA9PSAxO1xyXG4gIH1cclxuICBnZXQgbGFzdFBhZ2VEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhaXNEZWZpbmVkKHRoaXMuX3RvdGFsSXRlbXMpIHx8IHRoaXMuX3BhZ2UgPT0gdGhpcy5sYXN0UGFnZU51bTtcclxuICB9XHJcblxyXG4gIC8vISBjdXJyZW50IHBhZ2VcclxuICBwcml2YXRlIF9sYXN0UGFnZU51bU1lbW86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIGdldCBsYXN0UGFnZU51bSgpOiBudW1iZXIgfCBudWxsIHtcclxuICAgIGlmICghaXNEZWZpbmVkKHRoaXMuX3RvdGFsSXRlbXMpKSByZXR1cm4gbnVsbDtcclxuICAgIGlmICghaXNEZWZpbmVkKHRoaXMuX2xhc3RQYWdlTnVtTWVtbykpIHtcclxuICAgICAgdGhpcy5fbGFzdFBhZ2VOdW1NZW1vID0gTWF0aC5jZWlsKHRoaXMuX3RvdGFsSXRlbXMgLyB0aGlzLl9pdGVtc1BlclBhZ2UpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX2xhc3RQYWdlTnVtTWVtbztcclxuICB9XHJcbiAgZ2V0IGlzTGFzdFBhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIWlzRGVmaW5lZCh0aGlzLl90b3RhbEl0ZW1zKSkgcmV0dXJuIHRydWU7XHJcbiAgICByZXR1cm4gdGhpcy5sYXN0UGFnZU51bSA9PT0gdGhpcy5fcGFnZTtcclxuICB9XHJcbiAgc2V0UGFnZSh2OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuX3BhZ2UgPSB2O1xyXG4gICAgdGhpcy5faXRlbXNPbkN1cnJlbnRQYWdlTWVtbyA9IG51bGw7XHJcbiAgfVxyXG4gIGdldFBhZ2UoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9wYWdlO1xyXG4gIH1cclxuICBmaXJzdFBhZ2UoKTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICBpZiAodGhpcy5maXJzdFBhZ2VEaXNhYmxlZCkgcmV0dXJuIG51bGw7XHJcbiAgICB0aGlzLnNldFBhZ2UoMSk7XHJcbiAgICByZXR1cm4gMTtcclxuICB9XHJcbiAgcHJldlBhZ2UoKTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICBpZiAodGhpcy5maXJzdFBhZ2VEaXNhYmxlZCkgcmV0dXJuIG51bGw7XHJcbiAgICB0aGlzLnNldFBhZ2UodGhpcy5fcGFnZSAtIDEpO1xyXG4gICAgcmV0dXJuIHRoaXMuX3BhZ2U7XHJcbiAgfVxyXG4gIG5leHRQYWdlKCk6IG51bWJlciB8IG51bGwge1xyXG4gICAgaWYgKHRoaXMubGFzdFBhZ2VEaXNhYmxlZCkgcmV0dXJuIG51bGw7XHJcbiAgICB0aGlzLnNldFBhZ2UodGhpcy5fcGFnZSArIDEpO1xyXG4gICAgcmV0dXJuIHRoaXMuX3BhZ2U7XHJcbiAgfVxyXG4gIGxhc3RQYWdlKCk6IG51bWJlciB8IG51bGwge1xyXG4gICAgaWYgKHRoaXMubGFzdFBhZ2VEaXNhYmxlZCkgcmV0dXJuIG51bGw7XHJcbiAgICB0aGlzLnNldFBhZ2UodGhpcy5sYXN0UGFnZU51bSEpO1xyXG4gICAgcmV0dXJuIHRoaXMuX3BhZ2U7XHJcbiAgfVxyXG5cclxuICAvLyEgY29udGV4dFxyXG4gIGdldEN1cnJlbnRJdGVtc0NvbnRleHQoKTogUGFnaW5hdGlvbkN1cnJlbnRJdGVtc0NvbnRleHQge1xyXG4gICAgaWYgKCFpc0RlZmluZWQodGhpcy5fdG90YWxJdGVtcykpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVzZSBwYWdpbmF0aW9uIG1vZGVsIHdpdGhvdXQgZGVmaW5pbmcgdG90YWwgaXRlbXMgZmlyc3QuJyk7XHJcblxyXG4gICAgY29uc3QgcGFnZUl0ZW1zID0gdGhpcy5pdGVtc09uQ3VycmVudFBhZ2UhO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdG90YWxQYWdlczogdGhpcy5sYXN0UGFnZU51bSEsXHJcbiAgICAgIHRvdGFsSXRlbXM6IHRoaXMuX3RvdGFsSXRlbXMsXHJcbiAgICAgIHBhZ2U6IHRoaXMuX3BhZ2UsXHJcbiAgICAgIGN1cnJlbnRJdGVtc0ZpcnN0OiBwYWdlSXRlbXNbMF0sXHJcbiAgICAgIGN1cnJlbnRJdGVtc0xhc3Q6IHBhZ2VJdGVtc1sxXSxcclxuICAgIH07XHJcbiAgfVxyXG4gIGdldFBhcnRpYWxDb250ZXh0KCk6IE9taXQ8UGFnaW5hdGlvbkNvbnRleHQsICdvbkl0ZW1zUGVyUGFnZUNoYW5nZScgfCAnb25QYWdlQ2hhbmdlJz4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgLi4udGhpcy5nZXRDdXJyZW50SXRlbXNDb250ZXh0KCksXHJcbiAgICAgIGl0ZW1zUGVyUGFnZU9wdGlvbnM6IHRoaXMuX2l0ZW1zUGVyUGFnZU9wdGlvbnMsXHJcbiAgICAgIGl0ZW1zUGVyUGFnZTogdGhpcy5faXRlbXNQZXJQYWdlLFxyXG4gICAgICBmaXJzdFBhZ2VEaXNhYmxlZDogdGhpcy5maXJzdFBhZ2VEaXNhYmxlZCxcclxuICAgICAgcHJldlBhZ2VEaXNhYmxlZDogdGhpcy5maXJzdFBhZ2VEaXNhYmxlZCxcclxuICAgICAgbmV4dFBhZ2VEaXNhYmxlZDogdGhpcy5sYXN0UGFnZURpc2FibGVkLFxyXG4gICAgICBsYXN0UGFnZURpc2FibGVkOiB0aGlzLmxhc3RQYWdlRGlzYWJsZWQsXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvX2ludGVybmFsL21vZGVscy9wYWdpbmF0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUE2QnhDLE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQTZCLFdBQWdDO1FBQWhDLGdCQUFXLEdBQVgsV0FBVyxDQUFxQjtRQUVwRCx3QkFBbUIsR0FBRyxRQUFRLENBQVUsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXhGLGdCQUFXLEdBQUcsUUFBUSxDQUFnQixHQUFHLEVBQUU7WUFDbEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsS0FBSztnQkFBRSxPQUFPLElBQUksQ0FBQztZQUN4QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztRQUNNLGVBQVUsR0FBRyxRQUFRLENBQVUsR0FBRyxFQUFFO1lBQzNDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JHLENBQUMsQ0FBQyxDQUFDO1FBQ00sdUJBQWtCLEdBQUcsUUFBUSxDQUEwQixHQUFHLEVBQUU7WUFDbkUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsS0FBSztnQkFBRSxPQUFPLElBQUksQ0FBQztZQUN4QixPQUFPO2dCQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDcEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQzNFLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILDBCQUEwQjtRQUNqQixzQkFBaUIsR0FBRyxRQUFRLENBQVUsR0FBRyxFQUFFO1lBQ2xELE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BGLENBQUMsQ0FBQyxDQUFDO1FBQ00scUJBQWdCLEdBQUcsUUFBUSxDQUFVLEdBQUcsRUFBRTtZQUNqRCxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyRyxDQUFDLENBQUMsQ0FBQztRQThCSCxXQUFXO1FBQ0YsMkJBQXNCLEdBQUcsUUFBUSxDQUFnQyxHQUFHLEVBQUU7WUFDN0UsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsS0FBSztnQkFDUixNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLHFFQUFxRSxDQUFDLENBQUM7WUFFOUgsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFHLENBQUM7WUFDN0MsT0FBTztnQkFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRztnQkFDL0IsVUFBVSxFQUFFLEtBQUs7Z0JBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRTtnQkFDN0IsaUJBQWlCLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDL0IsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQzthQUMvQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTSxzQkFBaUIsR0FBRyxRQUFRLENBQW1FLEdBQUcsRUFBRTtZQUMzRyxPQUFPO2dCQUNMLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFO2dCQUNoQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRTtnQkFDL0MsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFO2dCQUM3QyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzNDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDMUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUN6QyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7YUFDMUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBbEY2RCxDQUFDO0lBNkJqRSxnQkFBZ0I7SUFDaEIsT0FBTyxDQUFDLENBQVM7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUNELGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEIsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFHLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztDQTRCRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsU2lnbmFsLCBTaWduYWwsIGNvbXB1dGVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc0RlZmluZWQgfSBmcm9tICdzaW1wbGUtYm9vbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGlvbk1vZGVsSG9zdCB7XG4gIHJlYWRvbmx5IGNvbXBvbmVudElkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRvdGFsSXRlbXM6IFNpZ25hbDxudW1iZXI+O1xuICByZWFkb25seSBvcHRpb25zOiBTaWduYWw8bnVtYmVyW10gfCB7IHZhbHVlOiBudW1iZXI7IGxhYmVsOiBzdHJpbmcgfVtdPjtcbiAgcmVhZG9ubHkgaXRlbXNQZXJQYWdlOiBNb2RlbFNpZ25hbDxudW1iZXI+O1xuICByZWFkb25seSBwYWdlOiBNb2RlbFNpZ25hbDxudW1iZXI+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25DdXJyZW50SXRlbXNDb250ZXh0IHtcbiAgcmVhZG9ubHkgY3VycmVudEl0ZW1zRmlyc3Q6IG51bWJlcjtcbiAgcmVhZG9ubHkgY3VycmVudEl0ZW1zTGFzdDogbnVtYmVyO1xuICByZWFkb25seSB0b3RhbEl0ZW1zOiBudW1iZXI7XG4gIHJlYWRvbmx5IHRvdGFsUGFnZXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgcGFnZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25Db250ZXh0IGV4dGVuZHMgUGFnaW5hdGlvbkN1cnJlbnRJdGVtc0NvbnRleHQge1xuICByZWFkb25seSBpdGVtc1BlclBhZ2VPcHRpb25zOiBudW1iZXJbXSB8IHsgdmFsdWU6IG51bWJlcjsgbGFiZWw6IHN0cmluZyB9W107XG4gIHJlYWRvbmx5IGl0ZW1zUGVyUGFnZTogbnVtYmVyO1xuICByZWFkb25seSBvbkl0ZW1zUGVyUGFnZUNoYW5nZTogKG5ld1ZhbHVlOiBudW1iZXIpID0+IHZvaWQ7XG4gIHJlYWRvbmx5IGZpcnN0UGFnZURpc2FibGVkOiBib29sZWFuO1xuICByZWFkb25seSBwcmV2UGFnZURpc2FibGVkOiBib29sZWFuO1xuICByZWFkb25seSBuZXh0UGFnZURpc2FibGVkOiBib29sZWFuO1xuICByZWFkb25seSBsYXN0UGFnZURpc2FibGVkOiBib29sZWFuO1xuICByZWFkb25seSBvblBhZ2VDaGFuZ2U6IChuZXdQYWdlOiBudW1iZXIpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uTW9kZWwge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF9hcmRIb3N0Q21wOiBQYWdpbmF0aW9uTW9kZWxIb3N0KSB7fVxuXG4gIHJlYWRvbmx5IGlzVG90YWxJdGVtc0RlZmluZWQgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiBpc0RlZmluZWQodGhpcy5fYXJkSG9zdENtcC50b3RhbEl0ZW1zKCkpKTtcblxuICByZWFkb25seSBsYXN0UGFnZU51bSA9IGNvbXB1dGVkPG51bWJlciB8IG51bGw+KCgpID0+IHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMuX2FyZEhvc3RDbXAudG90YWxJdGVtcygpO1xuICAgIGlmICghdG90YWwpIHJldHVybiBudWxsO1xuICAgIHJldHVybiBNYXRoLmNlaWwodG90YWwgLyB0aGlzLl9hcmRIb3N0Q21wLml0ZW1zUGVyUGFnZSgpKTtcbiAgfSk7XG4gIHJlYWRvbmx5IGlzTGFzdFBhZ2UgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XG4gICAgcmV0dXJuICFpc0RlZmluZWQodGhpcy5fYXJkSG9zdENtcC50b3RhbEl0ZW1zKCkpIHx8IHRoaXMubGFzdFBhZ2VOdW0oKSA9PT0gdGhpcy5fYXJkSG9zdENtcC5wYWdlKCk7XG4gIH0pO1xuICByZWFkb25seSBpdGVtc09uQ3VycmVudFBhZ2UgPSBjb21wdXRlZDxbbnVtYmVyLCBudW1iZXJdIHwgbnVsbD4oKCkgPT4ge1xuICAgIGNvbnN0IHRvdGFsID0gdGhpcy5fYXJkSG9zdENtcC50b3RhbEl0ZW1zKCk7XG4gICAgaWYgKCF0b3RhbCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIFtcbiAgICAgIE1hdGgubWluKHRvdGFsLCAodGhpcy5fYXJkSG9zdENtcC5wYWdlKCkgLSAxKSAqIHRoaXMuX2FyZEhvc3RDbXAuaXRlbXNQZXJQYWdlKCkgKyAxKSxcbiAgICAgIE1hdGgubWluKHRvdGFsLCB0aGlzLl9hcmRIb3N0Q21wLnBhZ2UoKSAqIHRoaXMuX2FyZEhvc3RDbXAuaXRlbXNQZXJQYWdlKCkpLFxuICAgIF07XG4gIH0pO1xuXG4gIC8vISBhY3Rpb24gZGlzYWJsZWQgc3RhdGVzXG4gIHJlYWRvbmx5IGZpcnN0UGFnZURpc2FibGVkID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4ge1xuICAgIHJldHVybiAhaXNEZWZpbmVkKHRoaXMuX2FyZEhvc3RDbXAudG90YWxJdGVtcygpKSB8fCB0aGlzLl9hcmRIb3N0Q21wLnBhZ2UoKSA9PT0gMTtcbiAgfSk7XG4gIHJlYWRvbmx5IGxhc3RQYWdlRGlzYWJsZWQgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XG4gICAgcmV0dXJuICFpc0RlZmluZWQodGhpcy5fYXJkSG9zdENtcC50b3RhbEl0ZW1zKCkpIHx8IHRoaXMuX2FyZEhvc3RDbXAucGFnZSgpID09PSB0aGlzLmxhc3RQYWdlTnVtKCk7XG4gIH0pO1xuXG4gIC8vISBjdXJyZW50IHBhZ2VcbiAgc2V0UGFnZSh2OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9hcmRIb3N0Q21wLnBhZ2Uuc2V0KHYpO1xuICB9XG4gIGdldFBhZ2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fYXJkSG9zdENtcC5wYWdlKCk7XG4gIH1cbiAgZ29Ub0ZpcnN0UGFnZSgpOiBudW1iZXIgfCBudWxsIHtcbiAgICBpZiAodGhpcy5maXJzdFBhZ2VEaXNhYmxlZCgpKSByZXR1cm4gbnVsbDtcbiAgICB0aGlzLnNldFBhZ2UoMSk7XG4gICAgcmV0dXJuIDE7XG4gIH1cbiAgZ29Ub1ByZXZQYWdlKCk6IG51bWJlciB8IG51bGwge1xuICAgIGlmICh0aGlzLmZpcnN0UGFnZURpc2FibGVkKCkpIHJldHVybiBudWxsO1xuICAgIHRoaXMuc2V0UGFnZSh0aGlzLl9hcmRIb3N0Q21wLnBhZ2UoKSAtIDEpO1xuICAgIHJldHVybiB0aGlzLl9hcmRIb3N0Q21wLnBhZ2UoKTtcbiAgfVxuICBnb1RvTmV4dFBhZ2UoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMubGFzdFBhZ2VEaXNhYmxlZCgpKSByZXR1cm4gbnVsbDtcbiAgICB0aGlzLnNldFBhZ2UodGhpcy5fYXJkSG9zdENtcC5wYWdlKCkgKyAxKTtcbiAgICByZXR1cm4gdGhpcy5fYXJkSG9zdENtcC5wYWdlKCk7XG4gIH1cbiAgZ29Ub0xhc3RQYWdlKCk6IG51bWJlciB8IG51bGwge1xuICAgIGlmICh0aGlzLmxhc3RQYWdlRGlzYWJsZWQoKSkgcmV0dXJuIG51bGw7XG4gICAgdGhpcy5zZXRQYWdlKHRoaXMubGFzdFBhZ2VOdW0oKSEpO1xuICAgIHJldHVybiB0aGlzLl9hcmRIb3N0Q21wLnBhZ2UoKTtcbiAgfVxuXG4gIC8vISBjb250ZXh0XG4gIHJlYWRvbmx5IGdldEN1cnJlbnRJdGVtc0NvbnRleHQgPSBjb21wdXRlZDxQYWdpbmF0aW9uQ3VycmVudEl0ZW1zQ29udGV4dD4oKCkgPT4ge1xuICAgIGNvbnN0IHRvdGFsID0gdGhpcy5fYXJkSG9zdENtcC50b3RhbEl0ZW1zKCk7XG4gICAgaWYgKCF0b3RhbClcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQVJELUZUJHt0aGlzLl9hcmRIb3N0Q21wLmNvbXBvbmVudElkfTkwOiBDYW5ub3QgdXNlIHBhZ2luYXRpb24gbW9kZWwgd2l0aG91dCBkZWZpbmluZyB0b3RhbCBpdGVtcyBmaXJzdC5gKTtcblxuICAgIGNvbnN0IHBhZ2VJdGVtcyA9IHRoaXMuaXRlbXNPbkN1cnJlbnRQYWdlKCkhO1xuICAgIHJldHVybiB7XG4gICAgICB0b3RhbFBhZ2VzOiB0aGlzLmxhc3RQYWdlTnVtKCkhLFxuICAgICAgdG90YWxJdGVtczogdG90YWwsXG4gICAgICBwYWdlOiB0aGlzLl9hcmRIb3N0Q21wLnBhZ2UoKSxcbiAgICAgIGN1cnJlbnRJdGVtc0ZpcnN0OiBwYWdlSXRlbXNbMF0sXG4gICAgICBjdXJyZW50SXRlbXNMYXN0OiBwYWdlSXRlbXNbMV0sXG4gICAgfTtcbiAgfSk7XG4gIHJlYWRvbmx5IGdldFBhcnRpYWxDb250ZXh0ID0gY29tcHV0ZWQ8T21pdDxQYWdpbmF0aW9uQ29udGV4dCwgJ29uSXRlbXNQZXJQYWdlQ2hhbmdlJyB8ICdvblBhZ2VDaGFuZ2UnPj4oKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldEN1cnJlbnRJdGVtc0NvbnRleHQoKSxcbiAgICAgIGl0ZW1zUGVyUGFnZU9wdGlvbnM6IHRoaXMuX2FyZEhvc3RDbXAub3B0aW9ucygpLFxuICAgICAgaXRlbXNQZXJQYWdlOiB0aGlzLl9hcmRIb3N0Q21wLml0ZW1zUGVyUGFnZSgpLFxuICAgICAgZmlyc3RQYWdlRGlzYWJsZWQ6IHRoaXMuZmlyc3RQYWdlRGlzYWJsZWQoKSxcbiAgICAgIHByZXZQYWdlRGlzYWJsZWQ6IHRoaXMuZmlyc3RQYWdlRGlzYWJsZWQoKSxcbiAgICAgIG5leHRQYWdlRGlzYWJsZWQ6IHRoaXMubGFzdFBhZ2VEaXNhYmxlZCgpLFxuICAgICAgbGFzdFBhZ2VEaXNhYmxlZDogdGhpcy5sYXN0UGFnZURpc2FibGVkKCksXG4gICAgfTtcbiAgfSk7XG59XG4iXX0=
|
|
@@ -26,17 +26,17 @@ export class _NgModelComponentBase extends _FocusableComponentBase {
|
|
|
26
26
|
* @param isDisabled the new disabled state.
|
|
27
27
|
*/
|
|
28
28
|
setDisabledState(isDisabled) {
|
|
29
|
-
this.
|
|
29
|
+
this.disabled.set(isDisabled);
|
|
30
30
|
}
|
|
31
31
|
//! event handlers
|
|
32
32
|
onBlur(event) {
|
|
33
33
|
super.onBlur(event);
|
|
34
34
|
this._onTouchedRegistered?.();
|
|
35
35
|
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
37
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: _NgModelComponentBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
37
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: _NgModelComponentBase, usesInheritance: true, ngImport: i0 }); }
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: _NgModelComponentBase, decorators: [{
|
|
40
40
|
type: Directive
|
|
41
41
|
}] });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdtb2RlbC1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL19pbnRlcm5hbC9uZ21vZGVsLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUVoRTs7OztHQUlHO0FBRUgsTUFBTSxPQUFnQixxQkFBc0IsU0FBUSx1QkFBdUI7SUFJekU7OztPQUdHO0lBQ0gsaUJBQWlCLENBQUMsRUFBYztRQUM5QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFDRDs7O09BR0c7SUFDSCxnQkFBZ0IsQ0FBQyxFQUFvQjtRQUNuQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFDRDs7O09BR0c7SUFDSCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBZ0JELGtCQUFrQjtJQUNULE1BQU0sQ0FBQyxLQUFpQjtRQUMvQixLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUM7SUFDaEMsQ0FBQzs4R0E1Q21CLHFCQUFxQjtrR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUQxQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IF9Gb2N1c2FibGVDb21wb25lbnRCYXNlIH0gZnJvbSAnLi9mb2N1c2FibGUtY29tcG9uZW50JztcblxuLyoqXG4gKiBDb21tb24gY29kZSBmb3IgY29tcG9uZW50cywgd2hpY2ggaW1wbGVtZW50IHRoZSBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAqXG4gKiAqKldhcm5pbmcqKjogYHdyaXRlVmFsdWVgIGZ1bmN0aW9uIHNob3VsZCBiZSBpbXBsZW1lbnRlZCBvbiB0aGUgY2hpbGQgY29tcG9uZW50IVxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBfTmdNb2RlbENvbXBvbmVudEJhc2UgZXh0ZW5kcyBfRm9jdXNhYmxlQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgLy8hIGNvbnRyb2wgdmFsdWUgYWNjZXNzb3JcbiAgcHJvdGVjdGVkIF9vbkNoYW5nZVJlZ2lzdGVyZWQhOiAoXzogYW55KSA9PiB2b2lkO1xuICBwcm90ZWN0ZWQgX29uVG91Y2hlZFJlZ2lzdGVyZWQhOiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgZnVuY3Rpb24gdG8gaGFuZGxlIHRvdWNoZWQgc3RhdGUuIFJlcXVpcmVkIGJ5IENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKiBAcGFyYW0gZm4gVGhlIGZ1bmN0aW9uIHRvIHJlZ2lzdGVyLlxuICAgKi9cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWRSZWdpc3RlcmVkID0gZm47XG4gIH1cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGZ1bmN0aW9uIHRvIGhhbmRsZSB2YWx1ZSBjaGFuZ2UuIFJlcXVpcmVkIGJ5IENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKiBAcGFyYW0gZm4gVGhlIGZ1bmN0aW9uIHRvIHJlZ2lzdGVyLlxuICAgKi9cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlUmVnaXN0ZXJlZCA9IGZuO1xuICB9XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb21wb25lbnQncyBkaXNhYmxlZCBzdGF0ZS4gUmVxdWlyZWQgYnkgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqIEBwYXJhbSBpc0Rpc2FibGVkIHRoZSBuZXcgZGlzYWJsZWQgc3RhdGUuXG4gICAqL1xuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkLnNldChpc0Rpc2FibGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXcml0ZXMgdGhlIGEgbmV3IHZhbHVlIGludG8gdGhlIGNvbXBvbmVudC4gUmVxdWlyZWQgYnkgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0gdiBUaGUgbmV3IHZhbHVlIHRvIHdyaXRlLlxuICAgKi9cbiAgYWJzdHJhY3Qgd3JpdGVWYWx1ZSh2OiBhbnkpOiB2b2lkOyAvLyogYWJzdHJhY3RcblxuICAvKipcbiAgICogV3JpdGVzIHRoZSBhIG5ldyB2YWx1ZSBpbnRvIHRoZSBjb21wb25lbnQuIFJlcXVpcmVkIGJ5IENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHYgVGhlIG5ldyB2YWx1ZSB0byB3cml0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBfZW1pdENoYW5nZSgpOiB2b2lkOyAvLyogYWJzdHJhY3RcblxuICAvLyEgZXZlbnQgaGFuZGxlcnNcbiAgb3ZlcnJpZGUgb25CbHVyKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgc3VwZXIub25CbHVyKGV2ZW50KTtcbiAgICB0aGlzLl9vblRvdWNoZWRSZWdpc3RlcmVkPy4oKTtcbiAgfVxufVxuIl19
|
|
@@ -56,4 +56,4 @@ export class QueueItem {
|
|
|
56
56
|
this.next = next;
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL19pbnRlcm5hbC9xdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8sS0FBSztJQUloQixJQUFJLENBQUMsSUFBTztRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsSUFBSyxDQUFDLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFLLENBQUMsSUFBSyxDQUFDO0lBQy9CLENBQUM7SUFDRCxTQUFTLENBQUMsSUFBTztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQUNELEdBQUc7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUNsQixpQ0FBaUM7UUFDakMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLDRDQUE0QztRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztRQUV0QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUk7UUFDRixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksTUFBTTtRQUNSLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDNUIsT0FBTyxXQUFXLEVBQUUsQ0FBQztZQUNuQixNQUFNLEVBQUUsQ0FBQztZQUNULFdBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2pDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTztRQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxPQUFPO1FBQ0wsTUFBTSxLQUFLLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDNUIsT0FBTyxXQUFXLEVBQUUsQ0FBQztZQUNuQixLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QixXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNqQyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sU0FBUztJQUNwQixZQUNTLEtBQVEsRUFDUixJQUFtQjtRQURuQixVQUFLLEdBQUwsS0FBSyxDQUFHO1FBQ1IsU0FBSSxHQUFKLElBQUksQ0FBZTtJQUN6QixDQUFDO0NBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgSVF1ZXVlIHtcbiAgcmVhZG9ubHkgbGVuZ3RoOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBRdWV1ZTxUID0gdW5rbm93bj4gaW1wbGVtZW50cyBJUXVldWUge1xuICBwcml2YXRlIGhlYWQ/OiBRdWV1ZUl0ZW08VD47XG4gIHByaXZhdGUgdGFpbD86IFF1ZXVlSXRlbTxUPjtcblxuICBwdXNoKGl0ZW06IFQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudGFpbCkgcmV0dXJuIHRoaXMucHVzaEZyb250KGl0ZW0pO1xuICAgIHRoaXMudGFpbCEubmV4dCA9IG5ldyBRdWV1ZUl0ZW0oaXRlbSk7XG4gICAgdGhpcy50YWlsID0gdGhpcy50YWlsIS5uZXh0ITtcbiAgfVxuICBwdXNoRnJvbnQoaXRlbTogVCk6IHZvaWQge1xuICAgIHRoaXMuaGVhZCA9IG5ldyBRdWV1ZUl0ZW0oaXRlbSwgdGhpcy5oZWFkKTtcbiAgICBpZiAoIXRoaXMudGFpbCkgdGhpcy50YWlsID0gdGhpcy5oZWFkO1xuICB9XG4gIHBvcCgpOiBUIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBoZWFkID0gdGhpcy5oZWFkO1xuICAgIGlmICghaGVhZCkgcmV0dXJuO1xuICAgIC8vcmVwbGFjZSBoZWFkIHdpdGggdGhlIG5leHQgaXRlbVxuICAgIHRoaXMuaGVhZCA9IGhlYWQubmV4dDtcbiAgICAvL2RlbGV0ZSB0aGUgdGFpbCBpZiB0aGVyZSBhcmUgbm8gbmV4dCBpdGVtc1xuICAgIGlmICghdGhpcy5oZWFkKSB0aGlzLnRhaWwgPSB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4gaGVhZC52YWx1ZTtcbiAgfVxuICBwZWVrKCk6IFQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmhlYWQ/LnZhbHVlO1xuICB9XG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuaGVhZCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnRhaWwgPSB1bmRlZmluZWQ7XG4gIH1cbiAgZ2V0IGxlbmd0aCgpOiBudW1iZXIge1xuICAgIGxldCBsZW5ndGggPSAwO1xuICAgIGxldCBjdXJyZW50Tm9kZSA9IHRoaXMuaGVhZDtcbiAgICB3aGlsZSAoY3VycmVudE5vZGUpIHtcbiAgICAgIGxlbmd0aCsrO1xuICAgICAgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZS5uZXh0O1xuICAgIH1cbiAgICByZXR1cm4gbGVuZ3RoO1xuICB9XG4gIGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmhlYWQ7XG4gIH1cbiAgdG9BcnJheSgpOiBUW10ge1xuICAgIGNvbnN0IGFycmF5OiBUW10gPSBbXTtcbiAgICBsZXQgY3VycmVudE5vZGUgPSB0aGlzLmhlYWQ7XG4gICAgd2hpbGUgKGN1cnJlbnROb2RlKSB7XG4gICAgICBhcnJheS5wdXNoKGN1cnJlbnROb2RlLnZhbHVlKTtcbiAgICAgIGN1cnJlbnROb2RlID0gY3VycmVudE5vZGUubmV4dDtcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBRdWV1ZUl0ZW08VD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdmFsdWU6IFQsXG4gICAgcHVibGljIG5leHQ/OiBRdWV1ZUl0ZW08VD5cbiAgKSB7fVxufVxuIl19
|