@updevs/components 1.0.0-alpha.5 → 1.0.0-alpha.8
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/button/button.component.d.ts +43 -0
- package/button/upd-button.module.d.ts +8 -0
- package/card/card.component.d.ts +54 -0
- package/card/directives/card-actions.directive.d.ts +7 -0
- package/card/directives/card-footer.directive.d.ts +7 -0
- package/card/directives/card-header.directive.d.ts +7 -0
- package/card/directives/card-image.directive.d.ts +7 -0
- package/card/upd-card.module.d.ts +14 -0
- package/dropdown/dropdown.component.d.ts +63 -0
- package/dropdown/{src/models/dropdown-item.ts → models/dropdown-item.d.ts} +0 -2
- package/dropdown/upd-dropdown.module.d.ts +12 -0
- package/esm2022/button/button.component.mjs +163 -0
- package/esm2022/button/index.mjs +2 -0
- package/esm2022/button/public-api.mjs +3 -0
- package/esm2022/button/upd-button.module.mjs +24 -0
- package/esm2022/button/updevs-components-button.mjs +5 -0
- package/esm2022/card/card.component.mjs +136 -0
- package/esm2022/card/directives/card-actions.directive.mjs +16 -0
- package/esm2022/card/directives/card-footer.directive.mjs +16 -0
- package/esm2022/card/directives/card-header.directive.mjs +16 -0
- package/esm2022/card/directives/card-image.directive.mjs +16 -0
- package/esm2022/card/directives/public-api.mjs +5 -0
- package/esm2022/card/index.mjs +2 -0
- package/esm2022/card/public-api.mjs +4 -0
- package/esm2022/card/types/card-state.type.mjs +2 -0
- package/esm2022/card/types/card-style.type.mjs +2 -0
- package/esm2022/card/types/hover-effect.type.mjs +2 -0
- package/esm2022/card/types/ribbon-style.type.mjs +2 -0
- package/esm2022/card/types/status-position.type.mjs +2 -0
- package/esm2022/card/upd-card.module.mjs +50 -0
- package/esm2022/card/updevs-components-card.mjs +5 -0
- package/esm2022/dropdown/dropdown.component.mjs +145 -0
- package/esm2022/dropdown/index.mjs +2 -0
- package/esm2022/dropdown/models/dropdown-item.mjs +2 -0
- package/esm2022/dropdown/models/dropdown-item.type.mjs +2 -0
- package/esm2022/dropdown/models/public-api.mjs +3 -0
- package/esm2022/dropdown/public-api.mjs +4 -0
- package/esm2022/dropdown/upd-dropdown.module.mjs +40 -0
- package/esm2022/dropdown/updevs-components-dropdown.mjs +5 -0
- package/esm2022/form/form.module.mjs +18 -0
- package/esm2022/form/index.mjs +2 -0
- package/esm2022/form/public-api.mjs +2 -0
- package/esm2022/form/updevs-components-form.mjs +5 -0
- package/esm2022/form-controls/checkbox/checkbox.component.mjs +68 -0
- package/esm2022/form-controls/checkbox/index.mjs +2 -0
- package/esm2022/form-controls/checkbox/public-api.mjs +3 -0
- package/esm2022/form-controls/checkbox/upd-checkbox.module.mjs +28 -0
- package/esm2022/form-controls/checkbox/updevs-components-form-controls-checkbox.mjs +5 -0
- package/esm2022/form-controls/input/directives/input-append.directive.mjs +16 -0
- package/esm2022/form-controls/input/directives/input-prepend.directive.mjs +16 -0
- package/esm2022/form-controls/input/directives/public-api.mjs +3 -0
- package/esm2022/form-controls/input/index.mjs +2 -0
- package/esm2022/form-controls/input/input.component.mjs +155 -0
- package/esm2022/form-controls/input/public-api.mjs +5 -0
- package/esm2022/form-controls/input/types/input.type.mjs +2 -0
- package/esm2022/form-controls/input/types/loader-position.type.mjs +2 -0
- package/esm2022/form-controls/input/types/public-api.mjs +3 -0
- package/esm2022/form-controls/input/upd-input.module.mjs +46 -0
- package/esm2022/form-controls/input/updevs-components-form-controls-input.mjs +5 -0
- package/esm2022/form-controls/radio/index.mjs +2 -0
- package/esm2022/form-controls/radio/public-api.mjs +3 -0
- package/esm2022/form-controls/radio/radio.component.mjs +64 -0
- package/esm2022/form-controls/radio/upd-radio.module.mjs +24 -0
- package/esm2022/form-controls/radio/updevs-components-form-controls-radio.mjs +5 -0
- package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +65 -0
- package/esm2022/form-controls/select/components/single/select.component.mjs +53 -0
- package/esm2022/form-controls/select/index.mjs +2 -0
- package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +208 -0
- package/esm2022/form-controls/select/models/public-api.mjs +2 -0
- package/esm2022/form-controls/select/models/select-item.mjs +2 -0
- package/esm2022/form-controls/select/public-api.mjs +5 -0
- package/esm2022/form-controls/select/upd-select.module.mjs +53 -0
- package/esm2022/form-controls/select/updevs-components-form-controls-select.mjs +5 -0
- package/esm2022/form-controls/textarea/index.mjs +2 -0
- package/esm2022/form-controls/textarea/public-api.mjs +3 -0
- package/esm2022/form-controls/textarea/textarea.component.mjs +62 -0
- package/esm2022/form-controls/textarea/upd-textarea.module.mjs +24 -0
- package/esm2022/form-controls/textarea/updevs-components-form-controls-textarea.mjs +5 -0
- package/esm2022/form-controls/time-picker/index.mjs +2 -0
- package/esm2022/form-controls/time-picker/public-api.mjs +4 -0
- package/esm2022/form-controls/time-picker/time-picker.component.mjs +130 -0
- package/esm2022/form-controls/time-picker/time-selector/time-selector.component.mjs +124 -0
- package/esm2022/form-controls/time-picker/upd-time-picker.module.mjs +60 -0
- package/esm2022/form-controls/time-picker/updevs-components-form-controls-time-picker.mjs +5 -0
- package/esm2022/layout/abstractions/base-page.component.mjs +24 -0
- package/esm2022/layout/abstractions/public-api.mjs +2 -0
- package/esm2022/layout/index.mjs +2 -0
- package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +11 -0
- package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +24 -0
- package/esm2022/layout/layouts/public-api.mjs +5 -0
- package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +31 -0
- package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +81 -0
- package/esm2022/layout/models/public-api.mjs +2 -0
- package/esm2022/layout/models/upd-layout-config.model.mjs +30 -0
- package/esm2022/layout/models/upd-layout.config.mjs +2 -0
- package/esm2022/layout/pages/auth-flow/auth-flow-routing.module.mjs +28 -0
- package/esm2022/layout/pages/auth-flow/auth-flow.module.mjs +46 -0
- package/esm2022/layout/pages/auth-flow/logged-out/logged-out.component.mjs +11 -0
- package/esm2022/layout/pages/auth-flow/login/login.component.mjs +27 -0
- package/esm2022/layout/pages/auth-flow/oauth-callback/oauth-callback.component.mjs +11 -0
- package/esm2022/layout/pages/auth-flow/public-api.mjs +6 -0
- package/esm2022/layout/pages/public-api.mjs +2 -0
- package/esm2022/layout/partials/footer/footer-copyright.directive.mjs +13 -0
- package/esm2022/layout/partials/footer/footer.component.mjs +67 -0
- package/esm2022/layout/partials/footer/public-api.mjs +3 -0
- package/esm2022/layout/partials/header/header-style.type.mjs +2 -0
- package/esm2022/layout/partials/header/header.component.mjs +77 -0
- package/esm2022/layout/partials/header/public-api.mjs +3 -0
- package/esm2022/layout/partials/page-header/page-header.component.mjs +14 -0
- package/esm2022/layout/partials/page-header/public-api.mjs +2 -0
- package/esm2022/layout/partials/public-api.mjs +5 -0
- package/esm2022/layout/partials/sidebar/public-api.mjs +2 -0
- package/esm2022/layout/partials/sidebar/sidebar.component.mjs +143 -0
- package/esm2022/layout/public-api.mjs +8 -0
- package/esm2022/layout/services/public-api.mjs +2 -0
- package/esm2022/layout/services/upd-layout-config.service.mjs +21 -0
- package/esm2022/layout/tools/layout.constants.mjs +15 -0
- package/esm2022/layout/upd-layout.module.mjs +43 -0
- package/esm2022/layout/updevs-components-layout.mjs +5 -0
- package/esm2022/lib/index.mjs +2 -0
- package/esm2022/lib/public-api.mjs +3 -0
- package/esm2022/lib/types/component-size.type.mjs +2 -0
- package/esm2022/lib/types/public-api.mjs +3 -0
- package/esm2022/lib/types/validation-status.type.mjs +2 -0
- package/esm2022/lib/upd-components.module.mjs +14 -0
- package/esm2022/link/index.mjs +2 -0
- package/esm2022/link/link.component.mjs +51 -0
- package/esm2022/link/public-api.mjs +4 -0
- package/esm2022/link/target.type.mjs +2 -0
- package/esm2022/link/upd-link.module.mjs +24 -0
- package/esm2022/link/updevs-components-link.mjs +5 -0
- package/esm2022/list/index.mjs +2 -0
- package/esm2022/list/list.component.mjs +134 -0
- package/esm2022/list/models/badge-position.type.mjs +2 -0
- package/esm2022/list/models/list-item.mjs +2 -0
- package/esm2022/list/models/list-item.model.mjs +15 -0
- package/esm2022/list/models/public-api.mjs +3 -0
- package/esm2022/list/public-api.mjs +4 -0
- package/esm2022/list/upd-list.module.mjs +43 -0
- package/esm2022/list/updevs-components-list.mjs +5 -0
- package/esm2022/popover/index.mjs +2 -0
- package/esm2022/popover/popover.component.mjs +65 -0
- package/esm2022/popover/popover.directive.mjs +129 -0
- package/esm2022/popover/public-api.mjs +4 -0
- package/esm2022/popover/upd-popover.module.mjs +29 -0
- package/esm2022/popover/updevs-components-popover.mjs +5 -0
- package/esm2022/public-api.mjs +2 -0
- package/esm2022/updevs-components.mjs +5 -0
- package/fesm2022/updevs-components-button.mjs +191 -0
- package/fesm2022/updevs-components-button.mjs.map +1 -0
- package/fesm2022/updevs-components-card.mjs +238 -0
- package/fesm2022/updevs-components-card.mjs.map +1 -0
- package/fesm2022/updevs-components-dropdown.mjs +189 -0
- package/fesm2022/updevs-components-dropdown.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-checkbox.mjs +100 -0
- package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-input.mjs +229 -0
- package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-radio.mjs +92 -0
- package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-select.mjs +371 -0
- package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-textarea.mjs +90 -0
- package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-time-picker.mjs +344 -0
- package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -0
- package/fesm2022/updevs-components-form.mjs +25 -0
- package/fesm2022/updevs-components-form.mjs.map +1 -0
- package/fesm2022/updevs-components-layout.mjs +670 -0
- package/fesm2022/updevs-components-layout.mjs.map +1 -0
- package/fesm2022/updevs-components-link.mjs +79 -0
- package/fesm2022/updevs-components-link.mjs.map +1 -0
- package/fesm2022/updevs-components-list.mjs +226 -0
- package/fesm2022/updevs-components-list.mjs.map +1 -0
- package/fesm2022/updevs-components-popover.mjs +223 -0
- package/fesm2022/updevs-components-popover.mjs.map +1 -0
- package/fesm2022/updevs-components.mjs +21 -0
- package/fesm2022/updevs-components.mjs.map +1 -0
- package/form/form.module.d.ts +7 -0
- package/form-controls/checkbox/checkbox.component.d.ts +25 -0
- package/form-controls/checkbox/{src/public-api.ts → public-api.d.ts} +0 -1
- package/form-controls/checkbox/upd-checkbox.module.d.ts +9 -0
- package/form-controls/input/directives/input-append.directive.d.ts +7 -0
- package/form-controls/input/directives/input-prepend.directive.d.ts +7 -0
- package/form-controls/input/input.component.d.ts +54 -0
- package/form-controls/input/upd-input.module.d.ts +13 -0
- package/form-controls/radio/radio.component.d.ts +24 -0
- package/form-controls/radio/upd-radio.module.d.ts +8 -0
- package/form-controls/select/components/multiple/select-multiple.component.d.ts +18 -0
- package/form-controls/select/components/single/select.component.d.ts +20 -0
- package/form-controls/select/models/abstractions/base-select.component.d.ts +80 -0
- package/form-controls/select/{src/models/select-item.ts → models/select-item.d.ts} +0 -1
- package/form-controls/select/upd-select.module.d.ts +15 -0
- package/form-controls/textarea/textarea.component.d.ts +23 -0
- package/form-controls/textarea/upd-textarea.module.d.ts +8 -0
- package/form-controls/time-picker/time-picker.component.d.ts +78 -0
- package/form-controls/time-picker/time-selector/time-selector.component.d.ts +69 -0
- package/form-controls/time-picker/upd-time-picker.module.d.ts +17 -0
- package/index.d.ts +5 -0
- package/layout/abstractions/base-page.component.d.ts +12 -0
- package/layout/layouts/blank-layout/blank-layout.component.d.ts +5 -0
- package/layout/layouts/blank-layout/blank-layout.module.d.ts +8 -0
- package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +12 -0
- package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +20 -0
- package/layout/models/upd-layout-config.model.d.ts +39 -0
- package/layout/pages/auth-flow/auth-flow-routing.module.d.ts +12 -0
- package/layout/pages/auth-flow/auth-flow.module.d.ts +13 -0
- package/layout/pages/auth-flow/logged-out/logged-out.component.d.ts +5 -0
- package/layout/pages/auth-flow/login/login.component.d.ts +12 -0
- package/layout/pages/auth-flow/oauth-callback/oauth-callback.component.d.ts +5 -0
- package/layout/partials/footer/footer-copyright.directive.d.ts +5 -0
- package/layout/partials/footer/footer.component.d.ts +43 -0
- package/layout/partials/header/header.component.d.ts +31 -0
- package/layout/partials/page-header/page-header.component.d.ts +7 -0
- package/layout/partials/sidebar/sidebar.component.d.ts +19 -0
- package/layout/services/upd-layout-config.service.d.ts +15 -0
- package/layout/{src/tools/layout.constants.ts → tools/layout.constants.d.ts} +3 -6
- package/layout/upd-layout.module.d.ts +18 -0
- package/lib/upd-components.module.d.ts +6 -0
- package/link/link.component.d.ts +22 -0
- package/link/upd-link.module.d.ts +8 -0
- package/list/list.component.d.ts +61 -0
- package/list/{src/models/list-item.ts → models/list-item.d.ts} +0 -2
- package/list/{src/models/list-item.model.ts → models/list-item.model.d.ts} +5 -16
- package/list/upd-list.module.d.ts +13 -0
- package/package.json +114 -21
- package/popover/popover.component.d.ts +22 -0
- package/popover/popover.directive.d.ts +33 -0
- package/popover/upd-popover.module.d.ts +9 -0
- package/CHANGELOG.md +0 -8
- package/button/index.ts +0 -1
- package/button/ng-package.json +0 -7
- package/button/src/button.component.html +0 -8
- package/button/src/button.component.scss +0 -5
- package/button/src/button.component.spec.ts +0 -23
- package/button/src/button.component.ts +0 -154
- package/button/src/upd-button.module.ts +0 -17
- package/card/index.ts +0 -1
- package/card/ng-package.json +0 -7
- package/card/src/card.component.html +0 -105
- package/card/src/card.component.scss +0 -47
- package/card/src/card.component.spec.ts +0 -23
- package/card/src/card.component.ts +0 -112
- package/card/src/directives/card-actions.directive.spec.ts +0 -8
- package/card/src/directives/card-actions.directive.ts +0 -11
- package/card/src/directives/card-footer.directive.spec.ts +0 -8
- package/card/src/directives/card-footer.directive.ts +0 -11
- package/card/src/directives/card-header.directive.spec.ts +0 -8
- package/card/src/directives/card-header.directive.ts +0 -11
- package/card/src/directives/card-image.directive.spec.ts +0 -8
- package/card/src/directives/card-image.directive.ts +0 -11
- package/card/src/types/public-api.ts +0 -5
- package/card/src/upd-card.module.ts +0 -32
- package/dropdown/index.ts +0 -1
- package/dropdown/ng-package.json +0 -7
- package/dropdown/src/dropdown.component.html +0 -32
- package/dropdown/src/dropdown.component.scss +0 -19
- package/dropdown/src/dropdown.component.spec.ts +0 -23
- package/dropdown/src/dropdown.component.ts +0 -182
- package/dropdown/src/upd-dropdown.module.ts +0 -25
- package/form/index.ts +0 -1
- package/form/ng-package.json +0 -7
- package/form/src/form.module.ts +0 -10
- package/form-controls/checkbox/index.ts +0 -1
- package/form-controls/checkbox/ng-package.json +0 -7
- package/form-controls/checkbox/src/checkbox.component.html +0 -7
- package/form-controls/checkbox/src/checkbox.component.scss +0 -0
- package/form-controls/checkbox/src/checkbox.component.spec.ts +0 -23
- package/form-controls/checkbox/src/checkbox.component.ts +0 -48
- package/form-controls/checkbox/src/upd-checkbox.module.ts +0 -19
- package/form-controls/input/index.ts +0 -1
- package/form-controls/input/ng-package.json +0 -7
- package/form-controls/input/src/directives/input-append.directive.spec.ts +0 -8
- package/form-controls/input/src/directives/input-append.directive.ts +0 -11
- package/form-controls/input/src/directives/input-prepend.directive.spec.ts +0 -8
- package/form-controls/input/src/directives/input-prepend.directive.ts +0 -11
- package/form-controls/input/src/input.component.html +0 -82
- package/form-controls/input/src/input.component.scss +0 -13
- package/form-controls/input/src/input.component.spec.ts +0 -23
- package/form-controls/input/src/input.component.ts +0 -124
- package/form-controls/input/src/upd-input.module.ts +0 -29
- package/form-controls/radio/index.ts +0 -1
- package/form-controls/radio/ng-package.json +0 -7
- package/form-controls/radio/src/radio.component.html +0 -7
- package/form-controls/radio/src/radio.component.scss +0 -0
- package/form-controls/radio/src/radio.component.spec.ts +0 -23
- package/form-controls/radio/src/radio.component.ts +0 -47
- package/form-controls/radio/src/upd-radio.module.ts +0 -17
- package/form-controls/select/index.ts +0 -1
- package/form-controls/select/ng-package.json +0 -7
- package/form-controls/select/src/components/multiple/select-multiple.component.html +0 -41
- package/form-controls/select/src/components/multiple/select-multiple.component.scss +0 -6
- package/form-controls/select/src/components/multiple/select-multiple.component.spec.ts +0 -21
- package/form-controls/select/src/components/multiple/select-multiple.component.ts +0 -69
- package/form-controls/select/src/components/shared.scss +0 -40
- package/form-controls/select/src/components/single/select.component.html +0 -53
- package/form-controls/select/src/components/single/select.component.scss +0 -3
- package/form-controls/select/src/components/single/select.component.spec.ts +0 -23
- package/form-controls/select/src/components/single/select.component.ts +0 -58
- package/form-controls/select/src/models/abstractions/base-select.component.ts +0 -259
- package/form-controls/select/src/upd-select.module.ts +0 -32
- package/form-controls/textarea/index.ts +0 -1
- package/form-controls/textarea/ng-package.json +0 -7
- package/form-controls/textarea/src/textarea.component.html +0 -8
- package/form-controls/textarea/src/textarea.component.scss +0 -0
- package/form-controls/textarea/src/textarea.component.spec.ts +0 -23
- package/form-controls/textarea/src/textarea.component.ts +0 -47
- package/form-controls/textarea/src/upd-textarea.module.ts +0 -17
- package/form-controls/time-picker/index.ts +0 -1
- package/form-controls/time-picker/ng-package.json +0 -7
- package/form-controls/time-picker/src/time-picker.component.html +0 -17
- package/form-controls/time-picker/src/time-picker.component.scss +0 -10
- package/form-controls/time-picker/src/time-picker.component.spec.ts +0 -21
- package/form-controls/time-picker/src/time-picker.component.ts +0 -110
- package/form-controls/time-picker/src/time-selector/time-selector.component.html +0 -44
- package/form-controls/time-picker/src/time-selector/time-selector.component.scss +0 -47
- package/form-controls/time-picker/src/time-selector/time-selector.component.spec.ts +0 -21
- package/form-controls/time-picker/src/time-selector/time-selector.component.ts +0 -107
- package/form-controls/time-picker/src/upd-time-picker.module.ts +0 -39
- package/index.ts +0 -1
- package/layout/index.ts +0 -1
- package/layout/ng-package.json +0 -7
- package/layout/src/abstractions/base-page.component.ts +0 -21
- package/layout/src/layouts/blank-layout/blank-layout.component.html +0 -1
- package/layout/src/layouts/blank-layout/blank-layout.component.scss +0 -0
- package/layout/src/layouts/blank-layout/blank-layout.component.spec.ts +0 -23
- package/layout/src/layouts/blank-layout/blank-layout.component.ts +0 -10
- package/layout/src/layouts/blank-layout/blank-layout.module.ts +0 -17
- package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.html +0 -14
- package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.scss +0 -0
- package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.spec.ts +0 -23
- package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.ts +0 -31
- package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.ts +0 -52
- package/layout/src/models/upd-layout-config.model.ts +0 -71
- package/layout/src/pages/auth-flow/auth-flow-routing.module.ts +0 -21
- package/layout/src/pages/auth-flow/auth-flow.module.ts +0 -29
- package/layout/src/pages/auth-flow/logged-out/logged-out.component.html +0 -1
- package/layout/src/pages/auth-flow/logged-out/logged-out.component.scss +0 -0
- package/layout/src/pages/auth-flow/logged-out/logged-out.component.spec.ts +0 -23
- package/layout/src/pages/auth-flow/logged-out/logged-out.component.ts +0 -10
- package/layout/src/pages/auth-flow/login/login.component.html +0 -96
- package/layout/src/pages/auth-flow/login/login.component.scss +0 -0
- package/layout/src/pages/auth-flow/login/login.component.spec.ts +0 -23
- package/layout/src/pages/auth-flow/login/login.component.ts +0 -26
- package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.html +0 -1
- package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.scss +0 -0
- package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.spec.ts +0 -23
- package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.ts +0 -10
- package/layout/src/partials/footer/footer-copyright.directive.spec.ts +0 -8
- package/layout/src/partials/footer/footer-copyright.directive.ts +0 -9
- package/layout/src/partials/footer/footer.component.html +0 -30
- package/layout/src/partials/footer/footer.component.scss +0 -0
- package/layout/src/partials/footer/footer.component.spec.ts +0 -23
- package/layout/src/partials/footer/footer.component.ts +0 -73
- package/layout/src/partials/header/header.component.html +0 -163
- package/layout/src/partials/header/header.component.scss +0 -0
- package/layout/src/partials/header/header.component.spec.ts +0 -23
- package/layout/src/partials/header/header.component.ts +0 -86
- package/layout/src/partials/page-header/page-header.component.html +0 -19
- package/layout/src/partials/page-header/page-header.component.scss +0 -0
- package/layout/src/partials/page-header/page-header.component.spec.ts +0 -23
- package/layout/src/partials/page-header/page-header.component.ts +0 -11
- package/layout/src/partials/sidebar/sidebar.component.html +0 -62
- package/layout/src/partials/sidebar/sidebar.component.scss +0 -0
- package/layout/src/partials/sidebar/sidebar.component.spec.ts +0 -23
- package/layout/src/partials/sidebar/sidebar.component.ts +0 -161
- package/layout/src/services/upd-layout-config.service.spec.ts +0 -16
- package/layout/src/services/upd-layout-config.service.ts +0 -20
- package/layout/src/upd-layout.module.ts +0 -34
- package/link/index.ts +0 -1
- package/link/ng-package.json +0 -7
- package/link/src/link.component.html +0 -3
- package/link/src/link.component.scss +0 -3
- package/link/src/link.component.spec.ts +0 -23
- package/link/src/link.component.ts +0 -48
- package/link/src/upd-link.module.ts +0 -17
- package/list/index.ts +0 -1
- package/list/ng-package.json +0 -7
- package/list/src/list.component.html +0 -58
- package/list/src/list.component.scss +0 -21
- package/list/src/list.component.spec.ts +0 -23
- package/list/src/list.component.ts +0 -147
- package/list/src/upd-list.module.ts +0 -30
- package/ng-package.json +0 -10
- package/popover/index.ts +0 -1
- package/popover/ng-package.json +0 -7
- package/popover/src/popover.component.html +0 -20
- package/popover/src/popover.component.scss +0 -8
- package/popover/src/popover.component.spec.ts +0 -23
- package/popover/src/popover.component.ts +0 -53
- package/popover/src/popover.directive.spec.ts +0 -8
- package/popover/src/popover.directive.ts +0 -128
- package/popover/src/upd-popover.module.ts +0 -20
- package/src/lib/upd-components.module.ts +0 -6
- package/tsconfig.lib.json +0 -14
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -14
- /package/button/{src/index.ts → index.d.ts} +0 -0
- /package/button/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/card/{src/directives/public-api.ts → directives/public-api.d.ts} +0 -0
- /package/card/{src/index.ts → index.d.ts} +0 -0
- /package/card/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/card/{src/types/card-state.type.ts → types/card-state.type.d.ts} +0 -0
- /package/card/{src/types/card-style.type.ts → types/card-style.type.d.ts} +0 -0
- /package/card/{src/types/hover-effect.type.ts → types/hover-effect.type.d.ts} +0 -0
- /package/card/{src/types/ribbon-style.type.ts → types/ribbon-style.type.d.ts} +0 -0
- /package/card/{src/types/status-position.type.ts → types/status-position.type.d.ts} +0 -0
- /package/dropdown/{src/index.ts → index.d.ts} +0 -0
- /package/dropdown/{src/models/dropdown-item.type.ts → models/dropdown-item.type.d.ts} +0 -0
- /package/dropdown/{src/models/public-api.ts → models/public-api.d.ts} +0 -0
- /package/dropdown/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/{form-controls/time-picker/src → esm2022/form-controls/time-picker}/assets/i18n/en.json +0 -0
- /package/{form-controls/time-picker/src → esm2022/form-controls/time-picker}/assets/i18n/pt.json +0 -0
- /package/{layout/src → esm2022/layout}/assets/i18n/en.json +0 -0
- /package/{layout/src → esm2022/layout}/assets/i18n/pt.json +0 -0
- /package/{list/src → esm2022/list}/assets/i18n/en.json +0 -0
- /package/{list/src → esm2022/list}/assets/i18n/pt.json +0 -0
- /package/form/{src/index.ts → index.d.ts} +0 -0
- /package/form/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/form-controls/checkbox/{src/index.ts → index.d.ts} +0 -0
- /package/form-controls/input/{src/directives/public-api.ts → directives/public-api.d.ts} +0 -0
- /package/form-controls/input/{src/index.ts → index.d.ts} +0 -0
- /package/form-controls/input/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/form-controls/input/{src/types/input.type.ts → types/input.type.d.ts} +0 -0
- /package/form-controls/input/{src/types/loader-position.type.ts → types/loader-position.type.d.ts} +0 -0
- /package/form-controls/input/{src/types/public-api.ts → types/public-api.d.ts} +0 -0
- /package/form-controls/radio/{src/index.ts → index.d.ts} +0 -0
- /package/form-controls/radio/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/form-controls/select/{src/index.ts → index.d.ts} +0 -0
- /package/form-controls/select/{src/models/public-api.ts → models/public-api.d.ts} +0 -0
- /package/form-controls/select/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/form-controls/textarea/{src/index.ts → index.d.ts} +0 -0
- /package/form-controls/textarea/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/form-controls/time-picker/{src/index.ts → index.d.ts} +0 -0
- /package/form-controls/time-picker/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/layout/{src/abstractions/public-api.ts → abstractions/public-api.d.ts} +0 -0
- /package/layout/{src/index.ts → index.d.ts} +0 -0
- /package/layout/{src/layouts/public-api.ts → layouts/public-api.d.ts} +0 -0
- /package/layout/{src/models/public-api.ts → models/public-api.d.ts} +0 -0
- /package/layout/{src/models/upd-layout.config.ts → models/upd-layout.config.d.ts} +0 -0
- /package/layout/{src/pages/auth-flow/public-api.ts → pages/auth-flow/public-api.d.ts} +0 -0
- /package/layout/{src/pages/public-api.ts → pages/public-api.d.ts} +0 -0
- /package/layout/{src/partials/footer/public-api.ts → partials/footer/public-api.d.ts} +0 -0
- /package/layout/{src/partials/header/header-style.type.ts → partials/header/header-style.type.d.ts} +0 -0
- /package/layout/{src/partials/header/public-api.ts → partials/header/public-api.d.ts} +0 -0
- /package/layout/{src/partials/page-header/public-api.ts → partials/page-header/public-api.d.ts} +0 -0
- /package/layout/{src/partials/public-api.ts → partials/public-api.d.ts} +0 -0
- /package/layout/{src/partials/sidebar/public-api.ts → partials/sidebar/public-api.d.ts} +0 -0
- /package/layout/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/layout/{src/services/public-api.ts → services/public-api.d.ts} +0 -0
- /package/{link/src/index.ts → lib/index.d.ts} +0 -0
- /package/{src/lib/public-api.ts → lib/public-api.d.ts} +0 -0
- /package/{src/lib/types/component-size.type.ts → lib/types/component-size.type.d.ts} +0 -0
- /package/{src/lib/types/public-api.ts → lib/types/public-api.d.ts} +0 -0
- /package/{src/lib/types/validation-status.type.ts → lib/types/validation-status.type.d.ts} +0 -0
- /package/{list/src/index.ts → link/index.d.ts} +0 -0
- /package/link/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/link/{src/target.type.ts → target.type.d.ts} +0 -0
- /package/{popover/src/index.ts → list/index.d.ts} +0 -0
- /package/list/{src/models/badge-position.type.ts → models/badge-position.type.d.ts} +0 -0
- /package/list/{src/models/public-api.ts → models/public-api.d.ts} +0 -0
- /package/list/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/{src/lib/index.ts → popover/index.d.ts} +0 -0
- /package/popover/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/{src/public-api.ts → public-api.d.ts} +0 -0
@@ -0,0 +1,64 @@
|
|
1
|
+
import { Component, Input, HostBinding, ViewEncapsulation, Output, EventEmitter } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "@angular/common";
|
4
|
+
export class RadioComponent {
|
5
|
+
constructor() {
|
6
|
+
this.wrapperClasses = '';
|
7
|
+
this.isDisabled = false;
|
8
|
+
this.isReadOnly = false;
|
9
|
+
this.isChecked = false;
|
10
|
+
this.isInline = false;
|
11
|
+
this.selected = new EventEmitter();
|
12
|
+
this.classes = [];
|
13
|
+
}
|
14
|
+
ngOnInit() {
|
15
|
+
this.updateClasses();
|
16
|
+
}
|
17
|
+
ngOnChanges(changes) {
|
18
|
+
this.updateClasses();
|
19
|
+
}
|
20
|
+
updateClasses() {
|
21
|
+
const lClasses = ['form-check-input'];
|
22
|
+
if (!!this.validationStatus) {
|
23
|
+
const statusCls = `is-${this.validationStatus}`;
|
24
|
+
lClasses.push(statusCls);
|
25
|
+
}
|
26
|
+
this.classes = [...lClasses, ...(this.customClasses || '').split(' ')];
|
27
|
+
}
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: RadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
29
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: RadioComponent, selector: "upd-radio", inputs: { wrapperClasses: "wrapperClasses", label: "label", value: "value", customClasses: "customClasses", name: "name", description: "description", isDisabled: "isDisabled", isReadOnly: "isReadOnly", isChecked: "isChecked", isInline: "isInline", validationStatus: "validationStatus", invalidStatusText: "invalidStatusText" }, outputs: { selected: "selected" }, host: { properties: { "class": "this.wrapperClasses" } }, usesOnChanges: true, ngImport: i0, template: "<label class=\"form-check\" [class.form-check-inline]=\"isInline\">\n <input type=\"radio\" (change)=\"selected.emit()\" [disabled]=\"isDisabled\" [ngClass]=\"classes\" [value]=\"value\" [attr.name]=\"name\"\n [attr.readonly]=\"isReadOnly ? '' : undefined\" [checked]=\"isChecked\">\n @if (!!label) {\n <span class=\"form-check-label\">{{ label }}</span>\n }\n @if (!!description) {\n <span class=\"form-check-description\">{{ description }}</span>\n }\n @if (validationStatus === 'invalid' && !!invalidStatusText) {\n <div class=\"invalid-feedback\">{{ invalidStatusText }}</div>\n }\n</label>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
30
|
+
}
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: RadioComponent, decorators: [{
|
32
|
+
type: Component,
|
33
|
+
args: [{ selector: 'upd-radio', encapsulation: ViewEncapsulation.None, template: "<label class=\"form-check\" [class.form-check-inline]=\"isInline\">\n <input type=\"radio\" (change)=\"selected.emit()\" [disabled]=\"isDisabled\" [ngClass]=\"classes\" [value]=\"value\" [attr.name]=\"name\"\n [attr.readonly]=\"isReadOnly ? '' : undefined\" [checked]=\"isChecked\">\n @if (!!label) {\n <span class=\"form-check-label\">{{ label }}</span>\n }\n @if (!!description) {\n <span class=\"form-check-description\">{{ description }}</span>\n }\n @if (validationStatus === 'invalid' && !!invalidStatusText) {\n <div class=\"invalid-feedback\">{{ invalidStatusText }}</div>\n }\n</label>\n" }]
|
34
|
+
}], propDecorators: { wrapperClasses: [{
|
35
|
+
type: HostBinding,
|
36
|
+
args: ['class']
|
37
|
+
}, {
|
38
|
+
type: Input
|
39
|
+
}], label: [{
|
40
|
+
type: Input
|
41
|
+
}], value: [{
|
42
|
+
type: Input
|
43
|
+
}], customClasses: [{
|
44
|
+
type: Input
|
45
|
+
}], name: [{
|
46
|
+
type: Input
|
47
|
+
}], description: [{
|
48
|
+
type: Input
|
49
|
+
}], isDisabled: [{
|
50
|
+
type: Input
|
51
|
+
}], isReadOnly: [{
|
52
|
+
type: Input
|
53
|
+
}], isChecked: [{
|
54
|
+
type: Input
|
55
|
+
}], isInline: [{
|
56
|
+
type: Input
|
57
|
+
}], validationStatus: [{
|
58
|
+
type: Input
|
59
|
+
}], invalidStatusText: [{
|
60
|
+
type: Input
|
61
|
+
}], selected: [{
|
62
|
+
type: Output
|
63
|
+
}] } });
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXBkZXZzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9yYWRpby9zcmMvcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXBkZXZzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9yYWRpby9zcmMvcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsS0FBSyxFQUFpQixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBU3pJLE1BQU0sT0FBTyxjQUFjO0lBTjNCO1FBT21DLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBTzFDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFJUCxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV2RCxZQUFPLEdBQWEsRUFBRSxDQUFDO0tBb0IxQjtJQWxCRyxRQUFRO1FBQ0osSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxhQUFhO1FBQ2pCLE1BQU0sUUFBUSxHQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVoRCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxQixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2hELFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLFFBQVEsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDOzhHQXBDUSxjQUFjO2tHQUFkLGNBQWMsMmVDVDNCLHVvQkFhQTs7MkZESmEsY0FBYztrQkFOMUIsU0FBUzsrQkFDSSxXQUFXLGlCQUdOLGlCQUFpQixDQUFDLElBQUk7OEJBR04sY0FBYztzQkFBNUMsV0FBVzt1QkFBQyxPQUFPOztzQkFBRyxLQUFLO2dCQUVuQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVhLFFBQVE7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25DaGFuZ2VzLCBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgSG9zdEJpbmRpbmcsIFZpZXdFbmNhcHN1bGF0aW9uLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvblN0YXR1c1R5cGUgfSBmcm9tICdAdXBkZXZzL2NvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1yYWRpbycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yYWRpby5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgUmFkaW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIEBJbnB1dCgpIHdyYXBwZXJDbGFzc2VzID0gJyc7XG5cbiAgICBASW5wdXQoKSBsYWJlbD86IHN0cmluZztcbiAgICBASW5wdXQoKSB2YWx1ZT86IGFueTtcbiAgICBASW5wdXQoKSBjdXN0b21DbGFzc2VzPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG5hbWU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXNEaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzUmVhZE9ubHkgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpc0NoZWNrZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpc0lubGluZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHZhbGlkYXRpb25TdGF0dXM/OiBWYWxpZGF0aW9uU3RhdHVzVHlwZTtcbiAgICBASW5wdXQoKSBpbnZhbGlkU3RhdHVzVGV4dD86IHN0cmluZztcblxuICAgIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIGNsYXNzZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGxDbGFzc2VzOiBzdHJpbmdbXSA9IFsnZm9ybS1jaGVjay1pbnB1dCddO1xuXG4gICAgICAgIGlmICghIXRoaXMudmFsaWRhdGlvblN0YXR1cykge1xuICAgICAgICAgICAgY29uc3Qgc3RhdHVzQ2xzID0gYGlzLSR7dGhpcy52YWxpZGF0aW9uU3RhdHVzfWA7XG4gICAgICAgICAgICBsQ2xhc3Nlcy5wdXNoKHN0YXR1c0Nscyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNsYXNzZXMgPSBbLi4ubENsYXNzZXMsIC4uLih0aGlzLmN1c3RvbUNsYXNzZXMgfHwgJycpLnNwbGl0KCcgJyldO1xuICAgIH1cbn1cbiIsIjxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2tcIiBbY2xhc3MuZm9ybS1jaGVjay1pbmxpbmVdPVwiaXNJbmxpbmVcIj5cbiAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgKGNoYW5nZSk9XCJzZWxlY3RlZC5lbWl0KClcIiBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiIFtuZ0NsYXNzXT1cImNsYXNzZXNcIiBbdmFsdWVdPVwidmFsdWVcIiBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgICAgICBbYXR0ci5yZWFkb25seV09XCJpc1JlYWRPbmx5ID8gJycgOiB1bmRlZmluZWRcIiBbY2hlY2tlZF09XCJpc0NoZWNrZWRcIj5cbiAgICBAaWYgKCEhbGFiZWwpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgfVxuICAgIEBpZiAoISFkZXNjcmlwdGlvbikge1xuICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0tY2hlY2stZGVzY3JpcHRpb25cIj57eyBkZXNjcmlwdGlvbiB9fTwvc3Bhbj5cbiAgICB9XG4gICAgQGlmICh2YWxpZGF0aW9uU3RhdHVzID09PSAnaW52YWxpZCcgJiYgISFpbnZhbGlkU3RhdHVzVGV4dCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiPnt7IGludmFsaWRTdGF0dXNUZXh0IH19PC9kaXY+XG4gICAgfVxuPC9sYWJlbD5cbiJdfQ==
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { RadioComponent } from './radio.component';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export class UpdRadioModule {
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UpdRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: UpdRadioModule, declarations: [RadioComponent], imports: [CommonModule], exports: [RadioComponent] }); }
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UpdRadioModule, imports: [CommonModule] }); }
|
9
|
+
}
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UpdRadioModule, decorators: [{
|
11
|
+
type: NgModule,
|
12
|
+
args: [{
|
13
|
+
imports: [
|
14
|
+
CommonModule
|
15
|
+
],
|
16
|
+
declarations: [
|
17
|
+
RadioComponent
|
18
|
+
],
|
19
|
+
exports: [
|
20
|
+
RadioComponent
|
21
|
+
]
|
22
|
+
}]
|
23
|
+
}] });
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkLXJhZGlvLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvcmFkaW8vc3JjL3VwZC1yYWRpby5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQWFuRCxNQUFNLE9BQU8sY0FBYzs4R0FBZCxjQUFjOytHQUFkLGNBQWMsaUJBTm5CLGNBQWMsYUFIZCxZQUFZLGFBTVosY0FBYzsrR0FHVCxjQUFjLFlBVG5CLFlBQVk7OzJGQVNQLGNBQWM7a0JBWDFCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7cUJBQ2Y7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGNBQWM7cUJBQ2pCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxjQUFjO3FCQUNqQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vcmFkaW8uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFJhZGlvQ29tcG9uZW50XG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIFJhZGlvQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBVcGRSYWRpb01vZHVsZSB7fVxuIl19
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Generated bundle index. Do not edit.
|
3
|
+
*/
|
4
|
+
export * from './index';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkZXZzLWNvbXBvbmVudHMtZm9ybS1jb250cm9scy1yYWRpby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvcmFkaW8vc3JjL3VwZGV2cy1jb21wb25lbnRzLWZvcm0tY29udHJvbHMtcmFkaW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
@@ -0,0 +1,65 @@
|
|
1
|
+
import { Component, ViewEncapsulation, EventEmitter, Output } from '@angular/core';
|
2
|
+
import { BaseSelectComponent } from '../../models/abstractions/base-select.component';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "@updevs/components/list";
|
5
|
+
import * as i2 from "@updevs/components/form-controls/input";
|
6
|
+
import * as i3 from "@updevs/icons";
|
7
|
+
import * as i4 from "@updevs/components/button";
|
8
|
+
export class SelectMultipleComponent extends BaseSelectComponent {
|
9
|
+
constructor() {
|
10
|
+
super(...arguments);
|
11
|
+
/**
|
12
|
+
* Triggered when an item is selected.
|
13
|
+
*/
|
14
|
+
this.selectedItems = new EventEmitter();
|
15
|
+
this.currentSelection = [];
|
16
|
+
}
|
17
|
+
clearSelection() {
|
18
|
+
this.currentSelection = [];
|
19
|
+
this._currentTerm = undefined;
|
20
|
+
this.updateActiveItemsOnList();
|
21
|
+
}
|
22
|
+
onSelectItem(item) {
|
23
|
+
const selectedItem = this.currentSelection.find(cs => cs.value === item.id);
|
24
|
+
if (!!selectedItem) {
|
25
|
+
this.onRemoveItem(selectedItem);
|
26
|
+
return;
|
27
|
+
}
|
28
|
+
for (const localBackupItem of this._localBackupItems) {
|
29
|
+
if ((localBackupItem.children?.length || 0) > 0) {
|
30
|
+
const child = localBackupItem.children?.find(c => c.value === item.id);
|
31
|
+
if (!!child) {
|
32
|
+
this.currentSelection.push(child);
|
33
|
+
break;
|
34
|
+
}
|
35
|
+
}
|
36
|
+
else if (localBackupItem.value === item.id) {
|
37
|
+
this.currentSelection.push(localBackupItem);
|
38
|
+
break;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
this.updateActiveItemsOnList();
|
42
|
+
this.selectedItems.emit(this.currentSelection);
|
43
|
+
}
|
44
|
+
onRemoveItem(item) {
|
45
|
+
const idx = this.currentSelection.findIndex(cs => cs.value === item.value);
|
46
|
+
this.currentSelection.splice(idx, 1);
|
47
|
+
this.updateActiveItemsOnList();
|
48
|
+
}
|
49
|
+
updateActiveItemsOnList() {
|
50
|
+
for (const backupItem of this._localBackupItems) {
|
51
|
+
const selectedItem = this.currentSelection.find(cs => cs.value === backupItem.value);
|
52
|
+
backupItem.listItem.isActive = !!selectedItem;
|
53
|
+
}
|
54
|
+
this._setupLocalItems(this._localBackupItems);
|
55
|
+
}
|
56
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SelectMultipleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
57
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: SelectMultipleComponent, selector: "upd-select-multiple", outputs: { selectedItems: "selectedItems" }, usesInheritance: true, ngImport: i0, template: "@if (!!label) {\n <label class=\"form-label\">{{ label }}</label>\n}\n\n<div class=\"dropdown\">\n <div #componentBox class=\"input-group input-group-flat\">\n <div class=\"form-control\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n @for (sel of currentSelection; track sel) {\n <span class=\"badge bg-primary select-multiple-value\">{{ sel.text }}\n <upd-button [isIcon]=\"true\" [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onRemoveItem(sel)\">\n <upd-icon tablerIcon=\"x\"></upd-icon>\n </upd-button></span> \n }\n </div>\n <div class=\"input-group-text\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n @if (currentSelection.length > 0) {\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"clearSelection()\" customClasses=\"link-secondary\">\n <upd-icon [model]=\"{heroIcon:'x-mark', heroIconType: 'outline', heroIconSize:'small'}\"></upd-icon>\n </upd-button>\n }\n @if (!isLoading) {\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"openDropdown()\" customClasses=\"link-secondary ms-2\">\n <upd-icon [model]=\"{heroIcon:'chevron-down', heroIconType: 'outline', heroIconSize:'small'}\"></upd-icon>\n </upd-button>\n } @else {\n <div class=\"select-loader-wrapper\">\n <div class=\"spinner-border spinner-border-sm text-muted select-loader\" role=\"status\"></div>\n </div>\n }\n </div>\n </div>\n <div #searchBox>\n <div #searchBoxChild [style.visibility]=\"isDropdownOpen ? 'visible' : 'hidden'\" class=\"select-search-box\">\n <upd-input [placeholder]=\"placeholder\" [isInputGroupFlat]=\"true\" (click)=\"openDropdown()\" (valueChange)=\"search($event)\">\n <ng-template updInputPrepend>\n <upd-icon [model]=\"{heroIcon:'magnifying-glass'}\"></upd-icon>\n </ng-template>\n </upd-input>\n </div>\n </div>\n <upd-list #list [items]=\"listItems\" [maxHeight]=\"dropdownMaxHeight + 'px'\" (selectedItem)=\"onSelectItem($event)\"\n [wrapperClasses]=\"dropdownClasses\" [isVisible]=\"isDropdownOpen\" [shouldOverflow]=\"true\" [shouldDisplayItemsCounter]=\"true\">\n </upd-list>\n</div>\n", styles: [".select-dropdown-content{position:absolute!important;background-color:var(--upd-card-bg);z-index:1;border:var(--upd-card-border-width) solid var(--upd-card-border-color)!important;border-radius:var(--upd-card-border-radius)!important;box-shadow:0 1px 1px #0000002e}.select-dropdown-content-open{display:block!important}.select-loader-wrapper{height:24px}.select-loader-wrapper .select-loader{height:24px;width:24px}.select-search-box{position:absolute;z-index:1;padding:.5rem;margin-top:-1px;background:var(--upd-body-bg);border:var(--upd-border-width) var(--upd-border-style) var(--upd-border-color)}.remove-bottom-radius{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.remove-top-radius{border-top-left-radius:0!important;border-top-right-radius:0!important}.select-multiple-value{display:inline-flex;align-items:center}\n"], dependencies: [{ kind: "component", type: i1.ListComponent, selector: "upd-list", inputs: ["items", "shouldOverflow", "isFlush", "isVisible", "isHoverable", "shouldDisplayItemsCounter", "wrapperClasses", "maxHeight", "noRecordsFoundKey", "itemFoundKey", "itemsFoundKey"], outputs: ["checkboxChanged", "selectedItem"] }, { kind: "component", type: i2.InputComponent, selector: "upd-input", inputs: ["type", "placeholder", "label", "mask", "maskConfig", "hint", "hintTemplate", "hintAsTooltip", "value", "size", "customClasses", "wrapperClasses", "name", "maxLength", "isDisabled", "isPlainText", "isReadOnly", "isLoading", "isRound", "isFlush", "isInputGroupFlat", "isPrependButton", "isAppendButton", "isFloating", "isRequired", "loaderPosition", "prependIconModel", "appendIconModel", "validationStatus", "isValidationStatusLight", "invalidStatusText"], outputs: ["valueChange"] }, { kind: "directive", type: i2.InputPrependDirective, selector: "ng-template[updInputPrepend]" }, { kind: "component", type: i3.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "removeDefaultClasses", "customClasses", "tablerIcon", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i4.ButtonComponent, selector: "upd-button", inputs: ["text", "model", "colorStyle", "brandColorStyle", "customClasses", "isActive", "isDisabled", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "shouldIgnoreBtnClass"], outputs: ["clicked"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
58
|
+
}
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SelectMultipleComponent, decorators: [{
|
60
|
+
type: Component,
|
61
|
+
args: [{ selector: 'upd-select-multiple', encapsulation: ViewEncapsulation.None, template: "@if (!!label) {\n <label class=\"form-label\">{{ label }}</label>\n}\n\n<div class=\"dropdown\">\n <div #componentBox class=\"input-group input-group-flat\">\n <div class=\"form-control\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n @for (sel of currentSelection; track sel) {\n <span class=\"badge bg-primary select-multiple-value\">{{ sel.text }}\n <upd-button [isIcon]=\"true\" [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onRemoveItem(sel)\">\n <upd-icon tablerIcon=\"x\"></upd-icon>\n </upd-button></span> \n }\n </div>\n <div class=\"input-group-text\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n @if (currentSelection.length > 0) {\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"clearSelection()\" customClasses=\"link-secondary\">\n <upd-icon [model]=\"{heroIcon:'x-mark', heroIconType: 'outline', heroIconSize:'small'}\"></upd-icon>\n </upd-button>\n }\n @if (!isLoading) {\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"openDropdown()\" customClasses=\"link-secondary ms-2\">\n <upd-icon [model]=\"{heroIcon:'chevron-down', heroIconType: 'outline', heroIconSize:'small'}\"></upd-icon>\n </upd-button>\n } @else {\n <div class=\"select-loader-wrapper\">\n <div class=\"spinner-border spinner-border-sm text-muted select-loader\" role=\"status\"></div>\n </div>\n }\n </div>\n </div>\n <div #searchBox>\n <div #searchBoxChild [style.visibility]=\"isDropdownOpen ? 'visible' : 'hidden'\" class=\"select-search-box\">\n <upd-input [placeholder]=\"placeholder\" [isInputGroupFlat]=\"true\" (click)=\"openDropdown()\" (valueChange)=\"search($event)\">\n <ng-template updInputPrepend>\n <upd-icon [model]=\"{heroIcon:'magnifying-glass'}\"></upd-icon>\n </ng-template>\n </upd-input>\n </div>\n </div>\n <upd-list #list [items]=\"listItems\" [maxHeight]=\"dropdownMaxHeight + 'px'\" (selectedItem)=\"onSelectItem($event)\"\n [wrapperClasses]=\"dropdownClasses\" [isVisible]=\"isDropdownOpen\" [shouldOverflow]=\"true\" [shouldDisplayItemsCounter]=\"true\">\n </upd-list>\n</div>\n", styles: [".select-dropdown-content{position:absolute!important;background-color:var(--upd-card-bg);z-index:1;border:var(--upd-card-border-width) solid var(--upd-card-border-color)!important;border-radius:var(--upd-card-border-radius)!important;box-shadow:0 1px 1px #0000002e}.select-dropdown-content-open{display:block!important}.select-loader-wrapper{height:24px}.select-loader-wrapper .select-loader{height:24px;width:24px}.select-search-box{position:absolute;z-index:1;padding:.5rem;margin-top:-1px;background:var(--upd-body-bg);border:var(--upd-border-width) var(--upd-border-style) var(--upd-border-color)}.remove-bottom-radius{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.remove-top-radius{border-top-left-radius:0!important;border-top-right-radius:0!important}.select-multiple-value{display:inline-flex;align-items:center}\n"] }]
|
62
|
+
}], propDecorators: { selectedItems: [{
|
63
|
+
type: Output
|
64
|
+
}] } });
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW11bHRpcGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0L3NyYy9jb21wb25lbnRzL211bHRpcGxlL3NlbGVjdC1tdWx0aXBsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3NlbGVjdC9zcmMvY29tcG9uZW50cy9tdWx0aXBsZS9zZWxlY3QtbXVsdGlwbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7Ozs7QUFTdEYsTUFBTSxPQUFPLHVCQUF3QixTQUFRLG1CQUFtQjtJQU5oRTs7UUFPSTs7V0FFRztRQUNnQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBRXBFLHFCQUFnQixHQUFpQixFQUFFLENBQUM7S0FrRHZDO0lBaERHLGNBQWM7UUFDVixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBRTlCLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBYztRQUN2QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNoQyxPQUFPO1FBQ1gsQ0FBQztRQUVELEtBQUssTUFBTSxlQUFlLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM5QyxNQUFNLEtBQUssR0FBRyxlQUFlLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUV2RSxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDVixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNsQyxNQUFNO2dCQUNWLENBQUM7WUFDTCxDQUFDO2lCQUFNLElBQUksZUFBZSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQzVDLE1BQU07WUFDVixDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxZQUFZLENBQUMsSUFBZ0I7UUFDekIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTyx1QkFBdUI7UUFDM0IsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM5QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckYsVUFBVSxDQUFDLFFBQVMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUNuRCxDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7OEdBdkRRLHVCQUF1QjtrR0FBdkIsdUJBQXVCLCtIQ1pwQyxnNkVBNENBOzsyRkRoQ2EsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNJLHFCQUFxQixpQkFHaEIsaUJBQWlCLENBQUMsSUFBSTs4QkFNbEIsYUFBYTtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9saXN0JztcblxuaW1wb3J0IHsgQmFzZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9hYnN0cmFjdGlvbnMvYmFzZS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0LWl0ZW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1zZWxlY3QtbXVsdGlwbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtbXVsdGlwbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlbGVjdC1tdWx0aXBsZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0TXVsdGlwbGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VsZWN0Q29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiBUcmlnZ2VyZWQgd2hlbiBhbiBpdGVtIGlzIHNlbGVjdGVkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3RlZEl0ZW1zID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RJdGVtW10+KCk7XG5cbiAgICBjdXJyZW50U2VsZWN0aW9uOiBTZWxlY3RJdGVtW10gPSBbXTtcblxuICAgIGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPSBbXTtcbiAgICAgICAgdGhpcy5fY3VycmVudFRlcm0gPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVJdGVtc09uTGlzdCgpO1xuICAgIH1cblxuICAgIG9uU2VsZWN0SXRlbShpdGVtOiBMaXN0SXRlbSk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB0aGlzLmN1cnJlbnRTZWxlY3Rpb24uZmluZChjcyA9PiBjcy52YWx1ZSA9PT0gaXRlbS5pZCk7XG5cbiAgICAgICAgaWYgKCEhc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLm9uUmVtb3ZlSXRlbShzZWxlY3RlZEl0ZW0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBsb2NhbEJhY2t1cEl0ZW0gb2YgdGhpcy5fbG9jYWxCYWNrdXBJdGVtcykge1xuICAgICAgICAgICAgaWYgKChsb2NhbEJhY2t1cEl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCB8fCAwKSA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaGlsZCA9IGxvY2FsQmFja3VwSXRlbS5jaGlsZHJlbj8uZmluZChjID0+IGMudmFsdWUgPT09IGl0ZW0uaWQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCEhY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGxvY2FsQmFja3VwSXRlbS52YWx1ZSA9PT0gaXRlbS5pZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFNlbGVjdGlvbi5wdXNoKGxvY2FsQmFja3VwSXRlbSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUl0ZW1zT25MaXN0KCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5lbWl0KHRoaXMuY3VycmVudFNlbGVjdGlvbik7XG4gICAgfVxuXG4gICAgb25SZW1vdmVJdGVtKGl0ZW06IFNlbGVjdEl0ZW0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaWR4ID0gdGhpcy5jdXJyZW50U2VsZWN0aW9uLmZpbmRJbmRleChjcyA9PiBjcy52YWx1ZSA9PT0gaXRlbS52YWx1ZSk7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uLnNwbGljZShpZHgsIDEpO1xuICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUl0ZW1zT25MaXN0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVBY3RpdmVJdGVtc09uTGlzdCgpOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCBiYWNrdXBJdGVtIG9mIHRoaXMuX2xvY2FsQmFja3VwSXRlbXMpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IHRoaXMuY3VycmVudFNlbGVjdGlvbi5maW5kKGNzID0+IGNzLnZhbHVlID09PSBiYWNrdXBJdGVtLnZhbHVlKTtcbiAgICAgICAgICAgIGJhY2t1cEl0ZW0ubGlzdEl0ZW0hLmlzQWN0aXZlID0gISFzZWxlY3RlZEl0ZW07XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zZXR1cExvY2FsSXRlbXModGhpcy5fbG9jYWxCYWNrdXBJdGVtcyk7XG4gICAgfVxufVxuIiwiQGlmICghIWxhYmVsKSB7XG4gICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbn1cblxuPGRpdiBjbGFzcz1cImRyb3Bkb3duXCI+XG4gICAgPGRpdiAjY29tcG9uZW50Qm94IGNsYXNzPVwiaW5wdXQtZ3JvdXAgaW5wdXQtZ3JvdXAtZmxhdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW2NsYXNzLnJlbW92ZS1ib3R0b20tcmFkaXVzXT1cImlzRHJvcGRvd25PcGVuXCI+XG4gICAgICAgICAgICBAZm9yIChzZWwgb2YgY3VycmVudFNlbGVjdGlvbjsgdHJhY2sgc2VsKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy1wcmltYXJ5IHNlbGVjdC1tdWx0aXBsZS12YWx1ZVwiPnt7IHNlbC50ZXh0IH19XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtYnV0dG9uIFtpc0ljb25dPVwidHJ1ZVwiIFtzaG91bGRJZ25vcmVCdG5DbGFzc109XCJ0cnVlXCIgKGNsaWNrZWQpPVwib25SZW1vdmVJdGVtKHNlbClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiB0YWJsZXJJY29uPVwieFwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvdXBkLWJ1dHRvbj48L3NwYW4+Jm5ic3A7XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dFwiIFtjbGFzcy5yZW1vdmUtYm90dG9tLXJhZGl1c109XCJpc0Ryb3Bkb3duT3BlblwiPlxuICAgICAgICAgICAgQGlmIChjdXJyZW50U2VsZWN0aW9uLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICA8dXBkLWJ1dHRvbiBbc2hvdWxkSWdub3JlQnRuQ2xhc3NdPVwidHJ1ZVwiIChjbGlja2VkKT1cImNsZWFyU2VsZWN0aW9uKClcIiBjdXN0b21DbGFzc2VzPVwibGluay1zZWNvbmRhcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgPHVwZC1pY29uIFttb2RlbF09XCJ7aGVyb0ljb246J3gtbWFyaycsIGhlcm9JY29uVHlwZTogJ291dGxpbmUnLCBoZXJvSWNvblNpemU6J3NtYWxsJ31cIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgIDwvdXBkLWJ1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoIWlzTG9hZGluZykge1xuICAgICAgICAgICAgICAgIDx1cGQtYnV0dG9uIFtzaG91bGRJZ25vcmVCdG5DbGFzc109XCJ0cnVlXCIgKGNsaWNrZWQpPVwib3BlbkRyb3Bkb3duKClcIiBjdXN0b21DbGFzc2VzPVwibGluay1zZWNvbmRhcnkgbXMtMlwiPlxuICAgICAgICAgICAgICAgICAgICA8dXBkLWljb24gW21vZGVsXT1cIntoZXJvSWNvbjonY2hldnJvbi1kb3duJywgaGVyb0ljb25UeXBlOiAnb3V0bGluZScsIGhlcm9JY29uU2l6ZTonc21hbGwnfVwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgPC91cGQtYnV0dG9uPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdC1sb2FkZXItd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Bpbm5lci1ib3JkZXIgc3Bpbm5lci1ib3JkZXItc20gdGV4dC1tdXRlZCBzZWxlY3QtbG9hZGVyXCIgcm9sZT1cInN0YXR1c1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICNzZWFyY2hCb3g+XG4gICAgICAgIDxkaXYgI3NlYXJjaEJveENoaWxkIFtzdHlsZS52aXNpYmlsaXR5XT1cImlzRHJvcGRvd25PcGVuID8gJ3Zpc2libGUnIDogJ2hpZGRlbidcIiBjbGFzcz1cInNlbGVjdC1zZWFyY2gtYm94XCI+XG4gICAgICAgICAgICA8dXBkLWlucHV0IFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtpc0lucHV0R3JvdXBGbGF0XT1cInRydWVcIiAoY2xpY2spPVwib3BlbkRyb3Bkb3duKClcIiAodmFsdWVDaGFuZ2UpPVwic2VhcmNoKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgdXBkSW5wdXRQcmVwZW5kPlxuICAgICAgICAgICAgICAgICAgICA8dXBkLWljb24gW21vZGVsXT1cIntoZXJvSWNvbjonbWFnbmlmeWluZy1nbGFzcyd9XCI+PC91cGQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC91cGQtaW5wdXQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDx1cGQtbGlzdCAjbGlzdCBbaXRlbXNdPVwibGlzdEl0ZW1zXCIgW21heEhlaWdodF09XCJkcm9wZG93bk1heEhlaWdodCArICdweCdcIiAoc2VsZWN0ZWRJdGVtKT1cIm9uU2VsZWN0SXRlbSgkZXZlbnQpXCJcbiAgICAgICAgW3dyYXBwZXJDbGFzc2VzXT1cImRyb3Bkb3duQ2xhc3Nlc1wiIFtpc1Zpc2libGVdPVwiaXNEcm9wZG93bk9wZW5cIiBbc2hvdWxkT3ZlcmZsb3ddPVwidHJ1ZVwiIFtzaG91bGREaXNwbGF5SXRlbXNDb3VudGVyXT1cInRydWVcIj5cbiAgICA8L3VwZC1saXN0PlxuPC9kaXY+XG4iXX0=
|
@@ -0,0 +1,53 @@
|
|
1
|
+
import { Component, Input, ViewEncapsulation, Output, EventEmitter } from '@angular/core';
|
2
|
+
import { BaseSelectComponent } from '../../models/abstractions/base-select.component';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "@updevs/components/list";
|
5
|
+
import * as i2 from "@updevs/components/form-controls/input";
|
6
|
+
import * as i3 from "@updevs/icons";
|
7
|
+
import * as i4 from "@updevs/components/button";
|
8
|
+
export class SelectComponent extends BaseSelectComponent {
|
9
|
+
constructor() {
|
10
|
+
super(...arguments);
|
11
|
+
/**
|
12
|
+
* If true, it'll use the default style of the OS, no search capabilities.
|
13
|
+
*/
|
14
|
+
this.useSystemStyle = false;
|
15
|
+
/**
|
16
|
+
* Triggered when an item is selected.
|
17
|
+
*/
|
18
|
+
this.selectedItem = new EventEmitter();
|
19
|
+
}
|
20
|
+
onSelectItem(item) {
|
21
|
+
this._currentTerm = item.text;
|
22
|
+
this.isDropdownOpen = false;
|
23
|
+
for (const localBackupItem of this._localBackupItems) {
|
24
|
+
if ((localBackupItem.children?.length || 0) > 0) {
|
25
|
+
this.currentSelection = localBackupItem.children?.find(c => c.value === item.id);
|
26
|
+
if (!!this.currentSelection) {
|
27
|
+
break;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
else if (localBackupItem.value === item.id) {
|
31
|
+
this.currentSelection = localBackupItem;
|
32
|
+
break;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
this.selectedItem.emit(this.currentSelection);
|
36
|
+
}
|
37
|
+
clearSelection() {
|
38
|
+
this.currentSelection = undefined;
|
39
|
+
this._currentTerm = undefined;
|
40
|
+
this.search();
|
41
|
+
}
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: SelectComponent, selector: "upd-select", inputs: { useSystemStyle: "useSystemStyle" }, outputs: { selectedItem: "selectedItem" }, usesInheritance: true, ngImport: i0, template: "@if (!!label) {\n <label class=\"form-label\">{{ label }}</label>\n}\n\n@if (!useSystemStyle) {\n <div class=\"dropdown\">\n <div #componentBox class=\"input-group input-group-flat\">\n <div class=\"form-control\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n @if (!!currentSelection) {\n <span>{{ currentSelection.text }}</span>\n }\n </div>\n <div class=\"input-group-text\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n @if (!!currentSelection) {\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"clearSelection()\" customClasses=\"link-secondary\">\n <upd-icon [model]=\"{heroIcon:'x-mark', heroIconType: 'outline', heroIconSize:'small'}\"></upd-icon>\n </upd-button>\n }\n @if (!isLoading) {\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"openDropdown()\" customClasses=\"link-secondary ms-2\">\n <upd-icon [model]=\"{heroIcon:'chevron-down', heroIconType: 'outline', heroIconSize:'small'}\"></upd-icon>\n </upd-button>\n } @else {\n <div class=\"select-loader-wrapper\">\n <div class=\"spinner-border spinner-border-sm text-muted select-loader\" role=\"status\"></div>\n </div>\n }\n </div>\n </div>\n <div #searchBox>\n <div #searchBoxChild [style.visibility]=\"isDropdownOpen ? 'visible' : 'hidden'\" class=\"select-search-box\">\n <upd-input [placeholder]=\"placeholder\" [isInputGroupFlat]=\"true\" (click)=\"openDropdown()\" (valueChange)=\"search($event)\">\n <ng-template updInputPrepend>\n <upd-icon [model]=\"{heroIcon:'magnifying-glass'}\"></upd-icon>\n </ng-template>\n </upd-input>\n </div>\n </div>\n <upd-list #list [items]=\"listItems\" [maxHeight]=\"dropdownMaxHeight + 'px'\" (selectedItem)=\"onSelectItem($event)\"\n [wrapperClasses]=\"dropdownClasses\" [isVisible]=\"isDropdownOpen\" [shouldOverflow]=\"true\" [shouldDisplayItemsCounter]=\"true\">\n </upd-list>\n </div>\n} @else {\n <select class=\"form-select\" [attr.placeholder]=\"placeholder\">\n @for (item of localItems; track item) {\n @if ((item.children?.length || 0) > 0) {\n <optgroup [label]=\"item.text\">\n @for (child of item.children; track child) {\n <option [value]=\"child.value\">{{ child.text }}</option>\n }\n </optgroup>\n } @else {\n <option [value]=\"item.value\">{{ item.text }}</option>\n }\n }\n </select>\n}\n\n", styles: [".select-dropdown-content{position:absolute!important;background-color:var(--upd-card-bg);z-index:1;border:var(--upd-card-border-width) solid var(--upd-card-border-color)!important;border-radius:var(--upd-card-border-radius)!important;box-shadow:0 1px 1px #0000002e}.select-dropdown-content-open{display:block!important}.select-loader-wrapper{height:24px}.select-loader-wrapper .select-loader{height:24px;width:24px}.select-search-box{position:absolute;z-index:1;padding:.5rem;margin-top:-1px;background:var(--upd-body-bg);border:var(--upd-border-width) var(--upd-border-style) var(--upd-border-color)}.remove-bottom-radius{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.remove-top-radius{border-top-left-radius:0!important;border-top-right-radius:0!important}\n"], dependencies: [{ kind: "component", type: i1.ListComponent, selector: "upd-list", inputs: ["items", "shouldOverflow", "isFlush", "isVisible", "isHoverable", "shouldDisplayItemsCounter", "wrapperClasses", "maxHeight", "noRecordsFoundKey", "itemFoundKey", "itemsFoundKey"], outputs: ["checkboxChanged", "selectedItem"] }, { kind: "component", type: i2.InputComponent, selector: "upd-input", inputs: ["type", "placeholder", "label", "mask", "maskConfig", "hint", "hintTemplate", "hintAsTooltip", "value", "size", "customClasses", "wrapperClasses", "name", "maxLength", "isDisabled", "isPlainText", "isReadOnly", "isLoading", "isRound", "isFlush", "isInputGroupFlat", "isPrependButton", "isAppendButton", "isFloating", "isRequired", "loaderPosition", "prependIconModel", "appendIconModel", "validationStatus", "isValidationStatusLight", "invalidStatusText"], outputs: ["valueChange"] }, { kind: "directive", type: i2.InputPrependDirective, selector: "ng-template[updInputPrepend]" }, { kind: "component", type: i3.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "removeDefaultClasses", "customClasses", "tablerIcon", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i4.ButtonComponent, selector: "upd-button", inputs: ["text", "model", "colorStyle", "brandColorStyle", "customClasses", "isActive", "isDisabled", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "shouldIgnoreBtnClass"], outputs: ["clicked"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
44
|
+
}
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SelectComponent, decorators: [{
|
46
|
+
type: Component,
|
47
|
+
args: [{ selector: 'upd-select', encapsulation: ViewEncapsulation.None, template: "@if (!!label) {\n <label class=\"form-label\">{{ label }}</label>\n}\n\n@if (!useSystemStyle) {\n <div class=\"dropdown\">\n <div #componentBox class=\"input-group input-group-flat\">\n <div class=\"form-control\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n @if (!!currentSelection) {\n <span>{{ currentSelection.text }}</span>\n }\n </div>\n <div class=\"input-group-text\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n @if (!!currentSelection) {\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"clearSelection()\" customClasses=\"link-secondary\">\n <upd-icon [model]=\"{heroIcon:'x-mark', heroIconType: 'outline', heroIconSize:'small'}\"></upd-icon>\n </upd-button>\n }\n @if (!isLoading) {\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"openDropdown()\" customClasses=\"link-secondary ms-2\">\n <upd-icon [model]=\"{heroIcon:'chevron-down', heroIconType: 'outline', heroIconSize:'small'}\"></upd-icon>\n </upd-button>\n } @else {\n <div class=\"select-loader-wrapper\">\n <div class=\"spinner-border spinner-border-sm text-muted select-loader\" role=\"status\"></div>\n </div>\n }\n </div>\n </div>\n <div #searchBox>\n <div #searchBoxChild [style.visibility]=\"isDropdownOpen ? 'visible' : 'hidden'\" class=\"select-search-box\">\n <upd-input [placeholder]=\"placeholder\" [isInputGroupFlat]=\"true\" (click)=\"openDropdown()\" (valueChange)=\"search($event)\">\n <ng-template updInputPrepend>\n <upd-icon [model]=\"{heroIcon:'magnifying-glass'}\"></upd-icon>\n </ng-template>\n </upd-input>\n </div>\n </div>\n <upd-list #list [items]=\"listItems\" [maxHeight]=\"dropdownMaxHeight + 'px'\" (selectedItem)=\"onSelectItem($event)\"\n [wrapperClasses]=\"dropdownClasses\" [isVisible]=\"isDropdownOpen\" [shouldOverflow]=\"true\" [shouldDisplayItemsCounter]=\"true\">\n </upd-list>\n </div>\n} @else {\n <select class=\"form-select\" [attr.placeholder]=\"placeholder\">\n @for (item of localItems; track item) {\n @if ((item.children?.length || 0) > 0) {\n <optgroup [label]=\"item.text\">\n @for (child of item.children; track child) {\n <option [value]=\"child.value\">{{ child.text }}</option>\n }\n </optgroup>\n } @else {\n <option [value]=\"item.value\">{{ item.text }}</option>\n }\n }\n </select>\n}\n\n", styles: [".select-dropdown-content{position:absolute!important;background-color:var(--upd-card-bg);z-index:1;border:var(--upd-card-border-width) solid var(--upd-card-border-color)!important;border-radius:var(--upd-card-border-radius)!important;box-shadow:0 1px 1px #0000002e}.select-dropdown-content-open{display:block!important}.select-loader-wrapper{height:24px}.select-loader-wrapper .select-loader{height:24px;width:24px}.select-search-box{position:absolute;z-index:1;padding:.5rem;margin-top:-1px;background:var(--upd-body-bg);border:var(--upd-border-width) var(--upd-border-style) var(--upd-border-color)}.remove-bottom-radius{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.remove-top-radius{border-top-left-radius:0!important;border-top-right-radius:0!important}\n"] }]
|
48
|
+
}], propDecorators: { useSystemStyle: [{
|
49
|
+
type: Input
|
50
|
+
}], selectedItem: [{
|
51
|
+
type: Output
|
52
|
+
}] } });
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0L3NyYy9jb21wb25lbnRzL3NpbmdsZS9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXBkZXZzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9zZWxlY3Qvc3JjL2NvbXBvbmVudHMvc2luZ2xlL3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxpQkFBaUIsRUFDakIsTUFBTSxFQUNOLFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7Ozs7O0FBU3RGLE1BQU0sT0FBTyxlQUFnQixTQUFRLG1CQUFtQjtJQU54RDs7UUFPSTs7V0FFRztRQUNNLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRWhDOztXQUVHO1FBQ2dCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztLQThCcEU7SUExQkcsWUFBWSxDQUFDLElBQWM7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBRTVCLEtBQUssTUFBTSxlQUFlLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM5QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFFakYsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7b0JBQzFCLE1BQU07Z0JBQ1YsQ0FBQztZQUNMLENBQUM7aUJBQU0sSUFBSSxlQUFlLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztnQkFDeEMsTUFBTTtZQUNWLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBRTlCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQixDQUFDOzhHQXRDUSxlQUFlO2tHQUFmLGVBQWUsa0tDbEI1QixvM0ZBMERBOzsyRkR4Q2EsZUFBZTtrQkFOM0IsU0FBUzsrQkFDSSxZQUFZLGlCQUdQLGlCQUFpQixDQUFDLElBQUk7OEJBTTVCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS2EsWUFBWTtzQkFBOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9saXN0JztcblxuaW1wb3J0IHsgQmFzZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9hYnN0cmFjdGlvbnMvYmFzZS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0LWl0ZW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1zZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZVNlbGVjdENvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgaXQnbGwgdXNlIHRoZSBkZWZhdWx0IHN0eWxlIG9mIHRoZSBPUywgbm8gc2VhcmNoIGNhcGFiaWxpdGllcy5cbiAgICAgKi9cbiAgICBASW5wdXQoKSB1c2VTeXN0ZW1TdHlsZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogVHJpZ2dlcmVkIHdoZW4gYW4gaXRlbSBpcyBzZWxlY3RlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgc2VsZWN0ZWRJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RJdGVtPigpO1xuXG4gICAgY3VycmVudFNlbGVjdGlvbj86IFNlbGVjdEl0ZW07XG5cbiAgICBvblNlbGVjdEl0ZW0oaXRlbTogTGlzdEl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY3VycmVudFRlcm0gPSBpdGVtLnRleHQ7XG4gICAgICAgIHRoaXMuaXNEcm9wZG93bk9wZW4gPSBmYWxzZTtcblxuICAgICAgICBmb3IgKGNvbnN0IGxvY2FsQmFja3VwSXRlbSBvZiB0aGlzLl9sb2NhbEJhY2t1cEl0ZW1zKSB7XG4gICAgICAgICAgICBpZiAoKGxvY2FsQmFja3VwSXRlbS5jaGlsZHJlbj8ubGVuZ3RoIHx8IDApID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFNlbGVjdGlvbiA9IGxvY2FsQmFja3VwSXRlbS5jaGlsZHJlbj8uZmluZChjID0+IGMudmFsdWUgPT09IGl0ZW0uaWQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCEhdGhpcy5jdXJyZW50U2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAobG9jYWxCYWNrdXBJdGVtLnZhbHVlID09PSBpdGVtLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gbG9jYWxCYWNrdXBJdGVtO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdCh0aGlzLmN1cnJlbnRTZWxlY3Rpb24pO1xuICAgIH1cblxuICAgIGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRUZXJtID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIHRoaXMuc2VhcmNoKCk7XG4gICAgfVxufVxuIiwiQGlmICghIWxhYmVsKSB7XG4gICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbn1cblxuQGlmICghdXNlU3lzdGVtU3R5bGUpIHtcbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIj5cbiAgICAgICAgPGRpdiAjY29tcG9uZW50Qm94IGNsYXNzPVwiaW5wdXQtZ3JvdXAgaW5wdXQtZ3JvdXAtZmxhdFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtjbGFzcy5yZW1vdmUtYm90dG9tLXJhZGl1c109XCJpc0Ryb3Bkb3duT3BlblwiPlxuICAgICAgICAgICAgICAgIEBpZiAoISFjdXJyZW50U2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGN1cnJlbnRTZWxlY3Rpb24udGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC10ZXh0XCIgW2NsYXNzLnJlbW92ZS1ib3R0b20tcmFkaXVzXT1cImlzRHJvcGRvd25PcGVuXCI+XG4gICAgICAgICAgICAgICAgQGlmICghIWN1cnJlbnRTZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgPHVwZC1idXR0b24gW3Nob3VsZElnbm9yZUJ0bkNsYXNzXT1cInRydWVcIiAoY2xpY2tlZCk9XCJjbGVhclNlbGVjdGlvbigpXCIgY3VzdG9tQ2xhc3Nlcz1cImxpbmstc2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dXBkLWljb24gW21vZGVsXT1cIntoZXJvSWNvbjoneC1tYXJrJywgaGVyb0ljb25UeXBlOiAnb3V0bGluZScsIGhlcm9JY29uU2l6ZTonc21hbGwnfVwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvdXBkLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmICghaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtYnV0dG9uIFtzaG91bGRJZ25vcmVCdG5DbGFzc109XCJ0cnVlXCIgKGNsaWNrZWQpPVwib3BlbkRyb3Bkb3duKClcIiBjdXN0b21DbGFzc2VzPVwibGluay1zZWNvbmRhcnkgbXMtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVwZC1pY29uIFttb2RlbF09XCJ7aGVyb0ljb246J2NoZXZyb24tZG93bicsIGhlcm9JY29uVHlwZTogJ291dGxpbmUnLCBoZXJvSWNvblNpemU6J3NtYWxsJ31cIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L3VwZC1idXR0b24+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtbG9hZGVyLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLWJvcmRlciBzcGlubmVyLWJvcmRlci1zbSB0ZXh0LW11dGVkIHNlbGVjdC1sb2FkZXJcIiByb2xlPVwic3RhdHVzXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAjc2VhcmNoQm94PlxuICAgICAgICAgICAgPGRpdiAjc2VhcmNoQm94Q2hpbGQgW3N0eWxlLnZpc2liaWxpdHldPVwiaXNEcm9wZG93bk9wZW4gPyAndmlzaWJsZScgOiAnaGlkZGVuJ1wiIGNsYXNzPVwic2VsZWN0LXNlYXJjaC1ib3hcIj5cbiAgICAgICAgICAgICAgICA8dXBkLWlucHV0IFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtpc0lucHV0R3JvdXBGbGF0XT1cInRydWVcIiAoY2xpY2spPVwib3BlbkRyb3Bkb3duKClcIiAodmFsdWVDaGFuZ2UpPVwic2VhcmNoKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHVwZElucHV0UHJlcGVuZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiBbbW9kZWxdPVwie2hlcm9JY29uOidtYWduaWZ5aW5nLWdsYXNzJ31cIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvdXBkLWlucHV0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dXBkLWxpc3QgI2xpc3QgW2l0ZW1zXT1cImxpc3RJdGVtc1wiIFttYXhIZWlnaHRdPVwiZHJvcGRvd25NYXhIZWlnaHQgKyAncHgnXCIgKHNlbGVjdGVkSXRlbSk9XCJvblNlbGVjdEl0ZW0oJGV2ZW50KVwiXG4gICAgICAgICAgICBbd3JhcHBlckNsYXNzZXNdPVwiZHJvcGRvd25DbGFzc2VzXCIgW2lzVmlzaWJsZV09XCJpc0Ryb3Bkb3duT3BlblwiIFtzaG91bGRPdmVyZmxvd109XCJ0cnVlXCIgW3Nob3VsZERpc3BsYXlJdGVtc0NvdW50ZXJdPVwidHJ1ZVwiPlxuICAgICAgICA8L3VwZC1saXN0PlxuICAgIDwvZGl2PlxufSBAZWxzZSB7XG4gICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBsb2NhbEl0ZW1zOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICBAaWYgKChpdGVtLmNoaWxkcmVuPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgPG9wdGdyb3VwIFtsYWJlbF09XCJpdGVtLnRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoY2hpbGQgb2YgaXRlbS5jaGlsZHJlbjsgdHJhY2sgY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cImNoaWxkLnZhbHVlXCI+e3sgY2hpbGQudGV4dCB9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9vcHRncm91cD5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIml0ZW0udmFsdWVcIj57eyBpdGVtLnRleHQgfX08L29wdGlvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIDwvc2VsZWN0PlxufVxuXG4iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './public-api';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3NlbGVjdC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
@@ -0,0 +1,208 @@
|
|
1
|
+
import { Directive, HostBinding, ViewChild, ElementRef, Input, Output, EventEmitter, inject, NgZone, Renderer2, RendererStyleFlags2 } from '@angular/core';
|
2
|
+
import { BaseComponent, DomEventsService, PositioningService } from '@updevs/sdk/layout';
|
3
|
+
import { Tools } from '@updevs/sdk/core';
|
4
|
+
import { SearchRequestModel } from '@updevs/sdk/stores';
|
5
|
+
import { tap, debounceTime, Subject } from 'rxjs';
|
6
|
+
var Utils = Tools.Utils;
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
export class BaseSelectComponent extends BaseComponent {
|
9
|
+
constructor() {
|
10
|
+
super(...arguments);
|
11
|
+
this.wrapperClasses = '';
|
12
|
+
/**
|
13
|
+
* Placeholder.
|
14
|
+
*/
|
15
|
+
this.placeholder = '';
|
16
|
+
/**
|
17
|
+
* Maximum height of the dropdown.
|
18
|
+
*/
|
19
|
+
this.dropdownMaxHeight = 300;
|
20
|
+
this.typeaheadDebounce = 200;
|
21
|
+
this.shouldAutoSearch = true;
|
22
|
+
this.shouldCloseOnOutsideClick = true;
|
23
|
+
this.dropdownOpenStatusChange = new EventEmitter();
|
24
|
+
this.isLoading = false;
|
25
|
+
this.localItems = [];
|
26
|
+
this.listItems = [];
|
27
|
+
this.dropdownClasses = 'select-dropdown-content remove-top-radius';
|
28
|
+
this._localBackupItems = [];
|
29
|
+
this.isStaticList = false;
|
30
|
+
this._isDropdownOpen = false;
|
31
|
+
this.searchInputSubject = new Subject();
|
32
|
+
this.renderer = inject(Renderer2);
|
33
|
+
this.ngZone = inject(NgZone);
|
34
|
+
this.domEventsService = inject(DomEventsService);
|
35
|
+
this.positioningService = inject(PositioningService);
|
36
|
+
}
|
37
|
+
get isDropdownOpen() {
|
38
|
+
return this._isDropdownOpen;
|
39
|
+
}
|
40
|
+
set isDropdownOpen(value) {
|
41
|
+
this._isDropdownOpen = value;
|
42
|
+
this.dropdownOpenStatusChange.emit(value);
|
43
|
+
if (value) {
|
44
|
+
this.dropdownClasses += ' select-dropdown-content-open';
|
45
|
+
}
|
46
|
+
else {
|
47
|
+
this.dropdownClasses = this.dropdownClasses.replace(' select-dropdown-content-open', '');
|
48
|
+
}
|
49
|
+
}
|
50
|
+
ngOnInit() {
|
51
|
+
this.isStaticList = (this.items?.length || 0) > 0;
|
52
|
+
if (this.shouldAutoSearch) {
|
53
|
+
if (this.isStaticList) {
|
54
|
+
this._setupLocalItems(this.items);
|
55
|
+
}
|
56
|
+
else {
|
57
|
+
this.searchRemote();
|
58
|
+
}
|
59
|
+
}
|
60
|
+
if (this.isStaticList) {
|
61
|
+
return;
|
62
|
+
}
|
63
|
+
const typeaheadSubscription = this.searchInputSubject
|
64
|
+
.pipe(tap(value => this._currentTerm = value), debounceTime(this.typeaheadDebounce))
|
65
|
+
.subscribe(() => this.searchRemote());
|
66
|
+
this.addSubscriptions(typeaheadSubscription);
|
67
|
+
}
|
68
|
+
openDropdown() {
|
69
|
+
this.isDropdownOpen = true;
|
70
|
+
if (this.shouldCloseOnOutsideClick) {
|
71
|
+
const outsideClickSub = this.domEventsService.startOutsideClickListener(() => this.ngZone.run(() => this.isDropdownOpen = false), this.list?.nativeElement, true, this.componentBox?.nativeElement, this.searchBox?.nativeElement);
|
72
|
+
this.addSubscriptions(outsideClickSub);
|
73
|
+
}
|
74
|
+
this.ngZone.runOutsideAngular(() => this.positioningService
|
75
|
+
.computePosition(this.componentBox, this.list, { placement: 'bottom' })
|
76
|
+
.subscribe(resp => this.updatePosition(resp)));
|
77
|
+
}
|
78
|
+
search(term) {
|
79
|
+
if (this.isStaticList) {
|
80
|
+
this.searchLocal();
|
81
|
+
}
|
82
|
+
else {
|
83
|
+
this.searchInputSubject.next(term || '');
|
84
|
+
}
|
85
|
+
}
|
86
|
+
_setupLocalItems(items) {
|
87
|
+
this.localItems = Utils.deepCopy(items);
|
88
|
+
this._localBackupItems = Utils.deepCopy(items);
|
89
|
+
const tempItems = [];
|
90
|
+
for (const item of this._localBackupItems) {
|
91
|
+
let listItem = this.getListItem(item);
|
92
|
+
item.listItem = Object.assign(listItem, {});
|
93
|
+
tempItems.push(listItem);
|
94
|
+
}
|
95
|
+
this.listItems = [...tempItems];
|
96
|
+
this.isLoading = false;
|
97
|
+
}
|
98
|
+
searchLocal() {
|
99
|
+
if (!this._currentTerm) {
|
100
|
+
this.listItems = Utils.deepCopy(this._localBackupItems.map(li => li.listItem));
|
101
|
+
this.localItems = Utils.deepCopy(this._localBackupItems);
|
102
|
+
return;
|
103
|
+
}
|
104
|
+
this.ngZone.run(() => {
|
105
|
+
this.listItems = Utils.deepCopy(this._localBackupItems).filter(si => {
|
106
|
+
let hasChildrenInSearch = false;
|
107
|
+
if ((si.children?.length || 0) > 0) {
|
108
|
+
hasChildrenInSearch = si.children.filter(ci => ci.text.toLowerCase().includes(this._currentTerm.toLowerCase())).length > 0;
|
109
|
+
}
|
110
|
+
return si.text.toLowerCase().includes(this._currentTerm.toLowerCase()) || hasChildrenInSearch;
|
111
|
+
}).map(si => {
|
112
|
+
const bkpItem = this._localBackupItems.find(lbi => lbi.value === si.value);
|
113
|
+
if ((bkpItem?.children?.length || 0) > 0) {
|
114
|
+
si.children = [...bkpItem.children].filter(ci => ci.text.toLowerCase().includes(this._currentTerm.toLowerCase()));
|
115
|
+
}
|
116
|
+
return this.getListItem(si);
|
117
|
+
});
|
118
|
+
});
|
119
|
+
}
|
120
|
+
searchRemote() {
|
121
|
+
this.isLoading = true;
|
122
|
+
const request = new SearchRequestModel({ description: this._currentTerm });
|
123
|
+
const observable = !!this.observable ? this.observable(request) : this.store.search(request);
|
124
|
+
observable.subscribe(r => {
|
125
|
+
const items = [];
|
126
|
+
r.records.forEach(item => {
|
127
|
+
items.push({
|
128
|
+
value: item[this.itemKey],
|
129
|
+
text: item[this.itemValue],
|
130
|
+
objectData: item
|
131
|
+
});
|
132
|
+
});
|
133
|
+
this._setupLocalItems(items);
|
134
|
+
});
|
135
|
+
}
|
136
|
+
getListItem(item) {
|
137
|
+
let listItem;
|
138
|
+
if (!!item.listItem) {
|
139
|
+
listItem = item.listItem;
|
140
|
+
listItem.id = item.value;
|
141
|
+
listItem.text = item.text;
|
142
|
+
}
|
143
|
+
else {
|
144
|
+
listItem = {
|
145
|
+
id: item.value,
|
146
|
+
text: item.text
|
147
|
+
};
|
148
|
+
}
|
149
|
+
if ((item.children?.length || 0) > 0) {
|
150
|
+
listItem.children = [...item.children].map(c => this.getListItem(c));
|
151
|
+
}
|
152
|
+
return listItem;
|
153
|
+
}
|
154
|
+
updatePosition(result) {
|
155
|
+
const componentBox = this.componentBox.nativeElement.getBoundingClientRect();
|
156
|
+
const searchBoxChildElement = this.searchBoxChild?.nativeElement;
|
157
|
+
const ddElement = this.list.nativeElement;
|
158
|
+
this.renderer.setStyle(searchBoxChildElement, 'width', `${Math.abs(componentBox.width)}px`, RendererStyleFlags2.Important);
|
159
|
+
this.renderer.setStyle(ddElement, 'top', `${result.y + searchBoxChildElement.scrollHeight}px`, RendererStyleFlags2.Important);
|
160
|
+
this.renderer.setStyle(ddElement, 'left', 0, RendererStyleFlags2.Important);
|
161
|
+
this.renderer.setStyle(ddElement, 'width', `${Math.abs(componentBox.width)}px`, RendererStyleFlags2.Important);
|
162
|
+
}
|
163
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BaseSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
164
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: BaseSelectComponent, inputs: { items: "items", store: "store", observable: "observable", itemKey: "itemKey", itemValue: "itemValue", label: "label", placeholder: "placeholder", dropdownMaxHeight: "dropdownMaxHeight", typeaheadDebounce: "typeaheadDebounce", shouldAutoSearch: "shouldAutoSearch", shouldCloseOnOutsideClick: "shouldCloseOnOutsideClick" }, outputs: { dropdownOpenStatusChange: "dropdownOpenStatusChange" }, host: { properties: { "class": "this.wrapperClasses" } }, viewQueries: [{ propertyName: "componentBox", first: true, predicate: ["componentBox"], descendants: true, read: ElementRef }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true, read: ElementRef }, { propertyName: "searchBoxChild", first: true, predicate: ["searchBoxChild"], descendants: true, read: ElementRef }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0 }); }
|
165
|
+
}
|
166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BaseSelectComponent, decorators: [{
|
167
|
+
type: Directive
|
168
|
+
}], propDecorators: { wrapperClasses: [{
|
169
|
+
type: HostBinding,
|
170
|
+
args: ['class']
|
171
|
+
}], componentBox: [{
|
172
|
+
type: ViewChild,
|
173
|
+
args: ['componentBox', { read: ElementRef }]
|
174
|
+
}], searchBox: [{
|
175
|
+
type: ViewChild,
|
176
|
+
args: ['searchBox', { read: ElementRef }]
|
177
|
+
}], searchBoxChild: [{
|
178
|
+
type: ViewChild,
|
179
|
+
args: ['searchBoxChild', { read: ElementRef }]
|
180
|
+
}], list: [{
|
181
|
+
type: ViewChild,
|
182
|
+
args: ['list', { read: ElementRef }]
|
183
|
+
}], items: [{
|
184
|
+
type: Input
|
185
|
+
}], store: [{
|
186
|
+
type: Input
|
187
|
+
}], observable: [{
|
188
|
+
type: Input
|
189
|
+
}], itemKey: [{
|
190
|
+
type: Input
|
191
|
+
}], itemValue: [{
|
192
|
+
type: Input
|
193
|
+
}], label: [{
|
194
|
+
type: Input
|
195
|
+
}], placeholder: [{
|
196
|
+
type: Input
|
197
|
+
}], dropdownMaxHeight: [{
|
198
|
+
type: Input
|
199
|
+
}], typeaheadDebounce: [{
|
200
|
+
type: Input
|
201
|
+
}], shouldAutoSearch: [{
|
202
|
+
type: Input
|
203
|
+
}], shouldCloseOnOutsideClick: [{
|
204
|
+
type: Input
|
205
|
+
}], dropdownOpenStatusChange: [{
|
206
|
+
type: Output
|
207
|
+
}] } });
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXBkZXZzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9zZWxlY3Qvc3JjL21vZGVscy9hYnN0cmFjdGlvbnMvYmFzZS1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxVQUFVLEVBRVYsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQUUsbUJBQW1CLEVBQ2pDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sb0JBQW9CLENBQUM7QUFFaEgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBd0MsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJOUQsSUFBTyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQzs7QUFHM0IsTUFBTSxPQUFnQixtQkFBb0IsU0FBUSxhQUFhO0lBRC9EOztRQUUwQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQWlDMUM7O1dBRUc7UUFDTSxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUMxQjs7V0FFRztRQUNNLHNCQUFpQixHQUFHLEdBQUcsQ0FBQztRQUN4QixzQkFBaUIsR0FBRyxHQUFHLENBQUM7UUFDeEIscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLDhCQUF5QixHQUFHLElBQUksQ0FBQztRQUV2Qiw2QkFBd0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTFFLGNB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RUFBRTtnQkFDTyxjQUFjO3NCQUFoRSxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDUixJQUFJO3NCQUE1QyxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBTTlCLEtBQUs7c0JBQWIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSUcsVUFBVTtzQkFBbEIsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSUcsV0FBVztzQkFBbkIsS0FBSztnQkFJRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBRWEsd0JBQXdCO3NCQUExQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgVmlld0NoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgT25Jbml0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIE5nWm9uZSxcbiAgICBSZW5kZXJlcjIsIFJlbmRlcmVyU3R5bGVGbGFnczJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBEb21FdmVudHNTZXJ2aWNlLCBQb3NpdGlvbmluZ1NlcnZpY2UsIENvbXB1dGVQb3NpdGlvblJlc3VsdCB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9saXN0JztcbmltcG9ydCB7IFRvb2xzIH0gZnJvbSAnQHVwZGV2cy9zZGsvY29yZSc7XG5pbXBvcnQgeyBTZWFyY2hSZXF1ZXN0TW9kZWwsIFNlYXJjaFJlc3BvbnNlTW9kZWwsIEJhc2VTZWFyY2hTdG9yZSB9IGZyb20gJ0B1cGRldnMvc2RrL3N0b3Jlcyc7XG5pbXBvcnQgeyB0YXAsIGRlYm91bmNlVGltZSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi4vc2VsZWN0LWl0ZW0nO1xuXG5pbXBvcnQgVXRpbHMgPSBUb29scy5VdGlscztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVNlbGVjdENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSB3cmFwcGVyQ2xhc3NlcyA9ICcnO1xuICAgIEBWaWV3Q2hpbGQoJ2NvbXBvbmVudEJveCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBjb21wb25lbnRCb3g/OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3NlYXJjaEJveCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBzZWFyY2hCb3g/OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3NlYXJjaEJveENoaWxkJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHNlYXJjaEJveENoaWxkPzogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdsaXN0JywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGxpc3Q/OiBFbGVtZW50UmVmO1xuXG4gICAgLyoqXG4gICAgICogU2VsZWN0IGl0ZW1zLlxuICAgICAqIElmIHByb3ZpZGVkLCB0aGUgc2VsZWN0IHdpbGwgYmUgY29uc2lkZXJlZCBzdGF0aWMuXG4gICAgICovXG4gICAgQElucHV0KCkgaXRlbXM/OiBTZWxlY3RJdGVtW107XG4gICAgLyoqXG4gICAgICogU3RvcmUgdXNlZCB0byBsb2FkL2ZpbHRlciB0aGUgaXRlbXMuXG4gICAgICovXG4gICAgQElucHV0KCkgc3RvcmU/OiBCYXNlU2VhcmNoU3RvcmU8YW55PjtcbiAgICAvKipcbiAgICAgKiBPYnNlcnZhYmxlIHVzZWQgdG8gbG9hZC9maWx0ZXIgdGhlIGl0ZW1zLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIG9ic2VydmFibGU/OiAocmVxdWVzdD86IFNlYXJjaFJlcXVlc3RNb2RlbCwgbWFzdGVySWQ/OiBhbnkpID0+IE9ic2VydmFibGU8U2VhcmNoUmVzcG9uc2VNb2RlbDxhbnk+PjtcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgb2JqZWN0IHRoYXQgcmVwcmVzZW50cyB0aGUgSUQva2V5IG9mIHRoZSBvcHRpb24uXG4gICAgICogKipOb3RlOioqIHVzZWQgb25seSBmb3IgcmVtb3RlIGRhdGEuXG4gICAgICovXG4gICAgQElucHV0KCkgaXRlbUtleT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgb2JqZWN0IHRoYXQgcmVwcmVzZW50cyB0aGUgdmFsdWUvZGVzY3JpcHRpb24gb2YgdGhlIG9wdGlvbi5cbiAgICAgKiAqKk5vdGU6KiogdXNlZCBvbmx5IGZvciByZW1vdGUgZGF0YS5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBpdGVtVmFsdWU/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogRGVzY3JpcHRpb24gb2YgdGhlIGZpZWxkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFBsYWNlaG9sZGVyLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gICAgLyoqXG4gICAgICogTWF4aW11bSBoZWlnaHQgb2YgdGhlIGRyb3Bkb3duLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIGRyb3Bkb3duTWF4SGVpZ2h0ID0gMzAwO1xuICAgIEBJbnB1dCgpIHR5cGVhaGVhZERlYm91bmNlID0gMjAwO1xuICAgIEBJbnB1dCgpIHNob3VsZEF1dG9TZWFyY2ggPSB0cnVlO1xuICAgIEBJbnB1dCgpIHNob3VsZENsb3NlT25PdXRzaWRlQ2xpY2sgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGRyb3Bkb3duT3BlblN0YXR1c0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIGlzTG9hZGluZyA9IGZhbHNlO1xuICAgIGxvY2FsSXRlbXM6IFNlbGVjdEl0ZW1bXSA9IFtdO1xuICAgIGxpc3RJdGVtczogTGlzdEl0ZW1bXSA9IFtdO1xuICAgIGRyb3Bkb3duQ2xhc3NlcyA9ICdzZWxlY3QtZHJvcGRvd24tY29udGVudCByZW1vdmUtdG9wLXJhZGl1cyc7XG4gICAgZ2V0IGlzRHJvcGRvd25PcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNEcm9wZG93bk9wZW47XG4gICAgfVxuICAgIHNldCBpc0Ryb3Bkb3duT3Blbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9pc0Ryb3Bkb3duT3BlbiA9IHZhbHVlO1xuXG4gICAgICAgIHRoaXMuZHJvcGRvd25PcGVuU3RhdHVzQ2hhbmdlLmVtaXQodmFsdWUpO1xuXG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkNsYXNzZXMgKz0gJyBzZWxlY3QtZHJvcGRvd24tY29udGVudC1vcGVuJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25DbGFzc2VzID0gdGhpcy5kcm9wZG93bkNsYXNzZXMucmVwbGFjZSgnIHNlbGVjdC1kcm9wZG93bi1jb250ZW50LW9wZW4nLCAnJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2N1cnJlbnRUZXJtPzogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBfbG9jYWxCYWNrdXBJdGVtczogU2VsZWN0SXRlbVtdID0gW107XG5cbiAgICBwcml2YXRlIGlzU3RhdGljTGlzdCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWFyY2hJbnB1dFN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkb21FdmVudHNTZXJ2aWNlID0gaW5qZWN0KERvbUV2ZW50c1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9zaXRpb25pbmdTZXJ2aWNlID0gaW5qZWN0KFBvc2l0aW9uaW5nU2VydmljZSk7XG5cbiAgICBhYnN0cmFjdCBjbGVhclNlbGVjdGlvbigpOiB2b2lkO1xuICAgIGFic3RyYWN0IG9uU2VsZWN0SXRlbShpdGVtOiBMaXN0SXRlbSk6IHZvaWQ7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1N0YXRpY0xpc3QgPSAodGhpcy5pdGVtcz8ubGVuZ3RoIHx8IDApID4gMDtcblxuICAgICAgICBpZiAodGhpcy5zaG91bGRBdXRvU2VhcmNoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1N0YXRpY0xpc3QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXR1cExvY2FsSXRlbXModGhpcy5pdGVtcyEpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFJlbW90ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNTdGF0aWNMaXN0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0eXBlYWhlYWRTdWJzY3JpcHRpb24gPSB0aGlzLnNlYXJjaElucHV0U3ViamVjdFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKHZhbHVlID0+IHRoaXMuX2N1cnJlbnRUZXJtID0gdmFsdWUpLFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSh0aGlzLnR5cGVhaGVhZERlYm91bmNlKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNlYXJjaFJlbW90ZSgpKTtcblxuICAgICAgICB0aGlzLmFkZFN1YnNjcmlwdGlvbnModHlwZWFoZWFkU3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICBvcGVuRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNEcm9wZG93bk9wZW4gPSB0cnVlO1xuXG4gICAgICAgIGlmICh0aGlzLnNob3VsZENsb3NlT25PdXRzaWRlQ2xpY2spIHtcbiAgICAgICAgICAgIGNvbnN0IG91dHNpZGVDbGlja1N1YiA9IHRoaXMuZG9tRXZlbnRzU2VydmljZS5zdGFydE91dHNpZGVDbGlja0xpc3RlbmVyKFxuICAgICAgICAgICAgICAgICgpID0+IHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmlzRHJvcGRvd25PcGVuID0gZmFsc2UpLFxuICAgICAgICAgICAgICAgIHRoaXMubGlzdD8ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50Qm94Py5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoQm94Py5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5hZGRTdWJzY3JpcHRpb25zKG91dHNpZGVDbGlja1N1Yik7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbmluZ1NlcnZpY2VcbiAgICAgICAgICAgICAgICAuY29tcHV0ZVBvc2l0aW9uKHRoaXMuY29tcG9uZW50Qm94ISwgdGhpcy5saXN0ISwgeyBwbGFjZW1lbnQ6ICdib3R0b20nIH0pXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwID0+IHRoaXMudXBkYXRlUG9zaXRpb24ocmVzcCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgc2VhcmNoKHRlcm0/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTdGF0aWNMaXN0KSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaExvY2FsKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaElucHV0U3ViamVjdC5uZXh0KHRlcm0gfHwgJycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9zZXR1cExvY2FsSXRlbXMoaXRlbXM6IFNlbGVjdEl0ZW1bXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvY2FsSXRlbXMgPSBVdGlscy5kZWVwQ29weShpdGVtcyk7XG4gICAgICAgIHRoaXMuX2xvY2FsQmFja3VwSXRlbXMgPSBVdGlscy5kZWVwQ29weShpdGVtcyk7XG4gICAgICAgIGNvbnN0IHRlbXBJdGVtczogTGlzdEl0ZW1bXSA9IFtdO1xuXG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLl9sb2NhbEJhY2t1cEl0ZW1zKSB7XG4gICAgICAgICAgICBsZXQgbGlzdEl0ZW0gPSB0aGlzLmdldExpc3RJdGVtKGl0ZW0pO1xuICAgICAgICAgICAgaXRlbS5saXN0SXRlbSA9IE9iamVjdC5hc3NpZ24obGlzdEl0ZW0sIHt9KTtcblxuICAgICAgICAgICAgdGVtcEl0ZW1zLnB1c2gobGlzdEl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5saXN0SXRlbXMgPSBbLi4udGVtcEl0ZW1zXTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlYXJjaExvY2FsKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2N1cnJlbnRUZXJtKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IFV0aWxzLmRlZXBDb3B5KHRoaXMuX2xvY2FsQmFja3VwSXRlbXMubWFwKGxpID0+IGxpLmxpc3RJdGVtISkpO1xuICAgICAgICAgICAgdGhpcy5sb2NhbEl0ZW1zID0gVXRpbHMuZGVlcENvcHkodGhpcy5fbG9jYWxCYWNrdXBJdGVtcyk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IFV0aWxzLmRlZXBDb3B5PFNlbGVjdEl0ZW1bXT4odGhpcy5fbG9jYWxCYWNrdXBJdGVtcykuZmlsdGVyKHNpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgaGFzQ2hpbGRyZW5JblNlYXJjaCA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgaWYgKChzaS5jaGlsZHJlbj8ubGVuZ3RoIHx8IDApID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBoYXNDaGlsZHJlbkluU2VhcmNoID0gc2kuY2hpbGRyZW4hLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGNpID0+IGNpLnRleHQhLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5fY3VycmVudFRlcm0hLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICAgICAgICAgICkubGVuZ3RoID4gMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gc2kudGV4dCEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLl9jdXJyZW50VGVybSEudG9Mb3dlckNhc2UoKSkgfHwgaGFzQ2hpbGRyZW5JblNlYXJjaDtcbiAgICAgICAgICAgIH0pLm1hcChzaSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmtwSXRlbSA9IHRoaXMuX2xvY2FsQmFja3VwSXRlbXMuZmluZChsYmkgPT4gbGJpLnZhbHVlID09PSBzaS52YWx1ZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoKGJrcEl0ZW0/LmNoaWxkcmVuPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHNpLmNoaWxkcmVuID0gWy4uLmJrcEl0ZW0hLmNoaWxkcmVuIV0uZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2kgPT4gY2kudGV4dCEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLl9jdXJyZW50VGVybSEudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRMaXN0SXRlbShzaSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWFyY2hSZW1vdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBTZWFyY2hSZXF1ZXN0TW9kZWwoeyBkZXNjcmlwdGlvbjogdGhpcy5fY3VycmVudFRlcm0gfSk7XG4gICAgICAgIGNvbnN0IG9ic2VydmFibGUgPSAhIXRoaXMub2JzZXJ2YWJsZSA/IHRoaXMub2JzZXJ2YWJsZShyZXF1ZXN0KSA6IHRoaXMuc3RvcmUhLnNlYXJjaChyZXF1ZXN0KTtcblxuICAgICAgICBvYnNlcnZhYmxlLnN1YnNjcmliZShyID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zOiBTZWxlY3RJdGVtW10gPSBbXTtcblxuICAgICAgICAgICAgci5yZWNvcmRzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtW3RoaXMuaXRlbUtleSFdLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBpdGVtW3RoaXMuaXRlbVZhbHVlIV0sXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdERhdGE6IGl0ZW1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5fc2V0dXBMb2NhbEl0ZW1zKGl0ZW1zKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMaXN0SXRlbShpdGVtOiBTZWxlY3RJdGVtKTogTGlzdEl0ZW0ge1xuICAgICAgICBsZXQgbGlzdEl0ZW06IExpc3RJdGVtO1xuXG4gICAgICAgIGlmICghIWl0ZW0ubGlzdEl0ZW0pIHtcbiAgICAgICAgICAgIGxpc3RJdGVtID0gaXRlbS5saXN0SXRlbTtcbiAgICAgICAgICAgIGxpc3RJdGVtLmlkID0gaXRlbS52YWx1ZTtcbiAgICAgICAgICAgIGxpc3RJdGVtLnRleHQgPSBpdGVtLnRleHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsaXN0SXRlbSA9IHtcbiAgICAgICAgICAgICAgICBpZDogaXRlbS52YWx1ZSxcbiAgICAgICAgICAgICAgICB0ZXh0OiBpdGVtLnRleHRcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoKGl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCB8fCAwKSA+IDApIHtcbiAgICAgICAgICAgIGxpc3RJdGVtLmNoaWxkcmVuID0gWy4uLml0ZW0uY2hpbGRyZW4hXS5tYXAoYyA9PiB0aGlzLmdldExpc3RJdGVtKGMpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBsaXN0SXRlbTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVBvc2l0aW9uKHJlc3VsdDogQ29tcHV0ZVBvc2l0aW9uUmVzdWx0KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudEJveCA9IHRoaXMuY29tcG9uZW50Qm94IS5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBzZWFyY2hCb3hDaGlsZEVsZW1lbnQgPSB0aGlzLnNlYXJjaEJveENoaWxkPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBkZEVsZW1lbnQgPSB0aGlzLmxpc3QhLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzZWFyY2hCb3hDaGlsZEVsZW1lbnQsICd3aWR0aCcsIGAke01hdGguYWJzKGNvbXBvbmVudEJveC53aWR0aCl9cHhgLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZGRFbGVtZW50LCAndG9wJywgYCR7cmVzdWx0LnkgKyBzZWFyY2hCb3hDaGlsZEVsZW1lbnQuc2Nyb2xsSGVpZ2h0fXB4YCwgUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRkRWxlbWVudCwgJ2xlZnQnLCAwLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZGRFbGVtZW50LCAnd2lkdGgnLCBgJHtNYXRoLmFicyhjb21wb25lbnRCb3gud2lkdGgpfXB4YCwgUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQpO1xuICAgIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './select-item';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0L3NyYy9tb2RlbHMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWl0ZW0nO1xuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3NlbGVjdC9zcmMvbW9kZWxzL3NlbGVjdC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9saXN0JztcblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RJdGVtIHtcbiAgICAvKipcbiAgICAgKiBWYWx1ZSBvZiB0aGUgc2luZ2xlIGl0ZW0gaWYgc2VsZWN0ZWQuXG4gICAgICogSWYgZ3JvdXBlZCwgd2lsbCBiZSB0aGUgZ3JvdXAga2V5LlxuICAgICAqL1xuICAgIHZhbHVlPzogYW55O1xuICAgIC8qKlxuICAgICAqIERlc2NyaXB0aW9uIG9mIHRoZSBzaW5nbGUgaXRlbS5cbiAgICAgKiBJZiBncm91cGVkLCB3aWxsIGJlIHRoZSBncm91cCBuYW1lLlxuICAgICAqL1xuICAgIHRleHQ6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBGdWxsIG9iamVjdCdzIGRhdGEuXG4gICAgICovXG4gICAgb2JqZWN0RGF0YT86IGFueTtcbiAgICAvKipcbiAgICAgKiBBbGxvd3MgdG8gY3VzdG9taXplIHRoZSBsaXN0IGl0ZW0uXG4gICAgICovXG4gICAgbGlzdEl0ZW0/OiBMaXN0SXRlbTtcbiAgICAvKipcbiAgICAgKiBDaGlsZHJlbi5cbiAgICAgKi9cbiAgICBjaGlsZHJlbj86IFNlbGVjdEl0ZW1bXTtcbn1cbiJdfQ==
|
@@ -0,0 +1,5 @@
|
|
1
|
+
export * from './models/public-api';
|
2
|
+
export * from './components/single/select.component';
|
3
|
+
export * from './components/multiple/select-multiple.component';
|
4
|
+
export * from './upd-select.module';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGVscy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zaW5nbGUvc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbXVsdGlwbGUvc2VsZWN0LW11bHRpcGxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3VwZC1zZWxlY3QubW9kdWxlJztcbiJdfQ==
|