{
  "version": 3,
  "sources": ["../../../../../src/lib/ui/components/PageMenu/PageItemInput.tsx"],
  "sourcesContent": ["import { TLPageId, useEditor } from '@tldraw/editor'\nimport { useCallback, useRef } from 'react'\nimport { useUiEvents } from '../../context/events'\nimport { TldrawUiInput } from '../primitives/TldrawUiInput'\n\n/** @public */\nexport interface PageItemInputProps {\n\tname: string\n\tid: TLPageId\n\tisCurrentPage: boolean\n\tonCancel(): void\n\tonComplete?(): void\n}\n\n/** @public @react */\nexport const PageItemInput = function PageItemInput({\n\tname,\n\tid,\n\tisCurrentPage,\n\tonCancel,\n\tonComplete,\n}: PageItemInputProps) {\n\tconst editor = useEditor()\n\tconst trackEvent = useUiEvents()\n\n\tconst rMark = useRef<string | null>(null)\n\n\tconst handleFocus = useCallback(() => {\n\t\trMark.current = editor.markHistoryStoppingPoint('rename page')\n\t}, [editor])\n\n\tconst handleChange = useCallback(\n\t\t(value: string) => {\n\t\t\teditor.renamePage(id, value || 'New Page')\n\t\t\ttrackEvent('rename-page', { source: 'page-menu' })\n\t\t},\n\t\t[editor, id, trackEvent]\n\t)\n\n\tconst handleCancel = useCallback(() => {\n\t\tif (rMark.current) {\n\t\t\teditor.bailToMark(rMark.current)\n\t\t}\n\t\tonCancel()\n\t}, [editor, onCancel])\n\n\t// `isCurrentPage` is retained for backwards compatibility but is no longer\n\t// used: mounting this input always indicates the user wants to rename, so\n\t// we always auto-focus regardless of whether the page is the current one.\n\tvoid isCurrentPage\n\n\t// Blur commits the rename (the value has been live-saved via onValueChange)\n\t// and exits editing, so clicking elsewhere closes the input.\n\tconst handleBlur = useCallback(() => {\n\t\tonComplete?.()\n\t}, [onComplete])\n\n\treturn (\n\t\t<TldrawUiInput\n\t\t\tclassName=\"tlui-page-menu__item__input\"\n\t\t\tdefaultValue={name}\n\t\t\tonValueChange={handleChange}\n\t\t\tonComplete={onComplete}\n\t\t\tonCancel={handleCancel}\n\t\t\tonFocus={handleFocus}\n\t\t\tonBlur={handleBlur}\n\t\t\tshouldManuallyMaintainScrollPositionWhenFocused\n\t\t\tautoFocus\n\t\t\tautoSelect\n\t\t/>\n\t)\n}\n"],
  "mappings": "AA0DE;AA1DF,SAAmB,iBAAiB;AACpC,SAAS,aAAa,cAAc;AACpC,SAAS,mBAAmB;AAC5B,SAAS,qBAAqB;AAYvB,MAAM,gBAAgB,SAASA,eAAc;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAuB;AACtB,QAAM,SAAS,UAAU;AACzB,QAAM,aAAa,YAAY;AAE/B,QAAM,QAAQ,OAAsB,IAAI;AAExC,QAAM,cAAc,YAAY,MAAM;AACrC,UAAM,UAAU,OAAO,yBAAyB,aAAa;AAAA,EAC9D,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,eAAe;AAAA,IACpB,CAAC,UAAkB;AAClB,aAAO,WAAW,IAAI,SAAS,UAAU;AACzC,iBAAW,eAAe,EAAE,QAAQ,YAAY,CAAC;AAAA,IAClD;AAAA,IACA,CAAC,QAAQ,IAAI,UAAU;AAAA,EACxB;AAEA,QAAM,eAAe,YAAY,MAAM;AACtC,QAAI,MAAM,SAAS;AAClB,aAAO,WAAW,MAAM,OAAO;AAAA,IAChC;AACA,aAAS;AAAA,EACV,GAAG,CAAC,QAAQ,QAAQ,CAAC;AAKrB,OAAK;AAIL,QAAM,aAAa,YAAY,MAAM;AACpC,iBAAa;AAAA,EACd,GAAG,CAAC,UAAU,CAAC;AAEf,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,cAAc;AAAA,MACd,eAAe;AAAA,MACf;AAAA,MACA,UAAU;AAAA,MACV,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,iDAA+C;AAAA,MAC/C,WAAS;AAAA,MACT,YAAU;AAAA;AAAA,EACX;AAEF;",
  "names": ["PageItemInput"]
}
