@ardium-ui/ui 1.0.0
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 -0
- package/esm2022/ardium-ui-ui.mjs +5 -0
- package/esm2022/lib/_internal/boolean-component.mjs +108 -0
- package/esm2022/lib/_internal/clear-button/clear-button.component.mjs +12 -0
- package/esm2022/lib/_internal/clear-button/clear-button.module.mjs +18 -0
- package/esm2022/lib/_internal/disablable-component.mjs +44 -0
- package/esm2022/lib/_internal/focusable-component.mjs +91 -0
- package/esm2022/lib/_internal/item-storages/dropdown-item-storage.mjs +436 -0
- package/esm2022/lib/_internal/item-storages/simple-item-storage.mjs +349 -0
- package/esm2022/lib/_internal/item-storages/simplest-item-storage.mjs +155 -0
- package/esm2022/lib/_internal/models/pagination.model.mjs +124 -0
- package/esm2022/lib/_internal/ngmodel-component.mjs +42 -0
- package/esm2022/lib/_internal/queue.mjs +59 -0
- package/esm2022/lib/_internal/selectable-list-component.mjs +304 -0
- package/esm2022/lib/badge/badge.directive.mjs +123 -0
- package/esm2022/lib/badge/badge.module.mjs +18 -0
- package/esm2022/lib/badge/badge.types.mjs +16 -0
- package/esm2022/lib/buttons/_button-base.mjs +45 -0
- package/esm2022/lib/buttons/button/button.component.mjs +49 -0
- package/esm2022/lib/buttons/button/button.module.mjs +18 -0
- package/esm2022/lib/buttons/fab/fab.component.mjs +40 -0
- package/esm2022/lib/buttons/fab/fab.module.mjs +18 -0
- package/esm2022/lib/buttons/general-button.types.mjs +55 -0
- package/esm2022/lib/buttons/icon-button/icon-button.component.mjs +37 -0
- package/esm2022/lib/buttons/icon-button/icon-button.module.mjs +18 -0
- package/esm2022/lib/calendar/calendar.component.mjs +982 -0
- package/esm2022/lib/calendar/calendar.directives.mjs +107 -0
- package/esm2022/lib/calendar/calendar.helpers.mjs +47 -0
- package/esm2022/lib/calendar/calendar.module.mjs +21 -0
- package/esm2022/lib/calendar/calendar.types.mjs +11 -0
- package/esm2022/lib/card/card.children.mjs +97 -0
- package/esm2022/lib/card/card.component.mjs +40 -0
- package/esm2022/lib/card/card.module.mjs +59 -0
- package/esm2022/lib/card/card.types.mjs +9 -0
- package/esm2022/lib/checkbox/checkbox.component.mjs +73 -0
- package/esm2022/lib/checkbox/checkbox.module.mjs +18 -0
- package/esm2022/lib/checkbox/checkbox.types.mjs +6 -0
- package/esm2022/lib/checkbox-list/checkbox-list.component.mjs +139 -0
- package/esm2022/lib/checkbox-list/checkbox-list.module.mjs +19 -0
- package/esm2022/lib/checkbox-list/checkbox-list.types.mjs +7 -0
- package/esm2022/lib/chip/chip.component.mjs +55 -0
- package/esm2022/lib/chip/chip.module.mjs +21 -0
- package/esm2022/lib/chip/deletable-chip/deletable-chip.component.mjs +80 -0
- package/esm2022/lib/chip/selectable-chip/selectable-chip.component.mjs +77 -0
- package/esm2022/lib/color/color-display/color-display.component.mjs +48 -0
- package/esm2022/lib/color/color-display/color-display.module.mjs +18 -0
- package/esm2022/lib/color/color-display/color-display.types.mjs +9 -0
- package/esm2022/lib/color/color-picker/color-picker.component.mjs +484 -0
- package/esm2022/lib/color/color-picker/color-picker.directives.mjs +55 -0
- package/esm2022/lib/color/color-picker/color-picker.module.mjs +43 -0
- package/esm2022/lib/color/color-picker/color-picker.types.mjs +11 -0
- package/esm2022/lib/dialog/dialog.component.mjs +167 -0
- package/esm2022/lib/dialog/dialog.directives.mjs +14 -0
- package/esm2022/lib/dialog/dialog.module.mjs +21 -0
- package/esm2022/lib/dialog/dialog.types.mjs +6 -0
- package/esm2022/lib/divider/divider.component.mjs +26 -0
- package/esm2022/lib/divider/divider.module.mjs +18 -0
- package/esm2022/lib/dropdown-panel/dropdown-panel.component.mjs +130 -0
- package/esm2022/lib/dropdown-panel/dropdown-panel.module.mjs +18 -0
- package/esm2022/lib/dropdown-panel/dropdown-panel.types.mjs +10 -0
- package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.component.mjs +82 -0
- package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.directives.mjs +42 -0
- package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.module.mjs +58 -0
- package/esm2022/lib/file-inputs/file-input/file-input.component.mjs +153 -0
- package/esm2022/lib/file-inputs/file-input/file-input.directives.mjs +73 -0
- package/esm2022/lib/file-inputs/file-input/file-input.module.mjs +21 -0
- package/esm2022/lib/file-inputs/file-input-base.mjs +187 -0
- package/esm2022/lib/file-inputs/file-input-types.mjs +2 -0
- package/esm2022/lib/form-field-frame/form-field-frame.component.mjs +74 -0
- package/esm2022/lib/form-field-frame/form-field-frame.directives.mjs +25 -0
- package/esm2022/lib/form-field-frame/form-field-frame.module.mjs +19 -0
- package/esm2022/lib/icon/icon.component.mjs +85 -0
- package/esm2022/lib/icon/icon.module.mjs +19 -0
- package/esm2022/lib/icon/icon.pipe.mjs +18 -0
- package/esm2022/lib/inputs/color-input/color-input.component.mjs +421 -0
- package/esm2022/lib/inputs/color-input/color-input.directives.mjs +101 -0
- package/esm2022/lib/inputs/color-input/color-input.module.mjs +85 -0
- package/esm2022/lib/inputs/color-input/color-input.types.mjs +2 -0
- package/esm2022/lib/inputs/digit-input/digit-input.component.mjs +218 -0
- package/esm2022/lib/inputs/digit-input/digit-input.model.mjs +217 -0
- package/esm2022/lib/inputs/digit-input/digit-input.module.mjs +18 -0
- package/esm2022/lib/inputs/digit-input/digit-input.types.mjs +15 -0
- package/esm2022/lib/inputs/digit-input/digit-input.utils.mjs +8 -0
- package/esm2022/lib/inputs/hex-input/hex-input.component.mjs +234 -0
- package/esm2022/lib/inputs/hex-input/hex-input.directives.mjs +36 -0
- package/esm2022/lib/inputs/hex-input/hex-input.module.mjs +21 -0
- package/esm2022/lib/inputs/hex-input.model.mjs +106 -0
- package/esm2022/lib/inputs/input/input.component.mjs +344 -0
- package/esm2022/lib/inputs/input/input.directives.mjs +58 -0
- package/esm2022/lib/inputs/input/input.module.mjs +47 -0
- package/esm2022/lib/inputs/input-transformers.mjs +66 -0
- package/esm2022/lib/inputs/input-types.mjs +6 -0
- package/esm2022/lib/inputs/input-utils.mjs +205 -0
- package/esm2022/lib/inputs/number-input/number-input.component.mjs +289 -0
- package/esm2022/lib/inputs/number-input/number-input.directives.mjs +14 -0
- package/esm2022/lib/inputs/number-input/number-input.module.mjs +21 -0
- package/esm2022/lib/inputs/password-input/password-input.component.mjs +222 -0
- package/esm2022/lib/inputs/password-input/password-input.directives.mjs +49 -0
- package/esm2022/lib/inputs/password-input/password-input.module.mjs +41 -0
- package/esm2022/lib/inputs/password-input/password-input.types.mjs +2 -0
- package/esm2022/lib/inputs/simple-input/simple-input.component.mjs +219 -0
- package/esm2022/lib/inputs/simple-input/simple-input.directives.mjs +36 -0
- package/esm2022/lib/inputs/simple-input/simple-input.module.mjs +37 -0
- package/esm2022/lib/kbd/kbd.component.mjs +42 -0
- package/esm2022/lib/kbd/kbd.module.mjs +19 -0
- package/esm2022/lib/kbd/kbd.pipe.mjs +17 -0
- package/esm2022/lib/kbd-shortcut/kbd-shortcut.component.mjs +55 -0
- package/esm2022/lib/kbd-shortcut/kbd-shortcut.module.mjs +19 -0
- package/esm2022/lib/modal/modal.component.mjs +120 -0
- package/esm2022/lib/modal/modal.module.mjs +21 -0
- package/esm2022/lib/option/option.component.mjs +77 -0
- package/esm2022/lib/option/option.module.mjs +18 -0
- package/esm2022/lib/progress-bar/progress-bar.component.mjs +95 -0
- package/esm2022/lib/progress-bar/progress-bar.directive.mjs +14 -0
- package/esm2022/lib/progress-bar/progress-bar.module.mjs +19 -0
- package/esm2022/lib/progress-bar/progress-bar.types.mjs +19 -0
- package/esm2022/lib/progress-circle/progress-circle.component.mjs +94 -0
- package/esm2022/lib/progress-circle/progress-circle.directive.mjs +14 -0
- package/esm2022/lib/progress-circle/progress-circle.module.mjs +19 -0
- package/esm2022/lib/progress-circle/progress-circle.types.mjs +10 -0
- package/esm2022/lib/radio/radio/radio.component.mjs +53 -0
- package/esm2022/lib/radio/radio-group.component.mjs +207 -0
- package/esm2022/lib/radio/radio.module.mjs +19 -0
- package/esm2022/lib/search-functions.mjs +64 -0
- package/esm2022/lib/segment/segment.component.mjs +168 -0
- package/esm2022/lib/segment/segment.directives.mjs +14 -0
- package/esm2022/lib/segment/segment.module.mjs +19 -0
- package/esm2022/lib/segment/segment.types.mjs +12 -0
- package/esm2022/lib/select/select.component.mjs +1160 -0
- package/esm2022/lib/select/select.directive.mjs +171 -0
- package/esm2022/lib/select/select.module.mjs +112 -0
- package/esm2022/lib/select/select.types.mjs +2 -0
- package/esm2022/lib/slide-toggle/slide-toggle.component.mjs +46 -0
- package/esm2022/lib/slide-toggle/slide-toggle.module.mjs +18 -0
- package/esm2022/lib/slider/abstract-slider.mjs +330 -0
- package/esm2022/lib/slider/range-slider/range-slider.component.mjs +143 -0
- package/esm2022/lib/slider/range-slider/range-slider.module.mjs +18 -0
- package/esm2022/lib/slider/slider.component.mjs +93 -0
- package/esm2022/lib/slider/slider.directive.mjs +16 -0
- package/esm2022/lib/slider/slider.module.mjs +20 -0
- package/esm2022/lib/slider/slider.types.mjs +10 -0
- package/esm2022/lib/snackbar/index.mjs +5 -0
- package/esm2022/lib/snackbar/snackbar-ref.mjs +51 -0
- package/esm2022/lib/snackbar/snackbar.component.mjs +48 -0
- package/esm2022/lib/snackbar/snackbar.service.mjs +227 -0
- package/esm2022/lib/snackbar/snackbar.token.mjs +20 -0
- package/esm2022/lib/snackbar/snackbar.types.mjs +25 -0
- package/esm2022/lib/spinner/spinner.component.mjs +22 -0
- package/esm2022/lib/spinner/spinner.module.mjs +18 -0
- package/esm2022/lib/star/star-button/star-button.component.mjs +53 -0
- package/esm2022/lib/star/star-button/star-button.module.mjs +19 -0
- package/esm2022/lib/star/star-display/star-display.component.mjs +66 -0
- package/esm2022/lib/star/star-display/star-display.module.mjs +19 -0
- package/esm2022/lib/star/star-input/star-input.component.mjs +221 -0
- package/esm2022/lib/star/star-input/star-input.module.mjs +19 -0
- package/esm2022/lib/star/star.component.mjs +28 -0
- package/esm2022/lib/star/star.module.mjs +18 -0
- package/esm2022/lib/star/star.types.mjs +23 -0
- package/esm2022/lib/statebox/statebox.component.mjs +158 -0
- package/esm2022/lib/statebox/statebox.module.mjs +18 -0
- package/esm2022/lib/statebox/statebox.types.mjs +2 -0
- package/esm2022/lib/table/table-item-storage.mjs +560 -0
- package/esm2022/lib/table/table.component.mjs +468 -0
- package/esm2022/lib/table/table.directives.mjs +64 -0
- package/esm2022/lib/table/table.module.mjs +46 -0
- package/esm2022/lib/table/table.types.mjs +30 -0
- package/esm2022/lib/table/utils.mjs +18 -0
- package/esm2022/lib/table-from-csv/table-from-csv.component.mjs +64 -0
- package/esm2022/lib/table-from-csv/table-from-csv.module.mjs +19 -0
- package/esm2022/lib/table-pagination/table-pagination.component.mjs +172 -0
- package/esm2022/lib/table-pagination/table-pagination.module.mjs +21 -0
- package/esm2022/lib/table-pagination/table-pagination.types.mjs +7 -0
- package/esm2022/lib/types/alignment.types.mjs +10 -0
- package/esm2022/lib/types/colors.types.mjs +43 -0
- package/esm2022/lib/types/item-storage.types.mjs +6 -0
- package/esm2022/lib/types/theming.types.mjs +48 -0
- package/esm2022/lib/types/utility.types.mjs +5 -0
- package/esm2022/public-api.mjs +194 -0
- package/fesm2022/ardium-ui-ui.mjs +14316 -0
- package/fesm2022/ardium-ui-ui.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/_internal/boolean-component.d.ts +50 -0
- package/lib/_internal/clear-button/clear-button.component.d.ts +6 -0
- package/lib/_internal/clear-button/clear-button.module.d.ts +8 -0
- package/lib/_internal/disablable-component.d.ts +11 -0
- package/lib/_internal/focusable-component.d.ts +52 -0
- package/lib/_internal/item-storages/dropdown-item-storage.d.ts +87 -0
- package/lib/_internal/item-storages/simple-item-storage.d.ts +159 -0
- package/lib/_internal/item-storages/simplest-item-storage.d.ts +70 -0
- package/lib/_internal/models/pagination.model.d.ts +53 -0
- package/lib/_internal/ngmodel-component.d.ts +42 -0
- package/lib/_internal/queue.d.ts +21 -0
- package/lib/_internal/selectable-list-component.d.ts +71 -0
- package/lib/badge/badge.directive.d.ts +31 -0
- package/lib/badge/badge.module.d.ts +8 -0
- package/lib/badge/badge.types.d.ts +17 -0
- package/lib/buttons/_button-base.d.ts +18 -0
- package/lib/buttons/button/button.component.d.ts +15 -0
- package/lib/buttons/button/button.module.d.ts +8 -0
- package/lib/buttons/fab/fab.component.d.ts +12 -0
- package/lib/buttons/fab/fab.module.d.ts +8 -0
- package/lib/buttons/general-button.types.d.ts +57 -0
- package/lib/buttons/icon-button/icon-button.component.d.ts +13 -0
- package/lib/buttons/icon-button/icon-button.module.d.ts +8 -0
- package/lib/calendar/calendar.component.d.ts +155 -0
- package/lib/calendar/calendar.directives.d.ts +51 -0
- package/lib/calendar/calendar.helpers.d.ts +15 -0
- package/lib/calendar/calendar.module.d.ts +11 -0
- package/lib/calendar/calendar.types.d.ts +80 -0
- package/lib/card/card.children.d.ts +43 -0
- package/lib/card/card.component.d.ts +13 -0
- package/lib/card/card.module.d.ts +9 -0
- package/lib/card/card.types.d.ts +10 -0
- package/lib/checkbox/checkbox.component.d.ts +21 -0
- package/lib/checkbox/checkbox.module.d.ts +8 -0
- package/lib/checkbox/checkbox.types.d.ts +6 -0
- package/lib/checkbox-list/checkbox-list.component.d.ts +50 -0
- package/lib/checkbox-list/checkbox-list.module.d.ts +9 -0
- package/lib/checkbox-list/checkbox-list.types.d.ts +7 -0
- package/lib/chip/chip.component.d.ts +18 -0
- package/lib/chip/chip.module.d.ts +11 -0
- package/lib/chip/deletable-chip/deletable-chip.component.d.ts +24 -0
- package/lib/chip/selectable-chip/selectable-chip.component.d.ts +24 -0
- package/lib/color/color-display/color-display.component.d.ts +17 -0
- package/lib/color/color-display/color-display.module.d.ts +8 -0
- package/lib/color/color-display/color-display.types.d.ts +9 -0
- package/lib/color/color-picker/color-picker.component.d.ts +125 -0
- package/lib/color/color-picker/color-picker.directives.d.ts +27 -0
- package/lib/color/color-picker/color-picker.module.d.ts +13 -0
- package/lib/color/color-picker/color-picker.types.d.ts +21 -0
- package/lib/dialog/dialog.component.d.ts +44 -0
- package/lib/dialog/dialog.directives.d.ts +9 -0
- package/lib/dialog/dialog.module.d.ts +11 -0
- package/lib/dialog/dialog.types.d.ts +28 -0
- package/lib/divider/divider.component.d.ts +8 -0
- package/lib/divider/divider.module.d.ts +8 -0
- package/lib/dropdown-panel/dropdown-panel.component.d.ts +37 -0
- package/lib/dropdown-panel/dropdown-panel.module.d.ts +8 -0
- package/lib/dropdown-panel/dropdown-panel.types.d.ts +12 -0
- package/lib/file-inputs/file-drop-area/file-drop-area.component.d.ts +22 -0
- package/lib/file-inputs/file-drop-area/file-drop-area.directives.d.ts +21 -0
- package/lib/file-inputs/file-drop-area/file-drop-area.module.d.ts +12 -0
- package/lib/file-inputs/file-input/file-input.component.d.ts +41 -0
- package/lib/file-inputs/file-input/file-input.directives.d.ts +39 -0
- package/lib/file-inputs/file-input/file-input.module.d.ts +11 -0
- package/lib/file-inputs/file-input-base.d.ts +43 -0
- package/lib/file-inputs/file-input-types.d.ts +10 -0
- package/lib/form-field-frame/form-field-frame.component.d.ts +32 -0
- package/lib/form-field-frame/form-field-frame.directives.d.ts +14 -0
- package/lib/form-field-frame/form-field-frame.module.d.ts +9 -0
- package/lib/icon/icon.component.d.ts +32 -0
- package/lib/icon/icon.module.d.ts +9 -0
- package/lib/icon/icon.pipe.d.ts +7 -0
- package/lib/inputs/color-input/color-input.component.d.ts +147 -0
- package/lib/inputs/color-input/color-input.directives.d.ts +52 -0
- package/lib/inputs/color-input/color-input.module.d.ts +16 -0
- package/lib/inputs/color-input/color-input.types.d.ts +5 -0
- package/lib/inputs/digit-input/digit-input.component.d.ts +50 -0
- package/lib/inputs/digit-input/digit-input.model.d.ts +26 -0
- package/lib/inputs/digit-input/digit-input.module.d.ts +8 -0
- package/lib/inputs/digit-input/digit-input.types.d.ts +27 -0
- package/lib/inputs/digit-input/digit-input.utils.d.ts +17 -0
- package/lib/inputs/hex-input/hex-input.component.d.ts +60 -0
- package/lib/inputs/hex-input/hex-input.directives.d.ts +20 -0
- package/lib/inputs/hex-input/hex-input.module.d.ts +11 -0
- package/lib/inputs/hex-input.model.d.ts +27 -0
- package/lib/inputs/input/input.component.d.ts +79 -0
- package/lib/inputs/input/input.directives.d.ts +33 -0
- package/lib/inputs/input/input.module.d.ts +13 -0
- package/lib/inputs/input-transformers.d.ts +24 -0
- package/lib/inputs/input-types.d.ts +6 -0
- package/lib/inputs/input-utils.d.ts +58 -0
- package/lib/inputs/number-input/number-input.component.d.ts +70 -0
- package/lib/inputs/number-input/number-input.directives.d.ts +8 -0
- package/lib/inputs/number-input/number-input.module.d.ts +11 -0
- package/lib/inputs/password-input/password-input.component.d.ts +54 -0
- package/lib/inputs/password-input/password-input.directives.d.ts +27 -0
- package/lib/inputs/password-input/password-input.module.d.ts +11 -0
- package/lib/inputs/password-input/password-input.types.d.ts +3 -0
- package/lib/inputs/simple-input/simple-input.component.d.ts +58 -0
- package/lib/inputs/simple-input/simple-input.directives.d.ts +20 -0
- package/lib/inputs/simple-input/simple-input.module.d.ts +11 -0
- package/lib/kbd/kbd.component.d.ts +15 -0
- package/lib/kbd/kbd.module.d.ts +9 -0
- package/lib/kbd/kbd.pipe.d.ts +7 -0
- package/lib/kbd-shortcut/kbd-shortcut.component.d.ts +18 -0
- package/lib/kbd-shortcut/kbd-shortcut.module.d.ts +9 -0
- package/lib/modal/modal.component.d.ts +36 -0
- package/lib/modal/modal.module.d.ts +11 -0
- package/lib/option/option.component.d.ts +29 -0
- package/lib/option/option.module.d.ts +8 -0
- package/lib/progress-bar/progress-bar.component.d.ts +26 -0
- package/lib/progress-bar/progress-bar.directive.d.ts +9 -0
- package/lib/progress-bar/progress-bar.module.d.ts +9 -0
- package/lib/progress-bar/progress-bar.types.d.ts +26 -0
- package/lib/progress-circle/progress-circle.component.d.ts +28 -0
- package/lib/progress-circle/progress-circle.directive.d.ts +9 -0
- package/lib/progress-circle/progress-circle.module.d.ts +9 -0
- package/lib/progress-circle/progress-circle.types.d.ts +17 -0
- package/lib/radio/radio/radio.component.d.ts +23 -0
- package/lib/radio/radio-group.component.d.ts +43 -0
- package/lib/radio/radio.module.d.ts +9 -0
- package/lib/search-functions.d.ts +10 -0
- package/lib/segment/segment.component.d.ts +48 -0
- package/lib/segment/segment.directives.d.ts +9 -0
- package/lib/segment/segment.module.d.ts +9 -0
- package/lib/segment/segment.types.d.ts +16 -0
- package/lib/select/select.component.d.ts +255 -0
- package/lib/select/select.directive.d.ts +94 -0
- package/lib/select/select.module.d.ts +14 -0
- package/lib/select/select.types.d.ts +109 -0
- package/lib/slide-toggle/slide-toggle.component.d.ts +14 -0
- package/lib/slide-toggle/slide-toggle.module.d.ts +8 -0
- package/lib/slider/abstract-slider.d.ts +88 -0
- package/lib/slider/range-slider/range-slider.component.d.ts +29 -0
- package/lib/slider/range-slider/range-slider.module.d.ts +8 -0
- package/lib/slider/slider.component.d.ts +18 -0
- package/lib/slider/slider.directive.d.ts +9 -0
- package/lib/slider/slider.module.d.ts +10 -0
- package/lib/slider/slider.types.d.ts +28 -0
- package/lib/snackbar/index.d.ts +4 -0
- package/lib/snackbar/snackbar-ref.d.ts +37 -0
- package/lib/snackbar/snackbar.component.d.ts +16 -0
- package/lib/snackbar/snackbar.service.d.ts +31 -0
- package/lib/snackbar/snackbar.token.d.ts +5 -0
- package/lib/snackbar/snackbar.types.d.ts +48 -0
- package/lib/spinner/spinner.component.d.ts +8 -0
- package/lib/spinner/spinner.module.d.ts +8 -0
- package/lib/star/star-button/star-button.component.d.ts +16 -0
- package/lib/star/star-button/star-button.module.d.ts +9 -0
- package/lib/star/star-display/star-display.component.d.ts +16 -0
- package/lib/star/star-display/star-display.module.d.ts +9 -0
- package/lib/star/star-input/star-input.component.d.ts +51 -0
- package/lib/star/star-input/star-input.module.d.ts +9 -0
- package/lib/star/star.component.d.ts +10 -0
- package/lib/star/star.module.d.ts +8 -0
- package/lib/star/star.types.d.ts +30 -0
- package/lib/statebox/statebox.component.d.ts +31 -0
- package/lib/statebox/statebox.module.d.ts +8 -0
- package/lib/statebox/statebox.types.d.ts +22 -0
- package/lib/table/table-item-storage.d.ts +266 -0
- package/lib/table/table.component.d.ts +127 -0
- package/lib/table/table.directives.d.ts +35 -0
- package/lib/table/table.module.d.ts +12 -0
- package/lib/table/table.types.d.ts +83 -0
- package/lib/table/utils.d.ts +4 -0
- package/lib/table-from-csv/table-from-csv.component.d.ts +16 -0
- package/lib/table-from-csv/table-from-csv.module.d.ts +9 -0
- package/lib/table-pagination/table-pagination.component.d.ts +48 -0
- package/lib/table-pagination/table-pagination.module.d.ts +11 -0
- package/lib/table-pagination/table-pagination.types.d.ts +9 -0
- package/lib/types/alignment.types.d.ts +11 -0
- package/lib/types/colors.types.d.ts +71 -0
- package/lib/types/item-storage.types.d.ts +98 -0
- package/lib/types/theming.types.d.ts +61 -0
- package/lib/types/utility.types.d.ts +11 -0
- package/package.json +36 -0
- package/prebuilt-themes/default/badge.css +208 -0
- package/prebuilt-themes/default/badge.css.map +1 -0
- package/prebuilt-themes/default/buttons/button.css +290 -0
- package/prebuilt-themes/default/buttons/button.css.map +1 -0
- package/prebuilt-themes/default/buttons/fab.css +307 -0
- package/prebuilt-themes/default/buttons/fab.css.map +1 -0
- package/prebuilt-themes/default/buttons/icon-button.css +288 -0
- package/prebuilt-themes/default/buttons/icon-button.css.map +1 -0
- package/prebuilt-themes/default/calendar.css +293 -0
- package/prebuilt-themes/default/calendar.css.map +1 -0
- package/prebuilt-themes/default/card.css +122 -0
- package/prebuilt-themes/default/card.css.map +1 -0
- package/prebuilt-themes/default/checkbox-list.css +65 -0
- package/prebuilt-themes/default/checkbox-list.css.map +1 -0
- package/prebuilt-themes/default/checkbox.css +365 -0
- package/prebuilt-themes/default/checkbox.css.map +1 -0
- package/prebuilt-themes/default/chips.css +367 -0
- package/prebuilt-themes/default/chips.css.map +1 -0
- package/prebuilt-themes/default/color-display.css +29 -0
- package/prebuilt-themes/default/color-display.css.map +1 -0
- package/prebuilt-themes/default/color-picker.css +106 -0
- package/prebuilt-themes/default/color-picker.css.map +1 -0
- package/prebuilt-themes/default/core.css +84 -0
- package/prebuilt-themes/default/core.css.map +1 -0
- package/prebuilt-themes/default/dialog.css +18 -0
- package/prebuilt-themes/default/dialog.css.map +1 -0
- package/prebuilt-themes/default/divider.css +11 -0
- package/prebuilt-themes/default/divider.css.map +1 -0
- package/prebuilt-themes/default/dropdown-panel.css +37 -0
- package/prebuilt-themes/default/dropdown-panel.css.map +1 -0
- package/prebuilt-themes/default/file-drop-area.css +279 -0
- package/prebuilt-themes/default/file-drop-area.css.map +1 -0
- package/prebuilt-themes/default/form-field-frame.css +84 -0
- package/prebuilt-themes/default/form-field-frame.css.map +1 -0
- package/prebuilt-themes/default/inputs/color-input.css +139 -0
- package/prebuilt-themes/default/inputs/color-input.css.map +1 -0
- package/prebuilt-themes/default/inputs/digit-input.css +45 -0
- package/prebuilt-themes/default/inputs/digit-input.css.map +1 -0
- package/prebuilt-themes/default/inputs/file-input.css +169 -0
- package/prebuilt-themes/default/inputs/file-input.css.map +1 -0
- package/prebuilt-themes/default/inputs/hex-input.css +119 -0
- package/prebuilt-themes/default/inputs/hex-input.css.map +1 -0
- package/prebuilt-themes/default/inputs/input.css +139 -0
- package/prebuilt-themes/default/inputs/input.css.map +1 -0
- package/prebuilt-themes/default/inputs/number-input.css +150 -0
- package/prebuilt-themes/default/inputs/number-input.css.map +1 -0
- package/prebuilt-themes/default/inputs/password-input.css +73 -0
- package/prebuilt-themes/default/inputs/password-input.css.map +1 -0
- package/prebuilt-themes/default/inputs/search-bar.css +114 -0
- package/prebuilt-themes/default/inputs/search-bar.css.map +1 -0
- package/prebuilt-themes/default/inputs/simple-input.css +114 -0
- package/prebuilt-themes/default/inputs/simple-input.css.map +1 -0
- package/prebuilt-themes/default/kbd-shortcut.css +12 -0
- package/prebuilt-themes/default/kbd-shortcut.css.map +1 -0
- package/prebuilt-themes/default/kbd.css +17 -0
- package/prebuilt-themes/default/kbd.css.map +1 -0
- package/prebuilt-themes/default/modal.css +73 -0
- package/prebuilt-themes/default/modal.css.map +1 -0
- package/prebuilt-themes/default/progress-bar.css +267 -0
- package/prebuilt-themes/default/progress-bar.css.map +1 -0
- package/prebuilt-themes/default/progress-circle.css +167 -0
- package/prebuilt-themes/default/progress-circle.css.map +1 -0
- package/prebuilt-themes/default/radio.css +226 -0
- package/prebuilt-themes/default/radio.css.map +1 -0
- package/prebuilt-themes/default/segment.css +391 -0
- package/prebuilt-themes/default/segment.css.map +1 -0
- package/prebuilt-themes/default/select.css +275 -0
- package/prebuilt-themes/default/select.css.map +1 -0
- package/prebuilt-themes/default/slide-toggle.css +264 -0
- package/prebuilt-themes/default/slide-toggle.css.map +1 -0
- package/prebuilt-themes/default/slider.css +354 -0
- package/prebuilt-themes/default/slider.css.map +1 -0
- package/prebuilt-themes/default/snackbar.css +183 -0
- package/prebuilt-themes/default/snackbar.css.map +1 -0
- package/prebuilt-themes/default/spinner.css +151 -0
- package/prebuilt-themes/default/spinner.css.map +1 -0
- package/prebuilt-themes/default/stars.css +291 -0
- package/prebuilt-themes/default/stars.css.map +1 -0
- package/prebuilt-themes/default/statebox.css +235 -0
- package/prebuilt-themes/default/statebox.css.map +1 -0
- package/prebuilt-themes/default/table-pagination.css +48 -0
- package/prebuilt-themes/default/table-pagination.css.map +1 -0
- package/prebuilt-themes/default/table.css +418 -0
- package/prebuilt-themes/default/table.css.map +1 -0
- package/public-api.d.ts +145 -0
- package/themes/_variables.scss +121 -0
- package/themes/default/_clear-button.scss +73 -0
- package/themes/default/_coloring.scss +137 -0
- package/themes/default/_dropdown-arrow.scss +12 -0
- package/themes/default/_mixins.scss +70 -0
- package/themes/default/badge.scss +94 -0
- package/themes/default/buttons/_button-mixins.scss +144 -0
- package/themes/default/buttons/button.scss +62 -0
- package/themes/default/buttons/fab.scss +72 -0
- package/themes/default/buttons/icon-button.scss +59 -0
- package/themes/default/calendar.scss +182 -0
- package/themes/default/card.scss +126 -0
- package/themes/default/checkbox-list.scss +83 -0
- package/themes/default/checkbox.scss +109 -0
- package/themes/default/chips.scss +206 -0
- package/themes/default/color-display.scss +41 -0
- package/themes/default/color-picker.scss +111 -0
- package/themes/default/core.scss +96 -0
- package/themes/default/dialog.scss +16 -0
- package/themes/default/divider.scss +13 -0
- package/themes/default/dropdown-panel.scss +45 -0
- package/themes/default/file-drop-area.scss +162 -0
- package/themes/default/form-field-frame.scss +78 -0
- package/themes/default/inputs/_shared.scss +46 -0
- package/themes/default/inputs/color-input.scss +46 -0
- package/themes/default/inputs/digit-input.scss +56 -0
- package/themes/default/inputs/file-input.scss +78 -0
- package/themes/default/inputs/hex-input.scss +27 -0
- package/themes/default/inputs/input.scss +52 -0
- package/themes/default/inputs/number-input.scss +121 -0
- package/themes/default/inputs/password-input.scss +43 -0
- package/themes/default/inputs/search-bar.scss +19 -0
- package/themes/default/inputs/simple-input.scss +19 -0
- package/themes/default/kbd-shortcut.scss +13 -0
- package/themes/default/kbd.scss +20 -0
- package/themes/default/modal.scss +93 -0
- package/themes/default/progress-bar.scss +166 -0
- package/themes/default/progress-circle.scss +56 -0
- package/themes/default/radio.scss +112 -0
- package/themes/default/segment.scss +339 -0
- package/themes/default/select.scss +253 -0
- package/themes/default/slide-toggle.scss +151 -0
- package/themes/default/slider.scss +224 -0
- package/themes/default/snackbar.scss +60 -0
- package/themes/default/spinner.scss +21 -0
- package/themes/default/stars.scss +122 -0
- package/themes/default/statebox.scss +109 -0
- package/themes/default/table-pagination.scss +56 -0
- package/themes/default/table.scss +403 -0
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
import { OverlayConfig } from '@angular/cdk/overlay';
|
|
2
|
+
import { TemplatePortal } from '@angular/cdk/portal';
|
|
3
|
+
import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, forwardRef, HostListener, Input, Output, TemplateRef, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
4
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
5
|
+
import { coerceArrayProperty, coerceBooleanProperty } from '@ardium-ui/devkit';
|
|
6
|
+
import { isString } from 'simple-bool';
|
|
7
|
+
import { DropdownPanelAppearance, DropdownPanelVariant } from '../../dropdown-panel/dropdown-panel.types';
|
|
8
|
+
import { FormElementAppearance, FormElementVariant } from '../../types/theming.types';
|
|
9
|
+
import { SimplestItemStorage } from '../../_internal/item-storages/simplest-item-storage';
|
|
10
|
+
import { ArdiumSimpleInputComponent } from '../simple-input/simple-input.component';
|
|
11
|
+
import { escapeAndCreateRegex, InputModel } from './../input-utils';
|
|
12
|
+
import { ArdInputLoadingTemplateDirective, ArdInputPlaceholderTemplateDirective, ArdInputPrefixTemplateDirective, ArdInputSuffixTemplateDirective, ArdSuggestionTemplateDirective, } from './input.directives';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
15
|
+
import * as i2 from "@angular/common";
|
|
16
|
+
import * as i3 from "../../form-field-frame/form-field-frame.component";
|
|
17
|
+
import * as i4 from "../../_internal/clear-button/clear-button.component";
|
|
18
|
+
import * as i5 from "../../dropdown-panel/dropdown-panel.component";
|
|
19
|
+
import * as i6 from "@ardium-ui/devkit";
|
|
20
|
+
export class ArdiumInputComponent extends ArdiumSimpleInputComponent {
|
|
21
|
+
constructor(viewContainerRef, overlay, scrollStrategyOpts) {
|
|
22
|
+
super();
|
|
23
|
+
this.viewContainerRef = viewContainerRef;
|
|
24
|
+
this.overlay = overlay;
|
|
25
|
+
this.scrollStrategyOpts = scrollStrategyOpts;
|
|
26
|
+
this.DEFAULTS = {
|
|
27
|
+
clearButtonTitle: 'Clear',
|
|
28
|
+
valueFrom: 'value',
|
|
29
|
+
labelFrom: 'label',
|
|
30
|
+
suggestionsLoadingText: 'Loading...',
|
|
31
|
+
};
|
|
32
|
+
this._charlistCaseInsensitive = false;
|
|
33
|
+
//autocomplete event
|
|
34
|
+
this.acceptAutocompleteEvent = new EventEmitter();
|
|
35
|
+
//! suggestions
|
|
36
|
+
this.suggestionStorage = new SimplestItemStorage(this);
|
|
37
|
+
this.acceptSuggestionEvent = new EventEmitter();
|
|
38
|
+
this._suggestionDropdowOpen = false;
|
|
39
|
+
this.areSuggestionsLoading = false;
|
|
40
|
+
this.suggestionsLoadingText = this.DEFAULTS.suggestionsLoadingText;
|
|
41
|
+
//! suggestion-highligh-related
|
|
42
|
+
this._isMouseBeingUsed = false;
|
|
43
|
+
//! suggestion appearance
|
|
44
|
+
this._dropdownAppearance = undefined;
|
|
45
|
+
this._dropdownVariant = undefined;
|
|
46
|
+
this.element = viewContainerRef.element.nativeElement;
|
|
47
|
+
}
|
|
48
|
+
ngOnInit() {
|
|
49
|
+
this.inputModel = new InputModel(this.textInputEl.nativeElement, this);
|
|
50
|
+
this._setInputAttributes();
|
|
51
|
+
//set the value
|
|
52
|
+
if (this._valueBeforeInit) {
|
|
53
|
+
this.writeValue(this._valueBeforeInit);
|
|
54
|
+
delete this._valueBeforeInit;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
get charlist() {
|
|
58
|
+
return this._charlistRegExp;
|
|
59
|
+
}
|
|
60
|
+
set charlist(v) {
|
|
61
|
+
if (!isString(v)) {
|
|
62
|
+
throw new Error('charlistRegExp must be a non-empty string.');
|
|
63
|
+
}
|
|
64
|
+
let flags = this._charlistCaseInsensitive ? 'i' : '';
|
|
65
|
+
let negated = v.startsWith('^');
|
|
66
|
+
this._charlistRegExp = escapeAndCreateRegex(v, flags, !negated);
|
|
67
|
+
}
|
|
68
|
+
get charlistCaseInsensitive() {
|
|
69
|
+
return this._charlistCaseInsensitive;
|
|
70
|
+
}
|
|
71
|
+
set charlistCaseInsensitive(v) {
|
|
72
|
+
this._charlistCaseInsensitive = coerceBooleanProperty(v);
|
|
73
|
+
if (this._charlistRegExp) {
|
|
74
|
+
let flags = this._charlistCaseInsensitive ? 'i' : '';
|
|
75
|
+
this._charlistRegExp = new RegExp(this._charlistRegExp.source, flags);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
set autocomplete(v) {
|
|
79
|
+
this._autocomplete = v;
|
|
80
|
+
}
|
|
81
|
+
get autocomplete() {
|
|
82
|
+
return this._autocomplete ?? '';
|
|
83
|
+
}
|
|
84
|
+
//should show autocomplete
|
|
85
|
+
get shouldDisplayAutocomplete() {
|
|
86
|
+
return !this.disabled && Boolean(this.autocomplete);
|
|
87
|
+
}
|
|
88
|
+
get suggestionItems() {
|
|
89
|
+
return this.suggestionStorage.items;
|
|
90
|
+
}
|
|
91
|
+
set suggestions(value) {
|
|
92
|
+
if (!Array.isArray(value))
|
|
93
|
+
value = coerceArrayProperty(value);
|
|
94
|
+
let shouldPrintErrors = this.suggestionStorage.setItems(value);
|
|
95
|
+
this._suggestionDropdowOpen = true;
|
|
96
|
+
this.suggestionStorage.highlightFirstItem();
|
|
97
|
+
if (shouldPrintErrors) {
|
|
98
|
+
this._printPrimitiveWarnings();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
_printPrimitiveWarnings() {
|
|
102
|
+
function makeWarning(str) {
|
|
103
|
+
console.warn(`Skipped using [${str}] property bound to <ard-input>, as some provided suggestion items are of primitive type`);
|
|
104
|
+
}
|
|
105
|
+
if (this.valueFrom) {
|
|
106
|
+
makeWarning('valueFrom');
|
|
107
|
+
}
|
|
108
|
+
if (this.labelFrom) {
|
|
109
|
+
makeWarning('labelFrom');
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
get shouldDisplaySuggestions() {
|
|
113
|
+
return !this.disabled && (this.suggestionItems.length > 0 || this.areSuggestionsLoading) && this._suggestionDropdowOpen;
|
|
114
|
+
}
|
|
115
|
+
ngAfterViewInit() {
|
|
116
|
+
const strategy = this.overlay
|
|
117
|
+
.position()
|
|
118
|
+
.flexibleConnectedTo(this.dropdownHost)
|
|
119
|
+
.withPositions([
|
|
120
|
+
{
|
|
121
|
+
originX: 'start',
|
|
122
|
+
originY: 'bottom',
|
|
123
|
+
overlayX: 'start',
|
|
124
|
+
overlayY: 'top',
|
|
125
|
+
},
|
|
126
|
+
])
|
|
127
|
+
.withPush(false);
|
|
128
|
+
const config = new OverlayConfig({
|
|
129
|
+
positionStrategy: strategy,
|
|
130
|
+
scrollStrategy: this.scrollStrategyOpts.block(),
|
|
131
|
+
hasBackdrop: false,
|
|
132
|
+
});
|
|
133
|
+
this.dropdownOverlay = this.overlay.create(config);
|
|
134
|
+
this.dropdownOverlay;
|
|
135
|
+
const portal = new TemplatePortal(this.dropdownTemplate, this.viewContainerRef);
|
|
136
|
+
this.dropdownOverlay.attach(portal);
|
|
137
|
+
this.setOverlaySize();
|
|
138
|
+
}
|
|
139
|
+
setOverlaySize() {
|
|
140
|
+
const rect = this.dropdownHost.nativeElement.getBoundingClientRect();
|
|
141
|
+
this.dropdownOverlay.updateSize({ width: rect.width });
|
|
142
|
+
}
|
|
143
|
+
onWindowResize() {
|
|
144
|
+
this.setOverlaySize();
|
|
145
|
+
}
|
|
146
|
+
getOptionContext(item) {
|
|
147
|
+
return {
|
|
148
|
+
$implicit: item,
|
|
149
|
+
item,
|
|
150
|
+
itemData: item.itemData,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
onMouseMove() {
|
|
154
|
+
this._isMouseBeingUsed = true;
|
|
155
|
+
}
|
|
156
|
+
onSuggestionMouseEnter(item, event) {
|
|
157
|
+
if (!this._isMouseBeingUsed)
|
|
158
|
+
return;
|
|
159
|
+
this.suggestionStorage.highlightItem(item);
|
|
160
|
+
event.stopPropagation();
|
|
161
|
+
}
|
|
162
|
+
onSuggestionMouseLeave(item, event) {
|
|
163
|
+
if (!this._isMouseBeingUsed)
|
|
164
|
+
return;
|
|
165
|
+
this.suggestionStorage.unhighlightItem(item);
|
|
166
|
+
event.stopPropagation();
|
|
167
|
+
}
|
|
168
|
+
//! suggestion selection
|
|
169
|
+
selectSuggestion(item, event) {
|
|
170
|
+
event.stopPropagation();
|
|
171
|
+
this._selectSuggestion(item);
|
|
172
|
+
}
|
|
173
|
+
_selectSuggestion(item) {
|
|
174
|
+
const selected = this.suggestionStorage.selectItem(item);
|
|
175
|
+
this.writeValue(selected ?? '');
|
|
176
|
+
this.acceptSuggestionEvent.next(selected);
|
|
177
|
+
//important to do those two things in this exact order
|
|
178
|
+
this.focus();
|
|
179
|
+
this._suggestionDropdowOpen = false;
|
|
180
|
+
}
|
|
181
|
+
handleSuggestionClickOutside(event) {
|
|
182
|
+
if (!this.shouldDisplaySuggestions)
|
|
183
|
+
return;
|
|
184
|
+
const target = event.target;
|
|
185
|
+
if (this.element.contains(target))
|
|
186
|
+
return;
|
|
187
|
+
this._suggestionDropdowOpen = false;
|
|
188
|
+
}
|
|
189
|
+
set dropdowonAppearance(v) {
|
|
190
|
+
this._dropdownAppearance = v;
|
|
191
|
+
}
|
|
192
|
+
get dropdownAppearance() {
|
|
193
|
+
if (this._dropdownAppearance)
|
|
194
|
+
return this._dropdownAppearance;
|
|
195
|
+
if (this.appearance == FormElementAppearance.Outlined)
|
|
196
|
+
return DropdownPanelAppearance.Outlined;
|
|
197
|
+
return DropdownPanelAppearance.Raised;
|
|
198
|
+
}
|
|
199
|
+
set dropdowonVariant(v) {
|
|
200
|
+
this._dropdownVariant = v;
|
|
201
|
+
}
|
|
202
|
+
get dropdownVariant() {
|
|
203
|
+
if (this._dropdownVariant)
|
|
204
|
+
return this._dropdownVariant;
|
|
205
|
+
if (this.variant == FormElementVariant.Pill)
|
|
206
|
+
return DropdownPanelVariant.Rounded;
|
|
207
|
+
return this.variant;
|
|
208
|
+
}
|
|
209
|
+
//! focus override
|
|
210
|
+
onFocus(event) {
|
|
211
|
+
this._suggestionDropdowOpen = true;
|
|
212
|
+
if (!this.suggestionStorage.highlightedItem)
|
|
213
|
+
this.suggestionStorage.highlightFirstItem();
|
|
214
|
+
super.onFocus(event);
|
|
215
|
+
}
|
|
216
|
+
//! key press handlers
|
|
217
|
+
onKeyPress(event) {
|
|
218
|
+
switch (event.code) {
|
|
219
|
+
case 'Enter': {
|
|
220
|
+
this._onTabOrEnterPress(event);
|
|
221
|
+
this._onEnterPress(event);
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
case 'Tab': {
|
|
225
|
+
this._onTabOrEnterPress(event);
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
case 'ArrowDown': {
|
|
229
|
+
this._onArrowDownPress(event);
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
case 'ArrowUp': {
|
|
233
|
+
this._onArrowUpPress(event);
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
_onTabOrEnterPress(event) {
|
|
239
|
+
if (!this.shouldDisplayAutocomplete)
|
|
240
|
+
return;
|
|
241
|
+
event.preventDefault();
|
|
242
|
+
this.onInput(this.autocomplete ?? '');
|
|
243
|
+
this.acceptAutocompleteEvent.emit();
|
|
244
|
+
}
|
|
245
|
+
_onEnterPress(event) {
|
|
246
|
+
if (!this.shouldDisplaySuggestions)
|
|
247
|
+
return;
|
|
248
|
+
if (!this.suggestionStorage.highlightedItem)
|
|
249
|
+
return;
|
|
250
|
+
event.preventDefault();
|
|
251
|
+
this._selectSuggestion(this.suggestionStorage.highlightedItem);
|
|
252
|
+
}
|
|
253
|
+
_onArrowDownPress(event) {
|
|
254
|
+
if (!this.shouldDisplaySuggestions)
|
|
255
|
+
return;
|
|
256
|
+
event.preventDefault();
|
|
257
|
+
this._isMouseBeingUsed = false;
|
|
258
|
+
this.suggestionStorage.highlightNextItem(+1);
|
|
259
|
+
}
|
|
260
|
+
_onArrowUpPress(event) {
|
|
261
|
+
if (!this.shouldDisplaySuggestions)
|
|
262
|
+
return;
|
|
263
|
+
event.preventDefault();
|
|
264
|
+
this._isMouseBeingUsed = false;
|
|
265
|
+
this.suggestionStorage.highlightNextItem(-1);
|
|
266
|
+
}
|
|
267
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumInputComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.Overlay }, { token: i1.ScrollStrategyOptions }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
268
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: ArdiumInputComponent, selector: "ard-input", inputs: { charlist: "charlist", charlistCaseInsensitive: "charlistCaseInsensitive", autocomplete: "autocomplete", valueFrom: ["suggValueFrom", "valueFrom"], labelFrom: ["suggLabelFrom", "labelFrom"], suggestions: "suggestions", areSuggestionsLoading: "areSuggestionsLoading", suggestionsLoadingText: "suggestionsLoadingText", dropdowonAppearance: "dropdowonAppearance", dropdowonVariant: "dropdowonVariant" }, outputs: { acceptAutocompleteEvent: "acceptAutocomplete", acceptSuggestionEvent: "acceptSuggestion" }, host: { listeners: { "window:resize": "onWindowResize()", "mousemove": "onMouseMove()", "keydown": "onKeyPress($event)" } }, providers: [
|
|
269
|
+
{
|
|
270
|
+
provide: NG_VALUE_ACCESSOR,
|
|
271
|
+
useExisting: forwardRef(() => ArdiumInputComponent),
|
|
272
|
+
multi: true,
|
|
273
|
+
},
|
|
274
|
+
], queries: [{ propertyName: "prefixTemplate", first: true, predicate: ArdInputPrefixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "suffixTemplate", first: true, predicate: ArdInputSuffixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "placeholderTemplate", first: true, predicate: ArdInputPlaceholderTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "suggestionTemplate", first: true, predicate: ArdSuggestionTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "suggestionLoadingTemplate", first: true, predicate: ArdInputLoadingTemplateDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "dropdownHost", first: true, predicate: ["suggestionsHost"], descendants: true, read: ElementRef }, { propertyName: "dropdownTemplate", first: true, predicate: ["suggestionsTemplate"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<ard-form-field-frame\r\n [appearance]=\"appearance\"\r\n [variant]=\"variant\"\r\n [compact]=\"compact\"\r\n [isFocused]=\"isFocused\"\r\n [prefixTemplate]=\"prefixTemplate\"\r\n [suffixTemplate]=\"suffixTemplate\"\r\n>\r\n <div class=\"ard-input\"\r\n #suggestionsHost\r\n [ngClass]=\"ngClasses\"\r\n [class.ard-has-value]=\"value\"\r\n (click)=\"focus()\"\r\n >\r\n <div class=\"ard-input-container\">\r\n <div class=\"ard-autocomplete\" *ngIf=\"shouldDisplayAutocomplete\">{{ autocomplete }}</div>\r\n\r\n <ng-container *ngIf=\"shouldDisplayPlaceholder\">\r\n <ng-template #defaultPlaceholderTemplate>\r\n <div class=\"ard-placeholder\">{{ placeholder }}</div>\r\n </ng-template>\r\n\r\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate || defaultPlaceholderTemplate\"></ng-template>\r\n </ng-container>\r\n \r\n <input #textInput\r\n #focusableElement\r\n type=\"text\"\r\n [attr.id]=\"inputId\"\r\n [attr.tabindex]=\"tabIndex\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n (input)=\"onInput(textInput.value)\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (copy)=\"onCopy($event)\"\r\n >\r\n </div>\r\n\r\n <ard-_clear-button\r\n *ngIf=\"shouldShowClearButton\"\r\n [title]=\"clearButtonTitle\"\r\n (click)=\"onClearButtonClick($event)\"\r\n ></ard-_clear-button>\r\n </div>\r\n</ard-form-field-frame>\r\n\r\n<ng-template #suggestionsTemplate>\r\n <ard-dropdown-panel\r\n class=\"ard-dropdown-panel ard-input-suggestions-panel\"\r\n role=\"listbox\"\r\n [compact]=\"compact\"\r\n aria-label=\"Suggestions\"\r\n [appearance]=\"dropdownAppearance\"\r\n [variant]=\"dropdownVariant\"\r\n [isOpen]=\"shouldDisplaySuggestions\"\r\n (ardClickOutside)=\"handleSuggestionClickOutside($event)\"\r\n (mousemove)=\"onMouseMove()\"\r\n >\r\n <div\r\n class=\"ard-option\"\r\n role=\"option\"\r\n *ngFor=\"let item of suggestionItems\"\r\n [class.ard-option-disabled]=\"item.disabled\"\r\n [class.ard-option-selected]=\"item.selected\"\r\n [class.ard-option-highlighted]=\"item.highlighted\"\r\n [class.ard-option-highlighted-recent]=\"item.highlighted_recently\"\r\n [attr.aria-selected]=\"item.selected\"\r\n (click)=\"selectSuggestion(item, $event)\"\r\n (mouseenter)=\"onSuggestionMouseEnter(item, $event)\"\r\n (mouseleave)=\"onSuggestionMouseLeave(item, $event)\"\r\n >\r\n <span class=\"ard-option-label\">\r\n <ng-template #defaultOptionTemplate>\r\n {{item.label}}\r\n </ng-template>\r\n\r\n <ng-template\r\n [ngTemplateOutlet]=\"suggestionTemplate || defaultOptionTemplate\"\r\n [ngTemplateOutletContext]=\"getOptionContext(item)\"\r\n ></ng-template>\r\n </span>\r\n </div>\r\n\r\n <ng-container *ngIf=\"areSuggestionsLoading\">\r\n <ng-template #defaultLoadingPlaceholderTemplate>\r\n <div class=\"ard-option ard-option-disabled\">{{suggestionsLoadingText}}</div>\r\n </ng-template>\r\n \r\n <ng-template [ngTemplateOutlet]=\"suggestionLoadingTemplate || defaultLoadingPlaceholderTemplate\"></ng-template>\r\n </ng-container>\r\n </ard-dropdown-panel>\r\n</ng-template>", styles: ["@import\"@angular/cdk/overlay-prebuilt.css\";.ard-input-container{position:relative}.ard-placeholder{position:absolute;left:0;right:0}.ard-text-align-left input,.ard-text-align-left .ard-placeholder{text-align:left}.ard-text-align-center input,.ard-text-align-center .ard-placeholder{text-align:center}.ard-text-align-right input,.ard-text-align-right .ard-placeholder{text-align:right}.ard-autocomplete{position:absolute}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: ["isFocused", "appearance", "variant", "compact", "prefixTemplate", "suffixTemplate"] }, { kind: "component", type: i4._ClearButtonComponent, selector: "ard-_clear-button" }, { kind: "component", type: i5.ArdiumDropdownPanelComponent, selector: "ard-dropdown-panel", inputs: ["panelId", "headerTemplate", "footerTemplate", "filterValue", "appearance", "variant", "compact", "isOpen"], outputs: ["scroll", "scrollToEnd"] }, { kind: "directive", type: i6.ClickOutsideDirective, selector: "[ardClickOutside]", outputs: ["ardClickOutside"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
275
|
+
}
|
|
276
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumInputComponent, decorators: [{
|
|
277
|
+
type: Component,
|
|
278
|
+
args: [{ selector: 'ard-input', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
279
|
+
{
|
|
280
|
+
provide: NG_VALUE_ACCESSOR,
|
|
281
|
+
useExisting: forwardRef(() => ArdiumInputComponent),
|
|
282
|
+
multi: true,
|
|
283
|
+
},
|
|
284
|
+
], template: "<ard-form-field-frame\r\n [appearance]=\"appearance\"\r\n [variant]=\"variant\"\r\n [compact]=\"compact\"\r\n [isFocused]=\"isFocused\"\r\n [prefixTemplate]=\"prefixTemplate\"\r\n [suffixTemplate]=\"suffixTemplate\"\r\n>\r\n <div class=\"ard-input\"\r\n #suggestionsHost\r\n [ngClass]=\"ngClasses\"\r\n [class.ard-has-value]=\"value\"\r\n (click)=\"focus()\"\r\n >\r\n <div class=\"ard-input-container\">\r\n <div class=\"ard-autocomplete\" *ngIf=\"shouldDisplayAutocomplete\">{{ autocomplete }}</div>\r\n\r\n <ng-container *ngIf=\"shouldDisplayPlaceholder\">\r\n <ng-template #defaultPlaceholderTemplate>\r\n <div class=\"ard-placeholder\">{{ placeholder }}</div>\r\n </ng-template>\r\n\r\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate || defaultPlaceholderTemplate\"></ng-template>\r\n </ng-container>\r\n \r\n <input #textInput\r\n #focusableElement\r\n type=\"text\"\r\n [attr.id]=\"inputId\"\r\n [attr.tabindex]=\"tabIndex\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n (input)=\"onInput(textInput.value)\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (copy)=\"onCopy($event)\"\r\n >\r\n </div>\r\n\r\n <ard-_clear-button\r\n *ngIf=\"shouldShowClearButton\"\r\n [title]=\"clearButtonTitle\"\r\n (click)=\"onClearButtonClick($event)\"\r\n ></ard-_clear-button>\r\n </div>\r\n</ard-form-field-frame>\r\n\r\n<ng-template #suggestionsTemplate>\r\n <ard-dropdown-panel\r\n class=\"ard-dropdown-panel ard-input-suggestions-panel\"\r\n role=\"listbox\"\r\n [compact]=\"compact\"\r\n aria-label=\"Suggestions\"\r\n [appearance]=\"dropdownAppearance\"\r\n [variant]=\"dropdownVariant\"\r\n [isOpen]=\"shouldDisplaySuggestions\"\r\n (ardClickOutside)=\"handleSuggestionClickOutside($event)\"\r\n (mousemove)=\"onMouseMove()\"\r\n >\r\n <div\r\n class=\"ard-option\"\r\n role=\"option\"\r\n *ngFor=\"let item of suggestionItems\"\r\n [class.ard-option-disabled]=\"item.disabled\"\r\n [class.ard-option-selected]=\"item.selected\"\r\n [class.ard-option-highlighted]=\"item.highlighted\"\r\n [class.ard-option-highlighted-recent]=\"item.highlighted_recently\"\r\n [attr.aria-selected]=\"item.selected\"\r\n (click)=\"selectSuggestion(item, $event)\"\r\n (mouseenter)=\"onSuggestionMouseEnter(item, $event)\"\r\n (mouseleave)=\"onSuggestionMouseLeave(item, $event)\"\r\n >\r\n <span class=\"ard-option-label\">\r\n <ng-template #defaultOptionTemplate>\r\n {{item.label}}\r\n </ng-template>\r\n\r\n <ng-template\r\n [ngTemplateOutlet]=\"suggestionTemplate || defaultOptionTemplate\"\r\n [ngTemplateOutletContext]=\"getOptionContext(item)\"\r\n ></ng-template>\r\n </span>\r\n </div>\r\n\r\n <ng-container *ngIf=\"areSuggestionsLoading\">\r\n <ng-template #defaultLoadingPlaceholderTemplate>\r\n <div class=\"ard-option ard-option-disabled\">{{suggestionsLoadingText}}</div>\r\n </ng-template>\r\n \r\n <ng-template [ngTemplateOutlet]=\"suggestionLoadingTemplate || defaultLoadingPlaceholderTemplate\"></ng-template>\r\n </ng-container>\r\n </ard-dropdown-panel>\r\n</ng-template>", styles: ["@import\"@angular/cdk/overlay-prebuilt.css\";.ard-input-container{position:relative}.ard-placeholder{position:absolute;left:0;right:0}.ard-text-align-left input,.ard-text-align-left .ard-placeholder{text-align:left}.ard-text-align-center input,.ard-text-align-center .ard-placeholder{text-align:center}.ard-text-align-right input,.ard-text-align-right .ard-placeholder{text-align:right}.ard-autocomplete{position:absolute}\n"] }]
|
|
285
|
+
}], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i1.Overlay }, { type: i1.ScrollStrategyOptions }], propDecorators: { charlist: [{
|
|
286
|
+
type: Input
|
|
287
|
+
}], charlistCaseInsensitive: [{
|
|
288
|
+
type: Input
|
|
289
|
+
}], autocomplete: [{
|
|
290
|
+
type: Input
|
|
291
|
+
}], acceptAutocompleteEvent: [{
|
|
292
|
+
type: Output,
|
|
293
|
+
args: ['acceptAutocomplete']
|
|
294
|
+
}], prefixTemplate: [{
|
|
295
|
+
type: ContentChild,
|
|
296
|
+
args: [ArdInputPrefixTemplateDirective, { read: TemplateRef }]
|
|
297
|
+
}], suffixTemplate: [{
|
|
298
|
+
type: ContentChild,
|
|
299
|
+
args: [ArdInputSuffixTemplateDirective, { read: TemplateRef }]
|
|
300
|
+
}], placeholderTemplate: [{
|
|
301
|
+
type: ContentChild,
|
|
302
|
+
args: [ArdInputPlaceholderTemplateDirective, { read: TemplateRef }]
|
|
303
|
+
}], valueFrom: [{
|
|
304
|
+
type: Input,
|
|
305
|
+
args: ['suggValueFrom']
|
|
306
|
+
}], labelFrom: [{
|
|
307
|
+
type: Input,
|
|
308
|
+
args: ['suggLabelFrom']
|
|
309
|
+
}], acceptSuggestionEvent: [{
|
|
310
|
+
type: Output,
|
|
311
|
+
args: ['acceptSuggestion']
|
|
312
|
+
}], suggestions: [{
|
|
313
|
+
type: Input
|
|
314
|
+
}], areSuggestionsLoading: [{
|
|
315
|
+
type: Input
|
|
316
|
+
}], suggestionsLoadingText: [{
|
|
317
|
+
type: Input
|
|
318
|
+
}], suggestionTemplate: [{
|
|
319
|
+
type: ContentChild,
|
|
320
|
+
args: [ArdSuggestionTemplateDirective, { read: TemplateRef }]
|
|
321
|
+
}], suggestionLoadingTemplate: [{
|
|
322
|
+
type: ContentChild,
|
|
323
|
+
args: [ArdInputLoadingTemplateDirective, { read: TemplateRef }]
|
|
324
|
+
}], dropdownHost: [{
|
|
325
|
+
type: ViewChild,
|
|
326
|
+
args: ['suggestionsHost', { read: ElementRef }]
|
|
327
|
+
}], dropdownTemplate: [{
|
|
328
|
+
type: ViewChild,
|
|
329
|
+
args: ['suggestionsTemplate', { read: TemplateRef }]
|
|
330
|
+
}], onWindowResize: [{
|
|
331
|
+
type: HostListener,
|
|
332
|
+
args: ['window:resize']
|
|
333
|
+
}], onMouseMove: [{
|
|
334
|
+
type: HostListener,
|
|
335
|
+
args: ['mousemove']
|
|
336
|
+
}], dropdowonAppearance: [{
|
|
337
|
+
type: Input
|
|
338
|
+
}], dropdowonVariant: [{
|
|
339
|
+
type: Input
|
|
340
|
+
}], onKeyPress: [{
|
|
341
|
+
type: HostListener,
|
|
342
|
+
args: ['keydown', ['$event']]
|
|
343
|
+
}] } });
|
|
344
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE4QixhQUFhLEVBQXFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUVULGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTFHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBMkIsTUFBTSxxREFBcUQsQ0FBQztBQUNuSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUVwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFrQixNQUFNLGtCQUFrQixDQUFDO0FBQ3BGLE9BQU8sRUFD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QUFZO3VCQUFDLDhCQUE4QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFHbkUseUJBQXlCO3NCQUR4QixZQUFZO3VCQUFDLGdDQUFnQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFLckUsWUFBWTtzQkFEWCxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFHbEQsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQXlDdkQsY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWU7Z0JBZ0I3QixXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVztnQkE0Q3JCLG1CQUFtQjtzQkFEdEIsS0FBSztnQkFXRixnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBb0JOLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiwgU2Nyb2xsU3RyYXRlZ3lPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb2VyY2VBcnJheVByb3BlcnR5LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYXJkaXVtLXVpL2RldmtpdCc7XG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJ3NpbXBsZS1ib29sJztcbmltcG9ydCB7IERyb3Bkb3duUGFuZWxBcHBlYXJhbmNlLCBEcm9wZG93blBhbmVsVmFyaWFudCB9IGZyb20gJy4uLy4uL2Ryb3Bkb3duLXBhbmVsL2Ryb3Bkb3duLXBhbmVsLnR5cGVzJztcbmltcG9ydCB7IEFyZFNpbXBsZXN0U3RvcmFnZUl0ZW0gfSBmcm9tICcuLi8uLi90eXBlcy9pdGVtLXN0b3JhZ2UudHlwZXMnO1xuaW1wb3J0IHsgRm9ybUVsZW1lbnRBcHBlYXJhbmNlLCBGb3JtRWxlbWVudFZhcmlhbnQgfSBmcm9tICcuLi8uLi90eXBlcy90aGVtaW5nLnR5cGVzJztcbmltcG9ydCB7IFNpbXBsZXN0SXRlbVN0b3JhZ2UsIFNpbXBsZXN0SXRlbVN0b3JhZ2VIb3N0IH0gZnJvbSAnLi4vLi4vX2ludGVybmFsL2l0ZW0tc3RvcmFnZXMvc2ltcGxlc3QtaXRlbS1zdG9yYWdlJztcbmltcG9ydCB7IEFyZGl1bVNpbXBsZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vc2ltcGxlLWlucHV0L3NpbXBsZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0aW9uQ29udGV4dCB9IGZyb20gJy4vLi4vLi4vdHlwZXMvaXRlbS1zdG9yYWdlLnR5cGVzJztcbmltcG9ydCB7IGVzY2FwZUFuZENyZWF0ZVJlZ2V4LCBJbnB1dE1vZGVsLCBJbnB1dE1vZGVsSG9zdCB9IGZyb20gJy4vLi4vaW5wdXQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBBcmRJbnB1dExvYWRpbmdUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBBcmRJbnB1dFBsYWNlaG9sZGVyVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgQXJkSW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBBcmRJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIEFyZFN1Z2dlc3Rpb25UZW1wbGF0ZURpcmVjdGl2ZSxcbn0gZnJvbSAnLi9pbnB1dC5kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcmQtaW5wdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFyZGl1bUlucHV0Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bUlucHV0Q29tcG9uZW50IGV4dGVuZHMgQXJkaXVtU2ltcGxlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBJbnB1dE1vZGVsSG9zdCwgT25Jbml0LCBTaW1wbGVzdEl0ZW1TdG9yYWdlSG9zdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50ITogSFRNTEVsZW1lbnQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIHByaXZhdGUgc2Nyb2xsU3RyYXRlZ3lPcHRzOiBTY3JvbGxTdHJhdGVneU9wdGlvbnNcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLmVsZW1lbnQgPSB2aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBvdmVycmlkZSByZWFkb25seSBERUZBVUxUUyA9IHtcbiAgICAgICAgY2xlYXJCdXR0b25UaXRsZTogJ0NsZWFyJyxcbiAgICAgICAgdmFsdWVGcm9tOiAndmFsdWUnLFxuICAgICAgICBsYWJlbEZyb206ICdsYWJlbCcsXG4gICAgICAgIHN1Z2dlc3Rpb25zTG9hZGluZ1RleHQ6ICdMb2FkaW5nLi4uJyxcbiAgICB9O1xuICAgIC8vISBpbnB1dCB2aWV3XG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGlucHV0TW9kZWwhOiBJbnB1dE1vZGVsO1xuICAgIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0TW9kZWwgPSBuZXcgSW5wdXRNb2RlbCh0aGlzLnRleHRJbnB1dEVsLm5hdGl2ZUVsZW1lbnQsIHRoaXMpO1xuICAgICAgICB0aGlzLl9zZXRJbnB1dEF0dHJpYnV0ZXMoKTtcbiAgICAgICAgLy9zZXQgdGhlIHZhbHVlXG4gICAgICAgIGlmICh0aGlzLl92YWx1ZUJlZm9yZUluaXQpIHtcbiAgICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLl92YWx1ZUJlZm9yZUluaXQpO1xuICAgICAgICAgICAgZGVsZXRlIHRoaXMuX3ZhbHVlQmVmb3JlSW5pdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vISBhbGxvd2xpc3QvZGVueWxpc3Qgb2YgY2hhcmFjdGVyc1xuICAgIC8vdXNlIHN0YW5kYXJkIHN0cmluZyBmb3IgZGVueWxpc3QsIHByZXBlbmQgd2l0aCBeIGZvciBhbGxvd2xpc3RcbiAgICBwcml2YXRlIF9jaGFybGlzdFJlZ0V4cD86IFJlZ0V4cDtcbiAgICBASW5wdXQoKVxuICAgIGdldCBjaGFybGlzdCgpOiBSZWdFeHAgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2hhcmxpc3RSZWdFeHA7XG4gICAgfVxuICAgIHNldCBjaGFybGlzdCh2OiBhbnkpIHtcbiAgICAgICAgaWYgKCFpc1N0cmluZyh2KSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdjaGFybGlzdFJlZ0V4cCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZy4nKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZmxhZ3MgPSB0aGlzLl9jaGFybGlzdENhc2VJbnNlbnNpdGl2ZSA/ICdpJyA6ICcnO1xuICAgICAgICBsZXQgbmVnYXRlZCA9IHYuc3RhcnRzV2l0aCgnXicpO1xuICAgICAgICB0aGlzLl9jaGFybGlzdFJlZ0V4cCA9IGVzY2FwZUFuZENyZWF0ZVJlZ2V4KHYsIGZsYWdzLCAhbmVnYXRlZCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfY2hhcmxpc3RDYXNlSW5zZW5zaXRpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBjaGFybGlzdENhc2VJbnNlbnNpdGl2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NoYXJsaXN0Q2FzZUluc2Vuc2l0aXZlO1xuICAgIH1cbiAgICBzZXQgY2hhcmxpc3RDYXNlSW5zZW5zaXRpdmUodjogYW55KSB7XG4gICAgICAgIHRoaXMuX2NoYXJsaXN0Q2FzZUluc2Vuc2l0aXZlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xuICAgICAgICBpZiAodGhpcy5fY2hhcmxpc3RSZWdFeHApIHtcbiAgICAgICAgICAgIGxldCBmbGFncyA9IHRoaXMuX2NoYXJsaXN0Q2FzZUluc2Vuc2l0aXZlID8gJ2knIDogJyc7XG4gICAgICAgICAgICB0aGlzLl9jaGFybGlzdFJlZ0V4cCA9IG5ldyBSZWdFeHAodGhpcy5fY2hhcmxpc3RSZWdFeHAuc291cmNlLCBmbGFncyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyEgYXV0b2NvbXBsZXRlXG4gICAgcHJvdGVjdGVkIF9hdXRvY29tcGxldGU/OiBzdHJpbmcgfCBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGF1dG9jb21wbGV0ZSh2OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2F1dG9jb21wbGV0ZSA9IHY7XG4gICAgfVxuICAgIGdldCBhdXRvY29tcGxldGUoKTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRvY29tcGxldGUgPz8gJyc7XG4gICAgfVxuICAgIC8vc2hvdWxkIHNob3cgYXV0b2NvbXBsZXRlXG4gICAgZ2V0IHNob3VsZERpc3BsYXlBdXRvY29tcGxldGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiBCb29sZWFuKHRoaXMuYXV0b2NvbXBsZXRlKTtcbiAgICB9XG4gICAgLy9hdXRvY29tcGxldGUgZXZlbnRcbiAgICBAT3V0cHV0KCdhY2NlcHRBdXRvY29tcGxldGUnKSBhY2NlcHRBdXRvY29tcGxldGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8vISBwcmVmaXggJiBzdWZmaXhcbiAgICBAQ29udGVudENoaWxkKEFyZElucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgICBvdmVycmlkZSBwcmVmaXhUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZChBcmRJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gICAgb3ZlcnJpZGUgc3VmZml4VGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLy8hIHBsYWNlaG9sZGVyXG4gICAgQENvbnRlbnRDaGlsZChBcmRJbnB1dFBsYWNlaG9sZGVyVGVtcGxhdGVEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgICBvdmVycmlkZSBwbGFjZWhvbGRlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8vISBzdWdnZXN0aW9uc1xuICAgIHN1Z2dlc3Rpb25TdG9yYWdlID0gbmV3IFNpbXBsZXN0SXRlbVN0b3JhZ2UodGhpcyk7XG5cbiAgICBASW5wdXQoJ3N1Z2dWYWx1ZUZyb20nKSB2YWx1ZUZyb20/OiBzdHJpbmc7XG4gICAgQElucHV0KCdzdWdnTGFiZWxGcm9tJykgbGFiZWxGcm9tPzogc3RyaW5nO1xuXG4gICAgQE91dHB1dCgnYWNjZXB0U3VnZ2VzdGlvbicpIGFjY2VwdFN1Z2dlc3Rpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgZ2V0IHN1Z2dlc3Rpb25JdGVtcygpOiBhbnlbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN1Z2dlc3Rpb25TdG9yYWdlLml0ZW1zO1xuICAgIH1cbiAgICBASW5wdXQoKVxuICAgIHNldCBzdWdnZXN0aW9ucyh2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHZhbHVlID0gY29lcmNlQXJyYXlQcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICAgICAgbGV0IHNob3VsZFByaW50RXJyb3JzID0gdGhpcy5zdWdnZXN0aW9uU3RvcmFnZS5zZXRJdGVtcyh2YWx1ZSk7XG5cbiAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbkRyb3Bkb3dPcGVuID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zdWdnZXN0aW9uU3RvcmFnZS5oaWdobGlnaHRGaXJzdEl0ZW0oKTtcblxuICAgICAgICBpZiAoc2hvdWxkUHJpbnRFcnJvcnMpIHtcbiAgICAgICAgICAgIHRoaXMuX3ByaW50UHJpbWl0aXZlV2FybmluZ3MoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIF9wcmludFByaW1pdGl2ZVdhcm5pbmdzKCkge1xuICAgICAgICBmdW5jdGlvbiBtYWtlV2FybmluZyhzdHI6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGBTa2lwcGVkIHVzaW5nIFske3N0cn1dIHByb3BlcnR5IGJvdW5kIHRvIDxhcmQtaW5wdXQ+LCBhcyBzb21lIHByb3ZpZGVkIHN1Z2dlc3Rpb24gaXRlbXMgYXJlIG9mIHByaW1pdGl2ZSB0eXBlYCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudmFsdWVGcm9tKSB7XG4gICAgICAgICAgICBtYWtlV2FybmluZygndmFsdWVGcm9tJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubGFiZWxGcm9tKSB7XG4gICAgICAgICAgICBtYWtlV2FybmluZygnbGFiZWxGcm9tJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9zdWdnZXN0aW9uRHJvcGRvd09wZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGdldCBzaG91bGREaXNwbGF5U3VnZ2VzdGlvbnMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiAodGhpcy5zdWdnZXN0aW9uSXRlbXMubGVuZ3RoID4gMCB8fCB0aGlzLmFyZVN1Z2dlc3Rpb25zTG9hZGluZykgJiYgdGhpcy5fc3VnZ2VzdGlvbkRyb3Bkb3dPcGVuO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGFyZVN1Z2dlc3Rpb25zTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHN1Z2dlc3Rpb25zTG9hZGluZ1RleHQ6IHN0cmluZyA9IHRoaXMuREVGQVVMVFMuc3VnZ2VzdGlvbnNMb2FkaW5nVGV4dDtcblxuICAgIEBDb250ZW50Q2hpbGQoQXJkU3VnZ2VzdGlvblRlbXBsYXRlRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gICAgc3VnZ2VzdGlvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKEFyZElucHV0TG9hZGluZ1RlbXBsYXRlRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gICAgc3VnZ2VzdGlvbkxvYWRpbmdUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvLyEgc3VnZ2VzdGlvbnMgb3ZlcmxheVxuICAgIEBWaWV3Q2hpbGQoJ3N1Z2dlc3Rpb25zSG9zdCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIGRyb3Bkb3duSG9zdCE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ3N1Z2dlc3Rpb25zVGVtcGxhdGUnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gICAgZHJvcGRvd25UZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBwcml2YXRlIGRyb3Bkb3duT3ZlcmxheSE6IE92ZXJsYXlSZWY7XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5kcm9wZG93bkhvc3QpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgICAgICAgICB9IGFzIENvbm5lY3RlZFBvc2l0aW9uLFxuICAgICAgICAgICAgXSlcbiAgICAgICAgICAgIC53aXRoUHVzaChmYWxzZSk7XG5cbiAgICAgICAgY29uc3QgY29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneTogc3RyYXRlZ3ksXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5zY3JvbGxTdHJhdGVneU9wdHMuYmxvY2soKSxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5kcm9wZG93bk92ZXJsYXkgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKGNvbmZpZyk7XG5cbiAgICAgICAgdGhpcy5kcm9wZG93bk92ZXJsYXk7XG5cbiAgICAgICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuZHJvcGRvd25UZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5kcm9wZG93bk92ZXJsYXkuYXR0YWNoKHBvcnRhbCk7XG5cbiAgICAgICAgdGhpcy5zZXRPdmVybGF5U2l6ZSgpO1xuICAgIH1cblxuICAgIHNldE92ZXJsYXlTaXplKCk6IHZvaWQge1xuICAgICAgICBjb25zdCByZWN0ID0gdGhpcy5kcm9wZG93bkhvc3QubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgdGhpcy5kcm9wZG93bk92ZXJsYXkudXBkYXRlU2l6ZSh7IHdpZHRoOiByZWN0LndpZHRoIH0pO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxuICAgIG9uV2luZG93UmVzaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldE92ZXJsYXlTaXplKCk7XG4gICAgfVxuXG4gICAgZ2V0T3B0aW9uQ29udGV4dChpdGVtOiBBcmRTaW1wbGVzdFN0b3JhZ2VJdGVtKTogT3B0aW9uQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0sXG4gICAgICAgICAgICBpdGVtLFxuICAgICAgICAgICAgaXRlbURhdGE6IGl0ZW0uaXRlbURhdGEsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLy8hIHN1Z2dlc3Rpb24taGlnaGxpZ2gtcmVsYXRlZFxuICAgIHByaXZhdGUgX2lzTW91c2VCZWluZ1VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZW1vdmUnKVxuICAgIG9uTW91c2VNb3ZlKCkge1xuICAgICAgICB0aGlzLl9pc01vdXNlQmVpbmdVc2VkID0gdHJ1ZTtcbiAgICB9XG4gICAgb25TdWdnZXN0aW9uTW91c2VFbnRlcihpdGVtOiBBcmRTaW1wbGVzdFN0b3JhZ2VJdGVtLCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2lzTW91c2VCZWluZ1VzZWQpIHJldHVybjtcbiAgICAgICAgdGhpcy5zdWdnZXN0aW9uU3RvcmFnZS5oaWdobGlnaHRJdGVtKGl0ZW0pO1xuXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgICBvblN1Z2dlc3Rpb25Nb3VzZUxlYXZlKGl0ZW06IEFyZFNpbXBsZXN0U3RvcmFnZUl0ZW0sIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5faXNNb3VzZUJlaW5nVXNlZCkgcmV0dXJuO1xuICAgICAgICB0aGlzLnN1Z2dlc3Rpb25TdG9yYWdlLnVuaGlnaGxpZ2h0SXRlbShpdGVtKTtcblxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvLyEgc3VnZ2VzdGlvbiBzZWxlY3Rpb25cbiAgICBzZWxlY3RTdWdnZXN0aW9uKGl0ZW06IEFyZFNpbXBsZXN0U3RvcmFnZUl0ZW0sIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIHRoaXMuX3NlbGVjdFN1Z2dlc3Rpb24oaXRlbSk7XG4gICAgfVxuICAgIHByaXZhdGUgX3NlbGVjdFN1Z2dlc3Rpb24oaXRlbTogQXJkU2ltcGxlc3RTdG9yYWdlSXRlbSk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuc3VnZ2VzdGlvblN0b3JhZ2Uuc2VsZWN0SXRlbShpdGVtKTtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKHNlbGVjdGVkID8/ICcnKTtcblxuICAgICAgICB0aGlzLmFjY2VwdFN1Z2dlc3Rpb25FdmVudC5uZXh0KHNlbGVjdGVkKTtcblxuICAgICAgICAvL2ltcG9ydGFudCB0byBkbyB0aG9zZSB0d28gdGhpbmdzIGluIHRoaXMgZXhhY3Qgb3JkZXJcbiAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgICB0aGlzLl9zdWdnZXN0aW9uRHJvcGRvd09wZW4gPSBmYWxzZTtcbiAgICB9XG4gICAgaGFuZGxlU3VnZ2VzdGlvbkNsaWNrT3V0c2lkZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2hvdWxkRGlzcGxheVN1Z2dlc3Rpb25zKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHJldHVybjtcblxuICAgICAgICB0aGlzLl9zdWdnZXN0aW9uRHJvcGRvd09wZW4gPSBmYWxzZTtcbiAgICB9XG4gICAgLy8hIHN1Z2dlc3Rpb24gYXBwZWFyYW5jZVxuICAgIHByaXZhdGUgX2Ryb3Bkb3duQXBwZWFyYW5jZT86IERyb3Bkb3duUGFuZWxBcHBlYXJhbmNlID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRyb3Bkb3dvbkFwcGVhcmFuY2UodjogRHJvcGRvd25QYW5lbEFwcGVhcmFuY2UpIHtcbiAgICAgICAgdGhpcy5fZHJvcGRvd25BcHBlYXJhbmNlID0gdjtcbiAgICB9XG4gICAgZ2V0IGRyb3Bkb3duQXBwZWFyYW5jZSgpOiBEcm9wZG93blBhbmVsQXBwZWFyYW5jZSB7XG4gICAgICAgIGlmICh0aGlzLl9kcm9wZG93bkFwcGVhcmFuY2UpIHJldHVybiB0aGlzLl9kcm9wZG93bkFwcGVhcmFuY2U7XG4gICAgICAgIGlmICh0aGlzLmFwcGVhcmFuY2UgPT0gRm9ybUVsZW1lbnRBcHBlYXJhbmNlLk91dGxpbmVkKSByZXR1cm4gRHJvcGRvd25QYW5lbEFwcGVhcmFuY2UuT3V0bGluZWQ7XG4gICAgICAgIHJldHVybiBEcm9wZG93blBhbmVsQXBwZWFyYW5jZS5SYWlzZWQ7XG4gICAgfVxuICAgIHByaXZhdGUgX2Ryb3Bkb3duVmFyaWFudD86IERyb3Bkb3duUGFuZWxWYXJpYW50ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRyb3Bkb3dvblZhcmlhbnQodjogRHJvcGRvd25QYW5lbFZhcmlhbnQpIHtcbiAgICAgICAgdGhpcy5fZHJvcGRvd25WYXJpYW50ID0gdjtcbiAgICB9XG4gICAgZ2V0IGRyb3Bkb3duVmFyaWFudCgpOiBEcm9wZG93blBhbmVsVmFyaWFudCB7XG4gICAgICAgIGlmICh0aGlzLl9kcm9wZG93blZhcmlhbnQpIHJldHVybiB0aGlzLl9kcm9wZG93blZhcmlhbnQ7XG4gICAgICAgIGlmICh0aGlzLnZhcmlhbnQgPT0gRm9ybUVsZW1lbnRWYXJpYW50LlBpbGwpIHJldHVybiBEcm9wZG93blBhbmVsVmFyaWFudC5Sb3VuZGVkO1xuICAgICAgICByZXR1cm4gdGhpcy52YXJpYW50O1xuICAgIH1cblxuICAgIC8vISBmb2N1cyBvdmVycmlkZVxuICAgIG92ZXJyaWRlIG9uRm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbkRyb3Bkb3dPcGVuID0gdHJ1ZTtcbiAgICAgICAgaWYgKCF0aGlzLnN1Z2dlc3Rpb25TdG9yYWdlLmhpZ2hsaWdodGVkSXRlbSkgdGhpcy5zdWdnZXN0aW9uU3RvcmFnZS5oaWdobGlnaHRGaXJzdEl0ZW0oKTtcblxuICAgICAgICBzdXBlci5vbkZvY3VzKGV2ZW50KTtcbiAgICB9XG5cbiAgICAvLyEga2V5IHByZXNzIGhhbmRsZXJzXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgb25LZXlQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LmNvZGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ0VudGVyJzoge1xuICAgICAgICAgICAgICAgIHRoaXMuX29uVGFiT3JFbnRlclByZXNzKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLl9vbkVudGVyUHJlc3MoZXZlbnQpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ1RhYic6IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9vblRhYk9yRW50ZXJQcmVzcyhldmVudCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnQXJyb3dEb3duJzoge1xuICAgICAgICAgICAgICAgIHRoaXMuX29uQXJyb3dEb3duUHJlc3MoZXZlbnQpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ0Fycm93VXAnOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25BcnJvd1VwUHJlc3MoZXZlbnQpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBwcm90ZWN0ZWQgX29uVGFiT3JFbnRlclByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zaG91bGREaXNwbGF5QXV0b2NvbXBsZXRlKSByZXR1cm47XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgdGhpcy5vbklucHV0KHRoaXMuYXV0b2NvbXBsZXRlID8/ICcnKTtcbiAgICAgICAgdGhpcy5hY2NlcHRBdXRvY29tcGxldGVFdmVudC5lbWl0KCk7XG4gICAgfVxuICAgIHByaXZhdGUgX29uRW50ZXJQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2hvdWxkRGlzcGxheVN1Z2dlc3Rpb25zKSByZXR1cm47XG4gICAgICAgIGlmICghdGhpcy5zdWdnZXN0aW9uU3RvcmFnZS5oaWdobGlnaHRlZEl0ZW0pIHJldHVybjtcblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLl9zZWxlY3RTdWdnZXN0aW9uKHRoaXMuc3VnZ2VzdGlvblN0b3JhZ2UuaGlnaGxpZ2h0ZWRJdGVtKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfb25BcnJvd0Rvd25QcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2hvdWxkRGlzcGxheVN1Z2dlc3Rpb25zKSByZXR1cm47XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgdGhpcy5faXNNb3VzZUJlaW5nVXNlZCA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuc3VnZ2VzdGlvblN0b3JhZ2UuaGlnaGxpZ2h0TmV4dEl0ZW0oKzEpO1xuICAgIH1cbiAgICBwcml2YXRlIF9vbkFycm93VXBQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2hvdWxkRGlzcGxheVN1Z2dlc3Rpb25zKSByZXR1cm47XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgdGhpcy5faXNNb3VzZUJlaW5nVXNlZCA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuc3VnZ2VzdGlvblN0b3JhZ2UuaGlnaGxpZ2h0TmV4dEl0ZW0oLTEpO1xuICAgIH1cbn1cbiIsIjxhcmQtZm9ybS1maWVsZC1mcmFtZVxyXG4gICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXHJcbiAgICBbdmFyaWFudF09XCJ2YXJpYW50XCJcclxuICAgIFtjb21wYWN0XT1cImNvbXBhY3RcIlxyXG4gICAgW2lzRm9jdXNlZF09XCJpc0ZvY3VzZWRcIlxyXG4gICAgW3ByZWZpeFRlbXBsYXRlXT1cInByZWZpeFRlbXBsYXRlXCJcclxuICAgIFtzdWZmaXhUZW1wbGF0ZV09XCJzdWZmaXhUZW1wbGF0ZVwiXHJcbj5cclxuICAgIDxkaXYgY2xhc3M9XCJhcmQtaW5wdXRcIlxyXG4gICAgICAgICNzdWdnZXN0aW9uc0hvc3RcclxuICAgICAgICBbbmdDbGFzc109XCJuZ0NsYXNzZXNcIlxyXG4gICAgICAgIFtjbGFzcy5hcmQtaGFzLXZhbHVlXT1cInZhbHVlXCJcclxuICAgICAgICAoY2xpY2spPVwiZm9jdXMoKVwiXHJcbiAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1pbnB1dC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1hdXRvY29tcGxldGVcIiAqbmdJZj1cInNob3VsZERpc3BsYXlBdXRvY29tcGxldGVcIj57eyBhdXRvY29tcGxldGUgfX08L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG91bGREaXNwbGF5UGxhY2Vob2xkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFBsYWNlaG9sZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1wbGFjZWhvbGRlclwiPnt7IHBsYWNlaG9sZGVyIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJwbGFjZWhvbGRlclRlbXBsYXRlIHx8IGRlZmF1bHRQbGFjZWhvbGRlclRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8aW5wdXQgI3RleHRJbnB1dFxyXG4gICAgICAgICAgICAgICAgI2ZvY3VzYWJsZUVsZW1lbnRcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImlucHV0SWRcIlxyXG4gICAgICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAoaW5wdXQpPVwib25JbnB1dCh0ZXh0SW5wdXQudmFsdWUpXCJcclxuICAgICAgICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgKGNvcHkpPVwib25Db3B5KCRldmVudClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxhcmQtX2NsZWFyLWJ1dHRvblxyXG4gICAgICAgICAgICAqbmdJZj1cInNob3VsZFNob3dDbGVhckJ1dHRvblwiXHJcbiAgICAgICAgICAgIFt0aXRsZV09XCJjbGVhckJ1dHRvblRpdGxlXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xlYXJCdXR0b25DbGljaygkZXZlbnQpXCJcclxuICAgICAgICA+PC9hcmQtX2NsZWFyLWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG48L2FyZC1mb3JtLWZpZWxkLWZyYW1lPlxyXG5cclxuPG5nLXRlbXBsYXRlICNzdWdnZXN0aW9uc1RlbXBsYXRlPlxyXG4gICAgPGFyZC1kcm9wZG93bi1wYW5lbFxyXG4gICAgICAgIGNsYXNzPVwiYXJkLWRyb3Bkb3duLXBhbmVsIGFyZC1pbnB1dC1zdWdnZXN0aW9ucy1wYW5lbFwiXHJcbiAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxyXG4gICAgICAgIFtjb21wYWN0XT1cImNvbXBhY3RcIlxyXG4gICAgICAgIGFyaWEtbGFiZWw9XCJTdWdnZXN0aW9uc1wiXHJcbiAgICAgICAgW2FwcGVhcmFuY2VdPVwiZHJvcGRvd25BcHBlYXJhbmNlXCJcclxuICAgICAgICBbdmFyaWFudF09XCJkcm9wZG93blZhcmlhbnRcIlxyXG4gICAgICAgIFtpc09wZW5dPVwic2hvdWxkRGlzcGxheVN1Z2dlc3Rpb25zXCJcclxuICAgICAgICAoYXJkQ2xpY2tPdXRzaWRlKT1cImhhbmRsZVN1Z2dlc3Rpb25DbGlja091dHNpZGUoJGV2ZW50KVwiXHJcbiAgICAgICAgKG1vdXNlbW92ZSk9XCJvbk1vdXNlTW92ZSgpXCJcclxuICAgID5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiYXJkLW9wdGlvblwiXHJcbiAgICAgICAgICAgIHJvbGU9XCJvcHRpb25cIlxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzdWdnZXN0aW9uSXRlbXNcIlxyXG4gICAgICAgICAgICBbY2xhc3MuYXJkLW9wdGlvbi1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcclxuICAgICAgICAgICAgW2NsYXNzLmFyZC1vcHRpb24tc2VsZWN0ZWRdPVwiaXRlbS5zZWxlY3RlZFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5hcmQtb3B0aW9uLWhpZ2hsaWdodGVkXT1cIml0ZW0uaGlnaGxpZ2h0ZWRcIlxyXG4gICAgICAgICAgICBbY2xhc3MuYXJkLW9wdGlvbi1oaWdobGlnaHRlZC1yZWNlbnRdPVwiaXRlbS5oaWdobGlnaHRlZF9yZWNlbnRseVwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXRlbS5zZWxlY3RlZFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RTdWdnZXN0aW9uKGl0ZW0sICRldmVudClcIlxyXG4gICAgICAgICAgICAobW91c2VlbnRlcik9XCJvblN1Z2dlc3Rpb25Nb3VzZUVudGVyKGl0ZW0sICRldmVudClcIlxyXG4gICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJvblN1Z2dlc3Rpb25Nb3VzZUxlYXZlKGl0ZW0sICRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcmQtb3B0aW9uLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRPcHRpb25UZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICB7e2l0ZW0ubGFiZWx9fVxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJzdWdnZXN0aW9uVGVtcGxhdGUgfHwgZGVmYXVsdE9wdGlvblRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0T3B0aW9uQ29udGV4dChpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXJlU3VnZ2VzdGlvbnNMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdExvYWRpbmdQbGFjZWhvbGRlclRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1vcHRpb24gYXJkLW9wdGlvbi1kaXNhYmxlZFwiPnt7c3VnZ2VzdGlvbnNMb2FkaW5nVGV4dH19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJzdWdnZXN0aW9uTG9hZGluZ1RlbXBsYXRlIHx8IGRlZmF1bHRMb2FkaW5nUGxhY2Vob2xkZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2FyZC1kcm9wZG93bi1wYW5lbD5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ArdSuggestionTemplateDirective {
|
|
4
|
+
constructor(template) {
|
|
5
|
+
this.template = template;
|
|
6
|
+
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdSuggestionTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ArdSuggestionTemplateDirective, selector: "ard-input > ng-template[ard-suggestion-tmp]", ngImport: i0 }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdSuggestionTemplateDirective, decorators: [{
|
|
11
|
+
type: Directive,
|
|
12
|
+
args: [{ selector: 'ard-input > ng-template[ard-suggestion-tmp]' }]
|
|
13
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
14
|
+
export class ArdInputPlaceholderTemplateDirective {
|
|
15
|
+
constructor(template) {
|
|
16
|
+
this.template = template;
|
|
17
|
+
}
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdInputPlaceholderTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
19
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ArdInputPlaceholderTemplateDirective, selector: "ard-input > ng-template[ard-placeholder-tmp]", ngImport: i0 }); }
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdInputPlaceholderTemplateDirective, decorators: [{
|
|
22
|
+
type: Directive,
|
|
23
|
+
args: [{ selector: 'ard-input > ng-template[ard-placeholder-tmp]' }]
|
|
24
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
25
|
+
export class ArdInputLoadingTemplateDirective {
|
|
26
|
+
constructor(template) {
|
|
27
|
+
this.template = template;
|
|
28
|
+
}
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdInputLoadingTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
30
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ArdInputLoadingTemplateDirective, selector: "ard-input > ng-template[ard-loading-tmp]", ngImport: i0 }); }
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdInputLoadingTemplateDirective, decorators: [{
|
|
33
|
+
type: Directive,
|
|
34
|
+
args: [{ selector: 'ard-input > ng-template[ard-loading-tmp]' }]
|
|
35
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
36
|
+
export class ArdInputPrefixTemplateDirective {
|
|
37
|
+
constructor(template) {
|
|
38
|
+
this.template = template;
|
|
39
|
+
}
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdInputPrefixTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
41
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ArdInputPrefixTemplateDirective, selector: "ard-input > ng-template[ard-prefix-tmp]", ngImport: i0 }); }
|
|
42
|
+
}
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdInputPrefixTemplateDirective, decorators: [{
|
|
44
|
+
type: Directive,
|
|
45
|
+
args: [{ selector: 'ard-input > ng-template[ard-prefix-tmp]' }]
|
|
46
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
47
|
+
export class ArdInputSuffixTemplateDirective {
|
|
48
|
+
constructor(template) {
|
|
49
|
+
this.template = template;
|
|
50
|
+
}
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdInputSuffixTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
52
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ArdInputSuffixTemplateDirective, selector: "ard-input > ng-template[ard-suffix-tmp]", ngImport: i0 }); }
|
|
53
|
+
}
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdInputSuffixTemplateDirective, decorators: [{
|
|
55
|
+
type: Directive,
|
|
56
|
+
args: [{ selector: 'ard-input > ng-template[ard-suffix-tmp]' }]
|
|
57
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvaW5wdXRzL2lucHV0L2lucHV0LmRpcmVjdGl2ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFJdkQsTUFBTSxPQUFPLDhCQUE4QjtJQUN2QyxZQUFtQixRQUFvQztRQUFwQyxhQUFRLEdBQVIsUUFBUSxDQUE0QjtJQUFHLENBQUM7OEdBRGxELDhCQUE4QjtrR0FBOUIsOEJBQThCOzsyRkFBOUIsOEJBQThCO2tCQUQxQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLDZDQUE2QyxFQUFFOztBQU10RSxNQUFNLE9BQU8sb0NBQW9DO0lBQzdDLFlBQW1CLFFBQWdDO1FBQWhDLGFBQVEsR0FBUixRQUFRLENBQXdCO0lBQUcsQ0FBQzs4R0FEOUMsb0NBQW9DO2tHQUFwQyxvQ0FBb0M7OzJGQUFwQyxvQ0FBb0M7a0JBRGhELFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsOENBQThDLEVBQUU7O0FBTXZFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFDekMsWUFBbUIsUUFBZ0M7UUFBaEMsYUFBUSxHQUFSLFFBQVEsQ0FBd0I7SUFBRyxDQUFDOzhHQUQ5QyxnQ0FBZ0M7a0dBQWhDLGdDQUFnQzs7MkZBQWhDLGdDQUFnQztrQkFENUMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSwwQ0FBMEMsRUFBRTs7QUFNbkUsTUFBTSxPQUFPLCtCQUErQjtJQUN4QyxZQUFtQixRQUFnQztRQUFoQyxhQUFRLEdBQVIsUUFBUSxDQUF3QjtJQUFHLENBQUM7OEdBRDlDLCtCQUErQjtrR0FBL0IsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQUQzQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHlDQUF5QyxFQUFFOztBQU1sRSxNQUFNLE9BQU8sK0JBQStCO0lBQ3hDLFlBQW1CLFFBQWdDO1FBQWhDLGFBQVEsR0FBUixRQUFRLENBQXdCO0lBQUcsQ0FBQzs4R0FEOUMsK0JBQStCO2tHQUEvQiwrQkFBK0I7OzJGQUEvQiwrQkFBK0I7a0JBRDNDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUseUNBQXlDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPcHRpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vdHlwZXMvaXRlbS1zdG9yYWdlLnR5cGVzJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnYXJkLWlucHV0ID4gbmctdGVtcGxhdGVbYXJkLXN1Z2dlc3Rpb24tdG1wXScgfSlcbmV4cG9ydCBjbGFzcyBBcmRTdWdnZXN0aW9uVGVtcGxhdGVEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8T3B0aW9uQ29udGV4dD4pIHt9XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2FyZC1pbnB1dCA+IG5nLXRlbXBsYXRlW2FyZC1wbGFjZWhvbGRlci10bXBdJyB9KVxuZXhwb3J0IGNsYXNzIEFyZElucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSB7XG4gICAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmRlZmluZWQ+KSB7fVxufVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdhcmQtaW5wdXQgPiBuZy10ZW1wbGF0ZVthcmQtbG9hZGluZy10bXBdJyB9KVxuZXhwb3J0IGNsYXNzIEFyZElucHV0TG9hZGluZ1RlbXBsYXRlRGlyZWN0aXZlIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVuZGVmaW5lZD4pIHt9XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2FyZC1pbnB1dCA+IG5nLXRlbXBsYXRlW2FyZC1wcmVmaXgtdG1wXScgfSlcbmV4cG9ydCBjbGFzcyBBcmRJbnB1dFByZWZpeFRlbXBsYXRlRGlyZWN0aXZlIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVuZGVmaW5lZD4pIHt9XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2FyZC1pbnB1dCA+IG5nLXRlbXBsYXRlW2FyZC1zdWZmaXgtdG1wXScgfSlcbmV4cG9ydCBjbGFzcyBBcmRJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVuZGVmaW5lZD4pIHt9XG59XG4iXX0=
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { ArdiumClickOutsideEventModule } from '@ardium-ui/devkit';
|
|
4
|
+
import { ArdiumDropdownPanelModule } from '../../dropdown-panel/dropdown-panel.module';
|
|
5
|
+
import { ArdiumFormFieldFrameModule } from '../../form-field-frame/form-field-frame.module';
|
|
6
|
+
import { _ClearButtonModule } from '../../_internal/clear-button/clear-button.module';
|
|
7
|
+
import { ArdiumInputComponent } from './input.component';
|
|
8
|
+
import { ArdInputLoadingTemplateDirective, ArdInputPlaceholderTemplateDirective, ArdInputPrefixTemplateDirective, ArdInputSuffixTemplateDirective, ArdSuggestionTemplateDirective, } from './input.directives';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class ArdiumInputModule {
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: ArdiumInputModule, declarations: [ArdiumInputComponent,
|
|
13
|
+
ArdSuggestionTemplateDirective,
|
|
14
|
+
ArdInputPlaceholderTemplateDirective,
|
|
15
|
+
ArdInputLoadingTemplateDirective,
|
|
16
|
+
ArdInputPrefixTemplateDirective,
|
|
17
|
+
ArdInputSuffixTemplateDirective], imports: [CommonModule, ArdiumFormFieldFrameModule, _ClearButtonModule, ArdiumDropdownPanelModule, ArdiumClickOutsideEventModule], exports: [ArdiumInputComponent,
|
|
18
|
+
ArdSuggestionTemplateDirective,
|
|
19
|
+
ArdInputPlaceholderTemplateDirective,
|
|
20
|
+
ArdInputLoadingTemplateDirective,
|
|
21
|
+
ArdInputPrefixTemplateDirective,
|
|
22
|
+
ArdInputSuffixTemplateDirective] }); }
|
|
23
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumInputModule, imports: [CommonModule, ArdiumFormFieldFrameModule, _ClearButtonModule, ArdiumDropdownPanelModule, ArdiumClickOutsideEventModule] }); }
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumInputModule, decorators: [{
|
|
26
|
+
type: NgModule,
|
|
27
|
+
args: [{
|
|
28
|
+
declarations: [
|
|
29
|
+
ArdiumInputComponent,
|
|
30
|
+
ArdSuggestionTemplateDirective,
|
|
31
|
+
ArdInputPlaceholderTemplateDirective,
|
|
32
|
+
ArdInputLoadingTemplateDirective,
|
|
33
|
+
ArdInputPrefixTemplateDirective,
|
|
34
|
+
ArdInputSuffixTemplateDirective,
|
|
35
|
+
],
|
|
36
|
+
imports: [CommonModule, ArdiumFormFieldFrameModule, _ClearButtonModule, ArdiumDropdownPanelModule, ArdiumClickOutsideEventModule],
|
|
37
|
+
exports: [
|
|
38
|
+
ArdiumInputComponent,
|
|
39
|
+
ArdSuggestionTemplateDirective,
|
|
40
|
+
ArdInputPlaceholderTemplateDirective,
|
|
41
|
+
ArdInputLoadingTemplateDirective,
|
|
42
|
+
ArdInputPrefixTemplateDirective,
|
|
43
|
+
ArdInputSuffixTemplateDirective,
|
|
44
|
+
],
|
|
45
|
+
}]
|
|
46
|
+
}] });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvaW5wdXQvaW5wdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFDSCxnQ0FBZ0MsRUFDaEMsb0NBQW9DLEVBQ3BDLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IsOEJBQThCLEdBQ2pDLE1BQU0sb0JBQW9CLENBQUM7O0FBcUI1QixNQUFNLE9BQU8saUJBQWlCOzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFqQnRCLG9CQUFvQjtZQUNwQiw4QkFBOEI7WUFDOUIsb0NBQW9DO1lBQ3BDLGdDQUFnQztZQUNoQywrQkFBK0I7WUFDL0IsK0JBQStCLGFBRXpCLFlBQVksRUFBRSwwQkFBMEIsRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSw2QkFBNkIsYUFFNUgsb0JBQW9CO1lBQ3BCLDhCQUE4QjtZQUM5QixvQ0FBb0M7WUFDcEMsZ0NBQWdDO1lBQ2hDLCtCQUErQjtZQUMvQiwrQkFBK0I7K0dBRzFCLGlCQUFpQixZQVZoQixZQUFZLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsNkJBQTZCOzsyRkFVdkgsaUJBQWlCO2tCQW5CN0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1Ysb0JBQW9CO3dCQUNwQiw4QkFBOEI7d0JBQzlCLG9DQUFvQzt3QkFDcEMsZ0NBQWdDO3dCQUNoQywrQkFBK0I7d0JBQy9CLCtCQUErQjtxQkFDbEM7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLDBCQUEwQixFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLDZCQUE2QixDQUFDO29CQUNqSSxPQUFPLEVBQUU7d0JBQ0wsb0JBQW9CO3dCQUNwQiw4QkFBOEI7d0JBQzlCLG9DQUFvQzt3QkFDcEMsZ0NBQWdDO3dCQUNoQywrQkFBK0I7d0JBQy9CLCtCQUErQjtxQkFDbEM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFyZGl1bUNsaWNrT3V0c2lkZUV2ZW50TW9kdWxlIH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xuaW1wb3J0IHsgQXJkaXVtRHJvcGRvd25QYW5lbE1vZHVsZSB9IGZyb20gJy4uLy4uL2Ryb3Bkb3duLXBhbmVsL2Ryb3Bkb3duLXBhbmVsLm1vZHVsZSc7XG5pbXBvcnQgeyBBcmRpdW1Gb3JtRmllbGRGcmFtZU1vZHVsZSB9IGZyb20gJy4uLy4uL2Zvcm0tZmllbGQtZnJhbWUvZm9ybS1maWVsZC1mcmFtZS5tb2R1bGUnO1xuaW1wb3J0IHsgX0NsZWFyQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vX2ludGVybmFsL2NsZWFyLWJ1dHRvbi9jbGVhci1idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IEFyZGl1bUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBBcmRJbnB1dExvYWRpbmdUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBBcmRJbnB1dFBsYWNlaG9sZGVyVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgQXJkSW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBBcmRJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIEFyZFN1Z2dlc3Rpb25UZW1wbGF0ZURpcmVjdGl2ZSxcbn0gZnJvbSAnLi9pbnB1dC5kaXJlY3RpdmVzJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgQXJkaXVtSW5wdXRDb21wb25lbnQsXG4gICAgICAgIEFyZFN1Z2dlc3Rpb25UZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgQXJkSW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlLFxuICAgICAgICBBcmRJbnB1dExvYWRpbmdUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgQXJkSW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgQXJkSW5wdXRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEFyZGl1bUZvcm1GaWVsZEZyYW1lTW9kdWxlLCBfQ2xlYXJCdXR0b25Nb2R1bGUsIEFyZGl1bURyb3Bkb3duUGFuZWxNb2R1bGUsIEFyZGl1bUNsaWNrT3V0c2lkZUV2ZW50TW9kdWxlXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEFyZGl1bUlucHV0Q29tcG9uZW50LFxuICAgICAgICBBcmRTdWdnZXN0aW9uVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgICAgIEFyZElucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgQXJkSW5wdXRMb2FkaW5nVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgICAgIEFyZElucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgICAgIEFyZElucHV0U3VmZml4VGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXJkaXVtSW5wdXRNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export class RegExpTransformer {
|
|
2
|
+
constructor(regex, replace = '', caretModif = 0) {
|
|
3
|
+
this.regex = regex;
|
|
4
|
+
this.replace = replace;
|
|
5
|
+
this.caretModif = caretModif;
|
|
6
|
+
}
|
|
7
|
+
apply(currentText, previousText, caretPos) {
|
|
8
|
+
let text = currentText;
|
|
9
|
+
if (text && this.regex) {
|
|
10
|
+
let safetySwitch = 0;
|
|
11
|
+
while (text.match(this.regex)) {
|
|
12
|
+
//prevent infinite loop
|
|
13
|
+
if (safetySwitch > 999) {
|
|
14
|
+
console.error(this, new Error('Possible infinite loop in the above RegExpTransformer. Exited after 1000 iterations.'));
|
|
15
|
+
break;
|
|
16
|
+
}
|
|
17
|
+
//apply regex
|
|
18
|
+
let lengthBefore = text.length;
|
|
19
|
+
text = text.replace(this.regex, this.replace);
|
|
20
|
+
let lengthAfter = text.length;
|
|
21
|
+
//fix caret pos
|
|
22
|
+
caretPos = caretPos + (lengthAfter - lengthBefore);
|
|
23
|
+
//for infinite loop prevention
|
|
24
|
+
safetySwitch++;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return { text, caretPos };
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const toUpper = (currentText, previousText, caretPos) => {
|
|
31
|
+
return { text: currentText.toUpperCase(), caretPos };
|
|
32
|
+
};
|
|
33
|
+
const toLower = (currentText, previousText, caretPos) => {
|
|
34
|
+
return { text: currentText.toLowerCase(), caretPos };
|
|
35
|
+
};
|
|
36
|
+
const int = (currentText, previousText, caretPos) => {
|
|
37
|
+
const regexes = [[/[^0-9-]/], [/(.+)-/, '$1']];
|
|
38
|
+
let obj = { text: currentText, caretPos };
|
|
39
|
+
for (const arr of regexes) {
|
|
40
|
+
let [regex, replace, caretModif] = arr;
|
|
41
|
+
obj = new RegExpTransformer(regex, replace, caretModif).apply(obj.text, previousText, obj.caretPos);
|
|
42
|
+
}
|
|
43
|
+
return obj;
|
|
44
|
+
};
|
|
45
|
+
const float = (currentText, previousText, caretPos) => {
|
|
46
|
+
const regexes = [
|
|
47
|
+
[/[^0-9,\.\-]/],
|
|
48
|
+
[/,/, '.'],
|
|
49
|
+
[/(.+)-/, '$1'],
|
|
50
|
+
[/\.(.*)\./, '$1.'],
|
|
51
|
+
[/^(-?)\./, '$10.'],
|
|
52
|
+
];
|
|
53
|
+
let obj = { text: currentText, caretPos };
|
|
54
|
+
for (const arr of regexes) {
|
|
55
|
+
let [regex, replace, caretModif] = arr;
|
|
56
|
+
obj = new RegExpTransformer(regex, replace, caretModif).apply(obj.text, previousText, obj.caretPos);
|
|
57
|
+
}
|
|
58
|
+
return obj;
|
|
59
|
+
};
|
|
60
|
+
export const ArdTransformer = {
|
|
61
|
+
ToUpper: toUpper,
|
|
62
|
+
ToLower: toLower,
|
|
63
|
+
Integer: int,
|
|
64
|
+
Float: float,
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdHJhbnNmb3JtZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvaW5wdXQtdHJhbnNmb3JtZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFDVyxLQUFhLEVBQ2IsVUFBa0IsRUFBRSxFQUNwQixhQUFxQixDQUFDO1FBRnRCLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFDOUIsQ0FBQztJQUVKLEtBQUssQ0FBQyxXQUFtQixFQUFFLFlBQW9CLEVBQUUsUUFBZ0I7UUFDN0QsSUFBSSxJQUFJLEdBQUcsV0FBVyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDcEIsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzNCLHVCQUF1QjtnQkFDdkIsSUFBSSxZQUFZLEdBQUcsR0FBRyxFQUFFO29CQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLEtBQUssQ0FBQyxzRkFBc0YsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZILE1BQU07aUJBQ1Q7Z0JBQ0QsYUFBYTtnQkFDYixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUMvQixJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDOUMsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDOUIsZUFBZTtnQkFDZixRQUFRLEdBQUcsUUFBUSxHQUFHLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxDQUFDO2dCQUNuRCw4QkFBOEI7Z0JBQzlCLFlBQVksRUFBRSxDQUFDO2FBQ2xCO1NBQ0o7UUFDRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxHQUFxQixDQUFDLFdBQW1CLEVBQUUsWUFBb0IsRUFBRSxRQUFnQixFQUFFLEVBQUU7SUFDOUYsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUM7QUFDekQsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxPQUFPLEdBQXFCLENBQUMsV0FBbUIsRUFBRSxZQUFvQixFQUFFLFFBQWdCLEVBQUUsRUFBRTtJQUM5RixPQUFPLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQztBQUN6RCxDQUFDLENBQUM7QUFDRixNQUFNLEdBQUcsR0FBcUIsQ0FBQyxXQUFtQixFQUFFLFlBQW9CLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO0lBQzFGLE1BQU0sT0FBTyxHQUErRCxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzRyxJQUFJLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDMUMsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUU7UUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ3ZDLEdBQUcsR0FBRyxJQUFJLGlCQUFpQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUN2RztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxLQUFLLEdBQXFCLENBQUMsV0FBbUIsRUFBRSxZQUFvQixFQUFFLFFBQWdCLEVBQUUsRUFBRTtJQUM1RixNQUFNLE9BQU8sR0FBK0Q7UUFDeEUsQ0FBQyxhQUFhLENBQUM7UUFDZixDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDVixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7UUFDZixDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUM7UUFDbkIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0tBQ3RCLENBQUM7SUFDRixJQUFJLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDMUMsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUU7UUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ3ZDLEdBQUcsR0FBRyxJQUFJLGlCQUFpQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUN2RztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzFCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLE9BQU8sRUFBRSxHQUFHO0lBQ1osS0FBSyxFQUFFLEtBQUs7Q0FDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQXJkVHJhbnNmb3JtZXJGbiA9IChjdXJyZW50VGV4dDogc3RyaW5nLCBwcmV2aW91c1RleHQ6IHN0cmluZywgY2FyZXRQb3M6IG51bWJlcikgPT4geyB0ZXh0OiBzdHJpbmc7IGNhcmV0UG9zOiBudW1iZXIgfTtcblxuaW50ZXJmYWNlIElSZWdFeHBUcmFuc2Zvcm1lciB7XG4gICAgYXBwbHk6IEFyZFRyYW5zZm9ybWVyRm47XG59XG5leHBvcnQgY2xhc3MgUmVnRXhwVHJhbnNmb3JtZXIgaW1wbGVtZW50cyBJUmVnRXhwVHJhbnNmb3JtZXIge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVnZXg6IFJlZ0V4cCxcbiAgICAgICAgcHVibGljIHJlcGxhY2U6IHN0cmluZyA9ICcnLFxuICAgICAgICBwdWJsaWMgY2FyZXRNb2RpZjogbnVtYmVyID0gMFxuICAgICkge31cblxuICAgIGFwcGx5KGN1cnJlbnRUZXh0OiBzdHJpbmcsIHByZXZpb3VzVGV4dDogc3RyaW5nLCBjYXJldFBvczogbnVtYmVyKTogeyB0ZXh0OiBzdHJpbmc7IGNhcmV0UG9zOiBudW1iZXIgfSB7XG4gICAgICAgIGxldCB0ZXh0ID0gY3VycmVudFRleHQ7XG4gICAgICAgIGlmICh0ZXh0ICYmIHRoaXMucmVnZXgpIHtcbiAgICAgICAgICAgIGxldCBzYWZldHlTd2l0Y2ggPSAwO1xuICAgICAgICAgICAgd2hpbGUgKHRleHQubWF0Y2godGhpcy5yZWdleCkpIHtcbiAgICAgICAgICAgICAgICAvL3ByZXZlbnQgaW5maW5pdGUgbG9vcFxuICAgICAgICAgICAgICAgIGlmIChzYWZldHlTd2l0Y2ggPiA5OTkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcih0aGlzLCBuZXcgRXJyb3IoJ1Bvc3NpYmxlIGluZmluaXRlIGxvb3AgaW4gdGhlIGFib3ZlIFJlZ0V4cFRyYW5zZm9ybWVyLiBFeGl0ZWQgYWZ0ZXIgMTAwMCBpdGVyYXRpb25zLicpKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vYXBwbHkgcmVnZXhcbiAgICAgICAgICAgICAgICBsZXQgbGVuZ3RoQmVmb3JlID0gdGV4dC5sZW5ndGg7XG4gICAgICAgICAgICAgICAgdGV4dCA9IHRleHQucmVwbGFjZSh0aGlzLnJlZ2V4LCB0aGlzLnJlcGxhY2UpO1xuICAgICAgICAgICAgICAgIGxldCBsZW5ndGhBZnRlciA9IHRleHQubGVuZ3RoO1xuICAgICAgICAgICAgICAgIC8vZml4IGNhcmV0IHBvc1xuICAgICAgICAgICAgICAgIGNhcmV0UG9zID0gY2FyZXRQb3MgKyAobGVuZ3RoQWZ0ZXIgLSBsZW5ndGhCZWZvcmUpO1xuICAgICAgICAgICAgICAgIC8vZm9yIGluZmluaXRlIGxvb3AgcHJldmVudGlvblxuICAgICAgICAgICAgICAgIHNhZmV0eVN3aXRjaCsrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHRleHQsIGNhcmV0UG9zIH07XG4gICAgfVxufVxuXG5jb25zdCB0b1VwcGVyOiBBcmRUcmFuc2Zvcm1lckZuID0gKGN1cnJlbnRUZXh0OiBzdHJpbmcsIHByZXZpb3VzVGV4dDogc3RyaW5nLCBjYXJldFBvczogbnVtYmVyKSA9PiB7XG4gICAgcmV0dXJuIHsgdGV4dDogY3VycmVudFRleHQudG9VcHBlckNhc2UoKSwgY2FyZXRQb3MgfTtcbn07XG5jb25zdCB0b0xvd2VyOiBBcmRUcmFuc2Zvcm1lckZuID0gKGN1cnJlbnRUZXh0OiBzdHJpbmcsIHByZXZpb3VzVGV4dDogc3RyaW5nLCBjYXJldFBvczogbnVtYmVyKSA9PiB7XG4gICAgcmV0dXJuIHsgdGV4dDogY3VycmVudFRleHQudG9Mb3dlckNhc2UoKSwgY2FyZXRQb3MgfTtcbn07XG5jb25zdCBpbnQ6IEFyZFRyYW5zZm9ybWVyRm4gPSAoY3VycmVudFRleHQ6IHN0cmluZywgcHJldmlvdXNUZXh0OiBzdHJpbmcsIGNhcmV0UG9zOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCByZWdleGVzOiAoW1JlZ0V4cF0gfCBbUmVnRXhwLCBzdHJpbmddIHwgW1JlZ0V4cCwgc3RyaW5nLCBudW1iZXJdKVtdID0gW1svW14wLTktXS9dLCBbLyguKyktLywgJyQxJ11dO1xuICAgIGxldCBvYmogPSB7IHRleHQ6IGN1cnJlbnRUZXh0LCBjYXJldFBvcyB9O1xuICAgIGZvciAoY29uc3QgYXJyIG9mIHJlZ2V4ZXMpIHtcbiAgICAgICAgbGV0IFtyZWdleCwgcmVwbGFjZSwgY2FyZXRNb2RpZl0gPSBhcnI7XG4gICAgICAgIG9iaiA9IG5ldyBSZWdFeHBUcmFuc2Zvcm1lcihyZWdleCwgcmVwbGFjZSwgY2FyZXRNb2RpZikuYXBwbHkob2JqLnRleHQsIHByZXZpb3VzVGV4dCwgb2JqLmNhcmV0UG9zKTtcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbn07XG5jb25zdCBmbG9hdDogQXJkVHJhbnNmb3JtZXJGbiA9IChjdXJyZW50VGV4dDogc3RyaW5nLCBwcmV2aW91c1RleHQ6IHN0cmluZywgY2FyZXRQb3M6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHJlZ2V4ZXM6IChbUmVnRXhwXSB8IFtSZWdFeHAsIHN0cmluZ10gfCBbUmVnRXhwLCBzdHJpbmcsIG51bWJlcl0pW10gPSBbXG4gICAgICAgIFsvW14wLTksXFwuXFwtXS9dLFxuICAgICAgICBbLywvLCAnLiddLFxuICAgICAgICBbLyguKyktLywgJyQxJ10sXG4gICAgICAgIFsvXFwuKC4qKVxcLi8sICckMS4nXSxcbiAgICAgICAgWy9eKC0/KVxcLi8sICckMTAuJ10sXG4gICAgXTtcbiAgICBsZXQgb2JqID0geyB0ZXh0OiBjdXJyZW50VGV4dCwgY2FyZXRQb3MgfTtcbiAgICBmb3IgKGNvbnN0IGFyciBvZiByZWdleGVzKSB7XG4gICAgICAgIGxldCBbcmVnZXgsIHJlcGxhY2UsIGNhcmV0TW9kaWZdID0gYXJyO1xuICAgICAgICBvYmogPSBuZXcgUmVnRXhwVHJhbnNmb3JtZXIocmVnZXgsIHJlcGxhY2UsIGNhcmV0TW9kaWYpLmFwcGx5KG9iai50ZXh0LCBwcmV2aW91c1RleHQsIG9iai5jYXJldFBvcyk7XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG59O1xuZXhwb3J0IGNvbnN0IEFyZFRyYW5zZm9ybWVyID0ge1xuICAgIFRvVXBwZXI6IHRvVXBwZXIsXG4gICAgVG9Mb3dlcjogdG9Mb3dlcixcbiAgICBJbnRlZ2VyOiBpbnQsXG4gICAgRmxvYXQ6IGZsb2F0LFxufSBhcyBjb25zdDtcbiJdfQ==
|