{ "version": 3, "sources": ["../../../../src/lib/shapes/shared/TextLabel.tsx"], "sourcesContent": ["import {\n\tBox2d,\n\tTLDefaultColorStyle,\n\tTLDefaultFillStyle,\n\tTLDefaultFontStyle,\n\tTLDefaultHorizontalAlignStyle,\n\tTLDefaultSizeStyle,\n\tTLDefaultVerticalAlignStyle,\n\tTLShape,\n\tstopEventPropagation,\n} from '@tldraw/editor'\nimport React from 'react'\nimport { useDefaultColorTheme } from './ShapeFill'\nimport { TextHelpers } from './TextHelpers'\nimport { LABEL_FONT_SIZES, TEXT_PROPS } from './default-shape-constants'\nimport { isLegacyAlign } from './legacyProps'\nimport { useEditableText } from './useEditableText'\n\nexport const TextLabel = React.memo(function TextLabel<\n\tT extends Extract\n>({\n\tid,\n\ttype,\n\ttext,\n\tsize,\n\tlabelColor,\n\tfont,\n\talign,\n\tverticalAlign,\n\twrap,\n\tbounds,\n}: {\n\tid: T['id']\n\ttype: T['type']\n\tsize: TLDefaultSizeStyle\n\tfont: TLDefaultFontStyle\n\tfill?: TLDefaultFillStyle\n\talign: TLDefaultHorizontalAlignStyle\n\tverticalAlign: TLDefaultVerticalAlignStyle\n\twrap?: boolean\n\ttext: string\n\tlabelColor: TLDefaultColorStyle\n\tbounds?: Box2d\n}) {\n\tconst {\n\t\trInput,\n\t\tisEmpty,\n\t\tisEditing,\n\t\thandleFocus,\n\t\thandleChange,\n\t\thandleKeyDown,\n\t\thandleBlur,\n\t\thandleInputPointerDown,\n\t\thandleDoubleClick,\n\t} = useEditableText(id, type, text)\n\n\tconst finalText = TextHelpers.normalizeTextForDom(text)\n\tconst hasText = finalText.length > 0\n\n\tconst legacyAlign = isLegacyAlign(align)\n\tconst theme = useDefaultColorTheme()\n\n\tif (!isEditing && !hasText) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t{finalText}\n\t\t\t\t
\n\t\t\t\t{isEditing && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t)\n})\n"], "mappings": "AAwFG,SAUC,KAVD;AAxFH;AAAA,EASC;AAAA,OACM;AACP,OAAO,WAAW;AAClB,SAAS,4BAA4B;AACrC,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB,kBAAkB;AAC7C,SAAS,qBAAqB;AAC9B,SAAS,uBAAuB;AAEzB,MAAM,YAAY,MAAM,KAAK,SAASA,WAE3C;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAYG;AACF,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,gBAAgB,IAAI,MAAM,IAAI;AAElC,QAAM,YAAY,YAAY,oBAAoB,IAAI;AACtD,QAAM,UAAU,UAAU,SAAS;AAEnC,QAAM,cAAc,cAAc,KAAK;AACvC,QAAM,QAAQ,qBAAqB;AAEnC,MAAI,CAAC,aAAa,CAAC,SAAS;AAC3B,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,aAAW;AAAA,MACX,cAAY;AAAA,MACZ,gBAAc,CAAC;AAAA,MACf,kBAAgB;AAAA,MAChB,iBAAe,CAAC,CAAC;AAAA,MACjB,OAAO;AAAA,QACN,gBAAgB,UAAU,YAAY,cAAc,WAAW;AAAA,QAC/D,YAAY,kBAAkB,WAAW,WAAW;AAAA,QACpD,GAAI,SACD;AAAA,UACA,KAAK,OAAO;AAAA,UACZ,MAAM,OAAO;AAAA,UACb,OAAO,OAAO;AAAA,UACd,QAAQ,OAAO;AAAA,UACf,UAAU;AAAA,QACV,IACA,CAAC;AAAA,MACL;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,OAAO;AAAA,YACN,UAAU,iBAAiB,IAAI;AAAA,YAC/B,YAAY,iBAAiB,IAAI,IAAI,WAAW,aAAa;AAAA,YAC7D,WAAW,WAAW,aAAa;AAAA,YACnC,UAAU;AAAA,YACV,OAAO,MAAM,UAAU,EAAE;AAAA,UAC1B;AAAA,UAEA;AAAA,gCAAC,SAAI,WAAU,2BAA0B,KAAI,OAC3C,qBACF;AAAA,YACC,aACA;AAAA,cAAC;AAAA;AAAA,gBACA,KAAK;AAAA,gBACL,WAAU;AAAA,gBACV,MAAK;AAAA,gBACL,UAAU;AAAA,gBACV,cAAa;AAAA,gBACb,gBAAe;AAAA,gBACf,aAAY;AAAA,gBACZ,UAAS;AAAA,gBACT,WAAS;AAAA,gBACT,aAAY;AAAA,gBACZ,YAAW;AAAA,gBACX,MAAK;AAAA,gBACL,KAAI;AAAA,gBACJ,UAAS;AAAA,gBACT,cAAc;AAAA,gBACd,SAAS;AAAA,gBACT,UAAU;AAAA,gBACV,WAAW;AAAA,gBACX,QAAQ;AAAA,gBACR,eAAe;AAAA,gBACf,eAAe;AAAA,gBACf,eAAe;AAAA;AAAA,YAChB;AAAA;AAAA;AAAA,MAEF;AAAA;AAAA,EACD;AAEF,CAAC;", "names": ["TextLabel"] }