novo-elements 10.1.0 → 10.2.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/elements/chips/Chip.scss +1 -0
  2. package/elements/chips/Chips.d.ts +9 -2
  3. package/elements/chips/Chips.scss +5 -0
  4. package/elements/common/overlay/Overlay.d.ts +2 -1
  5. package/elements/data-table/interfaces.d.ts +7 -0
  6. package/elements/data-table/state/data-table-state.service.d.ts +2 -1
  7. package/elements/picker/Picker.d.ts +3 -1
  8. package/esm2022/elements/autocomplete/autocomplete.component.mjs +1 -1
  9. package/esm2022/elements/chips/Chip.mjs +2 -2
  10. package/esm2022/elements/chips/Chips.mjs +39 -9
  11. package/esm2022/elements/chips/RowChips.mjs +2 -2
  12. package/esm2022/elements/color-picker/color-input.component.mjs +1 -1
  13. package/esm2022/elements/common/overlay/Overlay.mjs +10 -2
  14. package/esm2022/elements/data-table/data-table.component.mjs +2 -1
  15. package/esm2022/elements/data-table/interfaces.mjs +7 -2
  16. package/esm2022/elements/data-table/state/data-table-state.service.mjs +7 -1
  17. package/esm2022/elements/date-picker/DatePickerInput.mjs +1 -1
  18. package/esm2022/elements/date-picker/DateRangeInput.mjs +1 -1
  19. package/esm2022/elements/date-picker/MultiDateInput.mjs +1 -1
  20. package/esm2022/elements/dropdown/Dropdown.mjs +1 -1
  21. package/esm2022/elements/field/toggle/picker-toggle.component.mjs +1 -1
  22. package/esm2022/elements/form/ControlTemplates.mjs +1 -1
  23. package/esm2022/elements/form/extras/address/Address.mjs +1 -1
  24. package/esm2022/elements/multi-picker/MultiPicker.mjs +2 -2
  25. package/esm2022/elements/picker/Picker.mjs +9 -5
  26. package/esm2022/elements/search/SearchBox.mjs +1 -1
  27. package/esm2022/elements/select/Select.mjs +1 -1
  28. package/esm2022/elements/time-picker/TimePickerInput.mjs +1 -1
  29. package/esm2022/utils/countries/Countries.mjs +2371 -399
  30. package/fesm2022/novo-elements-elements-autocomplete.mjs +1 -1
  31. package/fesm2022/novo-elements-elements-autocomplete.mjs.map +1 -1
  32. package/fesm2022/novo-elements-elements-chips.mjs +40 -11
  33. package/fesm2022/novo-elements-elements-chips.mjs.map +1 -1
  34. package/fesm2022/novo-elements-elements-color-picker.mjs +1 -1
  35. package/fesm2022/novo-elements-elements-color-picker.mjs.map +1 -1
  36. package/fesm2022/novo-elements-elements-common.mjs +9 -1
  37. package/fesm2022/novo-elements-elements-common.mjs.map +1 -1
  38. package/fesm2022/novo-elements-elements-data-table.mjs +15 -1
  39. package/fesm2022/novo-elements-elements-data-table.mjs.map +1 -1
  40. package/fesm2022/novo-elements-elements-date-picker.mjs +3 -3
  41. package/fesm2022/novo-elements-elements-date-picker.mjs.map +1 -1
  42. package/fesm2022/novo-elements-elements-dropdown.mjs +1 -1
  43. package/fesm2022/novo-elements-elements-dropdown.mjs.map +1 -1
  44. package/fesm2022/novo-elements-elements-field.mjs +1 -1
  45. package/fesm2022/novo-elements-elements-field.mjs.map +1 -1
  46. package/fesm2022/novo-elements-elements-form.mjs +2 -2
  47. package/fesm2022/novo-elements-elements-form.mjs.map +1 -1
  48. package/fesm2022/novo-elements-elements-multi-picker.mjs +2 -2
  49. package/fesm2022/novo-elements-elements-multi-picker.mjs.map +1 -1
  50. package/fesm2022/novo-elements-elements-picker.mjs +8 -4
  51. package/fesm2022/novo-elements-elements-picker.mjs.map +1 -1
  52. package/fesm2022/novo-elements-elements-search.mjs +1 -1
  53. package/fesm2022/novo-elements-elements-search.mjs.map +1 -1
  54. package/fesm2022/novo-elements-elements-select.mjs +1 -1
  55. package/fesm2022/novo-elements-elements-select.mjs.map +1 -1
  56. package/fesm2022/novo-elements-elements-time-picker.mjs +1 -1
  57. package/fesm2022/novo-elements-elements-time-picker.mjs.map +1 -1
  58. package/fesm2022/novo-elements-utils.mjs +2370 -398
  59. package/fesm2022/novo-elements-utils.mjs.map +1 -1
  60. package/package.json +1 -1
  61. package/utils/countries/Countries.d.ts +19 -23
@@ -580,7 +580,7 @@ class NovoMultiPickerElement {
580
580
  </div>
581
581
  <i class="bhi-search" [class.has-value]="items.length"></i>
582
582
  <label class="clear-all" *ngIf="items.length" (click)="clearValue()">{{ labels.clearAll }} <i class="bhi-times"></i></label>
583
- `, isInline: true, styles: [":host{width:100%;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-start;border-bottom:1px solid #afb9c0;transition:all .2s ease-in-out;position:relative;padding:2px 0}:host .hidden-chips-toggle{cursor:pointer;padding-left:.5rem;line-height:2.7rem}:host.with-value{margin-bottom:20px}:host:hover{border-bottom:1px solid #5f6d78}:host.selected,:host.selected:hover{border-bottom:1px solid #4a89dc}:host.selected+i,:host.selected:hover+i{color:#4a89dc}:host.disabled{border-bottom-style:dashed!important}:host .novo-chip-container{flex:1;display:flex;flex-flow:row wrap;gap:.4rem;align-items:center}:host .chip-input-container{flex:1 15rem;padding-left:1rem}:host .chip-input-container input{padding-top:0;border:none;background:transparent!important;width:100%}:host .chip-input-container input:focus{outline:none}:host label.clear-all{flex:1 100%;position:absolute;right:0;bottom:-20px;font-size:.9rem;color:#da4453;cursor:pointer;display:flex;align-items:center}:host label.clear-all i{font-size:.7rem;padding-bottom:2px;margin-left:5px}:host i.bhi-search{position:absolute;bottom:8px;right:0;font-size:1.1em;color:#3d464d}:host+i{position:absolute;right:0;bottom:7px}:host.with-value{margin-bottom:0}:host novo-picker{position:inherit;padding-bottom:0}:host novo-picker>::ng-deep input{border:none;border-bottom:none!important}:host novo-picker>::ng-deep input:disabled{border-bottom:none!important}:host novo-picker>::ng-deep i{display:none}:host novo-picker div.picker-results-container{left:0}:host picker-results{position:absolute;color:#000}:host picker-results novo-list{max-height:49vh;overflow:auto}:host picker-results novo-list novo-list-item{flex:0 0;transition:background-color .25s}:host picker-results novo-list novo-list-item>div{width:100%}:host picker-results novo-list novo-list-item.active{background-color:#e0ebf9}:host picker-results novo-list novo-list-item:hover{background-color:#e0ebf9}:host picker-results novo-list novo-list-item item-content{flex-flow:row wrap}:host picker-results novo-list novo-list-item item-content>*{flex:0 0 33%;white-space:nowrap}:host picker-results .error-results,:host picker-results .no-recents,:host picker-results .null-results{text-align:center;padding:1em 0 4em}:host picker-results .error-results>i,:host picker-results .no-recents>i,:host picker-results .null-results>i{font-size:3em;margin:.5em;color:#0000004d}:host picker-results .error-results>h4,:host picker-results .error-results>p,:host picker-results .no-recents>h4,:host picker-results .no-recents>p,:host picker-results .null-results>h4,:host picker-results .null-results>p{margin:0;max-width:none;padding:0}:host picker-results .error-results>h4,:host picker-results .no-recents>h4,:host picker-results .null-results>h4{font-weight:500}:host picker-results section{box-shadow:.1em .1em 1em #00000040;z-index:9;position:absolute;width:100%;background-color:#fff;color:#000}:host .preview-container entity-picker-result{background:#fff;position:absolute;top:100%;left:0;width:100%;min-width:180px;max-height:49vh;overflow:auto;z-index:9001;border:1px solid #4a89dc;transition:all .2s ease-in-out}:host .preview-container entity-picker-result .novo-list-item{flex:0 0}:host .preview-container entity-picker-result .novo-list-item>div{width:100%}:host .preview-container entity-picker-result .novo-list-item .novo-item-content{flex-flow:row wrap}:host .preview-container entity-picker-result .novo-list-item .novo-item-content>*{flex:0 0 33%;white-space:nowrap}:host .preview-container entity-picker-result .novo-list-item .novo-item-content>p{min-width:15em;font-size:.9em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding-right:1em}entity-chip-results{max-width:none!important}:host .chip-input-container{padding-top:10px}:host ul.summary{display:inline;list-style:none;color:#868686;padding:0 10px}:host ul.summary li{display:inline;padding:0 3px}:host ul.summary li:after{content:\", \"}:host ul.summary li:last-child:after{content:\" \"}:host novo-picker li.header{text-transform:uppercase;font-weight:400;border-top:1px solid #e8e8e8;padding-bottom:0}:host novo-picker li label{color:#9e9e9e;text-transform:capitalize}:host novo-picker li label:hover i.bhi-checkbox-empty,:host novo-picker li label:hover i.bhi-checkbox-indeterminate{color:#4a89dc}:host novo-picker li.checked label{color:#393939}:host novo-picker i{margin-right:5px}:host novo-picker i.bhi-checkbox-empty{color:#d2d2d2}:host novo-picker i.bhi-checkbox-filled,:host novo-picker i.bhi-checkbox-indeterminate{color:#4a89dc}:host chip span{text-transform:capitalize}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.NovoPickerElement, selector: "novo-picker", inputs: ["config", "placeholder", "clearValueOnSelect", "closeOnSelect", "selected", "appendToBody", "parentScrollSelector", "parentScrollAction", "containerClass", "side", "autoSelectFirstOption", "overrideElement", "maxlength", "allowCustomValues", "disablePickerInput"], outputs: ["changed", "select", "focus", "blur", "typing"] }, { kind: "component", type: i4.NovoChipElement, selector: "novo-chip, [novo-chip]", inputs: ["color", "tabIndex", "size", "type", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }] }); }
583
+ `, isInline: true, styles: [":host{width:100%;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-start;border-bottom:1px solid #afb9c0;transition:all .2s ease-in-out;position:relative;padding:2px 0}:host .hidden-chips-toggle{cursor:pointer;padding-left:.5rem;line-height:2.7rem}:host.with-value{margin-bottom:20px}:host:hover{border-bottom:1px solid #5f6d78}:host.selected,:host.selected:hover{border-bottom:1px solid #4a89dc}:host.selected+i,:host.selected:hover+i{color:#4a89dc}:host.disabled{border-bottom-style:dashed!important}:host .novo-chip-container{flex:1;display:flex;flex-flow:row wrap;gap:.4rem;align-items:center}:host .chip-input-container{flex:1 15rem;padding-left:1rem}:host .chip-input-container input{padding-top:0;border:none;background:transparent!important;width:100%}:host .chip-input-container input:focus{outline:none}:host .chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host label.clear-all{flex:1 100%;position:absolute;right:0;bottom:-20px;font-size:.9rem;color:#da4453;cursor:pointer;display:flex;align-items:center}:host label.clear-all i{font-size:.7rem;padding-bottom:2px;margin-left:5px}:host i.bhi-search{position:absolute;bottom:8px;right:0;font-size:1.1em;color:#3d464d}:host+i{position:absolute;right:0;bottom:7px}:host.with-value{margin-bottom:0}:host novo-picker{position:inherit;padding-bottom:0}:host novo-picker>::ng-deep input{border:none;border-bottom:none!important}:host novo-picker>::ng-deep input:disabled{border-bottom:none!important}:host novo-picker>::ng-deep i{display:none}:host novo-picker div.picker-results-container{left:0}:host picker-results{position:absolute;color:#000}:host picker-results novo-list{max-height:49vh;overflow:auto}:host picker-results novo-list novo-list-item{flex:0 0;transition:background-color .25s}:host picker-results novo-list novo-list-item>div{width:100%}:host picker-results novo-list novo-list-item.active{background-color:#e0ebf9}:host picker-results novo-list novo-list-item:hover{background-color:#e0ebf9}:host picker-results novo-list novo-list-item item-content{flex-flow:row wrap}:host picker-results novo-list novo-list-item item-content>*{flex:0 0 33%;white-space:nowrap}:host picker-results .error-results,:host picker-results .no-recents,:host picker-results .null-results{text-align:center;padding:1em 0 4em}:host picker-results .error-results>i,:host picker-results .no-recents>i,:host picker-results .null-results>i{font-size:3em;margin:.5em;color:#0000004d}:host picker-results .error-results>h4,:host picker-results .error-results>p,:host picker-results .no-recents>h4,:host picker-results .no-recents>p,:host picker-results .null-results>h4,:host picker-results .null-results>p{margin:0;max-width:none;padding:0}:host picker-results .error-results>h4,:host picker-results .no-recents>h4,:host picker-results .null-results>h4{font-weight:500}:host picker-results section{box-shadow:.1em .1em 1em #00000040;z-index:9;position:absolute;width:100%;background-color:#fff;color:#000}:host .preview-container entity-picker-result{background:#fff;position:absolute;top:100%;left:0;width:100%;min-width:180px;max-height:49vh;overflow:auto;z-index:9001;border:1px solid #4a89dc;transition:all .2s ease-in-out}:host .preview-container entity-picker-result .novo-list-item{flex:0 0}:host .preview-container entity-picker-result .novo-list-item>div{width:100%}:host .preview-container entity-picker-result .novo-list-item .novo-item-content{flex-flow:row wrap}:host .preview-container entity-picker-result .novo-list-item .novo-item-content>*{flex:0 0 33%;white-space:nowrap}:host .preview-container entity-picker-result .novo-list-item .novo-item-content>p{min-width:15em;font-size:.9em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding-right:1em}entity-chip-results{max-width:none!important}:host .chip-input-container{padding-top:10px}:host ul.summary{display:inline;list-style:none;color:#868686;padding:0 10px}:host ul.summary li{display:inline;padding:0 3px}:host ul.summary li:after{content:\", \"}:host ul.summary li:last-child:after{content:\" \"}:host novo-picker li.header{text-transform:uppercase;font-weight:400;border-top:1px solid #e8e8e8;padding-bottom:0}:host novo-picker li label{color:#9e9e9e;text-transform:capitalize}:host novo-picker li label:hover i.bhi-checkbox-empty,:host novo-picker li label:hover i.bhi-checkbox-indeterminate{color:#4a89dc}:host novo-picker li.checked label{color:#393939}:host novo-picker i{margin-right:5px}:host novo-picker i.bhi-checkbox-empty{color:#d2d2d2}:host novo-picker i.bhi-checkbox-filled,:host novo-picker i.bhi-checkbox-indeterminate{color:#4a89dc}:host chip span{text-transform:capitalize}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.NovoPickerElement, selector: "novo-picker", inputs: ["config", "placeholder", "clearValueOnSelect", "closeOnSelect", "selected", "appendToBody", "parentScrollSelector", "parentScrollAction", "containerClass", "side", "autoSelectFirstOption", "overrideElement", "maxlength", "allowCustomValues", "width", "minWidth", "disablePickerInput"], outputs: ["changed", "select", "focus", "blur", "typing"] }, { kind: "component", type: i4.NovoChipElement, selector: "novo-chip, [novo-chip]", inputs: ["color", "tabIndex", "size", "type", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }] }); }
584
584
  }
585
585
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: NovoMultiPickerElement, decorators: [{
586
586
  type: Component,
@@ -616,7 +616,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
616
616
  <label class="clear-all" *ngIf="items.length" (click)="clearValue()">{{ labels.clearAll }} <i class="bhi-times"></i></label>
617
617
  `, host: {
618
618
  '[class.with-value]': 'items.length > 0',
619
- }, styles: [":host{width:100%;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-start;border-bottom:1px solid #afb9c0;transition:all .2s ease-in-out;position:relative;padding:2px 0}:host .hidden-chips-toggle{cursor:pointer;padding-left:.5rem;line-height:2.7rem}:host.with-value{margin-bottom:20px}:host:hover{border-bottom:1px solid #5f6d78}:host.selected,:host.selected:hover{border-bottom:1px solid #4a89dc}:host.selected+i,:host.selected:hover+i{color:#4a89dc}:host.disabled{border-bottom-style:dashed!important}:host .novo-chip-container{flex:1;display:flex;flex-flow:row wrap;gap:.4rem;align-items:center}:host .chip-input-container{flex:1 15rem;padding-left:1rem}:host .chip-input-container input{padding-top:0;border:none;background:transparent!important;width:100%}:host .chip-input-container input:focus{outline:none}:host label.clear-all{flex:1 100%;position:absolute;right:0;bottom:-20px;font-size:.9rem;color:#da4453;cursor:pointer;display:flex;align-items:center}:host label.clear-all i{font-size:.7rem;padding-bottom:2px;margin-left:5px}:host i.bhi-search{position:absolute;bottom:8px;right:0;font-size:1.1em;color:#3d464d}:host+i{position:absolute;right:0;bottom:7px}:host.with-value{margin-bottom:0}:host novo-picker{position:inherit;padding-bottom:0}:host novo-picker>::ng-deep input{border:none;border-bottom:none!important}:host novo-picker>::ng-deep input:disabled{border-bottom:none!important}:host novo-picker>::ng-deep i{display:none}:host novo-picker div.picker-results-container{left:0}:host picker-results{position:absolute;color:#000}:host picker-results novo-list{max-height:49vh;overflow:auto}:host picker-results novo-list novo-list-item{flex:0 0;transition:background-color .25s}:host picker-results novo-list novo-list-item>div{width:100%}:host picker-results novo-list novo-list-item.active{background-color:#e0ebf9}:host picker-results novo-list novo-list-item:hover{background-color:#e0ebf9}:host picker-results novo-list novo-list-item item-content{flex-flow:row wrap}:host picker-results novo-list novo-list-item item-content>*{flex:0 0 33%;white-space:nowrap}:host picker-results .error-results,:host picker-results .no-recents,:host picker-results .null-results{text-align:center;padding:1em 0 4em}:host picker-results .error-results>i,:host picker-results .no-recents>i,:host picker-results .null-results>i{font-size:3em;margin:.5em;color:#0000004d}:host picker-results .error-results>h4,:host picker-results .error-results>p,:host picker-results .no-recents>h4,:host picker-results .no-recents>p,:host picker-results .null-results>h4,:host picker-results .null-results>p{margin:0;max-width:none;padding:0}:host picker-results .error-results>h4,:host picker-results .no-recents>h4,:host picker-results .null-results>h4{font-weight:500}:host picker-results section{box-shadow:.1em .1em 1em #00000040;z-index:9;position:absolute;width:100%;background-color:#fff;color:#000}:host .preview-container entity-picker-result{background:#fff;position:absolute;top:100%;left:0;width:100%;min-width:180px;max-height:49vh;overflow:auto;z-index:9001;border:1px solid #4a89dc;transition:all .2s ease-in-out}:host .preview-container entity-picker-result .novo-list-item{flex:0 0}:host .preview-container entity-picker-result .novo-list-item>div{width:100%}:host .preview-container entity-picker-result .novo-list-item .novo-item-content{flex-flow:row wrap}:host .preview-container entity-picker-result .novo-list-item .novo-item-content>*{flex:0 0 33%;white-space:nowrap}:host .preview-container entity-picker-result .novo-list-item .novo-item-content>p{min-width:15em;font-size:.9em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding-right:1em}entity-chip-results{max-width:none!important}:host .chip-input-container{padding-top:10px}:host ul.summary{display:inline;list-style:none;color:#868686;padding:0 10px}:host ul.summary li{display:inline;padding:0 3px}:host ul.summary li:after{content:\", \"}:host ul.summary li:last-child:after{content:\" \"}:host novo-picker li.header{text-transform:uppercase;font-weight:400;border-top:1px solid #e8e8e8;padding-bottom:0}:host novo-picker li label{color:#9e9e9e;text-transform:capitalize}:host novo-picker li label:hover i.bhi-checkbox-empty,:host novo-picker li label:hover i.bhi-checkbox-indeterminate{color:#4a89dc}:host novo-picker li.checked label{color:#393939}:host novo-picker i{margin-right:5px}:host novo-picker i.bhi-checkbox-empty{color:#d2d2d2}:host novo-picker i.bhi-checkbox-filled,:host novo-picker i.bhi-checkbox-indeterminate{color:#4a89dc}:host chip span{text-transform:capitalize}\n"] }]
619
+ }, styles: [":host{width:100%;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-start;border-bottom:1px solid #afb9c0;transition:all .2s ease-in-out;position:relative;padding:2px 0}:host .hidden-chips-toggle{cursor:pointer;padding-left:.5rem;line-height:2.7rem}:host.with-value{margin-bottom:20px}:host:hover{border-bottom:1px solid #5f6d78}:host.selected,:host.selected:hover{border-bottom:1px solid #4a89dc}:host.selected+i,:host.selected:hover+i{color:#4a89dc}:host.disabled{border-bottom-style:dashed!important}:host .novo-chip-container{flex:1;display:flex;flex-flow:row wrap;gap:.4rem;align-items:center}:host .chip-input-container{flex:1 15rem;padding-left:1rem}:host .chip-input-container input{padding-top:0;border:none;background:transparent!important;width:100%}:host .chip-input-container input:focus{outline:none}:host .chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host label.clear-all{flex:1 100%;position:absolute;right:0;bottom:-20px;font-size:.9rem;color:#da4453;cursor:pointer;display:flex;align-items:center}:host label.clear-all i{font-size:.7rem;padding-bottom:2px;margin-left:5px}:host i.bhi-search{position:absolute;bottom:8px;right:0;font-size:1.1em;color:#3d464d}:host+i{position:absolute;right:0;bottom:7px}:host.with-value{margin-bottom:0}:host novo-picker{position:inherit;padding-bottom:0}:host novo-picker>::ng-deep input{border:none;border-bottom:none!important}:host novo-picker>::ng-deep input:disabled{border-bottom:none!important}:host novo-picker>::ng-deep i{display:none}:host novo-picker div.picker-results-container{left:0}:host picker-results{position:absolute;color:#000}:host picker-results novo-list{max-height:49vh;overflow:auto}:host picker-results novo-list novo-list-item{flex:0 0;transition:background-color .25s}:host picker-results novo-list novo-list-item>div{width:100%}:host picker-results novo-list novo-list-item.active{background-color:#e0ebf9}:host picker-results novo-list novo-list-item:hover{background-color:#e0ebf9}:host picker-results novo-list novo-list-item item-content{flex-flow:row wrap}:host picker-results novo-list novo-list-item item-content>*{flex:0 0 33%;white-space:nowrap}:host picker-results .error-results,:host picker-results .no-recents,:host picker-results .null-results{text-align:center;padding:1em 0 4em}:host picker-results .error-results>i,:host picker-results .no-recents>i,:host picker-results .null-results>i{font-size:3em;margin:.5em;color:#0000004d}:host picker-results .error-results>h4,:host picker-results .error-results>p,:host picker-results .no-recents>h4,:host picker-results .no-recents>p,:host picker-results .null-results>h4,:host picker-results .null-results>p{margin:0;max-width:none;padding:0}:host picker-results .error-results>h4,:host picker-results .no-recents>h4,:host picker-results .null-results>h4{font-weight:500}:host picker-results section{box-shadow:.1em .1em 1em #00000040;z-index:9;position:absolute;width:100%;background-color:#fff;color:#000}:host .preview-container entity-picker-result{background:#fff;position:absolute;top:100%;left:0;width:100%;min-width:180px;max-height:49vh;overflow:auto;z-index:9001;border:1px solid #4a89dc;transition:all .2s ease-in-out}:host .preview-container entity-picker-result .novo-list-item{flex:0 0}:host .preview-container entity-picker-result .novo-list-item>div{width:100%}:host .preview-container entity-picker-result .novo-list-item .novo-item-content{flex-flow:row wrap}:host .preview-container entity-picker-result .novo-list-item .novo-item-content>*{flex:0 0 33%;white-space:nowrap}:host .preview-container entity-picker-result .novo-list-item .novo-item-content>p{min-width:15em;font-size:.9em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding-right:1em}entity-chip-results{max-width:none!important}:host .chip-input-container{padding-top:10px}:host ul.summary{display:inline;list-style:none;color:#868686;padding:0 10px}:host ul.summary li{display:inline;padding:0 3px}:host ul.summary li:after{content:\", \"}:host ul.summary li:last-child:after{content:\" \"}:host novo-picker li.header{text-transform:uppercase;font-weight:400;border-top:1px solid #e8e8e8;padding-bottom:0}:host novo-picker li label{color:#9e9e9e;text-transform:capitalize}:host novo-picker li label:hover i.bhi-checkbox-empty,:host novo-picker li label:hover i.bhi-checkbox-indeterminate{color:#4a89dc}:host novo-picker li.checked label{color:#393939}:host novo-picker i{margin-right:5px}:host novo-picker i.bhi-checkbox-empty{color:#d2d2d2}:host novo-picker i.bhi-checkbox-filled,:host novo-picker i.bhi-checkbox-indeterminate{color:#4a89dc}:host chip span{text-transform:capitalize}\n"] }]
620
620
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.NovoLabelService }], propDecorators: { source: [{
621
621
  type: Input
622
622
  }], placeholder: [{
@@ -1 +1 @@
1
- {"version":3,"file":"novo-elements-elements-multi-picker.mjs","sources":["../../../projects/novo-elements/src/elements/multi-picker/MultiPicker.ts","../../../projects/novo-elements/src/elements/multi-picker/MultiPicker.module.ts","../../../projects/novo-elements/src/elements/multi-picker/novo-elements-elements-multi-picker.ts"],"sourcesContent":["// NG2\nimport { Component, ElementRef, EventEmitter, forwardRef, Input, OnInit, Output } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n// Vendor\nimport { ReplaySubject } from 'rxjs';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { Helpers, Key } from 'novo-elements/utils';\n\n// Value accessor for the component (supports ngModel)\nconst CHIPS_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoMultiPickerElement),\n multi: true,\n};\n\ninterface Item {\n type;\n label;\n value;\n}\n\n@Component({\n selector: 'multi-picker',\n providers: [CHIPS_VALUE_ACCESSOR],\n template: `\n <novo-chip\n *ngFor=\"let item of _items | async | slice: 0:chipsCount\"\n [type]=\"item.type\"\n [class.selected]=\"item == selected\"\n (removed)=\"removeFromDisplay($event, item)\"\n (selectionChange)=\"select($event, item)\"\n >\n {{ item.label }}\n </novo-chip>\n <div *ngIf=\"items.length > chipsCount\">\n <ul class=\"summary\">\n <li *ngFor=\"let type of notShown\">+ {{ type.count }} {{ labels.more }} {{ type.type }}</li>\n </ul>\n </div>\n <div class=\"chip-input-container\">\n <novo-picker\n clearValueOnSelect=\"true\"\n [config]=\"source\"\n [placeholder]=\"placeholder\"\n (select)=\"clickOption($event)\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onTouched($event)\"\n [overrideElement]=\"element\"\n >\n </novo-picker>\n </div>\n <i class=\"bhi-search\" [class.has-value]=\"items.length\"></i>\n <label class=\"clear-all\" *ngIf=\"items.length\" (click)=\"clearValue()\">{{ labels.clearAll }} <i class=\"bhi-times\"></i></label>\n `,\n styleUrls: ['./_MultiPicker.scss'],\n host: {\n '[class.with-value]': 'items.length > 0',\n },\n})\nexport class NovoMultiPickerElement implements OnInit {\n @Input()\n source: { options: []; resultsTemplate; selectAllOption: boolean; chipsCount; strictRelationship };\n @Input()\n placeholder: any = '';\n @Input()\n types: { value; singular; plural; isParentOf; isChildOf }[];\n @Output()\n changed: EventEmitter<any> = new EventEmitter();\n @Output()\n focus: EventEmitter<any> = new EventEmitter();\n @Output()\n blur: EventEmitter<any> = new EventEmitter();\n\n get value() {\n return this._value;\n }\n\n @Input()\n set value(selectedItems) {\n if (selectedItems) {\n this.types.forEach((x) => (this._value[x.value] = selectedItems[x.value]));\n } else {\n this._value = {};\n this.types.forEach((x) => (this._value[x.value] = []));\n }\n this.changed.emit(selectedItems);\n this.onModelChange(selectedItems);\n }\n\n items: Item[] = [];\n _items = new ReplaySubject<Item[]>(1);\n options: any;\n _options: any;\n selected: any = null;\n config: any = {};\n chipsCount: number;\n selectAllOption: boolean;\n strictRelationship: boolean;\n // private data model\n _value = {};\n notShown: any = {};\n // Placeholders for the callbacks\n model: any;\n onModelChange: Function = () => {};\n onModelTouched: Function = () => {};\n\n constructor(public element: ElementRef, public labels: NovoLabelService) {\n this.chipsCount = 4;\n }\n\n ngOnInit() {\n this.selectAllOption = this.source.selectAllOption || false;\n this.chipsCount = this.source.chipsCount || 4;\n this.strictRelationship = this.source.strictRelationship || false;\n this.setupOptions();\n }\n\n clearValue() {\n this.types.forEach((type) => this.modifyAllOfType(type.value, 'unselect'));\n this.items = [];\n this._items.next(this.items);\n this.setInitialValue(null);\n this.onModelChange(this.value);\n }\n\n removeFromDisplay(event, item) {\n this.remove(true, item);\n this.modifyAffectedParentsOrChildren(false, item);\n }\n\n setupOptions() {\n this.options = this.source.options || [];\n this._options = [];\n if (this.options) {\n this.options.forEach((option) => {\n const formattedOption = this.setupOptionsByType(option);\n this._options.push(formattedOption);\n });\n }\n this.source.options = this._options;\n }\n\n setupOptionsByType(section) {\n const formattedSection: any = {\n type: section.type,\n label: section.label || section.type,\n };\n formattedSection.data = section.data.map((item) => {\n return this.formatOption(section, item);\n });\n if (this.selectAllOption) {\n const selectAll = this.createSelectAllOption(section);\n formattedSection.data.splice(0, 0, selectAll);\n }\n formattedSection.originalData = formattedSection.data.slice();\n return formattedSection;\n }\n\n formatOption(section, item) {\n const obj = {\n value: section.field ? item[section.field] : item.value || item,\n label: section.format ? Helpers.interpolate(section.format, item) : item.label || String(item.value || item),\n type: section.type,\n checked: undefined,\n isParentOf: section.isParentOf,\n isChildOf: section.isChildOf,\n };\n if (obj.isChildOf) {\n obj[section.isChildOf] = item[section.isChildOf];\n }\n return obj;\n }\n\n createSelectAllOption(section) {\n const selectAll = {\n value: 'ALL',\n label: `All ${section.type}`,\n type: section.type,\n checked: this.model && this.model.length && this.model.indexOf('ALL') !== -1,\n isParentOf: section.isParentOf,\n isChildOf: section.isChildOf,\n };\n if (section.isChildOf) {\n const allParents = section.data.reduce((accum, next) => {\n return accum.concat(next[section.isChildOf]);\n }, []);\n selectAll[section.isChildOf] = allParents;\n }\n return selectAll;\n }\n\n deselectAll() {\n this.selected = null;\n }\n\n select(event, item) {\n this.blur.emit(event);\n this.deselectAll();\n this.selected = item;\n }\n\n onFocus(e) {\n this.element.nativeElement.classList.add('selected');\n this.focus.emit(e);\n }\n\n clickOption(event) {\n if (event && !(event instanceof Event)) {\n if (event.checked === false) {\n this.remove(null, event);\n } else {\n this.add(event);\n }\n this.modifyAffectedParentsOrChildren(event.checked, event);\n // Set focus on the picker\n const input = this.element.nativeElement.querySelector('novo-picker > input');\n if (input) {\n input.focus();\n }\n }\n }\n\n add(event) {\n if (event.value === 'ALL') {\n this.modifyAllOfType(event.type, 'select');\n } else {\n this.updateDisplayItems(event, 'add');\n this.value[event.type].push(event.value);\n this.updateAllItemState(event.type);\n this.triggerValueUpdate();\n }\n this.updateParentOrChildren(event, 'select');\n this.select(null, event);\n }\n\n updateAllItemState(type) {\n const allOfType = this.getAllOfType(type);\n const allOfTypeSelected = this.allItemsSelected(allOfType, type);\n if (allOfTypeSelected) {\n this.selectAll(allOfType, type);\n }\n return { allOfType, allOfTypeSelected };\n }\n\n setIndeterminateState(allOfType, status) {\n if (!this.selectAllOption) {\n return;\n }\n const allItem = allOfType[0];\n allItem.indeterminate = status;\n }\n\n updateDisplayItems(item, action) {\n const adding = action === 'add';\n if (adding) {\n this.items.push(item);\n } else {\n if (this.items.indexOf(item) > -1) {\n this.items.splice(this.items.indexOf(item), 1);\n }\n }\n this.updateDisplayText(this.items);\n this._items.next(this.items);\n }\n\n updateDisplayText(items) {\n this.notShown = [];\n const notShown = items.slice(this.chipsCount);\n if (notShown.length > 0) {\n this.types.forEach((type) => {\n let count;\n const selectedOfType = notShown.filter((x) => x.type === type.value);\n if (selectedOfType.length === 1 && selectedOfType[0].value === 'ALL') {\n count = this.getAllOfType(type.value).length - 1;\n } else {\n count = selectedOfType.length;\n }\n const displayType = count === 1 ? type.singular : type.plural || type.value;\n if (count > 0) {\n this.notShown.push({ type: displayType, count });\n }\n });\n }\n }\n\n remove(event, item) {\n let triggeredByEvent;\n if (event) {\n triggeredByEvent = true;\n }\n const itemToRemove = item;\n if (itemToRemove.value === 'ALL') {\n triggeredByEvent = false;\n this.modifyAllOfType(itemToRemove.type, 'unselect');\n } else if (this.allOfTypeSelected(itemToRemove.type)) {\n this.handleRemoveItemIfAllSelected(itemToRemove);\n }\n this.removeItem(item, triggeredByEvent);\n }\n\n removeItem(item, triggeredByEvent?: any) {\n item.checked = false;\n this.deselectAll();\n this.removeValue(item);\n if (item.value !== 'ALL') {\n this.updateParentOrChildren(item, 'unselect');\n }\n if (triggeredByEvent) {\n this.modifyAffectedParentsOrChildren(false, item);\n }\n }\n\n removeValue(item) {\n const updatedValues = this.value[item.type].filter((x) => x !== item.value);\n this.value[item.type] = updatedValues;\n this.triggerValueUpdate();\n this.updateDisplayItems(item, 'remove');\n }\n\n onKeyDown(event) {\n if (event.key === Key.Backspace) {\n if (event.target && event.target.value.length === 0 && this.items.length) {\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n }\n if (this.selected) {\n this.remove(null, this.selected);\n } else {\n this.select(event, this.items[this.items.length - 1]);\n }\n }\n }\n }\n\n allOfTypeSelected(type) {\n return this.items.filter((x) => x.type === type && x.value === 'ALL').length > 0;\n }\n\n modifyAllOfType(type, action) {\n const selecting = action === 'select';\n const allOfType = this.getAllOfType(type);\n allOfType.forEach((item) => {\n item.checked = selecting;\n item.indeterminate = false;\n });\n if (selecting) {\n this.selectAll(allOfType, type);\n } else {\n this.items = [...this.items.filter((x) => x.type !== type)];\n this._items.next(this.items);\n this.value[type] = [];\n }\n if (this.selectAllOption) {\n this.updateAllParentsOrChildren(allOfType[0], action);\n }\n this.triggerValueUpdate();\n }\n\n triggerValueUpdate() {\n const updatedObject = {};\n this.types.forEach((x) => (updatedObject[x.value] = this.value[x.value]));\n this.value = updatedObject;\n }\n\n selectAll(allOfType, type) {\n if (!this.selectAllOption) {\n return;\n }\n allOfType[0].checked = true;\n const values = allOfType.map((i) => {\n return i.value;\n });\n // remove 'ALL' value\n values.splice(0, 1);\n this.value[type] = values;\n const updatedItems = this.items.filter((x) => x.type !== type);\n this.items = updatedItems;\n this.updateDisplayItems(allOfType[0], 'add');\n }\n\n handleRemoveItemIfAllSelected(item) {\n if (!this.selectAllOption) {\n return;\n }\n const type = item.type;\n const allOfType = this.getAllOfType(type);\n const allItem = allOfType[0];\n this.removeItem(allItem);\n allItem.indeterminate = true;\n const selectedItems = allOfType.filter((i) => i.checked === true);\n this.items = [...this.items, ...selectedItems];\n const values = selectedItems.map((i) => {\n return i.value;\n });\n this.value[type] = [...values];\n }\n\n handleOutsideClick(event) {\n // If the elements doesn't contain the target element, it is an outside click\n if (!this.element.nativeElement.contains(event.target)) {\n this.blur.emit(event);\n this.deselectAll();\n }\n }\n\n getAllOfType(type) {\n return this._options.filter((x) => x.type === type)[0].originalData;\n }\n\n updateParentOrChildren(item, action) {\n if (this.strictRelationship && item.isParentOf) {\n this.updateChildrenValue(item, action);\n } else if (item.isChildOf && this.selectAllOption) {\n this.updateParentValue(item, action);\n }\n }\n\n modifyAffectedParentsOrChildren(selecting, itemChanged) {\n if (!itemChanged.isChildOf && !itemChanged.isParentOf) {\n return;\n }\n const parent = this.types.filter((x) => !!x.isParentOf)[0];\n const parentType = parent.value;\n const allParentType = this.getAllOfType(parentType);\n const childType = allParentType[0].isParentOf;\n const allChildren = this.getAllOfType(childType);\n const allCheckedChildren = allChildren.filter((x) => !!x.checked);\n\n allParentType.forEach((obj) => {\n if (obj.value === 'ALL') {\n return;\n }\n const selectedChildrenOfParent = allCheckedChildren.filter((x) => {\n return x[parentType].filter((y) => y === obj.value).length > 0;\n });\n\n if (selecting) {\n if (obj.checked) {\n return;\n }\n obj.indeterminate = selectedChildrenOfParent.length > 0;\n } else {\n const allChildrenOfParent = allChildren.filter((x) => {\n return x.value !== 'ALL' && x[parentType].filter((y) => y === obj.value).length > 0;\n });\n if (selectedChildrenOfParent.length > 0) {\n if (obj.checked) {\n if (this.strictRelationship && allChildrenOfParent.length !== selectedChildrenOfParent.length) {\n obj.indeterminate = true;\n obj.checked = false;\n this.removeValue(obj);\n this.addIndividualChildren(selectedChildrenOfParent);\n }\n } else {\n obj.indeterminate = true;\n }\n if (this.strictRelationship && itemChanged.type !== parentType) {\n if (obj.checked) {\n obj.checked = false;\n this.removeValue(obj);\n this.addIndividualChildren(selectedChildrenOfParent);\n }\n }\n } else {\n obj.indeterminate = false;\n if (allChildrenOfParent.length === 0) {\n // if it has no children and is checked, it should stay checked\n return;\n } else if (this.strictRelationship && itemChanged.type !== parentType) {\n this.remove(null, obj);\n }\n }\n }\n });\n if (this.selectAllOption) {\n this.updateIndeterminateStates(allParentType, allChildren, allCheckedChildren);\n }\n }\n\n updateAllParentsOrChildren(allItem, action) {\n if (allItem.isParentOf) {\n this.updateAllChildrenValue(allItem, action);\n } else if (allItem.isChildOf) {\n this.updateAllParentValue(allItem, action);\n }\n }\n\n updateAllChildrenValue(item, action) {\n const selecting = action === 'select';\n const childType = item.isParentOf;\n const potentialChildren = this.getAllOfType(childType);\n if (this.selectAllOption && this.allOfTypeSelected(childType) && !selecting) {\n this.remove(null, potentialChildren[0]);\n return;\n }\n potentialChildren.forEach((x) => {\n if (x.value === 'ALL' && !x.checked) {\n if (selecting) {\n x.checked = true;\n }\n x.indeterminate = selecting;\n } else {\n if (x.checked && !selecting) {\n this.remove(null, x);\n }\n x.checked = selecting;\n }\n });\n }\n\n updateAllParentValue(item, action) {\n const selecting = action === 'select';\n const parentType = item.isChildOf;\n const potentialParents = this.getAllOfType(parentType);\n potentialParents.forEach((x) => {\n if (!x.checked) {\n x.indeterminate = selecting;\n }\n });\n }\n\n updateIndeterminateStates(allParentType, allChildren, allCheckedChildren) {\n const allCheckedOrIndeterminateParents = allParentType.filter((x) => (!!x.checked || !!x.indeterminate) && x.value !== 'ALL');\n const isParentIndeterminate = !!allParentType[0].checked ? false : allCheckedOrIndeterminateParents.length > 0;\n const isChildIndeterminate = !!allChildren[0].checked ? false : allCheckedChildren.length > 0;\n this.setIndeterminateState(allParentType, isParentIndeterminate);\n this.setIndeterminateState(allChildren, isChildIndeterminate);\n }\n\n updateChildrenValue(parent, action) {\n const selecting = action === 'select';\n const childType = parent.isParentOf;\n const potentialChildren = this.getAllOfType(childType);\n potentialChildren.forEach((x) => {\n if (x.value === 'ALL') {\n return;\n }\n if (x[parent.type].filter((y) => y === parent.value).length > 0) {\n if (x.checked && !selecting) {\n x.checked = false;\n if (this.allOfTypeSelected(childType)) {\n this.handleRemoveItemIfAllSelected(x);\n } else {\n this.removeValue(x);\n }\n }\n x.checked = selecting;\n }\n });\n }\n\n updateParentValue(child, action) {\n const allParentType = this.getAllOfType(child.isChildOf);\n if (allParentType[0].checked && action !== 'select') {\n this.handleRemoveItemIfAllSelected(allParentType[0]);\n }\n }\n\n addIndividualChildren(children) {\n let parentAlreadySelected = false;\n children.forEach((x) => {\n if (x.isChildOf) {\n // only add children if their parents are not already selected\n x[x.isChildOf].forEach((parent) => {\n if (this.value[x.isChildOf].filter((p) => p === parent).length > 0) {\n parentAlreadySelected = true;\n }\n });\n }\n if (this.value[x.type].filter((item) => item === x.value).length === 0 && !parentAlreadySelected) {\n this.add(x);\n }\n });\n }\n\n setInitialValue(model): void {\n this.items = [];\n this.value = model || {};\n if (!this.types) {\n return;\n }\n this.types.forEach((typeObj) => {\n const type = typeObj.value;\n if (this.value[type]) {\n let indeterminateIsSet = false;\n const options = this.updateAllItemState(type);\n const optionsByType = options.allOfType;\n const allSelected = options.allOfTypeSelected;\n this.value[type].forEach((item) => {\n if (!allSelected && !indeterminateIsSet) {\n indeterminateIsSet = true;\n this.setIndeterminateState(optionsByType, true);\n }\n const value = optionsByType.filter((x) => x.value === item)[0];\n value.checked = true;\n if (!allSelected) {\n this.updateDisplayItems(value, 'add');\n }\n if (this.strictRelationship && value.isParentOf) {\n this.updateChildrenValue(value, 'select');\n }\n });\n if (typeObj.isChildOf) {\n this.modifyAffectedParentsOrChildren(true, { value: type, isChildOf: true });\n }\n } else {\n this.value[type] = [];\n }\n });\n }\n\n allItemsSelected(optionsByType, type) {\n return this.value[type].length === optionsByType.length - 1;\n }\n\n // Set touched on blur\n onTouched(e) {\n this.element.nativeElement.classList.remove('selected');\n this.onModelTouched();\n this.blur.emit(e);\n }\n\n writeValue(model: any): void {\n this.model = model;\n this.setInitialValue(model);\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// APP\nimport { NovoChipsModule } from 'novo-elements/elements/chips';\nimport { NovoPickerModule } from 'novo-elements/elements/picker';\nimport { NovoMultiPickerElement } from './MultiPicker';\n\n@NgModule({\n imports: [CommonModule, FormsModule, NovoPickerModule, NovoChipsModule],\n declarations: [NovoMultiPickerElement],\n exports: [NovoMultiPickerElement],\n})\nexport class NovoMultiPickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"novo-elements-elements-multi-picker.mjs","sources":["../../../projects/novo-elements/src/elements/multi-picker/MultiPicker.ts","../../../projects/novo-elements/src/elements/multi-picker/MultiPicker.module.ts","../../../projects/novo-elements/src/elements/multi-picker/novo-elements-elements-multi-picker.ts"],"sourcesContent":["// NG2\nimport { Component, ElementRef, EventEmitter, forwardRef, Input, OnInit, Output } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n// Vendor\nimport { ReplaySubject } from 'rxjs';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { Helpers, Key } from 'novo-elements/utils';\n\n// Value accessor for the component (supports ngModel)\nconst CHIPS_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoMultiPickerElement),\n multi: true,\n};\n\ninterface Item {\n type;\n label;\n value;\n}\n\n@Component({\n selector: 'multi-picker',\n providers: [CHIPS_VALUE_ACCESSOR],\n template: `\n <novo-chip\n *ngFor=\"let item of _items | async | slice: 0:chipsCount\"\n [type]=\"item.type\"\n [class.selected]=\"item == selected\"\n (removed)=\"removeFromDisplay($event, item)\"\n (selectionChange)=\"select($event, item)\"\n >\n {{ item.label }}\n </novo-chip>\n <div *ngIf=\"items.length > chipsCount\">\n <ul class=\"summary\">\n <li *ngFor=\"let type of notShown\">+ {{ type.count }} {{ labels.more }} {{ type.type }}</li>\n </ul>\n </div>\n <div class=\"chip-input-container\">\n <novo-picker\n clearValueOnSelect=\"true\"\n [config]=\"source\"\n [placeholder]=\"placeholder\"\n (select)=\"clickOption($event)\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onTouched($event)\"\n [overrideElement]=\"element\"\n >\n </novo-picker>\n </div>\n <i class=\"bhi-search\" [class.has-value]=\"items.length\"></i>\n <label class=\"clear-all\" *ngIf=\"items.length\" (click)=\"clearValue()\">{{ labels.clearAll }} <i class=\"bhi-times\"></i></label>\n `,\n styleUrls: ['./_MultiPicker.scss'],\n host: {\n '[class.with-value]': 'items.length > 0',\n },\n})\nexport class NovoMultiPickerElement implements OnInit {\n @Input()\n source: { options: []; resultsTemplate; selectAllOption: boolean; chipsCount; strictRelationship };\n @Input()\n placeholder: any = '';\n @Input()\n types: { value; singular; plural; isParentOf; isChildOf }[];\n @Output()\n changed: EventEmitter<any> = new EventEmitter();\n @Output()\n focus: EventEmitter<any> = new EventEmitter();\n @Output()\n blur: EventEmitter<any> = new EventEmitter();\n\n get value() {\n return this._value;\n }\n\n @Input()\n set value(selectedItems) {\n if (selectedItems) {\n this.types.forEach((x) => (this._value[x.value] = selectedItems[x.value]));\n } else {\n this._value = {};\n this.types.forEach((x) => (this._value[x.value] = []));\n }\n this.changed.emit(selectedItems);\n this.onModelChange(selectedItems);\n }\n\n items: Item[] = [];\n _items = new ReplaySubject<Item[]>(1);\n options: any;\n _options: any;\n selected: any = null;\n config: any = {};\n chipsCount: number;\n selectAllOption: boolean;\n strictRelationship: boolean;\n // private data model\n _value = {};\n notShown: any = {};\n // Placeholders for the callbacks\n model: any;\n onModelChange: Function = () => {};\n onModelTouched: Function = () => {};\n\n constructor(public element: ElementRef, public labels: NovoLabelService) {\n this.chipsCount = 4;\n }\n\n ngOnInit() {\n this.selectAllOption = this.source.selectAllOption || false;\n this.chipsCount = this.source.chipsCount || 4;\n this.strictRelationship = this.source.strictRelationship || false;\n this.setupOptions();\n }\n\n clearValue() {\n this.types.forEach((type) => this.modifyAllOfType(type.value, 'unselect'));\n this.items = [];\n this._items.next(this.items);\n this.setInitialValue(null);\n this.onModelChange(this.value);\n }\n\n removeFromDisplay(event, item) {\n this.remove(true, item);\n this.modifyAffectedParentsOrChildren(false, item);\n }\n\n setupOptions() {\n this.options = this.source.options || [];\n this._options = [];\n if (this.options) {\n this.options.forEach((option) => {\n const formattedOption = this.setupOptionsByType(option);\n this._options.push(formattedOption);\n });\n }\n this.source.options = this._options;\n }\n\n setupOptionsByType(section) {\n const formattedSection: any = {\n type: section.type,\n label: section.label || section.type,\n };\n formattedSection.data = section.data.map((item) => {\n return this.formatOption(section, item);\n });\n if (this.selectAllOption) {\n const selectAll = this.createSelectAllOption(section);\n formattedSection.data.splice(0, 0, selectAll);\n }\n formattedSection.originalData = formattedSection.data.slice();\n return formattedSection;\n }\n\n formatOption(section, item) {\n const obj = {\n value: section.field ? item[section.field] : item.value || item,\n label: section.format ? Helpers.interpolate(section.format, item) : item.label || String(item.value || item),\n type: section.type,\n checked: undefined,\n isParentOf: section.isParentOf,\n isChildOf: section.isChildOf,\n };\n if (obj.isChildOf) {\n obj[section.isChildOf] = item[section.isChildOf];\n }\n return obj;\n }\n\n createSelectAllOption(section) {\n const selectAll = {\n value: 'ALL',\n label: `All ${section.type}`,\n type: section.type,\n checked: this.model && this.model.length && this.model.indexOf('ALL') !== -1,\n isParentOf: section.isParentOf,\n isChildOf: section.isChildOf,\n };\n if (section.isChildOf) {\n const allParents = section.data.reduce((accum, next) => {\n return accum.concat(next[section.isChildOf]);\n }, []);\n selectAll[section.isChildOf] = allParents;\n }\n return selectAll;\n }\n\n deselectAll() {\n this.selected = null;\n }\n\n select(event, item) {\n this.blur.emit(event);\n this.deselectAll();\n this.selected = item;\n }\n\n onFocus(e) {\n this.element.nativeElement.classList.add('selected');\n this.focus.emit(e);\n }\n\n clickOption(event) {\n if (event && !(event instanceof Event)) {\n if (event.checked === false) {\n this.remove(null, event);\n } else {\n this.add(event);\n }\n this.modifyAffectedParentsOrChildren(event.checked, event);\n // Set focus on the picker\n const input = this.element.nativeElement.querySelector('novo-picker > input');\n if (input) {\n input.focus();\n }\n }\n }\n\n add(event) {\n if (event.value === 'ALL') {\n this.modifyAllOfType(event.type, 'select');\n } else {\n this.updateDisplayItems(event, 'add');\n this.value[event.type].push(event.value);\n this.updateAllItemState(event.type);\n this.triggerValueUpdate();\n }\n this.updateParentOrChildren(event, 'select');\n this.select(null, event);\n }\n\n updateAllItemState(type) {\n const allOfType = this.getAllOfType(type);\n const allOfTypeSelected = this.allItemsSelected(allOfType, type);\n if (allOfTypeSelected) {\n this.selectAll(allOfType, type);\n }\n return { allOfType, allOfTypeSelected };\n }\n\n setIndeterminateState(allOfType, status) {\n if (!this.selectAllOption) {\n return;\n }\n const allItem = allOfType[0];\n allItem.indeterminate = status;\n }\n\n updateDisplayItems(item, action) {\n const adding = action === 'add';\n if (adding) {\n this.items.push(item);\n } else {\n if (this.items.indexOf(item) > -1) {\n this.items.splice(this.items.indexOf(item), 1);\n }\n }\n this.updateDisplayText(this.items);\n this._items.next(this.items);\n }\n\n updateDisplayText(items) {\n this.notShown = [];\n const notShown = items.slice(this.chipsCount);\n if (notShown.length > 0) {\n this.types.forEach((type) => {\n let count;\n const selectedOfType = notShown.filter((x) => x.type === type.value);\n if (selectedOfType.length === 1 && selectedOfType[0].value === 'ALL') {\n count = this.getAllOfType(type.value).length - 1;\n } else {\n count = selectedOfType.length;\n }\n const displayType = count === 1 ? type.singular : type.plural || type.value;\n if (count > 0) {\n this.notShown.push({ type: displayType, count });\n }\n });\n }\n }\n\n remove(event, item) {\n let triggeredByEvent;\n if (event) {\n triggeredByEvent = true;\n }\n const itemToRemove = item;\n if (itemToRemove.value === 'ALL') {\n triggeredByEvent = false;\n this.modifyAllOfType(itemToRemove.type, 'unselect');\n } else if (this.allOfTypeSelected(itemToRemove.type)) {\n this.handleRemoveItemIfAllSelected(itemToRemove);\n }\n this.removeItem(item, triggeredByEvent);\n }\n\n removeItem(item, triggeredByEvent?: any) {\n item.checked = false;\n this.deselectAll();\n this.removeValue(item);\n if (item.value !== 'ALL') {\n this.updateParentOrChildren(item, 'unselect');\n }\n if (triggeredByEvent) {\n this.modifyAffectedParentsOrChildren(false, item);\n }\n }\n\n removeValue(item) {\n const updatedValues = this.value[item.type].filter((x) => x !== item.value);\n this.value[item.type] = updatedValues;\n this.triggerValueUpdate();\n this.updateDisplayItems(item, 'remove');\n }\n\n onKeyDown(event) {\n if (event.key === Key.Backspace) {\n if (event.target && event.target.value.length === 0 && this.items.length) {\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n }\n if (this.selected) {\n this.remove(null, this.selected);\n } else {\n this.select(event, this.items[this.items.length - 1]);\n }\n }\n }\n }\n\n allOfTypeSelected(type) {\n return this.items.filter((x) => x.type === type && x.value === 'ALL').length > 0;\n }\n\n modifyAllOfType(type, action) {\n const selecting = action === 'select';\n const allOfType = this.getAllOfType(type);\n allOfType.forEach((item) => {\n item.checked = selecting;\n item.indeterminate = false;\n });\n if (selecting) {\n this.selectAll(allOfType, type);\n } else {\n this.items = [...this.items.filter((x) => x.type !== type)];\n this._items.next(this.items);\n this.value[type] = [];\n }\n if (this.selectAllOption) {\n this.updateAllParentsOrChildren(allOfType[0], action);\n }\n this.triggerValueUpdate();\n }\n\n triggerValueUpdate() {\n const updatedObject = {};\n this.types.forEach((x) => (updatedObject[x.value] = this.value[x.value]));\n this.value = updatedObject;\n }\n\n selectAll(allOfType, type) {\n if (!this.selectAllOption) {\n return;\n }\n allOfType[0].checked = true;\n const values = allOfType.map((i) => {\n return i.value;\n });\n // remove 'ALL' value\n values.splice(0, 1);\n this.value[type] = values;\n const updatedItems = this.items.filter((x) => x.type !== type);\n this.items = updatedItems;\n this.updateDisplayItems(allOfType[0], 'add');\n }\n\n handleRemoveItemIfAllSelected(item) {\n if (!this.selectAllOption) {\n return;\n }\n const type = item.type;\n const allOfType = this.getAllOfType(type);\n const allItem = allOfType[0];\n this.removeItem(allItem);\n allItem.indeterminate = true;\n const selectedItems = allOfType.filter((i) => i.checked === true);\n this.items = [...this.items, ...selectedItems];\n const values = selectedItems.map((i) => {\n return i.value;\n });\n this.value[type] = [...values];\n }\n\n handleOutsideClick(event) {\n // If the elements doesn't contain the target element, it is an outside click\n if (!this.element.nativeElement.contains(event.target)) {\n this.blur.emit(event);\n this.deselectAll();\n }\n }\n\n getAllOfType(type) {\n return this._options.filter((x) => x.type === type)[0].originalData;\n }\n\n updateParentOrChildren(item, action) {\n if (this.strictRelationship && item.isParentOf) {\n this.updateChildrenValue(item, action);\n } else if (item.isChildOf && this.selectAllOption) {\n this.updateParentValue(item, action);\n }\n }\n\n modifyAffectedParentsOrChildren(selecting, itemChanged) {\n if (!itemChanged.isChildOf && !itemChanged.isParentOf) {\n return;\n }\n const parent = this.types.filter((x) => !!x.isParentOf)[0];\n const parentType = parent.value;\n const allParentType = this.getAllOfType(parentType);\n const childType = allParentType[0].isParentOf;\n const allChildren = this.getAllOfType(childType);\n const allCheckedChildren = allChildren.filter((x) => !!x.checked);\n\n allParentType.forEach((obj) => {\n if (obj.value === 'ALL') {\n return;\n }\n const selectedChildrenOfParent = allCheckedChildren.filter((x) => {\n return x[parentType].filter((y) => y === obj.value).length > 0;\n });\n\n if (selecting) {\n if (obj.checked) {\n return;\n }\n obj.indeterminate = selectedChildrenOfParent.length > 0;\n } else {\n const allChildrenOfParent = allChildren.filter((x) => {\n return x.value !== 'ALL' && x[parentType].filter((y) => y === obj.value).length > 0;\n });\n if (selectedChildrenOfParent.length > 0) {\n if (obj.checked) {\n if (this.strictRelationship && allChildrenOfParent.length !== selectedChildrenOfParent.length) {\n obj.indeterminate = true;\n obj.checked = false;\n this.removeValue(obj);\n this.addIndividualChildren(selectedChildrenOfParent);\n }\n } else {\n obj.indeterminate = true;\n }\n if (this.strictRelationship && itemChanged.type !== parentType) {\n if (obj.checked) {\n obj.checked = false;\n this.removeValue(obj);\n this.addIndividualChildren(selectedChildrenOfParent);\n }\n }\n } else {\n obj.indeterminate = false;\n if (allChildrenOfParent.length === 0) {\n // if it has no children and is checked, it should stay checked\n return;\n } else if (this.strictRelationship && itemChanged.type !== parentType) {\n this.remove(null, obj);\n }\n }\n }\n });\n if (this.selectAllOption) {\n this.updateIndeterminateStates(allParentType, allChildren, allCheckedChildren);\n }\n }\n\n updateAllParentsOrChildren(allItem, action) {\n if (allItem.isParentOf) {\n this.updateAllChildrenValue(allItem, action);\n } else if (allItem.isChildOf) {\n this.updateAllParentValue(allItem, action);\n }\n }\n\n updateAllChildrenValue(item, action) {\n const selecting = action === 'select';\n const childType = item.isParentOf;\n const potentialChildren = this.getAllOfType(childType);\n if (this.selectAllOption && this.allOfTypeSelected(childType) && !selecting) {\n this.remove(null, potentialChildren[0]);\n return;\n }\n potentialChildren.forEach((x) => {\n if (x.value === 'ALL' && !x.checked) {\n if (selecting) {\n x.checked = true;\n }\n x.indeterminate = selecting;\n } else {\n if (x.checked && !selecting) {\n this.remove(null, x);\n }\n x.checked = selecting;\n }\n });\n }\n\n updateAllParentValue(item, action) {\n const selecting = action === 'select';\n const parentType = item.isChildOf;\n const potentialParents = this.getAllOfType(parentType);\n potentialParents.forEach((x) => {\n if (!x.checked) {\n x.indeterminate = selecting;\n }\n });\n }\n\n updateIndeterminateStates(allParentType, allChildren, allCheckedChildren) {\n const allCheckedOrIndeterminateParents = allParentType.filter((x) => (!!x.checked || !!x.indeterminate) && x.value !== 'ALL');\n const isParentIndeterminate = !!allParentType[0].checked ? false : allCheckedOrIndeterminateParents.length > 0;\n const isChildIndeterminate = !!allChildren[0].checked ? false : allCheckedChildren.length > 0;\n this.setIndeterminateState(allParentType, isParentIndeterminate);\n this.setIndeterminateState(allChildren, isChildIndeterminate);\n }\n\n updateChildrenValue(parent, action) {\n const selecting = action === 'select';\n const childType = parent.isParentOf;\n const potentialChildren = this.getAllOfType(childType);\n potentialChildren.forEach((x) => {\n if (x.value === 'ALL') {\n return;\n }\n if (x[parent.type].filter((y) => y === parent.value).length > 0) {\n if (x.checked && !selecting) {\n x.checked = false;\n if (this.allOfTypeSelected(childType)) {\n this.handleRemoveItemIfAllSelected(x);\n } else {\n this.removeValue(x);\n }\n }\n x.checked = selecting;\n }\n });\n }\n\n updateParentValue(child, action) {\n const allParentType = this.getAllOfType(child.isChildOf);\n if (allParentType[0].checked && action !== 'select') {\n this.handleRemoveItemIfAllSelected(allParentType[0]);\n }\n }\n\n addIndividualChildren(children) {\n let parentAlreadySelected = false;\n children.forEach((x) => {\n if (x.isChildOf) {\n // only add children if their parents are not already selected\n x[x.isChildOf].forEach((parent) => {\n if (this.value[x.isChildOf].filter((p) => p === parent).length > 0) {\n parentAlreadySelected = true;\n }\n });\n }\n if (this.value[x.type].filter((item) => item === x.value).length === 0 && !parentAlreadySelected) {\n this.add(x);\n }\n });\n }\n\n setInitialValue(model): void {\n this.items = [];\n this.value = model || {};\n if (!this.types) {\n return;\n }\n this.types.forEach((typeObj) => {\n const type = typeObj.value;\n if (this.value[type]) {\n let indeterminateIsSet = false;\n const options = this.updateAllItemState(type);\n const optionsByType = options.allOfType;\n const allSelected = options.allOfTypeSelected;\n this.value[type].forEach((item) => {\n if (!allSelected && !indeterminateIsSet) {\n indeterminateIsSet = true;\n this.setIndeterminateState(optionsByType, true);\n }\n const value = optionsByType.filter((x) => x.value === item)[0];\n value.checked = true;\n if (!allSelected) {\n this.updateDisplayItems(value, 'add');\n }\n if (this.strictRelationship && value.isParentOf) {\n this.updateChildrenValue(value, 'select');\n }\n });\n if (typeObj.isChildOf) {\n this.modifyAffectedParentsOrChildren(true, { value: type, isChildOf: true });\n }\n } else {\n this.value[type] = [];\n }\n });\n }\n\n allItemsSelected(optionsByType, type) {\n return this.value[type].length === optionsByType.length - 1;\n }\n\n // Set touched on blur\n onTouched(e) {\n this.element.nativeElement.classList.remove('selected');\n this.onModelTouched();\n this.blur.emit(e);\n }\n\n writeValue(model: any): void {\n this.model = model;\n this.setInitialValue(model);\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// APP\nimport { NovoChipsModule } from 'novo-elements/elements/chips';\nimport { NovoPickerModule } from 'novo-elements/elements/picker';\nimport { NovoMultiPickerElement } from './MultiPicker';\n\n@NgModule({\n imports: [CommonModule, FormsModule, NovoPickerModule, NovoChipsModule],\n declarations: [NovoMultiPickerElement],\n exports: [NovoMultiPickerElement],\n})\nexport class NovoMultiPickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2158,7 +2158,7 @@ class NovoPickerElement {
2158
2158
  this._disablePickerInput = disabled;
2159
2159
  }
2160
2160
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: NovoPickerElement, deps: [{ token: i0.ElementRef }, { token: i1.ComponentUtils }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
2161
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: NovoPickerElement, selector: "novo-picker", inputs: { config: "config", placeholder: "placeholder", clearValueOnSelect: "clearValueOnSelect", closeOnSelect: "closeOnSelect", selected: "selected", appendToBody: "appendToBody", parentScrollSelector: "parentScrollSelector", parentScrollAction: "parentScrollAction", containerClass: "containerClass", side: "side", autoSelectFirstOption: "autoSelectFirstOption", overrideElement: "overrideElement", maxlength: "maxlength", allowCustomValues: "allowCustomValues", disablePickerInput: "disablePickerInput" }, outputs: { changed: "changed", select: "select", focus: "focus", blur: "blur", typing: "typing" }, providers: [PICKER_VALUE_ACCESSOR], viewQueries: [{ propertyName: "results", first: true, predicate: ["results"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "container", first: true, predicate: NovoOverlayTemplateComponent, descendants: true, static: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: `
2161
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: NovoPickerElement, selector: "novo-picker", inputs: { config: "config", placeholder: "placeholder", clearValueOnSelect: "clearValueOnSelect", closeOnSelect: "closeOnSelect", selected: "selected", appendToBody: "appendToBody", parentScrollSelector: "parentScrollSelector", parentScrollAction: "parentScrollAction", containerClass: "containerClass", side: "side", autoSelectFirstOption: "autoSelectFirstOption", overrideElement: "overrideElement", maxlength: "maxlength", allowCustomValues: "allowCustomValues", width: "width", minWidth: "minWidth", disablePickerInput: "disablePickerInput" }, outputs: { changed: "changed", select: "select", focus: "focus", blur: "blur", typing: "typing" }, providers: [PICKER_VALUE_ACCESSOR], viewQueries: [{ propertyName: "results", first: true, predicate: ["results"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "container", first: true, predicate: NovoOverlayTemplateComponent, descendants: true, static: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: `
2162
2162
  <i class="bhi-more" *ngIf="config?.entityIcon && !_value"></i>
2163
2163
  <i class="bhi-{{ config?.entityIcon }} entity-icon {{ config?.entityIcon }}" *ngIf="config?.entityIcon && _value"></i>
2164
2164
  <input
@@ -2185,11 +2185,11 @@ class NovoPickerElement {
2185
2185
  *ngIf="_value && !clearValueOnSelect && !disablePickerInput"
2186
2186
  (click)="clearValue(true)"
2187
2187
  ></i>
2188
- <novo-overlay-template class="picker-results-container" [parent]="element" position="above-below" (closing)="onOverlayClosed()">
2188
+ <novo-overlay-template class="picker-results-container" [parent]="element" [width]="width" [minWidth]="minWidth" position="above-below" (closing)="onOverlayClosed()">
2189
2189
  <span #results></span>
2190
2190
  <ng-content></ng-content>
2191
2191
  </novo-overlay-template>
2192
- `, isInline: true, styles: ["novo-picker{width:100%;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-start;transition:all .2s ease-in-out;position:relative;padding-bottom:0}novo-picker.selected+i,novo-picker.selected:hover+i{color:#4a89dc}novo-picker.ng-touched.ng-invalid:not(.ng-pristine)>input,novo-picker.ng-touched.ng-invalid:not(.ng-pristine)>input:hover,novo-picker.ng-touched.ng-invalid:not(.ng-pristine)>input:focus{border-bottom-color:transparent!important}novo-picker input{font-size:1em;background:transparent!important;border:none;border-bottom:1px solid #afb9c0;border-radius:0;outline:none;height:2rem;width:100%;margin:0;padding:0;box-shadow:none;box-sizing:content-box;transition:all .3s;color:#26282b}novo-picker input:hover{border-bottom:1px solid #5f6d78}novo-picker input:focus{border-bottom:1px solid #4a89dc}novo-picker input:invalid{border-bottom:1px solid #da4453}novo-picker input.entity-picker{padding-left:2em}novo-picker input.entity-selected{padding-left:2.5em;background:#f7f7f7!important}novo-picker input:disabled{border-bottom:1px dashed #afb9c0!important}novo-picker i.bhi-more{position:absolute;left:0;top:2px;background:#f7f7f7;font-size:1em;border-radius:3px;padding:3px}novo-picker i.entity-icon{position:absolute;left:5px;top:3px;font-size:1em;border-radius:3px;padding:3px;color:#fff}novo-picker i.entity-icon.black{background:#000}novo-picker i.entity-icon.white{background:#fff}novo-picker i.entity-icon.gray{background:#9e9e9e}novo-picker i.entity-icon.grey{background:#9e9e9e}novo-picker i.entity-icon.offWhite{background:#f7f7f7}novo-picker i.entity-icon.bright{background:#f7f7f7}novo-picker i.entity-icon.light{background:#dbdbdb}novo-picker i.entity-icon.neutral{background:#4f5361}novo-picker i.entity-icon.dark{background:#3d464d}novo-picker i.entity-icon.orange{background:#ff6900}novo-picker i.entity-icon.navigation{background:#202945}novo-picker i.entity-icon.skyBlue{background:#009bdf}novo-picker i.entity-icon.steel{background:#5b6770}novo-picker i.entity-icon.metal{background:#637893}novo-picker i.entity-icon.sand{background:#f4f4f4}novo-picker i.entity-icon.silver{background:#e2e2e2}novo-picker i.entity-icon.stone{background:#bebebe}novo-picker i.entity-icon.ash{background:#a0a0a0}novo-picker i.entity-icon.slate{background:#707070}novo-picker i.entity-icon.onyx{background:#526980}novo-picker i.entity-icon.charcoal{background:#282828}novo-picker i.entity-icon.moonlight{background:#1a242f}novo-picker i.entity-icon.midnight{background:#202945}novo-picker i.entity-icon.darkness{background:#161f27}novo-picker i.entity-icon.navy{background:#0d2d42}novo-picker i.entity-icon.aqua{background:#3bafda}novo-picker i.entity-icon.ocean{background:#4a89dc}novo-picker i.entity-icon.mint{background:#37bc9b}novo-picker i.entity-icon.grass{background:#8cc152}novo-picker i.entity-icon.sunflower{background:#f6b042}novo-picker i.entity-icon.bittersweet{background:#eb6845}novo-picker i.entity-icon.grapefruit{background:#da4453}novo-picker i.entity-icon.carnation{background:#d770ad}novo-picker i.entity-icon.lavender{background:#967adc}novo-picker i.entity-icon.mountain{background:#9678b6}novo-picker i.entity-icon.info{background:#4a89dc}novo-picker i.entity-icon.positive{background:#4a89dc}novo-picker i.entity-icon.success{background:#8cc152}novo-picker i.entity-icon.negative{background:#da4453}novo-picker i.entity-icon.danger{background:#da4453}novo-picker i.entity-icon.error{background:#da4453}novo-picker i.entity-icon.warning{background:#f6b042}novo-picker i.entity-icon.empty{background:#cccdcc}novo-picker i.entity-icon.disabled{background:#bebebe}novo-picker i.entity-icon.background{background:#f7f7f7}novo-picker i.entity-icon.backgroundDark{background:#e2e2e2}novo-picker i.entity-icon.presentation{background:#5b6770}novo-picker i.entity-icon.bullhorn{background:#ff6900}novo-picker i.entity-icon.pulse{background:#3bafda}novo-picker i.entity-icon.company{background:#39d}novo-picker i.entity-icon.candidate{background:#4b7}novo-picker i.entity-icon.lead{background:#a69}novo-picker i.entity-icon.contact{background:#fa4}novo-picker i.entity-icon.clientcontact{background:#fa4}novo-picker i.entity-icon.opportunity{background:#625}novo-picker i.entity-icon.job{background:#b56}novo-picker i.entity-icon.joborder{background:#b56}novo-picker i.entity-icon.submission{background:#a9adbb}novo-picker i.entity-icon.sendout{background:#747884}novo-picker i.entity-icon.placement{background:#0b344f}novo-picker i.entity-icon.note{background:#747884}novo-picker i.entity-icon.contract{background:#454ea0}novo-picker i.entity-icon.jobCode{background:#696d79}novo-picker i.entity-icon.earnCode{background:#696d79}novo-picker i.entity-icon.invoiceStatement{background:#696d79}novo-picker i.entity-icon.billableCharge{background:#696d79}novo-picker i.entity-icon.payableCharge{background:#696d79}novo-picker i.entity-icon.user{background:#696d79}novo-picker i.entity-icon.corporateUser{background:#696d79}novo-picker i.entity-icon.distributionList{background:#696d79}novo-picker i.entity-icon.credential{background:#696d79}novo-picker i.entity-icon.person{background:#696d79}novo-picker i.bhi-search,novo-picker i.bhi-times{position:absolute;right:0;color:#3d464d}novo-picker i.bhi-search.entity-selected,novo-picker i.bhi-times.entity-selected{right:5px}novo-picker i.bhi-search{top:0;font-size:1.2rem}novo-picker i.bhi-times{top:0;cursor:pointer;font-size:1.2rem}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.NovoOverlayTemplateComponent, selector: "novo-overlay-template", inputs: ["position", "scrollStrategy", "width", "height", "closeOnSelect", "hasBackdrop", "parent"], outputs: ["select", "opening", "closing"] }], encapsulation: i0.ViewEncapsulation.None }); }
2192
+ `, isInline: true, styles: ["novo-picker{width:100%;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-start;transition:all .2s ease-in-out;position:relative;padding-bottom:0}novo-picker.selected+i,novo-picker.selected:hover+i{color:#4a89dc}novo-picker.ng-touched.ng-invalid:not(.ng-pristine)>input,novo-picker.ng-touched.ng-invalid:not(.ng-pristine)>input:hover,novo-picker.ng-touched.ng-invalid:not(.ng-pristine)>input:focus{border-bottom-color:transparent!important}novo-picker input{font-size:1em;background:transparent!important;border:none;border-bottom:1px solid #afb9c0;border-radius:0;outline:none;height:2rem;width:100%;margin:0;padding:0;box-shadow:none;box-sizing:content-box;transition:all .3s;color:#26282b}novo-picker input:hover{border-bottom:1px solid #5f6d78}novo-picker input:focus{border-bottom:1px solid #4a89dc}novo-picker input:invalid{border-bottom:1px solid #da4453}novo-picker input.entity-picker{padding-left:2em}novo-picker input.entity-selected{padding-left:2.5em;background:#f7f7f7!important}novo-picker input:disabled{border-bottom:1px dashed #afb9c0!important}novo-picker i.bhi-more{position:absolute;left:0;top:2px;background:#f7f7f7;font-size:1em;border-radius:3px;padding:3px}novo-picker i.entity-icon{position:absolute;left:5px;top:3px;font-size:1em;border-radius:3px;padding:3px;color:#fff}novo-picker i.entity-icon.black{background:#000}novo-picker i.entity-icon.white{background:#fff}novo-picker i.entity-icon.gray{background:#9e9e9e}novo-picker i.entity-icon.grey{background:#9e9e9e}novo-picker i.entity-icon.offWhite{background:#f7f7f7}novo-picker i.entity-icon.bright{background:#f7f7f7}novo-picker i.entity-icon.light{background:#dbdbdb}novo-picker i.entity-icon.neutral{background:#4f5361}novo-picker i.entity-icon.dark{background:#3d464d}novo-picker i.entity-icon.orange{background:#ff6900}novo-picker i.entity-icon.navigation{background:#202945}novo-picker i.entity-icon.skyBlue{background:#009bdf}novo-picker i.entity-icon.steel{background:#5b6770}novo-picker i.entity-icon.metal{background:#637893}novo-picker i.entity-icon.sand{background:#f4f4f4}novo-picker i.entity-icon.silver{background:#e2e2e2}novo-picker i.entity-icon.stone{background:#bebebe}novo-picker i.entity-icon.ash{background:#a0a0a0}novo-picker i.entity-icon.slate{background:#707070}novo-picker i.entity-icon.onyx{background:#526980}novo-picker i.entity-icon.charcoal{background:#282828}novo-picker i.entity-icon.moonlight{background:#1a242f}novo-picker i.entity-icon.midnight{background:#202945}novo-picker i.entity-icon.darkness{background:#161f27}novo-picker i.entity-icon.navy{background:#0d2d42}novo-picker i.entity-icon.aqua{background:#3bafda}novo-picker i.entity-icon.ocean{background:#4a89dc}novo-picker i.entity-icon.mint{background:#37bc9b}novo-picker i.entity-icon.grass{background:#8cc152}novo-picker i.entity-icon.sunflower{background:#f6b042}novo-picker i.entity-icon.bittersweet{background:#eb6845}novo-picker i.entity-icon.grapefruit{background:#da4453}novo-picker i.entity-icon.carnation{background:#d770ad}novo-picker i.entity-icon.lavender{background:#967adc}novo-picker i.entity-icon.mountain{background:#9678b6}novo-picker i.entity-icon.info{background:#4a89dc}novo-picker i.entity-icon.positive{background:#4a89dc}novo-picker i.entity-icon.success{background:#8cc152}novo-picker i.entity-icon.negative{background:#da4453}novo-picker i.entity-icon.danger{background:#da4453}novo-picker i.entity-icon.error{background:#da4453}novo-picker i.entity-icon.warning{background:#f6b042}novo-picker i.entity-icon.empty{background:#cccdcc}novo-picker i.entity-icon.disabled{background:#bebebe}novo-picker i.entity-icon.background{background:#f7f7f7}novo-picker i.entity-icon.backgroundDark{background:#e2e2e2}novo-picker i.entity-icon.presentation{background:#5b6770}novo-picker i.entity-icon.bullhorn{background:#ff6900}novo-picker i.entity-icon.pulse{background:#3bafda}novo-picker i.entity-icon.company{background:#39d}novo-picker i.entity-icon.candidate{background:#4b7}novo-picker i.entity-icon.lead{background:#a69}novo-picker i.entity-icon.contact{background:#fa4}novo-picker i.entity-icon.clientcontact{background:#fa4}novo-picker i.entity-icon.opportunity{background:#625}novo-picker i.entity-icon.job{background:#b56}novo-picker i.entity-icon.joborder{background:#b56}novo-picker i.entity-icon.submission{background:#a9adbb}novo-picker i.entity-icon.sendout{background:#747884}novo-picker i.entity-icon.placement{background:#0b344f}novo-picker i.entity-icon.note{background:#747884}novo-picker i.entity-icon.contract{background:#454ea0}novo-picker i.entity-icon.jobCode{background:#696d79}novo-picker i.entity-icon.earnCode{background:#696d79}novo-picker i.entity-icon.invoiceStatement{background:#696d79}novo-picker i.entity-icon.billableCharge{background:#696d79}novo-picker i.entity-icon.payableCharge{background:#696d79}novo-picker i.entity-icon.user{background:#696d79}novo-picker i.entity-icon.corporateUser{background:#696d79}novo-picker i.entity-icon.distributionList{background:#696d79}novo-picker i.entity-icon.credential{background:#696d79}novo-picker i.entity-icon.person{background:#696d79}novo-picker i.bhi-search,novo-picker i.bhi-times{position:absolute;right:0;color:#3d464d}novo-picker i.bhi-search.entity-selected,novo-picker i.bhi-times.entity-selected{right:5px}novo-picker i.bhi-search{top:0;font-size:1.2rem}novo-picker i.bhi-times{top:0;cursor:pointer;font-size:1.2rem}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.NovoOverlayTemplateComponent, selector: "novo-overlay-template", inputs: ["position", "scrollStrategy", "width", "minWidth", "height", "closeOnSelect", "hasBackdrop", "parent"], outputs: ["select", "opening", "closing"] }], encapsulation: i0.ViewEncapsulation.None }); }
2193
2193
  }
2194
2194
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: NovoPickerElement, decorators: [{
2195
2195
  type: Component,
@@ -2220,7 +2220,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
2220
2220
  *ngIf="_value && !clearValueOnSelect && !disablePickerInput"
2221
2221
  (click)="clearValue(true)"
2222
2222
  ></i>
2223
- <novo-overlay-template class="picker-results-container" [parent]="element" position="above-below" (closing)="onOverlayClosed()">
2223
+ <novo-overlay-template class="picker-results-container" [parent]="element" [width]="width" [minWidth]="minWidth" position="above-below" (closing)="onOverlayClosed()">
2224
2224
  <span #results></span>
2225
2225
  <ng-content></ng-content>
2226
2226
  </novo-overlay-template>
@@ -2256,6 +2256,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
2256
2256
  type: Input
2257
2257
  }], allowCustomValues: [{
2258
2258
  type: Input
2259
+ }], width: [{
2260
+ type: Input
2261
+ }], minWidth: [{
2262
+ type: Input
2259
2263
  }], disablePickerInput: [{
2260
2264
  type: Input
2261
2265
  }], changed: [{