{"version":3,"sources":["../src/components/TagPicker/TagPickerInput/useTagPickerInput.ts"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { useEventCallback } from '@fluentui/react-utilities';\nimport { ArrowLeft, Backspace } from '@fluentui/keyboard-keys';\nimport { useTagPickerContext_unstable, useTagPickerInputBase_unstable } from '@fluentui/react-tag-picker';\n\nimport type { TagPickerInputProps, TagPickerInputState } from './TagPickerInput.types';\nimport { focusLastTag, stringifyDataAttribute } from '../../../utils';\n\n/**\n * Returns the state for a headless TagPickerInput.\n */\nexport const useTagPickerInput = (\n  props: TagPickerInputProps,\n  ref: React.Ref<HTMLInputElement>,\n): TagPickerInputState => {\n  const tagPickerGroupRef = useTagPickerContext_unstable(ctx => ctx.tagPickerGroupRef);\n\n  const onKeyDown = useEventCallback((event: React.KeyboardEvent<HTMLInputElement>) => {\n    props.onKeyDown?.(event);\n    if (\n      (event.key === ArrowLeft || event.key === Backspace) &&\n      event.currentTarget.selectionStart === 0 &&\n      event.currentTarget.selectionEnd === 0 &&\n      tagPickerGroupRef.current\n    ) {\n      focusLastTag(tagPickerGroupRef.current);\n    }\n  });\n\n  const state: TagPickerInputState = useTagPickerInputBase_unstable({ ...props, onKeyDown }, ref);\n\n  // eslint-disable-next-line react-hooks/immutability -- decorate base state with data-* attribute\n  state.root['data-disabled'] = stringifyDataAttribute(state.disabled);\n\n  return state;\n};\n"],"names":["useTagPickerInput","props","ref","tagPickerGroupRef","useTagPickerContext_unstable","ctx","onKeyDown","useEventCallback","event","key","ArrowLeft","Backspace","currentTarget","selectionStart","selectionEnd","current","focusLastTag","state","useTagPickerInputBase_unstable","root","stringifyDataAttribute","disabled"],"mappings":"AAAA;;;;;+BAaaA;;;eAAAA;;;gCAVoB;8BACI;gCACwC;uBAGxB;AAK9C,MAAMA,oBAAoB,CAC/BC,OACAC;IAEA,MAAMC,oBAAoBC,IAAAA,4CAA4B,EAACC,CAAAA,MAAOA,IAAIF,iBAAiB;IAEnF,MAAMG,YAAYC,IAAAA,gCAAgB,EAAC,CAACC;QAClCP,MAAMK,SAAS,GAAGE;QAClB,IACE,AAACA,CAAAA,MAAMC,GAAG,KAAKC,uBAAS,IAAIF,MAAMC,GAAG,KAAKE,uBAAS,AAAD,KAClDH,MAAMI,aAAa,CAACC,cAAc,KAAK,KACvCL,MAAMI,aAAa,CAACE,YAAY,KAAK,KACrCX,kBAAkBY,OAAO,EACzB;YACAC,IAAAA,mBAAY,EAACb,kBAAkBY,OAAO;QACxC;IACF;IAEA,MAAME,QAA6BC,IAAAA,8CAA8B,EAAC;QAAE,GAAGjB,KAAK;QAAEK;IAAU,GAAGJ;IAE3F,iGAAiG;IACjGe,MAAME,IAAI,CAAC,gBAAgB,GAAGC,IAAAA,6BAAsB,EAACH,MAAMI,QAAQ;IAEnE,OAAOJ;AACT"}