guestbell-forms 3.0.135 → 3.0.136
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.env.bat
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
SET CONVENTIONAL_GITHUB_RELEASER_TOKEN=47a3416a6cbdd1f5862a09d0ff98704df80f43c5
|
|
2
|
-
SET npm_config_npm_token=
|
|
2
|
+
SET npm_config_npm_token=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
|
|
@@ -163,22 +163,25 @@ class TagsRaw extends _BaseInput.BaseInput {
|
|
|
163
163
|
const newTags = this.props.tags.concat(tag);
|
|
164
164
|
this.props.onTagsChanged(newTags);
|
|
165
165
|
const isMax = newTags.length === this.props.maxTags;
|
|
166
|
-
const
|
|
166
|
+
const value = this.props.clearInputAfterPick || isMax || lastSelected ? '' : this.state.value;
|
|
167
|
+
const shouldCloseSuggestions = isMax || this.props.closeSuggestionsAfterCreate || this.props.closeSuggestionsAfterPick;
|
|
167
168
|
this.setState({
|
|
168
|
-
value
|
|
169
|
-
suggestionsVisible:
|
|
169
|
+
value,
|
|
170
|
+
suggestionsVisible: shouldCloseSuggestions ? false : this.state.suggestionsVisible,
|
|
170
171
|
preselectedSuggestion: undefined,
|
|
171
172
|
textErrors: []
|
|
172
173
|
}, () => {
|
|
173
|
-
var _this$textRef$current2;
|
|
174
174
|
/*if (
|
|
175
175
|
!this.props.maxTags ||
|
|
176
176
|
this.props.tags.length + 1 < this.props.maxTags
|
|
177
177
|
) {
|
|
178
|
-
this.fetchExistingTags(
|
|
178
|
+
this.fetchExistingTags(value);
|
|
179
179
|
}*/
|
|
180
180
|
this.handleErrors();
|
|
181
|
-
(
|
|
181
|
+
if (!shouldCloseSuggestions) {
|
|
182
|
+
var _this$textRef$current2;
|
|
183
|
+
(_this$textRef$current2 = this.textRef.current) === null || _this$textRef$current2 === void 0 ? void 0 : _this$textRef$current2.focus();
|
|
184
|
+
}
|
|
182
185
|
});
|
|
183
186
|
};
|
|
184
187
|
this.onBlur = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tags.js","names":["React","_interopRequireWildcard","require","_InputGroup","_Text","_BaseInput","_Button","_TagsSuggestions","_interopRequireDefault","_withFormContext","_classnames","_withThemeContext","_LinearProgress","_Portal","_lodash","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","PlusIcon","props","createElement","d","defaultProps","xmlns","width","height","viewBox","LeftArrowIcon","defaultTagsTranslations","defaultBaseTranslations","addNew","valueNotAddedError","maxTagsSurpassedError","waitingForMoreInputComponent","suggestionsEmptyComponent","suggestionsEmptyAllowNewComponent","exports","TagButtonComponent","p","className","id","onClick","children","TagsRaw","BaseInput","constructor","_this","this","textRef","suggestionsRef","isMobile","onTextErrorsChanged","textErrors","setState","handleErrors","onFocus","_this$props$onFocus","_this$props","state","suggestionsVisible","_this$props$onSuggest","_this$props2","onSuggestionsOpened","textIsFocused","touched","showMobileVersion","mobileVersionEnabled","setTimeout","_this$textRef$current","current","focus","onKeyDown","suggestions","e","preselectedSuggestion","preventDefault","stopPropagation","existingTag","existingTags","find","et","getName","onTagsChanged","tags","concat","allowNew","addNewTag","newTag","onNewTagAdded","closeSuggestionsAfterCreate","newTags","onSuggestionSelected","tag","lastSelected","isMax","maxTags","finalValue","clearInputAfterPick","closeSuggestionsAfterPick","_this$textRef$current2","onBlur","_this$props$onBlur","_this$props3","onTextChanged","isValid","textIsValid","errors","getErrors","setInvalid","setValid","tagClick","onTagClick","tagRemoveClick","sv","_this$props$getTagId","_this$props4","_this$props$getTagId2","_this$props5","getTagId","focusAfterDeleteClick","_this$textRef$current3","fetchingExistingTags","fetchedExistingTags","createRef","handleClickOutside","handleLeaveMobileClick","fetchExistingTags","debounce","fetchExistingTagsDebounceMs","maxWait","fetchExistingTagsDebounceMaxMs","leading","fetchExistingTagsDebounceLeading","trailing","fetchExistingTagsDebounceTrailing","_require","componentDidUpdate","oldProps","oldState","validators","customValidators","required","_this$containerRef$cu","_this$containerRef$cu2","containerRef","querySelector","contains","_this$props$onSuggest2","_this$props6","onSuggestionsClosed","addNewOnBlur","getSuggestions","existing","s","componentDidMount","document","addEventListener","componentWillUnmount","removeEventListener","render","_this$props$textProps","_this$props$textProps2","translations","getTranslations","textProps","LeaveMobileButton","Button","noShadow","unobtrusive","showInput","Boolean","readOnly","container","body","disablePortal","InputGroup","title","tooltip","classNames","getValidationClass","placeholder","ref","showTags","map","item","index","renderTag","readonlyEmptyPlaceholder","Text","showClearButton","onErrorsChanged","onChange","showValidation","ignoreContext","before","showSuggestions","tagsSuggestionsClassName","innerRef","anchorEl","loading","isLoading","LoadingComponent","suggestionsLoadingComponent","isVisible","EmptyComponent","EmptyAllowNewComponent","WaitingForMoreInputComponent","isWaitingForMoreInput","minLettersToFetch","onSelected","AddNewTagComponent","dropdown","SuggestionTag","popperProps","renderDefaultValidation","label","renderLabel","startsWith","timer","loadingDelayMs","prom","then","clearTimeout","catch","filteredTags","filterExistingTags","toLowerCase","allowSameTagMultipleTimes","some","t","_this$props$getTagId3","_this$props7","_this$props$getTagId4","_this$props8","slice","maxSuggestions","_this$props$tags","Fragment","toString","circular","blank","Component","preventsDefault","tagsPreviewSeparator","showChips","small","disabled","newTagName","Promise","resolve","name","Date","getTime","text","MAX_SAFE_INTEGER","Tags","withThemeContext","withFormContext","_default"],"sources":["../../../src/lib/components/tags/Tags.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\nimport { InputGroup } from '../inputGroup/InputGroup';\r\nimport { Text, TextProps, TextRaw } from '../text/Text';\r\nimport * as PlusIcon from 'material-design-icons/content/svg/production/ic_add_circle_outline_24px.svg';\r\nimport * as LeftArrowIcon from 'material-design-icons/navigation/svg/production/ic_arrow_back_24px.svg';\r\nimport {\r\n BaseInputProps,\r\n BaseInputState,\r\n BaseInput,\r\n ValidationError,\r\n defaultBaseTranslations,\r\n} from '../base/input/BaseInput';\r\nimport { Button, ButtonComponentProps } from '../button/Button';\r\nimport TagsSuggestions, {\r\n RenderSuggestionTagProps,\r\n} from './subComponents/TagsSuggestions';\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport classNames from 'classnames';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport { PopperProps } from '@mui/material/Popper/Popper';\r\nimport LinearProgress from '@mui/material/LinearProgress';\r\nimport Portal from '@mui/material/Portal';\r\nimport debounce from 'lodash.debounce';\r\n\r\n// Misc\r\nexport type Tag<T extends number | string = number> = {\r\n id: T;\r\n name: string;\r\n};\r\n\r\nexport type ResourceTConstraint<IdT extends number | string> = { id: IdT } | {};\r\n\r\nexport const defaultTagsTranslations = {\r\n ...defaultBaseTranslations,\r\n addNew: 'Add new',\r\n valueNotAddedError: 'You forgot to add tag',\r\n maxTagsSurpassedError: 'Maximum number of tags surpassed',\r\n waitingForMoreInputComponent: 'Waiting for more input...',\r\n suggestionsEmptyComponent: 'No existing tags...',\r\n suggestionsEmptyAllowNewComponent: 'Type to create...',\r\n};\r\n\r\nexport type TagsTranslations = Partial<typeof defaultTagsTranslations>;\r\n\r\nexport type TagsProps<\r\n IdT extends number | string = number,\r\n T extends ResourceTConstraint<IdT> = Tag<IdT>\r\n> = {\r\n className?: string;\r\n tagsSuggestionsClassName?: string;\r\n disabled?: boolean;\r\n tags: T[];\r\n getTagId?: (tag: T) => IdT;\r\n existingTags?: T[];\r\n fetchExistingTags?: (text: string, tags: T[]) => Promise<T[]>;\r\n fetchExistingTagsDebounceMs?: number;\r\n fetchExistingTagsDebounceMaxMs?: number;\r\n fetchExistingTagsDebounceLeading?: boolean;\r\n fetchExistingTagsDebounceTrailing?: boolean;\r\n onTagsChanged: (newTags: T[]) => void;\r\n onNewTagAdded?: (newTagName: string) => Promise<T>;\r\n onTagClick?: (tag: T) => void;\r\n showChips?: boolean;\r\n allowNew?: boolean;\r\n addNewOnBlur?: boolean;\r\n textProps?: TextProps;\r\n readOnly?: boolean;\r\n readonlyEmptyPlaceholder?: string;\r\n maxTags?: number;\r\n valueNotAddedError?: string | JSX.Element;\r\n maxTagsSurpassedError?: string | JSX.Element;\r\n showSuggestions?: boolean;\r\n suggestionsLoadingComponent?: string | JSX.Element;\r\n suggestionsEmptyComponent?: string | JSX.Element | null;\r\n suggestionsEmptyAllowNewComponent?: string | JSX.Element | null;\r\n waitingForMoreInputComponent?: string | JSX.Element;\r\n loadingDelayMs?: number;\r\n filterExistingTags?: (\r\n text: string,\r\n existingTags: T[],\r\n selectedTags: T[]\r\n ) => T[];\r\n allowSameTagMultipleTimes?: boolean;\r\n maxSuggestions?: number;\r\n popperProps?: Partial<PopperProps>;\r\n minLettersToFetch?: number;\r\n mobileVersionEnabled?: boolean;\r\n isLoading?: boolean;\r\n closeSuggestionsAfterCreate?: boolean;\r\n clearInputAfterPick?: boolean;\r\n closeSuggestionsAfterPick?: boolean;\r\n focusAfterDeleteClick?: boolean;\r\n SuggestionTag?: React.ComponentType<RenderSuggestionTagProps<IdT, T>>;\r\n getName?: (tag: T) => string;\r\n showTags?: boolean;\r\n showClearButton?: boolean;\r\n placeholder?: string;\r\n tagsPreviewSeparator?: string;\r\n children?: React.ReactNode;\r\n} & BaseInputProps<HTMLInputElement, TagsTranslations> &\r\n (T extends { id: IdT } ? {} : { getTagId: (tag: T) => IdT });\r\n\r\nexport interface TagsState<\r\n IdT extends number | string = number,\r\n T extends ResourceTConstraint<IdT> = Tag<IdT>\r\n> extends BaseInputState {\r\n textIsFocused: boolean;\r\n textErrors: ValidationError[];\r\n textIsValid: boolean;\r\n suggestionsVisible: boolean;\r\n fetchedExistingTags: T[];\r\n fetchingExistingTags: boolean;\r\n preselectedSuggestion?: number;\r\n}\r\n\r\ntype InjectedProps = {};\r\n\r\nconst TagButtonComponent: React.FC<ButtonComponentProps> = (p) => (\r\n <a className={p.className} id={p.id} onClick={p.onClick}>\r\n {p.children}\r\n </a>\r\n);\r\n\r\nexport class TagsRaw<\r\n IdT extends number | string = number,\r\n T extends ResourceTConstraint<IdT> = Tag<IdT>\r\n> extends BaseInput<\r\n TagsProps<IdT, T> & InjectedProps,\r\n TagsState<IdT, T>,\r\n HTMLInputElement,\r\n TagsTranslations\r\n> {\r\n public static defaultProps: TagsProps = {\r\n ...BaseInput.defaultProps,\r\n disabled: false,\r\n className: '',\r\n tags: [],\r\n existingTags: [],\r\n maxTags: 1000,\r\n onTagsChanged: () => undefined,\r\n onNewTagAdded: (newTagName) =>\r\n Promise.resolve({ name: newTagName, id: new Date().getTime() }),\r\n showSuggestions: true,\r\n suggestionsLoadingComponent: (\r\n <LinearProgress className=\"tags-input__suggestions__defaultLoading\" />\r\n ),\r\n loadingDelayMs: 0,\r\n filterExistingTags: (text, tags) =>\r\n tags.filter((tag) => tag.name && tag.name.toLowerCase().startsWith(text)),\r\n maxSuggestions: 5,\r\n addNewOnBlur: false,\r\n translations: defaultTagsTranslations,\r\n minLettersToFetch: 0,\r\n mobileVersionEnabled: true,\r\n closeSuggestionsAfterCreate: false,\r\n getName: (tag) => tag.name,\r\n showTags: true,\r\n fetchExistingTagsDebounceMs: 500,\r\n fetchExistingTagsDebounceMaxMs: Number.MAX_SAFE_INTEGER,\r\n fetchExistingTagsDebounceLeading: true,\r\n fetchExistingTagsDebounceTrailing: true,\r\n showClearButton: true,\r\n clearInputAfterPick: false,\r\n closeSuggestionsAfterPick: false,\r\n focusAfterDeleteClick: false,\r\n };\r\n\r\n private textRef: React.RefObject<TextRaw>;\r\n private suggestionsRef: React.RefObject<HTMLDivElement>;\r\n private isMobile: boolean = false;\r\n\r\n constructor(props: TagsProps<IdT, T> & InjectedProps) {\r\n super(props);\r\n this.state = {\r\n ...this.state,\r\n textErrors: [],\r\n textIsFocused: false,\r\n suggestionsVisible: false,\r\n fetchingExistingTags: false,\r\n textIsValid: false,\r\n fetchedExistingTags: [],\r\n };\r\n this.textRef = React.createRef();\r\n this.suggestionsRef = React.createRef();\r\n this.handleClickOutside = this.handleClickOutside.bind(this);\r\n this.handleLeaveMobileClick = this.handleLeaveMobileClick.bind(this);\r\n this.fetchExistingTags = debounce(\r\n this.fetchExistingTags,\r\n props.fetchExistingTagsDebounceMs,\r\n {\r\n maxWait: props.fetchExistingTagsDebounceMaxMs,\r\n leading: props.fetchExistingTagsDebounceLeading,\r\n trailing: props.fetchExistingTagsDebounceTrailing,\r\n }\r\n );\r\n if (props.mobileVersionEnabled) {\r\n this.isMobile = require('react-device-detect')?.isMobile;\r\n }\r\n }\r\n\r\n public focus() {\r\n if (this.textRef.current) {\r\n this.textRef.current.focus();\r\n }\r\n }\r\n\r\n public componentDidUpdate(\r\n oldProps: TagsProps<IdT, T> & InjectedProps,\r\n oldState: TagsState<IdT, T>\r\n ) {\r\n if (\r\n oldProps.tags !== this.props.tags ||\r\n oldProps.validators !== this.props.validators ||\r\n oldProps.customValidators !== this.props.customValidators ||\r\n oldProps.required !== this.props.required\r\n ) {\r\n this.handleErrors(this.props.tags);\r\n }\r\n if (\r\n this.state.suggestionsVisible &&\r\n (oldProps.tags !== this.props.tags ||\r\n oldProps.existingTags !== this.props.existingTags ||\r\n this.state.value !== oldState.value ||\r\n this.state.suggestionsVisible !== oldState.suggestionsVisible)\r\n ) {\r\n this.fetchExistingTags(this.state.value);\r\n }\r\n }\r\n\r\n public handleLeaveMobileClick() {\r\n this.setState({\r\n textIsFocused: false,\r\n suggestionsVisible: false,\r\n preselectedSuggestion: undefined,\r\n });\r\n }\r\n\r\n public handleClickOutside(e: MouseEvent) {\r\n if (\r\n !this.containerRef.current ||\r\n this.containerRef.current\r\n .querySelector('.tags-input__tag__wrapper')\r\n ?.contains(e.target as HTMLDivElement) ||\r\n this.containerRef.current\r\n .querySelector('.tags-input__text-input')\r\n ?.contains(e.target as HTMLDivElement) ||\r\n !this.suggestionsRef.current ||\r\n this.suggestionsRef.current.contains(e.target as HTMLDivElement)\r\n ) {\r\n return;\r\n }\r\n if (this.state.suggestionsVisible) {\r\n this.props.onSuggestionsClosed?.();\r\n }\r\n this.setState({\r\n suggestionsVisible: false,\r\n preselectedSuggestion: undefined,\r\n });\r\n if (this.props.addNewOnBlur && this.state.value) {\r\n const suggestions = this.getSuggestions();\r\n const existing = suggestions.find(\r\n (s) => this.props.getName(s) === this.state.value\r\n );\r\n if (existing) {\r\n this.onSuggestionSelected(existing, suggestions.length === 1);\r\n } else if (this.props.allowNew) {\r\n this.addNewTag();\r\n }\r\n } /* else if (this.state.value) {\r\n this.setState({ value: '' });\r\n }*/\r\n }\r\n\r\n public componentDidMount() {\r\n document.addEventListener('mousedown', this.handleClickOutside);\r\n document.addEventListener('touchstart', this.handleClickOutside);\r\n this.handleErrors(this.props.tags);\r\n }\r\n\r\n public componentWillUnmount() {\r\n document.removeEventListener('mousedown', this.handleClickOutside);\r\n document.removeEventListener('touchstart', this.handleClickOutside);\r\n super.componentWillUnmount();\r\n }\r\n\r\n public render() {\r\n const translations = this.getTranslations(defaultTagsTranslations);\r\n const textProps = this.props.textProps\r\n ? this.props.textProps\r\n : ({} as TextProps);\r\n const suggestions = this.getSuggestions();\r\n const showMobileVersion =\r\n this.props.mobileVersionEnabled &&\r\n this.isMobile &&\r\n (this.state.textIsFocused || this.state.suggestionsVisible);\r\n const LeaveMobileButton = showMobileVersion ? (\r\n <Button\r\n className=\"tags-input__leaveMobileTagsButton line-height--0\"\r\n onClick={this.handleLeaveMobileClick}\r\n noShadow={true}\r\n unobtrusive={true}\r\n >\r\n <LeftArrowIcon />\r\n </Button>\r\n ) : undefined;\r\n const showInput = Boolean(\r\n (!this.props.maxTags ||\r\n this.props.maxTags > (this.props.tags && this.props.tags.length)) &&\r\n !this.props.readOnly\r\n );\r\n return (\r\n <Portal container={document.body} disablePortal={!showMobileVersion}>\r\n <InputGroup title={this.props.title} tooltip={this.props.tooltip}>\r\n <div\r\n {...(this.props.id && {\r\n id: this.props.id,\r\n })}\r\n className={classNames(\r\n 'input__base tags-input',\r\n this.getValidationClass(),\r\n this.props.className,\r\n {\r\n 'tags-input--readOnly': this.props.readOnly,\r\n 'tags-input--hasPlaceholder':\r\n this.props.placeholder || this.props.textProps?.placeholder,\r\n 'tags-input--mobile': showMobileVersion,\r\n }\r\n )}\r\n ref={this.containerRef}\r\n >\r\n {showMobileVersion && (\r\n <div className=\"tags-input__mobileBackdrop\" />\r\n )}\r\n {this.props.showTags && (\r\n <div className=\"tags-input__tags__wrapper\">\r\n {!showInput && showMobileVersion && LeaveMobileButton}\r\n {this.props.tags && this.props.tags.length > 0 ? (\r\n <div className=\"tags-input__tag__wrapper\">\r\n {this.props.tags.map((item, index) =>\r\n this.renderTag(item, index)\r\n )}\r\n </div>\r\n ) : (\r\n this.props.readOnly && (\r\n <div className=\"tags-input__tag__wrapper\">\r\n <div className=\"tags-input__tag\">\r\n {this.props.readonlyEmptyPlaceholder}\r\n </div>\r\n </div>\r\n )\r\n )}\r\n </div>\r\n )}\r\n {this.props.children}\r\n {showInput && (\r\n <div\r\n className={\r\n 'tags-input__text__wrapper ' +\r\n (this.props.readOnly ? 'filled ' : '')\r\n }\r\n >\r\n <Text\r\n showClearButton={this.props.showClearButton}\r\n {...textProps}\r\n placeholder={\r\n this.props.placeholder || this.props.textProps?.placeholder\r\n }\r\n {...(this.props.id && {\r\n id: this.props.id + '-text-input',\r\n })}\r\n ref={this.textRef}\r\n required={\r\n this.props.tags.length > 0 ? false : this.props.required\r\n }\r\n className={\r\n 'tags-input__text-input ' +\r\n (textProps.className ? textProps.className : '')\r\n }\r\n onKeyDown={this.onKeyDown(suggestions)}\r\n onErrorsChanged={this.onTextErrorsChanged}\r\n onChange={this.onTextChanged}\r\n onFocus={this.onFocus}\r\n onBlur={this.onBlur}\r\n value={this.state.value}\r\n readOnly={this.props.readOnly}\r\n showValidation={false}\r\n ignoreContext={true}\r\n validators={this.props.validators}\r\n customValidators={this.props.customValidators}\r\n before={LeaveMobileButton}\r\n />\r\n {this.state.suggestionsVisible &&\r\n this.props.showSuggestions && (\r\n <TagsSuggestions<IdT, T>\r\n {...(this.props.id && {\r\n id: this.props.id + '-text-input',\r\n })}\r\n className={classNames(\r\n this.props.tagsSuggestionsClassName\r\n )}\r\n innerRef={this.suggestionsRef}\r\n anchorEl={this.containerRef.current}\r\n allowNew={this.props.allowNew}\r\n preselectedSuggestion={this.state.preselectedSuggestion}\r\n loading={\r\n this.state.fetchingExistingTags || this.props.isLoading\r\n }\r\n LoadingComponent={this.props.suggestionsLoadingComponent}\r\n isVisible={this.state.suggestionsVisible}\r\n EmptyComponent={\r\n this.props.suggestionsEmptyComponent ??\r\n translations.suggestionsEmptyComponent\r\n }\r\n EmptyAllowNewComponent={\r\n this.props.suggestionsEmptyAllowNewComponent ??\r\n translations.suggestionsEmptyAllowNewComponent\r\n }\r\n WaitingForMoreInputComponent={\r\n this.props.waitingForMoreInputComponent ??\r\n translations.waitingForMoreInputComponent\r\n }\r\n isWaitingForMoreInput={\r\n this.state.value.length < this.props.minLettersToFetch\r\n }\r\n tags={suggestions}\r\n getTagId={this.props.getTagId}\r\n onSelected={this.onSuggestionSelected}\r\n value={this.state.value}\r\n AddNewTagComponent={\r\n this.props.allowNew &&\r\n this.state.value !== '' &&\r\n (!this.props.existingTags ||\r\n !this.props.existingTags.find(\r\n (e) => this.props.getName(e) === this.state.value\r\n )) &&\r\n (!this.state.fetchedExistingTags ||\r\n !this.state.fetchedExistingTags.find(\r\n (e) => this.props.getName(e) === this.state.value\r\n )) &&\r\n this.state.textIsValid && (\r\n <Button\r\n {...(this.props.id && {\r\n id: this.props.id + '-add-new-button',\r\n })}\r\n className=\"tags-input__suggestion tags-input__add-new\"\r\n dropdown={true}\r\n onClick={this.addNewTag}\r\n >\r\n {translations.addNew} \"{this.state.value}\"\r\n </Button>\r\n )\r\n }\r\n SuggestionTag={this.props.SuggestionTag}\r\n popperProps={this.props.popperProps}\r\n getName={this.props.getName}\r\n textIsFocused={this.state.textIsFocused}\r\n />\r\n )}\r\n </div>\r\n )}\r\n {this.renderDefaultValidation()}\r\n {this.props.label && (\r\n <label\r\n className={\r\n this.state.value !== '' ||\r\n this.state.textIsFocused ||\r\n this.props.readOnly ||\r\n this.props.tags.length >= this.props.maxTags ||\r\n showMobileVersion\r\n ? 'label--focused'\r\n : ''\r\n }\r\n >\r\n {this.renderLabel()}\r\n </label>\r\n )}\r\n </div>\r\n </InputGroup>\r\n </Portal>\r\n );\r\n }\r\n\r\n private onTextErrorsChanged = (textErrors: ValidationError[]) =>\r\n this.setState(\r\n () => ({ textErrors }),\r\n () => this.handleErrors()\r\n );\r\n\r\n private onFocus = () => {\r\n this.props.onFocus?.();\r\n if (!this.state.suggestionsVisible) {\r\n this.props.onSuggestionsOpened?.();\r\n }\r\n this.setState(\r\n () => ({ textIsFocused: true, suggestionsVisible: true, touched: true }),\r\n () => this.handleErrors()\r\n );\r\n const showMobileVersion =\r\n this.props.mobileVersionEnabled &&\r\n this.isMobile &&\r\n (this.state.textIsFocused || this.state.suggestionsVisible);\r\n if (\r\n !showMobileVersion &&\r\n this.props.mobileVersionEnabled &&\r\n this.isMobile\r\n ) {\r\n setTimeout(() => this.textRef.current?.focus(), 100);\r\n }\r\n };\r\n\r\n private onKeyDown = (suggestions: T[]) => async (e: React.KeyboardEvent) => {\r\n if (e.key === 'Tab') {\r\n this.setState({\r\n suggestionsVisible: false,\r\n preselectedSuggestion: undefined,\r\n });\r\n }\r\n if (\r\n e.key === 'Enter' &&\r\n (this.state.value !== '' ||\r\n this.state.preselectedSuggestion !== undefined) &&\r\n this.state.textErrors.length === 0\r\n ) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n const existingTag =\r\n this.props.existingTags &&\r\n this.props.existingTags.find(\r\n (et) => this.props.getName(et) === this.state.value\r\n );\r\n if (this.state.preselectedSuggestion !== undefined) {\r\n this.props.onTagsChanged(\r\n this.props.tags.concat(suggestions[this.state.preselectedSuggestion])\r\n );\r\n this.setState({ value: '', preselectedSuggestion: undefined }, () => {\r\n this.handleErrors();\r\n });\r\n } else if (existingTag) {\r\n this.props.onTagsChanged(this.props.tags.concat(existingTag));\r\n this.setState({ value: '' }, () => {\r\n this.handleErrors();\r\n });\r\n } else if (this.props.allowNew) {\r\n await this.addNewTag();\r\n this.handleErrors();\r\n }\r\n }\r\n if (suggestions.length > 0 && this.state.suggestionsVisible) {\r\n if (e.key === 'ArrowUp') {\r\n const preselectedSuggestion =\r\n this.state.preselectedSuggestion === undefined\r\n ? suggestions.length - 1\r\n : this.state.preselectedSuggestion === 0\r\n ? suggestions.length - 1\r\n : this.state.preselectedSuggestion - 1;\r\n this.setState({ preselectedSuggestion });\r\n } else if (e.key === 'ArrowDown') {\r\n const preselectedSuggestion =\r\n this.state.preselectedSuggestion === undefined\r\n ? 0\r\n : this.state.preselectedSuggestion === suggestions.length - 1\r\n ? 0\r\n : this.state.preselectedSuggestion + 1;\r\n this.setState({ preselectedSuggestion });\r\n } else {\r\n this.setState({ preselectedSuggestion: undefined });\r\n }\r\n }\r\n };\r\n\r\n private addNewTag = async () => {\r\n const newTag = await this.props.onNewTagAdded(this.state.value);\r\n this.setState({\r\n suggestionsVisible: this.props.closeSuggestionsAfterCreate\r\n ? false\r\n : this.state.suggestionsVisible,\r\n });\r\n const newTags = newTag\r\n ? this.props.tags\r\n ? this.props.tags.concat(newTag)\r\n : [newTag]\r\n : this.props.tags;\r\n if (newTag) {\r\n this.props.onTagsChanged(newTags);\r\n }\r\n this.setState({ value: '', textErrors: [] }, () => {\r\n this.handleErrors();\r\n });\r\n };\r\n\r\n private onSuggestionSelected = (tag: T, lastSelected: boolean) => {\r\n const newTags = this.props.tags.concat(tag);\r\n this.props.onTagsChanged(newTags);\r\n const isMax = newTags.length === this.props.maxTags;\r\n const finalValue =\r\n this.props.clearInputAfterPick ||\r\n (!this.props.allowNew && !isMax && !lastSelected)\r\n ? this.state.value\r\n : '';\r\n this.setState(\r\n {\r\n value: this.props.clearInputAfterPick ? '' : finalValue,\r\n suggestionsVisible:\r\n (isMax ||\r\n this.props.closeSuggestionsAfterCreate ||\r\n this.props.closeSuggestionsAfterPick)\r\n ? false\r\n : this.state.suggestionsVisible,\r\n preselectedSuggestion: undefined,\r\n textErrors: [],\r\n },\r\n () => {\r\n /*if (\r\n !this.props.maxTags ||\r\n this.props.tags.length + 1 < this.props.maxTags\r\n ) {\r\n this.fetchExistingTags(finalValue);\r\n }*/\r\n this.handleErrors();\r\n this.textRef.current?.focus();\r\n }\r\n );\r\n };\r\n\r\n private onBlur = () => {\r\n this.props.onBlur?.();\r\n this.setState(\r\n {\r\n textIsFocused: false,\r\n preselectedSuggestion: undefined,\r\n },\r\n () => this.handleErrors()\r\n );\r\n };\r\n\r\n private onTextChanged = (\r\n e: React.ChangeEvent<HTMLInputElement>,\r\n isValid: boolean\r\n ) => {\r\n const value = e.target.value;\r\n this.setState(\r\n () => ({\r\n value,\r\n isValid: isValid,\r\n textIsValid: isValid,\r\n suggestionsVisible: true,\r\n }),\r\n () => this.handleErrors()\r\n );\r\n };\r\n\r\n private handleErrors = (tags: T[] = this.props.tags) => {\r\n let errors = this.getErrors(tags);\r\n if (errors.length > 0) {\r\n this.setInvalid(errors);\r\n } else {\r\n this.setValid();\r\n }\r\n };\r\n\r\n private getErrors(tags: T[]) {\r\n const translations = this.getTranslations(defaultTagsTranslations);\r\n let errors = [];\r\n if (tags.length < this.props.maxTags) {\r\n errors = errors.concat(this.state.textErrors);\r\n }\r\n if (this.state.value !== '' && tags.length === 0 && this.props.required) {\r\n errors = errors.concat(translations.required);\r\n }\r\n const valueNotAddedError =\r\n this.props.valueNotAddedError ?? translations.valueNotAddedError;\r\n if (\r\n this.state.value &&\r\n this.props.allowNew &&\r\n !this.state.textIsFocused &&\r\n valueNotAddedError\r\n ) {\r\n errors = errors.concat(valueNotAddedError);\r\n }\r\n const maxTagsSurpassedError =\r\n this.props.maxTagsSurpassedError ?? translations.maxTagsSurpassedError;\r\n if (\r\n this.props.maxTags < (this.props.tags && this.props.tags.length) &&\r\n maxTagsSurpassedError\r\n ) {\r\n errors = errors.concat(maxTagsSurpassedError);\r\n }\r\n return errors.filter((i) => i);\r\n }\r\n\r\n private fetchExistingTags(startsWith: string = '') {\r\n if (\r\n this.props.fetchExistingTags &&\r\n startsWith.length >= this.props.minLettersToFetch\r\n ) {\r\n const timer = setTimeout(\r\n () => this.setState(() => ({ fetchingExistingTags: true })),\r\n this.props.loadingDelayMs\r\n );\r\n const prom = this.props.fetchExistingTags(startsWith, this.props.tags);\r\n if (prom) {\r\n prom\r\n .then((fetchedExistingTags) => {\r\n if (fetchedExistingTags) {\r\n clearTimeout(timer);\r\n this.setState(() => ({\r\n fetchedExistingTags,\r\n fetchingExistingTags: false,\r\n }));\r\n }\r\n })\r\n .catch(() => {\r\n clearTimeout(timer);\r\n this.setState(() => ({\r\n fetchingExistingTags: false,\r\n }));\r\n });\r\n } else {\r\n clearTimeout(timer);\r\n this.setState(() => ({\r\n fetchingExistingTags: false,\r\n }));\r\n }\r\n }\r\n }\r\n\r\n private getSuggestions() {\r\n const existingTags: T[] = []\r\n .concat(this.props.existingTags ? this.props.existingTags : [])\r\n .concat(\r\n this.state.fetchedExistingTags ? this.state.fetchedExistingTags : []\r\n );\r\n const filteredTags = this.props.filterExistingTags(\r\n this.state.value ? this.state.value.toLowerCase() : '',\r\n existingTags,\r\n this.props.tags\r\n );\r\n let suggestions = filteredTags\r\n .filter(\r\n (tag) =>\r\n this.props.allowSameTagMultipleTimes ||\r\n !this.props.tags.some(\r\n (t) =>\r\n ((t as { id: IdT }).id ?? this.props.getTagId?.(t)) ===\r\n ((tag as { id: IdT }).id ?? this.props.getTagId?.(tag))\r\n )\r\n )\r\n .slice(0, this.props.maxSuggestions);\r\n return suggestions;\r\n }\r\n\r\n private renderTag(tag: T, index: number) {\r\n const body = (\r\n <>\r\n {this.props.getName(tag)}\r\n {!this.props.readOnly && (\r\n <Button\r\n {...(this.props.id && {\r\n id: this.props.id + '-tag-' + index.toString(),\r\n })}\r\n circular={true}\r\n blank={true}\r\n onClick={this.tagRemoveClick(tag)}\r\n className=\"tags-input__tag__removeButton p-0\"\r\n Component={TagButtonComponent}\r\n preventsDefault={false}\r\n >\r\n <PlusIcon className=\"transform-rotate--45\" />\r\n </Button>\r\n )}\r\n {index < (this.props.tags?.length ?? 1) - 1\r\n ? this.props.tagsPreviewSeparator\r\n : null}\r\n </>\r\n );\r\n const className = classNames('tags-input__tag', {\r\n 'tags-input__tag-chip': this.props.showChips,\r\n });\r\n if (this.props.onTagClick) {\r\n return (\r\n <Button\r\n onClick={this.tagClick(tag)}\r\n small={true}\r\n className={className}\r\n key={index}\r\n >\r\n {body}\r\n </Button>\r\n );\r\n }\r\n return (\r\n <span onClick={this.tagClick(tag)} className={className} key={index}>\r\n {body}\r\n </span>\r\n );\r\n }\r\n\r\n private tagClick = (tag: T) => () => {\r\n this.props.onTagClick && this.props.onTagClick(tag);\r\n };\r\n\r\n private tagRemoveClick = (tag: T) => (e: React.MouseEvent<HTMLElement>) => {\r\n e.stopPropagation();\r\n const newTags = this.props.tags.filter(\r\n (sv) =>\r\n ((sv as { id: IdT }).id ?? this.props.getTagId?.(sv)) !==\r\n ((tag as { id: IdT }).id ?? this.props.getTagId?.(tag))\r\n );\r\n this.props.onTagsChanged && this.props.onTagsChanged(newTags);\r\n this.handleErrors(newTags);\r\n if (this.props.focusAfterDeleteClick) {\r\n this.textRef.current?.focus();\r\n }\r\n };\r\n}\r\n\r\ninterface TagsFinal {\r\n <\r\n IdT extends number | string = number,\r\n T extends ResourceTConstraint<IdT> = Tag<IdT>\r\n >(\r\n item: TagsProps<IdT, T> & { ref?: React.Ref<TagsRaw<IdT, T>> }\r\n ): React.ReactElement;\r\n defaultProps?: Partial<TagsProps<any, any>>;\r\n}\r\n\r\nexport const Tags = withThemeContext<TagsProps, InstanceType<typeof TagsRaw>>(\r\n // tslint:disable-next-line: no-any\r\n withFormContext<TagsProps>(TagsRaw),\r\n 'tags'\r\n) as unknown as TagsFinal;\r\n\r\nexport default Tags;\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tags.js","names":["React","_interopRequireWildcard","require","_InputGroup","_Text","_BaseInput","_Button","_TagsSuggestions","_interopRequireDefault","_withFormContext","_classnames","_withThemeContext","_LinearProgress","_Portal","_lodash","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","PlusIcon","props","createElement","d","defaultProps","xmlns","width","height","viewBox","LeftArrowIcon","defaultTagsTranslations","defaultBaseTranslations","addNew","valueNotAddedError","maxTagsSurpassedError","waitingForMoreInputComponent","suggestionsEmptyComponent","suggestionsEmptyAllowNewComponent","exports","TagButtonComponent","p","className","id","onClick","children","TagsRaw","BaseInput","constructor","_this","this","textRef","suggestionsRef","isMobile","onTextErrorsChanged","textErrors","setState","handleErrors","onFocus","_this$props$onFocus","_this$props","state","suggestionsVisible","_this$props$onSuggest","_this$props2","onSuggestionsOpened","textIsFocused","touched","showMobileVersion","mobileVersionEnabled","setTimeout","_this$textRef$current","current","focus","onKeyDown","suggestions","e","preselectedSuggestion","preventDefault","stopPropagation","existingTag","existingTags","find","et","getName","onTagsChanged","tags","concat","allowNew","addNewTag","newTag","onNewTagAdded","closeSuggestionsAfterCreate","newTags","onSuggestionSelected","tag","lastSelected","isMax","maxTags","clearInputAfterPick","shouldCloseSuggestions","closeSuggestionsAfterPick","_this$textRef$current2","onBlur","_this$props$onBlur","_this$props3","onTextChanged","isValid","textIsValid","errors","getErrors","setInvalid","setValid","tagClick","onTagClick","tagRemoveClick","sv","_this$props$getTagId","_this$props4","_this$props$getTagId2","_this$props5","getTagId","focusAfterDeleteClick","_this$textRef$current3","fetchingExistingTags","fetchedExistingTags","createRef","handleClickOutside","handleLeaveMobileClick","fetchExistingTags","debounce","fetchExistingTagsDebounceMs","maxWait","fetchExistingTagsDebounceMaxMs","leading","fetchExistingTagsDebounceLeading","trailing","fetchExistingTagsDebounceTrailing","_require","componentDidUpdate","oldProps","oldState","validators","customValidators","required","_this$containerRef$cu","_this$containerRef$cu2","containerRef","querySelector","contains","_this$props$onSuggest2","_this$props6","onSuggestionsClosed","addNewOnBlur","getSuggestions","existing","s","componentDidMount","document","addEventListener","componentWillUnmount","removeEventListener","render","_this$props$textProps","_this$props$textProps2","translations","getTranslations","textProps","LeaveMobileButton","Button","noShadow","unobtrusive","showInput","Boolean","readOnly","container","body","disablePortal","InputGroup","title","tooltip","classNames","getValidationClass","placeholder","ref","showTags","map","item","index","renderTag","readonlyEmptyPlaceholder","Text","showClearButton","onErrorsChanged","onChange","showValidation","ignoreContext","before","showSuggestions","tagsSuggestionsClassName","innerRef","anchorEl","loading","isLoading","LoadingComponent","suggestionsLoadingComponent","isVisible","EmptyComponent","EmptyAllowNewComponent","WaitingForMoreInputComponent","isWaitingForMoreInput","minLettersToFetch","onSelected","AddNewTagComponent","dropdown","SuggestionTag","popperProps","renderDefaultValidation","label","renderLabel","startsWith","timer","loadingDelayMs","prom","then","clearTimeout","catch","filteredTags","filterExistingTags","toLowerCase","allowSameTagMultipleTimes","some","t","_this$props$getTagId3","_this$props7","_this$props$getTagId4","_this$props8","slice","maxSuggestions","_this$props$tags","Fragment","toString","circular","blank","Component","preventsDefault","tagsPreviewSeparator","showChips","small","disabled","newTagName","Promise","resolve","name","Date","getTime","text","MAX_SAFE_INTEGER","Tags","withThemeContext","withFormContext","_default"],"sources":["../../../src/lib/components/tags/Tags.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\nimport { InputGroup } from '../inputGroup/InputGroup';\r\nimport { Text, TextProps, TextRaw } from '../text/Text';\r\nimport * as PlusIcon from 'material-design-icons/content/svg/production/ic_add_circle_outline_24px.svg';\r\nimport * as LeftArrowIcon from 'material-design-icons/navigation/svg/production/ic_arrow_back_24px.svg';\r\nimport {\r\n BaseInputProps,\r\n BaseInputState,\r\n BaseInput,\r\n ValidationError,\r\n defaultBaseTranslations,\r\n} from '../base/input/BaseInput';\r\nimport { Button, ButtonComponentProps } from '../button/Button';\r\nimport TagsSuggestions, {\r\n RenderSuggestionTagProps,\r\n} from './subComponents/TagsSuggestions';\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport classNames from 'classnames';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport { PopperProps } from '@mui/material/Popper/Popper';\r\nimport LinearProgress from '@mui/material/LinearProgress';\r\nimport Portal from '@mui/material/Portal';\r\nimport debounce from 'lodash.debounce';\r\n\r\n// Misc\r\nexport type Tag<T extends number | string = number> = {\r\n id: T;\r\n name: string;\r\n};\r\n\r\nexport type ResourceTConstraint<IdT extends number | string> = { id: IdT } | {};\r\n\r\nexport const defaultTagsTranslations = {\r\n ...defaultBaseTranslations,\r\n addNew: 'Add new',\r\n valueNotAddedError: 'You forgot to add tag',\r\n maxTagsSurpassedError: 'Maximum number of tags surpassed',\r\n waitingForMoreInputComponent: 'Waiting for more input...',\r\n suggestionsEmptyComponent: 'No existing tags...',\r\n suggestionsEmptyAllowNewComponent: 'Type to create...',\r\n};\r\n\r\nexport type TagsTranslations = Partial<typeof defaultTagsTranslations>;\r\n\r\nexport type TagsProps<\r\n IdT extends number | string = number,\r\n T extends ResourceTConstraint<IdT> = Tag<IdT>\r\n> = {\r\n className?: string;\r\n tagsSuggestionsClassName?: string;\r\n disabled?: boolean;\r\n tags: T[];\r\n getTagId?: (tag: T) => IdT;\r\n existingTags?: T[];\r\n fetchExistingTags?: (text: string, tags: T[]) => Promise<T[]>;\r\n fetchExistingTagsDebounceMs?: number;\r\n fetchExistingTagsDebounceMaxMs?: number;\r\n fetchExistingTagsDebounceLeading?: boolean;\r\n fetchExistingTagsDebounceTrailing?: boolean;\r\n onTagsChanged: (newTags: T[]) => void;\r\n onNewTagAdded?: (newTagName: string) => Promise<T>;\r\n onTagClick?: (tag: T) => void;\r\n showChips?: boolean;\r\n allowNew?: boolean;\r\n addNewOnBlur?: boolean;\r\n textProps?: TextProps;\r\n readOnly?: boolean;\r\n readonlyEmptyPlaceholder?: string;\r\n maxTags?: number;\r\n valueNotAddedError?: string | JSX.Element;\r\n maxTagsSurpassedError?: string | JSX.Element;\r\n showSuggestions?: boolean;\r\n suggestionsLoadingComponent?: string | JSX.Element;\r\n suggestionsEmptyComponent?: string | JSX.Element | null;\r\n suggestionsEmptyAllowNewComponent?: string | JSX.Element | null;\r\n waitingForMoreInputComponent?: string | JSX.Element;\r\n loadingDelayMs?: number;\r\n filterExistingTags?: (\r\n text: string,\r\n existingTags: T[],\r\n selectedTags: T[]\r\n ) => T[];\r\n allowSameTagMultipleTimes?: boolean;\r\n maxSuggestions?: number;\r\n popperProps?: Partial<PopperProps>;\r\n minLettersToFetch?: number;\r\n mobileVersionEnabled?: boolean;\r\n isLoading?: boolean;\r\n closeSuggestionsAfterCreate?: boolean;\r\n clearInputAfterPick?: boolean;\r\n closeSuggestionsAfterPick?: boolean;\r\n focusAfterDeleteClick?: boolean;\r\n SuggestionTag?: React.ComponentType<RenderSuggestionTagProps<IdT, T>>;\r\n getName?: (tag: T) => string;\r\n showTags?: boolean;\r\n showClearButton?: boolean;\r\n placeholder?: string;\r\n tagsPreviewSeparator?: string;\r\n children?: React.ReactNode;\r\n} & BaseInputProps<HTMLInputElement, TagsTranslations> &\r\n (T extends { id: IdT } ? {} : { getTagId: (tag: T) => IdT });\r\n\r\nexport interface TagsState<\r\n IdT extends number | string = number,\r\n T extends ResourceTConstraint<IdT> = Tag<IdT>\r\n> extends BaseInputState {\r\n textIsFocused: boolean;\r\n textErrors: ValidationError[];\r\n textIsValid: boolean;\r\n suggestionsVisible: boolean;\r\n fetchedExistingTags: T[];\r\n fetchingExistingTags: boolean;\r\n preselectedSuggestion?: number;\r\n}\r\n\r\ntype InjectedProps = {};\r\n\r\nconst TagButtonComponent: React.FC<ButtonComponentProps> = (p) => (\r\n <a className={p.className} id={p.id} onClick={p.onClick}>\r\n {p.children}\r\n </a>\r\n);\r\n\r\nexport class TagsRaw<\r\n IdT extends number | string = number,\r\n T extends ResourceTConstraint<IdT> = Tag<IdT>\r\n> extends BaseInput<\r\n TagsProps<IdT, T> & InjectedProps,\r\n TagsState<IdT, T>,\r\n HTMLInputElement,\r\n TagsTranslations\r\n> {\r\n public static defaultProps: TagsProps = {\r\n ...BaseInput.defaultProps,\r\n disabled: false,\r\n className: '',\r\n tags: [],\r\n existingTags: [],\r\n maxTags: 1000,\r\n onTagsChanged: () => undefined,\r\n onNewTagAdded: (newTagName) =>\r\n Promise.resolve({ name: newTagName, id: new Date().getTime() }),\r\n showSuggestions: true,\r\n suggestionsLoadingComponent: (\r\n <LinearProgress className=\"tags-input__suggestions__defaultLoading\" />\r\n ),\r\n loadingDelayMs: 0,\r\n filterExistingTags: (text, tags) =>\r\n tags.filter((tag) => tag.name && tag.name.toLowerCase().startsWith(text)),\r\n maxSuggestions: 5,\r\n addNewOnBlur: false,\r\n translations: defaultTagsTranslations,\r\n minLettersToFetch: 0,\r\n mobileVersionEnabled: true,\r\n closeSuggestionsAfterCreate: false,\r\n getName: (tag) => tag.name,\r\n showTags: true,\r\n fetchExistingTagsDebounceMs: 500,\r\n fetchExistingTagsDebounceMaxMs: Number.MAX_SAFE_INTEGER,\r\n fetchExistingTagsDebounceLeading: true,\r\n fetchExistingTagsDebounceTrailing: true,\r\n showClearButton: true,\r\n clearInputAfterPick: false,\r\n closeSuggestionsAfterPick: false,\r\n focusAfterDeleteClick: false,\r\n };\r\n\r\n private textRef: React.RefObject<TextRaw>;\r\n private suggestionsRef: React.RefObject<HTMLDivElement>;\r\n private isMobile: boolean = false;\r\n\r\n constructor(props: TagsProps<IdT, T> & InjectedProps) {\r\n super(props);\r\n this.state = {\r\n ...this.state,\r\n textErrors: [],\r\n textIsFocused: false,\r\n suggestionsVisible: false,\r\n fetchingExistingTags: false,\r\n textIsValid: false,\r\n fetchedExistingTags: [],\r\n };\r\n this.textRef = React.createRef();\r\n this.suggestionsRef = React.createRef();\r\n this.handleClickOutside = this.handleClickOutside.bind(this);\r\n this.handleLeaveMobileClick = this.handleLeaveMobileClick.bind(this);\r\n this.fetchExistingTags = debounce(\r\n this.fetchExistingTags,\r\n props.fetchExistingTagsDebounceMs,\r\n {\r\n maxWait: props.fetchExistingTagsDebounceMaxMs,\r\n leading: props.fetchExistingTagsDebounceLeading,\r\n trailing: props.fetchExistingTagsDebounceTrailing,\r\n }\r\n );\r\n if (props.mobileVersionEnabled) {\r\n this.isMobile = require('react-device-detect')?.isMobile;\r\n }\r\n }\r\n\r\n public focus() {\r\n if (this.textRef.current) {\r\n this.textRef.current.focus();\r\n }\r\n }\r\n\r\n public componentDidUpdate(\r\n oldProps: TagsProps<IdT, T> & InjectedProps,\r\n oldState: TagsState<IdT, T>\r\n ) {\r\n if (\r\n oldProps.tags !== this.props.tags ||\r\n oldProps.validators !== this.props.validators ||\r\n oldProps.customValidators !== this.props.customValidators ||\r\n oldProps.required !== this.props.required\r\n ) {\r\n this.handleErrors(this.props.tags);\r\n }\r\n if (\r\n this.state.suggestionsVisible &&\r\n (oldProps.tags !== this.props.tags ||\r\n oldProps.existingTags !== this.props.existingTags ||\r\n this.state.value !== oldState.value ||\r\n this.state.suggestionsVisible !== oldState.suggestionsVisible)\r\n ) {\r\n this.fetchExistingTags(this.state.value);\r\n }\r\n }\r\n\r\n public handleLeaveMobileClick() {\r\n this.setState({\r\n textIsFocused: false,\r\n suggestionsVisible: false,\r\n preselectedSuggestion: undefined,\r\n });\r\n }\r\n\r\n public handleClickOutside(e: MouseEvent) {\r\n if (\r\n !this.containerRef.current ||\r\n this.containerRef.current\r\n .querySelector('.tags-input__tag__wrapper')\r\n ?.contains(e.target as HTMLDivElement) ||\r\n this.containerRef.current\r\n .querySelector('.tags-input__text-input')\r\n ?.contains(e.target as HTMLDivElement) ||\r\n !this.suggestionsRef.current ||\r\n this.suggestionsRef.current.contains(e.target as HTMLDivElement)\r\n ) {\r\n return;\r\n }\r\n if (this.state.suggestionsVisible) {\r\n this.props.onSuggestionsClosed?.();\r\n }\r\n this.setState({\r\n suggestionsVisible: false,\r\n preselectedSuggestion: undefined,\r\n });\r\n if (this.props.addNewOnBlur && this.state.value) {\r\n const suggestions = this.getSuggestions();\r\n const existing = suggestions.find(\r\n (s) => this.props.getName(s) === this.state.value\r\n );\r\n if (existing) {\r\n this.onSuggestionSelected(existing, suggestions.length === 1);\r\n } else if (this.props.allowNew) {\r\n this.addNewTag();\r\n }\r\n } /* else if (this.state.value) {\r\n this.setState({ value: '' });\r\n }*/\r\n }\r\n\r\n public componentDidMount() {\r\n document.addEventListener('mousedown', this.handleClickOutside);\r\n document.addEventListener('touchstart', this.handleClickOutside);\r\n this.handleErrors(this.props.tags);\r\n }\r\n\r\n public componentWillUnmount() {\r\n document.removeEventListener('mousedown', this.handleClickOutside);\r\n document.removeEventListener('touchstart', this.handleClickOutside);\r\n super.componentWillUnmount();\r\n }\r\n\r\n public render() {\r\n const translations = this.getTranslations(defaultTagsTranslations);\r\n const textProps = this.props.textProps\r\n ? this.props.textProps\r\n : ({} as TextProps);\r\n const suggestions = this.getSuggestions();\r\n const showMobileVersion =\r\n this.props.mobileVersionEnabled &&\r\n this.isMobile &&\r\n (this.state.textIsFocused || this.state.suggestionsVisible);\r\n const LeaveMobileButton = showMobileVersion ? (\r\n <Button\r\n className=\"tags-input__leaveMobileTagsButton line-height--0\"\r\n onClick={this.handleLeaveMobileClick}\r\n noShadow={true}\r\n unobtrusive={true}\r\n >\r\n <LeftArrowIcon />\r\n </Button>\r\n ) : undefined;\r\n const showInput = Boolean(\r\n (!this.props.maxTags ||\r\n this.props.maxTags > (this.props.tags && this.props.tags.length)) &&\r\n !this.props.readOnly\r\n );\r\n return (\r\n <Portal container={document.body} disablePortal={!showMobileVersion}>\r\n <InputGroup title={this.props.title} tooltip={this.props.tooltip}>\r\n <div\r\n {...(this.props.id && {\r\n id: this.props.id,\r\n })}\r\n className={classNames(\r\n 'input__base tags-input',\r\n this.getValidationClass(),\r\n this.props.className,\r\n {\r\n 'tags-input--readOnly': this.props.readOnly,\r\n 'tags-input--hasPlaceholder':\r\n this.props.placeholder || this.props.textProps?.placeholder,\r\n 'tags-input--mobile': showMobileVersion,\r\n }\r\n )}\r\n ref={this.containerRef}\r\n >\r\n {showMobileVersion && (\r\n <div className=\"tags-input__mobileBackdrop\" />\r\n )}\r\n {this.props.showTags && (\r\n <div className=\"tags-input__tags__wrapper\">\r\n {!showInput && showMobileVersion && LeaveMobileButton}\r\n {this.props.tags && this.props.tags.length > 0 ? (\r\n <div className=\"tags-input__tag__wrapper\">\r\n {this.props.tags.map((item, index) =>\r\n this.renderTag(item, index)\r\n )}\r\n </div>\r\n ) : (\r\n this.props.readOnly && (\r\n <div className=\"tags-input__tag__wrapper\">\r\n <div className=\"tags-input__tag\">\r\n {this.props.readonlyEmptyPlaceholder}\r\n </div>\r\n </div>\r\n )\r\n )}\r\n </div>\r\n )}\r\n {this.props.children}\r\n {showInput && (\r\n <div\r\n className={\r\n 'tags-input__text__wrapper ' +\r\n (this.props.readOnly ? 'filled ' : '')\r\n }\r\n >\r\n <Text\r\n showClearButton={this.props.showClearButton}\r\n {...textProps}\r\n placeholder={\r\n this.props.placeholder || this.props.textProps?.placeholder\r\n }\r\n {...(this.props.id && {\r\n id: this.props.id + '-text-input',\r\n })}\r\n ref={this.textRef}\r\n required={\r\n this.props.tags.length > 0 ? false : this.props.required\r\n }\r\n className={\r\n 'tags-input__text-input ' +\r\n (textProps.className ? textProps.className : '')\r\n }\r\n onKeyDown={this.onKeyDown(suggestions)}\r\n onErrorsChanged={this.onTextErrorsChanged}\r\n onChange={this.onTextChanged}\r\n onFocus={this.onFocus}\r\n onBlur={this.onBlur}\r\n value={this.state.value}\r\n readOnly={this.props.readOnly}\r\n showValidation={false}\r\n ignoreContext={true}\r\n validators={this.props.validators}\r\n customValidators={this.props.customValidators}\r\n before={LeaveMobileButton}\r\n />\r\n {this.state.suggestionsVisible &&\r\n this.props.showSuggestions && (\r\n <TagsSuggestions<IdT, T>\r\n {...(this.props.id && {\r\n id: this.props.id + '-text-input',\r\n })}\r\n className={classNames(\r\n this.props.tagsSuggestionsClassName\r\n )}\r\n innerRef={this.suggestionsRef}\r\n anchorEl={this.containerRef.current}\r\n allowNew={this.props.allowNew}\r\n preselectedSuggestion={this.state.preselectedSuggestion}\r\n loading={\r\n this.state.fetchingExistingTags || this.props.isLoading\r\n }\r\n LoadingComponent={this.props.suggestionsLoadingComponent}\r\n isVisible={this.state.suggestionsVisible}\r\n EmptyComponent={\r\n this.props.suggestionsEmptyComponent ??\r\n translations.suggestionsEmptyComponent\r\n }\r\n EmptyAllowNewComponent={\r\n this.props.suggestionsEmptyAllowNewComponent ??\r\n translations.suggestionsEmptyAllowNewComponent\r\n }\r\n WaitingForMoreInputComponent={\r\n this.props.waitingForMoreInputComponent ??\r\n translations.waitingForMoreInputComponent\r\n }\r\n isWaitingForMoreInput={\r\n this.state.value.length < this.props.minLettersToFetch\r\n }\r\n tags={suggestions}\r\n getTagId={this.props.getTagId}\r\n onSelected={this.onSuggestionSelected}\r\n value={this.state.value}\r\n AddNewTagComponent={\r\n this.props.allowNew &&\r\n this.state.value !== '' &&\r\n (!this.props.existingTags ||\r\n !this.props.existingTags.find(\r\n (e) => this.props.getName(e) === this.state.value\r\n )) &&\r\n (!this.state.fetchedExistingTags ||\r\n !this.state.fetchedExistingTags.find(\r\n (e) => this.props.getName(e) === this.state.value\r\n )) &&\r\n this.state.textIsValid && (\r\n <Button\r\n {...(this.props.id && {\r\n id: this.props.id + '-add-new-button',\r\n })}\r\n className=\"tags-input__suggestion tags-input__add-new\"\r\n dropdown={true}\r\n onClick={this.addNewTag}\r\n >\r\n {translations.addNew} \"{this.state.value}\"\r\n </Button>\r\n )\r\n }\r\n SuggestionTag={this.props.SuggestionTag}\r\n popperProps={this.props.popperProps}\r\n getName={this.props.getName}\r\n textIsFocused={this.state.textIsFocused}\r\n />\r\n )}\r\n </div>\r\n )}\r\n {this.renderDefaultValidation()}\r\n {this.props.label && (\r\n <label\r\n className={\r\n this.state.value !== '' ||\r\n this.state.textIsFocused ||\r\n this.props.readOnly ||\r\n this.props.tags.length >= this.props.maxTags ||\r\n showMobileVersion\r\n ? 'label--focused'\r\n : ''\r\n }\r\n >\r\n {this.renderLabel()}\r\n </label>\r\n )}\r\n </div>\r\n </InputGroup>\r\n </Portal>\r\n );\r\n }\r\n\r\n private onTextErrorsChanged = (textErrors: ValidationError[]) =>\r\n this.setState(\r\n () => ({ textErrors }),\r\n () => this.handleErrors()\r\n );\r\n\r\n private onFocus = () => {\r\n this.props.onFocus?.();\r\n if (!this.state.suggestionsVisible) {\r\n this.props.onSuggestionsOpened?.();\r\n }\r\n this.setState(\r\n () => ({ textIsFocused: true, suggestionsVisible: true, touched: true }),\r\n () => this.handleErrors()\r\n );\r\n const showMobileVersion =\r\n this.props.mobileVersionEnabled &&\r\n this.isMobile &&\r\n (this.state.textIsFocused || this.state.suggestionsVisible);\r\n if (\r\n !showMobileVersion &&\r\n this.props.mobileVersionEnabled &&\r\n this.isMobile\r\n ) {\r\n setTimeout(() => this.textRef.current?.focus(), 100);\r\n }\r\n };\r\n\r\n private onKeyDown = (suggestions: T[]) => async (e: React.KeyboardEvent) => {\r\n if (e.key === 'Tab') {\r\n this.setState({\r\n suggestionsVisible: false,\r\n preselectedSuggestion: undefined,\r\n });\r\n }\r\n if (\r\n e.key === 'Enter' &&\r\n (this.state.value !== '' ||\r\n this.state.preselectedSuggestion !== undefined) &&\r\n this.state.textErrors.length === 0\r\n ) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n const existingTag =\r\n this.props.existingTags &&\r\n this.props.existingTags.find(\r\n (et) => this.props.getName(et) === this.state.value\r\n );\r\n if (this.state.preselectedSuggestion !== undefined) {\r\n this.props.onTagsChanged(\r\n this.props.tags.concat(suggestions[this.state.preselectedSuggestion])\r\n );\r\n this.setState({ value: '', preselectedSuggestion: undefined }, () => {\r\n this.handleErrors();\r\n });\r\n } else if (existingTag) {\r\n this.props.onTagsChanged(this.props.tags.concat(existingTag));\r\n this.setState({ value: '' }, () => {\r\n this.handleErrors();\r\n });\r\n } else if (this.props.allowNew) {\r\n await this.addNewTag();\r\n this.handleErrors();\r\n }\r\n }\r\n if (suggestions.length > 0 && this.state.suggestionsVisible) {\r\n if (e.key === 'ArrowUp') {\r\n const preselectedSuggestion =\r\n this.state.preselectedSuggestion === undefined\r\n ? suggestions.length - 1\r\n : this.state.preselectedSuggestion === 0\r\n ? suggestions.length - 1\r\n : this.state.preselectedSuggestion - 1;\r\n this.setState({ preselectedSuggestion });\r\n } else if (e.key === 'ArrowDown') {\r\n const preselectedSuggestion =\r\n this.state.preselectedSuggestion === undefined\r\n ? 0\r\n : this.state.preselectedSuggestion === suggestions.length - 1\r\n ? 0\r\n : this.state.preselectedSuggestion + 1;\r\n this.setState({ preselectedSuggestion });\r\n } else {\r\n this.setState({ preselectedSuggestion: undefined });\r\n }\r\n }\r\n };\r\n\r\n private addNewTag = async () => {\r\n const newTag = await this.props.onNewTagAdded(this.state.value);\r\n this.setState({\r\n suggestionsVisible: this.props.closeSuggestionsAfterCreate\r\n ? false\r\n : this.state.suggestionsVisible,\r\n });\r\n const newTags = newTag\r\n ? this.props.tags\r\n ? this.props.tags.concat(newTag)\r\n : [newTag]\r\n : this.props.tags;\r\n if (newTag) {\r\n this.props.onTagsChanged(newTags);\r\n }\r\n this.setState({ value: '', textErrors: [] }, () => {\r\n this.handleErrors();\r\n });\r\n };\r\n\r\n private onSuggestionSelected = (tag: T, lastSelected: boolean) => {\r\n const newTags = this.props.tags.concat(tag);\r\n this.props.onTagsChanged(newTags);\r\n const isMax = newTags.length === this.props.maxTags;\r\n const value =\r\n this.props.clearInputAfterPick ||\r\n isMax ||\r\n lastSelected\r\n ? ''\r\n : this.state.value;\r\n const shouldCloseSuggestions =\r\n isMax ||\r\n this.props.closeSuggestionsAfterCreate ||\r\n this.props.closeSuggestionsAfterPick;\r\n this.setState(\r\n {\r\n value,\r\n suggestionsVisible: shouldCloseSuggestions\r\n ? false\r\n : this.state.suggestionsVisible,\r\n preselectedSuggestion: undefined,\r\n textErrors: [],\r\n },\r\n () => {\r\n /*if (\r\n !this.props.maxTags ||\r\n this.props.tags.length + 1 < this.props.maxTags\r\n ) {\r\n this.fetchExistingTags(value);\r\n }*/\r\n this.handleErrors();\r\n if (!shouldCloseSuggestions) {\r\n this.textRef.current?.focus();\r\n }\r\n }\r\n );\r\n };\r\n\r\n private onBlur = () => {\r\n this.props.onBlur?.();\r\n this.setState(\r\n {\r\n textIsFocused: false,\r\n preselectedSuggestion: undefined,\r\n },\r\n () => this.handleErrors()\r\n );\r\n };\r\n\r\n private onTextChanged = (\r\n e: React.ChangeEvent<HTMLInputElement>,\r\n isValid: boolean\r\n ) => {\r\n const value = e.target.value;\r\n this.setState(\r\n () => ({\r\n value,\r\n isValid: isValid,\r\n textIsValid: isValid,\r\n suggestionsVisible: true,\r\n }),\r\n () => this.handleErrors()\r\n );\r\n };\r\n\r\n private handleErrors = (tags: T[] = this.props.tags) => {\r\n let errors = this.getErrors(tags);\r\n if (errors.length > 0) {\r\n this.setInvalid(errors);\r\n } else {\r\n this.setValid();\r\n }\r\n };\r\n\r\n private getErrors(tags: T[]) {\r\n const translations = this.getTranslations(defaultTagsTranslations);\r\n let errors = [];\r\n if (tags.length < this.props.maxTags) {\r\n errors = errors.concat(this.state.textErrors);\r\n }\r\n if (this.state.value !== '' && tags.length === 0 && this.props.required) {\r\n errors = errors.concat(translations.required);\r\n }\r\n const valueNotAddedError =\r\n this.props.valueNotAddedError ?? translations.valueNotAddedError;\r\n if (\r\n this.state.value &&\r\n this.props.allowNew &&\r\n !this.state.textIsFocused &&\r\n valueNotAddedError\r\n ) {\r\n errors = errors.concat(valueNotAddedError);\r\n }\r\n const maxTagsSurpassedError =\r\n this.props.maxTagsSurpassedError ?? translations.maxTagsSurpassedError;\r\n if (\r\n this.props.maxTags < (this.props.tags && this.props.tags.length) &&\r\n maxTagsSurpassedError\r\n ) {\r\n errors = errors.concat(maxTagsSurpassedError);\r\n }\r\n return errors.filter((i) => i);\r\n }\r\n\r\n private fetchExistingTags(startsWith: string = '') {\r\n if (\r\n this.props.fetchExistingTags &&\r\n startsWith.length >= this.props.minLettersToFetch\r\n ) {\r\n const timer = setTimeout(\r\n () => this.setState(() => ({ fetchingExistingTags: true })),\r\n this.props.loadingDelayMs\r\n );\r\n const prom = this.props.fetchExistingTags(startsWith, this.props.tags);\r\n if (prom) {\r\n prom\r\n .then((fetchedExistingTags) => {\r\n if (fetchedExistingTags) {\r\n clearTimeout(timer);\r\n this.setState(() => ({\r\n fetchedExistingTags,\r\n fetchingExistingTags: false,\r\n }));\r\n }\r\n })\r\n .catch(() => {\r\n clearTimeout(timer);\r\n this.setState(() => ({\r\n fetchingExistingTags: false,\r\n }));\r\n });\r\n } else {\r\n clearTimeout(timer);\r\n this.setState(() => ({\r\n fetchingExistingTags: false,\r\n }));\r\n }\r\n }\r\n }\r\n\r\n private getSuggestions() {\r\n const existingTags: T[] = []\r\n .concat(this.props.existingTags ? this.props.existingTags : [])\r\n .concat(\r\n this.state.fetchedExistingTags ? this.state.fetchedExistingTags : []\r\n );\r\n const filteredTags = this.props.filterExistingTags(\r\n this.state.value ? this.state.value.toLowerCase() : '',\r\n existingTags,\r\n this.props.tags\r\n );\r\n let suggestions = filteredTags\r\n .filter(\r\n (tag) =>\r\n this.props.allowSameTagMultipleTimes ||\r\n !this.props.tags.some(\r\n (t) =>\r\n ((t as { id: IdT }).id ?? this.props.getTagId?.(t)) ===\r\n ((tag as { id: IdT }).id ?? this.props.getTagId?.(tag))\r\n )\r\n )\r\n .slice(0, this.props.maxSuggestions);\r\n return suggestions;\r\n }\r\n\r\n private renderTag(tag: T, index: number) {\r\n const body = (\r\n <>\r\n {this.props.getName(tag)}\r\n {!this.props.readOnly && (\r\n <Button\r\n {...(this.props.id && {\r\n id: this.props.id + '-tag-' + index.toString(),\r\n })}\r\n circular={true}\r\n blank={true}\r\n onClick={this.tagRemoveClick(tag)}\r\n className=\"tags-input__tag__removeButton p-0\"\r\n Component={TagButtonComponent}\r\n preventsDefault={false}\r\n >\r\n <PlusIcon className=\"transform-rotate--45\" />\r\n </Button>\r\n )}\r\n {index < (this.props.tags?.length ?? 1) - 1\r\n ? this.props.tagsPreviewSeparator\r\n : null}\r\n </>\r\n );\r\n const className = classNames('tags-input__tag', {\r\n 'tags-input__tag-chip': this.props.showChips,\r\n });\r\n if (this.props.onTagClick) {\r\n return (\r\n <Button\r\n onClick={this.tagClick(tag)}\r\n small={true}\r\n className={className}\r\n key={index}\r\n >\r\n {body}\r\n </Button>\r\n );\r\n }\r\n return (\r\n <span onClick={this.tagClick(tag)} className={className} key={index}>\r\n {body}\r\n </span>\r\n );\r\n }\r\n\r\n private tagClick = (tag: T) => () => {\r\n this.props.onTagClick && this.props.onTagClick(tag);\r\n };\r\n\r\n private tagRemoveClick = (tag: T) => (e: React.MouseEvent<HTMLElement>) => {\r\n e.stopPropagation();\r\n const newTags = this.props.tags.filter(\r\n (sv) =>\r\n ((sv as { id: IdT }).id ?? this.props.getTagId?.(sv)) !==\r\n ((tag as { id: IdT }).id ?? this.props.getTagId?.(tag))\r\n );\r\n this.props.onTagsChanged && this.props.onTagsChanged(newTags);\r\n this.handleErrors(newTags);\r\n if (this.props.focusAfterDeleteClick) {\r\n this.textRef.current?.focus();\r\n }\r\n };\r\n}\r\n\r\ninterface TagsFinal {\r\n <\r\n IdT extends number | string = number,\r\n T extends ResourceTConstraint<IdT> = Tag<IdT>\r\n >(\r\n item: TagsProps<IdT, T> & { ref?: React.Ref<TagsRaw<IdT, T>> }\r\n ): React.ReactElement;\r\n defaultProps?: Partial<TagsProps<any, any>>;\r\n}\r\n\r\nexport const Tags = withThemeContext<TagsProps, InstanceType<typeof TagsRaw>>(\r\n // tslint:disable-next-line: no-any\r\n withFormContext<TagsProps>(TagsRaw),\r\n 'tags'\r\n) as unknown as TagsFinal;\r\n\r\nexport default Tags;\r\n"],"mappings":"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"}
|
package/build/dist/report.html
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8"/>
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
6
|
-
<title>guestbell-forms [3 Feb 2026 at 12:
|
|
6
|
+
<title>guestbell-forms [3 Feb 2026 at 12:35]</title>
|
|
7
7
|
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
|
|
8
8
|
|
|
9
9
|
<script>
|
package/package.json
CHANGED
|
@@ -593,20 +593,22 @@ export class TagsRaw<
|
|
|
593
593
|
const newTags = this.props.tags.concat(tag);
|
|
594
594
|
this.props.onTagsChanged(newTags);
|
|
595
595
|
const isMax = newTags.length === this.props.maxTags;
|
|
596
|
-
const
|
|
596
|
+
const value =
|
|
597
597
|
this.props.clearInputAfterPick ||
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
598
|
+
isMax ||
|
|
599
|
+
lastSelected
|
|
600
|
+
? ''
|
|
601
|
+
: this.state.value;
|
|
602
|
+
const shouldCloseSuggestions =
|
|
603
|
+
isMax ||
|
|
604
|
+
this.props.closeSuggestionsAfterCreate ||
|
|
605
|
+
this.props.closeSuggestionsAfterPick;
|
|
601
606
|
this.setState(
|
|
602
607
|
{
|
|
603
|
-
value
|
|
604
|
-
suggestionsVisible:
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
this.props.closeSuggestionsAfterPick)
|
|
608
|
-
? false
|
|
609
|
-
: this.state.suggestionsVisible,
|
|
608
|
+
value,
|
|
609
|
+
suggestionsVisible: shouldCloseSuggestions
|
|
610
|
+
? false
|
|
611
|
+
: this.state.suggestionsVisible,
|
|
610
612
|
preselectedSuggestion: undefined,
|
|
611
613
|
textErrors: [],
|
|
612
614
|
},
|
|
@@ -615,10 +617,12 @@ export class TagsRaw<
|
|
|
615
617
|
!this.props.maxTags ||
|
|
616
618
|
this.props.tags.length + 1 < this.props.maxTags
|
|
617
619
|
) {
|
|
618
|
-
this.fetchExistingTags(
|
|
620
|
+
this.fetchExistingTags(value);
|
|
619
621
|
}*/
|
|
620
622
|
this.handleErrors();
|
|
621
|
-
|
|
623
|
+
if (!shouldCloseSuggestions) {
|
|
624
|
+
this.textRef.current?.focus();
|
|
625
|
+
}
|
|
622
626
|
}
|
|
623
627
|
);
|
|
624
628
|
};
|