slick-components 5.0.7 → 5.0.9

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.
@@ -54,7 +54,7 @@ class SlickInitService {
54
54
  SlickInitService.getParams().errorLog = errorLog;
55
55
  }
56
56
  }
57
- SlickInitService.version = "5.0.7";
57
+ SlickInitService.version = "5.0.9";
58
58
  /** @nocollapse */ SlickInitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickInitService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
59
59
  /** @nocollapse */ SlickInitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickInitService });
60
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickInitService, decorators: [{
@@ -6914,10 +6914,8 @@ var SlickMultiSelectSearchTypes;
6914
6914
  SlickMultiSelectSearchTypes[SlickMultiSelectSearchTypes["any"] = 2] = "any";
6915
6915
  })(SlickMultiSelectSearchTypes || (SlickMultiSelectSearchTypes = {}));
6916
6916
  class SlickMultiSelectComponent {
6917
- constructor(ngZone, slickMultiSelectService, el) {
6918
- this.ngZone = ngZone;
6917
+ constructor(slickMultiSelectService) {
6919
6918
  this.slickMultiSelectService = slickMultiSelectService;
6920
- this.el = el;
6921
6919
  this.placeholder = '';
6922
6920
  this.idFieldName = "id";
6923
6921
  this.textFieldName = "text";
@@ -6935,11 +6933,9 @@ class SlickMultiSelectComponent {
6935
6933
  // This is necessary so that the scroll and resize events can add and remove the event properly,
6936
6934
  // as well as getting the correct ES6 function
6937
6935
  this.fnDocumentClick = (e) => this.documentClick(e);
6938
- this.keyboardActive = false;
6939
6936
  this.expanded = false;
6940
6937
  this.filterText = '';
6941
6938
  this.isAndroid = ((SlickInitService.getPlatform() || '').toLowerCase() === 'android');
6942
- this.skipClickExpand = false;
6943
6939
  this.propagateChange = (_) => { };
6944
6940
  this.uuid = SlickUtilsService.newGuid();
6945
6941
  }
@@ -6968,9 +6964,6 @@ class SlickMultiSelectComponent {
6968
6964
  // not used, used for touch input
6969
6965
  registerOnTouched() { }
6970
6966
  ngOnChanges(changes) {
6971
- if (changes.isMobile) {
6972
- this.isMobile = (this.isMobile.toString().toLowerCase() === 'true') ? true : false;
6973
- }
6974
6967
  if (changes.singleSelect) {
6975
6968
  this.singleSelect = (this.singleSelect.toString().toLowerCase() === 'true') ? true : false;
6976
6969
  }
@@ -6985,7 +6978,7 @@ class SlickMultiSelectComponent {
6985
6978
  if (changes.items) {
6986
6979
  this.visibleItems = this.slickMultiSelectService.getVisibleItems(this.items, this.selectedIds, this.idFieldName, this.textFieldName);
6987
6980
  this.selectedItems = this.slickMultiSelectService.getSelectedItems(this.items, this.selectedIds, this.idFieldName, this.textFieldName);
6988
- if (this.selectedTextInputRef && document.activeElement == this.selectedTextInputRef.nativeElement)
6981
+ if (this.filterTextInputRef && document.activeElement == this.filterTextInputRef.nativeElement)
6989
6982
  this.expand();
6990
6983
  }
6991
6984
  }
@@ -6998,21 +6991,6 @@ class SlickMultiSelectComponent {
6998
6991
  }
6999
6992
  catch (_a) { }
7000
6993
  }
7001
- onKeyboardIconClicked() {
7002
- return __awaiter(this, void 0, void 0, function* () {
7003
- if (this.keyboardActive === true) {
7004
- this.collapse();
7005
- this.keyboardActive = false;
7006
- this.selectedText = '';
7007
- this.selectedTextInputRef.nativeElement.value = '';
7008
- }
7009
- else {
7010
- this.keyboardActive = true;
7011
- yield SlickSleepService.sleep();
7012
- this.selectedTextInputRef.nativeElement.focus();
7013
- }
7014
- });
7015
- }
7016
6994
  expand() {
7017
6995
  return __awaiter(this, void 0, void 0, function* () {
7018
6996
  if (this.disabled)
@@ -7024,6 +7002,8 @@ class SlickMultiSelectComponent {
7024
7002
  if (selectedItems && selectedItems.length > 0)
7025
7003
  selectedItems[0].scrollIntoView({ block: 'nearest' });
7026
7004
  this.expanded = true;
7005
+ yield SlickSleepService.sleep();
7006
+ this.filterTextInputRef.nativeElement.focus();
7027
7007
  // This is necessary, otherwise `this` in the reposition function will be window
7028
7008
  // and not the component.
7029
7009
  // Since angular has no way to use the third parameter, I'm doing this in raw js
@@ -7068,9 +7048,8 @@ class SlickMultiSelectComponent {
7068
7048
  return;
7069
7049
  const clickedInside = SlickUtilsService.checkParentClassExists(e.target, "slick-multi-select_list-item");
7070
7050
  if (!clickedInside) {
7071
- this.keyboardActive = false;
7072
7051
  this.selectedText = '';
7073
- this.selectedTextInputRef.nativeElement.value = '';
7052
+ this.filterTextInputRef.nativeElement.value = '';
7074
7053
  this.collapse();
7075
7054
  }
7076
7055
  }
@@ -7087,30 +7066,29 @@ class SlickMultiSelectComponent {
7087
7066
  this.selectedItems = this.slickMultiSelectService.getSelectedItems(this.items, this.selectedIds, this.idFieldName, this.textFieldName);
7088
7067
  this.reposition();
7089
7068
  this.selectedText = '';
7090
- this.selectedTextInputRef.nativeElement.value = '';
7069
+ this.filterTextInputRef.nativeElement.value = '';
7091
7070
  if (this.singleSelect === true)
7092
7071
  this.collapse();
7093
7072
  }
7094
7073
  }
7095
- setFocus(showMobileKeyboard = false) {
7096
- this.selectedTextInputRef.nativeElement.focus();
7097
- if (showMobileKeyboard === true)
7098
- this.keyboardActive = true;
7074
+ setFocus() {
7075
+ this.expand();
7099
7076
  }
7100
7077
  onFocus() {
7101
7078
  return __awaiter(this, void 0, void 0, function* () {
7102
7079
  this.visibleItems = this.slickMultiSelectService.getVisibleItems(this.items, this.selectedIds, this.idFieldName, this.textFieldName);
7103
7080
  this.selectedItems = this.slickMultiSelectService.getSelectedItems(this.items, this.selectedIds, this.idFieldName, this.textFieldName);
7104
7081
  this.filterText = '';
7105
- this.selectedTextInputRef.nativeElement.focus();
7106
- // This is kind of hacky, but if onFocus is called by clicking the multiSelect, the onMultiSelectClick event is called as well
7107
- // That function will expand or collapse, depending on the state. Since this expands, it thinks it needs to collapse.
7108
- // So fake it out and tell it NOT to collapse. BUT, if we came in from tabbing into the field, then it would mess up
7109
- // the click event. So only wait for 1/2 second.
7110
- this.skipClickExpand = true;
7111
7082
  this.expand();
7112
- yield SlickSleepService.sleep(500);
7113
- this.skipClickExpand = false;
7083
+ });
7084
+ }
7085
+ expandOnKeyUp(e) {
7086
+ return __awaiter(this, void 0, void 0, function* () {
7087
+ if (e.key.length == 1 || (e.key.length > 1 && /[^a-zA-Z0-9]/.test(e.key))) {
7088
+ this.expand();
7089
+ this.placeholderInputRef.nativeElement.value = '';
7090
+ this.onKeyDown(e);
7091
+ }
7114
7092
  });
7115
7093
  }
7116
7094
  onKeyDown(e) {
@@ -7126,12 +7104,12 @@ class SlickMultiSelectComponent {
7126
7104
  return false;
7127
7105
  }
7128
7106
  }
7129
- e.stopPropagation();
7130
- e.preventDefault();
7107
+ //e.stopPropagation();
7108
+ //e.preventDefault();
7131
7109
  // If this is android, it won't pass us any key data so just read the entire input element
7132
7110
  if (this.isAndroid === true) {
7133
7111
  yield SlickSleepService.sleep();
7134
- this.filterText = this.selectedTextInputRef.nativeElement.value;
7112
+ this.filterText = this.filterTextInputRef.nativeElement.value;
7135
7113
  this.filterSearch();
7136
7114
  return;
7137
7115
  }
@@ -7139,30 +7117,34 @@ class SlickMultiSelectComponent {
7139
7117
  if (e.key === 'Tab') {
7140
7118
  if (this.filterText && this.visibleItems.length > 0) {
7141
7119
  this.selectItem(this.visibleItems[0].id);
7142
- this.filterText = '';
7143
- this.selectedIndex = null;
7144
- this.collapse();
7145
- return false;
7146
7120
  }
7147
7121
  this.collapse();
7148
7122
  this.filterText = '';
7149
7123
  this.selectedText = '';
7150
- this.selectedTextInputRef.nativeElement.value = '';
7124
+ this.filterTextInputRef.nativeElement.value = '';
7151
7125
  this.selectedIndex = null;
7152
- return true;
7126
+ const currentNode = (this.placeholderInputRef.nativeElement);
7127
+ //find all tab-able elements
7128
+ const allElements = document.querySelectorAll('input, button, a, area, object, select, textarea, [contenteditable]');
7129
+ //Find the current tab index.
7130
+ const currentIndex = Array.from(allElements).findIndex(el => currentNode.isEqualNode(el));
7131
+ //focus the following element
7132
+ const targetIndex = (currentIndex + 1) % allElements.length;
7133
+ allElements[targetIndex].focus();
7134
+ e.preventDefault();
7135
+ return false;
7153
7136
  }
7154
7137
  if (e.key === 'Enter') {
7155
7138
  if (this.filterText && this.selectedIndex !== null && this.selectedIndex !== undefined) {
7156
7139
  this.selectItem(this.visibleItems[this.selectedIndex].id);
7157
7140
  this.filterText = '';
7158
7141
  this.selectedIndex = null;
7159
- this.collapse();
7160
7142
  return false;
7161
7143
  }
7162
7144
  this.collapse();
7163
7145
  this.filterText = '';
7164
7146
  this.selectedText = '';
7165
- this.selectedTextInputRef.nativeElement.value = '';
7147
+ this.filterTextInputRef.nativeElement.value = '';
7166
7148
  this.selectedIndex = null;
7167
7149
  return true;
7168
7150
  }
@@ -7170,7 +7152,7 @@ class SlickMultiSelectComponent {
7170
7152
  if (e.key === 'Escape') {
7171
7153
  this.filterText = '';
7172
7154
  this.selectedText = '';
7173
- this.selectedTextInputRef.nativeElement.value = '';
7155
+ this.filterTextInputRef.nativeElement.value = '';
7174
7156
  this.collapse();
7175
7157
  return false;
7176
7158
  }
@@ -7179,7 +7161,7 @@ class SlickMultiSelectComponent {
7179
7161
  this.filterText = this.filterText.substring(0, this.filterText.length - 1);
7180
7162
  if (this.filterText.length === 0) {
7181
7163
  this.selectedText = '';
7182
- this.selectedTextInputRef.nativeElement.value = '';
7164
+ this.filterTextInputRef.nativeElement.value = '';
7183
7165
  this.selectedIndex = null;
7184
7166
  this.visibleItems = this.slickMultiSelectService.getVisibleItems(this.items, this.selectedIds, this.idFieldName, this.textFieldName);
7185
7167
  this.selectedItems = this.slickMultiSelectService.getSelectedItems(this.items, this.selectedIds, this.idFieldName, this.textFieldName);
@@ -7228,15 +7210,15 @@ class SlickMultiSelectComponent {
7228
7210
  this.selectedText = this.visibleItems[0].text;
7229
7211
  if (this.isAndroid === false) {
7230
7212
  yield SlickSleepService.sleep();
7231
- this.selectedTextInputRef.nativeElement.value = this.selectedText;
7232
- this.selectedTextInputRef.nativeElement.setSelectionRange(this.filterText.length, this.selectedText.length);
7213
+ this.filterTextInputRef.nativeElement.value = this.selectedText;
7214
+ this.filterTextInputRef.nativeElement.setSelectionRange(this.filterText.length, this.selectedText.length);
7233
7215
  }
7234
7216
  }
7235
7217
  else {
7236
7218
  this.selectedIndex = null;
7237
7219
  if (this.isAndroid === false) {
7238
7220
  this.selectedText = this.filterText;
7239
- this.selectedTextInputRef.nativeElement.value = this.selectedText;
7221
+ this.filterTextInputRef.nativeElement.value = this.selectedText;
7240
7222
  }
7241
7223
  }
7242
7224
  }
@@ -7250,8 +7232,8 @@ class SlickMultiSelectComponent {
7250
7232
  this.selectedText = this.visibleItems[0].text;
7251
7233
  if (this.isAndroid === false) {
7252
7234
  yield SlickSleepService.sleep();
7253
- this.selectedTextInputRef.nativeElement.value = this.selectedText;
7254
- this.selectedTextInputRef.nativeElement.setSelectionRange(this.filterText.length, this.selectedText.length);
7235
+ this.filterTextInputRef.nativeElement.value = this.selectedText;
7236
+ this.filterTextInputRef.nativeElement.setSelectionRange(this.filterText.length, this.selectedText.length);
7255
7237
  }
7256
7238
  }
7257
7239
  else {
@@ -7263,11 +7245,6 @@ class SlickMultiSelectComponent {
7263
7245
  });
7264
7246
  }
7265
7247
  onMultiSelectClicked() {
7266
- if (this.skipClickExpand === true) {
7267
- this.skipClickExpand = false;
7268
- return;
7269
- }
7270
- this.selectedTextInputRef.nativeElement.focus();
7271
7248
  if (this.expanded === false)
7272
7249
  this.expand();
7273
7250
  else
@@ -7275,8 +7252,7 @@ class SlickMultiSelectComponent {
7275
7252
  }
7276
7253
  onItemClick(item) {
7277
7254
  this.selectItem(item.id);
7278
- if (this.keyboardActive === true)
7279
- this.selectedTextInputRef.nativeElement.focus();
7255
+ this.filterTextInputRef.nativeElement.focus();
7280
7256
  }
7281
7257
  onRemoveItem(item) {
7282
7258
  this.selectedIds = this.selectedIds.filter(id => id !== item.id);
@@ -7285,13 +7261,13 @@ class SlickMultiSelectComponent {
7285
7261
  this.propagateChange(this.selectedIds);
7286
7262
  }
7287
7263
  }
7288
- /** @nocollapse */ SlickMultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickMultiSelectComponent, deps: [{ token: i0.NgZone }, { token: SlickMultiSelectService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
7289
- /** @nocollapse */ SlickMultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: SlickMultiSelectComponent, selector: "slick-multi-select", inputs: { placeholder: "placeholder", items: "items", idFieldName: "idFieldName", textFieldName: "textFieldName", disabled: "disabled", allowEmpty: "allowEmpty", singleSelect: "singleSelect", width: "width", listWidth: "listWidth", height: "height", showLoadingMessage: "showLoadingMessage", showDebug: "showDebug", tabindex: "tabindex", isMobile: "isMobile", searchType: "searchType" }, outputs: { onExpand: "onExpand", onCollapse: "onCollapse", onSelect: "onSelect" }, providers: [SlickMultiSelectService,
7264
+ /** @nocollapse */ SlickMultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickMultiSelectComponent, deps: [{ token: SlickMultiSelectService }], target: i0.ɵɵFactoryTarget.Component });
7265
+ /** @nocollapse */ SlickMultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: SlickMultiSelectComponent, selector: "slick-multi-select", inputs: { placeholder: "placeholder", items: "items", idFieldName: "idFieldName", textFieldName: "textFieldName", disabled: "disabled", allowEmpty: "allowEmpty", singleSelect: "singleSelect", width: "width", listWidth: "listWidth", height: "height", showLoadingMessage: "showLoadingMessage", showDebug: "showDebug", tabindex: "tabindex", searchType: "searchType" }, outputs: { onExpand: "onExpand", onCollapse: "onCollapse", onSelect: "onSelect" }, providers: [SlickMultiSelectService,
7290
7266
  {
7291
7267
  provide: NG_VALUE_ACCESSOR,
7292
7268
  useExisting: forwardRef((() => SlickMultiSelectComponent)),
7293
7269
  multi: true,
7294
- }], viewQueries: [{ propertyName: "containerDiv", first: true, predicate: ["containerDiv"], descendants: true }, { propertyName: "multiSelectList", first: true, predicate: ["multiSelectList"], descendants: true }, { propertyName: "selectedTextInputRef", first: true, predicate: ["selectedTextInputRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #containerDiv id=\"slick-multi-select_{{uuid}}\" attr.data-uuid=\"{{uuid}}\" class=\"slick-multi-select\" [class.mobile]=\"isMobile === true\" [class.open]=\"expanded\">\r\n\t<div class=\"slick-multi-select_input-container\">\r\n\t\t<div *ngIf=\"disabled === false\" style=\"cursor: pointer !important; flex-grow: 1;\" [ngClass]=\"{ 'slick-multi-select_mobile': isMobile === true }\" (click)=\"onMultiSelectClicked()\">\r\n\t\t\t<div *ngFor=\"let selectedItem of selectedItems\" class=\"slick-multi-select_selected-item card\"><div class=\"slick-multi-select_remove\" (click)=\"onRemoveItem(selectedItem)\"><i class=\"fas fa-times-circle bg-white text-danger\"></i></div>{{selectedItem.text}}</div>\r\n\t\t\t<input #selectedTextInputRef *ngIf=\"!isMobile\" [attr.tabindex]=\"tabindex\" [ngClass]=\"{'slick-multi-select_show-selected-text': (keyboardActive || (selectedText && selectedText.length > 0)) }\" (keydown)=\"onKeyDown($event)\" (focus)=\"onFocus()\" ng-disabled='disabled' readonly [placeholder]='placeholder' />\r\n\t\t\t<input #selectedTextInputRef *ngIf=\"isMobile === true\" [ngClass]=\"{'slick-multi-select_show-selected-text': (keyboardActive || (selectedText && selectedText.length > 0)) }\" (keydown)=\"onKeyDown($event)\" (focus)=\"onFocus()\" />\r\n\t\t</div>\r\n\t\t<div *ngIf=\"disabled === false && isMobile === true\" class=\"slick-multi-select_mobile-container\">\r\n\t\t\t<i class=\"far fa-keyboard\" style=\"cursor: pointer\" (click)=\"onKeyboardIconClicked()\"></i>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div *ngIf=\"disabled === true\" class='input-group'>\r\n\t\t<div *ngFor=\"let selectedItem of selectedItems\" class=\"slick-multi-select_selected-item card\">{{selectedItem.text}}</div>\r\n\t</div>\r\n\r\n\t<ul #multiSelectList id=\"slick-multi-select-list_{{uuid}}\" class='slick-multi-select-list-group dropdown-menu' [style.width]=\"listGroupWidth\" [style.visibility]=\"(expanded === true) ? 'visible' : 'hidden'\" [style.opacity]=\"(expanded === true) ? '1' : '0'\" [style.max-height]=\"height\" [style.width.px]=\"listGroupWidth\" [style.left.px]=\"left\" [style.top.px]=\"top\">\r\n\t\t<li *ngFor=\"let item of visibleItems; let index = index;\" (mouseover)=\"selectedIndex = index\" (click)=\"onItemClick(item)\" class=\"dropdown-item slick-multi-select_list-item\">{{item.text}}</li>\r\n\t</ul>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
7270
+ }], viewQueries: [{ propertyName: "containerDiv", first: true, predicate: ["containerDiv"], descendants: true }, { propertyName: "multiSelectList", first: true, predicate: ["multiSelectList"], descendants: true }, { propertyName: "placeholderInputRef", first: true, predicate: ["placeholderInputRef"], descendants: true }, { propertyName: "filterTextInputRef", first: true, predicate: ["filterTextInputRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #containerDiv id=\"slick-multi-select_{{uuid}}\" attr.data-uuid=\"{{uuid}}\" class=\"slick-multi-select form-control\" [class.open]=\"expanded\">\r\n\t<div class=\"slick-multi-select_input-container\">\r\n\t\t<div *ngIf=\"disabled === false\" style=\"cursor: pointer !important; flex-grow: 1;\" (click)=\"onMultiSelectClicked()\">\r\n\t\t\t<div *ngFor=\"let selectedItem of selectedItems\" class=\"slick-multi-select_selected-item badge bg-primary\"><div class=\"slick-multi-select_remove\" (click)=\"onRemoveItem(selectedItem)\"><i class=\"fas fa-times-circle bg-white text-danger\"></i></div>{{selectedItem.text}}</div>\r\n\t\t\t<input #placeholderInputRef [attr.tabindex]=\"tabindex\" [placeholder]='placeholder' (keyup)=\"expandOnKeyUp($event)\" />\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div *ngIf=\"disabled === true\" class='input-group'>\r\n\t\t<div *ngFor=\"let selectedItem of selectedItems\" class=\"slick-multi-select_selected-item badge bg-primary\">{{selectedItem.text}}</div>\r\n\t</div>\r\n\r\n\t<ul #multiSelectList id=\"slick-multi-select-list_{{uuid}}\" class='slick-multi-select-list-group dropdown-menu' [style.width]=\"listGroupWidth\" [style.visibility]=\"(expanded === true) ? 'visible' : 'hidden'\" [style.opacity]=\"(expanded === true) ? '1' : '0'\" [style.max-height]=\"height\" [style.width.px]=\"listGroupWidth\" [style.left.px]=\"left\" [style.top.px]=\"top\">\r\n\t\t<li class=\"px-3\">\r\n\t\t\t<input #filterTextInputRef type=\"text\" tabindex=\"-1\" class=\"slick-multi-select_list-item form-control bg-transparent text-body border-bottom\" (keydown)=\"onKeyDown($event)\" />\r\n\t\t</li>\r\n\t\t<li *ngFor=\"let item of visibleItems; let index = index;\" (mouseover)=\"selectedIndex = index\" (click)=\"onItemClick(item)\" class=\"dropdown-item slick-multi-select_list-item px-3\">{{item?.text}}</li>\r\n\t</ul>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
7295
7271
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickMultiSelectComponent, decorators: [{
7296
7272
  type: Component,
7297
7273
  args: [{ selector: 'slick-multi-select', providers: [SlickMultiSelectService,
@@ -7299,8 +7275,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
7299
7275
  provide: NG_VALUE_ACCESSOR,
7300
7276
  useExisting: forwardRef((() => SlickMultiSelectComponent)),
7301
7277
  multi: true,
7302
- }], template: "<div #containerDiv id=\"slick-multi-select_{{uuid}}\" attr.data-uuid=\"{{uuid}}\" class=\"slick-multi-select\" [class.mobile]=\"isMobile === true\" [class.open]=\"expanded\">\r\n\t<div class=\"slick-multi-select_input-container\">\r\n\t\t<div *ngIf=\"disabled === false\" style=\"cursor: pointer !important; flex-grow: 1;\" [ngClass]=\"{ 'slick-multi-select_mobile': isMobile === true }\" (click)=\"onMultiSelectClicked()\">\r\n\t\t\t<div *ngFor=\"let selectedItem of selectedItems\" class=\"slick-multi-select_selected-item card\"><div class=\"slick-multi-select_remove\" (click)=\"onRemoveItem(selectedItem)\"><i class=\"fas fa-times-circle bg-white text-danger\"></i></div>{{selectedItem.text}}</div>\r\n\t\t\t<input #selectedTextInputRef *ngIf=\"!isMobile\" [attr.tabindex]=\"tabindex\" [ngClass]=\"{'slick-multi-select_show-selected-text': (keyboardActive || (selectedText && selectedText.length > 0)) }\" (keydown)=\"onKeyDown($event)\" (focus)=\"onFocus()\" ng-disabled='disabled' readonly [placeholder]='placeholder' />\r\n\t\t\t<input #selectedTextInputRef *ngIf=\"isMobile === true\" [ngClass]=\"{'slick-multi-select_show-selected-text': (keyboardActive || (selectedText && selectedText.length > 0)) }\" (keydown)=\"onKeyDown($event)\" (focus)=\"onFocus()\" />\r\n\t\t</div>\r\n\t\t<div *ngIf=\"disabled === false && isMobile === true\" class=\"slick-multi-select_mobile-container\">\r\n\t\t\t<i class=\"far fa-keyboard\" style=\"cursor: pointer\" (click)=\"onKeyboardIconClicked()\"></i>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div *ngIf=\"disabled === true\" class='input-group'>\r\n\t\t<div *ngFor=\"let selectedItem of selectedItems\" class=\"slick-multi-select_selected-item card\">{{selectedItem.text}}</div>\r\n\t</div>\r\n\r\n\t<ul #multiSelectList id=\"slick-multi-select-list_{{uuid}}\" class='slick-multi-select-list-group dropdown-menu' [style.width]=\"listGroupWidth\" [style.visibility]=\"(expanded === true) ? 'visible' : 'hidden'\" [style.opacity]=\"(expanded === true) ? '1' : '0'\" [style.max-height]=\"height\" [style.width.px]=\"listGroupWidth\" [style.left.px]=\"left\" [style.top.px]=\"top\">\r\n\t\t<li *ngFor=\"let item of visibleItems; let index = index;\" (mouseover)=\"selectedIndex = index\" (click)=\"onItemClick(item)\" class=\"dropdown-item slick-multi-select_list-item\">{{item.text}}</li>\r\n\t</ul>\r\n</div>" }]
7303
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: SlickMultiSelectService }, { type: i0.ElementRef }]; }, propDecorators: { placeholder: [{
7278
+ }], template: "<div #containerDiv id=\"slick-multi-select_{{uuid}}\" attr.data-uuid=\"{{uuid}}\" class=\"slick-multi-select form-control\" [class.open]=\"expanded\">\r\n\t<div class=\"slick-multi-select_input-container\">\r\n\t\t<div *ngIf=\"disabled === false\" style=\"cursor: pointer !important; flex-grow: 1;\" (click)=\"onMultiSelectClicked()\">\r\n\t\t\t<div *ngFor=\"let selectedItem of selectedItems\" class=\"slick-multi-select_selected-item badge bg-primary\"><div class=\"slick-multi-select_remove\" (click)=\"onRemoveItem(selectedItem)\"><i class=\"fas fa-times-circle bg-white text-danger\"></i></div>{{selectedItem.text}}</div>\r\n\t\t\t<input #placeholderInputRef [attr.tabindex]=\"tabindex\" [placeholder]='placeholder' (keyup)=\"expandOnKeyUp($event)\" />\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div *ngIf=\"disabled === true\" class='input-group'>\r\n\t\t<div *ngFor=\"let selectedItem of selectedItems\" class=\"slick-multi-select_selected-item badge bg-primary\">{{selectedItem.text}}</div>\r\n\t</div>\r\n\r\n\t<ul #multiSelectList id=\"slick-multi-select-list_{{uuid}}\" class='slick-multi-select-list-group dropdown-menu' [style.width]=\"listGroupWidth\" [style.visibility]=\"(expanded === true) ? 'visible' : 'hidden'\" [style.opacity]=\"(expanded === true) ? '1' : '0'\" [style.max-height]=\"height\" [style.width.px]=\"listGroupWidth\" [style.left.px]=\"left\" [style.top.px]=\"top\">\r\n\t\t<li class=\"px-3\">\r\n\t\t\t<input #filterTextInputRef type=\"text\" tabindex=\"-1\" class=\"slick-multi-select_list-item form-control bg-transparent text-body border-bottom\" (keydown)=\"onKeyDown($event)\" />\r\n\t\t</li>\r\n\t\t<li *ngFor=\"let item of visibleItems; let index = index;\" (mouseover)=\"selectedIndex = index\" (click)=\"onItemClick(item)\" class=\"dropdown-item slick-multi-select_list-item px-3\">{{item?.text}}</li>\r\n\t</ul>\r\n</div>" }]
7279
+ }], ctorParameters: function () { return [{ type: SlickMultiSelectService }]; }, propDecorators: { placeholder: [{
7304
7280
  type: Input
7305
7281
  }], items: [{
7306
7282
  type: Input
@@ -7326,8 +7302,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
7326
7302
  type: Input
7327
7303
  }], tabindex: [{
7328
7304
  type: Input
7329
- }], isMobile: [{
7330
- type: Input
7331
7305
  }], searchType: [{
7332
7306
  type: Input
7333
7307
  }], onExpand: [{
@@ -7342,9 +7316,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
7342
7316
  }], multiSelectList: [{
7343
7317
  type: ViewChild,
7344
7318
  args: ["multiSelectList"]
7345
- }], selectedTextInputRef: [{
7319
+ }], placeholderInputRef: [{
7346
7320
  type: ViewChild,
7347
- args: ["selectedTextInputRef"]
7321
+ args: ["placeholderInputRef"]
7322
+ }], filterTextInputRef: [{
7323
+ type: ViewChild,
7324
+ args: ["filterTextInputRef"]
7348
7325
  }] } });
7349
7326
 
7350
7327
  class SlickMultiSelectModule {