@sebgroup/green-angular 0.0.0-v-angular-20250113082841
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 +68 -0
- package/esm2022/index.mjs +18 -0
- package/esm2022/lib/accordion/accordion-list-item.component.mjs +50 -0
- package/esm2022/lib/accordion/accordion.component.mjs +72 -0
- package/esm2022/lib/accordion/accordion.module.mjs +19 -0
- package/esm2022/lib/accordion/index.mjs +4 -0
- package/esm2022/lib/badge/badge.component.mjs +80 -0
- package/esm2022/lib/badge/badge.module.mjs +18 -0
- package/esm2022/lib/badge/index.mjs +3 -0
- package/esm2022/lib/button/button.component.mjs +28 -0
- package/esm2022/lib/button/button.module.mjs +18 -0
- package/esm2022/lib/button/index.mjs +3 -0
- package/esm2022/lib/cell-table/cell-table-item.component.mjs +91 -0
- package/esm2022/lib/cell-table/cell-table.component.mjs +97 -0
- package/esm2022/lib/cell-table/cell-table.module.mjs +26 -0
- package/esm2022/lib/cell-table/cell-table.types.mjs +7 -0
- package/esm2022/lib/cell-table/cell-underline.directive.mjs +55 -0
- package/esm2022/lib/cell-table/index.mjs +4 -0
- package/esm2022/lib/context-menu/context-menu.component.mjs +73 -0
- package/esm2022/lib/context-menu/context-menu.module.mjs +20 -0
- package/esm2022/lib/context-menu/index.mjs +3 -0
- package/esm2022/lib/datepicker/datepicker.component.mjs +138 -0
- package/esm2022/lib/datepicker/datepicker.module.mjs +20 -0
- package/esm2022/lib/datepicker/index.mjs +3 -0
- package/esm2022/lib/dropdown/dropdown-button.directive.mjs +16 -0
- package/esm2022/lib/dropdown/dropdown-option.directive.mjs +16 -0
- package/esm2022/lib/dropdown/dropdown.component.mjs +222 -0
- package/esm2022/lib/dropdown/dropdown.module.mjs +34 -0
- package/esm2022/lib/dropdown/index.mjs +5 -0
- package/esm2022/lib/green-angular.module.mjs +72 -0
- package/esm2022/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +61 -0
- package/esm2022/lib/in-page-wizard/in-page-wizard.module.mjs +18 -0
- package/esm2022/lib/in-page-wizard/index.mjs +3 -0
- package/esm2022/lib/modal/index.mjs +5 -0
- package/esm2022/lib/modal/modal-footer.directive.mjs +16 -0
- package/esm2022/lib/modal/modal-header.directive.mjs +16 -0
- package/esm2022/lib/modal/modal.component.mjs +309 -0
- package/esm2022/lib/modal/modal.module.mjs +41 -0
- package/esm2022/lib/pagination/index.mjs +3 -0
- package/esm2022/lib/pagination/pagination.component.mjs +175 -0
- package/esm2022/lib/pagination/pagination.module.mjs +18 -0
- package/esm2022/lib/progress-circle/index.mjs +3 -0
- package/esm2022/lib/progress-circle/progress-circle.component.mjs +41 -0
- package/esm2022/lib/progress-circle/progress-circle.module.mjs +18 -0
- package/esm2022/lib/segmented-control/index.mjs +3 -0
- package/esm2022/lib/segmented-control/segmented-control.component.mjs +35 -0
- package/esm2022/lib/segmented-control/segmented-control.module.mjs +19 -0
- package/esm2022/lib/shared/core-element/core-element.directive.mjs +33 -0
- package/esm2022/lib/shared/core-element/core-element.module.mjs +18 -0
- package/esm2022/lib/shared/core-element/index.mjs +3 -0
- package/esm2022/lib/shared/index.mjs +4 -0
- package/esm2022/lib/shared/on-scroll.directive.mjs +47 -0
- package/esm2022/lib/shared/shared.module.mjs +18 -0
- package/esm2022/lib/slider/index.mjs +3 -0
- package/esm2022/lib/slider/slider.component.mjs +113 -0
- package/esm2022/lib/slider/slider.module.mjs +19 -0
- package/esm2022/lib/sortable-list/index.mjs +3 -0
- package/esm2022/lib/sortable-list/sortable-list.component.mjs +181 -0
- package/esm2022/lib/sortable-list/sortable-list.module.mjs +20 -0
- package/esm2022/sebgroup-green-angular.mjs +5 -0
- package/esm2022/src/lib/accordion/accordion-list-item.component.mjs +50 -0
- package/esm2022/src/lib/accordion/accordion.component.mjs +72 -0
- package/esm2022/src/lib/accordion/accordion.module.mjs +19 -0
- package/esm2022/src/lib/accordion/index.mjs +4 -0
- package/esm2022/src/lib/accordion/sebgroup-green-angular-src-lib-accordion.mjs +5 -0
- package/esm2022/src/lib/badge/badge.component.mjs +80 -0
- package/esm2022/src/lib/badge/badge.module.mjs +18 -0
- package/esm2022/src/lib/badge/index.mjs +3 -0
- package/esm2022/src/lib/badge/sebgroup-green-angular-src-lib-badge.mjs +5 -0
- package/esm2022/src/lib/button/button.component.mjs +28 -0
- package/esm2022/src/lib/button/button.module.mjs +18 -0
- package/esm2022/src/lib/button/index.mjs +3 -0
- package/esm2022/src/lib/button/sebgroup-green-angular-src-lib-button.mjs +5 -0
- package/esm2022/src/lib/cell-table/cell-table-item.component.mjs +91 -0
- package/esm2022/src/lib/cell-table/cell-table.component.mjs +97 -0
- package/esm2022/src/lib/cell-table/cell-table.module.mjs +26 -0
- package/esm2022/src/lib/cell-table/cell-table.types.mjs +7 -0
- package/esm2022/src/lib/cell-table/cell-underline.directive.mjs +55 -0
- package/esm2022/src/lib/cell-table/index.mjs +4 -0
- package/esm2022/src/lib/cell-table/sebgroup-green-angular-src-lib-cell-table.mjs +5 -0
- package/esm2022/src/lib/context-menu/context-menu.component.mjs +73 -0
- package/esm2022/src/lib/context-menu/context-menu.module.mjs +20 -0
- package/esm2022/src/lib/context-menu/index.mjs +3 -0
- package/esm2022/src/lib/context-menu/sebgroup-green-angular-src-lib-context-menu.mjs +5 -0
- package/esm2022/src/lib/datepicker/datepicker.component.mjs +138 -0
- package/esm2022/src/lib/datepicker/datepicker.module.mjs +20 -0
- package/esm2022/src/lib/datepicker/index.mjs +3 -0
- package/esm2022/src/lib/datepicker/sebgroup-green-angular-src-lib-datepicker.mjs +5 -0
- package/esm2022/src/lib/dropdown/dropdown-button.directive.mjs +16 -0
- package/esm2022/src/lib/dropdown/dropdown-option.directive.mjs +16 -0
- package/esm2022/src/lib/dropdown/dropdown.component.mjs +222 -0
- package/esm2022/src/lib/dropdown/dropdown.module.mjs +34 -0
- package/esm2022/src/lib/dropdown/index.mjs +5 -0
- package/esm2022/src/lib/dropdown/sebgroup-green-angular-src-lib-dropdown.mjs +5 -0
- package/esm2022/src/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +61 -0
- package/esm2022/src/lib/in-page-wizard/in-page-wizard.module.mjs +18 -0
- package/esm2022/src/lib/in-page-wizard/index.mjs +3 -0
- package/esm2022/src/lib/in-page-wizard/sebgroup-green-angular-src-lib-in-page-wizard.mjs +5 -0
- package/esm2022/src/lib/modal/index.mjs +5 -0
- package/esm2022/src/lib/modal/modal-footer.directive.mjs +16 -0
- package/esm2022/src/lib/modal/modal-header.directive.mjs +16 -0
- package/esm2022/src/lib/modal/modal.component.mjs +309 -0
- package/esm2022/src/lib/modal/modal.module.mjs +41 -0
- package/esm2022/src/lib/modal/sebgroup-green-angular-src-lib-modal.mjs +5 -0
- package/esm2022/src/lib/pagination/index.mjs +3 -0
- package/esm2022/src/lib/pagination/pagination.component.mjs +175 -0
- package/esm2022/src/lib/pagination/pagination.module.mjs +18 -0
- package/esm2022/src/lib/pagination/sebgroup-green-angular-src-lib-pagination.mjs +5 -0
- package/esm2022/src/lib/progress-circle/index.mjs +3 -0
- package/esm2022/src/lib/progress-circle/progress-circle.component.mjs +41 -0
- package/esm2022/src/lib/progress-circle/progress-circle.module.mjs +18 -0
- package/esm2022/src/lib/progress-circle/sebgroup-green-angular-src-lib-progress-circle.mjs +5 -0
- package/esm2022/src/lib/segmented-control/index.mjs +3 -0
- package/esm2022/src/lib/segmented-control/sebgroup-green-angular-src-lib-segmented-control.mjs +5 -0
- package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +35 -0
- package/esm2022/src/lib/segmented-control/segmented-control.module.mjs +19 -0
- package/esm2022/src/lib/shared/core-element/core-element.directive.mjs +33 -0
- package/esm2022/src/lib/shared/core-element/core-element.module.mjs +18 -0
- package/esm2022/src/lib/shared/core-element/index.mjs +3 -0
- package/esm2022/src/lib/shared/index.mjs +4 -0
- package/esm2022/src/lib/shared/on-scroll.directive.mjs +47 -0
- package/esm2022/src/lib/shared/sebgroup-green-angular-src-lib-shared.mjs +5 -0
- package/esm2022/src/lib/shared/shared.module.mjs +18 -0
- package/esm2022/src/lib/slider/index.mjs +3 -0
- package/esm2022/src/lib/slider/sebgroup-green-angular-src-lib-slider.mjs +5 -0
- package/esm2022/src/lib/slider/slider.component.mjs +113 -0
- package/esm2022/src/lib/slider/slider.module.mjs +19 -0
- package/esm2022/src/lib/sortable-list/index.mjs +3 -0
- package/esm2022/src/lib/sortable-list/sebgroup-green-angular-src-lib-sortable-list.mjs +5 -0
- package/esm2022/src/lib/sortable-list/sortable-list.component.mjs +181 -0
- package/esm2022/src/lib/sortable-list/sortable-list.module.mjs +20 -0
- package/esm2022/src/v-angular/account-number/account-number.module.mjs +18 -0
- package/esm2022/src/v-angular/account-number/account-number.pipe.mjs +54 -0
- package/esm2022/src/v-angular/account-number/index.mjs +3 -0
- package/esm2022/src/v-angular/account-number/sebgroup-green-angular-src-v-angular-account-number.mjs +5 -0
- package/esm2022/src/v-angular/alert/alert.component.mjs +47 -0
- package/esm2022/src/v-angular/alert/alert.models.mjs +8 -0
- package/esm2022/src/v-angular/alert/alert.module.mjs +18 -0
- package/esm2022/src/v-angular/alert/index.mjs +4 -0
- package/esm2022/src/v-angular/alert/sebgroup-green-angular-src-v-angular-alert.mjs +5 -0
- package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +297 -0
- package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +17 -0
- package/esm2022/src/v-angular/base-control-value-accessor/index.mjs +3 -0
- package/esm2022/src/v-angular/base-control-value-accessor/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +5 -0
- package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.component.mjs +25 -0
- package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.module.mjs +20 -0
- package/esm2022/src/v-angular/breadcrumbs/index.mjs +3 -0
- package/esm2022/src/v-angular/breadcrumbs/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs +5 -0
- package/esm2022/src/v-angular/button/button.component.mjs +108 -0
- package/esm2022/src/v-angular/button/button.module.mjs +20 -0
- package/esm2022/src/v-angular/button/index.mjs +3 -0
- package/esm2022/src/v-angular/button/sebgroup-green-angular-src-v-angular-button.mjs +5 -0
- package/esm2022/src/v-angular/card/card.component.mjs +11 -0
- package/esm2022/src/v-angular/card/card.module.mjs +18 -0
- package/esm2022/src/v-angular/card/index.mjs +3 -0
- package/esm2022/src/v-angular/card/sebgroup-green-angular-src-v-angular-card.mjs +5 -0
- package/esm2022/src/v-angular/character-countdown/character-countdown.directive.mjs +51 -0
- package/esm2022/src/v-angular/character-countdown/character-countdown.module.mjs +18 -0
- package/esm2022/src/v-angular/character-countdown/index.mjs +3 -0
- package/esm2022/src/v-angular/character-countdown/sebgroup-green-angular-src-v-angular-character-countdown.mjs +5 -0
- package/esm2022/src/v-angular/checkbox/checkbox.component.mjs +74 -0
- package/esm2022/src/v-angular/checkbox/checkbox.module.mjs +21 -0
- package/esm2022/src/v-angular/checkbox/index.mjs +3 -0
- package/esm2022/src/v-angular/checkbox/sebgroup-green-angular-src-v-angular-checkbox.mjs +5 -0
- package/esm2022/src/v-angular/core/core.globals.mjs +20 -0
- package/esm2022/src/v-angular/core/core.utils.mjs +62 -0
- package/esm2022/src/v-angular/core/index.mjs +3 -0
- package/esm2022/src/v-angular/core/sebgroup-green-angular-src-v-angular-core.mjs +5 -0
- package/esm2022/src/v-angular/datepicker/components/calendar/calendar.component.mjs +200 -0
- package/esm2022/src/v-angular/datepicker/components/calendar-control/calendar-control.component.mjs +115 -0
- package/esm2022/src/v-angular/datepicker/components/date-input/date-input.component.mjs +203 -0
- package/esm2022/src/v-angular/datepicker/components/datepicker/datepicker.component.mjs +135 -0
- package/esm2022/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.mjs +408 -0
- package/esm2022/src/v-angular/datepicker/datepicker.globals.mjs +20 -0
- package/esm2022/src/v-angular/datepicker/datepicker.models.mjs +56 -0
- package/esm2022/src/v-angular/datepicker/datepicker.module.mjs +63 -0
- package/esm2022/src/v-angular/datepicker/datepicker.utils.mjs +196 -0
- package/esm2022/src/v-angular/datepicker/directives/calendar-date.directive.mjs +47 -0
- package/esm2022/src/v-angular/datepicker/index.mjs +17 -0
- package/esm2022/src/v-angular/datepicker/models/dates.mjs +291 -0
- package/esm2022/src/v-angular/datepicker/pipes/date-thook.pipe.mjs +30 -0
- package/esm2022/src/v-angular/datepicker/pipes/is-disabled.pipe.mjs +37 -0
- package/esm2022/src/v-angular/datepicker/pipes/matches.pipe.mjs +17 -0
- package/esm2022/src/v-angular/datepicker/sebgroup-green-angular-src-v-angular-datepicker.mjs +5 -0
- package/esm2022/src/v-angular/drag-drop/drag-drop.component.mjs +496 -0
- package/esm2022/src/v-angular/drag-drop/drag-drop.models.mjs +2 -0
- package/esm2022/src/v-angular/drag-drop/drag-drop.module.mjs +49 -0
- package/esm2022/src/v-angular/drag-drop/drag-drop.pipes.mjs +70 -0
- package/esm2022/src/v-angular/drag-drop/drag-drop.utils.mjs +75 -0
- package/esm2022/src/v-angular/drag-drop/index.mjs +5 -0
- package/esm2022/src/v-angular/drag-drop/sebgroup-green-angular-src-v-angular-drag-drop.mjs +5 -0
- package/esm2022/src/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +271 -0
- package/esm2022/src/v-angular/dropdown/dropdown-list/index.mjs +2 -0
- package/esm2022/src/v-angular/dropdown/dropdown.component.mjs +246 -0
- package/esm2022/src/v-angular/dropdown/dropdown.module.mjs +38 -0
- package/esm2022/src/v-angular/dropdown/index.mjs +6 -0
- package/esm2022/src/v-angular/dropdown/sebgroup-green-angular-src-v-angular-dropdown.mjs +5 -0
- package/esm2022/src/v-angular/dropdown/typeahead/index.mjs +6 -0
- package/esm2022/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +98 -0
- package/esm2022/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +85 -0
- package/esm2022/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +132 -0
- package/esm2022/src/v-angular/dropdown/typeahead/typeahead.directive.mjs +177 -0
- package/esm2022/src/v-angular/dropdown/typeahead/typeahead.module.mjs +33 -0
- package/esm2022/src/v-angular/external-link/external-link.directive.mjs +37 -0
- package/esm2022/src/v-angular/external-link/external-link.module.mjs +18 -0
- package/esm2022/src/v-angular/external-link/index.mjs +3 -0
- package/esm2022/src/v-angular/external-link/sebgroup-green-angular-src-v-angular-external-link.mjs +5 -0
- package/esm2022/src/v-angular/i18n/i18n.json +12 -0
- package/esm2022/src/v-angular/i18n/i18n.module.mjs +89 -0
- package/esm2022/src/v-angular/i18n/i18n.test.module.mjs +89 -0
- package/esm2022/src/v-angular/i18n/index.mjs +3 -0
- package/esm2022/src/v-angular/i18n/sebgroup-green-angular-src-v-angular-i18n.mjs +5 -0
- package/esm2022/src/v-angular/info-circle/index.mjs +3 -0
- package/esm2022/src/v-angular/info-circle/info-circle.component.mjs +28 -0
- package/esm2022/src/v-angular/info-circle/info-circle.module.mjs +21 -0
- package/esm2022/src/v-angular/info-circle/sebgroup-green-angular-src-v-angular-info-circle.mjs +5 -0
- package/esm2022/src/v-angular/input/index.mjs +3 -0
- package/esm2022/src/v-angular/input/input.component.mjs +218 -0
- package/esm2022/src/v-angular/input/input.module.mjs +41 -0
- package/esm2022/src/v-angular/input/sebgroup-green-angular-src-v-angular-input.mjs +5 -0
- package/esm2022/src/v-angular/input-mask/config.mjs +9 -0
- package/esm2022/src/v-angular/input-mask/constants.mjs +2 -0
- package/esm2022/src/v-angular/input-mask/index.mjs +6 -0
- package/esm2022/src/v-angular/input-mask/input-mask-format.pipe.mjs +21 -0
- package/esm2022/src/v-angular/input-mask/input-mask.directive.mjs +165 -0
- package/esm2022/src/v-angular/input-mask/input-mask.module.mjs +35 -0
- package/esm2022/src/v-angular/input-mask/input-mask.types.mjs +2 -0
- package/esm2022/src/v-angular/input-mask/sebgroup-green-angular-src-v-angular-input-mask.mjs +5 -0
- package/esm2022/src/v-angular/modal/dialog/dialog.component.mjs +217 -0
- package/esm2022/src/v-angular/modal/fold-out/fold-out.component.mjs +157 -0
- package/esm2022/src/v-angular/modal/fold-out/fold-out.directive.mjs +19 -0
- package/esm2022/src/v-angular/modal/fold-out/keyboard-key.enum.mjs +9 -0
- package/esm2022/src/v-angular/modal/index.mjs +6 -0
- package/esm2022/src/v-angular/modal/modal.globals.mjs +20 -0
- package/esm2022/src/v-angular/modal/modal.module.mjs +53 -0
- package/esm2022/src/v-angular/modal/modal.types.mjs +2 -0
- package/esm2022/src/v-angular/modal/sebgroup-green-angular-src-v-angular-modal.mjs +5 -0
- package/esm2022/src/v-angular/modal/slide-out/slide-out.component.mjs +253 -0
- package/esm2022/src/v-angular/pagination/index.mjs +3 -0
- package/esm2022/src/v-angular/pagination/pagination.component.mjs +144 -0
- package/esm2022/src/v-angular/pagination/pagination.module.mjs +37 -0
- package/esm2022/src/v-angular/pagination/sebgroup-green-angular-src-v-angular-pagination.mjs +5 -0
- package/esm2022/src/v-angular/radio/index.mjs +3 -0
- package/esm2022/src/v-angular/radio/radio.component.mjs +132 -0
- package/esm2022/src/v-angular/radio/radio.module.mjs +21 -0
- package/esm2022/src/v-angular/radio/sebgroup-green-angular-src-v-angular-radio.mjs +5 -0
- package/esm2022/src/v-angular/slug/index.mjs +3 -0
- package/esm2022/src/v-angular/slug/sebgroup-green-angular-src-v-angular-slug.mjs +5 -0
- package/esm2022/src/v-angular/slug/slug.module.mjs +18 -0
- package/esm2022/src/v-angular/slug/slug.pipe.mjs +27 -0
- package/esm2022/src/v-angular/table/index.mjs +9 -0
- package/esm2022/src/v-angular/table/sebgroup-green-angular-src-v-angular-table.mjs +5 -0
- package/esm2022/src/v-angular/table/table.component.mjs +387 -0
- package/esm2022/src/v-angular/table/table.directive.mjs +110 -0
- package/esm2022/src/v-angular/table/table.models.mjs +2 -0
- package/esm2022/src/v-angular/table/table.module.mjs +40 -0
- package/esm2022/src/v-angular/table/table.tools.mjs +29 -0
- package/esm2022/src/v-angular/table/tr-thook.pipe.mjs +22 -0
- package/esm2022/src/v-angular/tabs/index.mjs +8 -0
- package/esm2022/src/v-angular/tabs/sebgroup-green-angular-src-v-angular-tabs.mjs +5 -0
- package/esm2022/src/v-angular/tabs/tab.directive.mjs +81 -0
- package/esm2022/src/v-angular/tabs/tabs.component.mjs +260 -0
- package/esm2022/src/v-angular/tabs/tabs.models.mjs +2 -0
- package/esm2022/src/v-angular/tabs/tabs.module.mjs +21 -0
- package/esm2022/src/v-angular/textarea/index.mjs +3 -0
- package/esm2022/src/v-angular/textarea/sebgroup-green-angular-src-v-angular-textarea.mjs +5 -0
- package/esm2022/src/v-angular/textarea/textarea.component.mjs +105 -0
- package/esm2022/src/v-angular/textarea/textarea.module.mjs +34 -0
- package/esm2022/src/v-angular/toast/index.mjs +8 -0
- package/esm2022/src/v-angular/toast/sebgroup-green-angular-src-v-angular-toast.mjs +5 -0
- package/esm2022/src/v-angular/toast/toast-message.service.mjs +63 -0
- package/esm2022/src/v-angular/toast/toast.component.mjs +70 -0
- package/esm2022/src/v-angular/toast/toast.models.mjs +8 -0
- package/esm2022/src/v-angular/toast/toast.module.mjs +21 -0
- package/esm2022/src/v-angular/tooltip/index.mjs +3 -0
- package/esm2022/src/v-angular/tooltip/sebgroup-green-angular-src-v-angular-tooltip.mjs +5 -0
- package/esm2022/src/v-angular/tooltip/tooltip.directive.mjs +293 -0
- package/esm2022/src/v-angular/tooltip/tooltip.module.mjs +18 -0
- package/esm2022/src/v-angular/tooltip/tooltip.styles.mjs +60 -0
- package/esm2022/v-angular/alert/alert.component.mjs +47 -0
- package/esm2022/v-angular/alert/alert.models.mjs +8 -0
- package/esm2022/v-angular/alert/alert.module.mjs +18 -0
- package/esm2022/v-angular/alert/index.mjs +4 -0
- package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +297 -0
- package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +17 -0
- package/esm2022/v-angular/base-control-value-accessor/index.mjs +3 -0
- package/esm2022/v-angular/breadcrumbs/breadcrumbs.component.mjs +25 -0
- package/esm2022/v-angular/breadcrumbs/breadcrumbs.module.mjs +20 -0
- package/esm2022/v-angular/breadcrumbs/index.mjs +3 -0
- package/esm2022/v-angular/button/button.component.mjs +108 -0
- package/esm2022/v-angular/button/button.module.mjs +20 -0
- package/esm2022/v-angular/button/index.mjs +3 -0
- package/esm2022/v-angular/card/card.component.mjs +11 -0
- package/esm2022/v-angular/card/card.module.mjs +18 -0
- package/esm2022/v-angular/card/index.mjs +3 -0
- package/esm2022/v-angular/character-countdown/character-countdown.directive.mjs +51 -0
- package/esm2022/v-angular/character-countdown/character-countdown.module.mjs +18 -0
- package/esm2022/v-angular/character-countdown/index.mjs +3 -0
- package/esm2022/v-angular/checkbox/checkbox.component.mjs +74 -0
- package/esm2022/v-angular/checkbox/checkbox.module.mjs +21 -0
- package/esm2022/v-angular/checkbox/index.mjs +3 -0
- package/esm2022/v-angular/datepicker/components/calendar/calendar.component.mjs +200 -0
- package/esm2022/v-angular/datepicker/components/calendar-control/calendar-control.component.mjs +115 -0
- package/esm2022/v-angular/datepicker/components/date-input/date-input.component.mjs +203 -0
- package/esm2022/v-angular/datepicker/components/datepicker/datepicker.component.mjs +135 -0
- package/esm2022/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.mjs +408 -0
- package/esm2022/v-angular/datepicker/datepicker.globals.mjs +20 -0
- package/esm2022/v-angular/datepicker/datepicker.models.mjs +56 -0
- package/esm2022/v-angular/datepicker/datepicker.module.mjs +63 -0
- package/esm2022/v-angular/datepicker/datepicker.utils.mjs +196 -0
- package/esm2022/v-angular/datepicker/directives/calendar-date.directive.mjs +47 -0
- package/esm2022/v-angular/datepicker/index.mjs +17 -0
- package/esm2022/v-angular/datepicker/models/dates.mjs +291 -0
- package/esm2022/v-angular/datepicker/pipes/date-thook.pipe.mjs +30 -0
- package/esm2022/v-angular/datepicker/pipes/is-disabled.pipe.mjs +37 -0
- package/esm2022/v-angular/datepicker/pipes/matches.pipe.mjs +17 -0
- package/esm2022/v-angular/drag-drop/drag-drop.component.mjs +496 -0
- package/esm2022/v-angular/drag-drop/drag-drop.models.mjs +2 -0
- package/esm2022/v-angular/drag-drop/drag-drop.module.mjs +49 -0
- package/esm2022/v-angular/drag-drop/drag-drop.pipes.mjs +70 -0
- package/esm2022/v-angular/drag-drop/drag-drop.utils.mjs +75 -0
- package/esm2022/v-angular/drag-drop/index.mjs +5 -0
- package/esm2022/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +271 -0
- package/esm2022/v-angular/dropdown/dropdown-list/index.mjs +2 -0
- package/esm2022/v-angular/dropdown/dropdown.component.mjs +246 -0
- package/esm2022/v-angular/dropdown/dropdown.module.mjs +38 -0
- package/esm2022/v-angular/dropdown/index.mjs +6 -0
- package/esm2022/v-angular/dropdown/typeahead/index.mjs +6 -0
- package/esm2022/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +98 -0
- package/esm2022/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +85 -0
- package/esm2022/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +132 -0
- package/esm2022/v-angular/dropdown/typeahead/typeahead.directive.mjs +177 -0
- package/esm2022/v-angular/dropdown/typeahead/typeahead.module.mjs +33 -0
- package/esm2022/v-angular/external-link/external-link.directive.mjs +37 -0
- package/esm2022/v-angular/external-link/external-link.module.mjs +18 -0
- package/esm2022/v-angular/external-link/index.mjs +3 -0
- package/esm2022/v-angular/i18n/i18n.json +12 -0
- package/esm2022/v-angular/i18n/i18n.module.mjs +89 -0
- package/esm2022/v-angular/i18n/i18n.test.module.mjs +89 -0
- package/esm2022/v-angular/i18n/index.mjs +3 -0
- package/esm2022/v-angular/index.mjs +27 -0
- package/esm2022/v-angular/info-circle/index.mjs +3 -0
- package/esm2022/v-angular/info-circle/info-circle.component.mjs +28 -0
- package/esm2022/v-angular/info-circle/info-circle.module.mjs +21 -0
- package/esm2022/v-angular/input/index.mjs +3 -0
- package/esm2022/v-angular/input/input.component.mjs +218 -0
- package/esm2022/v-angular/input/input.module.mjs +41 -0
- package/esm2022/v-angular/input-mask/config.mjs +9 -0
- package/esm2022/v-angular/input-mask/constants.mjs +2 -0
- package/esm2022/v-angular/input-mask/index.mjs +6 -0
- package/esm2022/v-angular/input-mask/input-mask-format.pipe.mjs +21 -0
- package/esm2022/v-angular/input-mask/input-mask.directive.mjs +165 -0
- package/esm2022/v-angular/input-mask/input-mask.module.mjs +35 -0
- package/esm2022/v-angular/input-mask/input-mask.types.mjs +2 -0
- package/esm2022/v-angular/modal/dialog/dialog.component.mjs +217 -0
- package/esm2022/v-angular/modal/fold-out/fold-out.component.mjs +157 -0
- package/esm2022/v-angular/modal/fold-out/fold-out.directive.mjs +19 -0
- package/esm2022/v-angular/modal/fold-out/keyboard-key.enum.mjs +9 -0
- package/esm2022/v-angular/modal/index.mjs +6 -0
- package/esm2022/v-angular/modal/modal.globals.mjs +20 -0
- package/esm2022/v-angular/modal/modal.module.mjs +53 -0
- package/esm2022/v-angular/modal/modal.types.mjs +2 -0
- package/esm2022/v-angular/modal/slide-out/slide-out.component.mjs +253 -0
- package/esm2022/v-angular/pagination/index.mjs +3 -0
- package/esm2022/v-angular/pagination/pagination.component.mjs +144 -0
- package/esm2022/v-angular/pagination/pagination.module.mjs +37 -0
- package/esm2022/v-angular/radio/index.mjs +3 -0
- package/esm2022/v-angular/radio/radio.component.mjs +132 -0
- package/esm2022/v-angular/radio/radio.module.mjs +21 -0
- package/esm2022/v-angular/sebgroup-green-angular-v-angular.mjs +5 -0
- package/esm2022/v-angular/slug/index.mjs +3 -0
- package/esm2022/v-angular/slug/slug.module.mjs +18 -0
- package/esm2022/v-angular/slug/slug.pipe.mjs +27 -0
- package/esm2022/v-angular/table/index.mjs +9 -0
- package/esm2022/v-angular/table/table.component.mjs +387 -0
- package/esm2022/v-angular/table/table.directive.mjs +110 -0
- package/esm2022/v-angular/table/table.models.mjs +2 -0
- package/esm2022/v-angular/table/table.module.mjs +40 -0
- package/esm2022/v-angular/table/table.tools.mjs +29 -0
- package/esm2022/v-angular/table/tr-thook.pipe.mjs +22 -0
- package/esm2022/v-angular/tabs/index.mjs +8 -0
- package/esm2022/v-angular/tabs/tab.directive.mjs +81 -0
- package/esm2022/v-angular/tabs/tabs.component.mjs +260 -0
- package/esm2022/v-angular/tabs/tabs.models.mjs +2 -0
- package/esm2022/v-angular/tabs/tabs.module.mjs +21 -0
- package/esm2022/v-angular/textarea/index.mjs +3 -0
- package/esm2022/v-angular/textarea/textarea.component.mjs +105 -0
- package/esm2022/v-angular/textarea/textarea.module.mjs +34 -0
- package/esm2022/v-angular/toast/index.mjs +8 -0
- package/esm2022/v-angular/toast/toast-message.service.mjs +63 -0
- package/esm2022/v-angular/toast/toast.component.mjs +70 -0
- package/esm2022/v-angular/toast/toast.models.mjs +8 -0
- package/esm2022/v-angular/toast/toast.module.mjs +21 -0
- package/esm2022/v-angular/tooltip/index.mjs +3 -0
- package/esm2022/v-angular/tooltip/tooltip.directive.mjs +293 -0
- package/esm2022/v-angular/tooltip/tooltip.module.mjs +18 -0
- package/esm2022/v-angular/tooltip/tooltip.styles.mjs +60 -0
- package/esm2022/v-angular/v-angular.module.mjs +120 -0
- package/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs +141 -0
- package/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs +102 -0
- package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-lib-button.mjs +50 -0
- package/fesm2022/sebgroup-green-angular-src-lib-button.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-lib-cell-table.mjs +270 -0
- package/fesm2022/sebgroup-green-angular-src-lib-cell-table.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs +97 -0
- package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs +162 -0
- package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs +284 -0
- package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-lib-in-page-wizard.mjs +83 -0
- package/fesm2022/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs +377 -0
- package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-lib-pagination.mjs +197 -0
- package/fesm2022/sebgroup-green-angular-src-lib-pagination.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-lib-progress-circle.mjs +63 -0
- package/fesm2022/sebgroup-green-angular-src-lib-progress-circle.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs +58 -0
- package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs +113 -0
- package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-lib-slider.mjs +135 -0
- package/fesm2022/sebgroup-green-angular-src-lib-slider.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs +204 -0
- package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-account-number.mjs +76 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-account-number.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs +76 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +318 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs +49 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs +131 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs +33 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs +73 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs +98 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs +88 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-datepicker.mjs +1759 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-datepicker.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-drag-drop.mjs +685 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-drag-drop.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs +1037 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs +58 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs +198 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs +53 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs +227 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs +262 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs +717 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-pagination.mjs +185 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-pagination.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs +156 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs +49 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-table.mjs +585 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-table.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-tabs.mjs +365 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-tabs.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs +141 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-toast.mjs +166 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-toast.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs +374 -0
- package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular-v-angular.mjs +7538 -0
- package/fesm2022/sebgroup-green-angular-v-angular.mjs.map +1 -0
- package/fesm2022/sebgroup-green-angular.mjs +2229 -0
- package/fesm2022/sebgroup-green-angular.mjs.map +1 -0
- package/index.d.ts +17 -0
- package/lib/accordion/accordion-list-item.component.d.ts +16 -0
- package/lib/accordion/accordion.component.d.ts +16 -0
- package/lib/accordion/accordion.module.d.ts +9 -0
- package/lib/accordion/index.d.ts +3 -0
- package/lib/badge/badge.component.d.ts +25 -0
- package/lib/badge/badge.module.d.ts +8 -0
- package/lib/badge/index.d.ts +2 -0
- package/lib/button/button.component.d.ts +9 -0
- package/lib/button/button.module.d.ts +8 -0
- package/lib/button/index.d.ts +2 -0
- package/lib/cell-table/cell-table-item.component.d.ts +14 -0
- package/lib/cell-table/cell-table.component.d.ts +44 -0
- package/lib/cell-table/cell-table.module.d.ts +10 -0
- package/lib/cell-table/cell-table.types.d.ts +34 -0
- package/lib/cell-table/cell-underline.directive.d.ts +14 -0
- package/lib/cell-table/index.d.ts +3 -0
- package/lib/context-menu/context-menu.component.d.ts +44 -0
- package/lib/context-menu/context-menu.module.d.ts +9 -0
- package/lib/context-menu/index.d.ts +2 -0
- package/lib/datepicker/datepicker.component.d.ts +59 -0
- package/lib/datepicker/datepicker.module.d.ts +9 -0
- package/lib/datepicker/index.d.ts +2 -0
- package/lib/dropdown/dropdown-button.directive.d.ts +8 -0
- package/lib/dropdown/dropdown-option.directive.d.ts +8 -0
- package/lib/dropdown/dropdown.component.d.ts +78 -0
- package/lib/dropdown/dropdown.module.d.ts +11 -0
- package/lib/dropdown/index.d.ts +4 -0
- package/lib/green-angular.module.d.ts +21 -0
- package/lib/in-page-wizard/in-page-wizard-step-card.component.d.ts +19 -0
- package/lib/in-page-wizard/in-page-wizard.module.d.ts +8 -0
- package/lib/in-page-wizard/index.d.ts +2 -0
- package/lib/modal/index.d.ts +4 -0
- package/lib/modal/modal-footer.directive.d.ts +8 -0
- package/lib/modal/modal-header.directive.d.ts +8 -0
- package/lib/modal/modal.component.d.ts +67 -0
- package/lib/modal/modal.module.d.ts +11 -0
- package/lib/pagination/index.d.ts +2 -0
- package/lib/pagination/pagination.component.d.ts +42 -0
- package/lib/pagination/pagination.module.d.ts +8 -0
- package/lib/progress-circle/index.d.ts +2 -0
- package/lib/progress-circle/progress-circle.component.d.ts +14 -0
- package/lib/progress-circle/progress-circle.module.d.ts +8 -0
- package/lib/segmented-control/index.d.ts +2 -0
- package/lib/segmented-control/segmented-control.component.d.ts +11 -0
- package/lib/segmented-control/segmented-control.module.d.ts +9 -0
- package/lib/shared/core-element/core-element.directive.d.ts +13 -0
- package/lib/shared/core-element/core-element.module.d.ts +8 -0
- package/lib/shared/core-element/index.d.ts +2 -0
- package/lib/shared/index.d.ts +3 -0
- package/lib/shared/on-scroll.directive.d.ts +14 -0
- package/lib/shared/shared.module.d.ts +8 -0
- package/lib/slider/index.d.ts +2 -0
- package/lib/slider/slider.component.d.ts +38 -0
- package/lib/slider/slider.module.d.ts +9 -0
- package/lib/sortable-list/index.d.ts +2 -0
- package/lib/sortable-list/sortable-list.component.d.ts +91 -0
- package/lib/sortable-list/sortable-list.module.d.ts +10 -0
- package/package.json +308 -0
- package/src/lib/accordion/accordion-list-item.component.d.ts +16 -0
- package/src/lib/accordion/accordion.component.d.ts +16 -0
- package/src/lib/accordion/accordion.module.d.ts +9 -0
- package/src/lib/accordion/index.d.ts +3 -0
- package/src/lib/badge/badge.component.d.ts +25 -0
- package/src/lib/badge/badge.module.d.ts +8 -0
- package/src/lib/badge/index.d.ts +2 -0
- package/src/lib/button/button.component.d.ts +9 -0
- package/src/lib/button/button.module.d.ts +8 -0
- package/src/lib/button/index.d.ts +2 -0
- package/src/lib/cell-table/cell-table-item.component.d.ts +14 -0
- package/src/lib/cell-table/cell-table.component.d.ts +44 -0
- package/src/lib/cell-table/cell-table.module.d.ts +10 -0
- package/src/lib/cell-table/cell-table.types.d.ts +34 -0
- package/src/lib/cell-table/cell-underline.directive.d.ts +14 -0
- package/src/lib/cell-table/index.d.ts +3 -0
- package/src/lib/context-menu/context-menu.component.d.ts +44 -0
- package/src/lib/context-menu/context-menu.module.d.ts +9 -0
- package/src/lib/context-menu/index.d.ts +2 -0
- package/src/lib/datepicker/datepicker.component.d.ts +59 -0
- package/src/lib/datepicker/datepicker.module.d.ts +9 -0
- package/src/lib/datepicker/index.d.ts +2 -0
- package/src/lib/dropdown/dropdown-button.directive.d.ts +8 -0
- package/src/lib/dropdown/dropdown-option.directive.d.ts +8 -0
- package/src/lib/dropdown/dropdown.component.d.ts +78 -0
- package/src/lib/dropdown/dropdown.module.d.ts +11 -0
- package/src/lib/dropdown/index.d.ts +4 -0
- package/src/lib/in-page-wizard/in-page-wizard-step-card.component.d.ts +19 -0
- package/src/lib/in-page-wizard/in-page-wizard.module.d.ts +8 -0
- package/src/lib/in-page-wizard/index.d.ts +2 -0
- package/src/lib/modal/index.d.ts +4 -0
- package/src/lib/modal/modal-footer.directive.d.ts +8 -0
- package/src/lib/modal/modal-header.directive.d.ts +8 -0
- package/src/lib/modal/modal.component.d.ts +67 -0
- package/src/lib/modal/modal.module.d.ts +11 -0
- package/src/lib/pagination/index.d.ts +2 -0
- package/src/lib/pagination/pagination.component.d.ts +42 -0
- package/src/lib/pagination/pagination.module.d.ts +8 -0
- package/src/lib/progress-circle/index.d.ts +2 -0
- package/src/lib/progress-circle/progress-circle.component.d.ts +14 -0
- package/src/lib/progress-circle/progress-circle.module.d.ts +8 -0
- package/src/lib/segmented-control/index.d.ts +2 -0
- package/src/lib/segmented-control/segmented-control.component.d.ts +11 -0
- package/src/lib/segmented-control/segmented-control.module.d.ts +9 -0
- package/src/lib/shared/core-element/core-element.directive.d.ts +13 -0
- package/src/lib/shared/core-element/core-element.module.d.ts +8 -0
- package/src/lib/shared/core-element/index.d.ts +2 -0
- package/src/lib/shared/index.d.ts +3 -0
- package/src/lib/shared/on-scroll.directive.d.ts +14 -0
- package/src/lib/shared/shared.module.d.ts +8 -0
- package/src/lib/slider/index.d.ts +2 -0
- package/src/lib/slider/slider.component.d.ts +38 -0
- package/src/lib/slider/slider.module.d.ts +9 -0
- package/src/lib/sortable-list/index.d.ts +2 -0
- package/src/lib/sortable-list/sortable-list.component.d.ts +91 -0
- package/src/lib/sortable-list/sortable-list.module.d.ts +10 -0
- package/src/v-angular/account-number/README.md +70 -0
- package/src/v-angular/account-number/account-number.module.d.ts +8 -0
- package/src/v-angular/account-number/account-number.pipe.d.ts +32 -0
- package/src/v-angular/account-number/index.d.ts +2 -0
- package/src/v-angular/alert/alert.component.d.ts +19 -0
- package/src/v-angular/alert/alert.models.d.ts +13 -0
- package/src/v-angular/alert/alert.module.d.ts +8 -0
- package/src/v-angular/alert/index.d.ts +3 -0
- package/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +130 -0
- package/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.d.ts +7 -0
- package/src/v-angular/base-control-value-accessor/index.d.ts +2 -0
- package/src/v-angular/breadcrumbs/breadcrumbs.component.d.ts +18 -0
- package/src/v-angular/breadcrumbs/breadcrumbs.module.d.ts +10 -0
- package/src/v-angular/breadcrumbs/index.d.ts +2 -0
- package/src/v-angular/button/button.component.d.ts +62 -0
- package/src/v-angular/button/button.module.d.ts +10 -0
- package/src/v-angular/button/index.d.ts +2 -0
- package/src/v-angular/card/card.component.d.ts +5 -0
- package/src/v-angular/card/card.module.d.ts +8 -0
- package/src/v-angular/card/index.d.ts +2 -0
- package/src/v-angular/character-countdown/character-countdown.directive.d.ts +17 -0
- package/src/v-angular/character-countdown/character-countdown.module.d.ts +8 -0
- package/src/v-angular/character-countdown/index.d.ts +2 -0
- package/src/v-angular/checkbox/checkbox.component.d.ts +28 -0
- package/src/v-angular/checkbox/checkbox.module.d.ts +10 -0
- package/src/v-angular/checkbox/index.d.ts +2 -0
- package/src/v-angular/core/core.globals.d.ts +13 -0
- package/src/v-angular/core/core.utils.d.ts +23 -0
- package/src/v-angular/core/index.d.ts +2 -0
- package/src/v-angular/datepicker/components/calendar/calendar.component.d.ts +36 -0
- package/src/v-angular/datepicker/components/calendar-control/calendar-control.component.d.ts +30 -0
- package/src/v-angular/datepicker/components/date-input/date-input.component.d.ts +102 -0
- package/src/v-angular/datepicker/components/datepicker/datepicker.component.d.ts +62 -0
- package/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.d.ts +165 -0
- package/src/v-angular/datepicker/datepicker.globals.d.ts +13 -0
- package/src/v-angular/datepicker/datepicker.models.d.ts +50 -0
- package/src/v-angular/datepicker/datepicker.module.d.ts +19 -0
- package/src/v-angular/datepicker/datepicker.utils.d.ts +39 -0
- package/src/v-angular/datepicker/directives/calendar-date.directive.d.ts +21 -0
- package/src/v-angular/datepicker/index.d.ts +13 -0
- package/src/v-angular/datepicker/models/dates.d.ts +15 -0
- package/src/v-angular/datepicker/pipes/date-thook.pipe.d.ts +8 -0
- package/src/v-angular/datepicker/pipes/is-disabled.pipe.d.ts +8 -0
- package/src/v-angular/datepicker/pipes/matches.pipe.d.ts +7 -0
- package/src/v-angular/drag-drop/drag-drop.component.d.ts +131 -0
- package/src/v-angular/drag-drop/drag-drop.models.d.ts +49 -0
- package/src/v-angular/drag-drop/drag-drop.module.d.ts +13 -0
- package/src/v-angular/drag-drop/drag-drop.pipes.d.ts +40 -0
- package/src/v-angular/drag-drop/drag-drop.utils.d.ts +33 -0
- package/src/v-angular/drag-drop/index.d.ts +4 -0
- package/src/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +96 -0
- package/src/v-angular/dropdown/dropdown-list/index.d.ts +1 -0
- package/src/v-angular/dropdown/dropdown.component.d.ts +103 -0
- package/src/v-angular/dropdown/dropdown.module.d.ts +13 -0
- package/src/v-angular/dropdown/index.d.ts +5 -0
- package/src/v-angular/dropdown/typeahead/index.d.ts +5 -0
- package/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +34 -0
- package/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.d.ts +34 -0
- package/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +59 -0
- package/src/v-angular/dropdown/typeahead/typeahead.directive.d.ts +76 -0
- package/src/v-angular/dropdown/typeahead/typeahead.module.d.ts +11 -0
- package/src/v-angular/external-link/external-link.directive.d.ts +17 -0
- package/src/v-angular/external-link/external-link.module.d.ts +8 -0
- package/src/v-angular/external-link/index.d.ts +2 -0
- package/src/v-angular/i18n/i18n.module.d.ts +15 -0
- package/src/v-angular/i18n/i18n.test.module.d.ts +27 -0
- package/src/v-angular/i18n/index.d.ts +2 -0
- package/src/v-angular/info-circle/index.d.ts +2 -0
- package/src/v-angular/info-circle/info-circle.component.d.ts +16 -0
- package/src/v-angular/info-circle/info-circle.module.d.ts +10 -0
- package/src/v-angular/input/index.d.ts +2 -0
- package/src/v-angular/input/input.component.d.ts +85 -0
- package/src/v-angular/input/input.module.d.ts +13 -0
- package/src/v-angular/input-mask/config.d.ts +6 -0
- package/src/v-angular/input-mask/constants.d.ts +2 -0
- package/src/v-angular/input-mask/index.d.ts +5 -0
- package/src/v-angular/input-mask/input-mask-format.pipe.d.ts +8 -0
- package/src/v-angular/input-mask/input-mask.directive.d.ts +39 -0
- package/src/v-angular/input-mask/input-mask.module.d.ts +11 -0
- package/src/v-angular/input-mask/input-mask.types.d.ts +20 -0
- package/src/v-angular/modal/dialog/dialog.component.d.ts +64 -0
- package/src/v-angular/modal/fold-out/fold-out.component.d.ts +47 -0
- package/src/v-angular/modal/fold-out/fold-out.directive.d.ts +6 -0
- package/src/v-angular/modal/fold-out/keyboard-key.enum.d.ts +7 -0
- package/src/v-angular/modal/index.d.ts +5 -0
- package/src/v-angular/modal/modal.globals.d.ts +13 -0
- package/src/v-angular/modal/modal.module.d.ts +15 -0
- package/src/v-angular/modal/modal.types.d.ts +5 -0
- package/src/v-angular/modal/slide-out/slide-out.component.d.ts +83 -0
- package/src/v-angular/pagination/index.d.ts +2 -0
- package/src/v-angular/pagination/pagination.component.d.ts +64 -0
- package/src/v-angular/pagination/pagination.module.d.ts +12 -0
- package/src/v-angular/radio/index.d.ts +2 -0
- package/src/v-angular/radio/radio.component.d.ts +49 -0
- package/src/v-angular/radio/radio.module.d.ts +10 -0
- package/src/v-angular/slug/index.d.ts +2 -0
- package/src/v-angular/slug/slug.module.d.ts +8 -0
- package/src/v-angular/slug/slug.pipe.d.ts +12 -0
- package/src/v-angular/table/index.d.ts +5 -0
- package/src/v-angular/table/table.component.d.ts +229 -0
- package/src/v-angular/table/table.directive.d.ts +36 -0
- package/src/v-angular/table/table.models.d.ts +62 -0
- package/src/v-angular/table/table.module.d.ts +12 -0
- package/src/v-angular/table/table.tools.d.ts +5 -0
- package/src/v-angular/table/tr-thook.pipe.d.ts +7 -0
- package/src/v-angular/tabs/index.d.ts +4 -0
- package/src/v-angular/tabs/tab.directive.d.ts +37 -0
- package/src/v-angular/tabs/tabs.component.d.ts +65 -0
- package/src/v-angular/tabs/tabs.models.d.ts +25 -0
- package/src/v-angular/tabs/tabs.module.d.ts +11 -0
- package/src/v-angular/textarea/index.d.ts +2 -0
- package/src/v-angular/textarea/textarea.component.d.ts +45 -0
- package/src/v-angular/textarea/textarea.module.d.ts +12 -0
- package/src/v-angular/toast/index.d.ts +4 -0
- package/src/v-angular/toast/toast-message.service.d.ts +17 -0
- package/src/v-angular/toast/toast.component.d.ts +22 -0
- package/src/v-angular/toast/toast.models.d.ts +15 -0
- package/src/v-angular/toast/toast.module.d.ts +10 -0
- package/src/v-angular/tooltip/index.d.ts +2 -0
- package/src/v-angular/tooltip/tooltip.directive.d.ts +108 -0
- package/src/v-angular/tooltip/tooltip.module.d.ts +8 -0
- package/src/v-angular/tooltip/tooltip.styles.d.ts +11 -0
- package/v-angular/alert/alert.component.d.ts +19 -0
- package/v-angular/alert/alert.models.d.ts +13 -0
- package/v-angular/alert/alert.module.d.ts +8 -0
- package/v-angular/alert/index.d.ts +3 -0
- package/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +130 -0
- package/v-angular/base-control-value-accessor/base-control-value-accessor.module.d.ts +7 -0
- package/v-angular/base-control-value-accessor/index.d.ts +2 -0
- package/v-angular/breadcrumbs/breadcrumbs.component.d.ts +18 -0
- package/v-angular/breadcrumbs/breadcrumbs.module.d.ts +10 -0
- package/v-angular/breadcrumbs/index.d.ts +2 -0
- package/v-angular/button/button.component.d.ts +62 -0
- package/v-angular/button/button.module.d.ts +10 -0
- package/v-angular/button/index.d.ts +2 -0
- package/v-angular/card/card.component.d.ts +5 -0
- package/v-angular/card/card.module.d.ts +8 -0
- package/v-angular/card/index.d.ts +2 -0
- package/v-angular/character-countdown/character-countdown.directive.d.ts +17 -0
- package/v-angular/character-countdown/character-countdown.module.d.ts +8 -0
- package/v-angular/character-countdown/index.d.ts +2 -0
- package/v-angular/checkbox/checkbox.component.d.ts +28 -0
- package/v-angular/checkbox/checkbox.module.d.ts +10 -0
- package/v-angular/checkbox/index.d.ts +2 -0
- package/v-angular/datepicker/components/calendar/calendar.component.d.ts +36 -0
- package/v-angular/datepicker/components/calendar-control/calendar-control.component.d.ts +30 -0
- package/v-angular/datepicker/components/date-input/date-input.component.d.ts +102 -0
- package/v-angular/datepicker/components/datepicker/datepicker.component.d.ts +62 -0
- package/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.d.ts +165 -0
- package/v-angular/datepicker/datepicker.globals.d.ts +13 -0
- package/v-angular/datepicker/datepicker.models.d.ts +50 -0
- package/v-angular/datepicker/datepicker.module.d.ts +19 -0
- package/v-angular/datepicker/datepicker.utils.d.ts +39 -0
- package/v-angular/datepicker/directives/calendar-date.directive.d.ts +21 -0
- package/v-angular/datepicker/index.d.ts +13 -0
- package/v-angular/datepicker/models/dates.d.ts +15 -0
- package/v-angular/datepicker/pipes/date-thook.pipe.d.ts +8 -0
- package/v-angular/datepicker/pipes/is-disabled.pipe.d.ts +8 -0
- package/v-angular/datepicker/pipes/matches.pipe.d.ts +7 -0
- package/v-angular/drag-drop/drag-drop.component.d.ts +131 -0
- package/v-angular/drag-drop/drag-drop.models.d.ts +49 -0
- package/v-angular/drag-drop/drag-drop.module.d.ts +13 -0
- package/v-angular/drag-drop/drag-drop.pipes.d.ts +40 -0
- package/v-angular/drag-drop/drag-drop.utils.d.ts +33 -0
- package/v-angular/drag-drop/index.d.ts +4 -0
- package/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +96 -0
- package/v-angular/dropdown/dropdown-list/index.d.ts +1 -0
- package/v-angular/dropdown/dropdown.component.d.ts +103 -0
- package/v-angular/dropdown/dropdown.module.d.ts +13 -0
- package/v-angular/dropdown/index.d.ts +5 -0
- package/v-angular/dropdown/typeahead/index.d.ts +5 -0
- package/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +34 -0
- package/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.d.ts +34 -0
- package/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +59 -0
- package/v-angular/dropdown/typeahead/typeahead.directive.d.ts +76 -0
- package/v-angular/dropdown/typeahead/typeahead.module.d.ts +11 -0
- package/v-angular/external-link/external-link.directive.d.ts +17 -0
- package/v-angular/external-link/external-link.module.d.ts +8 -0
- package/v-angular/external-link/index.d.ts +2 -0
- package/v-angular/i18n/i18n.module.d.ts +15 -0
- package/v-angular/i18n/i18n.test.module.d.ts +27 -0
- package/v-angular/i18n/index.d.ts +2 -0
- package/v-angular/index.d.ts +26 -0
- package/v-angular/info-circle/index.d.ts +2 -0
- package/v-angular/info-circle/info-circle.component.d.ts +16 -0
- package/v-angular/info-circle/info-circle.module.d.ts +10 -0
- package/v-angular/input/index.d.ts +2 -0
- package/v-angular/input/input.component.d.ts +85 -0
- package/v-angular/input/input.module.d.ts +13 -0
- package/v-angular/input-mask/config.d.ts +6 -0
- package/v-angular/input-mask/constants.d.ts +2 -0
- package/v-angular/input-mask/index.d.ts +5 -0
- package/v-angular/input-mask/input-mask-format.pipe.d.ts +8 -0
- package/v-angular/input-mask/input-mask.directive.d.ts +39 -0
- package/v-angular/input-mask/input-mask.module.d.ts +11 -0
- package/v-angular/input-mask/input-mask.types.d.ts +20 -0
- package/v-angular/modal/dialog/dialog.component.d.ts +64 -0
- package/v-angular/modal/fold-out/fold-out.component.d.ts +47 -0
- package/v-angular/modal/fold-out/fold-out.directive.d.ts +6 -0
- package/v-angular/modal/fold-out/keyboard-key.enum.d.ts +7 -0
- package/v-angular/modal/index.d.ts +5 -0
- package/v-angular/modal/modal.globals.d.ts +13 -0
- package/v-angular/modal/modal.module.d.ts +15 -0
- package/v-angular/modal/modal.types.d.ts +5 -0
- package/v-angular/modal/slide-out/slide-out.component.d.ts +83 -0
- package/v-angular/pagination/index.d.ts +2 -0
- package/v-angular/pagination/pagination.component.d.ts +64 -0
- package/v-angular/pagination/pagination.module.d.ts +12 -0
- package/v-angular/radio/index.d.ts +2 -0
- package/v-angular/radio/radio.component.d.ts +49 -0
- package/v-angular/radio/radio.module.d.ts +10 -0
- package/v-angular/slug/index.d.ts +2 -0
- package/v-angular/slug/slug.module.d.ts +8 -0
- package/v-angular/slug/slug.pipe.d.ts +12 -0
- package/v-angular/table/index.d.ts +5 -0
- package/v-angular/table/table.component.d.ts +229 -0
- package/v-angular/table/table.directive.d.ts +36 -0
- package/v-angular/table/table.models.d.ts +62 -0
- package/v-angular/table/table.module.d.ts +12 -0
- package/v-angular/table/table.tools.d.ts +5 -0
- package/v-angular/table/tr-thook.pipe.d.ts +7 -0
- package/v-angular/tabs/index.d.ts +4 -0
- package/v-angular/tabs/tab.directive.d.ts +37 -0
- package/v-angular/tabs/tabs.component.d.ts +65 -0
- package/v-angular/tabs/tabs.models.d.ts +25 -0
- package/v-angular/tabs/tabs.module.d.ts +11 -0
- package/v-angular/textarea/index.d.ts +2 -0
- package/v-angular/textarea/textarea.component.d.ts +45 -0
- package/v-angular/textarea/textarea.module.d.ts +12 -0
- package/v-angular/toast/index.d.ts +4 -0
- package/v-angular/toast/toast-message.service.d.ts +17 -0
- package/v-angular/toast/toast.component.d.ts +22 -0
- package/v-angular/toast/toast.models.d.ts +15 -0
- package/v-angular/toast/toast.module.d.ts +10 -0
- package/v-angular/tooltip/index.d.ts +2 -0
- package/v-angular/tooltip/tooltip.directive.d.ts +108 -0
- package/v-angular/tooltip/tooltip.module.d.ts +8 -0
- package/v-angular/tooltip/tooltip.styles.d.ts +11 -0
- package/v-angular/v-angular.module.d.ts +33 -0
package/esm2022/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class NggvTypeaheadHighlightComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.text = '';
|
|
7
|
+
this.input = '';
|
|
8
|
+
/**
|
|
9
|
+
* Regexp of characters that are allowed in textContent without being found in textToHighlight
|
|
10
|
+
* Allow whitespaces.
|
|
11
|
+
* */
|
|
12
|
+
this.allowedNonMatchingChars = new RegExp(/\s/);
|
|
13
|
+
}
|
|
14
|
+
ngOnChanges(changes) {
|
|
15
|
+
const { textContent, textToHighlight } = changes;
|
|
16
|
+
if (textContent?.currentValue != null)
|
|
17
|
+
this.text = `${textContent.currentValue}`;
|
|
18
|
+
if (textToHighlight?.currentValue != null)
|
|
19
|
+
this.input = `${textToHighlight.currentValue}`;
|
|
20
|
+
this.updateValues();
|
|
21
|
+
}
|
|
22
|
+
updateValues() {
|
|
23
|
+
const splittedText = this.text.toLocaleLowerCase().split('');
|
|
24
|
+
const splittedInput = this.input.toLocaleLowerCase().split('');
|
|
25
|
+
const { start, end } = this.getHighlightedPart(splittedText, splittedInput);
|
|
26
|
+
// If user input is not found within the textcontent, reset options and return.
|
|
27
|
+
if (start === -1 || end === -1) {
|
|
28
|
+
this.prefix = this.match = this.suffix = '';
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
this.prefix = this.text.substring(0, start);
|
|
32
|
+
this.match = this.text.substring(start, end);
|
|
33
|
+
this.suffix = this.text.substring(end);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Function that finds the start and end index of where the input is located within the text to display.
|
|
37
|
+
* First occurence is returned. Allows for spaces to occur despite input not matching space.
|
|
38
|
+
* Loops through each character in splittedText and when a char in splittedText equlas the first character of
|
|
39
|
+
* splittedInput, evaluate wether it's match on the entire input.
|
|
40
|
+
* - If it's => return indexes.
|
|
41
|
+
* - If it's not => break out and check next char in outer loop.
|
|
42
|
+
* @param splittedText the text content splitted in an array
|
|
43
|
+
* @param splittedInput the input splitted in an array
|
|
44
|
+
* @returns { start: number, end: number } Indexes of where the match starts and ends in the text displatyed
|
|
45
|
+
*/
|
|
46
|
+
getHighlightedPart(splittedText, splittedInput) {
|
|
47
|
+
let start = -1;
|
|
48
|
+
let end = -1;
|
|
49
|
+
for (let i = 0; i < splittedText.length; i++) {
|
|
50
|
+
// If start and end have been set, break and return
|
|
51
|
+
if (start > -1 || end > -1)
|
|
52
|
+
break;
|
|
53
|
+
// If current char match first in input, try see if whole input match from that index
|
|
54
|
+
if (splittedText[i] === splittedInput[0]) {
|
|
55
|
+
let matches = 1;
|
|
56
|
+
for (let t = 1; t <= splittedText.length; t++) {
|
|
57
|
+
// If match on last character of input, we're finished.
|
|
58
|
+
if (matches === splittedInput.length) {
|
|
59
|
+
start = i;
|
|
60
|
+
end = start + t;
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
if (splittedText[t + i] === splittedInput[matches])
|
|
64
|
+
matches++;
|
|
65
|
+
else if (this.allowedNonMatchingChars.test(splittedText[t + i]))
|
|
66
|
+
continue; // Ignore whitespace, continue
|
|
67
|
+
else
|
|
68
|
+
break; // No match, break out of inner loop to check next char in text
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return { start, end };
|
|
73
|
+
}
|
|
74
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvTypeaheadHighlightComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
75
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NggvTypeaheadHighlightComponent, selector: "nggv-typeahead-highlight", inputs: { textContent: "textContent", textToHighlight: "textToHighlight" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!this.match\">{{ textContent }}</ng-container>\n<!-- Note that this is sensitive to line breaks producing extra spacing between the different parts -->\n<ng-container *ngIf=\"!!this.match\">\n {{ prefix || '' }}<span class=\"match\">{{ match }}</span\n >{{ suffix || '' }}\n</ng-container>\n", styles: [":host .match{font-weight:500}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
76
|
+
}
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvTypeaheadHighlightComponent, decorators: [{
|
|
78
|
+
type: Component,
|
|
79
|
+
args: [{ selector: 'nggv-typeahead-highlight', template: "<ng-container *ngIf=\"!this.match\">{{ textContent }}</ng-container>\n<!-- Note that this is sensitive to line breaks producing extra spacing between the different parts -->\n<ng-container *ngIf=\"!!this.match\">\n {{ prefix || '' }}<span class=\"match\">{{ match }}</span\n >{{ suffix || '' }}\n</ng-container>\n", styles: [":host .match{font-weight:500}\n"] }]
|
|
80
|
+
}], propDecorators: { textContent: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], textToHighlight: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}] } });
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLWhpZ2hsaWdodC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9kcm9wZG93bi90eXBlYWhlYWQvdHlwZWFoZWFkLWhpZ2hsaWdodC90eXBlYWhlYWQtaGlnaGxpZ2h0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2Ryb3Bkb3duL3R5cGVhaGVhZC90eXBlYWhlYWQtaGlnaGxpZ2h0L3R5cGVhaGVhZC1oaWdobGlnaHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFBOzs7QUFPMUUsTUFBTSxPQUFPLCtCQUErQjtJQUw1QztRQWVFLFNBQUksR0FBRyxFQUFFLENBQUE7UUFDVCxVQUFLLEdBQUcsRUFBRSxDQUFBO1FBRVY7OzthQUdLO1FBQ0wsNEJBQXVCLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7S0FvRTNDO0lBbEVDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxHQUFHLE9BQU8sQ0FBQTtRQUNoRCxJQUFJLFdBQVcsRUFBRSxZQUFZLElBQUksSUFBSTtZQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFBO1FBQzNDLElBQUksZUFBZSxFQUFFLFlBQVksSUFBSSxJQUFJO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUE7UUFDaEQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO0lBQ3JCLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDNUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUU5RCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUE7UUFFM0UsK0VBQStFO1FBQy9FLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQTtZQUMzQyxPQUFNO1FBQ1IsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQzNDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQzVDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSyxrQkFBa0IsQ0FDeEIsWUFBc0IsRUFDdEIsYUFBdUI7UUFFdkIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDZCxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUVaLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDN0MsbURBQW1EO1lBQ25ELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQUUsTUFBSztZQUVqQyxxRkFBcUY7WUFDckYsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pDLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQTtnQkFDZixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUM5Qyx1REFBdUQ7b0JBQ3ZELElBQUksT0FBTyxLQUFLLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDckMsS0FBSyxHQUFHLENBQUMsQ0FBQTt3QkFDVCxHQUFHLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQTt3QkFDZixNQUFLO29CQUNQLENBQUM7b0JBQ0QsSUFBSSxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLGFBQWEsQ0FBQyxPQUFPLENBQUM7d0JBQUUsT0FBTyxFQUFFLENBQUE7eUJBQ3hELElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO3dCQUM3RCxTQUFRLENBQUMsOEJBQThCOzt3QkFDcEMsTUFBSyxDQUFDLCtEQUErRDtnQkFDNUUsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQTtJQUN2QixDQUFDOytHQXBGVSwrQkFBK0I7bUdBQS9CLCtCQUErQixpS0NQNUMsNlRBTUE7OzRGRENhLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDRSwwQkFBMEI7OEJBTTNCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nZ3YtdHlwZWFoZWFkLWhpZ2hsaWdodCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90eXBlYWhlYWQtaGlnaGxpZ2h0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdHlwZWFoZWFkLWhpZ2hsaWdodC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2d2VHlwZWFoZWFkSGlnaGxpZ2h0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqIFRoZSB0ZXh0IHRoYXQgaXMgZGlzcGxheWVkIGluIHRoZSBkcm9wZG93biBsaXN0ICovXG4gIEBJbnB1dCgpIHRleHRDb250ZW50Pzogc3RyaW5nXG4gIC8qKiBUaGUgc3Vic3RyaW5nIHRoYXQgc2hvdWxkIGJlIGhpZ2hsaWdodGVkIHdpdGhpbiB0ZXh0Q29udGVudCAqL1xuICBASW5wdXQoKSB0ZXh0VG9IaWdobGlnaHQ/OiBzdHJpbmdcblxuICBwcmVmaXg/OiBzdHJpbmcgLy8gU3Vic3RyaW5nIGJlZm9yZSB0aGUgbWF0Y2hcbiAgbWF0Y2g/OiBzdHJpbmcgLy8gVGhlIG1hdGNoXG4gIHN1ZmZpeD86IHN0cmluZyAvLyBTdWJzdHJpbmcgYWZ0ZXIgdGhlIG1hdGNoXG5cbiAgdGV4dCA9ICcnXG4gIGlucHV0ID0gJydcblxuICAvKipcbiAgICogUmVnZXhwIG9mIGNoYXJhY3RlcnMgdGhhdCBhcmUgYWxsb3dlZCBpbiB0ZXh0Q29udGVudCB3aXRob3V0IGJlaW5nIGZvdW5kIGluIHRleHRUb0hpZ2hsaWdodFxuICAgKiBBbGxvdyB3aGl0ZXNwYWNlcy5cbiAgICogKi9cbiAgYWxsb3dlZE5vbk1hdGNoaW5nQ2hhcnMgPSBuZXcgUmVnRXhwKC9cXHMvKVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCB7IHRleHRDb250ZW50LCB0ZXh0VG9IaWdobGlnaHQgfSA9IGNoYW5nZXNcbiAgICBpZiAodGV4dENvbnRlbnQ/LmN1cnJlbnRWYWx1ZSAhPSBudWxsKVxuICAgICAgdGhpcy50ZXh0ID0gYCR7dGV4dENvbnRlbnQuY3VycmVudFZhbHVlfWBcbiAgICBpZiAodGV4dFRvSGlnaGxpZ2h0Py5jdXJyZW50VmFsdWUgIT0gbnVsbClcbiAgICAgIHRoaXMuaW5wdXQgPSBgJHt0ZXh0VG9IaWdobGlnaHQuY3VycmVudFZhbHVlfWBcbiAgICB0aGlzLnVwZGF0ZVZhbHVlcygpXG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVZhbHVlcygpIHtcbiAgICBjb25zdCBzcGxpdHRlZFRleHQgPSB0aGlzLnRleHQudG9Mb2NhbGVMb3dlckNhc2UoKS5zcGxpdCgnJylcbiAgICBjb25zdCBzcGxpdHRlZElucHV0ID0gdGhpcy5pbnB1dC50b0xvY2FsZUxvd2VyQ2FzZSgpLnNwbGl0KCcnKVxuXG4gICAgY29uc3QgeyBzdGFydCwgZW5kIH0gPSB0aGlzLmdldEhpZ2hsaWdodGVkUGFydChzcGxpdHRlZFRleHQsIHNwbGl0dGVkSW5wdXQpXG5cbiAgICAvLyBJZiB1c2VyIGlucHV0IGlzIG5vdCBmb3VuZCB3aXRoaW4gdGhlIHRleHRjb250ZW50LCByZXNldCBvcHRpb25zIGFuZCByZXR1cm4uXG4gICAgaWYgKHN0YXJ0ID09PSAtMSB8fCBlbmQgPT09IC0xKSB7XG4gICAgICB0aGlzLnByZWZpeCA9IHRoaXMubWF0Y2ggPSB0aGlzLnN1ZmZpeCA9ICcnXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy5wcmVmaXggPSB0aGlzLnRleHQuc3Vic3RyaW5nKDAsIHN0YXJ0KVxuICAgIHRoaXMubWF0Y2ggPSB0aGlzLnRleHQuc3Vic3RyaW5nKHN0YXJ0LCBlbmQpXG4gICAgdGhpcy5zdWZmaXggPSB0aGlzLnRleHQuc3Vic3RyaW5nKGVuZClcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0aGF0IGZpbmRzIHRoZSBzdGFydCBhbmQgZW5kIGluZGV4IG9mIHdoZXJlIHRoZSBpbnB1dCBpcyBsb2NhdGVkIHdpdGhpbiB0aGUgdGV4dCB0byBkaXNwbGF5LlxuICAgKiBGaXJzdCBvY2N1cmVuY2UgaXMgcmV0dXJuZWQuIEFsbG93cyBmb3Igc3BhY2VzIHRvIG9jY3VyIGRlc3BpdGUgaW5wdXQgbm90IG1hdGNoaW5nIHNwYWNlLlxuICAgKiBMb29wcyB0aHJvdWdoIGVhY2ggY2hhcmFjdGVyIGluIHNwbGl0dGVkVGV4dCBhbmQgd2hlbiBhIGNoYXIgaW4gc3BsaXR0ZWRUZXh0IGVxdWxhcyB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mXG4gICAqIHNwbGl0dGVkSW5wdXQsIGV2YWx1YXRlIHdldGhlciBpdCdzIG1hdGNoIG9uIHRoZSBlbnRpcmUgaW5wdXQuXG4gICAqIC0gSWYgaXQncyA9PiByZXR1cm4gaW5kZXhlcy5cbiAgICogLSBJZiBpdCdzIG5vdCA9PiBicmVhayBvdXQgYW5kIGNoZWNrIG5leHQgY2hhciBpbiBvdXRlciBsb29wLlxuICAgKiBAcGFyYW0gc3BsaXR0ZWRUZXh0IHRoZSB0ZXh0IGNvbnRlbnQgc3BsaXR0ZWQgaW4gYW4gYXJyYXlcbiAgICogQHBhcmFtIHNwbGl0dGVkSW5wdXQgdGhlIGlucHV0IHNwbGl0dGVkIGluIGFuIGFycmF5XG4gICAqIEByZXR1cm5zIHsgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIgfSBJbmRleGVzIG9mIHdoZXJlIHRoZSBtYXRjaCBzdGFydHMgYW5kIGVuZHMgaW4gdGhlIHRleHQgZGlzcGxhdHllZFxuICAgKi9cbiAgcHJpdmF0ZSBnZXRIaWdobGlnaHRlZFBhcnQoXG4gICAgc3BsaXR0ZWRUZXh0OiBzdHJpbmdbXSxcbiAgICBzcGxpdHRlZElucHV0OiBzdHJpbmdbXSxcbiAgKTogeyBzdGFydDogbnVtYmVyOyBlbmQ6IG51bWJlciB9IHtcbiAgICBsZXQgc3RhcnQgPSAtMVxuICAgIGxldCBlbmQgPSAtMVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzcGxpdHRlZFRleHQubGVuZ3RoOyBpKyspIHtcbiAgICAgIC8vIElmIHN0YXJ0IGFuZCBlbmQgaGF2ZSBiZWVuIHNldCwgYnJlYWsgYW5kIHJldHVyblxuICAgICAgaWYgKHN0YXJ0ID4gLTEgfHwgZW5kID4gLTEpIGJyZWFrXG5cbiAgICAgIC8vIElmIGN1cnJlbnQgY2hhciBtYXRjaCBmaXJzdCBpbiBpbnB1dCwgdHJ5IHNlZSBpZiB3aG9sZSBpbnB1dCBtYXRjaCBmcm9tIHRoYXQgaW5kZXhcbiAgICAgIGlmIChzcGxpdHRlZFRleHRbaV0gPT09IHNwbGl0dGVkSW5wdXRbMF0pIHtcbiAgICAgICAgbGV0IG1hdGNoZXMgPSAxXG4gICAgICAgIGZvciAobGV0IHQgPSAxOyB0IDw9IHNwbGl0dGVkVGV4dC5sZW5ndGg7IHQrKykge1xuICAgICAgICAgIC8vIElmIG1hdGNoIG9uIGxhc3QgY2hhcmFjdGVyIG9mIGlucHV0LCB3ZSdyZSBmaW5pc2hlZC5cbiAgICAgICAgICBpZiAobWF0Y2hlcyA9PT0gc3BsaXR0ZWRJbnB1dC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHN0YXJ0ID0gaVxuICAgICAgICAgICAgZW5kID0gc3RhcnQgKyB0XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoc3BsaXR0ZWRUZXh0W3QgKyBpXSA9PT0gc3BsaXR0ZWRJbnB1dFttYXRjaGVzXSkgbWF0Y2hlcysrXG4gICAgICAgICAgZWxzZSBpZiAodGhpcy5hbGxvd2VkTm9uTWF0Y2hpbmdDaGFycy50ZXN0KHNwbGl0dGVkVGV4dFt0ICsgaV0pKVxuICAgICAgICAgICAgY29udGludWUgLy8gSWdub3JlIHdoaXRlc3BhY2UsIGNvbnRpbnVlXG4gICAgICAgICAgZWxzZSBicmVhayAvLyBObyBtYXRjaCwgYnJlYWsgb3V0IG9mIGlubmVyIGxvb3AgdG8gY2hlY2sgbmV4dCBjaGFyIGluIHRleHRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyBzdGFydCwgZW5kIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0aGlzLm1hdGNoXCI+e3sgdGV4dENvbnRlbnQgfX08L25nLWNvbnRhaW5lcj5cbjwhLS0gTm90ZSB0aGF0IHRoaXMgaXMgc2Vuc2l0aXZlIHRvIGxpbmUgYnJlYWtzIHByb2R1Y2luZyBleHRyYSBzcGFjaW5nIGJldHdlZW4gdGhlIGRpZmZlcmVudCBwYXJ0cyAtLT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhIXRoaXMubWF0Y2hcIj5cbiAge3sgcHJlZml4IHx8ICcnIH19PHNwYW4gY2xhc3M9XCJtYXRjaFwiPnt7IG1hdGNoIH19PC9zcGFuXG4gID57eyBzdWZmaXggfHwgJycgfX1cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Component, ElementRef, HostListener, Inject, Input, Optional, Renderer2, Self, } from '@angular/core';
|
|
2
|
+
import { NgControl } from '@angular/forms';
|
|
3
|
+
import { TRANSLOCO_SCOPE } from '@jsverse/transloco';
|
|
4
|
+
import { takeUntil } from 'rxjs';
|
|
5
|
+
import { NggvInputComponent } from '@sebgroup/green-angular/src/v-angular/input';
|
|
6
|
+
import { NggvDropdownComponent } from '../../dropdown.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/forms";
|
|
9
|
+
import * as i2 from "@angular/common";
|
|
10
|
+
export class NggvTypeaheadInputComponent extends NggvInputComponent {
|
|
11
|
+
get dropdownButton() {
|
|
12
|
+
return this.hostComponent.inputRef?.nativeElement;
|
|
13
|
+
}
|
|
14
|
+
constructor(element, renderer2, ngControl, translocoScope, cdr) {
|
|
15
|
+
super(ngControl, translocoScope, cdr);
|
|
16
|
+
this.element = element;
|
|
17
|
+
this.renderer2 = renderer2;
|
|
18
|
+
this.ngControl = ngControl;
|
|
19
|
+
this.translocoScope = translocoScope;
|
|
20
|
+
this.cdr = cdr;
|
|
21
|
+
/** Boolean to indicate wether the dropdown is expanded or not, to apply appropriate styling */
|
|
22
|
+
this.expanded = false;
|
|
23
|
+
super.ngOnInit();
|
|
24
|
+
}
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
this.autocomplete = 'off';
|
|
27
|
+
this.debounceTime = 0;
|
|
28
|
+
this.hostComponent.selectOnSingleOption = false;
|
|
29
|
+
this.moveInput();
|
|
30
|
+
this.handleExpandedChange();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @internal
|
|
34
|
+
* Allow space to be inputted as text
|
|
35
|
+
* @param event fired containing which key was released.
|
|
36
|
+
*/
|
|
37
|
+
onKeyUp(event) {
|
|
38
|
+
if (event.code === 'Space') {
|
|
39
|
+
event.preventDefault();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @internal
|
|
44
|
+
* First time the dropdown is expanded, move the input sp it becomes a child of the dropdown button
|
|
45
|
+
* to better reflect semantics and styling.
|
|
46
|
+
*/
|
|
47
|
+
moveInput() {
|
|
48
|
+
// Workaround to execute code in setTimeout due to hooks management etc.
|
|
49
|
+
setTimeout(() => {
|
|
50
|
+
// Only move if parent dropdown is found
|
|
51
|
+
if (this.dropdownButton) {
|
|
52
|
+
this.renderer2.appendChild(this.dropdownButton.querySelector('button'), this.element.nativeElement);
|
|
53
|
+
// Get the height of the parent button so the input can be explicitly set to the same height since it's absolutely positioned
|
|
54
|
+
this.buttonHeight =
|
|
55
|
+
this.dropdownButton.getBoundingClientRect().height || 32; // Default to 2em;
|
|
56
|
+
}
|
|
57
|
+
}, 0);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @internal
|
|
61
|
+
* When dropdown is expanded, focus on the input. If a value is selected, set it in the input.
|
|
62
|
+
* When the dropdown is collapsed, empty the input from text.
|
|
63
|
+
*/
|
|
64
|
+
handleExpandedChange() {
|
|
65
|
+
this.hostComponent.expandedChange
|
|
66
|
+
.pipe(takeUntil(this._destroy$))
|
|
67
|
+
.subscribe((state) => {
|
|
68
|
+
this.expanded = state;
|
|
69
|
+
if (this.expanded) {
|
|
70
|
+
// Weird workaround for setting focus. Didn't set focus, but wrapping in setTimeout solved it.
|
|
71
|
+
// See suggestion here: https://github.com/ionic-team/stencil/issues/3772#issuecomment-1292599609
|
|
72
|
+
setTimeout(() => this.setFocus());
|
|
73
|
+
// Format and interpolate result since return type can be other than string from the formatter
|
|
74
|
+
const formattedValue = `${this.formatSelected(this.hostComponent.state)}`;
|
|
75
|
+
this.setInput(formattedValue, false);
|
|
76
|
+
}
|
|
77
|
+
else
|
|
78
|
+
this.setInput('', true);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* @internal Formats the selected option to display in the input. Interpolate the returned value
|
|
83
|
+
* since we don't know the return type or label type.
|
|
84
|
+
* @param value The selected value
|
|
85
|
+
* @returns The formatted value
|
|
86
|
+
*/
|
|
87
|
+
formatSelected(value) {
|
|
88
|
+
if (value?.key == null)
|
|
89
|
+
return '';
|
|
90
|
+
// If no formatter exists, return the label or empty string
|
|
91
|
+
if (!this.selectedFormatter)
|
|
92
|
+
return value.label ?? '';
|
|
93
|
+
// If a formatter exists, use it
|
|
94
|
+
return this.selectedFormatter(value) ?? '';
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Sets the input programmatically instead of native HTML input event.
|
|
98
|
+
* @param input
|
|
99
|
+
*/
|
|
100
|
+
setInput(input, triggerFilter) {
|
|
101
|
+
this.state = input;
|
|
102
|
+
if (triggerFilter) {
|
|
103
|
+
this.onChange(this.state);
|
|
104
|
+
this.inputChange$.next(this.state);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvTypeaheadInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.NgControl, optional: true, self: true }, { token: TRANSLOCO_SCOPE, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
108
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NggvTypeaheadInputComponent, selector: "nggv-typeahead-input", inputs: { hostComponent: "hostComponent", resultFormatter: "resultFormatter", selectedFormatter: "selectedFormatter" }, host: { listeners: { "document:keyup": "onKeyUp($event)" } }, usesInheritance: true, ngImport: i0, template: "<ng-container>\n <div\n class=\"input-wrapper\"\n [ngClass]=\"{ expanded: expanded, collapsed: !expanded }\"\n [ngStyle]=\"{ 'height.px': buttonHeight }\"\n (click)=\"$event.stopPropagation()\"\n >\n <!-- INPUT FIELD -->\n <div class=\"input-group\">\n <input\n #input\n [id]=\"id + '-input'\"\n class=\"gds-field\"\n [attr.type]=\"type\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [attr.email]=\"email\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [pattern]=\"pattern\"\n [disabled]=\"disabled\"\n [autocomplete]=\"autocomplete\"\n [autofocus]=\"autofocus\"\n [readOnly]=\"readonly\"\n [attr.role]=\"role\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [value]=\"state\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n />\n </div>\n </div>\n</ng-container>\n", styles: [":host{position:absolute;top:0;left:0;width:calc(100% - 2.625em)}:host .input-wrapper{border:none;box-shadow:none}:host .input-wrapper.expanded{display:flex}:host .input-wrapper.expanded .input-group input.gds-field{height:100%;width:100%;min-height:unset;margin-left:1px;border:none;box-shadow:none}:host .input-wrapper.collapsed{display:none}:host .input-wrapper .input-group{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
109
|
+
}
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvTypeaheadInputComponent, decorators: [{
|
|
111
|
+
type: Component,
|
|
112
|
+
args: [{ selector: 'nggv-typeahead-input', template: "<ng-container>\n <div\n class=\"input-wrapper\"\n [ngClass]=\"{ expanded: expanded, collapsed: !expanded }\"\n [ngStyle]=\"{ 'height.px': buttonHeight }\"\n (click)=\"$event.stopPropagation()\"\n >\n <!-- INPUT FIELD -->\n <div class=\"input-group\">\n <input\n #input\n [id]=\"id + '-input'\"\n class=\"gds-field\"\n [attr.type]=\"type\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [attr.email]=\"email\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [pattern]=\"pattern\"\n [disabled]=\"disabled\"\n [autocomplete]=\"autocomplete\"\n [autofocus]=\"autofocus\"\n [readOnly]=\"readonly\"\n [attr.role]=\"role\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [value]=\"state\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n />\n </div>\n </div>\n</ng-container>\n", styles: [":host{position:absolute;top:0;left:0;width:calc(100% - 2.625em)}:host .input-wrapper{border:none;box-shadow:none}:host .input-wrapper.expanded{display:flex}:host .input-wrapper.expanded .input-group input.gds-field{height:100%;width:100%;min-height:unset;margin-left:1px;border:none;box-shadow:none}:host .input-wrapper.collapsed{display:none}:host .input-wrapper .input-group{width:100%}\n"] }]
|
|
113
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.NgControl, decorators: [{
|
|
114
|
+
type: Self
|
|
115
|
+
}, {
|
|
116
|
+
type: Optional
|
|
117
|
+
}] }, { type: undefined, decorators: [{
|
|
118
|
+
type: Optional
|
|
119
|
+
}, {
|
|
120
|
+
type: Inject,
|
|
121
|
+
args: [TRANSLOCO_SCOPE]
|
|
122
|
+
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { hostComponent: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}], resultFormatter: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], selectedFormatter: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], onKeyUp: [{
|
|
129
|
+
type: HostListener,
|
|
130
|
+
args: ['document:keyup', ['$event']]
|
|
131
|
+
}] } });
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2Ryb3Bkb3duL3R5cGVhaGVhZC90eXBlYWhlYWQtaW5wdXQvdHlwZWFoZWFkLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2Ryb3Bkb3duL3R5cGVhaGVhZC90eXBlYWhlYWQtaW5wdXQvdHlwZWFoZWFkLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsU0FBUyxFQUNULElBQUksR0FDTCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBa0IsTUFBTSxvQkFBb0IsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBR2hDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBQ2hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFBOzs7O0FBT2hFLE1BQU0sT0FBTywyQkFDWCxTQUFRLGtCQUFrQjtJQVkxQixJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUE7SUFDbkQsQ0FBQztJQVFELFlBQ1UsT0FBbUIsRUFDbkIsU0FBb0IsRUFDRCxTQUFvQixFQUdyQyxjQUE4QixFQUM5QixHQUFzQjtRQUVoQyxLQUFLLENBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxHQUFHLENB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UUFDcEQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7UUFDbEIsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDcEMsQ0FBQztJQUNILENBQUM7K0dBNUhVLDJCQUEyQiwwSEE0QjVCLGVBQWU7bUdBNUJkLDJCQUEyQix5UUMxQnhDLGltQ0FzQ0E7OzRGRFphLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSxzQkFBc0I7OzBCQThCN0IsSUFBSTs7MEJBQUksUUFBUTs7MEJBQ2hCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsZUFBZTt5RUF2QmhCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFHRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBd0NOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBSZW5kZXJlcjIsXG4gIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IFRSQU5TTE9DT19TQ09QRSwgVHJhbnNsb2NvU2NvcGUgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzJ1xuXG5pbXBvcnQgeyBPcHRpb25CYXNlIH0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL3YtYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTmdndklucHV0Q29tcG9uZW50IH0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL3YtYW5ndWxhci9pbnB1dCdcbmltcG9ydCB7IE5nZ3ZEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Ryb3Bkb3duLmNvbXBvbmVudCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdndi10eXBlYWhlYWQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdHlwZWFoZWFkLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdHlwZWFoZWFkLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE5nZ3ZUeXBlYWhlYWRJbnB1dENvbXBvbmVudFxuICBleHRlbmRzIE5nZ3ZJbnB1dENvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIGhvc3QgZHJvcGRvd24gKi9cbiAgQElucHV0KCkgaG9zdENvbXBvbmVudCE6IE5nZ3ZEcm9wZG93bkNvbXBvbmVudFxuXG4gIC8qKiBGb3JtYXRzIGVhY2ggaXRlbSB0aGF0IGlzIGRpc3BsYXllZCBhcyBhbiBvcHRpb24uIE9ubHkgYXBwbGllcyBmb3JtYXQgaWYgdGhlIG9wdGlvbiBpZiBpdCBpbXBsZW1lbnQgT3B0aW9uIGludGVyZmFjZS4gKi9cbiAgQElucHV0KCkgcmVzdWx0Rm9ybWF0dGVyPzogKG9wdGlvbjogT3B0aW9uQmFzZTxhbnk+KSA9PiBzdHJpbmdcblxuICAvKiogRm9ybWF0cyB0aGUgc2VsZWN0ZWQgaXRlbSBpbiB0aGUgaW5wdXQgd2hlbiBkcm9wZG93biBpcyBvcGVuZWQuIElmIG5vIGZ1bmN0aW9uIGlzIHByb3ZpZGVkLCBpdCB3aWxsIGRpc3BsYXkgdGhlIHZhbHVlIG9mIHRoZSBzZWxlY3RlZCBvYmplY3RzIGxhYmVsIHByb3BlcnR5ICovXG4gIEBJbnB1dCgpIHNlbGVjdGVkRm9ybWF0dGVyPzogKHNlbGVjdGVkOiBPcHRpb25CYXNlPGFueT4pID0+IHN0cmluZ1xuXG4gIGdldCBkcm9wZG93bkJ1dHRvbigpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdENvbXBvbmVudC5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudFxuICB9XG5cbiAgLyoqIEJvb2xlYW4gdG8gaW5kaWNhdGUgd2V0aGVyIHRoZSBkcm9wZG93biBpcyBleHBhbmRlZCBvciBub3QsIHRvIGFwcGx5IGFwcHJvcHJpYXRlIHN0eWxpbmcgKi9cbiAgZXhwYW5kZWQgPSBmYWxzZVxuXG4gIC8qKiBVc2VkIHRvIGRldGVybWluZSB0aGUgaGVpZ2h0IG9mIHRoZSBpbnB1dGluIGh0bWwgKi9cbiAgYnV0dG9uSGVpZ2h0PzogbnVtYmVyXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXIyOiBSZW5kZXJlcjIsXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFRSQU5TTE9DT19TQ09QRSlcbiAgICBwcm90ZWN0ZWQgdHJhbnNsb2NvU2NvcGU6IFRyYW5zbG9jb1Njb3BlLFxuICAgIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICBzdXBlcihuZ0NvbnRyb2wsIHRyYW5zbG9jb1Njb3BlLCBjZHIpXG4gICAgc3VwZXIubmdPbkluaXQoKVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5hdXRvY29tcGxldGUgPSAnb2ZmJ1xuICAgIHRoaXMuZGVib3VuY2VUaW1lID0gMFxuICAgIHRoaXMuaG9zdENvbXBvbmVudC5zZWxlY3RPblNpbmdsZU9wdGlvbiA9IGZhbHNlXG5cbiAgICB0aGlzLm1vdmVJbnB1dCgpXG4gICAgdGhpcy5oYW5kbGVFeHBhbmRlZENoYW5nZSgpXG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEFsbG93IHNwYWNlIHRvIGJlIGlucHV0dGVkIGFzIHRleHRcbiAgICogQHBhcmFtIGV2ZW50IGZpcmVkIGNvbnRhaW5pbmcgd2hpY2gga2V5IHdhcyByZWxlYXNlZC5cbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleXVwJywgWyckZXZlbnQnXSlcbiAgb25LZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC5jb2RlID09PSAnU3BhY2UnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBGaXJzdCB0aW1lIHRoZSBkcm9wZG93biBpcyBleHBhbmRlZCwgbW92ZSB0aGUgaW5wdXQgc3AgaXQgYmVjb21lcyBhIGNoaWxkIG9mIHRoZSBkcm9wZG93biBidXR0b25cbiAgICogdG8gYmV0dGVyIHJlZmxlY3Qgc2VtYW50aWNzIGFuZCBzdHlsaW5nLlxuICAgKi9cbiAgcHJpdmF0ZSBtb3ZlSW5wdXQoKSB7XG4gICAgLy8gV29ya2Fyb3VuZCB0byBleGVjdXRlIGNvZGUgaW4gc2V0VGltZW91dCBkdWUgdG8gaG9va3MgbWFuYWdlbWVudCBldGMuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAvLyBPbmx5IG1vdmUgaWYgcGFyZW50IGRyb3Bkb3duIGlzIGZvdW5kXG4gICAgICBpZiAodGhpcy5kcm9wZG93bkJ1dHRvbikge1xuICAgICAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZChcbiAgICAgICAgICB0aGlzLmRyb3Bkb3duQnV0dG9uLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbicpLFxuICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICApXG4gICAgICAgIC8vIEdldCB0aGUgaGVpZ2h0IG9mIHRoZSBwYXJlbnQgYnV0dG9uIHNvIHRoZSBpbnB1dCBjYW4gYmUgZXhwbGljaXRseSBzZXQgdG8gdGhlIHNhbWUgaGVpZ2h0IHNpbmNlIGl0J3MgYWJzb2x1dGVseSBwb3NpdGlvbmVkXG4gICAgICAgIHRoaXMuYnV0dG9uSGVpZ2h0ID1cbiAgICAgICAgICB0aGlzLmRyb3Bkb3duQnV0dG9uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCB8fCAzMiAvLyBEZWZhdWx0IHRvIDJlbTtcbiAgICAgIH1cbiAgICB9LCAwKVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBXaGVuIGRyb3Bkb3duIGlzIGV4cGFuZGVkLCBmb2N1cyBvbiB0aGUgaW5wdXQuIElmIGEgdmFsdWUgaXMgc2VsZWN0ZWQsIHNldCBpdCBpbiB0aGUgaW5wdXQuXG4gICAqIFdoZW4gdGhlIGRyb3Bkb3duIGlzIGNvbGxhcHNlZCwgZW1wdHkgdGhlIGlucHV0IGZyb20gdGV4dC5cbiAgICovXG4gIHByaXZhdGUgaGFuZGxlRXhwYW5kZWRDaGFuZ2UoKSB7XG4gICAgdGhpcy5ob3N0Q29tcG9uZW50LmV4cGFuZGVkQ2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IHN0YXRlXG5cbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICAgICAvLyBXZWlyZCB3b3JrYXJvdW5kIGZvciBzZXR0aW5nIGZvY3VzLiBEaWRuJ3Qgc2V0IGZvY3VzLCBidXQgd3JhcHBpbmcgaW4gc2V0VGltZW91dCBzb2x2ZWQgaXQuXG4gICAgICAgICAgLy8gU2VlIHN1Z2dlc3Rpb24gaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2lvbmljLXRlYW0vc3RlbmNpbC9pc3N1ZXMvMzc3MiNpc3N1ZWNvbW1lbnQtMTI5MjU5OTYwOVxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZXRGb2N1cygpKVxuICAgICAgICAgIC8vIEZvcm1hdCBhbmQgaW50ZXJwb2xhdGUgcmVzdWx0IHNpbmNlIHJldHVybiB0eXBlIGNhbiBiZSBvdGhlciB0aGFuIHN0cmluZyBmcm9tIHRoZSBmb3JtYXR0ZXJcbiAgICAgICAgICBjb25zdCBmb3JtYXR0ZWRWYWx1ZSA9IGAke3RoaXMuZm9ybWF0U2VsZWN0ZWQodGhpcy5ob3N0Q29tcG9uZW50LnN0YXRlKX1gXG4gICAgICAgICAgdGhpcy5zZXRJbnB1dChmb3JtYXR0ZWRWYWx1ZSwgZmFsc2UpXG4gICAgICAgIH0gZWxzZSB0aGlzLnNldElucHV0KCcnLCB0cnVlKVxuICAgICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgRm9ybWF0cyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRvIGRpc3BsYXkgaW4gdGhlIGlucHV0LiBJbnRlcnBvbGF0ZSB0aGUgcmV0dXJuZWQgdmFsdWVcbiAgICogc2luY2Ugd2UgZG9uJ3Qga25vdyB0aGUgcmV0dXJuIHR5cGUgb3IgbGFiZWwgdHlwZS5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBzZWxlY3RlZCB2YWx1ZVxuICAgKiBAcmV0dXJucyBUaGUgZm9ybWF0dGVkIHZhbHVlXG4gICAqL1xuICBwcml2YXRlIGZvcm1hdFNlbGVjdGVkKHZhbHVlOiBPcHRpb25CYXNlPGFueT4pIHtcbiAgICBpZiAodmFsdWU/LmtleSA9PSBudWxsKSByZXR1cm4gJydcbiAgICAvLyBJZiBubyBmb3JtYXR0ZXIgZXhpc3RzLCByZXR1cm4gdGhlIGxhYmVsIG9yIGVtcHR5IHN0cmluZ1xuICAgIGlmICghdGhpcy5zZWxlY3RlZEZvcm1hdHRlcikgcmV0dXJuIHZhbHVlLmxhYmVsID8/ICcnXG4gICAgLy8gSWYgYSBmb3JtYXR0ZXIgZXhpc3RzLCB1c2UgaXRcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEZvcm1hdHRlcih2YWx1ZSkgPz8gJydcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBpbnB1dCBwcm9ncmFtbWF0aWNhbGx5IGluc3RlYWQgb2YgbmF0aXZlIEhUTUwgaW5wdXQgZXZlbnQuXG4gICAqIEBwYXJhbSBpbnB1dFxuICAgKi9cbiAgcHJpdmF0ZSBzZXRJbnB1dChpbnB1dDogc3RyaW5nLCB0cmlnZ2VyRmlsdGVyOiBib29sZWFuKSB7XG4gICAgdGhpcy5zdGF0ZSA9IGlucHV0XG4gICAgaWYgKHRyaWdnZXJGaWx0ZXIpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5zdGF0ZSlcbiAgICAgIHRoaXMuaW5wdXRDaGFuZ2UkLm5leHQodGhpcy5zdGF0ZSlcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImlucHV0LXdyYXBwZXJcIlxuICAgIFtuZ0NsYXNzXT1cInsgZXhwYW5kZWQ6IGV4cGFuZGVkLCBjb2xsYXBzZWQ6ICFleHBhbmRlZCB9XCJcbiAgICBbbmdTdHlsZV09XCJ7ICdoZWlnaHQucHgnOiBidXR0b25IZWlnaHQgfVwiXG4gICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gID5cbiAgICA8IS0tIElOUFVUIEZJRUxEIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgPGlucHV0XG4gICAgICAgICNpbnB1dFxuICAgICAgICBbaWRdPVwiaWQgKyAnLWlucHV0J1wiXG4gICAgICAgIGNsYXNzPVwiZ2RzLWZpZWxkXCJcbiAgICAgICAgW2F0dHIudHlwZV09XCJ0eXBlXCJcbiAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgW2F0dHIucmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICBbYXR0ci5lbWFpbF09XCJlbWFpbFwiXG4gICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICBbc3RlcF09XCJzdGVwXCJcbiAgICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiXG4gICAgICAgIFthdHRyLm1pbmxlbmd0aF09XCJtaW5sZW5ndGhcIlxuICAgICAgICBbcGF0dGVybl09XCJwYXR0ZXJuXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgICAgIFtyZWFkT25seV09XCJyZWFkb25seVwiXG4gICAgICAgIFthdHRyLnJvbGVdPVwicm9sZVwiXG4gICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJkZXNjcmlwdGlvblwiXG4gICAgICAgIFt2YWx1ZV09XCJzdGF0ZVwiXG4gICAgICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { Directive, ElementRef, EventEmitter, Host, HostListener, Input, Optional, Output, ViewContainerRef, } from '@angular/core';
|
|
2
|
+
import { distinctUntilChanged, from, Subject, takeUntil, tap, withLatestFrom, } from 'rxjs';
|
|
3
|
+
import { NggvInputComponent } from '@sebgroup/green-angular/src/v-angular/input';
|
|
4
|
+
import { NggvDropdownComponent } from '../dropdown.component';
|
|
5
|
+
import { NggvTypeaheadDropdownListComponent } from '../typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component';
|
|
6
|
+
import { NggvTypeaheadInputComponent } from './typeahead-input/typeahead-input.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../dropdown.component";
|
|
9
|
+
import * as i2 from "@sebgroup/green-angular/src/v-angular/input";
|
|
10
|
+
export class NggvTypeaheadDirective {
|
|
11
|
+
/** Function that filter the inputvalue */
|
|
12
|
+
set nggvTypeahead(value) {
|
|
13
|
+
this.typeaheadFunction = value;
|
|
14
|
+
// If inputsubscription already exists, unsubscribe and subscribe again
|
|
15
|
+
if (this.inputSubscription$) {
|
|
16
|
+
this.inputSubscription$?.unsubscribe();
|
|
17
|
+
this.inputSubscription$ = undefined;
|
|
18
|
+
this.handleInputChanges();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/** Forward text inputs to apply the filter function*/
|
|
22
|
+
onNggvInput(event) {
|
|
23
|
+
this.inputValue$.next(event);
|
|
24
|
+
}
|
|
25
|
+
/** Helper to the determine if the host is nggv-drodpown or nggv-input*/
|
|
26
|
+
get hostIsDropdown() {
|
|
27
|
+
return !!this.hostDropdown;
|
|
28
|
+
}
|
|
29
|
+
/** Predefined options */
|
|
30
|
+
get defaultNullishOption() {
|
|
31
|
+
return { key: null, label: this.unselectLabel || '\u00A0' };
|
|
32
|
+
}
|
|
33
|
+
get emptyOption() {
|
|
34
|
+
return { key: null, label: 'label.nomatchingoptions', disabled: true };
|
|
35
|
+
}
|
|
36
|
+
/** Name of the component. nggv-dropdown if NggvDropdownComponent or nggv-input if NggvInputComponent */
|
|
37
|
+
get localName() {
|
|
38
|
+
return this.element.nativeElement.localName;
|
|
39
|
+
}
|
|
40
|
+
constructor(viewContainerRef, element, hostDropdown, hostInput) {
|
|
41
|
+
this.viewContainerRef = viewContainerRef;
|
|
42
|
+
this.element = element;
|
|
43
|
+
this.hostDropdown = hostDropdown;
|
|
44
|
+
this.hostInput = hostInput;
|
|
45
|
+
/** Allow option to be unselected in the dropdown even if it is required. Defaults to true */
|
|
46
|
+
this.allowUnselect = true;
|
|
47
|
+
/** Emits the entered string the user has written in the input */
|
|
48
|
+
this.filterPhraseChange = new EventEmitter();
|
|
49
|
+
this.inputValue$ = new Subject();
|
|
50
|
+
this.onDestroy$ = new Subject();
|
|
51
|
+
}
|
|
52
|
+
ngOnInit() {
|
|
53
|
+
this.handleInputChanges();
|
|
54
|
+
this.inputValue$.next('');
|
|
55
|
+
if (this.hostIsDropdown)
|
|
56
|
+
this.createInput();
|
|
57
|
+
else
|
|
58
|
+
this.createDropdownList();
|
|
59
|
+
}
|
|
60
|
+
ngOnDestroy() {
|
|
61
|
+
this.onDestroy$.next(true);
|
|
62
|
+
this.onDestroy$.complete();
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* @internal
|
|
66
|
+
* Core functionality of typeahead. Emits input, then filters the result based on the supplied function
|
|
67
|
+
* If directive is applied on nggv-input, manually show or hide options in the list.
|
|
68
|
+
* If directive is applied on nggv-dropdown, let the dropdown itself choose when to open or close
|
|
69
|
+
*/
|
|
70
|
+
handleInputChanges() {
|
|
71
|
+
this.inputSubscription$ = this.inputValue$
|
|
72
|
+
.pipe(takeUntil(this.onDestroy$), distinctUntilChanged(), tap((inputValue) => this.filterPhraseChange.emit(inputValue)), this.typeaheadFunction ? this.typeaheadFunction : () => from([]), withLatestFrom(this.inputValue$))
|
|
73
|
+
.subscribe(([filteredValues, input]) => this.setOptions(filteredValues, input));
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* @internal
|
|
77
|
+
* Creates a nggv-input if the host itself is not a text-input
|
|
78
|
+
* Set styles to not display the input when closed
|
|
79
|
+
* Trigger filtering when changes occur in the field
|
|
80
|
+
* */
|
|
81
|
+
createInput() {
|
|
82
|
+
// Create the input component
|
|
83
|
+
this.inputComponent = this.viewContainerRef.createComponent(NggvTypeaheadInputComponent);
|
|
84
|
+
// Forward necessary info to component
|
|
85
|
+
this.inputComponent.setInput('hostComponent', this.hostDropdown);
|
|
86
|
+
this.inputComponent.setInput('selectedFormatter', this.selectedFormatter);
|
|
87
|
+
this.inputComponent.setInput('resultFormatter', this.resultFormatter);
|
|
88
|
+
// Listen to value changes
|
|
89
|
+
this.inputComponent.instance.nggvInput
|
|
90
|
+
.pipe(takeUntil(this.onDestroy$))
|
|
91
|
+
.subscribe((inputValue) => this.inputValue$.next(inputValue));
|
|
92
|
+
}
|
|
93
|
+
/** @internal Creates a nggv-dropdown-list if the host itself is a nggv-input */
|
|
94
|
+
createDropdownList() {
|
|
95
|
+
this.dropdownListComponent = this.viewContainerRef.createComponent(NggvTypeaheadDropdownListComponent);
|
|
96
|
+
this.dropdownListComponent.setInput('hostComponent', this.hostInput);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* @internal Sets the options the user can select.
|
|
100
|
+
* If the host is a nggv-dropdown, utilize the dropdown itself to display the options
|
|
101
|
+
* If the host is a nggv-input, use the created nggv-dropdown-list to displaye the options
|
|
102
|
+
* @param filteredValues The options to display in the dropdown
|
|
103
|
+
* @param emptyInput If the input is empty
|
|
104
|
+
*/
|
|
105
|
+
setOptions(filteredValues, input) {
|
|
106
|
+
if (!filteredValues)
|
|
107
|
+
return;
|
|
108
|
+
// Conditionally add empty or nullish option if it's allowed, the input is empty and does not already contain nullish
|
|
109
|
+
const allowNullish = this.allowUnselect &&
|
|
110
|
+
!input &&
|
|
111
|
+
!(Object.keys(filteredValues[0]).includes('key') &&
|
|
112
|
+
filteredValues[0].key == null);
|
|
113
|
+
if (filteredValues.length === 0) {
|
|
114
|
+
filteredValues = [this.emptyOption];
|
|
115
|
+
}
|
|
116
|
+
else if (allowNullish) {
|
|
117
|
+
filteredValues = [this.defaultNullishOption].concat(filteredValues);
|
|
118
|
+
}
|
|
119
|
+
if (this.hostIsDropdown) {
|
|
120
|
+
// Add nullish option when no input is written (or when dropdown is epanded and has a selection)
|
|
121
|
+
this.hostDropdown.allowControlNullishOption = false;
|
|
122
|
+
this.hostDropdown.options = this.formatOptions(filteredValues);
|
|
123
|
+
this.hostDropdown.textToHighlight = `${input || ''}`;
|
|
124
|
+
this.hostDropdown.detectChanges();
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if (!this.hostIsDropdown) {
|
|
128
|
+
this.dropdownListComponent.setInput('options', this.formatOptions(filteredValues));
|
|
129
|
+
this.dropdownListComponent.setInput('textToHighlight', `${input || ''}`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* @internal Formats the available options to display in the dropdown list
|
|
134
|
+
* @param options The selected value
|
|
135
|
+
* @returns The formatted value
|
|
136
|
+
*/
|
|
137
|
+
formatOptions(options) {
|
|
138
|
+
if (!options)
|
|
139
|
+
return [];
|
|
140
|
+
if (!this.resultFormatter)
|
|
141
|
+
return options;
|
|
142
|
+
return options.map((value) => value?.label ? this.resultFormatter?.(value) : value);
|
|
143
|
+
}
|
|
144
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvTypeaheadDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i1.NggvDropdownComponent, host: true, optional: true }, { token: i2.NggvInputComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
145
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: NggvTypeaheadDirective, isStandalone: true, selector: "nggv-input[nggvTypeahead], nggv-dropdown[nggvTypeahead]", inputs: { nggvTypeahead: "nggvTypeahead", resultFormatter: "resultFormatter", selectedFormatter: "selectedFormatter", allowUnselect: "allowUnselect", unselectLabel: "unselectLabel" }, outputs: { filterPhraseChange: "filterPhraseChange" }, host: { listeners: { "nggvInput": "onNggvInput($event)" } }, ngImport: i0 }); }
|
|
146
|
+
}
|
|
147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvTypeaheadDirective, decorators: [{
|
|
148
|
+
type: Directive,
|
|
149
|
+
args: [{
|
|
150
|
+
selector: 'nggv-input[nggvTypeahead], nggv-dropdown[nggvTypeahead]',
|
|
151
|
+
standalone: true,
|
|
152
|
+
}]
|
|
153
|
+
}], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i1.NggvDropdownComponent, decorators: [{
|
|
154
|
+
type: Optional
|
|
155
|
+
}, {
|
|
156
|
+
type: Host
|
|
157
|
+
}] }, { type: i2.NggvInputComponent, decorators: [{
|
|
158
|
+
type: Optional
|
|
159
|
+
}, {
|
|
160
|
+
type: Host
|
|
161
|
+
}] }], propDecorators: { nggvTypeahead: [{
|
|
162
|
+
type: Input
|
|
163
|
+
}], resultFormatter: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}], selectedFormatter: [{
|
|
166
|
+
type: Input
|
|
167
|
+
}], allowUnselect: [{
|
|
168
|
+
type: Input
|
|
169
|
+
}], unselectLabel: [{
|
|
170
|
+
type: Input
|
|
171
|
+
}], filterPhraseChange: [{
|
|
172
|
+
type: Output
|
|
173
|
+
}], onNggvInput: [{
|
|
174
|
+
type: HostListener,
|
|
175
|
+
args: ['nggvInput', ['$event']]
|
|
176
|
+
}] } });
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2Ryb3Bkb3duL3R5cGVhaGVhZC90eXBlYWhlYWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixJQUFJLEVBQ0osWUFBWSxFQUNaLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLElBQUksRUFFSixPQUFPLEVBRVAsU0FBUyxFQUNULEdBQUcsRUFDSCxjQUFjLEdBQ2YsTUFBTSxNQUFNLENBQUE7QUFHYixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUNoRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQTtBQUMzSCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTs7OztBQU16RixNQUFNLE9BQU8sc0JBQXNCO0lBT2pDLDBDQUEwQztJQUMxQyxJQUFhLGFBQWEsQ0FBQyxLQUFnRDtRQUN6RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFBO1FBRTlCLHVFQUF1RTtRQUN2RSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsQ0FBQTtZQUN0QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFBO1lBQ25DLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBaUJELHNEQUFzRDtJQUNmLFdBQVcsQ0FB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QUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUNyRCxDQUFBO0lBQ0gsQ0FBQzsrR0EzTFUsc0JBQXNCO21HQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlEQUF5RDtvQkFDbkUsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzswQkFzRUksUUFBUTs7MEJBQUksSUFBSTs7MEJBQ2hCLFFBQVE7OzBCQUFJLElBQUk7eUNBOUROLGFBQWE7c0JBQXpCLEtBQUs7Z0JBWUcsZUFBZTtzQkFBdkIsS0FBSztnQkFHRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFHZ0MsV0FBVztzQkFBakQsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnRSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0LFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmcm9tLFxuICBPcGVyYXRvckZ1bmN0aW9uLFxuICBTdWJqZWN0LFxuICBTdWJzY3JpcHRpb24sXG4gIHRha2VVbnRpbCxcbiAgdGFwLFxuICB3aXRoTGF0ZXN0RnJvbSxcbn0gZnJvbSAncnhqcydcblxuaW1wb3J0IHsgT3B0aW9uLCBPcHRpb25CYXNlIH0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL3YtYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTmdndklucHV0Q29tcG9uZW50IH0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL3YtYW5ndWxhci9pbnB1dCdcbmltcG9ydCB7IE5nZ3ZEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2Ryb3Bkb3duLmNvbXBvbmVudCdcbmltcG9ydCB7IE5nZ3ZUeXBlYWhlYWREcm9wZG93bkxpc3RDb21wb25lbnQgfSBmcm9tICcuLi90eXBlYWhlYWQvdHlwZWFoZWFkLWRyb3Bkb3duLWxpc3QvdHlwZWFoZWFkLWRyb3Bkb3duLWxpc3QuY29tcG9uZW50J1xuaW1wb3J0IHsgTmdndlR5cGVhaGVhZElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi90eXBlYWhlYWQtaW5wdXQvdHlwZWFoZWFkLWlucHV0LmNvbXBvbmVudCdcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnbmdndi1pbnB1dFtuZ2d2VHlwZWFoZWFkXSwgbmdndi1kcm9wZG93bltuZ2d2VHlwZWFoZWFkXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ3ZUeXBlYWhlYWREaXJlY3RpdmU8XG4gICAgSyA9IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgViA9IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgVCBleHRlbmRzIE9wdGlvbjxLLCBWPiA9IE9wdGlvbjxLLCBWPixcbiAgPlxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIC8qKiBGdW5jdGlvbiB0aGF0IGZpbHRlciB0aGUgaW5wdXR2YWx1ZSAqL1xuICBASW5wdXQoKSBzZXQgbmdndlR5cGVhaGVhZCh2YWx1ZTogT3BlcmF0b3JGdW5jdGlvbjxzdHJpbmcsIFRbXT4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnR5cGVhaGVhZEZ1bmN0aW9uID0gdmFsdWVcblxuICAgIC8vIElmIGlucHV0c3Vic2NyaXB0aW9uIGFscmVhZHkgZXhpc3RzLCB1bnN1YnNjcmliZSBhbmQgc3Vic2NyaWJlIGFnYWluXG4gICAgaWYgKHRoaXMuaW5wdXRTdWJzY3JpcHRpb24kKSB7XG4gICAgICB0aGlzLmlucHV0U3Vic2NyaXB0aW9uJD8udW5zdWJzY3JpYmUoKVxuICAgICAgdGhpcy5pbnB1dFN1YnNjcmlwdGlvbiQgPSB1bmRlZmluZWRcbiAgICAgIHRoaXMuaGFuZGxlSW5wdXRDaGFuZ2VzKClcbiAgICB9XG4gIH1cblxuICAvKiogRm9ybWF0cyBlYWNoIGl0ZW0gdGhhdCBpcyBkaXNwbGF5ZWQgYXMgYW4gb3B0aW9uLiBPbmx5IGFwcGxpZXMgZm9ybWF0IGlmIHRoZSBvcHRpb24gaWYgaXQgaW1wbGVtZW50IE9wdGlvbiBpbnRlcmZhY2UuICovXG4gIEBJbnB1dCgpIHJlc3VsdEZvcm1hdHRlcj86IChvcHRpb246IE9wdGlvbkJhc2U8YW55PikgPT4gc3RyaW5nXG5cbiAgLyoqIEZvcm1hdHMgdGhlIHNlbGVjdGVkIGl0ZW0gaW4gdGhlIGlucHV0IHdoZW4gZHJvcGRvd24gaXMgb3BlbmVkLiBJZiBubyBmdW5jdGlvbiBpcyBwcm92aWRlZCwgaXQgd2lsbCBkaXNwbGF5IHRoZSB2YWx1ZSBvZiB0aGUgc2VsZWN0ZWQgb2JqZWN0cyBsYWJlbCBwcm9wZXJ0eSAqL1xuICBASW5wdXQoKSBzZWxlY3RlZEZvcm1hdHRlcj86IChzZWxlY3RlZDogT3B0aW9uQmFzZTxhbnk+KSA9PiBzdHJpbmdcblxuICAvKiogQWxsb3cgb3B0aW9uIHRvIGJlIHVuc2VsZWN0ZWQgaW4gdGhlIGRyb3Bkb3duIGV2ZW4gaWYgaXQgaXMgcmVxdWlyZWQuIERlZmF1bHRzIHRvIHRydWUgKi9cbiAgQElucHV0KCkgYWxsb3dVbnNlbGVjdCA9IHRydWVcblxuICAvKiogQ3VzdG9tIGxhYmVsIGZvciB0aGUgdW5zZWxlY3Qgb3B0aW9uICovXG4gIEBJbnB1dCgpIHVuc2VsZWN0TGFiZWw/OiBzdHJpbmdcblxuICAvKiogRW1pdHMgdGhlIGVudGVyZWQgc3RyaW5nIHRoZSB1c2VyIGhhcyB3cml0dGVuIGluIHRoZSBpbnB1dCAqL1xuICBAT3V0cHV0KCkgZmlsdGVyUGhyYXNlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KClcblxuICAvKiogRm9yd2FyZCB0ZXh0IGlucHV0cyB0byBhcHBseSB0aGUgZmlsdGVyIGZ1bmN0aW9uKi9cbiAgQEhvc3RMaXN0ZW5lcignbmdndklucHV0JywgWyckZXZlbnQnXSkgb25OZ2d2SW5wdXQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuaW5wdXRWYWx1ZSQubmV4dChldmVudClcbiAgfVxuXG4gIC8qKiBIZWxwZXIgdG8gdGhlIGRldGVybWluZSBpZiB0aGUgaG9zdCBpcyBuZ2d2LWRyb2Rwb3duIG9yIG5nZ3YtaW5wdXQqL1xuICBnZXQgaG9zdElzRHJvcGRvd24oKSB7XG4gICAgcmV0dXJuICEhdGhpcy5ob3N0RHJvcGRvd25cbiAgfVxuXG4gIC8qKiBQcmVkZWZpbmVkIG9wdGlvbnMgKi9cbiAgZ2V0IGRlZmF1bHROdWxsaXNoT3B0aW9uKCk6IE9wdGlvbkJhc2U8YW55PiB7XG4gICAgcmV0dXJuIHsga2V5OiBudWxsLCBsYWJlbDogdGhpcy51bnNlbGVjdExhYmVsIHx8ICdcXHUwMEEwJyB9XG4gIH1cblxuICBnZXQgZW1wdHlPcHRpb24oKTogT3B0aW9uQmFzZTxhbnk+IHtcbiAgICByZXR1cm4geyBrZXk6IG51bGwsIGxhYmVsOiAnbGFiZWwubm9tYXRjaGluZ29wdGlvbnMnLCBkaXNhYmxlZDogdHJ1ZSB9XG4gIH1cblxuICAvKiogTmFtZSBvZiB0aGUgY29tcG9uZW50LiBuZ2d2LWRyb3Bkb3duIGlmIE5nZ3ZEcm9wZG93bkNvbXBvbmVudCBvciBuZ2d2LWlucHV0IGlmIE5nZ3ZJbnB1dENvbXBvbmVudCAqL1xuICBnZXQgbG9jYWxOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5sb2NhbE5hbWVcbiAgfVxuXG4gIGRyb3Bkb3duTGlzdENvbXBvbmVudCE6IENvbXBvbmVudFJlZjxOZ2d2VHlwZWFoZWFkRHJvcGRvd25MaXN0Q29tcG9uZW50PlxuICBpbnB1dENvbXBvbmVudCE6IENvbXBvbmVudFJlZjxOZ2d2VHlwZWFoZWFkSW5wdXRDb21wb25lbnQ+XG5cbiAgcHJpdmF0ZSB0eXBlYWhlYWRGdW5jdGlvbj86IE9wZXJhdG9yRnVuY3Rpb248c3RyaW5nLCBUW10+XG4gIHByaXZhdGUgaW5wdXRWYWx1ZSQgPSBuZXcgU3ViamVjdDxhbnk+KClcbiAgcHJpdmF0ZSBpbnB1dFN1YnNjcmlwdGlvbiQ/OiBTdWJzY3JpcHRpb25cbiAgcHJpdmF0ZSBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcml2YXRlIGhvc3REcm9wZG93bjogTmdndkRyb3Bkb3duQ29tcG9uZW50LFxuICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgcHJpdmF0ZSBob3N0SW5wdXQ6IE5nZ3ZJbnB1dENvbXBvbmVudCxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaGFuZGxlSW5wdXRDaGFuZ2VzKClcbiAgICB0aGlzLmlucHV0VmFsdWUkLm5leHQoJycpXG5cbiAgICBpZiAodGhpcy5ob3N0SXNEcm9wZG93bikgdGhpcy5jcmVhdGVJbnB1dCgpXG4gICAgZWxzZSB0aGlzLmNyZWF0ZURyb3Bkb3duTGlzdCgpXG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKVxuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpXG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIENvcmUgZnVuY3Rpb25hbGl0eSBvZiB0eXBlYWhlYWQuIEVtaXRzIGlucHV0LCB0aGVuIGZpbHRlcnMgdGhlIHJlc3VsdCBiYXNlZCBvbiB0aGUgc3VwcGxpZWQgZnVuY3Rpb25cbiAgICogSWYgZGlyZWN0aXZlIGlzIGFwcGxpZWQgb24gbmdndi1pbnB1dCwgbWFudWFsbHkgc2hvdyBvciBoaWRlIG9wdGlvbnMgaW4gdGhlIGxpc3QuXG4gICAqIElmIGRpcmVjdGl2ZSBpcyBhcHBsaWVkIG9uIG5nZ3YtZHJvcGRvd24sIGxldCB0aGUgZHJvcGRvd24gaXRzZWxmIGNob29zZSB3aGVuIHRvIG9wZW4gb3IgY2xvc2VcbiAgICovXG4gIHByaXZhdGUgaGFuZGxlSW5wdXRDaGFuZ2VzKCkge1xuICAgIHRoaXMuaW5wdXRTdWJzY3JpcHRpb24kID0gdGhpcy5pbnB1dFZhbHVlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0YXAoKGlucHV0VmFsdWUpID0+IHRoaXMuZmlsdGVyUGhyYXNlQ2hhbmdlLmVtaXQoaW5wdXRWYWx1ZSkpLFxuICAgICAgICB0aGlzLnR5cGVhaGVhZEZ1bmN0aW9uID8gdGhpcy50eXBlYWhlYWRGdW5jdGlvbiA6ICgpID0+IGZyb20oW10pLFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLmlucHV0VmFsdWUkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFtmaWx0ZXJlZFZhbHVlcywgaW5wdXRdKSA9PlxuICAgICAgICB0aGlzLnNldE9wdGlvbnMoZmlsdGVyZWRWYWx1ZXMsIGlucHV0KSxcbiAgICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogQ3JlYXRlcyBhIG5nZ3YtaW5wdXQgaWYgdGhlIGhvc3QgaXRzZWxmIGlzIG5vdCBhIHRleHQtaW5wdXRcbiAgICogU2V0IHN0eWxlcyB0byBub3QgZGlzcGxheSB0aGUgaW5wdXQgd2hlbiBjbG9zZWRcbiAgICogVHJpZ2dlciBmaWx0ZXJpbmcgd2hlbiBjaGFuZ2VzIG9jY3VyIGluIHRoZSBmaWVsZFxuICAgKiAqL1xuICBwcml2YXRlIGNyZWF0ZUlucHV0KCkge1xuICAgIC8vIENyZWF0ZSB0aGUgaW5wdXQgY29tcG9uZW50XG4gICAgdGhpcy5pbnB1dENvbXBvbmVudCA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoXG4gICAgICBOZ2d2VHlwZWFoZWFkSW5wdXRDb21wb25lbnQsXG4gICAgKVxuICAgIC8vIEZvcndhcmQgbmVjZXNzYXJ5IGluZm8gdG8gY29tcG9uZW50XG4gICAgdGhpcy5pbnB1dENvbXBvbmVudC5zZXRJbnB1dCgnaG9zdENvbXBvbmVudCcsIHRoaXMuaG9zdERyb3Bkb3duKVxuICAgIHRoaXMuaW5wdXRDb21wb25lbnQuc2V0SW5wdXQoJ3NlbGVjdGVkRm9ybWF0dGVyJywgdGhpcy5zZWxlY3RlZEZvcm1hdHRlcilcbiAgICB0aGlzLmlucHV0Q29tcG9uZW50LnNldElucHV0KCdyZXN1bHRGb3JtYXR0ZXInLCB0aGlzLnJlc3VsdEZvcm1hdHRlcilcbiAgICAvLyBMaXN0ZW4gdG8gdmFsdWUgY2hhbmdlc1xuICAgIHRoaXMuaW5wdXRDb21wb25lbnQuaW5zdGFuY2UubmdndklucHV0XG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGlucHV0VmFsdWUpID0+IHRoaXMuaW5wdXRWYWx1ZSQubmV4dChpbnB1dFZhbHVlKSlcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgQ3JlYXRlcyBhIG5nZ3YtZHJvcGRvd24tbGlzdCBpZiB0aGUgaG9zdCBpdHNlbGYgaXMgYSBuZ2d2LWlucHV0ICovXG4gIHByaXZhdGUgY3JlYXRlRHJvcGRvd25MaXN0KCkge1xuICAgIHRoaXMuZHJvcGRvd25MaXN0Q29tcG9uZW50ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgIE5nZ3ZUeXBlYWhlYWREcm9wZG93bkxpc3RDb21wb25lbnQsXG4gICAgKVxuICAgIHRoaXMuZHJvcGRvd25MaXN0Q29tcG9uZW50LnNldElucHV0KCdob3N0Q29tcG9uZW50JywgdGhpcy5ob3N0SW5wdXQpXG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIFNldHMgdGhlIG9wdGlvbnMgdGhlIHVzZXIgY2FuIHNlbGVjdC5cbiAgICogSWYgdGhlIGhvc3QgaXMgYSBuZ2d2LWRyb3Bkb3duLCB1dGlsaXplIHRoZSBkcm9wZG93biBpdHNlbGYgdG8gZGlzcGxheSB0aGUgb3B0aW9uc1xuICAgKiBJZiB0aGUgaG9zdCBpcyBhIG5nZ3YtaW5wdXQsIHVzZSB0aGUgY3JlYXRlZCBuZ2d2LWRyb3Bkb3duLWxpc3QgdG8gZGlzcGxheWUgdGhlIG9wdGlvbnNcbiAgICogQHBhcmFtIGZpbHRlcmVkVmFsdWVzIFRoZSBvcHRpb25zIHRvIGRpc3BsYXkgaW4gdGhlIGRyb3Bkb3duXG4gICAqIEBwYXJhbSBlbXB0eUlucHV0IElmIHRoZSBpbnB1dCBpcyBlbXB0eVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRPcHRpb25zKGZpbHRlcmVkVmFsdWVzOiBUW10sIGlucHV0OiBzdHJpbmcpIHtcbiAgICBpZiAoIWZpbHRlcmVkVmFsdWVzKSByZXR1cm5cbiAgICAvLyBDb25kaXRpb25hbGx5IGFkZCBlbXB0eSBvciBudWxsaXNoIG9wdGlvbiBpZiBpdCdzIGFsbG93ZWQsIHRoZSBpbnB1dCBpcyBlbXB0eSBhbmQgZG9lcyBub3QgYWxyZWFkeSBjb250YWluIG51bGxpc2hcbiAgICBjb25zdCBhbGxvd051bGxpc2ggPVxuICAgICAgdGhpcy5hbGxvd1Vuc2VsZWN0ICYmXG4gICAgICAhaW5wdXQgJiZcbiAgICAgICEoXG4gICAgICAgIE9iamVjdC5rZXlzKGZpbHRlcmVkVmFsdWVzWzBdKS5pbmNsdWRlcygna2V5JykgJiZcbiAgICAgICAgZmlsdGVyZWRWYWx1ZXNbMF0ua2V5ID09IG51bGxcbiAgICAgIClcbiAgICBpZiAoZmlsdGVyZWRWYWx1ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBmaWx0ZXJlZFZhbHVlcyA9IFt0aGlzLmVtcHR5T3B0aW9uXVxuICAgIH0gZWxzZSBpZiAoYWxsb3dOdWxsaXNoKSB7XG4gICAgICBmaWx0ZXJlZFZhbHVlcyA9IFt0aGlzLmRlZmF1bHROdWxsaXNoT3B0aW9uXS5jb25jYXQoZmlsdGVyZWRWYWx1ZXMpXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaG9zdElzRHJvcGRvd24pIHtcbiAgICAgIC8vIEFkZCBudWxsaXNoIG9wdGlvbiB3aGVuIG5vIGlucHV0IGlzIHdyaXR0ZW4gKG9yIHdoZW4gZHJvcGRvd24gaXMgZXBhbmRlZCBhbmQgaGFzIGEgc2VsZWN0aW9uKVxuICAgICAgdGhpcy5ob3N0RHJvcGRvd24uYWxsb3dDb250cm9sTnVsbGlzaE9wdGlvbiA9IGZhbHNlXG4gICAgICB0aGlzLmhvc3REcm9wZG93bi5vcHRpb25zID0gdGhpcy5mb3JtYXRPcHRpb25zKGZpbHRlcmVkVmFsdWVzKVxuICAgICAgdGhpcy5ob3N0RHJvcGRvd24udGV4dFRvSGlnaGxpZ2h0ID0gYCR7aW5wdXQgfHwgJyd9YFxuICAgICAgdGhpcy5ob3N0RHJvcGRvd24uZGV0ZWN0Q2hhbmdlcygpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaG9zdElzRHJvcGRvd24pIHtcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0Q29tcG9uZW50LnNldElucHV0KFxuICAgICAgICAnb3B0aW9ucycsXG4gICAgICAgIHRoaXMuZm9ybWF0T3B0aW9ucyhmaWx0ZXJlZFZhbHVlcyksXG4gICAgICApXG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdENvbXBvbmVudC5zZXRJbnB1dCgndGV4dFRvSGlnaGxpZ2h0JywgYCR7aW5wdXQgfHwgJyd9YClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIEZvcm1hdHMgdGhlIGF2YWlsYWJsZSBvcHRpb25zIHRvIGRpc3BsYXkgaW4gdGhlIGRyb3Bkb3duIGxpc3RcbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIHNlbGVjdGVkIHZhbHVlXG4gICAqIEByZXR1cm5zIFRoZSBmb3JtYXR0ZWQgdmFsdWVcbiAgICovXG4gIHByaXZhdGUgZm9ybWF0T3B0aW9ucyhvcHRpb25zOiBUW10pOiBPcHRpb25CYXNlPGFueT5bXSB7XG4gICAgaWYgKCFvcHRpb25zKSByZXR1cm4gW11cbiAgICBpZiAoIXRoaXMucmVzdWx0Rm9ybWF0dGVyKSByZXR1cm4gb3B0aW9uc1xuICAgIHJldHVybiBvcHRpb25zLm1hcCgodmFsdWUpID0+XG4gICAgICB2YWx1ZT8ubGFiZWwgPyB0aGlzLnJlc3VsdEZvcm1hdHRlcj8uKHZhbHVlKSA6IHZhbHVlLFxuICAgIClcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { NggvTooltipModule } from '@sebgroup/green-angular/src/v-angular/tooltip';
|
|
4
|
+
import { NggvTypeaheadDropdownListComponent } from './typeahead-dropdown-list/typeahead-dropdown-list.component';
|
|
5
|
+
import { NggvTypeaheadHighlightComponent } from './typeahead-highlight/typeahead-highlight.component';
|
|
6
|
+
import { NggvTypeaheadInputComponent } from './typeahead-input/typeahead-input.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class NggvTypeaheadModule {
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvTypeaheadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NggvTypeaheadModule, declarations: [NggvTypeaheadHighlightComponent,
|
|
11
|
+
NggvTypeaheadInputComponent,
|
|
12
|
+
NggvTypeaheadDropdownListComponent], imports: [CommonModule, NggvTooltipModule], exports: [NggvTypeaheadHighlightComponent,
|
|
13
|
+
NggvTypeaheadInputComponent,
|
|
14
|
+
NggvTypeaheadDropdownListComponent] }); }
|
|
15
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvTypeaheadModule, imports: [CommonModule, NggvTooltipModule] }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvTypeaheadModule, decorators: [{
|
|
18
|
+
type: NgModule,
|
|
19
|
+
args: [{
|
|
20
|
+
declarations: [
|
|
21
|
+
NggvTypeaheadHighlightComponent,
|
|
22
|
+
NggvTypeaheadInputComponent,
|
|
23
|
+
NggvTypeaheadDropdownListComponent,
|
|
24
|
+
],
|
|
25
|
+
imports: [CommonModule, NggvTooltipModule],
|
|
26
|
+
exports: [
|
|
27
|
+
NggvTypeaheadHighlightComponent,
|
|
28
|
+
NggvTypeaheadInputComponent,
|
|
29
|
+
NggvTypeaheadDropdownListComponent,
|
|
30
|
+
],
|
|
31
|
+
}]
|
|
32
|
+
}] });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2Ryb3Bkb3duL3R5cGVhaGVhZC90eXBlYWhlYWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXhDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtDQUErQyxDQUFBO0FBQ2pGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDZEQUE2RCxDQUFBO0FBQ2hILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFBO0FBQ3JHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFBOztBQWV6RixNQUFNLE9BQU8sbUJBQW1COytHQUFuQixtQkFBbUI7Z0hBQW5CLG1CQUFtQixpQkFYNUIsK0JBQStCO1lBQy9CLDJCQUEyQjtZQUMzQixrQ0FBa0MsYUFFMUIsWUFBWSxFQUFFLGlCQUFpQixhQUV2QywrQkFBK0I7WUFDL0IsMkJBQTJCO1lBQzNCLGtDQUFrQztnSEFHekIsbUJBQW1CLFlBUHBCLFlBQVksRUFBRSxpQkFBaUI7OzRGQU85QixtQkFBbUI7a0JBYi9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLCtCQUErQjt3QkFDL0IsMkJBQTJCO3dCQUMzQixrQ0FBa0M7cUJBQ25DO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQztvQkFDMUMsT0FBTyxFQUFFO3dCQUNQLCtCQUErQjt3QkFDL0IsMkJBQTJCO3dCQUMzQixrQ0FBa0M7cUJBQ25DO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBOZ2d2VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BzZWJncm91cC9ncmVlbi1hbmd1bGFyL3NyYy92LWFuZ3VsYXIvdG9vbHRpcCdcbmltcG9ydCB7IE5nZ3ZUeXBlYWhlYWREcm9wZG93bkxpc3RDb21wb25lbnQgfSBmcm9tICcuL3R5cGVhaGVhZC1kcm9wZG93bi1saXN0L3R5cGVhaGVhZC1kcm9wZG93bi1saXN0LmNvbXBvbmVudCdcbmltcG9ydCB7IE5nZ3ZUeXBlYWhlYWRIaWdobGlnaHRDb21wb25lbnQgfSBmcm9tICcuL3R5cGVhaGVhZC1oaWdobGlnaHQvdHlwZWFoZWFkLWhpZ2hsaWdodC5jb21wb25lbnQnXG5pbXBvcnQgeyBOZ2d2VHlwZWFoZWFkSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3R5cGVhaGVhZC1pbnB1dC90eXBlYWhlYWQtaW5wdXQuY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBOZ2d2VHlwZWFoZWFkSGlnaGxpZ2h0Q29tcG9uZW50LFxuICAgIE5nZ3ZUeXBlYWhlYWRJbnB1dENvbXBvbmVudCxcbiAgICBOZ2d2VHlwZWFoZWFkRHJvcGRvd25MaXN0Q29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ2d2VG9vbHRpcE1vZHVsZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBOZ2d2VHlwZWFoZWFkSGlnaGxpZ2h0Q29tcG9uZW50LFxuICAgIE5nZ3ZUeXBlYWhlYWRJbnB1dENvbXBvbmVudCxcbiAgICBOZ2d2VHlwZWFoZWFkRHJvcGRvd25MaXN0Q29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2d2VHlwZWFoZWFkTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { RouterLink } from '@angular/router';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/router";
|
|
5
|
+
/** Directive overrides routerLink attribute to allow external links. */
|
|
6
|
+
export class NggvExternalLinkDirective {
|
|
7
|
+
/**
|
|
8
|
+
* Creates a new ExternalLinkDirective
|
|
9
|
+
* @param link extracted routerLink metadata
|
|
10
|
+
*/
|
|
11
|
+
constructor(link) {
|
|
12
|
+
this.link = link;
|
|
13
|
+
/** If set to true, links will trigger a location change rather than an internal history push. */
|
|
14
|
+
this.external = false;
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
if (!this.external)
|
|
18
|
+
return;
|
|
19
|
+
this.link.onClick = () => {
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/dot-notation
|
|
21
|
+
window.location.href = this.link['commands'][0];
|
|
22
|
+
return false;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvExternalLinkDirective, deps: [{ token: i1.RouterLink }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
26
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: NggvExternalLinkDirective, selector: "a[routerLink]", inputs: { external: "external" }, ngImport: i0 }); }
|
|
27
|
+
}
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvExternalLinkDirective, decorators: [{
|
|
29
|
+
type: Directive,
|
|
30
|
+
args: [{
|
|
31
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
32
|
+
selector: 'a[routerLink]',
|
|
33
|
+
}]
|
|
34
|
+
}], ctorParameters: () => [{ type: i1.RouterLink }], propDecorators: { external: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}] } });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtbGluay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9leHRlcm5hbC1saW5rL2V4dGVybmFsLWxpbmsuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFBO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7O0FBRTVDLHdFQUF3RTtBQUt4RSxNQUFNLE9BQU8seUJBQXlCO0lBSXBDOzs7T0FHRztJQUNILFlBQXNCLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFQdEMsaUdBQWlHO1FBQ3hGLGFBQVEsR0FBRyxLQUFLLENBQUE7SUFNZ0IsQ0FBQztJQUUxQyxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTTtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUU7WUFDdkIsMkRBQTJEO1lBQzNELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDL0MsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDLENBQUE7SUFDSCxDQUFDOytHQWpCVSx5QkFBeUI7bUdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxlQUFlO2lCQUMxQjsrRUFHVSxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5cbi8qKiBEaXJlY3RpdmUgb3ZlcnJpZGVzIHJvdXRlckxpbmsgYXR0cmlidXRlIHRvIGFsbG93IGV4dGVybmFsIGxpbmtzLiAqL1xuQERpcmVjdGl2ZSh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnYVtyb3V0ZXJMaW5rXScsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ3ZFeHRlcm5hbExpbmtEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKiogSWYgc2V0IHRvIHRydWUsIGxpbmtzIHdpbGwgdHJpZ2dlciBhIGxvY2F0aW9uIGNoYW5nZSByYXRoZXIgdGhhbiBhbiBpbnRlcm5hbCBoaXN0b3J5IHB1c2guICovXG4gIEBJbnB1dCgpIGV4dGVybmFsID0gZmFsc2VcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBFeHRlcm5hbExpbmtEaXJlY3RpdmVcbiAgICogQHBhcmFtIGxpbmsgZXh0cmFjdGVkIHJvdXRlckxpbmsgbWV0YWRhdGFcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBsaW5rOiBSb3V0ZXJMaW5rKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5leHRlcm5hbCkgcmV0dXJuXG4gICAgdGhpcy5saW5rLm9uQ2xpY2sgPSAoKSA9PiB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2RvdC1ub3RhdGlvblxuICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB0aGlzLmxpbmtbJ2NvbW1hbmRzJ11bMF1cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { NggvExternalLinkDirective } from './external-link.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class NggvExternalLinkDirectiveModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvExternalLinkDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NggvExternalLinkDirectiveModule, declarations: [NggvExternalLinkDirective], imports: [CommonModule], exports: [NggvExternalLinkDirective] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvExternalLinkDirectiveModule, imports: [CommonModule] }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvExternalLinkDirectiveModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [NggvExternalLinkDirective],
|
|
14
|
+
imports: [CommonModule],
|
|
15
|
+
exports: [NggvExternalLinkDirective],
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtbGluay5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9leHRlcm5hbC1saW5rL2V4dGVybmFsLWxpbmsubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXhDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJCQUEyQixDQUFBOztBQU9yRSxNQUFNLE9BQU8sK0JBQStCOytHQUEvQiwrQkFBK0I7Z0hBQS9CLCtCQUErQixpQkFKM0IseUJBQXlCLGFBQzlCLFlBQVksYUFDWix5QkFBeUI7Z0hBRXhCLCtCQUErQixZQUhoQyxZQUFZOzs0RkFHWCwrQkFBK0I7a0JBTDNDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3pDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7aUJBQ3JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBOZ2d2RXh0ZXJuYWxMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi9leHRlcm5hbC1saW5rLmRpcmVjdGl2ZSdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTmdndkV4dGVybmFsTGlua0RpcmVjdGl2ZV0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBleHBvcnRzOiBbTmdndkV4dGVybmFsTGlua0RpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5nZ3ZFeHRlcm5hbExpbmtEaXJlY3RpdmVNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './external-link.directive';
|
|
2
|
+
export * from './external-link.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9leHRlcm5hbC1saW5rL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUE7QUFDekMsY0FBYyx3QkFBd0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZXh0ZXJuYWwtbGluay5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2V4dGVybmFsLWxpbmsubW9kdWxlJ1xuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"error.fieldinputmask": "Invalid value pattern",
|
|
3
|
+
"error.fieldrequired": "Field must have content",
|
|
4
|
+
"error.fieldmaxlength": "Field content should not be longer than {{requiredLength}} characters",
|
|
5
|
+
"label.defaultlabel": "Label",
|
|
6
|
+
"label.maxlength": "characters left",
|
|
7
|
+
"label.optional": "Optional",
|
|
8
|
+
"button_cancel": "Cancel",
|
|
9
|
+
"button_apply": "Apply",
|
|
10
|
+
"button_save": "Save",
|
|
11
|
+
"text_dialogue": "You can supply the content seen here either through the <code>[content]=\"string\"</code> property or</br>by passing children between the opening and closing tags <code><c-dialog> ...children </c-dialog></code>"
|
|
12
|
+
}
|