{"version":3,"file":"ChipInput.cjs","names":["React","_interopRequireWildcard","require","_types","_ChipInputField","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ChipInput","forwardRef","_ref","ref","values","inputId","variants","icon","placeholder","disabled","altPlaceholder","validationMessage","onValueChange","multiLine","size","Size","Medium","autoSave","rest","_objectWithoutProperties2","chips","setChips","useState","value","setValue","chipItems","setChipItems","useEffect","map","chip","index","label","variant","handleInputBlur","event","target","closest","ChipInputContainer","contains","relatedTarget","handleInputKeyDown","key","preventDefault","onRemoveChip","newChips","splice","jsx","ChipInputField","items","onRemoveItem","item","inputValue","onInputValueChange","onInputKeyDown","onBlur","_default","exports"],"sources":["../../src/ChipsInput/ChipInput.tsx"],"sourcesContent":["/**\r\n * Import React libraries.\r\n */\r\nimport * as React from 'react';\r\n\r\n/**\r\n * Import custom components.\r\n */\r\nimport {Size} from '../types';\r\nimport {ChipInputContainer, ChipInputField} from './ChipInputField';\r\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\r\n\r\n\r\nconst ChipInput = React.forwardRef<HTMLInputElement, ChipInputProps>(({\r\n                                                                        values,\r\n                                                                        inputId,\r\n                                                                        variants,\r\n                                                                        icon,\r\n                                                                        placeholder,\r\n                                                                        disabled,\r\n                                                                        altPlaceholder,\r\n                                                                        validationMessage,\r\n                                                                        onValueChange,\r\n                                                                        multiLine = true,\r\n                                                                        size = Size.Medium,\r\n                                                                        autoSave = false,\r\n                                                                        ...rest\r\n                                                                      }: ChipInputProps, ref) => {\r\n\r\n  const [chips, setChips] = React.useState<string[]>([]);\r\n  const [value, setValue] = React.useState<string>('');\r\n  const [chipItems, setChipItems] = React.useState<ChipItem[]>([]);\r\n\r\n  /**\r\n   * Sets initial values for the chips.\r\n   */\r\n  React.useEffect(() => {\r\n    // Let's add initial chip values\r\n    setChips(values);\r\n  }, [values]);\r\n\r\n  /**\r\n   * Set chip items for chip input field\r\n   * */\r\n  React.useEffect(() => {\r\n    setChipItems(chips.map((chip, index) => ({\r\n      label: chip,\r\n      icon: icon,\r\n      disabled: false,\r\n      variant: variants && variants[index],\r\n    })));\r\n  }, [chips, variants, icon, size]);\r\n\r\n\r\n  const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\r\n    if (autoSave && value && !event.target?.closest(`${ChipInputContainer}`)?.contains(event.relatedTarget as Node)) {\r\n      setChips([...chips, value]);\r\n      onValueChange([...chips, value]);\r\n\r\n      setValue('');\r\n    }\r\n  };\r\n\r\n  /**\r\n   * Adds a chip to the chip list.\r\n   * @param event - Event handler from the key down event.\r\n   */\r\n  const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\r\n    if ((event.key === 'Enter' || event.key === ' ') && value) {\r\n      event.preventDefault();\r\n\r\n      setChips([...chips, value]);\r\n      onValueChange([...chips, value]);\r\n\r\n      setValue('');\r\n    }\r\n  };\r\n\r\n  /**\r\n   * Removes a specific chip from the chip list.\r\n   * @param index - Index of the chip that needs to be removed.\r\n   */\r\n  const onRemoveChip = (index: number): void => {\r\n    const newChips = [...chips];\r\n    newChips.splice(index, 1);\r\n\r\n    setChips(newChips);\r\n    onValueChange(newChips);\r\n  };\r\n\r\n  /**\r\n   * Return Chip Input component.\r\n   */\r\n  return (\r\n    <ChipInputField inputId={inputId}\r\n                    ref={ref}\r\n                    items={chipItems}\r\n                    onRemoveItem={(item, index) => onRemoveChip(index)}\r\n                    inputValue={value}\r\n                    onInputValueChange={value => setValue(value)}\r\n                    onInputKeyDown={handleInputKeyDown}\r\n                    placeholder={placeholder}\r\n                    altPlaceholder={altPlaceholder}\r\n                    disabled={disabled}\r\n                    validationMessage={validationMessage}\r\n                    multiLine={multiLine}\r\n                    size={size}\r\n                    onBlur={handleInputBlur}\r\n                    {...rest}\r\n    />\r\n  );\r\n});\r\n\r\nexport default ChipInput;\r\n"],"mappings":"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","ignoreList":[]}