Socket
Socket
Sign inDemoInstall

react-customize-token-input

Package Overview
Dependencies
Maintainers
1
Versions
31
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-customize-token-input - npm Package Compare versions

Comparing version 2.1.0 to 2.2.0-beta.0

4

lib/hooks/usePredefinedKeyDownHandlers.d.ts
import type { InputString } from '../types/mix';
import type { SpecialKeyDownConfig } from '../types/specialKeyDown';
declare type Params = {
interface Params {
specialKeyDownConfig: SpecialKeyDownConfig;

@@ -10,3 +10,3 @@ inputInitValue: InputString;

handleTokensCreate: (inputValue: InputString) => void;
};
}
declare function usePredefinedKeyDownHandlers({ specialKeyDownConfig, inputInitValue, inputValue, onLastTokenDelete, handleInputValueUpdate, handleTokensCreate, }: Params): {

@@ -13,0 +13,0 @@ handleBackspaceKeyDown: () => void;

import type { TokenIndex } from '../types/token';
import type { OnTokenValuesChange } from '../types/interfaces';
declare type Params<ValueType> = {
interface Params<ValueType> {
tokenValues: ValueType[];
onTokenValuesChange?: OnTokenValuesChange<ValueType>;
focusTokenCreator: () => void;
};
}
declare function useTokenDelete<ValueType>({ tokenValues, onTokenValuesChange, focusTokenCreator, }: Params<ValueType>): {

@@ -9,0 +9,0 @@ handleTokenDelete: (targetIndex: TokenIndex) => () => void;

@@ -5,5 +5,9 @@ import type { OnTokenValuesChange } from '../types/interfaces';

import type { HandleTokenInputFocus, HandleTokenInputBlur } from './useTokenInputFocusEffect';
declare type HandleTokenEditStart = (targetIndex: TokenIndex) => () => void;
declare type HandleTokenEditEnd<ValueType> = (targetIndex: TokenIndex) => (newTokenValue?: ValueType) => void;
declare type Params<ValueType, ErrorType> = {
interface HandleTokenEditStart {
(targetIndex: TokenIndex): () => void;
}
interface HandleTokenEditEnd<ValueType> {
(targetIndex: TokenIndex): (newTokenValue?: ValueType) => void;
}
interface Params<ValueType, ErrorType> {
tokenValues: ValueType[];

@@ -14,3 +18,3 @@ onTokenValuesChange?: OnTokenValuesChange<ValueType>;

handleTokenInputBlur: HandleTokenInputBlur;
};
}
declare function useTokenEdit<ValueType, ErrorType>({ tokenValues, onTokenValuesChange, setTokenActivated, handleTokenInputFocus, handleTokenInputBlur, }: Params<ValueType, ErrorType>): {

@@ -17,0 +21,0 @@ handleTokenEditStart: HandleTokenEditStart;

@@ -1,3 +0,7 @@

export declare type HandleTokenInputFocus = () => void;
export declare type HandleTokenInputBlur = () => void;
export interface HandleTokenInputFocus {
(): void;
}
export interface HandleTokenInputBlur {
(): void;
}
declare function useTokenInputFocus(): {

@@ -4,0 +8,0 @@ isTokenInputFocused: boolean;

@@ -1,3 +0,5 @@

import { TokenMeta, TokenIndex } from '../types/token';
export declare type SetTokenActivated<ErrorType> = (targetIndex: TokenIndex, activated: TokenMeta<ErrorType>['activated']) => void;
import type { TokenMeta, TokenIndex } from '../types/token';
export interface SetTokenActivated<ErrorType> {
(targetIndex: TokenIndex, activated: TokenMeta<ErrorType>['activated']): void;
}
declare function useTokenMetas<ErrorType>(): {

@@ -4,0 +6,0 @@ tokenMetas: TokenMeta<ErrorType>[];

import type { OnTokenValueValidate } from '../types/interfaces';
declare type Params<ValueType, ErrorType> = {
interface Params<ValueType, ErrorType> {
tokenValues: ValueType[];
onTokenValueValidate: OnTokenValueValidate<ValueType, ErrorType>;
};
}
declare function useTokensUpdate<ValueType, ErrorType>({ tokenValues, onTokenValueValidate, }: Params<ValueType, ErrorType>): {

@@ -7,0 +7,0 @@ hasInvalidToken: boolean;

@@ -1,4 +0,4 @@

import TokenInput, { type Props as TokenInputProps } from './TokenInput';
import TokenInput, { type TokenInputProps } from './TokenInput';
import { JS__TOKEN__DELETE_BUTTON__CLASS_NAME, KEY_DOWN_HANDLER_CONFIG_OPTION } from './constants';
export { TokenInputProps, JS__TOKEN__DELETE_BUTTON__CLASS_NAME, KEY_DOWN_HANDLER_CONFIG_OPTION, };
export default TokenInput;
/*! For license information please see index.js.LICENSE.txt */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports["token-input"]=t(require("react")):e.TokenInput=t(e.React)}(this,(e=>(()=>{var t={733:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(787)),a=r(n(433));t.default=function(){return o.default.createElement("div",{"data-component-name":"CloseIcon",role:"img",className:a.default["delete-button__close-icon"],"aria-hidden":"true"})}},242:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(787)),a=r(n(184)),u=r(n(733)),l=r(n(433)),i=n(754);t.default=function(e){var t,n=e.onRenderContent;return o.default.createElement("span",{"data-component-name":"DeleteButton",role:"button",className:(0,a.default)(i.JS__TOKEN__DELETE_BUTTON__CLASS_NAME,l.default["token__delete-button"]),"aria-hidden":"true"},null!==(t=null==n?void 0:n())&&void 0!==t?t:o.default.createElement(u.default,null))}},83:function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var a=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),u=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),l=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&a(t,e,n);return u(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var s=l(n(787)),c=i(n(184)),f=i(n(639)),d=i(n(971)),p=i(n(242)),y=n(754),h=i(n(433)),_=function(e){e.stopPropagation()};t.default=function(e){var t,n,a=e.readOnly,u=e.tokenValue,l=e.tokenMeta,i=e.onGetClassName,b=e.onGetDisplayLabel,v=e.onRenderDeleteButtonContent,m=e.onGetIsEditable,k=e.onGetEditableValue,O=e.onGetErrorMessage,T=e.onBuildTokenValue,E=e.onEditStart,g=e.onEditEnd,S=e.onDelete,A=(0,s.useRef)(null),I=(t=(0,s.useState)(y.DEFAULT_INPUT_INIT_VALUE),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],u=!0,l=!1;try{for(n=n.call(e);!(u=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{u||null==n.return||n.return()}finally{if(l)throw o}}return a}}(t,n)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),w=I[0],C=I[1],N=l.activated,D=l.error,j=(0,s.useMemo)((function(){return m(u,l)}),[m,u,l]),P=(0,s.useCallback)((function(){var e=k(u,l);C(e),E()}),[C,u,l,k,E]);(0,s.useEffect)((function(){var e=A.current;N&&e&&e.getInput().focus()}),[N]);var M=(0,s.useCallback)((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.reset,n=void 0!==t&&t,r=0===w.length;if(n||r)g();else{var o=T(w);g(o)}}),[w,T,g]),L=(0,s.useCallback)((function(e){e.stopPropagation(),a||(e.target.closest(".".concat(h.default.token," .").concat(y.JS__TOKEN__DELETE_BUTTON__CLASS_NAME))?S():j&&P())}),[a,j,S,P]),V=(0,s.useCallback)((function(e){var t=e.target.value;C(t)}),[C]),F=(0,s.useCallback)((function(e){(0,d.default)(e,{onEscape:function(){return M({reset:!0})},onEnter:function(){return M()}})}),[M]),W=(0,s.useCallback)((function(){M()}),[M]),U=(0,s.useMemo)((function(){var e;return(0,c.default)(null==i?void 0:i(u,l),h.default.token,(r(e={},h.default["token--read-only"],a),r(e,h.default["token--editable"],j&&!a),r(e,h.default["token--active"],N),r(e,h.default["token--error"],D&&!N),e))}),[i,a,j,N,D,u,l]),R=(0,s.useMemo)((function(){var e=O(u,l);return"string"==typeof e?e:void 0}),[O,u,l]);return N?s.default.createElement("div",{"data-component-name":"Token",role:"presentation",className:U,onClick:_},s.default.createElement("div",{className:h.default["autosized-wrapper"]},s.default.createElement(f.default,{ref:A,value:w,onChange:V,onKeyDown:F,onBlur:W}))):s.default.createElement("div",{"data-component-name":"Token",role:"presentation",className:U,onClick:L,title:R},s.default.createElement("div",{className:h.default["token__label-wrapper"]},b(u,l)),!a&&s.default.createElement(p.default,{onRenderContent:v}))}},84:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(83));t.default=o.default},962:function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var o=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),u=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&o(t,e,n);return a(t,e),t},l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=u(n(787)),s=l(n(639)),c=l(n(971)),f=l(n(732)),d=n(754),p=l(n(433)),y=(0,i.forwardRef)((function(e,t){var n,o,a=e.placeholder,u=e.autoFocus,l=e.onFocus,y=e.onBlur,h=e.separators,_=e.specialKeyDown,b=e.onInputValueChange,v=e.onPreprocess,m=e.onBuildTokenValue,k=e.onNewTokenValuesAppend,O=e.onLastTokenDelete,T=(n=(0,i.useState)(d.DEFAULT_INPUT_INIT_VALUE),o=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],u=!0,l=!1;try{for(n=n.call(e);!(u=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{u||null==n.return||n.return()}finally{if(l)throw o}}return a}}(n,o)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(n,o)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),E=T[0],g=T[1],S=(0,i.useMemo)((function(){return new RegExp(h.join("|"))}),[h]),A=(0,i.useCallback)((function(e){g(e),null==b||b(e,E)}),[b,E,g]),I=(0,i.useCallback)((function(e){if(0!==e.trim().length){var t=e.split(S).filter((function(e){return e.trim().length>0})),n=v(t).map((function(e){return m(e)}));k(n),A(d.DEFAULT_INPUT_INIT_VALUE)}}),[S,v,m,k,A]),w=(0,i.useCallback)((function(e){var t=e.target.value,n=t.substring(t.length-1);!0!==S.test(n)?A(t):I(E)}),[S,I,E,A]),C=(0,f.default)({specialKeyDownConfig:_,inputInitValue:d.DEFAULT_INPUT_INIT_VALUE,inputValue:E,onLastTokenDelete:O,handleInputValueUpdate:A,handleTokensCreate:I}),N=C.handleBackspaceKeyDown,D=C.handleTabKeyDown,j=C.handleEnterKeyDown,P=C.handleEscapeKeyDown,M=(0,i.useCallback)((function(e){(0,c.default)(e,{onBackspace:N,onTab:D,onEnter:j,onEscape:P})}),[N,D,j,P]),L=(0,i.useCallback)((function(){I(E),y()}),[I,E,y]),V=(0,i.useCallback)((function(e){e.preventDefault();var t=e.clipboardData.getData("text");I(t)}),[I]);return i.default.createElement("div",{className:p.default["autosized-wrapper"]},i.default.createElement(s.default,{ref:t,autoFocus:u,placeholder:a,value:E,onChange:w,onKeyDown:M,onPaste:V,onFocus:l,onBlur:L}))}));t.default=y},922:function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var u=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),l=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&u(t,e,n);return l(t,e),t},s=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n},c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var f=i(n(787)),d=c(n(184)),p=c(n(962)),y=c(n(84)),h=c(n(598)),_=c(n(872)),b=c(n(870)),v=c(n(970)),m=c(n(120)),k=c(n(835)),O=c(n(360)),T=c(n(453)),E=c(n(810)),g=c(n(196)),S=n(754),A=c(n(433));t.default=function(e){var t,n=e.className,a=e.placeholder,u=e.readOnly,l=void 0!==u&&u,i=e.autoFocus,c=void 0!==i&&i,I=e.tokenValues,w=e.separators,C=void 0===w?S.DEFAULT_SEPARATORS:w,N=e.specialKeyDown,D=void 0===N?S.DEFAULT_SPECIAL_KEY_DOWN_CONFIG:N,j=e.onInputValueChange,P=e.onPreprocess,M=e.onTokenValueValidate,L=void 0===M?k.default:M,V=e.onTokenValuesChange,F=e.onBuildTokenValue,W=void 0===F?O.default:F,U=e.customizeTokenComponent,R=e.onGetTokenClassName,x=e.onGetTokenDisplayLabel,B=void 0===x?E.default:x,K=e.onRenderTokenDeleteButtonContent,G=e.onGetIsTokenEditable,H=void 0===G?T.default:G,z=e.onGetTokenEditableValue,Y=void 0===z?E.default:z,J=e.onGetTokenErrorMessage,$=void 0===J?g.default:J,q=s(e,["className","placeholder","readOnly","autoFocus","tokenValues","separators","specialKeyDown","onInputValueChange","onPreprocess","onTokenValueValidate","onTokenValuesChange","onBuildTokenValue","customizeTokenComponent","onGetTokenClassName","onGetTokenDisplayLabel","onRenderTokenDeleteButtonContent","onGetIsTokenEditable","onGetTokenEditableValue","onGetTokenErrorMessage"]),Q=(0,h.default)(),X=Q.isTokenInputFocused,Z=Q.handleTokenInputFocus,ee=Q.handleTokenInputBlur,te=(0,_.default)(),ne=te.tokenCreatorRef,re=te.focusTokenCreator,oe=(0,b.default)({tokenValues:I,onTokenValueValidate:L}),ae=oe.hasInvalidToken,ue=oe.internalTokenValues,le=oe.tokenMetas,ie=oe.setTokenActivated,se=(0,v.default)({tokenValues:I,onTokenValuesChange:V,setTokenActivated:ie,handleTokenInputFocus:Z,handleTokenInputBlur:ee}),ce=se.handleTokenEditStart,fe=se.handleTokenEditEnd,de=(0,m.default)({tokenValues:I,onTokenValuesChange:V,focusTokenCreator:re}),pe=de.handleTokenDelete,ye=de.handleLastTokenDelete,he=(0,f.useCallback)((function(e){if(0!==e.length){var t=[].concat(o(I),o(e));null==V||V(t)}}),[I,V]),_e=(0,f.useCallback)((function(e){if("function"!=typeof P)return e;var t=P(e);if(!0!==Array.isArray(t))throw new Error("onPreprocess should return an array of values");return t}),[P]),be=U||y.default;return f.default.createElement("div",Object.assign({"data-component-name":"TokenInput"},q,{className:(0,d.default)(n,A.default.container,(t={},r(t,A.default["container--focused"],X),r(t,A.default["container--errors"],ae),t)),onClick:re,role:"presentation"}),f.default.createElement("div",{className:A.default["token-list"]},ue.map((function(e,t){var n=le[t],r=n.key;return f.default.createElement(be,{key:r,readOnly:l,tokenValue:e,tokenMeta:n,onGetClassName:R,onGetDisplayLabel:B,onRenderDeleteButtonContent:K,onGetIsEditable:H,onGetEditableValue:Y,onGetErrorMessage:$,onBuildTokenValue:W,onEditStart:ce(t),onEditEnd:fe(t),onDelete:pe(t)})}))),!l&&f.default.createElement(p.default,{ref:ne,placeholder:a,autoFocus:c,onFocus:Z,onBlur:ee,separators:C,specialKeyDown:D,onInputValueChange:j,onPreprocess:_e,onBuildTokenValue:W,onNewTokenValuesAppend:he,onLastTokenDelete:ye}))}},754:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_INPUT_INIT_VALUE=t.JS__TOKEN__DELETE_BUTTON__CLASS_NAME=t.DEFAULT_SPECIAL_KEY_DOWN_CONFIG=t.KEY_DOWN_HANDLER_CONFIG_OPTION=t.DEFAULT_SEPARATORS=void 0,t.DEFAULT_SEPARATORS=[",",";","\n","\r","\r\n"],t.KEY_DOWN_HANDLER_CONFIG_OPTION={OFF:0,ON:1},t.DEFAULT_SPECIAL_KEY_DOWN_CONFIG={onBackspace:t.KEY_DOWN_HANDLER_CONFIG_OPTION.ON,onTab:t.KEY_DOWN_HANDLER_CONFIG_OPTION.OFF,onEnter:t.KEY_DOWN_HANDLER_CONFIG_OPTION.ON,onEscape:t.KEY_DOWN_HANDLER_CONFIG_OPTION.ON},t.JS__TOKEN__DELETE_BUTTON__CLASS_NAME="js__token__delete-button",t.DEFAULT_INPUT_INIT_VALUE=""},732:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(787),o=n(754),a=function(e){var t=e.keyDownHandlerConfig,n=e.predefinedHandler;switch(!0){case t===o.KEY_DOWN_HANDLER_CONFIG_OPTION.ON:n()}};t.default=function(e){var t=e.specialKeyDownConfig,n=e.inputInitValue,u=e.inputValue,l=e.onLastTokenDelete,i=e.handleInputValueUpdate,s=e.handleTokensCreate,c=Object.assign(Object.assign({},o.DEFAULT_SPECIAL_KEY_DOWN_CONFIG),t),f=c.onBackspace,d=c.onTab,p=c.onEnter,y=c.onEscape;return{handleBackspaceKeyDown:(0,r.useCallback)((function(){a({keyDownHandlerConfig:f,predefinedHandler:function(){0===u.length&&l()}})}),[f,u,l]),handleTabKeyDown:(0,r.useCallback)((function(e){a({keyDownHandlerConfig:d,predefinedHandler:function(){e.preventDefault(),s(u)}})}),[d,u,s]),handleEnterKeyDown:(0,r.useCallback)((function(){a({keyDownHandlerConfig:p,predefinedHandler:function(){s(u)}})}),[p,u,s]),handleEscapeKeyDown:(0,r.useCallback)((function(){a({keyDownHandlerConfig:y,predefinedHandler:function(){i(n)}})}),[y,n,i])}}},872:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(787);t.default=function(){var e=(0,r.useRef)(null),t=(0,r.useCallback)((function(){var t=null==e?void 0:e.current;t&&t.getInput().focus()}),[]);return{tokenCreatorRef:e,focusTokenCreator:t}}},120:(e,t,n)=>{"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}Object.defineProperty(t,"__esModule",{value:!0});var o=n(787);t.default=function(e){var t=e.tokenValues,n=e.onTokenValuesChange,a=e.focusTokenCreator,u=(0,o.useCallback)((function(e){var o,u=function(e){if(Array.isArray(e))return r(e)}(o=t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(o)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();u.splice(e,1),null==n||n(u),a()}),[t,n,a]);return{handleTokenDelete:(0,o.useCallback)((function(e){return function(){u(e)}}),[u]),handleLastTokenDelete:(0,o.useCallback)((function(){u(-1)}),[u])}}},970:(e,t,n)=>{"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}Object.defineProperty(t,"__esModule",{value:!0});var o=n(787);t.default=function(e){var t=e.tokenValues,n=e.onTokenValuesChange,a=e.setTokenActivated,u=e.handleTokenInputFocus,l=e.handleTokenInputBlur;return{handleTokenEditStart:(0,o.useCallback)((function(e){return function(){a(e,!0),u()}}),[a,u]),handleTokenEditEnd:(0,o.useCallback)((function(e){return function(o){if(a(e,!1),l(),void 0!==o){var u=function(e){if(Array.isArray(e))return r(e)}(i=t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(i)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(i)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();u[e]=o,null==n||n(u)}var i}}),[t,n,a,l])}}},598:(e,t,n)=>{"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}Object.defineProperty(t,"__esModule",{value:!0});var o=n(787);t.default=function(){var e,t,n=(e=(0,o.useState)(!1),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],u=!0,l=!1;try{for(n=n.call(e);!(u=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{u||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=n[0],u=n[1];return{isTokenInputFocused:a,handleTokenInputFocus:(0,o.useCallback)((function(){u(!0)}),[]),handleTokenInputBlur:(0,o.useCallback)((function(){u(!1)}),[])}}},55:(e,t,n)=>{"use strict";function r(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}Object.defineProperty(t,"__esModule",{value:!0});var a=n(787);t.default=function(){var e,t,n=(e=(0,a.useState)([]),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],u=!0,l=!1;try{for(n=n.call(e);!(u=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{u||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||r(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=n[0],l=n[1],i=(0,a.useCallback)((function(e,t){if(e>=u.length)throw new Error("setTokenActivated out of tokenMetas scope; targetIndex ".concat(e,"; tokenMetas.length ").concat(u.length));var n=function(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||r(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(u);n[e].activated=t,l(n)}),[u]);return{tokenMetas:u,setTokenMetas:l,setTokenActivated:i}}},870:function(e,t,n){"use strict";function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],u=!0,l=!1;try{for(n=n.call(e);!(u=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{u||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||o(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var u=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var l=n(787),i=u(n(55)),s=u(n(748));t.default=function(e){var t=e.tokenValues,n=e.onTokenValueValidate,u=(0,i.default)(),c=u.tokenMetas,f=u.setTokenMetas,d=u.setTokenActivated,p=r((0,l.useState)(!1),2),y=p[0],h=p[1],_=r((0,l.useState)([]),2),b=_[0],v=_[1];return(0,l.useLayoutEffect)((function(){var e,r=!1,u=t.map((function(e,o){var a=n(e,o,t),u=(0,s.default)(a,e,o);return u.error&&!u.activated&&(r=!0),u}));v(function(e){if(Array.isArray(e))return a(e)}(e=t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f(u),h(r)}),[t,n,f]),{hasInvalidToken:y,internalTokenValues:b,tokenMetas:c,setTokenActivated:d}}},820:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.KEY_DOWN_HANDLER_CONFIG_OPTION=t.JS__TOKEN__DELETE_BUTTON__CLASS_NAME=void 0;var o=r(n(922)),a=n(754);Object.defineProperty(t,"JS__TOKEN__DELETE_BUTTON__CLASS_NAME",{enumerable:!0,get:function(){return a.JS__TOKEN__DELETE_BUTTON__CLASS_NAME}}),Object.defineProperty(t,"KEY_DOWN_HANDLER_CONFIG_OPTION",{enumerable:!0,get:function(){return a.KEY_DOWN_HANDLER_CONFIG_OPTION}}),t.default=o.default},748:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return{key:"".concat(JSON.stringify(t),"-").concat(Date.now(),"-").concat(n),activated:!1,error:e}}},360:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e.trim()}},453:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return!0}},810:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return"".concat(e)}},196:(e,t)=>{"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(!["string","undefined"].includes(n(t.error))&&null!==t.error)throw new TypeError('"onGetTokenErrorMessage" is required when "ErrorType" not "string"');return t.error}},835:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){}},971:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(776));t.default=function(e,t){var n=t.onBackspace,r=t.onTab,a=t.onEnter,u=t.onEscape;switch((0,o.default)(e).key){case"Backspace":null==n||n(e);break;case"Tab":null==r||r(e);break;case"Enter":null==a||a(e);break;case"Escape":null==u||u(e)}}},184:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var a=typeof n;if("string"===a||"number"===a)e.push(n);else if(Array.isArray(n)){if(n.length){var u=o.apply(null,n);u&&e.push(u)}}else if("object"===a)if(n.toString===Object.prototype.toString)for(var l in n)r.call(n,l)&&n[l]&&e.push(l);else e.push(n.toString())}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()},776:e=>{self,e.exports=(()=>{"use strict";var e,t={};return e=t,Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){var t=e.keyCode,n=e.key;return t&&229===t&&(n="Process"),{key:n}},t})()},433:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={container:"token-input-container","container--focused":"token-input-container--focused","container--errors":"token-input-container--errors","autosized-wrapper":"token-input-autosized-wrapper","token-list":"token-input-token-list",token:"token-input-token","token--error":"token-input-token--error","token--read-only":"token-input-token--read-only","token--editable":"token-input-token--editable","token--active":"token-input-token--active","token__label-wrapper":"token-input-token__label-wrapper","token__delete-button":"token-input-token__delete-button","delete-button__close-icon":"token-input-delete-button__close-icon"}},639:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(787),u=i(a),l=i(n(863));function i(e){return e&&e.__esModule?e:{default:e}}var s={position:"absolute",top:0,left:0,visibility:"hidden",height:0,overflow:"scroll",whiteSpace:"pre"},c=["extraWidth","injectStyles","inputClassName","inputRef","inputStyle","minWidth","onAutosize","placeholderIsMinWidth"],f=function(e,t){t.style.fontSize=e.fontSize,t.style.fontFamily=e.fontFamily,t.style.fontWeight=e.fontWeight,t.style.fontStyle=e.fontStyle,t.style.letterSpacing=e.letterSpacing,t.style.textTransform=e.textTransform},d=!("undefined"==typeof window||!window.navigator)&&/MSIE |Trident\/|Edge\//.test(window.navigator.userAgent),p=function(){return d?"_"+Math.random().toString(36).substr(2,12):void 0},y=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.inputRef=function(e){n.input=e,"function"==typeof n.props.inputRef&&n.props.inputRef(e)},n.placeHolderSizerRef=function(e){n.placeHolderSizer=e},n.sizerRef=function(e){n.sizer=e},n.state={inputWidth:e.minWidth,inputId:e.id||p(),prevId:e.id},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),o(t,null,[{key:"getDerivedStateFromProps",value:function(e,t){var n=e.id;return n!==t.prevId?{inputId:n||p(),prevId:n}:null}}]),o(t,[{key:"componentDidMount",value:function(){this.mounted=!0,this.copyInputStyles(),this.updateInputWidth()}},{key:"componentDidUpdate",value:function(e,t){t.inputWidth!==this.state.inputWidth&&"function"==typeof this.props.onAutosize&&this.props.onAutosize(this.state.inputWidth),this.updateInputWidth()}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"copyInputStyles",value:function(){if(this.mounted&&window.getComputedStyle){var e=this.input&&window.getComputedStyle(this.input);e&&(f(e,this.sizer),this.placeHolderSizer&&f(e,this.placeHolderSizer))}}},{key:"updateInputWidth",value:function(){if(this.mounted&&this.sizer&&void 0!==this.sizer.scrollWidth){var e=void 0;e=this.props.placeholder&&(!this.props.value||this.props.value&&this.props.placeholderIsMinWidth)?Math.max(this.sizer.scrollWidth,this.placeHolderSizer.scrollWidth)+2:this.sizer.scrollWidth+2,(e+="number"===this.props.type&&void 0===this.props.extraWidth?16:parseInt(this.props.extraWidth)||0)<this.props.minWidth&&(e=this.props.minWidth),e!==this.state.inputWidth&&this.setState({inputWidth:e})}}},{key:"getInput",value:function(){return this.input}},{key:"focus",value:function(){this.input.focus()}},{key:"blur",value:function(){this.input.blur()}},{key:"select",value:function(){this.input.select()}},{key:"renderStyles",value:function(){var e=this.props.injectStyles;return d&&e?u.default.createElement("style",{dangerouslySetInnerHTML:{__html:"input#"+this.state.inputId+"::-ms-clear {display: none;}"}}):null}},{key:"render",value:function(){var e=[this.props.defaultValue,this.props.value,""].reduce((function(e,t){return null!=e?e:t})),t=r({},this.props.style);t.display||(t.display="inline-block");var n=r({boxSizing:"content-box",width:this.state.inputWidth+"px"},this.props.inputStyle),o=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach((function(t){return delete e[t]}))}(o),o.className=this.props.inputClassName,o.id=this.state.inputId,o.style=n,u.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),u.default.createElement("input",r({},o,{ref:this.inputRef})),u.default.createElement("div",{ref:this.sizerRef,style:s},e),this.props.placeholder?u.default.createElement("div",{ref:this.placeHolderSizerRef,style:s},this.props.placeholder):null)}}]),t}(a.Component);y.propTypes={className:l.default.string,defaultValue:l.default.any,extraWidth:l.default.oneOfType([l.default.number,l.default.string]),id:l.default.string,injectStyles:l.default.bool,inputClassName:l.default.string,inputRef:l.default.func,inputStyle:l.default.object,minWidth:l.default.oneOfType([l.default.number,l.default.string]),onAutosize:l.default.func,onChange:l.default.func,placeholder:l.default.string,placeholderIsMinWidth:l.default.bool,style:l.default.object,value:l.default.any},y.defaultProps={minWidth:1,injectStyles:!0},t.default=y},216:(e,t,n)=>{"use strict";var r=n(138);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,u){if(u!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},863:(e,t,n)=>{e.exports=n(216)()},138:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},787:t=>{"use strict";t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var a=n[e]={exports:{}};return t[e].call(a.exports,a,a.exports,r),a.exports}return r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r(820)})()));
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports["token-input"]=t(require("react")):e.TokenInput=t(e.React)}(this,(e=>(()=>{var t={733:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(787)),a=r(n(433));t.default=function(){return o.default.createElement("div",{"data-component-name":"CloseIcon",role:"img",className:a.default["delete-button__close-icon"],"aria-hidden":"true"})}},242:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(787)),a=r(n(184)),u=r(n(733)),l=r(n(433)),i=n(754);t.default=function(e){var t,n=e.onRenderContent;return o.default.createElement("span",{"data-component-name":"DeleteButton",role:"button",className:(0,a.default)(i.JS__TOKEN__DELETE_BUTTON__CLASS_NAME,l.default["token__delete-button"]),"aria-hidden":"true"},null!==(t=null==n?void 0:n())&&void 0!==t?t:o.default.createElement(u.default,null))}},83:function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var a=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),u=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),l=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&a(t,e,n);return u(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var s=l(n(787)),c=i(n(184)),f=i(n(639)),d=i(n(971)),p=i(n(242)),y=n(754),h=i(n(433)),_=function(e){e.stopPropagation()};t.default=function(e){var t,n,a=e.readOnly,u=e.tokenValue,l=e.tokenMeta,i=e.onGetClassName,v=e.onGetDisplayLabel,b=e.onRenderDeleteButtonContent,m=e.onGetIsEditable,k=e.onGetEditableValue,O=e.onGetErrorMessage,T=e.onBuildTokenValue,E=e.onEditStart,g=e.onEditEnd,S=e.onDelete,A=(0,s.useRef)(null),I=(t=(0,s.useState)(y.DEFAULT_INPUT_INIT_VALUE),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],u=!0,l=!1;try{for(n=n.call(e);!(u=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{u||null==n.return||n.return()}finally{if(l)throw o}}return a}}(t,n)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),w=I[0],C=I[1],N=l.activated,D=l.error,j=(0,s.useMemo)((function(){return m(u,l)}),[m,u,l]),P=(0,s.useCallback)((function(){var e=k(u,l);C(e),E()}),[C,u,l,k,E]);(0,s.useEffect)((function(){var e=A.current;N&&e&&e.getInput().focus()}),[N]);var M=(0,s.useCallback)((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.reset,n=void 0!==t&&t,r=0===w.length;if(n||r)g();else{var o=T(w);g(o)}}),[w,T,g]),L=(0,s.useCallback)((function(e){e.stopPropagation(),a||(e.target.closest(".".concat(h.default.token," .").concat(y.JS__TOKEN__DELETE_BUTTON__CLASS_NAME))?S():j&&P())}),[a,j,S,P]),V=(0,s.useCallback)((function(e){var t=e.target.value;C(t)}),[C]),F=(0,s.useCallback)((function(e){(0,d.default)(e,{onEscape:function(){return M({reset:!0})},onEnter:function(){return M()}})}),[M]),W=(0,s.useCallback)((function(){M()}),[M]),U=(0,s.useMemo)((function(){var e;return(0,c.default)(null==i?void 0:i(u,l),h.default.token,(r(e={},h.default["token--read-only"],a),r(e,h.default["token--editable"],j&&!a),r(e,h.default["token--active"],N),r(e,h.default["token--error"],D&&!N),e))}),[i,a,j,N,D,u,l]),R=(0,s.useMemo)((function(){var e=O(u,l);return"string"==typeof e?e:void 0}),[O,u,l]);return N?s.default.createElement("div",{"data-component-name":"Token",role:"presentation",className:U,onClick:_},s.default.createElement("div",{className:h.default["autosized-wrapper"]},s.default.createElement(f.default,{ref:A,value:w,onChange:V,onKeyDown:F,onBlur:W}))):s.default.createElement("div",{"data-component-name":"Token",role:"presentation",className:U,onClick:L,title:R},s.default.createElement("div",{className:h.default["token__label-wrapper"]},v(u,l)),!a&&s.default.createElement(p.default,{onRenderContent:b}))}},84:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(83));t.default=o.default},962:function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var o=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),u=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&o(t,e,n);return a(t,e),t},l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=u(n(787)),s=l(n(639)),c=l(n(971)),f=l(n(732)),d=n(754),p=l(n(433)),y=(0,i.forwardRef)((function(e,t){var n,o,a=e.placeholder,u=e.autoFocus,l=e.onFocus,y=e.onBlur,h=e.separators,_=e.specialKeyDown,v=e.onInputValueChange,b=e.onPreprocess,m=e.onBuildTokenValue,k=e.onNewTokenValuesAppend,O=e.onLastTokenDelete,T=(n=(0,i.useState)(d.DEFAULT_INPUT_INIT_VALUE),o=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],u=!0,l=!1;try{for(n=n.call(e);!(u=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{u||null==n.return||n.return()}finally{if(l)throw o}}return a}}(n,o)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(n,o)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),E=T[0],g=T[1],S=(0,i.useMemo)((function(){return new RegExp(h.join("|"))}),[h]),A=(0,i.useCallback)((function(e){g(e),null==v||v(e,E)}),[v,E,g]),I=(0,i.useCallback)((function(e){if(0!==e.trim().length){var t=e.split(S).filter((function(e){return e.trim().length>0})),n=b(t).map((function(e){return m(e)}));k(n),A(d.DEFAULT_INPUT_INIT_VALUE)}}),[S,b,m,k,A]),w=(0,i.useCallback)((function(e){var t=e.target.value,n=t.substring(t.length-1);!0!==S.test(n)?A(t):I(E)}),[S,I,E,A]),C=(0,f.default)({specialKeyDownConfig:_,inputInitValue:d.DEFAULT_INPUT_INIT_VALUE,inputValue:E,onLastTokenDelete:O,handleInputValueUpdate:A,handleTokensCreate:I}),N=C.handleBackspaceKeyDown,D=C.handleTabKeyDown,j=C.handleEnterKeyDown,P=C.handleEscapeKeyDown,M=(0,i.useCallback)((function(e){(0,c.default)(e,{onBackspace:N,onTab:D,onEnter:j,onEscape:P})}),[N,D,j,P]),L=(0,i.useCallback)((function(){I(E),y()}),[I,E,y]),V=(0,i.useCallback)((function(e){e.preventDefault();var t=e.clipboardData.getData("text");I(t)}),[I]);return i.default.createElement("div",{className:p.default["autosized-wrapper"]},i.default.createElement(s.default,{ref:t,autoFocus:u,placeholder:a,value:E,onChange:w,onKeyDown:M,onPaste:V,onFocus:l,onBlur:L}))}));t.default=y},922:function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var u=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),l=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&u(t,e,n);return l(t,e),t},s=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n},c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var f=i(n(787)),d=c(n(184)),p=c(n(962)),y=c(n(84)),h=c(n(598)),_=c(n(872)),v=c(n(870)),b=c(n(970)),m=c(n(120)),k=c(n(835)),O=c(n(360)),T=c(n(453)),E=c(n(810)),g=c(n(196)),S=n(754),A=c(n(433));t.default=function(e){var t,n=e.className,a=e.placeholder,u=e.readOnly,l=void 0!==u&&u,i=e.autoFocus,c=void 0!==i&&i,I=e.tokenValues,w=e.separators,C=void 0===w?S.DEFAULT_SEPARATORS:w,N=e.specialKeyDown,D=void 0===N?S.DEFAULT_SPECIAL_KEY_DOWN_CONFIG:N,j=e.onInputValueChange,P=e.onPreprocess,M=e.onTokenValueValidate,L=void 0===M?k.default:M,V=e.onTokenValuesChange,F=e.onBuildTokenValue,W=void 0===F?O.default:F,U=e.customizeTokenComponent,R=e.onGetTokenClassName,x=e.onGetTokenDisplayLabel,B=void 0===x?E.default:x,K=e.onRenderTokenDeleteButtonContent,G=e.onGetIsTokenEditable,H=void 0===G?T.default:G,z=e.onGetTokenEditableValue,Y=void 0===z?E.default:z,J=e.onGetTokenErrorMessage,$=void 0===J?g.default:J,q=s(e,["className","placeholder","readOnly","autoFocus","tokenValues","separators","specialKeyDown","onInputValueChange","onPreprocess","onTokenValueValidate","onTokenValuesChange","onBuildTokenValue","customizeTokenComponent","onGetTokenClassName","onGetTokenDisplayLabel","onRenderTokenDeleteButtonContent","onGetIsTokenEditable","onGetTokenEditableValue","onGetTokenErrorMessage"]),Q=(0,h.default)(),X=Q.isTokenInputFocused,Z=Q.handleTokenInputFocus,ee=Q.handleTokenInputBlur,te=(0,_.default)(),ne=te.tokenCreatorRef,re=te.focusTokenCreator,oe=(0,v.default)({tokenValues:I,onTokenValueValidate:L}),ae=oe.hasInvalidToken,ue=oe.internalTokenValues,le=oe.tokenMetas,ie=oe.setTokenActivated,se=(0,b.default)({tokenValues:I,onTokenValuesChange:V,setTokenActivated:ie,handleTokenInputFocus:Z,handleTokenInputBlur:ee}),ce=se.handleTokenEditStart,fe=se.handleTokenEditEnd,de=(0,m.default)({tokenValues:I,onTokenValuesChange:V,focusTokenCreator:re}),pe=de.handleTokenDelete,ye=de.handleLastTokenDelete,he=(0,f.useCallback)((function(e){if(0!==e.length){var t=[].concat(o(I),o(e));null==V||V(t)}}),[I,V]),_e=(0,f.useCallback)((function(e){if("function"!=typeof P)return e;var t=P(e);if(!0!==Array.isArray(t))throw new Error("onPreprocess should return an array of values");return t}),[P]),ve=U||y.default;return f.default.createElement("div",Object.assign({"data-component-name":"TokenInput"},q,{className:(0,d.default)(n,A.default.container,(t={},r(t,A.default["container--focused"],X),r(t,A.default["container--errors"],ae),t)),onClick:re,role:"presentation"}),f.default.createElement("div",{className:A.default["token-list"]},ue.map((function(e,t){var n=le[t],r=n.key;return f.default.createElement(ve,{key:r,readOnly:l,tokenValue:e,tokenMeta:n,onGetClassName:R,onGetDisplayLabel:B,onRenderDeleteButtonContent:K,onGetIsEditable:H,onGetEditableValue:Y,onGetErrorMessage:$,onBuildTokenValue:W,onEditStart:ce(t),onEditEnd:fe(t),onDelete:pe(t)})}))),!l&&f.default.createElement(p.default,{ref:ne,placeholder:a,autoFocus:c,onFocus:Z,onBlur:ee,separators:C,specialKeyDown:D,onInputValueChange:j,onPreprocess:_e,onBuildTokenValue:W,onNewTokenValuesAppend:he,onLastTokenDelete:ye}))}},754:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_INPUT_INIT_VALUE=t.JS__TOKEN__DELETE_BUTTON__CLASS_NAME=t.DEFAULT_SPECIAL_KEY_DOWN_CONFIG=t.KEY_DOWN_HANDLER_CONFIG_OPTION=t.DEFAULT_SEPARATORS=void 0,t.DEFAULT_SEPARATORS=[",",";","\n","\r","\r\n"],t.KEY_DOWN_HANDLER_CONFIG_OPTION={OFF:0,ON:1},t.DEFAULT_SPECIAL_KEY_DOWN_CONFIG={onBackspace:t.KEY_DOWN_HANDLER_CONFIG_OPTION.ON,onTab:t.KEY_DOWN_HANDLER_CONFIG_OPTION.OFF,onEnter:t.KEY_DOWN_HANDLER_CONFIG_OPTION.ON,onEscape:t.KEY_DOWN_HANDLER_CONFIG_OPTION.ON},t.JS__TOKEN__DELETE_BUTTON__CLASS_NAME="js__token__delete-button",t.DEFAULT_INPUT_INIT_VALUE=""},732:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(787),o=n(754),a=function(e){var t=e.keyDownHandlerConfig,n=e.predefinedHandler;switch(!0){case t===o.KEY_DOWN_HANDLER_CONFIG_OPTION.ON:n()}};t.default=function(e){var t=e.specialKeyDownConfig,n=e.inputInitValue,u=e.inputValue,l=e.onLastTokenDelete,i=e.handleInputValueUpdate,s=e.handleTokensCreate,c=Object.assign(Object.assign({},o.DEFAULT_SPECIAL_KEY_DOWN_CONFIG),t),f=c.onBackspace,d=c.onTab,p=c.onEnter,y=c.onEscape;return{handleBackspaceKeyDown:(0,r.useCallback)((function(){a({keyDownHandlerConfig:f,predefinedHandler:function(){0===u.length&&l()}})}),[f,u,l]),handleTabKeyDown:(0,r.useCallback)((function(e){a({keyDownHandlerConfig:d,predefinedHandler:function(){e.preventDefault(),s(u)}})}),[d,u,s]),handleEnterKeyDown:(0,r.useCallback)((function(){a({keyDownHandlerConfig:p,predefinedHandler:function(){s(u)}})}),[p,u,s]),handleEscapeKeyDown:(0,r.useCallback)((function(){a({keyDownHandlerConfig:y,predefinedHandler:function(){i(n)}})}),[y,n,i])}}},872:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(787);t.default=function(){var e=(0,r.useRef)(null),t=(0,r.useCallback)((function(){var t=null==e?void 0:e.current;t&&t.getInput().focus()}),[]);return{tokenCreatorRef:e,focusTokenCreator:t}}},120:(e,t,n)=>{"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}Object.defineProperty(t,"__esModule",{value:!0});var o=n(787);t.default=function(e){var t=e.tokenValues,n=e.onTokenValuesChange,a=e.focusTokenCreator,u=(0,o.useCallback)((function(e){var o,u=function(e){if(Array.isArray(e))return r(e)}(o=t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(o)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();u.splice(e,1),null==n||n(u),a()}),[t,n,a]);return{handleTokenDelete:(0,o.useCallback)((function(e){return function(){u(e)}}),[u]),handleLastTokenDelete:(0,o.useCallback)((function(){u(-1)}),[u])}}},970:(e,t,n)=>{"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}Object.defineProperty(t,"__esModule",{value:!0});var o=n(787);t.default=function(e){var t=e.tokenValues,n=e.onTokenValuesChange,a=e.setTokenActivated,u=e.handleTokenInputFocus,l=e.handleTokenInputBlur;return{handleTokenEditStart:(0,o.useCallback)((function(e){return function(){a(e,!0),u()}}),[a,u]),handleTokenEditEnd:(0,o.useCallback)((function(e){return function(o){if(a(e,!1),l(),void 0!==o){var u=function(e){if(Array.isArray(e))return r(e)}(i=t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(i)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(i)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();u[e]=o,null==n||n(u)}var i}}),[t,n,a,l])}}},598:(e,t,n)=>{"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}Object.defineProperty(t,"__esModule",{value:!0});var o=n(787);t.default=function(){var e,t,n=(e=(0,o.useState)(!1),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],u=!0,l=!1;try{for(n=n.call(e);!(u=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{u||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=n[0],u=n[1];return{isTokenInputFocused:a,handleTokenInputFocus:(0,o.useCallback)((function(){u(!0)}),[]),handleTokenInputBlur:(0,o.useCallback)((function(){u(!1)}),[])}}},55:(e,t,n)=>{"use strict";function r(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}Object.defineProperty(t,"__esModule",{value:!0});var a=n(787);t.default=function(){var e,t,n=(e=(0,a.useState)([]),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],u=!0,l=!1;try{for(n=n.call(e);!(u=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{u||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||r(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=n[0],l=n[1],i=(0,a.useCallback)((function(e,t){if(e>=u.length)throw new Error("setTokenActivated out of tokenMetas scope; targetIndex ".concat(e,"; tokenMetas.length ").concat(u.length));var n=function(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||r(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(u);n[e].activated=t,l(n)}),[u]);return{tokenMetas:u,setTokenMetas:l,setTokenActivated:i}}},870:function(e,t,n){"use strict";function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],u=!0,l=!1;try{for(n=n.call(e);!(u=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{u||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||o(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var u=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var l=n(787),i=u(n(55)),s=u(n(748));t.default=function(e){var t=e.tokenValues,n=e.onTokenValueValidate,u=(0,i.default)(),c=u.tokenMetas,f=u.setTokenMetas,d=u.setTokenActivated,p=r((0,l.useState)(!1),2),y=p[0],h=p[1],_=r((0,l.useState)([]),2),v=_[0],b=_[1];return(0,l.useLayoutEffect)((function(){var e,r=!1,u=t.map((function(e,o){var a=n(e,o,t),u=(0,s.default)(a,e,o);return u.error&&!u.activated&&(r=!0),u}));b(function(e){if(Array.isArray(e))return a(e)}(e=t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f(u),h(r)}),[t,n,f]),{hasInvalidToken:y,internalTokenValues:v,tokenMetas:c,setTokenActivated:d}}},820:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.KEY_DOWN_HANDLER_CONFIG_OPTION=t.JS__TOKEN__DELETE_BUTTON__CLASS_NAME=void 0;var o=r(n(922)),a=n(754);Object.defineProperty(t,"JS__TOKEN__DELETE_BUTTON__CLASS_NAME",{enumerable:!0,get:function(){return a.JS__TOKEN__DELETE_BUTTON__CLASS_NAME}}),Object.defineProperty(t,"KEY_DOWN_HANDLER_CONFIG_OPTION",{enumerable:!0,get:function(){return a.KEY_DOWN_HANDLER_CONFIG_OPTION}}),t.default=o.default},748:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return{key:"".concat(JSON.stringify(t),"-").concat(Date.now(),"-").concat(n),activated:!1,error:e}}},360:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e.trim()}},453:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return!0}},810:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return"".concat(e)}},196:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=t.error;if(null===n)return null;if(void 0===n||"string"==typeof n)return n;throw new TypeError('"onGetTokenErrorMessage" is required when "ErrorType" not "string"')}},835:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){}},971:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(776));t.default=function(e,t){var n=t.onBackspace,r=t.onTab,a=t.onEnter,u=t.onEscape;switch((0,o.default)(e).key){case"Backspace":null==n||n(e);break;case"Tab":null==r||r(e);break;case"Enter":null==a||a(e);break;case"Escape":null==u||u(e)}}},184:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var a=typeof n;if("string"===a||"number"===a)e.push(n);else if(Array.isArray(n)){if(n.length){var u=o.apply(null,n);u&&e.push(u)}}else if("object"===a)if(n.toString===Object.prototype.toString)for(var l in n)r.call(n,l)&&n[l]&&e.push(l);else e.push(n.toString())}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()},776:e=>{self,e.exports=(()=>{"use strict";var e,t={};return e=t,Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){var t=e.keyCode,n=e.key;return t&&229===t&&(n="Process"),{key:n}},t})()},433:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={container:"token-input-container","container--focused":"token-input-container--focused","container--errors":"token-input-container--errors","autosized-wrapper":"token-input-autosized-wrapper","token-list":"token-input-token-list",token:"token-input-token","token--error":"token-input-token--error","token--read-only":"token-input-token--read-only","token--editable":"token-input-token--editable","token--active":"token-input-token--active","token__label-wrapper":"token-input-token__label-wrapper","token__delete-button":"token-input-token__delete-button","delete-button__close-icon":"token-input-delete-button__close-icon"}},639:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(787),u=i(a),l=i(n(863));function i(e){return e&&e.__esModule?e:{default:e}}var s={position:"absolute",top:0,left:0,visibility:"hidden",height:0,overflow:"scroll",whiteSpace:"pre"},c=["extraWidth","injectStyles","inputClassName","inputRef","inputStyle","minWidth","onAutosize","placeholderIsMinWidth"],f=function(e,t){t.style.fontSize=e.fontSize,t.style.fontFamily=e.fontFamily,t.style.fontWeight=e.fontWeight,t.style.fontStyle=e.fontStyle,t.style.letterSpacing=e.letterSpacing,t.style.textTransform=e.textTransform},d=!("undefined"==typeof window||!window.navigator)&&/MSIE |Trident\/|Edge\//.test(window.navigator.userAgent),p=function(){return d?"_"+Math.random().toString(36).substr(2,12):void 0},y=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.inputRef=function(e){n.input=e,"function"==typeof n.props.inputRef&&n.props.inputRef(e)},n.placeHolderSizerRef=function(e){n.placeHolderSizer=e},n.sizerRef=function(e){n.sizer=e},n.state={inputWidth:e.minWidth,inputId:e.id||p(),prevId:e.id},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),o(t,null,[{key:"getDerivedStateFromProps",value:function(e,t){var n=e.id;return n!==t.prevId?{inputId:n||p(),prevId:n}:null}}]),o(t,[{key:"componentDidMount",value:function(){this.mounted=!0,this.copyInputStyles(),this.updateInputWidth()}},{key:"componentDidUpdate",value:function(e,t){t.inputWidth!==this.state.inputWidth&&"function"==typeof this.props.onAutosize&&this.props.onAutosize(this.state.inputWidth),this.updateInputWidth()}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"copyInputStyles",value:function(){if(this.mounted&&window.getComputedStyle){var e=this.input&&window.getComputedStyle(this.input);e&&(f(e,this.sizer),this.placeHolderSizer&&f(e,this.placeHolderSizer))}}},{key:"updateInputWidth",value:function(){if(this.mounted&&this.sizer&&void 0!==this.sizer.scrollWidth){var e=void 0;e=this.props.placeholder&&(!this.props.value||this.props.value&&this.props.placeholderIsMinWidth)?Math.max(this.sizer.scrollWidth,this.placeHolderSizer.scrollWidth)+2:this.sizer.scrollWidth+2,(e+="number"===this.props.type&&void 0===this.props.extraWidth?16:parseInt(this.props.extraWidth)||0)<this.props.minWidth&&(e=this.props.minWidth),e!==this.state.inputWidth&&this.setState({inputWidth:e})}}},{key:"getInput",value:function(){return this.input}},{key:"focus",value:function(){this.input.focus()}},{key:"blur",value:function(){this.input.blur()}},{key:"select",value:function(){this.input.select()}},{key:"renderStyles",value:function(){var e=this.props.injectStyles;return d&&e?u.default.createElement("style",{dangerouslySetInnerHTML:{__html:"input#"+this.state.inputId+"::-ms-clear {display: none;}"}}):null}},{key:"render",value:function(){var e=[this.props.defaultValue,this.props.value,""].reduce((function(e,t){return null!=e?e:t})),t=r({},this.props.style);t.display||(t.display="inline-block");var n=r({boxSizing:"content-box",width:this.state.inputWidth+"px"},this.props.inputStyle),o=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach((function(t){return delete e[t]}))}(o),o.className=this.props.inputClassName,o.id=this.state.inputId,o.style=n,u.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),u.default.createElement("input",r({},o,{ref:this.inputRef})),u.default.createElement("div",{ref:this.sizerRef,style:s},e),this.props.placeholder?u.default.createElement("div",{ref:this.placeHolderSizerRef,style:s},this.props.placeholder):null)}}]),t}(a.Component);y.propTypes={className:l.default.string,defaultValue:l.default.any,extraWidth:l.default.oneOfType([l.default.number,l.default.string]),id:l.default.string,injectStyles:l.default.bool,inputClassName:l.default.string,inputRef:l.default.func,inputStyle:l.default.object,minWidth:l.default.oneOfType([l.default.number,l.default.string]),onAutosize:l.default.func,onChange:l.default.func,placeholder:l.default.string,placeholderIsMinWidth:l.default.bool,style:l.default.object,value:l.default.any},y.defaultProps={minWidth:1,injectStyles:!0},t.default=y},216:(e,t,n)=>{"use strict";var r=n(138);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,u){if(u!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},863:(e,t,n)=>{e.exports=n(216)()},138:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},787:t=>{"use strict";t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var a=n[e]={exports:{}};return t[e].call(a.exports,a,a.exports,r),a.exports}return r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r(820)})()));
//# sourceMappingURL=index.js.map

@@ -9,2 +9,2 @@ /*!

/*! react-customize-token-input v2.1.0 | (c) 2022 Mark Lin. | MIT | https://github.com/seawind543/react-token-input */
/*! react-customize-token-input v2.2.0-beta.0 | (c) 2022 Mark Lin. | MIT | https://github.com/seawind543/react-token-input */
import { type ReactNode } from 'react';
declare type Props = {
interface DeleteButtonProps {
onRenderContent?: () => ReactNode;
};
declare const DeleteButton: ({ onRenderContent }: Props) => JSX.Element;
}
declare const DeleteButton: (props: DeleteButtonProps) => JSX.Element;
export default DeleteButton;

@@ -1,3 +0,3 @@

import Token, { type Props } from './Token';
export type { Props };
import Token, { type TokenProps } from './Token';
export { TokenProps };
export default Token;
import type { TokenMeta } from '../types/token';
import type { OnBuildTokenValue, OnGetTokenClassName, OnGetTokenDisplayLabel, OnRenderTokenDeleteButtonContent, OnGetIsTokenEditable, OnGetTokenEditableValue, OnGetTokenErrorMessage } from '../types/interfaces';
export declare type Props<ValueType, ErrorType> = {
export interface TokenProps<ValueType, ErrorType> {
readOnly: boolean;

@@ -17,4 +17,4 @@ tokenValue: ValueType;

onDelete: () => void;
};
declare const Token: <ValueType, ErrorType>({ readOnly, tokenValue, tokenMeta, onGetClassName, onGetDisplayLabel, onRenderDeleteButtonContent, onGetIsEditable, onGetEditableValue, onGetErrorMessage, onBuildTokenValue, onEditStart, onEditEnd, onDelete, }: Props<ValueType, ErrorType>) => JSX.Element;
}
declare const Token: <ValueType, ErrorType>(props: TokenProps<ValueType, ErrorType>) => JSX.Element;
export default Token;

@@ -6,3 +6,3 @@ import { type ReactElement, type Ref } from 'react';

import type { OnInputValueChange, OnPreprocess, OnBuildTokenValue } from './types/interfaces';
declare type Props<ValueType> = {
interface TokenCreatorProps<ValueType> {
placeholder?: string;

@@ -19,6 +19,6 @@ autoFocus: boolean;

onLastTokenDelete: () => void;
};
declare const TokenCreator: <ValueType>(p: Props<ValueType> & {
}
declare const TokenCreator: <ValueType>(p: TokenCreatorProps<ValueType> & {
ref: Ref<HTMLInputElement>;
}) => ReactElement | null;
export default TokenCreator;

@@ -1,7 +0,7 @@

import { type CSSProperties, type FunctionComponent } from 'react';
import { type Props as TokenProps } from './Token';
import { type CSSProperties, type ReactElement } from 'react';
import { type TokenProps } from './Token';
import type { TokenSeparator } from './types/mix';
import type { SpecialKeyDownConfig } from './types/specialKeyDown';
import type { OnInputValueChange, OnPreprocess, OnBuildTokenValue, OnTokenValueValidate, OnTokenValuesChange, OnGetTokenClassName, OnGetTokenDisplayLabel, OnRenderTokenDeleteButtonContent, OnGetIsTokenEditable, OnGetTokenEditableValue, OnGetTokenErrorMessage } from './types/interfaces';
export declare type Props<ValueType, ErrorType> = {
export interface TokenInputProps<ValueType, ErrorType> {
style?: CSSProperties;

@@ -20,3 +20,3 @@ className?: string;

onBuildTokenValue?: OnBuildTokenValue<ValueType>;
customizeTokenComponent?: FunctionComponent<TokenProps<ValueType, ErrorType>>;
customizeTokenComponent?: (props: TokenProps<ValueType, ErrorType>) => ReactElement | null;
onGetTokenClassName?: OnGetTokenClassName<ValueType, ErrorType>;

@@ -28,4 +28,4 @@ onGetTokenDisplayLabel?: OnGetTokenDisplayLabel<ValueType, ErrorType>;

onGetTokenErrorMessage?: OnGetTokenErrorMessage<ValueType, ErrorType>;
};
declare const TokenInput: <ValueType, ErrorType>({ className, placeholder, readOnly, autoFocus, tokenValues, separators, specialKeyDown, onInputValueChange, onPreprocess, onTokenValueValidate, onTokenValuesChange, onBuildTokenValue, customizeTokenComponent, onGetTokenClassName, onGetTokenDisplayLabel, onRenderTokenDeleteButtonContent, onGetIsTokenEditable, onGetTokenEditableValue, onGetTokenErrorMessage, ...props }: Props<ValueType, ErrorType>) => JSX.Element;
}
declare const TokenInput: <ValueType, ErrorType>(props: TokenInputProps<ValueType, ErrorType>) => JSX.Element;
export default TokenInput;
import type { ReactNode } from 'react';
import { InputString } from './mix';
import { TokenIndex, TokenMeta } from './token';
export declare type OnInputValueChange = (newValue: InputString, previousValue: InputString) => void;
export declare type OnPreprocess = (values: InputString[]) => InputString[];
export declare type OnBuildTokenValue<ValueType> = (inputValue: InputString) => ValueType;
export declare type OnTokenValuesChange<ValueType> = (modifiedTokenValues: ValueType[]) => void;
export declare type OnTokenValueValidate<ValueType, ErrorType> = (tokenValue: ValueType, tokenIndex: TokenIndex, tokenValues: ValueType[]) => TokenMeta<ErrorType>['error'];
export declare type OnGetTokenClassName<ValueType, ErrorType> = (tokenValue: ValueType, tokenMeta: TokenMeta<ErrorType>) => undefined | string;
export declare type OnGetTokenDisplayLabel<ValueType, ErrorType> = (tokenValue: ValueType, tokenMeta: TokenMeta<ErrorType>) => InputString | ReactNode;
export declare type OnRenderTokenDeleteButtonContent = () => ReactNode;
export declare type OnGetIsTokenEditable<ValueType, ErrorType> = (tokenValue: ValueType, tokenMeta: TokenMeta<ErrorType>) => boolean;
export declare type OnGetTokenEditableValue<ValueType, ErrorType> = (tokenValue: ValueType, tokenMeta: TokenMeta<ErrorType>) => InputString;
export declare type OnGetTokenErrorMessage<ValueType, ErrorType> = (tokenValue: ValueType, tokenMeta: TokenMeta<ErrorType>) => TokenMeta<ErrorType>['error'];
export interface OnInputValueChange {
(newValue: InputString, previousValue: InputString): void;
}
export interface OnPreprocess {
(values: InputString[]): InputString[];
}
export interface OnBuildTokenValue<ValueType> {
(inputValue: InputString): ValueType;
}
export interface OnTokenValuesChange<ValueType> {
(modifiedTokenValues: ValueType[]): void;
}
export interface OnTokenValueValidate<ValueType, ErrorType> {
(tokenValue: ValueType, tokenIndex: TokenIndex, tokenValues: ValueType[]): TokenMeta<ErrorType>['error'];
}
export interface OnGetTokenClassName<ValueType, ErrorType> {
(tokenValue: ValueType, tokenMeta: TokenMeta<ErrorType>): undefined | string;
}
export interface OnGetTokenDisplayLabel<ValueType, ErrorType> {
(tokenValue: ValueType, tokenMeta: TokenMeta<ErrorType>): InputString | ReactNode;
}
export interface OnRenderTokenDeleteButtonContent {
(): ReactNode;
}
export interface OnGetIsTokenEditable<ValueType, ErrorType> {
(tokenValue: ValueType, tokenMeta: TokenMeta<ErrorType>): boolean;
}
export interface OnGetTokenEditableValue<ValueType, ErrorType> {
(tokenValue: ValueType, tokenMeta: TokenMeta<ErrorType>): InputString;
}
export interface OnGetTokenErrorMessage<ValueType, ErrorType> {
(tokenValue: ValueType, tokenMeta: TokenMeta<ErrorType>): string | TokenMeta<ErrorType>['error'];
}
import { KEY_DOWN_HANDLER_CONFIG_OPTION } from '../constants';
export declare type KeyDownHandlerConfigOption = typeof KEY_DOWN_HANDLER_CONFIG_OPTION[keyof typeof KEY_DOWN_HANDLER_CONFIG_OPTION];
export declare type SpecialKeyDownConfig = {
export interface SpecialKeyDownConfig {
onBackspace?: KeyDownHandlerConfigOption;

@@ -8,2 +8,2 @@ onTab?: KeyDownHandlerConfigOption;

onEscape?: KeyDownHandlerConfigOption;
};
}
import type { Nullish } from './mix';
export declare type TokenIndex = number;
export declare type TokenMeta<ErrorType> = {
export interface TokenMeta<ErrorType> {
key: string;
activated: boolean;
error: Nullish | ErrorType;
};
}
import type { InputString } from '../types/mix';
declare const defaultBuildTokenValue: <ValueType>(inputValue: InputString) => ValueType;
declare const defaultBuildTokenValue: <ValueType>(inputString: InputString) => ValueType;
export default defaultBuildTokenValue;

@@ -0,3 +1,4 @@

import type { Nullish } from '../types/mix';
import type { TokenMeta } from '../types/token';
declare const defaultGetTokenErrorMessage: <ValueType, ErrorType>(_: ValueType, tokenMeta: TokenMeta<ErrorType>) => import("../types/mix").Nullish | ErrorType;
declare const defaultGetTokenErrorMessage: <ValueType, ErrorType>(_: ValueType, tokenMeta: TokenMeta<ErrorType>) => Nullish | string;
export default defaultGetTokenErrorMessage;

@@ -1,3 +0,5 @@

declare type ActionFunction = (keyDownEvent: KeyboardEvent) => void;
declare type KeyDownHandlerProxyActions = {
interface ActionFunction {
(keyDownEvent: KeyboardEvent): void;
}
interface KeyDownHandlerProxyActions {
onBackspace?: ActionFunction;

@@ -7,4 +9,4 @@ onTab?: ActionFunction;

onEscape?: ActionFunction;
};
}
declare const keyDownHandlerProxy: (keyDownEvent: KeyboardEvent, actions: KeyDownHandlerProxyActions) => void;
export default keyDownHandlerProxy;
{
"name": "react-customize-token-input",
"version": "2.1.0",
"version": "2.2.0-beta.0",
"description": "A react token (tag) input component. Allow customize data structure and Look & Feel",

@@ -60,3 +60,2 @@ "main": "lib/index.js",

"keydown-key": "^1.2.1",
"prop-types": "^15.8.1",
"react-input-autosize": "^3.0.0"

@@ -102,2 +101,3 @@ },

"prettier": "^2.6.2",
"prop-types": "^15.8.1",
"react": "^17.0.2",

@@ -104,0 +104,0 @@ "react-dev-utils": "^11.0.4",

@@ -65,5 +65,10 @@ # React TokenInput [![build status](https://travis-ci.org/seawind543/react-token-input.svg?branch=master)](https://travis-ci.org/seawind543/react-token-input) [![Coverage Status](https://coveralls.io/repos/github/seawind543/react-token-input/badge.svg?branch=master)](https://coveralls.io/github/seawind543/react-token-input?branch=master)

```JavaScript
type Props<ValueType, ErrorType> = {
/**
* @template ValueType, ErrorType
* @typedef {Object} TokenInputProps
*/
interface TokenInputProps<ValueType, ErrorType> {
/**
* For assign style to the TokenInput
* @prop {CSSProperties} [style]
* @description An optional prop for assign style to the TokenInput
*/

@@ -73,3 +78,4 @@ style?: CSSProperties;

/**
* For assign class to the TokenInput
* @prop {string} [className]
* @description An optional prop for assign class name to the TokenInput
*/

@@ -79,3 +85,4 @@ className?: string;

/**
* For set placeholder to the TokenInput
* @prop {string} [placeholder]
* @description An optional prop for assign placeholder to the TokenInput
*/

@@ -85,4 +92,4 @@ placeholder?: string;

/**
* To specific TokenInput is `readOnly` mode or not
* @default false
* @prop {boolean} [readOnly = false]
* @description An optional prop to specific TokenInput is `readOnly` mode or not
*/

@@ -92,4 +99,4 @@ readOnly?: boolean;

/**
* To specific TokenInput should be autoFocus or not
* @default false
* @prop {boolean} [autoFocus = false]
* @description An optional prop to specific TokenInput is `autoFocus` mode or not
*/

@@ -99,2 +106,5 @@ autoFocus?: boolean;

/**
* @template ValueType
* @prop {ValueType[]} tokenValues
* @description
* The array of tokenValue of TokenInput.

@@ -106,3 +116,3 @@ * This array will be used to render the tokens.

* Customize data structure data
* Could be string | number | object | customize data structure...etc.
* Could be string | number | object | customized data structure...etc.
*/

@@ -114,2 +124,4 @@ tokenValues: ValueType[];

/**
* @prop {TokenSeparator[]} [separators]
* @description
* An array of characters to split the user input string into array.

@@ -120,10 +132,21 @@ * For example,

*
* @see {@link TokenSeparator}
* Note:
* It take the `String.prototype.split()` and `RegExp` to split the user input string.
* Make sure your customized separators could be used with `RegExp`.
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
* It take the `String.prototype.split(separators.join('|'))`
* and `RegExp` to split the user input string.
*
* @example
* ```js
* value.split(separators.join('|'));
* ```
*
* Make sure your customized separators could be used with
* (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)[`RegExp`]}.
*/
separators?: TokenSeparator[];
/**
* @prop {SpecialKeyDownConfig} [specialKeyDown=DEFAULT_SPECIAL_KEY_DOWN_CONFIG]
* @description
* [Beta; Might be change in the future version]

@@ -135,14 +158,4 @@ * Current only apply to the `TokenCreator`

*
* `KEY_DOWN_HANDLER_CONFIG_OPTION.OFF` means turn `off`
* (Took native browser behavior. The TokenInput should NOT handle it).
*
* `KEY_DOWN_HANDLER_CONFIG_OPTION.ON` means apply TokenInput predefined event handler.
*
* Default setting as below.
* specialKeyDown: {
* onBackspace: KEY_DOWN_HANDLER_CONFIG_OPTION.ON,
* onTab: KEY_DOWN_HANDLER_CONFIG_OPTION.OFF,
* onEnter: KEY_DOWN_HANDLER_CONFIG_OPTION.ON,
* onEscape: KEY_DOWN_HANDLER_CONFIG_OPTION.ON,
* },
* @see KEY_DOWN_HANDLER_CONFIG_OPTION for the accepted config values
* @see DEFAULT_SPECIAL_KEY_DOWN_CONFIG for the default settings
*/

@@ -152,13 +165,18 @@ specialKeyDown?: SpecialKeyDownConfig;

/**
* @prop {OnInputValueChange} [onInputValueChange]
* @description
* A callback function invoked when end-user typing but not become token yet
*
* @example
* ```js
* onInputValueChange(newValue, previousValue)
* ```
*
* @ newValue
* Type: InputString
* Description: end-user's input string
* @param {InputString} newValue
* The end-user's input string
*
* @ previousValue
* Type: InputString
* Description: previous end-user's input string
* @param {InputString} previousValue
* The previous input string
*
* @returns {void}
*/

@@ -168,2 +186,4 @@ onInputValueChange?: OnInputValueChange;

/**
* @prop {OnPreprocess} [onPreprocess]
* @description
* A callback function to `preprocessing` the user input string.

@@ -182,12 +202,13 @@ *

*
* @example
* ```js
* onPreprocess(inputStringValues)
* ```
*
* @ inputStringValues
* Type: InputString[]
* Description:
* The user input string values // (split by the `separators`)
* @param {InputString[]} inputStringValues
* The user input string values
* (An array of string, which split from the original input string via the `separators`)
*
* @ return
* Type: InputString[]
* Description: The values after preprocess
* @returns {InputString[]}
* An array of string
*/

@@ -197,40 +218,51 @@ onPreprocess?: OnPreprocess;

/**
* @template ValueType, ErrorType
* @prop {OnTokenValueValidate<ValueType, ErrorType>} [onTokenValueValidate=defaultTokenValueValidate]
* @description
* A callback function to validate a tokenValue
* (The returned result will be use by `onGetTokenErrorMessage`)
* (The returned result will be set into the TokenMeta & pass to `onGetTokenErrorMessage`)
*
* @example
* ```js
* onTokenValueValidate(tokenValue, tokenIndex, tokenValues)
* ```
*
* @ tokenValue
* Type: ValueType
* Description: The tokenValue build by `onBuildTokenValue`
* @param {ValueType} tokenValue
* The tokenValue build by `onBuildTokenValue`
*
* @ tokenIndex
* Type: number
* Description: The array index of this tokenValue in tokenValues
* @param {TokenIndex} tokenIndex
* The array index of this tokenValue in tokenValues
*
* @ tokenValues
* Type: ValueType[]
* Description: The array of tokenValue of TokenInput
* @param {ValueType[]} tokenValues
* The array of tokenValue of TokenInput
*
* @ return
* Type: TokenMeta<ErrorType>['error']
* Description:
* The customize error.
* @returns {TokenMeta<ErrorType>['error']}
* The customized error.
* Specific the token's validate status or errorMessage.
* Could be `an error message` to display, or an error object for further operations.
*
* Return `Nullish` types means the token is valid.
* @see TokenMeta for more information about TokenMeta<ErrorType>['error']
*
* Note: Return `Nullish` types means the token is valid.
* @see Nullish
*/
onTokenValueValidate?: OnTokenValueValidate<ValueType, ErrorType>;
// Token props
// Token related props
/**
* @template ValueType
* @prop {OnTokenValuesChange<ValueType>} [onTokenValuesChange]
* @description
* A callback function invoked when tokenValues update
*
* @example
* ```js
* onTokenValuesChange(modifiedTokenValues)
* ```
*
* @ modifiedTokenValues
* Type: ValueType[]
* Description: the new tokenValues
* @param {ValueType[]} modifiedTokenValues
* The new tokenValues
*
* @returns {void}
*/

@@ -240,18 +272,27 @@ onTokenValuesChange?: OnTokenValuesChange<ValueType>;

/**
* A callback function to building `user input string value` into
* the `tokenValue` (customize data structure).
* @template ValueType
* @prop {OnBuildTokenValue<ValueType>} [onBuildTokenValue=defaultBuildTokenValue]
* @description
* A callback function to build `user input string value` into
* the `tokenValue` (customized data structure).
*
* Note: You could make your normalize process in this function too.
*
* @example
* ```js
* onBuildTokenValue(inputString)
* ```
*
* @ inputString
* Type: InputString
* Description: The user input value // (A value split by TokenSeparator[])
* @param {InputString} inputString
* The user input value // (A value split by TokenSeparator[])
* Example:
* - Input string "ABC, DEF" and separators is `,`
* - The `onBuildTokenValue` will be called twice as
* ```
* onBuildTokenValue('ABC') and onBuildTokenValue('DEF')
* ```
*
* @ return
* Type: ValueType
* Description:
* Customize data structure data
* Could be string | number | object | customize data structure...etc.
* @returns {ValueType}
* The customized data structure data
* Could be string | number | object | customized data structure...etc.
*/

@@ -261,26 +302,35 @@ onBuildTokenValue?: OnBuildTokenValue<ValueType>;

/**
* A customize react functional component to rendering a token
* @prop {Component} [customizeTokenComponent]
* A customize react component to rendering a token
* Apply this to customize all token function.
*
* @example
* ```js
* customizeTokenComponent={MyToken}
* ```
*
* @returns {ReactElement | null}
*/
// TODO: make detail type for props
customizeTokenComponent?: FunctionComponent<TokenProps<ValueType, ErrorType>>;
customizeTokenComponent?: (
props: TokenProps<ValueType, ErrorType>
) => ReactElement | null;
/**
* @template ValueType, ErrorType
* @prop {OnGetTokenClassName<ValueType, ErrorType>} [onGetTokenClassName]
* @description
* A callback function to getting customizes `className` to set on a `token`
*
* ```js
* onGetTokenClassName(tokenValue, tokenMeta)
* ```
*
* @ tokenValue
* Type: ValueType
* Description: The tokenValue build by `onBuildTokenValue`
* @param {ValueType} tokenValue
* The tokenValue build by `onBuildTokenValue`
*
* @ tokenMeta
* Type: TokenMeta<ErrorType>
* Description: token's meta data
* @param {TokenMeta<ErrorType>} tokenMeta
* The token's meta data
*
* @ return
* Type: string
* Description: The customizes className
* @returns {undefined | string}
* The customizes className
*/

@@ -290,2 +340,5 @@ onGetTokenClassName?: OnGetTokenClassName<ValueType, ErrorType>;

/**
* @template ValueType, ErrorType
* @prop {OnGetTokenDisplayLabel<ValueType, ErrorType>} [onGetTokenDisplayLabel=defaultGetTokenEditableValue]
* @description
* A callback function to getting displayable `label` of a token

@@ -295,16 +348,15 @@ * Apply this to customize the token's content

*
* @example
* ```js
* onGetTokenDisplayLabel(tokenValue, tokenMeta)
* ```
*
* @ tokenValue
* Type: ValueType
* Description: The tokenValue build by `onBuildTokenValue`
* @param {ValueType} tokenValue
* The tokenValue build by `onBuildTokenValue`
*
* @ tokenMeta
* Type: TokenMeta<ErrorType>
* Description: token's meta data
* @param {TokenMeta<ErrorType>} tokenMeta
* The token's meta data
*
* @ return
* Type: InputString | ReactNode
* Description: The token's content.
* By default, will apply `getDefaultTokenEditableValue`
* @returns {InputString | ReactNode}
* The token's display content.
*/

@@ -314,11 +366,15 @@ onGetTokenDisplayLabel?: OnGetTokenDisplayLabel<ValueType, ErrorType>;

/**
* @prop {OnRenderTokenDeleteButtonContent} [onRenderTokenDeleteButtonContent]
* @description
* A callback function to render content of the delete button of token
* Apply this to customize the token's content of the delete button
* Apply this to customize the token's content of the delete button.
* For example, replace the build-in `x` by Google font material-icons
*
* @example
* ```js
* onRenderTokenDeleteButtonContent()
* ```
*
* @ return
* Type: ReactNode
* Description: The content of the delete button of the token.
* @returns {ReactNode}
* The content of the delete button of the token.
* By default, TokenInput render a build-in `x` icon

@@ -329,18 +385,21 @@ */

/**
* @template ValueType, ErrorType
* @prop {OnGetIsTokenEditable<ValueType, ErrorType>} [onGetIsTokenEditable=defaultGetIsTokenEditable]
* @description
* A callback function to determine whether the token is `inline editable`.
* By default, TokenInput will render a `inline editable` token.
*
* @example
* ```js
* onGetIsTokenEditable(tokenValue, tokenMeta)
* ```
*
* @ tokenValue
* Type: ValueType
* Description: The tokenValue build by `onBuildTokenValue`
* @param {ValueType} tokenValue
* The tokenValue build by `onBuildTokenValue`
*
* @ tokenMeta
* Type: TokenMeta<ErrorType>
* Description: token's meta data
* @param {TokenMeta<ErrorType>} tokenMeta
* The token's meta data
*
* @ return
* Type: boolean
* Description: `true` if editable. `false` if not.
* @returns {boolean}
* - `true`: Editable.
* - `false`: Not editable.
*/

@@ -350,18 +409,21 @@ onGetIsTokenEditable?: OnGetIsTokenEditable<ValueType, ErrorType>;

/**
* @template ValueType, ErrorType
* @prop {OnGetTokenEditableValue<ValueType, ErrorType>} [onGetTokenEditableValue=defaultGetTokenEditableValue]
* @description
* A callback function to getting `string input value`
* from `tokenValue` for the end-user to perform `inline edit`
*
* @example
* ```js
* onGetTokenEditableValue(tokenValue, tokenMeta)
* ```
*
* @ tokenValue
* Type: ValueType
* Description: The tokenValue build by `onBuildTokenValue`
* @param {ValueType} tokenValue
* The tokenValue build by `onBuildTokenValue`
*
* @ tokenMeta
* Type: TokenMeta<ErrorType>
* Description: token's meta data
* @param {TokenMeta<ErrorType>} tokenMeta
* The token's meta data
*
* @ return
* Type: InputString
* Description: The value for end-user to `edit` in an input field
* @returns {InputString}
* The value for end-user to `edit` in an input field
*/

@@ -371,21 +433,25 @@ onGetTokenEditableValue?: OnGetTokenEditableValue<ValueType, ErrorType>;

/**
* A callback function to getting the error message from the customize error
* The `customize error` is generate by `onTokenValueValidate`
* @template ValueType, ErrorType
* @prop {OnGetTokenErrorMessage<ValueType, ErrorType>} [onGetTokenErrorMessage=defaultGetTokenErrorMessage]
* @description
* A callback function to getting the error message from the customized error
* The `customized error` is generate by `onTokenValueValidate`
*
* @example
* ```js
* onGetTokenErrorMessage(tokenValue, tokenMeta)
* ```
*
* @ tokenValue
* Type: ValueType
* Description: The tokenValue build by `onBuildTokenValue`
* @param {ValueType} tokenValue
* The tokenValue build by `onBuildTokenValue`
*
* @ tokenMeta
* Type: TokenMeta<ErrorType>
* Description: token's meta data
* @param {TokenMeta<ErrorType>} tokenMeta
* The token's meta data
*
* @ return
* Type: Nullish | ErrorType
* Description: The error message to describe an invalid token
* @returns {TokenMeta<ErrorType>['error']}
* The `error` of the token
* The return value should be a `string` when apply build-in Token component
*/
onGetTokenErrorMessage?: OnGetTokenErrorMessage<ValueType, ErrorType>;
};
}
```

@@ -473,13 +539,31 @@

```JavaScript
export type Props<ValueType, ErrorType> = {
/**
* @template ValueType, ErrorType
* @typedef {Object} TokenProps
*/
export interface TokenProps<ValueType, ErrorType> {
/**
* Same as props of TokenInput
* @property {boolean} readOnly
* @description
* Same as TokenInputProps {@see TokenInputProps[readOnly]}
*/
readOnly: boolean;
/**
* @type {ValueType}
* @description This token's tokenValue
*/
tokenValue: ValueType;
/**
* @template ErrorType
* @type {TokenMeta<ErrorType>} tokenMeta
* @description This token's meta data
*/
tokenMeta: TokenMeta<ErrorType>;
/**
* Same as props `onGetTokenClassName` of TokenInput
* @template ValueType, ErrorType
* @prop {OnGetTokenClassName<ValueType, ErrorType>} [onGetClassName]
* @description
* Same as TokenInputProps {@see TokenInputProps[onGetTokenClassName]}
*/

@@ -489,3 +573,6 @@ onGetClassName?: OnGetTokenClassName<ValueType, ErrorType>;

/**
* Same as props `onGetTokenDisplayLabel` of TokenInput
* @template ValueType, ErrorType
* @prop {OnGetTokenDisplayLabel<ValueType, ErrorType>} [onGetTokenDisplayLabel=defaultGetTokenEditableValue]
* @description
* Same as TokenInputProps {@see TokenInputProps[onGetTokenDisplayLabel]}
*/

@@ -495,3 +582,5 @@ onGetDisplayLabel: OnGetTokenDisplayLabel<ValueType, ErrorType>;

/**
* Same as props `onRenderTokenDeleteButtonContent` of TokenInput
* @callback OnRenderTokenDeleteButtonContent
* @description
* Same as TokenInputProps {@see TokenInputProps[onRenderTokenDeleteButtonContent]}
*/

@@ -501,15 +590,30 @@ onRenderDeleteButtonContent?: OnRenderTokenDeleteButtonContent;

/**
* Same as props `onGetIsTokenEditable` of TokenInput
* @template ValueType, ErrorType
* @callback OnGetIsTokenEditable
* @description
* Same as TokenInputProps {@see TokenInputProps[onGetIsTokenEditable]}
*/
onGetIsEditable: OnGetIsTokenEditable<ValueType, ErrorType>;
/**
* Same as props `onGetTokenEditableValue` of TokenInput
* @template ValueType, ErrorType
* @callback OnGetTokenEditableValue
* @description
* Same as TokenInputProps {@see TokenInputProps[onGetTokenEditableValue]}
*/
onGetEditableValue: OnGetTokenEditableValue<ValueType, ErrorType>;
/**
* Same as props `onBuildTokenValue` of TokenInput
* @template ValueType
* @callback OnBuildTokenValue
* @description
* Same as TokenInputProps {@see TokenInputProps[onBuildTokenValue]}
*/
onBuildTokenValue: OnBuildTokenValue<ValueType>;
/**
* Same as props `onGetTokenErrorMessage` of TokenInput
* @template ValueType, ErrorType
* @callback OnGetTokenErrorMessage
* @description
* Same as TokenInputProps {@see TokenInputProps[onGetTokenErrorMessage]}
*/

@@ -519,4 +623,6 @@ onGetErrorMessage: OnGetTokenErrorMessage<ValueType, ErrorType>;

/**
* A callback function, which should be `invoked`
* when end-user `start editing`
* @callback
* @description
* A callback function, which you should `call`
* when the end-user `start editing`
*

@@ -527,6 +633,8 @@ * Note:

*
* @example
* ```js
* onEditStart()
* ```
*
* @ return
* Type: void
* @returns {void}
*/

@@ -536,4 +644,6 @@ onEditStart: () => void;

/**
* A callback function, which should be `invoked`
* when end-user `end editing`
* @callback
* @description
* A callback function, which you should `call`
* when end-user `end the edit`
*

@@ -546,9 +656,12 @@ * Note:

* update the tokenValue of the token,
* and call `onTokenValuesChange`
* and call the callback `onTokenValuesChange`
*
* onEditEnd(newTokenValue?)
* @example
* ```js
* onEditEnd(newTokenValue);
* // or
* onEditEnd();
* ```
*
* @ newTokenValue
* Type: undefined | ValueType
* Description:
* @param {ValueType} [newTokenValue]
* The new tokenValue build by `onBuildTokenValue.

@@ -559,6 +672,5 @@ *

* TokenInput will treat as `Cancel` (Edit will end without update the tokenValue).
* The `onTokenValuesChange` will also not be called.
* The callback `onTokenValuesChange` will also not be called.
*
* @ return
* Type: void
* @returns {void}
*/

@@ -568,4 +680,6 @@ onEditEnd: (newTokenValue?: ValueType) => void;

/**
* A callback function, which should be `invoked`
* when end-user `delete` the token
* @callback
* @description
* A callback function, which you should `call`
* when the end-user `delete` the token
*

@@ -577,9 +691,11 @@ * Note:

*
* @example
* ```js
* onDelete()
* ```
*
* @ return
* Type: void
* @returns {void}
*/
onDelete: () => void;
};
}
```

@@ -586,0 +702,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc