@f1falcha/stimulus 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion-config.scss +18 -0
- package/accordion/accordion-item/accordion-item.component.d.ts +11 -0
- package/accordion/accordion-item-body/accordion-item-body.component.d.ts +10 -0
- package/accordion/accordion-item-header/accordion-item-header.component.d.ts +15 -0
- package/accordion/accordion.d.ts +12 -0
- package/accordion/accordion.icon.d.ts +3 -0
- package/accordion/accordion.scss +41 -0
- package/account-card/account-card-config.scss +36 -0
- package/account-card/account-card-header/account-card-header-config.scss +9 -0
- package/account-card/account-card-header/account-card-header.component.d.ts +12 -0
- package/account-card/account-card-header/account-card-header.scss +11 -0
- package/account-card/account-card.component.d.ts +16 -0
- package/account-card/account-card.scss +19 -0
- package/alert/alert-animation.d.ts +6 -0
- package/alert/alert-config.d.ts +26 -0
- package/alert/alert-config.scss +43 -0
- package/alert/alert-icon.d.ts +3 -0
- package/alert/alert-ref.d.ts +11 -0
- package/alert/alert.d.ts +23 -0
- package/alert/alert.scss +91 -0
- package/alert/alert.service.d.ts +31 -0
- package/avatar/avatar-config.scss +12 -0
- package/avatar/avatar.d.ts +21 -0
- package/avatar/avatar.scss +2 -0
- package/badge/badge-config.scss +68 -0
- package/badge/badge.d.ts +17 -0
- package/badge/badge.scss +21 -0
- package/bank-logo.provider.d.ts +7 -0
- package/bordered-section/bordered-section-config.scss +24 -0
- package/bordered-section/bordered-section.d.ts +15 -0
- package/bordered-section/bordered-section.scss +22 -0
- package/box-shadow/box-shadow-config.scss +18 -0
- package/button/button-config.scss +342 -0
- package/button/button.d.ts +10 -0
- package/button/button.scss +62 -0
- package/button-group/button-group-config.scss +12 -0
- package/button-group/button-group-header/button-group-header-config.scss +9 -0
- package/button-group/button-group-header/button-group-header.d.ts +8 -0
- package/button-group/button-group-header/button-group-header.scss +5 -0
- package/button-group/button-group.d.ts +11 -0
- package/button-group/buttton-group.scss +19 -0
- package/button-spinner/button-spinner-config.scss +15 -0
- package/button-spinner/button-spinner.scss +30 -0
- package/card/card-config.scss +15 -0
- package/card/card.component.d.ts +8 -0
- package/card/card.scss +14 -0
- package/chart/chart-config.scss +21 -0
- package/chart/chart.component.d.ts +21 -0
- package/chart/chart.component.scss +34 -0
- package/checkbox/checkbox-config.scss +62 -0
- package/checkbox/checkbox.scss +45 -0
- package/checkbox-dropdown/checkbox-dropdown.component.d.ts +139 -0
- package/checkbox-dropdown/checkbox-dropdown.component.scss +11 -0
- package/checkbox-dropdown/checkbox-dropdown.icon.d.ts +3 -0
- package/clipboard/clipboard-config.scss +23 -0
- package/clipboard/clipboard.component.d.ts +15 -0
- package/clipboard/clipboard.component.scss +37 -0
- package/clipboard/clipboard.icon.d.ts +3 -0
- package/color/cherry.scss +19 -0
- package/color/chilli.scss +19 -0
- package/color/comet.scss +19 -0
- package/color/cotton-candy.scss +19 -0
- package/color/default.scss +154 -0
- package/color/emerald.scss +19 -0
- package/color/goblin.scss +19 -0
- package/color/jacaranda.scss +19 -0
- package/color/mars.scss +19 -0
- package/color/orchid.scss +19 -0
- package/color/spaceship.scss +19 -0
- package/color/summer.scss +19 -0
- package/color/tiger-lily.scss +19 -0
- package/color-wrapper/color-wrapper-config.scss +37 -0
- package/color-wrapper/color-wrapper.d.ts +17 -0
- package/color-wrapper/color-wrapper.scss +23 -0
- package/column-seperator/column-separator-config.scss +16 -0
- package/column-seperator/column-separator.d.ts +14 -0
- package/column-seperator/column-separator.scss +25 -0
- package/column-text/column-text.config.scss +12 -0
- package/column-text/column-text.d.ts +11 -0
- package/column-text/column-text.scss +22 -0
- package/container/container-config.scss +12 -0
- package/container/container.component.d.ts +12 -0
- package/container/container.scss +19 -0
- package/custom-datepicker/custom-datepicker-config.scss +50 -0
- package/custom-datepicker/custom-datepicker.component.d.ts +80 -0
- package/custom-datepicker/custom-datepicker.component.scss +127 -0
- package/custom-datepicker/custom-datepicker.model.d.ts +18 -0
- package/custom-datepicker/datepicker.icon.d.ts +3 -0
- package/custom-datepicker/timepicker/timepicker.component.d.ts +37 -0
- package/custom-datepicker/timepicker/timepicker.component.scss +79 -0
- package/data-list/data-list.config.scss +35 -0
- package/data-list/data-list.d.ts +13 -0
- package/data-list/data-list.scss +67 -0
- package/date-range-picker/date-range-picker.d.ts +40 -0
- package/datepicker/datepicker.config.scss +0 -0
- package/datepicker/datepicker.d.ts +45 -0
- package/datepicker/datepicker.scss +0 -0
- package/datepicker-icon/datepicker-icon-config.scss +10 -0
- package/datepicker-icon/datepicker-icon.d.ts +6 -0
- package/datepicker-icon/datepicker-icon.scss +7 -0
- package/datepicker.provider.d.ts +2 -0
- package/detail-panel/detail-panel-config.scss +16 -0
- package/detail-panel/detail-panel-row/detail-panel-column/detail-panel-column-config.scss +11 -0
- package/detail-panel/detail-panel-row/detail-panel-column/detail-panel-column.d.ts +6 -0
- package/detail-panel/detail-panel-row/detail-panel-column/detail-panel-column.scss +15 -0
- package/detail-panel/detail-panel-row/detail-panel-row.d.ts +6 -0
- package/detail-panel/detail-panel-row/detail-panel-row.scss +5 -0
- package/detail-panel/detail-panel-title/detail-panel-title-config.scss +14 -0
- package/detail-panel/detail-panel-title/detail-panel-title.d.ts +7 -0
- package/detail-panel/detail-panel-title/detail-panel-title.scss +16 -0
- package/detail-panel/detail-panel.d.ts +11 -0
- package/detail-panel/detail-panel.scss +50 -0
- package/dialog/dialog-body/dialog-body.component.d.ts +6 -0
- package/dialog/dialog-config.scss +24 -0
- package/dialog/dialog-container/dialog-container-config.scss +9 -0
- package/dialog/dialog-container/dialog-container.component.d.ts +6 -0
- package/dialog/dialog-container/dialog-container.scss +6 -0
- package/dialog/dialog-footer/dialog-footer.component.d.ts +6 -0
- package/dialog/dialog-footer/dialog-footer.scss +6 -0
- package/dialog/dialog-header/dialog-header-config.scss +14 -0
- package/dialog/dialog-header/dialog-header.component.d.ts +10 -0
- package/dialog/dialog-header/dialog-header.scss +16 -0
- package/dialog/dialog-icon.d.ts +3 -0
- package/dialog/dialog.component.d.ts +12 -0
- package/dialog/dialog.scss +27 -0
- package/dialog.provider.d.ts +3 -0
- package/dialog.ref.d.ts +4 -0
- package/dialog.service.d.ts +7 -0
- package/dropdown/context-menu-config.scss +23 -0
- package/dropdown/context-menu-content/context-menu-content.d.ts +9 -0
- package/dropdown/context-menu-item.d.ts +10 -0
- package/dropdown/context-menu-list/context-menu-list.d.ts +9 -0
- package/dropdown/context-menu.d.ts +19 -0
- package/dropdown/context-menu.scss +41 -0
- package/error-page-container/error-content/error-content-config.scss +29 -0
- package/error-page-container/error-content/error-content.d.ts +24 -0
- package/error-page-container/error-content/error-content.scss +58 -0
- package/error-page-container/error-page-container.d.ts +6 -0
- package/error-page-container/error-page-container.scss +15 -0
- package/esm2022/accordion/accordion-item/accordion-item.component.mjs +23 -0
- package/esm2022/accordion/accordion-item-body/accordion-item-body.component.mjs +18 -0
- package/esm2022/accordion/accordion-item-header/accordion-item-header.component.mjs +41 -0
- package/esm2022/accordion/accordion.icon.mjs +25 -0
- package/esm2022/accordion/accordion.mjs +14 -0
- package/esm2022/account-card/account-card-header/account-card-header.component.mjs +30 -0
- package/esm2022/account-card/account-card.component.mjs +64 -0
- package/esm2022/alert/alert-animation.mjs +9 -0
- package/esm2022/alert/alert-config.mjs +13 -0
- package/esm2022/alert/alert-icon.mjs +33 -0
- package/esm2022/alert/alert-ref.mjs +23 -0
- package/esm2022/alert/alert.mjs +50 -0
- package/esm2022/alert/alert.service.mjs +112 -0
- package/esm2022/avatar/avatar.mjs +91 -0
- package/esm2022/badge/badge.mjs +77 -0
- package/esm2022/bank-logo.provider.mjs +12 -0
- package/esm2022/bordered-section/bordered-section.mjs +70 -0
- package/esm2022/button/button.mjs +26 -0
- package/esm2022/button-group/button-group-header/button-group-header.mjs +24 -0
- package/esm2022/button-group/button-group.mjs +41 -0
- package/esm2022/card/card.component.mjs +28 -0
- package/esm2022/chart/chart.component.mjs +70 -0
- package/esm2022/checkbox-dropdown/checkbox-dropdown.component.mjs +232 -0
- package/esm2022/checkbox-dropdown/checkbox-dropdown.icon.mjs +14 -0
- package/esm2022/clipboard/clipboard.component.mjs +36 -0
- package/esm2022/clipboard/clipboard.icon.mjs +6 -0
- package/esm2022/color-wrapper/color-wrapper.mjs +82 -0
- package/esm2022/column-seperator/column-separator.mjs +62 -0
- package/esm2022/column-text/column-text.mjs +38 -0
- package/esm2022/container/container.component.mjs +46 -0
- package/esm2022/custom-datepicker/custom-datepicker.component.mjs +364 -0
- package/esm2022/custom-datepicker/custom-datepicker.model.mjs +12 -0
- package/esm2022/custom-datepicker/datepicker.icon.mjs +7 -0
- package/esm2022/custom-datepicker/timepicker/timepicker.component.mjs +195 -0
- package/esm2022/data-list/data-list.mjs +46 -0
- package/esm2022/date-range-picker/date-range-picker.mjs +207 -0
- package/esm2022/datepicker/datepicker.mjs +153 -0
- package/esm2022/datepicker-icon/datepicker-icon.mjs +18 -0
- package/esm2022/datepicker.provider.mjs +6 -0
- package/esm2022/detail-panel/detail-panel-row/detail-panel-column/detail-panel-column.mjs +15 -0
- package/esm2022/detail-panel/detail-panel-row/detail-panel-row.mjs +15 -0
- package/esm2022/detail-panel/detail-panel-title/detail-panel-title.mjs +19 -0
- package/esm2022/detail-panel/detail-panel.mjs +36 -0
- package/esm2022/dialog/dialog-body/dialog-body.component.mjs +16 -0
- package/esm2022/dialog/dialog-container/dialog-container.component.mjs +16 -0
- package/esm2022/dialog/dialog-footer/dialog-footer.component.mjs +16 -0
- package/esm2022/dialog/dialog-header/dialog-header.component.mjs +25 -0
- package/esm2022/dialog/dialog-icon.mjs +8 -0
- package/esm2022/dialog/dialog.component.mjs +36 -0
- package/esm2022/dialog.provider.mjs +5 -0
- package/esm2022/dialog.ref.mjs +4 -0
- package/esm2022/dialog.service.mjs +15 -0
- package/esm2022/dropdown/context-menu-content/context-menu-content.mjs +18 -0
- package/esm2022/dropdown/context-menu-item.mjs +28 -0
- package/esm2022/dropdown/context-menu-list/context-menu-list.mjs +18 -0
- package/esm2022/dropdown/context-menu.mjs +61 -0
- package/esm2022/error-page-container/error-content/error-content.mjs +49 -0
- package/esm2022/error-page-container/error-page-container.mjs +18 -0
- package/esm2022/extract-inital/extract-initial.mjs +21 -0
- package/esm2022/f1softinternational-stimulus.mjs +5 -0
- package/esm2022/file-uploader/file-uploader-icon.mjs +13 -0
- package/esm2022/file-uploader/file-uploader.mjs +274 -0
- package/esm2022/file-uploader/file-uploader.ref.mjs +3 -0
- package/esm2022/file-uploader/file-uploader.service.mjs +26 -0
- package/esm2022/filter/filter.mjs +173 -0
- package/esm2022/form/form-control/form-control-action.mjs +18 -0
- package/esm2022/form/form-control/form-control-icon.mjs +18 -0
- package/esm2022/form/form-control/form-field.mjs +86 -0
- package/esm2022/form/form-control-wrapper/form-control-wrapper.component.mjs +22 -0
- package/esm2022/form/form-error-messages.mjs +43 -0
- package/esm2022/form/form-message/form-message.mjs +30 -0
- package/esm2022/form/select-input-field/select-input-field.mjs +14 -0
- package/esm2022/form/validate-and-submit.mjs +54 -0
- package/esm2022/full-container/full-container.component.mjs +30 -0
- package/esm2022/grid/grid-item.component.mjs +24 -0
- package/esm2022/grid/grid.component.mjs +56 -0
- package/esm2022/grid-row/grid-row.mjs +18 -0
- package/esm2022/icon/icons.mjs +619 -0
- package/esm2022/image-card/illustration.pipe.mjs +57 -0
- package/esm2022/image-card/image-card.component.mjs +22 -0
- package/esm2022/image-panel/image-panel.component.mjs +88 -0
- package/esm2022/info-column/info-column.mjs +18 -0
- package/esm2022/info-slider/info-slider.component.mjs +50 -0
- package/esm2022/inline-alert/inline-alert.mjs +51 -0
- package/esm2022/inline-group/inline-group.component.mjs +32 -0
- package/esm2022/input/input.mjs +25 -0
- package/esm2022/label/label.mjs +18 -0
- package/esm2022/layout/layout.component.mjs +23 -0
- package/esm2022/link/link.mjs +79 -0
- package/esm2022/media-preview/media-preview-icon.mjs +41 -0
- package/esm2022/media-preview/media-preview-modal/media-preview-modal.mjs +128 -0
- package/esm2022/media-preview/media-preview.mjs +131 -0
- package/esm2022/media-preview/media_preview.service.mjs +31 -0
- package/esm2022/menu/menu-icon.mjs +29 -0
- package/esm2022/menu/menu.component.mjs +151 -0
- package/esm2022/nebular-icon.mjs +179 -0
- package/esm2022/otp-input/otp-input.component.mjs +106 -0
- package/esm2022/otp-input/otp-input.icon.mjs +13 -0
- package/esm2022/page-container/page-container-info/page-container-info.component.mjs +28 -0
- package/esm2022/page-container/page-container.component.mjs +63 -0
- package/esm2022/page-header/page-header.component.mjs +47 -0
- package/esm2022/page-header/page-header.icons.mjs +8 -0
- package/esm2022/page-header/page-sub-heading/page-sub-heading.component.mjs +12 -0
- package/esm2022/page-loader/page-loader.component.mjs +47 -0
- package/esm2022/pagination/pagination.icon.mjs +11 -0
- package/esm2022/pagination/pagination.mjs +170 -0
- package/esm2022/popover-content/popover-content-item/popover-content-item.component.mjs +15 -0
- package/esm2022/popover-content/popover-content.component.mjs +23 -0
- package/esm2022/preview-box/preview-box.component.mjs +73 -0
- package/esm2022/progress-bar/progress-bar.component.mjs +31 -0
- package/esm2022/progress-chart/progress-chart.component.mjs +87 -0
- package/esm2022/public-api.mjs +141 -0
- package/esm2022/radio-card-group/radio-card/radio-card.component.mjs +86 -0
- package/esm2022/radio-card-group/radio-card-group.component.mjs +61 -0
- package/esm2022/regex-checker/regex-checker-icon.mjs +18 -0
- package/esm2022/regex-checker/regex-checker.mjs +77 -0
- package/esm2022/regex-checker/regex-validity-icon.pipe.mjs +25 -0
- package/esm2022/ribbon/ribbon-icon.mjs +8 -0
- package/esm2022/ribbon/ribbon.mjs +37 -0
- package/esm2022/round-checkbox/round-checkbox.component.mjs +43 -0
- package/esm2022/row/column/column.component.mjs +19 -0
- package/esm2022/row/row.component.mjs +32 -0
- package/esm2022/scrollable-content/scrollable-content.component.mjs +22 -0
- package/esm2022/section-header/section-header.component.mjs +29 -0
- package/esm2022/section-row/section-row.mjs +35 -0
- package/esm2022/section-separator/section-separator.mjs +69 -0
- package/esm2022/section-shell/section-shell.component.mjs +45 -0
- package/esm2022/select/select.component.mjs +137 -0
- package/esm2022/select-card/select-card-icon.mjs +24 -0
- package/esm2022/select-card/select-card.component.mjs +117 -0
- package/esm2022/select-country/select-country.component.mjs +86 -0
- package/esm2022/shell/checker-sidebar/checker-sidebar.component.mjs +19 -0
- package/esm2022/shell/maker-sidebar/maker-sidebar.component.mjs +19 -0
- package/esm2022/shell/nebular-icons.mjs +180 -0
- package/esm2022/shell/shell-icons.mjs +474 -0
- package/esm2022/shell/shell-sidebar/shell-sidebar.component.mjs +38 -0
- package/esm2022/shell/shell.component.mjs +77 -0
- package/esm2022/side-drawer/side-drawer.mjs +15 -0
- package/esm2022/side-drawer/side-drawer.service.mjs +71 -0
- package/esm2022/size/component-size.mjs +2 -0
- package/esm2022/spinner/spinner.mjs +32 -0
- package/esm2022/stepper/step/step.mjs +20 -0
- package/esm2022/stepper/step/step.pipe.mjs +21 -0
- package/esm2022/stepper/step-header/step-header.mjs +29 -0
- package/esm2022/stepper/stepper-button/stepper-next.mjs +21 -0
- package/esm2022/stepper/stepper-button/stepper-previous.mjs +21 -0
- package/esm2022/stepper/stepper.mjs +56 -0
- package/esm2022/stimulus.module.mjs +891 -0
- package/esm2022/table/table-column/scl-table-column.mjs +54 -0
- package/esm2022/table/table-icon.mjs +13 -0
- package/esm2022/table/table-text/scl-table-text.mjs +51 -0
- package/esm2022/table/table.config.mjs +15 -0
- package/esm2022/table/table.mjs +186 -0
- package/esm2022/table-action-control/table-action-control.component.mjs +20 -0
- package/esm2022/tabset/tab/tab.component.mjs +29 -0
- package/esm2022/tabset/tab-directive/tabset.directive.mjs +22 -0
- package/esm2022/tabset/tabset.component.mjs +40 -0
- package/esm2022/taglist/tag/tag.component.mjs +51 -0
- package/esm2022/taglist/tag/tag.directive.mjs +30 -0
- package/esm2022/taglist/taglist.component.mjs +39 -0
- package/esm2022/text-decoration/text-decoration.component.mjs +26 -0
- package/esm2022/text-editor/text-editor.mjs +263 -0
- package/esm2022/theme.provider.mjs +9 -0
- package/esm2022/timeline/timeline.component.mjs +66 -0
- package/esm2022/timepicker/timepicker.component.mjs +377 -0
- package/esm2022/timepicker/timepicker.icon.mjs +7 -0
- package/esm2022/timepicker/timepicker.model.mjs +6 -0
- package/esm2022/toggle/toggle-description/toggle-description.mjs +18 -0
- package/esm2022/toggle/toggle.mjs +75 -0
- package/esm2022/toggle-password/toggle-password.component.mjs +54 -0
- package/esm2022/toggle-password/toggle-password.directive.mjs +26 -0
- package/esm2022/toggle-password/toggle-password.icon.mjs +13 -0
- package/esm2022/treeview/treeview-header/treeview-header.mjs +26 -0
- package/esm2022/treeview/treeview.icon.mjs +53 -0
- package/esm2022/treeview/treeview.mjs +319 -0
- package/esm2022/truncate/truncate.component.mjs +53 -0
- package/esm2022/typography/typography.mjs +168 -0
- package/extract-inital/extract-initial.d.ts +8 -0
- package/f1softinternational-stimulus-1.0.0.tgz +0 -0
- package/fesm2022/f1softinternational-stimulus.mjs +10275 -0
- package/file-uploader/file-upload-config.scss +48 -0
- package/file-uploader/file-upload.scss +77 -0
- package/file-uploader/file-uploader-icon.d.ts +3 -0
- package/file-uploader/file-uploader.d.ts +84 -0
- package/file-uploader/file-uploader.ref.d.ts +6 -0
- package/file-uploader/file-uploader.service.d.ts +11 -0
- package/filter/filter.d.ts +48 -0
- package/flag/_flags.scss +9 -0
- package/form/form-config.scss +14 -0
- package/form/form-control/form-control-action.d.ts +6 -0
- package/form/form-control/form-control-config.scss +9 -0
- package/form/form-control/form-control-icon.d.ts +6 -0
- package/form/form-control/form-control.scss +17 -0
- package/form/form-control/form-field.d.ts +26 -0
- package/form/form-control-wrapper/form-control-wrapper-config.scss +11 -0
- package/form/form-control-wrapper/form-control-wrapper.component.d.ts +8 -0
- package/form/form-control-wrapper/form-control-wrapper.scss +17 -0
- package/form/form-error-messages.d.ts +8 -0
- package/form/form-message/form-message-config.scss +7 -0
- package/form/form-message/form-message.d.ts +15 -0
- package/form/form-message/form-message.scss +6 -0
- package/form/form.scss +22 -0
- package/form/select-input-field/select-input-field-config.scss +13 -0
- package/form/select-input-field/select-input-field.d.ts +6 -0
- package/form/select-input-field/select-input-field.scss +43 -0
- package/form/validate-and-submit.d.ts +14 -0
- package/full-container/full-container-config.scss +16 -0
- package/full-container/full-container.component.d.ts +11 -0
- package/full-container/full-container.component.scss +54 -0
- package/grid/grid-config.scss +14 -0
- package/grid/grid-item.component.d.ts +8 -0
- package/grid/grid.component.d.ts +10 -0
- package/grid/grid.component.scss +26 -0
- package/grid-row/grid-row.config.scss +9 -0
- package/grid-row/grid-row.d.ts +6 -0
- package/grid-row/grid-row.scss +7 -0
- package/icon/icon.config.scss +9 -0
- package/icon/icon.scss +9 -0
- package/icon/icons.d.ts +3 -0
- package/image-card/illustration.pipe.d.ts +8 -0
- package/image-card/image-card-config.scss +29 -0
- package/image-card/image-card.component.d.ts +8 -0
- package/image-card/image-card.scss +37 -0
- package/image-panel/image-panel-config.scss +30 -0
- package/image-panel/image-panel.component.d.ts +26 -0
- package/image-panel/image-panel.component.scss +80 -0
- package/index.d.ts +6 -0
- package/info-column/info-column-config.scss +14 -0
- package/info-column/info-column.d.ts +7 -0
- package/info-column/info-column.scss +17 -0
- package/info-slider/info-slider-config.scss +10 -0
- package/info-slider/info-slider.component.d.ts +16 -0
- package/info-slider/info-slider.component.scss +21 -0
- package/inline-alert/inline-alert-config.scss +12 -0
- package/inline-alert/inline-alert.d.ts +20 -0
- package/inline-alert/inline-alert.scss +16 -0
- package/inline-group/inline-group.component.d.ts +10 -0
- package/inline-group/inline-group.component.scss +15 -0
- package/input/input-config.scss +57 -0
- package/input/input.d.ts +10 -0
- package/input/input.scss +68 -0
- package/label/label-config.scss +13 -0
- package/label/label.d.ts +6 -0
- package/label/label.scss +10 -0
- package/layout/layout.component.d.ts +9 -0
- package/link/link-config.scss +89 -0
- package/link/link.d.ts +19 -0
- package/link/link.scss +157 -0
- package/media-preview/media-preview-config.scss +15 -0
- package/media-preview/media-preview-icon.d.ts +3 -0
- package/media-preview/media-preview-modal/media-preview-modal.d.ts +31 -0
- package/media-preview/media-preview-modal/media-preview-modal.scss +148 -0
- package/media-preview/media-preview-modal/media-previw-modal-config.scss +44 -0
- package/media-preview/media-preview.d.ts +48 -0
- package/media-preview/media-preview.scss +59 -0
- package/media-preview/media_preview.service.d.ts +16 -0
- package/menu/menu-config.scss +33 -0
- package/menu/menu-icon.d.ts +3 -0
- package/menu/menu.component.d.ts +47 -0
- package/menu/menu.component.scss +80 -0
- package/nebular-icon.d.ts +3 -0
- package/otp-input/otp-input-config.scss +22 -0
- package/otp-input/otp-input.component.d.ts +33 -0
- package/otp-input/otp-input.component.scss +52 -0
- package/otp-input/otp-input.icon.d.ts +3 -0
- package/package.json +57 -0
- package/page-container/page-container-config.scss +9 -0
- package/page-container/page-container-info/page-container-info-config.scss +9 -0
- package/page-container/page-container-info/page-container-info.component.d.ts +10 -0
- package/page-container/page-container-info/page-container-info.scss +6 -0
- package/page-container/page-container.component.d.ts +14 -0
- package/page-container/page-container.component.scss +11 -0
- package/page-header/page-header-config.scss +28 -0
- package/page-header/page-header.component.d.ts +18 -0
- package/page-header/page-header.component.scss +37 -0
- package/page-header/page-header.icons.d.ts +3 -0
- package/page-header/page-sub-heading/page-sub-heading.component.d.ts +6 -0
- package/page-loader/page-loader-config.scss +23 -0
- package/page-loader/page-loader.component.d.ts +13 -0
- package/page-loader/page-loader.component.scss +44 -0
- package/pagination/pagination-config.scss +24 -0
- package/pagination/pagination.d.ts +47 -0
- package/pagination/pagination.icon.d.ts +3 -0
- package/pagination/pagination.scss +67 -0
- package/popover-content/popover-content-item/popover-content-item-config.scss +22 -0
- package/popover-content/popover-content-item/popover-content-item.component.d.ts +6 -0
- package/popover-content/popover-content-item/popover-content-item.scss +36 -0
- package/popover-content/popover-content.component.d.ts +14 -0
- package/preview-box/preview-box-config.scss +52 -0
- package/preview-box/preview-box.component.d.ts +31 -0
- package/preview-box/preview-box.component.scss +101 -0
- package/progress-bar/progress-bar-config.scss +14 -0
- package/progress-bar/progress-bar.component.d.ts +10 -0
- package/progress-bar/progress-bar.component.scss +13 -0
- package/progress-chart/progress-chart-config.scss +15 -0
- package/progress-chart/progress-chart.component.d.ts +21 -0
- package/progress-chart/progress-chart.component.scss +41 -0
- package/public-api.d.ts +135 -0
- package/radio-button/radio-button-config.scss +47 -0
- package/radio-button/radio-button.scss +89 -0
- package/radio-card-group/radio-card/radio-card-config.scss +31 -0
- package/radio-card-group/radio-card/radio-card.component.d.ts +30 -0
- package/radio-card-group/radio-card/radio-card.component.scss +88 -0
- package/radio-card-group/radio-card-group-config.scss +9 -0
- package/radio-card-group/radio-card-group.component.d.ts +20 -0
- package/radio-card-group/radio-card-group.scss +7 -0
- package/regex-checker/regex-checker-config.scss +24 -0
- package/regex-checker/regex-checker-icon.d.ts +3 -0
- package/regex-checker/regex-checker.d.ts +29 -0
- package/regex-checker/regex-checker.scss +38 -0
- package/regex-checker/regex-validity-icon.pipe.d.ts +8 -0
- package/ribbon/ribbon-config.scss +21 -0
- package/ribbon/ribbon-icon.d.ts +3 -0
- package/ribbon/ribbon.d.ts +14 -0
- package/ribbon/ribbon.scss +29 -0
- package/round-checkbox/round-checkbox-config.scss +15 -0
- package/round-checkbox/round-checkbox.component.d.ts +16 -0
- package/round-checkbox/round-checkbox.component.scss +23 -0
- package/row/column/column.component.d.ts +9 -0
- package/row/row-config.scss +10 -0
- package/row/row.component.d.ts +9 -0
- package/row/row.scss +22 -0
- package/scrollable-content/scrollable-content-config.scss +11 -0
- package/scrollable-content/scrollable-content.component.d.ts +8 -0
- package/scrollable-content/scrollable-content.component.scss +28 -0
- package/section-header/section-header-config.scss +18 -0
- package/section-header/section-header.component.d.ts +9 -0
- package/section-header/section-header.component.scss +32 -0
- package/section-row/section-row-config.scss +9 -0
- package/section-row/section-row.d.ts +9 -0
- package/section-row/section-row.scss +23 -0
- package/section-separator/section-separator-config.scss +19 -0
- package/section-separator/section-separator.d.ts +15 -0
- package/section-separator/section-separator.scss +28 -0
- package/section-shell/section-shell-config.scss +23 -0
- package/section-shell/section-shell.component.d.ts +12 -0
- package/section-shell/section-shell.component.scss +30 -0
- package/select/select-config.scss +78 -0
- package/select/select.component.d.ts +44 -0
- package/select/select.scss +174 -0
- package/select-card/select-card-config.scss +32 -0
- package/select-card/select-card-icon.d.ts +3 -0
- package/select-card/select-card.component.d.ts +38 -0
- package/select-card/select-card.component.scss +66 -0
- package/select-country/select-country-config.scss +10 -0
- package/select-country/select-country.component.d.ts +33 -0
- package/select-country/select-country.component.scss +34 -0
- package/shell/checker-sidebar/checker-sidebar-config.scss +21 -0
- package/shell/checker-sidebar/checker-sidebar.component.d.ts +8 -0
- package/shell/checker-sidebar/checker-sidebar.component.scss +34 -0
- package/shell/maker-sidebar/maker-sidebar-config.scss +21 -0
- package/shell/maker-sidebar/maker-sidebar.component.d.ts +8 -0
- package/shell/maker-sidebar/maker-sidebar.component.scss +34 -0
- package/shell/nebular-icons.d.ts +3 -0
- package/shell/shell-config.component.scss +25 -0
- package/shell/shell-icons.d.ts +3 -0
- package/shell/shell-sidebar/shell-sidebar-config.scss +43 -0
- package/shell/shell-sidebar/shell-sidebar.component.d.ts +14 -0
- package/shell/shell-sidebar/shell-sidebar.component.scss +106 -0
- package/shell/shell-sidebar-menu/shell-sidebar-menu-config.scss +56 -0
- package/shell/shell-sidebar-menu/shell-sidebar-menu.scss +76 -0
- package/shell/shell.component.d.ts +21 -0
- package/shell/shell.component.scss +55 -0
- package/side-drawer/side-drawer-config.scss +20 -0
- package/side-drawer/side-drawer.d.ts +8 -0
- package/side-drawer/side-drawer.scss +52 -0
- package/side-drawer/side-drawer.service.d.ts +20 -0
- package/size/component-size.d.ts +2 -0
- package/spinner/spinner.d.ts +11 -0
- package/stepper/step/step.d.ts +8 -0
- package/stepper/step/step.pipe.d.ts +8 -0
- package/stepper/step-header/step-header.d.ts +12 -0
- package/stepper/stepper-button/stepper-next.d.ts +7 -0
- package/stepper/stepper-button/stepper-previous.d.ts +7 -0
- package/stepper/stepper.config.scss +37 -0
- package/stepper/stepper.d.ts +19 -0
- package/stepper/stepper.scss +149 -0
- package/stimulus-config.scss +98 -0
- package/stimulus.module.d.ts +136 -0
- package/stimulus.scss +107 -0
- package/table/table-column/scl-table-column.d.ts +26 -0
- package/table/table-config.scss +63 -0
- package/table/table-icon.d.ts +3 -0
- package/table/table-text/scl-table-text.d.ts +13 -0
- package/table/table.config.d.ts +19 -0
- package/table/table.d.ts +58 -0
- package/table/table.scss +232 -0
- package/table-action-control/table-action-control-config.scss +12 -0
- package/table-action-control/table-action-control.component.d.ts +8 -0
- package/table-action-control/table-action-control.component.scss +14 -0
- package/tabset/route-tab/route-tab-config.scss +30 -0
- package/tabset/route-tab/route-tab.scss +44 -0
- package/tabset/tab/tab.component.d.ts +9 -0
- package/tabset/tab-directive/tabset-config.scss +49 -0
- package/tabset/tab-directive/tabset.directive.d.ts +7 -0
- package/tabset/tab-directive/tabset.scss +154 -0
- package/tabset/tabset.component.d.ts +14 -0
- package/tabset/tabset.component.scss +79 -0
- package/taglist/tag/tag-config.scss +30 -0
- package/taglist/tag/tag.component.d.ts +17 -0
- package/taglist/tag/tag.directive.d.ts +16 -0
- package/taglist/tag/tag.scss +43 -0
- package/taglist/taglist.component.d.ts +12 -0
- package/text-decoration/text-decoration.component.d.ts +9 -0
- package/text-decoration/text-decoration.scss +7 -0
- package/text-editor/text-editor.config.scss +23 -0
- package/text-editor/text-editor.d.ts +60 -0
- package/text-editor/text-editor.scss +74 -0
- package/theme.provider.d.ts +2 -0
- package/timeline/timeline-config.scss +49 -0
- package/timeline/timeline.component.d.ts +26 -0
- package/timeline/timeline.component.scss +126 -0
- package/timepicker/timepicker-config.scss +41 -0
- package/timepicker/timepicker.component.d.ts +74 -0
- package/timepicker/timepicker.component.scss +111 -0
- package/timepicker/timepicker.icon.d.ts +3 -0
- package/timepicker/timepicker.model.d.ts +13 -0
- package/toggle/toggle-config.scss +51 -0
- package/toggle/toggle-description/toggle-description.d.ts +6 -0
- package/toggle/toggle.d.ts +19 -0
- package/toggle/toggle.scss +31 -0
- package/toggle-password/toggle-password-config.scss +12 -0
- package/toggle-password/toggle-password.component.d.ts +21 -0
- package/toggle-password/toggle-password.directive.d.ts +13 -0
- package/toggle-password/toggle-password.icon.d.ts +3 -0
- package/toggle-password/toggle-password.scss +16 -0
- package/treeview/treeview-config.scss +86 -0
- package/treeview/treeview-header/treeview-header.d.ts +12 -0
- package/treeview/treeview.d.ts +66 -0
- package/treeview/treeview.icon.d.ts +3 -0
- package/treeview/treeview.scss +278 -0
- package/truncate/truncate.component.d.ts +16 -0
- package/truncate/truncate.scss +18 -0
- package/typography/font.scss +28 -0
- package/typography/typography-config.scss +73 -0
- package/typography/typography.d.ts +37 -0
- package/typography/typography.scss +47 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
|
+
import { Directive, HostBinding, Input } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
class SclSectionSeparator {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.line = 'false';
|
|
7
|
+
}
|
|
8
|
+
get addLine() {
|
|
9
|
+
return coerceBooleanProperty(this.line);
|
|
10
|
+
}
|
|
11
|
+
get micro() {
|
|
12
|
+
return this.gap === 'micro';
|
|
13
|
+
}
|
|
14
|
+
get tiny() {
|
|
15
|
+
return this.gap === 'tiny';
|
|
16
|
+
}
|
|
17
|
+
get small() {
|
|
18
|
+
return this.gap === 'small';
|
|
19
|
+
}
|
|
20
|
+
get medium() {
|
|
21
|
+
return this.gap === 'medium';
|
|
22
|
+
}
|
|
23
|
+
get large() {
|
|
24
|
+
return this.gap === 'large';
|
|
25
|
+
}
|
|
26
|
+
get giant() {
|
|
27
|
+
return this.gap === 'giant';
|
|
28
|
+
}
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSectionSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
30
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: SclSectionSeparator, isStandalone: true, selector: "section[gap]", inputs: { gap: "gap", line: "line" }, host: { properties: { "class.scl-section-line": "this.addLine", "class.scl-section-separator--micro": "this.micro", "class.scl-section-separator--tiny": "this.tiny", "class.scl-section-separator--small": "this.small", "class.scl-section-separator--medium": "this.medium", "class.scl-section-separator--large": "this.large", "class.scl-section-separator--giant": "this.giant" }, classAttribute: "scl-section-separator" }, ngImport: i0 }); }
|
|
31
|
+
}
|
|
32
|
+
export { SclSectionSeparator };
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSectionSeparator, decorators: [{
|
|
34
|
+
type: Directive,
|
|
35
|
+
args: [{
|
|
36
|
+
selector: 'section[gap]',
|
|
37
|
+
standalone: true,
|
|
38
|
+
host: {
|
|
39
|
+
class: 'scl-section-separator',
|
|
40
|
+
},
|
|
41
|
+
}]
|
|
42
|
+
}], propDecorators: { gap: [{
|
|
43
|
+
type: Input,
|
|
44
|
+
args: [{ required: true }]
|
|
45
|
+
}], line: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], addLine: [{
|
|
48
|
+
type: HostBinding,
|
|
49
|
+
args: ['class.scl-section-line']
|
|
50
|
+
}], micro: [{
|
|
51
|
+
type: HostBinding,
|
|
52
|
+
args: ['class.scl-section-separator--micro']
|
|
53
|
+
}], tiny: [{
|
|
54
|
+
type: HostBinding,
|
|
55
|
+
args: ['class.scl-section-separator--tiny']
|
|
56
|
+
}], small: [{
|
|
57
|
+
type: HostBinding,
|
|
58
|
+
args: ['class.scl-section-separator--small']
|
|
59
|
+
}], medium: [{
|
|
60
|
+
type: HostBinding,
|
|
61
|
+
args: ['class.scl-section-separator--medium']
|
|
62
|
+
}], large: [{
|
|
63
|
+
type: HostBinding,
|
|
64
|
+
args: ['class.scl-section-separator--large']
|
|
65
|
+
}], giant: [{
|
|
66
|
+
type: HostBinding,
|
|
67
|
+
args: ['class.scl-section-separator--giant']
|
|
68
|
+
}] } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1zZXBhcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFja2FnZXMvc2VjdGlvbi1zZXBhcmF0b3Ivc2VjdGlvbi1zZXBhcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUU5RCxNQU9hLG1CQUFtQjtJQVBoQztRQVVhLFNBQUksR0FBWSxPQUFPLENBQUM7S0FvQ3BDO0lBbENHLElBQ0ksT0FBTztRQUNQLE9BQU8scUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssT0FBTyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUNJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssT0FBTyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUNJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssT0FBTyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssT0FBTyxDQUFDO0lBQ2hDLENBQUM7OEdBdENRLG1CQUFtQjtrR0FBbkIsbUJBQW1COztTQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFQL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsdUJBQXVCO3FCQUNqQztpQkFDSjs4QkFFOEIsR0FBRztzQkFBN0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRWhCLElBQUk7c0JBQVosS0FBSztnQkFHRixPQUFPO3NCQURWLFdBQVc7dUJBQUMsd0JBQXdCO2dCQU1qQyxLQUFLO3NCQURSLFdBQVc7dUJBQUMsb0NBQW9DO2dCQU03QyxJQUFJO3NCQURQLFdBQVc7dUJBQUMsbUNBQW1DO2dCQU01QyxLQUFLO3NCQURSLFdBQVc7dUJBQUMsb0NBQW9DO2dCQU03QyxNQUFNO3NCQURULFdBQVc7dUJBQUMscUNBQXFDO2dCQU05QyxLQUFLO3NCQURSLFdBQVc7dUJBQUMsb0NBQW9DO2dCQU03QyxLQUFLO3NCQURSLFdBQVc7dUJBQUMsb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnc2VjdGlvbltnYXBdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdzY2wtc2VjdGlvbi1zZXBhcmF0b3InLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFNjbFNlY3Rpb25TZXBhcmF0b3Ige1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGdhcCE6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGxpbmU/OiBzdHJpbmcgPSAnZmFsc2UnO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zY2wtc2VjdGlvbi1saW5lJylcbiAgICBnZXQgYWRkTGluZSgpIHtcbiAgICAgICAgcmV0dXJuIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh0aGlzLmxpbmUpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc2NsLXNlY3Rpb24tc2VwYXJhdG9yLS1taWNybycpXG4gICAgZ2V0IG1pY3JvKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nYXAgPT09ICdtaWNybyc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zY2wtc2VjdGlvbi1zZXBhcmF0b3ItLXRpbnknKVxuICAgIGdldCB0aW55KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nYXAgPT09ICd0aW55JztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNjbC1zZWN0aW9uLXNlcGFyYXRvci0tc21hbGwnKVxuICAgIGdldCBzbWFsbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2FwID09PSAnc21hbGwnO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc2NsLXNlY3Rpb24tc2VwYXJhdG9yLS1tZWRpdW0nKVxuICAgIGdldCBtZWRpdW0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdhcCA9PT0gJ21lZGl1bSc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zY2wtc2VjdGlvbi1zZXBhcmF0b3ItLWxhcmdlJylcbiAgICBnZXQgbGFyZ2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdhcCA9PT0gJ2xhcmdlJztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNjbC1zZWN0aW9uLXNlcGFyYXRvci0tZ2lhbnQnKVxuICAgIGdldCBnaWFudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2FwID09PSAnZ2lhbnQnO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, HostBinding, Input } from '@angular/core';
|
|
3
|
+
import { RouterModule } from '@angular/router';
|
|
4
|
+
import { NbCardModule, NbMenuModule, NbSidebarService } from '@nebular/theme';
|
|
5
|
+
import { SclMenuComponent } from '../menu/menu.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/router";
|
|
8
|
+
import * as i2 from "@nebular/theme";
|
|
9
|
+
class SclSectionShellComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.items = [];
|
|
12
|
+
}
|
|
13
|
+
get front() {
|
|
14
|
+
return this.iconPosition === 'front';
|
|
15
|
+
}
|
|
16
|
+
get center() {
|
|
17
|
+
return this.iconPosition === 'center';
|
|
18
|
+
}
|
|
19
|
+
get back() {
|
|
20
|
+
return this.iconPosition === 'back';
|
|
21
|
+
}
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSectionShellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SclSectionShellComponent, isStandalone: true, selector: "scl-section-shell", inputs: { items: "items", iconPosition: "iconPosition" }, host: { properties: { "class.scl-section-shell--front": "this.front", "class.scl-section-shell--center": "this.center", "class.scl-section-shell--back": "this.back" }, classAttribute: "scl-section-shell" }, providers: [NbSidebarService], ngImport: i0, template: "<aside>\n <nb-card class=\"scl-section-shell__sidebar\">\n <ng-content select=\"scl-sidebar-header\"></ng-content>\n <scl-menu [items]=\"items\"></scl-menu>\n </nb-card>\n</aside>\n\n<section class=\"scl-section-shell__content\">\n <router-outlet></router-outlet>\n <ng-content></ng-content>\n</section>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: NbMenuModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: SclMenuComponent, selector: "scl-menu", inputs: ["items"] }, { kind: "ngmodule", type: NbCardModule }, { kind: "component", type: i2.NbCardComponent, selector: "nb-card", inputs: ["size", "status", "accent"] }] }); }
|
|
24
|
+
}
|
|
25
|
+
export { SclSectionShellComponent };
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSectionShellComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{ selector: 'scl-section-shell', standalone: true, imports: [CommonModule, NbMenuModule, RouterModule, SclMenuComponent, NbCardModule], host: {
|
|
29
|
+
class: 'scl-section-shell',
|
|
30
|
+
}, providers: [NbSidebarService], template: "<aside>\n <nb-card class=\"scl-section-shell__sidebar\">\n <ng-content select=\"scl-sidebar-header\"></ng-content>\n <scl-menu [items]=\"items\"></scl-menu>\n </nb-card>\n</aside>\n\n<section class=\"scl-section-shell__content\">\n <router-outlet></router-outlet>\n <ng-content></ng-content>\n</section>\n" }]
|
|
31
|
+
}], propDecorators: { items: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], iconPosition: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}], front: [{
|
|
36
|
+
type: HostBinding,
|
|
37
|
+
args: ['class.scl-section-shell--front']
|
|
38
|
+
}], center: [{
|
|
39
|
+
type: HostBinding,
|
|
40
|
+
args: ['class.scl-section-shell--center']
|
|
41
|
+
}], back: [{
|
|
42
|
+
type: HostBinding,
|
|
43
|
+
args: ['class.scl-section-shell--back']
|
|
44
|
+
}] } });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1zaGVsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFja2FnZXMvc2VjdGlvbi1zaGVsbC9zZWN0aW9uLXNoZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9wYWNrYWdlcy9zZWN0aW9uLXNoZWxsL3NlY3Rpb24tc2hlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFtQixZQUFZLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0YsT0FBTyxFQUFXLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFFbkUsTUFVYSx3QkFBd0I7SUFWckM7UUFXYSxVQUFLLEdBQWMsRUFBRSxDQUFDO0tBaUJsQztJQWRHLElBQ0ksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxPQUFPLENBQUM7SUFDekMsQ0FBQztJQUVELElBQ0ksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxRQUFRLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQ0ksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxNQUFNLENBQUM7SUFDeEMsQ0FBQzs4R0FqQlEsd0JBQXdCO2tHQUF4Qix3QkFBd0IseVVBRnRCLENBQUMsZ0JBQWdCLENBQUMsMEJDZGpDLDZVQVdBLDJDREZjLFlBQVksOEJBQUUsWUFBWSw4QkFBRSxZQUFZLHlNQUFFLGdCQUFnQix1RUFBRSxZQUFZOztTQU96RSx3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFWcEMsU0FBUzsrQkFDSSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLFFBRTdFO3dCQUNGLEtBQUssRUFBRSxtQkFBbUI7cUJBQzdCLGFBQ1UsQ0FBQyxnQkFBZ0IsQ0FBQzs4QkFHcEIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR0YsS0FBSztzQkFEUixXQUFXO3VCQUFDLGdDQUFnQztnQkFNekMsTUFBTTtzQkFEVCxXQUFXO3VCQUFDLGlDQUFpQztnQkFNMUMsSUFBSTtzQkFEUCxXQUFXO3VCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5iQ2FyZENvbXBvbmVudCwgTmJDYXJkTW9kdWxlLCBOYk1lbnVNb2R1bGUsIE5iU2lkZWJhclNlcnZpY2UgfSBmcm9tICdAbmVidWxhci90aGVtZSc7XG5pbXBvcnQgeyBTY2xNZW51LCBTY2xNZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vbWVudS9tZW51LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2NsLXNlY3Rpb24tc2hlbGwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmJNZW51TW9kdWxlLCBSb3V0ZXJNb2R1bGUsIFNjbE1lbnVDb21wb25lbnQsIE5iQ2FyZE1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlY3Rpb24tc2hlbGwuY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdzY2wtc2VjdGlvbi1zaGVsbCcsXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtOYlNpZGViYXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2NsU2VjdGlvblNoZWxsQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBpdGVtczogU2NsTWVudVtdID0gW107XG4gICAgQElucHV0KCkgaWNvblBvc2l0aW9uPzogc3RyaW5nO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zY2wtc2VjdGlvbi1zaGVsbC0tZnJvbnQnKVxuICAgIGdldCBmcm9udCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvblBvc2l0aW9uID09PSAnZnJvbnQnO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc2NsLXNlY3Rpb24tc2hlbGwtLWNlbnRlcicpXG4gICAgZ2V0IGNlbnRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvblBvc2l0aW9uID09PSAnY2VudGVyJztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNjbC1zZWN0aW9uLXNoZWxsLS1iYWNrJylcbiAgICBnZXQgYmFjaygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvblBvc2l0aW9uID09PSAnYmFjayc7XG4gICAgfVxufVxuIiwiPGFzaWRlPlxuICAgIDxuYi1jYXJkIGNsYXNzPVwic2NsLXNlY3Rpb24tc2hlbGxfX3NpZGViYXJcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2NsLXNpZGViYXItaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8c2NsLW1lbnUgW2l0ZW1zXT1cIml0ZW1zXCI+PC9zY2wtbWVudT5cbiAgICA8L25iLWNhcmQ+XG48L2FzaWRlPlxuXG48c2VjdGlvbiBjbGFzcz1cInNjbC1zZWN0aW9uLXNoZWxsX19jb250ZW50XCI+XG4gICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvc2VjdGlvbj5cbiJdfQ==
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';
|
|
3
|
+
import { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { NgSelectModule } from '@ng-select/ng-select';
|
|
5
|
+
import { debounceTime } from 'rxjs/operators';
|
|
6
|
+
import { SclText } from '../public-api';
|
|
7
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/forms";
|
|
10
|
+
import * as i2 from "@angular/common";
|
|
11
|
+
import * as i3 from "@ng-select/ng-select";
|
|
12
|
+
class SclSelectComponent {
|
|
13
|
+
set items(value) {
|
|
14
|
+
if (value) {
|
|
15
|
+
this.allData = value.map((item) => ({
|
|
16
|
+
...item,
|
|
17
|
+
isSelected: false,
|
|
18
|
+
}));
|
|
19
|
+
this.filteredData = this.allData;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
set readonly(value) {
|
|
23
|
+
this.isReadonly = coerceBooleanProperty(value);
|
|
24
|
+
}
|
|
25
|
+
get hasGroupBy() {
|
|
26
|
+
return this.allData.every(element => element.groupBy);
|
|
27
|
+
}
|
|
28
|
+
get hasSelectedItem() {
|
|
29
|
+
return this.filteredData.some((item) => item.isSelected);
|
|
30
|
+
}
|
|
31
|
+
constructor(formBuilder) {
|
|
32
|
+
this.formBuilder = formBuilder;
|
|
33
|
+
this.change = new EventEmitter();
|
|
34
|
+
this.placeholder = '';
|
|
35
|
+
this.bindLabel = 'label';
|
|
36
|
+
this.bindValue = 'value';
|
|
37
|
+
this.appendTo = 'body';
|
|
38
|
+
this.name = '';
|
|
39
|
+
this.notFoundText = 'No data found';
|
|
40
|
+
this.filteredData = [];
|
|
41
|
+
this.allData = [];
|
|
42
|
+
this.isReadonly = false;
|
|
43
|
+
this.onChange = () => { };
|
|
44
|
+
this.onTouch = () => { };
|
|
45
|
+
}
|
|
46
|
+
ngOnInit() {
|
|
47
|
+
this.initForm();
|
|
48
|
+
this.handleAccountFilter();
|
|
49
|
+
}
|
|
50
|
+
initForm() {
|
|
51
|
+
this.selectForm = this.formBuilder.group({
|
|
52
|
+
select: [null],
|
|
53
|
+
search: [''],
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
filterAccounts(value) {
|
|
57
|
+
this.filteredData = this.allData.filter(item => {
|
|
58
|
+
const searchedValue = new RegExp(value, 'i');
|
|
59
|
+
return searchedValue.test(item[this.bindLabel]);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
writeValue(value) {
|
|
63
|
+
this.selectForm.controls['select'].patchValue(value);
|
|
64
|
+
}
|
|
65
|
+
registerOnChange(fn) {
|
|
66
|
+
this.onChange = fn;
|
|
67
|
+
}
|
|
68
|
+
registerOnTouched(fn) {
|
|
69
|
+
this.onTouch = fn;
|
|
70
|
+
}
|
|
71
|
+
selectChange(event) {
|
|
72
|
+
if (event) {
|
|
73
|
+
this.filteredData.find((item) => (item.isSelected = false));
|
|
74
|
+
event.isSelected = true;
|
|
75
|
+
this.onChange(event[this.bindValue]);
|
|
76
|
+
this.change.emit(event);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
this.onChange('');
|
|
80
|
+
}
|
|
81
|
+
this.onTouch();
|
|
82
|
+
}
|
|
83
|
+
handleAccountFilter() {
|
|
84
|
+
const searchControl = this.selectForm.get('search');
|
|
85
|
+
if (searchControl) {
|
|
86
|
+
searchControl.valueChanges.pipe(debounceTime(500)).subscribe(value => this.filterAccounts(value));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
onDropdownClose() {
|
|
90
|
+
this.selectForm.controls['search'].patchValue('');
|
|
91
|
+
this.onTouch();
|
|
92
|
+
}
|
|
93
|
+
onClear() {
|
|
94
|
+
this.onChange(null);
|
|
95
|
+
}
|
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSelectComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
97
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SclSelectComponent, isStandalone: true, selector: "scl-select", inputs: { placeholder: "placeholder", items: "items", bindLabel: "bindLabel", bindValue: "bindValue", appendTo: "appendTo", name: "name", notFoundText: "notFoundText", readonly: "readonly" }, outputs: { change: "change" }, host: { classAttribute: "scl-select" }, providers: [
|
|
98
|
+
{
|
|
99
|
+
provide: NG_VALUE_ACCESSOR,
|
|
100
|
+
useExisting: forwardRef(() => SclSelectComponent),
|
|
101
|
+
multi: true,
|
|
102
|
+
},
|
|
103
|
+
], ngImport: i0, template: "<form [formGroup]=\"selectForm\">\n <ng-select\n name=\"select\"\n appendTo=\"body\"\n groupBy=\"groupBy\"\n dropdownPosition=\"auto\"\n [items]=\"filteredData\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n formControlName=\"select\"\n [placeholder]=\"placeholder\"\n (change)=\"selectChange($event)\"\n (close)=\"onDropdownClose()\"\n (clear)=\"onClear()\"\n [readonly]=\"isReadonly\">\n <ng-template ng-optgroup-tmp let-item=\"item\" *ngIf=\"hasGroupBy\">\n <div>\n {{ item.groupBy }}\n </div>\n </ng-template>\n\n <ng-template ng-label-tmp let-item=\"item\" *ngIf=\"hasSelectedItem\">\n <div>\n <span>{{ item[bindLabel] }}</span>\n </div>\n </ng-template>\n\n <ng-template ng-option-tmp let-item=\"item\">\n <div class=\"ng-option-label\" [class.selected]=\"item.isSelected\">\n {{ item[bindLabel] }}\n </div>\n </ng-template>\n\n <ng-template ng-notfound-tmp>\n <div class=\"ng-option ng-option-disabled\">No data found</div>\n </ng-template>\n </ng-select>\n</form>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3.NgOptgroupTemplateDirective, selector: "[ng-optgroup-tmp]" }, { kind: "directive", type: i3.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i3.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i3.NgNotFoundTemplateDirective, selector: "[ng-notfound-tmp]" }] }); }
|
|
104
|
+
}
|
|
105
|
+
export { SclSelectComponent };
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSelectComponent, decorators: [{
|
|
107
|
+
type: Component,
|
|
108
|
+
args: [{ selector: 'scl-select', standalone: true, host: {
|
|
109
|
+
class: 'scl-select',
|
|
110
|
+
}, providers: [
|
|
111
|
+
{
|
|
112
|
+
provide: NG_VALUE_ACCESSOR,
|
|
113
|
+
useExisting: forwardRef(() => SclSelectComponent),
|
|
114
|
+
multi: true,
|
|
115
|
+
},
|
|
116
|
+
], imports: [CommonModule, ReactiveFormsModule, NgSelectModule, SclText], template: "<form [formGroup]=\"selectForm\">\n <ng-select\n name=\"select\"\n appendTo=\"body\"\n groupBy=\"groupBy\"\n dropdownPosition=\"auto\"\n [items]=\"filteredData\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n formControlName=\"select\"\n [placeholder]=\"placeholder\"\n (change)=\"selectChange($event)\"\n (close)=\"onDropdownClose()\"\n (clear)=\"onClear()\"\n [readonly]=\"isReadonly\">\n <ng-template ng-optgroup-tmp let-item=\"item\" *ngIf=\"hasGroupBy\">\n <div>\n {{ item.groupBy }}\n </div>\n </ng-template>\n\n <ng-template ng-label-tmp let-item=\"item\" *ngIf=\"hasSelectedItem\">\n <div>\n <span>{{ item[bindLabel] }}</span>\n </div>\n </ng-template>\n\n <ng-template ng-option-tmp let-item=\"item\">\n <div class=\"ng-option-label\" [class.selected]=\"item.isSelected\">\n {{ item[bindLabel] }}\n </div>\n </ng-template>\n\n <ng-template ng-notfound-tmp>\n <div class=\"ng-option ng-option-disabled\">No data found</div>\n </ng-template>\n </ng-select>\n</form>\n" }]
|
|
117
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { change: [{
|
|
118
|
+
type: Output
|
|
119
|
+
}], placeholder: [{
|
|
120
|
+
type: Input
|
|
121
|
+
}], items: [{
|
|
122
|
+
type: Input,
|
|
123
|
+
args: [{ required: true }]
|
|
124
|
+
}], bindLabel: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], bindValue: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], appendTo: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}], name: [{
|
|
131
|
+
type: Input
|
|
132
|
+
}], notFoundText: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], readonly: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}] } });
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWNrYWdlcy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9wYWNrYWdlcy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQWdELGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQVc5RCxNQWdCYSxrQkFBa0I7SUFJM0IsSUFBK0IsS0FBSyxDQUFDLEtBQVk7UUFDN0MsSUFBSSxLQUFLLEVBQUU7WUFDUCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzNDLEdBQUcsSUFBSTtnQkFDUCxVQUFVLEVBQUUsS0FBSzthQUNwQixDQUFDLENBQUMsQ0FBQztZQUNKLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNwQztJQUNMLENBQUM7SUFRRCxJQUFhLFFBQVEsQ0FBQyxLQUF1QjtRQUN6QyxJQUFJLENBQUMsVUFBVSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFD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c0JBQWYsTUFBTTtnQkFFRSxXQUFXO3NCQUFuQixLQUFLO2dCQUN5QixLQUFLO3NCQUFuQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFVaEIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRU8sUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ1NlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNjbFRleHQgfSBmcm9tICcuLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbi8qIGVzbGludC1kaXNhYmxlICovXG5leHBvcnQgaW50ZXJmYWNlIFNjbFNlbGVjdCB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGdyb3VwQnk/OiBzdHJpbmc7XG4gICAgaXNTZWxlY3RlZD86IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2NsLXNlbGVjdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnc2NsLXNlbGVjdCcsXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTY2xTZWxlY3RDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBOZ1NlbGVjdE1vZHVsZSwgU2NsVGV4dF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjbFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuICAgIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBzZXQgaXRlbXModmFsdWU6IGFueVtdKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5hbGxEYXRhID0gdmFsdWUubWFwKChpdGVtOiBTY2xTZWxlY3QpID0+ICh7XG4gICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICBpc1NlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5hbGxEYXRhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KCkgYmluZExhYmVsOiBzdHJpbmcgPSAnbGFiZWwnO1xuICAgIEBJbnB1dCgpIGJpbmRWYWx1ZTogc3RyaW5nID0gJ3ZhbHVlJztcbiAgICBASW5wdXQoKSBhcHBlbmRUbzogc3RyaW5nID0gJ2JvZHknO1xuICAgIEBJbnB1dCgpIG5hbWU6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIG5vdEZvdW5kVGV4dDogc3RyaW5nID0gJ05vIGRhdGEgZm91bmQnO1xuXG4gICAgQElucHV0KCkgc2V0IHJlYWRvbmx5KHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNSZWFkb25seSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgc2VsZWN0Rm9ybSE6IEZvcm1Hcm91cDtcbiAgICBmaWx0ZXJlZERhdGE6IGFueVtdID0gW107XG4gICAgYWxsRGF0YTogYW55W10gPSBbXTtcbiAgICBpc1JlYWRvbmx5ID0gZmFsc2U7XG5cbiAgICBnZXQgaGFzR3JvdXBCeSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxsRGF0YS5ldmVyeShlbGVtZW50ID0+IGVsZW1lbnQuZ3JvdXBCeSk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1NlbGVjdGVkSXRlbSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyZWREYXRhLnNvbWUoKGl0ZW06IFNjbFNlbGVjdCkgPT4gaXRlbS5pc1NlbGVjdGVkKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlQWNjb3VudEZpbHRlcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdEZvcm0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0Rm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgc2VsZWN0OiBbbnVsbF0sXG4gICAgICAgICAgICBzZWFyY2g6IFsnJ10sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVyQWNjb3VudHModmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMuYWxsRGF0YS5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzZWFyY2hlZFZhbHVlID0gbmV3IFJlZ0V4cCh2YWx1ZSwgJ2knKTtcbiAgICAgICAgICAgIHJldHVybiBzZWFyY2hlZFZhbHVlLnRlc3QoaXRlbVt0aGlzLmJpbmRMYWJlbF0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZTogKHZhbDogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICBvblRvdWNoOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RGb3JtLmNvbnRyb2xzWydzZWxlY3QnXS5wYXRjaFZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoID0gZm47XG4gICAgfVxuXG4gICAgc2VsZWN0Q2hhbmdlKGV2ZW50OiBTY2xTZWxlY3QpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YS5maW5kKChpdGVtOiBTY2xTZWxlY3QpID0+IChpdGVtLmlzU2VsZWN0ZWQgPSBmYWxzZSkpO1xuICAgICAgICAgICAgZXZlbnQuaXNTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGV2ZW50W3RoaXMuYmluZFZhbHVlIGFzIGtleW9mIFNjbFNlbGVjdF0pO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdChldmVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKCcnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICB9XG5cbiAgICBoYW5kbGVBY2NvdW50RmlsdGVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWFyY2hDb250cm9sID0gdGhpcy5zZWxlY3RGb3JtLmdldCgnc2VhcmNoJyk7XG4gICAgICAgIGlmIChzZWFyY2hDb250cm9sKSB7XG4gICAgICAgICAgICBzZWFyY2hDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSg1MDApKS5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy5maWx0ZXJBY2NvdW50cyh2YWx1ZSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Ecm9wZG93bkNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdEZvcm0uY29udHJvbHNbJ3NlYXJjaCddLnBhdGNoVmFsdWUoJycpO1xuICAgICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICB9XG5cbiAgICBvbkNsZWFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuICAgIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwic2VsZWN0Rm9ybVwiPlxuICAgIDxuZy1zZWxlY3RcbiAgICAgICAgbmFtZT1cInNlbGVjdFwiXG4gICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgICAgIGdyb3VwQnk9XCJncm91cEJ5XCJcbiAgICAgICAgZHJvcGRvd25Qb3NpdGlvbj1cImF1dG9cIlxuICAgICAgICBbaXRlbXNdPVwiZmlsdGVyZWREYXRhXCJcbiAgICAgICAgW2JpbmRMYWJlbF09XCJiaW5kTGFiZWxcIlxuICAgICAgICBbYmluZFZhbHVlXT1cImJpbmRWYWx1ZVwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlbGVjdFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIChjaGFuZ2UpPVwic2VsZWN0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAoY2xvc2UpPVwib25Ecm9wZG93bkNsb3NlKClcIlxuICAgICAgICAoY2xlYXIpPVwib25DbGVhcigpXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cImlzUmVhZG9ubHlcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nLW9wdGdyb3VwLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiAqbmdJZj1cImhhc0dyb3VwQnlcIj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5ncm91cEJ5IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bmctdGVtcGxhdGUgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiICpuZ0lmPVwiaGFzU2VsZWN0ZWRJdGVtXCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW1bYmluZExhYmVsXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5nLW9wdGlvbi1sYWJlbFwiIFtjbGFzcy5zZWxlY3RlZF09XCJpdGVtLmlzU2VsZWN0ZWRcIj5cbiAgICAgICAgICAgICAgICB7eyBpdGVtW2JpbmRMYWJlbF0gfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1ub3Rmb3VuZC10bXA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmctb3B0aW9uIG5nLW9wdGlvbi1kaXNhYmxlZFwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXNlbGVjdD5cbjwvZm9ybT5cbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export const SELECT_CARD_ICONS = {
|
|
2
|
+
language: `
|
|
3
|
+
<svg viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
4
|
+
<path d="M14.006 2.334c-6.43 0-11.671 5.242-11.671 11.672 0 1.904.504 3.695 1.318 5.29l-1.27 4.525c-.292 1.058.75 2.1 1.791 1.791l4.526-1.27c1.595.814 3.37 1.319 5.29 1.319 6.43 0 11.672-5.242 11.672-11.672.016-6.413-5.226-11.655-11.656-11.655zm0 21.585a9.833 9.833 0 0 1-4.818-1.253.864.864 0 0 0-.667-.082L4.207 23.79l1.204-4.314a.872.872 0 0 0-.08-.667 9.834 9.834 0 0 1-1.254-4.819 9.9 9.9 0 0 1 9.913-9.913 9.9 9.9 0 0 1 9.914 9.913c0 5.486-4.412 9.93-9.898 9.93z" fill="#0B4A6F"/>
|
|
5
|
+
<path d="m13.746 17.343-2.914-7.586a.863.863 0 0 0-.814-.554.887.887 0 0 0-.814.554L6.29 17.343c-.179.455.05.96.505 1.14a.877.877 0 0 0 1.14-.506l.683-1.774h2.833l.683 1.774c.18.456.684.684 1.124.505a.883.883 0 0 0 .488-1.14zm-4.477-2.898.75-1.937.748 1.937H9.269zM20.322 17.505a.875.875 0 0 1-.879-.879v-1.953c-.211.081-.455.13-.716.162 0 .066.016.13.016.18 0 .586-.195 1.041-.586 1.367-.374.31-.895.472-1.562.472-.489 0-.944-.098-1.335-.277-.407-.179-.798-.52-1.172-.976a7.379 7.379 0 0 1-.798-1.286.915.915 0 0 1-.032-.717.956.956 0 0 1 .504-.504c.098-.033.212-.065.31-.065a.88.88 0 0 1 .797.504c.228.489.456.863.684 1.14.293.342.602.504.944.504.293 0 .39-.097.39-.374 0-.228-.064-.44-.195-.619a4.659 4.659 0 0 1-.7.066h-.228l-.097-1.547.228-.016c.407-.016.618-.098.716-.147.065-.032.146-.114.146-.293 0-.114 0-.293-.455-.293-.326 0-.7.114-1.124.326l-.227.114-.554-1.498.18-.098a4.32 4.32 0 0 1 1.953-.472c.634 0 1.139.18 1.513.521.375.342.57.814.57 1.368 0 .44-.13.83-.39 1.155h.08c.212 0 .424-.048.603-.13.18-.081.342-.211.521-.39v-.782h-.667V10.44h3.565v1.628h-.993v4.558c0 .488-.391.88-.88.88h-.13z" fill="#0B4A6F"/>
|
|
6
|
+
</svg>
|
|
7
|
+
`,
|
|
8
|
+
'chevron-up': `
|
|
9
|
+
<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
10
|
+
<path d="M4.65 9.888 8 6.538l3.35 3.35a.38.38 0 1 0 .538-.538L8.27 5.73a.38.38 0 0 0-.538 0L4.11 9.35a.38.38 0 1 0 .54.538z" fill="currentColor"/>
|
|
11
|
+
</svg>
|
|
12
|
+
`,
|
|
13
|
+
'chevron-down': `
|
|
14
|
+
<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
15
|
+
<path d="M14.1872 8.47247L10 12.6597L5.81281 8.47247C5.62685 8.28652 5.32542 8.28652 5.13947 8.47247C4.95351 8.65843 4.95351 8.95986 5.13947 9.14581L9.66333 13.6697C9.75643 13.7628 9.87809 13.8092 10 13.8092C10.1219 13.8092 10.2436 13.7628 10.3367 13.6697L14.8605 9.14581C15.0465 8.95986 15.0465 8.65843 14.8605 8.47247C14.6746 8.28652 14.3731 8.28652 14.1872 8.47247Z" fill="currentColor"/>
|
|
16
|
+
</svg>
|
|
17
|
+
`,
|
|
18
|
+
search: `
|
|
19
|
+
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
20
|
+
<path d="M10.108 2a8.108 8.108 0 0 1 6.448 13.026l5.128 5.13a1.08 1.08 0 0 1-1.427 1.618l-.102-.09-5.13-5.128A8.108 8.108 0 1 1 10.108 2zm0 2.162a5.946 5.946 0 1 0 0 11.893 5.946 5.946 0 0 0 0-11.893z" fill="currentColor"/>
|
|
21
|
+
</svg>
|
|
22
|
+
`,
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNhcmQtaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWNrYWdlcy9zZWxlY3QtY2FyZC9zZWxlY3QtY2FyZC1pY29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFZO0lBQ3RDLFFBQVEsRUFBRTs7Ozs7S0FLVDtJQUNELFlBQVksRUFBRTs7OztLQUliO0lBQ0QsY0FBYyxFQUFFOzs7O0tBSWY7SUFDRCxNQUFNLEVBQUU7Ozs7Q0FJWDtDQUNBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYkljb25zIH0gZnJvbSAnQG5lYnVsYXIvdGhlbWUnO1xuXG5leHBvcnQgY29uc3QgU0VMRUNUX0NBUkRfSUNPTlM6IE5iSWNvbnMgPSB7XG4gICAgbGFuZ3VhZ2U6IGBcbiAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI4IDI4XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTE0LjAwNiAyLjMzNGMtNi40MyAwLTExLjY3MSA1LjI0Mi0xMS42NzEgMTEuNjcyIDAgMS45MDQuNTA0IDMuNjk1IDEuMzE4IDUuMjlsLTEuMjcgNC41MjVjLS4yOTIgMS4wNTguNzUgMi4xIDEuNzkxIDEuNzkxbDQuNTI2LTEuMjdjMS41OTUuODE0IDMuMzcgMS4zMTkgNS4yOSAxLjMxOSA2LjQzIDAgMTEuNjcyLTUuMjQyIDExLjY3Mi0xMS42NzIuMDE2LTYuNDEzLTUuMjI2LTExLjY1NS0xMS42NTYtMTEuNjU1em0wIDIxLjU4NWE5LjgzMyA5LjgzMyAwIDAgMS00LjgxOC0xLjI1My44NjQuODY0IDAgMCAwLS42NjctLjA4Mkw0LjIwNyAyMy43OWwxLjIwNC00LjMxNGEuODcyLjg3MiAwIDAgMC0uMDgtLjY2NyA5LjgzNCA5LjgzNCAwIDAgMS0xLjI1NC00LjgxOSA5LjkgOS45IDAgMCAxIDkuOTEzLTkuOTEzIDkuOSA5LjkgMCAwIDEgOS45MTQgOS45MTNjMCA1LjQ4Ni00LjQxMiA5LjkzLTkuODk4IDkuOTN6XCIgZmlsbD1cIiMwQjRBNkZcIi8+XG4gICAgICAgICAgICA8cGF0aCBkPVwibTEzLjc0NiAxNy4zNDMtMi45MTQtNy41ODZhLjg2My44NjMgMCAwIDAtLjgxNC0uNTU0Ljg4Ny44ODcgMCAwIDAtLjgxNC41NTRMNi4yOSAxNy4zNDNjLS4xNzkuNDU1LjA1Ljk2LjUwNSAxLjE0YS44NzcuODc3IDAgMCAwIDEuMTQtLjUwNmwuNjgzLTEuNzc0aDIuODMzbC42ODMgMS43NzRjLjE4LjQ1Ni42ODQuNjg0IDEuMTI0LjUwNWEuODgzLjg4MyAwIDAgMCAuNDg4LTEuMTR6bS00LjQ3Ny0yLjg5OC43NS0xLjkzNy43NDggMS45MzdIOS4yNjl6TTIwLjMyMiAxNy41MDVhLjg3NS44NzUgMCAwIDEtLjg3OS0uODc5di0xLjk1M2MtLjIxMS4wODEtLjQ1NS4xMy0uNzE2LjE2MiAwIC4wNjYuMDE2LjEzLjAxNi4xOCAwIC41ODYtLjE5NSAxLjA0MS0uNTg2IDEuMzY3LS4zNzQuMzEtLjg5NS40NzItMS41NjIuNDcyLS40ODkgMC0uOTQ0LS4wOTgtMS4zMzUtLjI3Ny0uNDA3LS4xNzktLjc5OC0uNTItMS4xNzItLjk3NmE3LjM3OSA3LjM3OSAwIDAgMS0uNzk4LTEuMjg2LjkxNS45MTUgMCAwIDEtLjAzMi0uNzE3Ljk1Ni45NTYgMCAwIDEgLjUwNC0uNTA0Yy4wOTgtLjAzMy4yMTItLjA2NS4zMS0uMDY1YS44OC44OCAwIDAgMSAuNzk3LjUwNGMuMjI4LjQ4OS40NTYuODYzLjY4NCAxLjE0LjI5My4zNDIuNjAyLjUwNC45NDQuNTA0LjI5MyAwIC4zOS0uMDk3LjM5LS4zNzQgMC0uMjI4LS4wNjQtLjQ0LS4xOTUtLjYxOWE0LjY1OSA0LjY1OSAwIDAgMS0uNy4wNjZoLS4yMjhsLS4wOTctMS41NDcuMjI4LS4wMTZjLjQwNy0uMDE2LjYxOC0uMDk4LjcxNi0uMTQ3LjA2NS0uMDMyLjE0Ni0uMTE0LjE0Ni0uMjkzIDAtLjExNCAwLS4yOTMtLjQ1NS0uMjkzLS4zMjYgMC0uNy4xMTQtMS4xMjQuMzI2bC0uMjI3LjExNC0uNTU0LTEuNDk4LjE4LS4wOThhNC4zMiA0LjMyIDAgMCAxIDEuOTUzLS40NzJjLjYzNCAwIDEuMTM5LjE4IDEuNTEzLjUyMS4zNzUuMzQyLjU3LjgxNC41NyAxLjM2OCAwIC40NC0uMTMuODMtLjM5IDEuMTU1aC4wOGMuMjEyIDAgLjQyNC0uMDQ4LjYwMy0uMTMuMTgtLjA4MS4zNDItLjIxMS41MjEtLjM5di0uNzgyaC0uNjY3VjEwLjQ0aDMuNTY1djEuNjI4aC0uOTkzdjQuNTU4YzAgLjQ4OC0uMzkxLjg4LS44OC44OGgtLjEzelwiIGZpbGw9XCIjMEI0QTZGXCIvPlxuICAgICAgICA8L3N2Zz5cbiAgICBgLFxuICAgICdjaGV2cm9uLXVwJzogYFxuICAgICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNNC42NSA5Ljg4OCA4IDYuNTM4bDMuMzUgMy4zNWEuMzguMzggMCAxIDAgLjUzOC0uNTM4TDguMjcgNS43M2EuMzguMzggMCAwIDAtLjUzOCAwTDQuMTEgOS4zNWEuMzguMzggMCAxIDAgLjU0LjUzOHpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxuICAgICAgICA8L3N2Zz5cbiAgICBgLFxuICAgICdjaGV2cm9uLWRvd24nOiBgXG4gICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgPHBhdGggZD1cIk0xNC4xODcyIDguNDcyNDdMMTAgMTIuNjU5N0w1LjgxMjgxIDguNDcyNDdDNS42MjY4NSA4LjI4NjUyIDUuMzI1NDIgOC4yODY1MiA1LjEzOTQ3IDguNDcyNDdDNC45NTM1MSA4LjY1ODQzIDQuOTUzNTEgOC45NTk4NiA1LjEzOTQ3IDkuMTQ1ODFMOS42NjMzMyAxMy42Njk3QzkuNzU2NDMgMTMuNzYyOCA5Ljg3ODA5IDEzLjgwOTIgMTAgMTMuODA5MkMxMC4xMjE5IDEzLjgwOTIgMTAuMjQzNiAxMy43NjI4IDEwLjMzNjcgMTMuNjY5N0wxNC44NjA1IDkuMTQ1ODFDMTUuMDQ2NSA4Ljk1OTg2IDE1LjA0NjUgOC42NTg0MyAxNC44NjA1IDguNDcyNDdDMTQuNjc0NiA4LjI4NjUyIDE0LjM3MzEgOC4yODY1MiAxNC4xODcyIDguNDcyNDdaXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICAgICAgPC9zdmc+XG4gICAgYCxcbiAgICBzZWFyY2g6IGBcbiAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xMC4xMDggMmE4LjEwOCA4LjEwOCAwIDAgMSA2LjQ0OCAxMy4wMjZsNS4xMjggNS4xM2ExLjA4IDEuMDggMCAwIDEtMS40MjcgMS42MThsLS4xMDItLjA5LTUuMTMtNS4xMjhBOC4xMDggOC4xMDggMCAxIDEgMTAuMTA4IDJ6bTAgMi4xNjJhNS45NDYgNS45NDYgMCAxIDAgMCAxMS44OTMgNS45NDYgNS45NDYgMCAwIDAgMC0xMS44OTN6XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICA8L3N2Zz5cbmAsXG59O1xuIl19
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';
|
|
4
|
+
import { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { NbButtonModule, NbIconModule, NbInputModule } from '@nebular/theme';
|
|
6
|
+
import { NgSelectModule } from '@ng-select/ng-select';
|
|
7
|
+
import { debounceTime } from 'rxjs';
|
|
8
|
+
import { SclBadge } from '../badge/badge';
|
|
9
|
+
import { SclFormControlWrapperComponent } from '../form/form-control-wrapper/form-control-wrapper.component';
|
|
10
|
+
import { SclFormField } from '../form/form-control/form-field';
|
|
11
|
+
import { SclText } from '../typography/typography';
|
|
12
|
+
import { SELECT_CARD_ICONS } from './select-card-icon';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "@nebular/theme";
|
|
15
|
+
import * as i2 from "@angular/forms";
|
|
16
|
+
import * as i3 from "@angular/common";
|
|
17
|
+
import * as i4 from "@ng-select/ng-select";
|
|
18
|
+
class SclSelectCardComponent {
|
|
19
|
+
set items(value) {
|
|
20
|
+
this.allData = value;
|
|
21
|
+
this.displayData = this.allData;
|
|
22
|
+
}
|
|
23
|
+
set searchable(value) {
|
|
24
|
+
this.hasSearch = coerceBooleanProperty(value);
|
|
25
|
+
}
|
|
26
|
+
get searchable() {
|
|
27
|
+
return this.hasSearch;
|
|
28
|
+
}
|
|
29
|
+
constructor(iconLibraries, formBuilder) {
|
|
30
|
+
this.iconLibraries = iconLibraries;
|
|
31
|
+
this.formBuilder = formBuilder;
|
|
32
|
+
this.selected = new EventEmitter();
|
|
33
|
+
this.hasSearch = false;
|
|
34
|
+
this.placeholder = 'Search';
|
|
35
|
+
this.isDropdownOpen = false;
|
|
36
|
+
this.onChange = () => { };
|
|
37
|
+
this.onTouch = () => { };
|
|
38
|
+
this.iconLibraries.registerSvgPack('select-card-icon', SELECT_CARD_ICONS);
|
|
39
|
+
}
|
|
40
|
+
ngOnInit() {
|
|
41
|
+
this.initForm();
|
|
42
|
+
this.handleFilter();
|
|
43
|
+
}
|
|
44
|
+
initForm() {
|
|
45
|
+
this.selectForm = this.formBuilder.group({
|
|
46
|
+
select: [''],
|
|
47
|
+
search: [''],
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
writeValue(value) {
|
|
51
|
+
this.selectForm.controls['select'].patchValue(value);
|
|
52
|
+
}
|
|
53
|
+
registerOnChange(fn) {
|
|
54
|
+
this.onChange = fn;
|
|
55
|
+
}
|
|
56
|
+
registerOnTouched(fn) {
|
|
57
|
+
this.onTouch = fn;
|
|
58
|
+
}
|
|
59
|
+
selectChange(event) {
|
|
60
|
+
this.onChange(event.value);
|
|
61
|
+
this.selected.emit(event.value);
|
|
62
|
+
}
|
|
63
|
+
handleFilter() {
|
|
64
|
+
const searchControl = this.selectForm.get('search');
|
|
65
|
+
if (searchControl) {
|
|
66
|
+
searchControl.valueChanges.pipe(debounceTime(500)).subscribe(value => this.filterAccounts(value));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
filterAccounts(value) {
|
|
70
|
+
this.displayData = this.allData.filter(item => {
|
|
71
|
+
const searchedValue = new RegExp(value, 'i');
|
|
72
|
+
return searchedValue.test(item.label);
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
dropdownOpen(value) {
|
|
76
|
+
!value ? (this.isDropdownOpen = false) : (this.isDropdownOpen = true);
|
|
77
|
+
}
|
|
78
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSelectCardComponent, deps: [{ token: i1.NbIconLibraries }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
79
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SclSelectCardComponent, isStandalone: true, selector: "scl-select-card", inputs: { items: "items", searchable: "searchable" }, outputs: { selected: "selected" }, host: { classAttribute: "scl-select-card" }, providers: [
|
|
80
|
+
{
|
|
81
|
+
provide: NG_VALUE_ACCESSOR,
|
|
82
|
+
useExisting: forwardRef(() => SclSelectCardComponent),
|
|
83
|
+
multi: true,
|
|
84
|
+
},
|
|
85
|
+
], ngImport: i0, template: "<div class=\"scl-select-card__avatar\">\n <nb-icon icon=\"language\" pack=\"select-card-icon\"> </nb-icon>\n</div>\n\n<div class=\"scl-select-card__content\">\n <form [formGroup]=\"selectForm\">\n <ng-select\n [items]=\"displayData\"\n bindValue=\"value\"\n bindLabel=\"label\"\n name=\"Profile\"\n id=\"profile\"\n placeholder=\"Select Profile\"\n formControlName=\"select\"\n class=\"select\"\n appendTo=\"body\"\n class=\"scl-select-card__select\"\n [searchable]=\"false\"\n (change)=\"selectChange($event)\"\n (open)=\"dropdownOpen(true)\"\n (close)=\"dropdownOpen(false)\">\n <ng-template ng-header-tmp *ngIf=\"hasSearch\">\n <scl-form-field>\n <scl-form-control-wrapper icon=\"search\" packName=\"scl-icon\">\n <input\n type=\"text\"\n nbInput\n fullWidth\n formControlName=\"search\"\n [placeholder]=\"placeholder\"\n (keypress)=\"handleFilter()\"\n fieldSize=\"medium\" />\n </scl-form-control-wrapper>\n </scl-form-field>\n </ng-template>\n\n <ng-template ng-label-tmp let-item=\"item\">\n <button type=\"button\" nbButton ghost class=\"scl-select-card__button\">\n <div class=\"scl-select-card__info\">\n <p sclText textType=\"titleMedium\" weight=\"semiBold\">{{ item.label }}</p>\n <span class=\"scl-select-card__bullet\"></span>\n <p sclText textType=\"bodyLarge\">{{ item?.value }}</p>\n </div>\n <nb-icon [icon]=\"isDropdownOpen ? 'chevron-up' : 'chevron-down'\" pack=\"select-card-icon\"></nb-icon>\n </button>\n </ng-template>\n </ng-select>\n </form>\n <div class=\"scl-select-card__badge\">\n <ng-content select=\"scl-badge\"></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: SclText, selector: "[sclText]", inputs: ["textType", "weight", "textColor"] }, { kind: "component", type: SclFormField, selector: "scl-form-field", inputs: ["messageBuilder"] }, { kind: "ngmodule", type: NbIconModule }, { kind: "component", type: i1.NbIconComponent, selector: "nb-icon", inputs: ["icon", "pack", "options", "status", "config"] }, { kind: "ngmodule", type: NbInputModule }, { kind: "directive", type: i1.NbInputDirective, selector: "input[nbInput],textarea[nbInput]", inputs: ["fieldSize", "status", "shape", "fullWidth"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i4.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i4.NgHeaderTemplateDirective, selector: "[ng-header-tmp]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: NbButtonModule }, { kind: "component", type: i1.NbButtonComponent, selector: "button[nbButton],a[nbButton],input[type=\"button\"][nbButton],input[type=\"submit\"][nbButton]", inputs: ["hero"] }, { kind: "component", type: SclFormControlWrapperComponent, selector: "scl-form-control-wrapper", inputs: ["icon", "packName"] }] }); }
|
|
86
|
+
}
|
|
87
|
+
export { SclSelectCardComponent };
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSelectCardComponent, decorators: [{
|
|
89
|
+
type: Component,
|
|
90
|
+
args: [{ selector: 'scl-select-card', standalone: true, imports: [
|
|
91
|
+
CommonModule,
|
|
92
|
+
SclBadge,
|
|
93
|
+
SclText,
|
|
94
|
+
SclFormField,
|
|
95
|
+
NbIconModule,
|
|
96
|
+
NbInputModule,
|
|
97
|
+
NgSelectModule,
|
|
98
|
+
ReactiveFormsModule,
|
|
99
|
+
NbButtonModule,
|
|
100
|
+
SclFormControlWrapperComponent,
|
|
101
|
+
], host: {
|
|
102
|
+
class: 'scl-select-card',
|
|
103
|
+
}, providers: [
|
|
104
|
+
{
|
|
105
|
+
provide: NG_VALUE_ACCESSOR,
|
|
106
|
+
useExisting: forwardRef(() => SclSelectCardComponent),
|
|
107
|
+
multi: true,
|
|
108
|
+
},
|
|
109
|
+
], template: "<div class=\"scl-select-card__avatar\">\n <nb-icon icon=\"language\" pack=\"select-card-icon\"> </nb-icon>\n</div>\n\n<div class=\"scl-select-card__content\">\n <form [formGroup]=\"selectForm\">\n <ng-select\n [items]=\"displayData\"\n bindValue=\"value\"\n bindLabel=\"label\"\n name=\"Profile\"\n id=\"profile\"\n placeholder=\"Select Profile\"\n formControlName=\"select\"\n class=\"select\"\n appendTo=\"body\"\n class=\"scl-select-card__select\"\n [searchable]=\"false\"\n (change)=\"selectChange($event)\"\n (open)=\"dropdownOpen(true)\"\n (close)=\"dropdownOpen(false)\">\n <ng-template ng-header-tmp *ngIf=\"hasSearch\">\n <scl-form-field>\n <scl-form-control-wrapper icon=\"search\" packName=\"scl-icon\">\n <input\n type=\"text\"\n nbInput\n fullWidth\n formControlName=\"search\"\n [placeholder]=\"placeholder\"\n (keypress)=\"handleFilter()\"\n fieldSize=\"medium\" />\n </scl-form-control-wrapper>\n </scl-form-field>\n </ng-template>\n\n <ng-template ng-label-tmp let-item=\"item\">\n <button type=\"button\" nbButton ghost class=\"scl-select-card__button\">\n <div class=\"scl-select-card__info\">\n <p sclText textType=\"titleMedium\" weight=\"semiBold\">{{ item.label }}</p>\n <span class=\"scl-select-card__bullet\"></span>\n <p sclText textType=\"bodyLarge\">{{ item?.value }}</p>\n </div>\n <nb-icon [icon]=\"isDropdownOpen ? 'chevron-up' : 'chevron-down'\" pack=\"select-card-icon\"></nb-icon>\n </button>\n </ng-template>\n </ng-select>\n </form>\n <div class=\"scl-select-card__badge\">\n <ng-content select=\"scl-badge\"></ng-content>\n </div>\n</div>\n" }]
|
|
110
|
+
}], ctorParameters: function () { return [{ type: i1.NbIconLibraries }, { type: i2.FormBuilder }]; }, propDecorators: { selected: [{
|
|
111
|
+
type: Output
|
|
112
|
+
}], items: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], searchable: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}] } });
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhY2thZ2VzL3NlbGVjdC1jYXJkL3NlbGVjdC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9wYWNrYWdlcy9zZWxlY3QtY2FyZC9zZWxlY3QtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFnRCxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RILE9BQU8sRUFBRSxjQUFjLEVBQW1CLFlBQVksRUFBVyxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7O0FBUXZELE1BMkJhLHNCQUFzQjtJQUUvQixJQUFhLEtBQUssQ0FBQyxLQUFtQjtRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtB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YyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUM7OEdBL0VRLHNCQUFzQjtrR0FBdEIsc0JBQXNCLG9NQVJwQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3JELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSiwwQkM1Q0wseXNFQW9EQSwyQ0Q1QlEsWUFBWSxtSUFFWixPQUFPLG1HQUNQLFlBQVksc0ZBQ1osWUFBWSw2SkFDWixhQUFhLHFMQUNiLGNBQWMsK2lDQUNkLG1CQUFtQiw0OEJBQ25CLGNBQWMsZ05BQ2QsOEJBQThCOztTQWF6QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkEzQmxDLFNBQVM7K0JBQ0ksaUJBQWlCLGNBRWYsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osUUFBUTt3QkFDUixPQUFPO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLDhCQUE4QjtxQkFDakMsUUFDSzt3QkFDRixLQUFLLEVBQUUsaUJBQWlCO3FCQUMzQixhQUNVO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDOzRCQUNyRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtnSUFHUyxRQUFRO3NCQUFqQixNQUFNO2dCQUNNLEtBQUs7c0JBQWpCLEtBQUs7Z0JBS08sVUFBVTtzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmJCdXR0b25Nb2R1bGUsIE5iSWNvbkxpYnJhcmllcywgTmJJY29uTW9kdWxlLCBOYkljb25zLCBOYklucHV0TW9kdWxlIH0gZnJvbSAnQG5lYnVsYXIvdGhlbWUnO1xuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNjbEJhZGdlIH0gZnJvbSAnLi4vYmFkZ2UvYmFkZ2UnO1xuaW1wb3J0IHsgU2NsRm9ybUNvbnRyb2xXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS9mb3JtLWNvbnRyb2wtd3JhcHBlci9mb3JtLWNvbnRyb2wtd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2NsRm9ybUZpZWxkIH0gZnJvbSAnLi4vZm9ybS9mb3JtLWNvbnRyb2wvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBTY2xUZXh0IH0gZnJvbSAnLi4vdHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbmltcG9ydCB7IFNFTEVDVF9DQVJEX0lDT05TIH0gZnJvbSAnLi9zZWxlY3QtY2FyZC1pY29uJztcblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RDYXJkIHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgc3RhdHVzPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjbC1zZWxlY3QtY2FyZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBTY2xCYWRnZSxcbiAgICAgICAgU2NsVGV4dCxcbiAgICAgICAgU2NsRm9ybUZpZWxkLFxuICAgICAgICBOYkljb25Nb2R1bGUsXG4gICAgICAgIE5iSW5wdXRNb2R1bGUsXG4gICAgICAgIE5nU2VsZWN0TW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBOYkJ1dHRvbk1vZHVsZSxcbiAgICAgICAgU2NsRm9ybUNvbnRyb2xXcmFwcGVyQ29tcG9uZW50LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3NjbC1zZWxlY3QtY2FyZCcsXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTY2xTZWxlY3RDYXJkQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjbFNlbGVjdENhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBJbnB1dCgpIHNldCBpdGVtcyh2YWx1ZTogU2VsZWN0Q2FyZFtdKSB7XG4gICAgICAgIHRoaXMuYWxsRGF0YSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmRpc3BsYXlEYXRhID0gdGhpcy5hbGxEYXRhO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBzZWFyY2hhYmxlKHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaGFzU2VhcmNoID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgc2VhcmNoYWJsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzU2VhcmNoO1xuICAgIH1cblxuICAgIHNlbGVjdEZvcm0hOiBGb3JtR3JvdXA7XG4gICAgaGFzU2VhcmNoID0gZmFsc2U7XG4gICAgcGxhY2Vob2xkZXIgPSAnU2VhcmNoJztcblxuICAgIGFsbERhdGEhOiBTZWxlY3RDYXJkW107XG4gICAgZGlzcGxheURhdGEhOiBTZWxlY3RDYXJkW107XG4gICAgaXNEcm9wZG93bk9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGljb25MaWJyYXJpZXM6IE5iSWNvbkxpYnJhcmllcyxcbiAgICAgICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXJcbiAgICApIHtcbiAgICAgICAgdGhpcy5pY29uTGlicmFyaWVzLnJlZ2lzdGVyU3ZnUGFjaygnc2VsZWN0LWNhcmQtaWNvbicsIFNFTEVDVF9DQVJEX0lDT05TKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgICAgICB0aGlzLmhhbmRsZUZpbHRlcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdEZvcm0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0Rm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgc2VsZWN0OiBbJyddLFxuICAgICAgICAgICAgc2VhcmNoOiBbJyddLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZTogKHZhbDogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICBvblRvdWNoOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RGb3JtLmNvbnRyb2xzWydzZWxlY3QnXS5wYXRjaFZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoID0gZm47XG4gICAgfVxuXG4gICAgc2VsZWN0Q2hhbmdlKGV2ZW50OiBTZWxlY3RDYXJkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoZXZlbnQudmFsdWUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmVtaXQoZXZlbnQudmFsdWUpO1xuICAgIH1cblxuICAgIGhhbmRsZUZpbHRlcigpIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoQ29udHJvbCA9IHRoaXMuc2VsZWN0Rm9ybS5nZXQoJ3NlYXJjaCcpO1xuICAgICAgICBpZiAoc2VhcmNoQ29udHJvbCkge1xuICAgICAgICAgICAgc2VhcmNoQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkuc3Vic2NyaWJlKHZhbHVlID0+IHRoaXMuZmlsdGVyQWNjb3VudHModmFsdWUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVyQWNjb3VudHModmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc3BsYXlEYXRhID0gdGhpcy5hbGxEYXRhLmZpbHRlcihpdGVtID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlYXJjaGVkVmFsdWUgPSBuZXcgUmVnRXhwKHZhbHVlLCAnaScpO1xuICAgICAgICAgICAgcmV0dXJuIHNlYXJjaGVkVmFsdWUudGVzdChpdGVtLmxhYmVsKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZHJvcGRvd25PcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgICF2YWx1ZSA/ICh0aGlzLmlzRHJvcGRvd25PcGVuID0gZmFsc2UpIDogKHRoaXMuaXNEcm9wZG93bk9wZW4gPSB0cnVlKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2NsLXNlbGVjdC1jYXJkX19hdmF0YXJcIj5cbiAgICA8bmItaWNvbiBpY29uPVwibGFuZ3VhZ2VcIiBwYWNrPVwic2VsZWN0LWNhcmQtaWNvblwiPiA8L25iLWljb24+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInNjbC1zZWxlY3QtY2FyZF9fY29udGVudFwiPlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwic2VsZWN0Rm9ybVwiPlxuICAgICAgICA8bmctc2VsZWN0XG4gICAgICAgICAgICBbaXRlbXNdPVwiZGlzcGxheURhdGFcIlxuICAgICAgICAgICAgYmluZFZhbHVlPVwidmFsdWVcIlxuICAgICAgICAgICAgYmluZExhYmVsPVwibGFiZWxcIlxuICAgICAgICAgICAgbmFtZT1cIlByb2ZpbGVcIlxuICAgICAgICAgICAgaWQ9XCJwcm9maWxlXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFByb2ZpbGVcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VsZWN0XCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0XCJcbiAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgICAgICAgICBjbGFzcz1cInNjbC1zZWxlY3QtY2FyZF9fc2VsZWN0XCJcbiAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwic2VsZWN0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgKG9wZW4pPVwiZHJvcGRvd25PcGVuKHRydWUpXCJcbiAgICAgICAgICAgIChjbG9zZSk9XCJkcm9wZG93bk9wZW4oZmFsc2UpXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbmctaGVhZGVyLXRtcCAqbmdJZj1cImhhc1NlYXJjaFwiPlxuICAgICAgICAgICAgICAgIDxzY2wtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPHNjbC1mb3JtLWNvbnRyb2wtd3JhcHBlciBpY29uPVwic2VhcmNoXCIgcGFja05hbWU9XCJzY2wtaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5iSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdWxsV2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzZWFyY2hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleXByZXNzKT1cImhhbmRsZUZpbHRlcigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZFNpemU9XCJtZWRpdW1cIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3NjbC1mb3JtLWNvbnRyb2wtd3JhcHBlcj5cbiAgICAgICAgICAgICAgICA8L3NjbC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nLWxhYmVsLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBuYkJ1dHRvbiBnaG9zdCBjbGFzcz1cInNjbC1zZWxlY3QtY2FyZF9fYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY2wtc2VsZWN0LWNhcmRfX2luZm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIHNjbFRleHQgdGV4dFR5cGU9XCJ0aXRsZU1lZGl1bVwiIHdlaWdodD1cInNlbWlCb2xkXCI+e3sgaXRlbS5sYWJlbCB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2NsLXNlbGVjdC1jYXJkX19idWxsZXRcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBzY2xUZXh0IHRleHRUeXBlPVwiYm9keUxhcmdlXCI+e3sgaXRlbT8udmFsdWUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8bmItaWNvbiBbaWNvbl09XCJpc0Ryb3Bkb3duT3BlbiA/ICdjaGV2cm9uLXVwJyA6ICdjaGV2cm9uLWRvd24nXCIgcGFjaz1cInNlbGVjdC1jYXJkLWljb25cIj48L25iLWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLXNlbGVjdD5cbiAgICA8L2Zvcm0+XG4gICAgPGRpdiBjbGFzcz1cInNjbC1zZWxlY3QtY2FyZF9fYmFkZ2VcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2NsLWJhZGdlXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';
|
|
3
|
+
import { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { NgSelectModule } from '@ng-select/ng-select';
|
|
5
|
+
import { polyfillCountryFlagEmojis } from 'country-flag-emoji-polyfill';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/forms";
|
|
8
|
+
import * as i2 from "@angular/cdk/a11y";
|
|
9
|
+
import * as i3 from "@ng-select/ng-select";
|
|
10
|
+
polyfillCountryFlagEmojis(); // To load flag emoji
|
|
11
|
+
class SclSelectCountryComponent {
|
|
12
|
+
set countryCode(value) {
|
|
13
|
+
if (value) {
|
|
14
|
+
this.code = value;
|
|
15
|
+
this.selectCountryForm.get('country')?.patchValue(this.code);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
get countryCode() {
|
|
19
|
+
return this.code;
|
|
20
|
+
}
|
|
21
|
+
constructor(formBuilder, focusMonitor, elementRef) {
|
|
22
|
+
this.formBuilder = formBuilder;
|
|
23
|
+
this.focusMonitor = focusMonitor;
|
|
24
|
+
this.elementRef = elementRef;
|
|
25
|
+
this.filteredCountries = [];
|
|
26
|
+
this.changeCountry = new EventEmitter();
|
|
27
|
+
this.disabled = false;
|
|
28
|
+
this.code = '+977';
|
|
29
|
+
this.onChange = () => { };
|
|
30
|
+
this.onTouch = () => { };
|
|
31
|
+
this.focusMonitor.monitor(this.elementRef, true).subscribe(origin => {
|
|
32
|
+
if (origin) {
|
|
33
|
+
this.onTouch();
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
this.selectCountryForm = this.formBuilder.group({
|
|
37
|
+
country: [this.code],
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
writeValue(value) {
|
|
41
|
+
this.selectCountryForm.get('country')?.patchValue(value);
|
|
42
|
+
}
|
|
43
|
+
registerOnChange(fn) {
|
|
44
|
+
this.onChange = fn;
|
|
45
|
+
}
|
|
46
|
+
registerOnTouched(fn) {
|
|
47
|
+
this.onTouch = fn;
|
|
48
|
+
}
|
|
49
|
+
setDisabledState(isDisabled) {
|
|
50
|
+
this.disabled = isDisabled;
|
|
51
|
+
}
|
|
52
|
+
selectCountry(value) {
|
|
53
|
+
this.changeCountry.emit(value);
|
|
54
|
+
this.onChange(value.dial_code);
|
|
55
|
+
}
|
|
56
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSelectCountryComponent, deps: [{ token: i1.FormBuilder }, { token: i2.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
57
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SclSelectCountryComponent, isStandalone: true, selector: "scl-select-country", inputs: { filteredCountries: "filteredCountries", disabled: "disabled", countryCode: "countryCode" }, outputs: { changeCountry: "changeCountry" }, host: { classAttribute: "scl-select-country" }, providers: [
|
|
58
|
+
{
|
|
59
|
+
provide: NG_VALUE_ACCESSOR,
|
|
60
|
+
useExisting: forwardRef(() => SclSelectCountryComponent),
|
|
61
|
+
multi: true,
|
|
62
|
+
},
|
|
63
|
+
], ngImport: i0, template: "<form [formGroup]=\"selectCountryForm\">\n <ng-select\n [items]=\"filteredCountries\"\n class=\"scl-select-country__select\"\n bindValue=\"dial_code\"\n bindLabel=\"name\"\n [clearable]=\"false\"\n appendTo=\"body\"\n (change)=\"selectCountry($event)\"\n formControlName=\"country\"\n [readonly]=\"disabled\">\n <ng-template ng-option-tmp let-item=\"item\">\n <div class=\"ng-option-label scl-select-country__desc\">\n <!-- 'flags' class loads webfont for flag emoji -->\n <span class=\"flags\">{{ item.flag }}</span>\n <span columnSeparator gap=\"tiny\"></span>\n <span>{{ item.name }}</span>\n </div>\n </ng-template>\n <ng-template ng-label-tmp let-item=\"item\">\n <div class=\"scl-select-country__desc\">\n <!-- 'flags' class loads webfont for flag emoji -->\n <span class=\"flags\">{{ item.flag }}</span>\n <span>{{ item.dial_code }}</span>\n </div>\n </ng-template>\n </ng-select>\n</form>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i3.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
64
|
+
}
|
|
65
|
+
export { SclSelectCountryComponent };
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSelectCountryComponent, decorators: [{
|
|
67
|
+
type: Component,
|
|
68
|
+
args: [{ selector: 'scl-select-country', standalone: true, imports: [CommonModule, NgSelectModule, ReactiveFormsModule], host: {
|
|
69
|
+
class: 'scl-select-country',
|
|
70
|
+
}, providers: [
|
|
71
|
+
{
|
|
72
|
+
provide: NG_VALUE_ACCESSOR,
|
|
73
|
+
useExisting: forwardRef(() => SclSelectCountryComponent),
|
|
74
|
+
multi: true,
|
|
75
|
+
},
|
|
76
|
+
], template: "<form [formGroup]=\"selectCountryForm\">\n <ng-select\n [items]=\"filteredCountries\"\n class=\"scl-select-country__select\"\n bindValue=\"dial_code\"\n bindLabel=\"name\"\n [clearable]=\"false\"\n appendTo=\"body\"\n (change)=\"selectCountry($event)\"\n formControlName=\"country\"\n [readonly]=\"disabled\">\n <ng-template ng-option-tmp let-item=\"item\">\n <div class=\"ng-option-label scl-select-country__desc\">\n <!-- 'flags' class loads webfont for flag emoji -->\n <span class=\"flags\">{{ item.flag }}</span>\n <span columnSeparator gap=\"tiny\"></span>\n <span>{{ item.name }}</span>\n </div>\n </ng-template>\n <ng-template ng-label-tmp let-item=\"item\">\n <div class=\"scl-select-country__desc\">\n <!-- 'flags' class loads webfont for flag emoji -->\n <span class=\"flags\">{{ item.flag }}</span>\n <span>{{ item.dial_code }}</span>\n </div>\n </ng-template>\n </ng-select>\n</form>\n" }]
|
|
77
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.FocusMonitor }, { type: i0.ElementRef }]; }, propDecorators: { filteredCountries: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], changeCountry: [{
|
|
80
|
+
type: Output
|
|
81
|
+
}], disabled: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], countryCode: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}] } });
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvdW50cnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhY2thZ2VzL3NlbGVjdC1jb3VudHJ5L3NlbGVjdC1jb3VudHJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9wYWNrYWdlcy9zZWxlY3QtY291bnRyeS9zZWxlY3QtY291bnRyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFnRCxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFTeEUseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLHFCQUFxQjtBQUVsRCxNQWdCYSx5QkFBeUI7SUFZbEMsSUFBYSxXQUFXLENBQUMsS0FBYTtRQUNsQyxJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQ2xCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNoRTtJQUNMLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQ1ksV0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsVUFBc0I7UUFGdEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQXpCekIsc0JBQWlCLEdBQTZCLEVBQUUsQ0FBQztRQUNoRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUEwQixDQUFDO1FBQzVELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFJbkMsU0FBSSxHQUFXLE1BQU0sQ0FBQztRQUV0QixhQUFRLEdBQTBCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUMzQyxZQUFPLEdBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBa0IzQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoRSxJQUFJLE1BQU0sRUFBRTtnQkFDUixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDbEI7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUM1QyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3ZCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUUsVUFBbUI7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUE2QjtRQUN2QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuQyxDQUFDOzhHQXpEUSx5QkFBeUI7a0dBQXpCLHlCQUF5QixvUUFSdkI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO2dCQUN4RCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osMEJDOUJMLDBuQ0E0QkEsMkNEVGMsWUFBWSw4QkFBRSxjQUFjLCtpQ0FBRSxtQkFBbUI7O1NBYWxELHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQWhCckMsU0FBUzsrQkFDSSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQyxRQUV0RDt3QkFDRixLQUFLLEVBQUUsb0JBQW9CO3FCQUM5QixhQUNVO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDOzRCQUN4RCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtzSkFHUSxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRSxRQUFRO3NCQUFoQixLQUFLO2dCQVNPLFdBQVc7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuaW1wb3J0IHsgcG9seWZpbGxDb3VudHJ5RmxhZ0Vtb2ppcyB9IGZyb20gJ2NvdW50cnktZmxhZy1lbW9qaS1wb2x5ZmlsbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyZWRDb3VudHJpZXNHcm91cCB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNvZGU6IHN0cmluZztcbiAgICBkaWFsX2NvZGU6IHN0cmluZztcbiAgICBmbGFnOiBzdHJpbmc7XG59XG5cbnBvbHlmaWxsQ291bnRyeUZsYWdFbW9qaXMoKTsgLy8gVG8gbG9hZCBmbGFnIGVtb2ppXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2NsLXNlbGVjdC1jb3VudHJ5JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5nU2VsZWN0TW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWNvdW50cnkuY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdzY2wtc2VsZWN0LWNvdW50cnknLFxuICAgIH0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2NsU2VsZWN0Q291bnRyeUNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTY2xTZWxlY3RDb3VudHJ5Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIEBJbnB1dCgpIGZpbHRlcmVkQ291bnRyaWVzOiBGaWx0ZXJlZENvdW50cmllc0dyb3VwW10gPSBbXTtcbiAgICBAT3V0cHV0KCkgY2hhbmdlQ291bnRyeSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsdGVyZWRDb3VudHJpZXNHcm91cD4oKTtcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgc2VsZWN0Q291bnRyeUZvcm0hOiBGb3JtR3JvdXA7XG5cbiAgICBjb2RlOiBzdHJpbmcgPSAnKzk3Nyc7XG5cbiAgICBvbkNoYW5nZTogKHZhbDogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgb25Ub3VjaDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgQElucHV0KCkgc2V0IGNvdW50cnlDb2RlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmNvZGUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Q291bnRyeUZvcm0uZ2V0KCdjb3VudHJ5Jyk/LnBhdGNoVmFsdWUodGhpcy5jb2RlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBjb3VudHJ5Q29kZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2RlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICAgICAgcHJpdmF0ZSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZm9jdXNNb25pdG9yLm1vbml0b3IodGhpcy5lbGVtZW50UmVmLCB0cnVlKS5zdWJzY3JpYmUob3JpZ2luID0+IHtcbiAgICAgICAgICAgIGlmIChvcmlnaW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2VsZWN0Q291bnRyeUZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgIGNvdW50cnk6IFt0aGlzLmNvZGVdLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RDb3VudHJ5Rm9ybS5nZXQoJ2NvdW50cnknKT8ucGF0Y2hWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgc2VsZWN0Q291bnRyeSh2YWx1ZTogRmlsdGVyZWRDb3VudHJpZXNHcm91cCkge1xuICAgICAgICB0aGlzLmNoYW5nZUNvdW50cnkuZW1pdCh2YWx1ZSk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUuZGlhbF9jb2RlKTtcbiAgICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cInNlbGVjdENvdW50cnlGb3JtXCI+XG4gICAgPG5nLXNlbGVjdFxuICAgICAgICBbaXRlbXNdPVwiZmlsdGVyZWRDb3VudHJpZXNcIlxuICAgICAgICBjbGFzcz1cInNjbC1zZWxlY3QtY291bnRyeV9fc2VsZWN0XCJcbiAgICAgICAgYmluZFZhbHVlPVwiZGlhbF9jb2RlXCJcbiAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgICAgIFtjbGVhcmFibGVdPVwiZmFsc2VcIlxuICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxuICAgICAgICAoY2hhbmdlKT1cInNlbGVjdENvdW50cnkoJGV2ZW50KVwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvdW50cnlcIlxuICAgICAgICBbcmVhZG9ubHldPVwiZGlzYWJsZWRcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmctb3B0aW9uLWxhYmVsIHNjbC1zZWxlY3QtY291bnRyeV9fZGVzY1wiPlxuICAgICAgICAgICAgICAgIDwhLS0gJ2ZsYWdzJyBjbGFzcyBsb2FkcyB3ZWJmb250IGZvciBmbGFnIGVtb2ppIC0tPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmxhZ3NcIj57eyBpdGVtLmZsYWcgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY29sdW1uU2VwYXJhdG9yIGdhcD1cInRpbnlcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2NsLXNlbGVjdC1jb3VudHJ5X19kZXNjXCI+XG4gICAgICAgICAgICAgICAgPCEtLSAnZmxhZ3MnIGNsYXNzIGxvYWRzIHdlYmZvbnQgZm9yIGZsYWcgZW1vamkgLS0+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGFnc1wiPnt7IGl0ZW0uZmxhZyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLmRpYWxfY29kZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctc2VsZWN0PlxuPC9mb3JtPlxuIl19
|