| 883 | } |
| 884 | |
| 885 | _tokenizerFocusOut(e: FocusEvent) { |
| 886 | this._tokenizerFocused = false; |
| 887 | |
| 888 | const tokensCount = this._tokenizer.tokens.length; |
| 889 | const selectedTokens = this._selectedTokensCount; |
| 890 | const lastTokenBeingDeleted = tokensCount - 1 === 0 && this._deleting; |
| 891 | const allTokensAreBeingDeleted = selectedTokens === tokensCount && this._deleting; |
| 892 | const relatedTarget: HTMLElement | undefined = e.relatedTarget as HTMLElement; |
| 893 | |
| 894 | if (!this.shadowRoot?.contains(relatedTarget)) { |
| 895 | this._tokenizer.tokens.forEach(token => { |
| 896 | token.selected = false; |
| 897 | }); |
| 898 | |
| 899 | this._tokenizer.expanded = this._preventTokenizerToggle ? this._tokenizer.expanded : false; |
| 900 | } |
| 901 | |
| 902 | if (allTokensAreBeingDeleted || lastTokenBeingDeleted) { |
| 903 | setTimeout(() => { |
| 904 | if (!isPhone()) { |
| 905 | this._inputDom.focus(); |
| 906 | } |
| 907 | |
| 908 | this._deleting = false; |
| 909 | }, 0); |
| 910 | } |
| 911 | } |
| 912 | |
| 913 | _tokenizerFocusIn() { |
| 914 | this._tokenizerFocused = true; |